Optimization
CHEN 4460 – Process Synthesis, Simulation and Optimization
Dr. Mario Richard EdenDepartment of Chemical Engineering
Auburn University
Lecture No. 8 – Mathematical Optimization
October 16, 2012
Contains Material Developed by Dr. Daniel R. Lewin, Technion, Israel
Lecture 10 – Objectives
Understand the different types of optimization problems and their formulation
Be able to formulate and solve a variety of optimization problems in LINGO
On completion of this part, you should:
Optimization Basics
• What is Optimization?– The purpose of optimization is to maximize (or
minimize) the value of a function (called objective function) subject to a number of restrictions (called constraints).
• Examples
1. Maximize reactor conversionSubject to reactor modeling
equationskinetic equationslimitations on T, P and x
Optimization Basics
• Examples (Continued)
2. Minimize cost of plantSubject to mass & energy balance
equationsequipment modeling
equationsenvironmental, technical
and logical constraints
Optimization Basics
• Examples (Continued)
3. Maximize your grade in this courseSubject to extracurricular activities
full-time-job requirements
constant demand by other courses and/or your advisor/boss
Optimization Basics
• Formulation of Optimization Problems
min (or max) f(x1,x2,……,xN)
subject to g1(x1,x2,……,xN)≤0
g2(x1,x2,……,xN)≤0
gm(x1,x2,……,xN)≤0
h1(x1,x2,……,xN)=0
h2(x1,x2,……,xN)=0
hE(x1,x2,……,xN)=0
Inequality Constraints
Equality Constraints
Feasibility
Any vector (or point) which satisfies all the constraints of the optimization program is called a feasible vector (or a feasible point)
The set of all feasible points is called feasibility region or feasibility domain
Any optimal solution must lie within the feasibility region!
Optimization Basics
• Classification of Optimization Problems– Linear Programs (LP’s)
• A mathematical program is linear if
f(x1,x2,……,xN) and gi(x1,x2,……,xN)≤0 are linear in each of their arguments:
f(x1,x2,……,xN) = c1x1 + c2x2 + …. cNxN
gi(x1,x2,……,xN) = ai1x1 + ai2x2 + …. aiNxN
where ci and aij are known constants.
Linear Programs (LP’s) can be solved to yield a global optimum. Solver routines can guarantee a truly optimal solution.
Optimization Basics
• Classification of Optimization Problems– Non-Linear Programs (NLP’s)
• A mathematical program is non-linear if any of the arguments are non-linear. For example:
min 3x + 6y2
s.t. 5x + xy ≥ 0
– Integer Programming• Optimization programs in which ALL the variables must
assume integer values. The most commonly used integer variables are the zero/one binary integer variables.
• Integer variables are often used as decision variables, e.g. to choose between two reactor types.
Non-Linear Programs (NLP’s) can be solved to yield a local optimum. Solver routines can
not always guarantee a globally optimal solution.
Optimization Basics
• Classification of Optimization Problems– Mixed Integer Linear Programs (MILP’s)
• Linear programs in which SOME of the variables are real and other variables are integers
• Can be solved as individual LP’s by fixing the integer variables, thus a global optimum can be identified.
– Mixed Integer Non-Linear Programs (MINLP’s)• Non-linear programs in which SOME of the
variables are real and other variables are integers
• Can be solved as individual NLP’s by fixing the integer variables, but depending on the nature of the NLP’s it may not be possible to find a global optimum.
Optimization Basics
• Formulation of Optimization Problems– Step 1
• Determine the quantity to be optimized and express it as a mathematical function (this is your objective function)
• Doing so also serves to define variables to be optimized (input variables or optimization variables)
– Step 2• Identify all stipulated requirements, restrictions, and
limitations, and express them mathematically. These requirements constitute the constraints
– Step 3• Express any hidden conditions. Such conditions are not
stipulated explicitly in the problem, but are apparent from the physical situation, e.g. non-negativity constraints
Optimization Example
• Hydrogen Sulfide Scrubbing– Two variable grades of MEA.
– First grade consists of 80 weight% MEA and 20% weight water. Its cost is 80 cent/kg.
– Second grade consists of 68 weight% MEA and 32 weight% water. Its cost is 60 cent/kg.
– It is desired to mix the two grades so as to obtain an MEA solution that contains no more than 25 weight% water.
– What is the optimal mixing ratio of the two grades which will minimize the cost of MEA solution (per kg)?
Optimization Example
• Hydrogen Sulfide Scrubbing (Cont’d)
– Objective function min z = 80x1 + 60x2– Constraints
• Water content limitation 0.20x1 + 0.32x2 ≤ 0.25
• Overall material balance x1 + x2 =1• Non-negativity x1 ≥ 0
x2 ≥ 0
MIXER
Grade 1x1 kg0.80 MEA, 0.20 water80 cents/kg
Grade 2x2 kg0.68 MEA, 0.32 water60 cents/kg
1 kg MEA solutionwater content 25 wt. %
Variables (Basis 1 kg solution)
x1 Amount of grade 1 (kg)
x2 Amount of grade 2 (kg)
z Cost of 1 kg solution (cents)
Optimization Example
• Hydrogen Sulfide Scrubbing (Cont’d)– Feasibility region
• The set of points (x1, x2) satisfying all the constraints, including the non-negativity conditions.
• Constraint on water content 0.20x1 + 0.32x2 ≤ 0.25
x2
x1
Optimization Example
• Hydrogen Sulfide Scrubbing (Cont’d)– Feasibility region
• Non-negativity constraints x1 0 , x2 0
x2
x1
x2
x1
Optimization Example
• Hydrogen Sulfide Scrubbing (Cont’d)– Feasibility region
• Mass balance constraint x1 + x2 = 1
x2
x1
x2
x1
x2
x1
0.20 x1 + 0.32 x2 = 0.25
x1 + x2 = 1
Optimization Example
• Hydrogen Sulfide Scrubbing (Cont’d)– Feasibility region
x2
x1
0.20 x1 + 0.32 x2 = 0.25
x1 + x2 = 1
Feasibility region is this heavy line
Any optimal solutionmust lie within thefeasibility region!
Optimization Example
• Hydrogen Sulfide Scrubbing (Cont’d)– By plotting objective function curves for
arbitrary values of z (here 70 and 75) we can evaluate the results:
x2
x1
0.20 x1 + 0.32 x2 = 0.25
x1 + x2 = 1
z = 75
z = 70
Optimal Point
Intersection between
x1 + x2 = 1
and
0.20x1 + 0.32x2 = 0.25
In addition
70 < zmin < 75
Optimization Example
• Hydrogen Sulfide Scrubbing (Cont’d)– Solving the two equations simultaneously
yields the optimum amounts of the two MEA solutions along with the minimum cost of the mixture
x2
x1
0.20 x1 + 0.32 x2 = 0.25
x1 + x2 = 1
z* = 71.6Optimal point
x2* = 0.42
x1* = 0.58
Optimization Software
• LINGO– Available on computers in Ross 306– To start entering a new optimization problem
type:
Model:
– Enter the objective function by typing:
min = ……; or max = ……;
– Then enter the constraints.– Each line must end by a semi-colon ;– The final statement in the problem should be
“end”
Optimization Software
• Resolving MEA Example in LINGO
LINGO Input
Model:
min = 80*x1 + 60*x2;
0.2*x1 + 0.32*x2 < 0.25;
x1 + x2 = 1;
x1 > 0;
x2 > 0;
end
LINGO Output
Rows= 5 Vars= 2 No. integer vars= 0 ( all are linear)Nonzeros= 10 Constraint nonz= 6( 4 are +- 1) Density=0.667Smallest and largest elements in absolute value= 0.200000 80.0000No. < : 1 No. =: 1 No. > : 2, Obj=MIN, GUBs <= 2Single cols= 0Optimal solution found at step: 0Objective value: 71.66667 Variable Value Reduced Cost X1 0.5833333 0.0000000E+00 X2 0.4166667 0.0000000E+00 Row Slack or Surplus Dual Price 1 71.66667 1.000000 2 0.0000000E+00 166.6667 3 0.0000000E+00 -113.3333 4 0.5833333 0.0000000E+00 5 0.4166667 0.0000000E+00
Value of objective function: 71.6667
Value of variable x1: 0.5833
Value of variable x2: 0.4167
More Optimization Examples
• Lab Experiment– Determine the kinetics of a certain reaction by
mixing two species, A and B. The cost of raw materials A and B are 2 and 3 $/kg, respectively.
– Let x1 and x2 be the weights of A and B (kg) to be employed in the experiment
– The operating cost of the experiment is given by:
OC = 4(x1)2 + 5(x2)2
– The total cost of raw materials for the experiment should be exactly $6. Minimize the operating cost!
More Optimization Examples
• Lab Experiment (Cont’d)
LINGO Input
Model:
min = 4*x1^2 + 5*x2^2;
2*x1 + 3*x2 = 6;
x1 > 0;
x2 > 0;
end
LINGO Output
Rows= 4 Vars= 2 No. integer vars= 0Nonlinear rows= 1 Nonlinear vars= 2 Nonlinear constraints= 0Nonzeros= 7 Constraint nonz= 4 Density=0.583
Optimal solution found at step: 4Objective value: 12.85714
Variable Value Reduced Cost X1 1.071429 0.0000000E+00 X2 1.285714 0.0000000E+00
Row Slack or Surplus Dual Price 1 12.85714 1.000000 2 0.0000000E+00 -4.285715 3 1.071429 0.1939524E-07 4 1.285714 0.0000000E+00
Value of objective function: 12.857
Value of variable x1: 1.071
Value of variable x2: 1.286
More Optimization Examples
• Coal Conversion Plant– What are the optimal production rates of
gaseous and liquid fuels that maximize the net profit of the plant?
Coal pre-treatment
(maximumcapacity
18 kg coal/s)
Coalgasification(maximum
capacity4 kg
coal/s)
coal in
3x1 + 2x2kg coal/s
2x1 kg coal/s for power generation of gasificationplant (value of power breakseven with the cost of coal used in power generation)
air
x1 kg coal/s
Coalliquefaction(maximum
capacity12 kg coal/s)
Byproducts(negligible value)
Gaseous Fuelx1 kg gas. fuel/sNet profit $3/kg of gaseous fuel
2x2 kg coal/s
Byproducts(negligible value)
Liquid Fuelx2 kg liquid fuel/sNet profit $5/kg of liquid fuel
3x1 + 2x2 ≤ 18
x1 ≤ 4
2x2 ≤ 12
More Optimization Examples
• Coal Conversion Plant (Cont’d)– Objective function max z = 3x1 + 5x2– Constraints
• Pretreatment capacity 3x1 + 2x2 ≤ 18• Gasification capacity x1 ≤ 4• Liquefaction capacity2x2 ≤ 12• Non-negativity x1 ≥ 0
x2 ≥ 0
0
2
4
6
8
10
0 2 4 6 8x1
x2
x1 = 4
2x2 = 12
3x1 + 2x2 = 18
More Optimization Examples
• Coal Conversion Plant (Cont’d)– Graphical solution
Maximum profit Z = 36 for x1 = 2 and x2 = 6
0
2
4
6
8
10
0 2 4 6 8x1
x2
x1 = 4
2x2 = 12
3x1 + 2x2 = 18
0
2
4
6
8
10
0 2 4 6 8x1
x2
Z = 36 = 3x1 + 5x2
Z = 20 = 3x1 + 5x2
Z = 10 = 3x1 + 5x2
More Optimization Examples
• Coal Conversion Plant (Cont’d)
LINGO Input
Model:
max = 3*x1 + 5*x2;
3*x1 + 2*x2 <= 18;
x1 <= 4;
2*x2 <= 12;
x1 > 0;
x2 > 0;
end
LINGO OutputRows= 6 Vars= 2 No. integer vars= 0 ( all are linear)Nonzeros= 11 Constraint nonz= 6( 3 are +- 1) Density=0.611Smallest and largest elements in absolute value= 1.00000 18.0000No. < : 3 No. =: 0 No. > : 2, Obj=MAX, GUBs <= 2Single cols= 0
Optimal solution found at step: 1Objective value: 36.00000
Variable Value Reduced Cost X1 2.000000 0.0000000E+00 X2 6.000000 0.0000000E+00
Row Slack or Surplus Dual Price 1 36.00000 1.000000 2 2.000000 0.0000000E+00 3 0.0000000E+00 1.500000 4 0.0000000E+00 1.000000 5 2.000000 0.0000000E+00 6 6.000000 0.0000000E+00
Value of objective function: 36
Value of variable x1: 2
Value of variable x2: 6
More Optimization Examples
• Methanol Delivery– Supply methanol for three Methyl acetate
plants located in towns A, B, and C
– Daily methanol requirements for each plant:
MeAc Plant location Tons/day
A 6 B 1 C 10
– Methanol production plants
MeOH plant 1 2 3 4
Capacity 7 5 3 2
More Optimization Examples
• Methanol Delivery (Cont’d)– Shipping cost (100 $/ton)
– Schedule the methanol delivery system to minimize the transportation cost
MeOH Plant MeAc Plant A MeAc Plant B MeAc Plant C
1 2 1 5
2 3 0 8
3 11 6 15
4 7 1 9
More Optimization Examples
• Methanol Delivery (Cont’d)– We define the transportation loads (tons/day) define the transportation loads (tons/day)
going from each MeOH plant to each MeAc going from each MeOH plant to each MeAc plant as follows:plant as follows:
– Total transportation cost (Z)
MeOH Plant MeAc Plant A MeAc Plant B MeAc Plant C
1 X1A X1B X1C
2 X2A X2B X2C
3 X3A X3B X3C
4 X4A X4B X4C
Z =Z = 2X1A + X1B + 5X1C + 3X2A + 0X2B + 8X2C + 2X1A + X1B + 5X1C + 3X2A + 0X2B + 8X2C + 11X3A 11X3A
+ 6X3B + 15X3C + 7X4A + X4B + 9X4C+ 6X3B + 15X3C + 7X4A + X4B + 9X4C
More Optimization Examples
• Methanol Delivery (Cont’d)– Objective function min Z = 2X1A + X1B +
5X1C + 3X2A + 0X2B
+ 8X2C + 11X3A
+ 6X3B + 15X3C
+ 7X4A + X4B + 9X4C
– Constraints• Availability/supply X1A + X1B + X1C = 7
X2A + X2B + X2C = 5
X3A + X3B + X3C = 3
X4A + X4B + X4C = 2
• Requirements/demand X1A + X2A + X3A + X4A = 6
X1B + X2B + X3B + X4B = 1
X1C + X2C + X3C + X4C = 10
More Optimization Examples
• Methanol Delivery (Cont’d)– Constraints
• Non-negativity X1A ≥ 0X1B ≥ 0 X1C ≥ 0
X2A ≥ 0
X2B ≥ 0
X2C ≥ 0
X3A ≥ 0
X3B ≥ 0
X3C ≥ 0
X4A ≥ 0
X4B ≥ 0
X4C ≥ 0
Mixed Integer Programs
• Use of 0-1 Binary Integer Variables– Commonly used to represent binary choices– Dichotomy modeling
0 if the event does NOT occur
1 if the event does occurx
Mixed Integer Programs
• The Assignment Problem– Assignment of n people to do m jobs– Each job must be done by exactly one person– Each person can at most do one job
– The cost of person j doing job i is Cij
– The problem is to assign the people to the jobs so as to minimize the total cost of completing all the jobs.
– We can assign integer variables to describe whether a certain person does a certain job or not
Mixed Integer Programs
• The Assignment Problem (Cont’d)– The event of person j doing job i is designated
Xij
– The objective function can be written as:
– Since exactly one person will do job i, and each person at most can do one job, we get:
1 1
minm n
ij iji j
C X
1
1 , 1, ....,n
ijj
X i m
1
1 , 1, ....,m
iji
X j n
Mixed Integer Programs
• Plant Layout – An Assignment Problem– Four new reactors R1, R2, R3 and R4 are to be
installed in a chemical plant– Four vacant spaces 1, 2, 3 and 4 are available– Cost of assigning reactor i to space j (in $1000)
is
– Assign reactors to spaces to minimize the total cost
Reactor Space 1 Space 2 Space 3 Space 4
R1 15 11 13 15
R2 13 12 12 17
R3 14 15 10 14
R4 17 13 11 16
Mixed Integer Programs
• Plant Layout (Cont’d)– Let Xij denote the existence (or absence) of
reactor i in space j, i.e. if Xij =1 then reactor i exists in space j
– Objective function min Z = 15X11 + 11X12 + 13X13 + 15X14 + 13X21 + 12X22 + 12X23 + 17X24 + 14X31 + 15X32 + 10X33 + 14X34
+ 17X41 + 13X42 + 11X43 + 16X44
Mixed Integer Programs
• Plant Layout (Cont’d)– Constraints
• Each space must be assigned to one and only one reactor
X11 + X12 + X13 + X14 = 1X21 + X22 + X23 + X24 = 1X31 + X32 + X33 + X34 = 1X41 + X42 + X43 + X44 = 1
• Each reactor must be assigned to one and only one space
X11 + X21 + X31 + X41 = 1X12 + X22 + X32 + X42 = 1X13 + X23 + X33 + X43 = 1X14 + X24 + X34 + X44 = 1
Mixed Integer Programs
• Plant Layout (Cont’d)– Solve using LINGO– Optimal assignment policy
Reactor R1 in space 2Reactor R2 in space 1Reactor R3 in space 4Reactor R4 in space 3
– Minimum cost
Cost = 11 + 13 + 14 + 11 = $49,000
Lecture 10 – Summary
Understand the different types of optimization problems and their formulation
Be able to formulate and solve a variety of optimization problems in LINGO
On completion of this part, you should:
Other Business
• Homework– SSLW: 24.1 plus problems posted on class webpage– Due Tuesday October 23– LINGO software is available on class webpage as zip-file
• Next Lecture – October 23– Heat and Power Integration (SSLW p. 252-261)
• Review of Midterm Exam– Thursday October 18 during lab sessions– You will get your tests back to look at during solution
review