Optimization
Dr. Mario Richard Eden
Department 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
On completion of this part, you should:
Understand the different types of optimization problems and their formulation
Be able to formulate and solve a variety of optimization problems in LINGO
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 conversion
Subject to reactor modeling equations kinetic equations limitations on T, P and x
Optimization Basics
• Examples (Continued)
2.
Minimize cost of plant
Subject to mass & energy balance equations equipment modeling equations environmental, technical and logical constraints
Optimization Basics
• Examples (Continued)
3.
Maximize your grade in this course
Subject 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(x
1
,x
2
,……,x
N
) subject to g
1
(x
1
,x
2
,……,x
N
)≤0 g
2
(x
1
,x
2
,……,x
N
)≤0
Inequality
Constraints g m
(x
1
,x
2
,……,x
N
)≤0
Equality
Constraints h
1
(x
1
,x
2
,……,x
N
)=0 h
2
(x
1
,x
2
,……,x
N
)=0 h
E
(x
1
,x
2
,……,x
N
)=0
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(x
1
,x
2
,……,x
N arguments:
) and g i
(x
1
,x
2
,……,x
N
)≤0 are linear in each of their f(x
1
,x
2
,……,x
N
) = c
1 x
1 g i
(x
1
,x
2
,……,x
N
) = a i1 x
1
+ c
2 x
2
+ …. c
N x
N
+ a i2 x
2
+ …. a iN x
N where c i and a ij 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 s.t.
3x + 6y
5x + x
2 y ≥ 0
Non-Linear Programs (NLP’s) can be solved to yield a local optimum.
Solver routines can not always
guarantee a globally optimal solution.
– 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.
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)
Grade 1 x1 kg
0.80 MEA, 0.20 water
80 cents/kg
MIXER
Grade 2 x2 kg
0.68 MEA, 0.32 water
60 cents/kg
1 kg MEA solution
Variables (Basis 1 kg solution) x1 x2 z
Amount of grade 1 (kg)
Amount of grade 2 (kg)
Cost of 1 kg solution (cents)
– Objective function min z = 80 x1 + 60 x2
– Constraints
• Water content limitation 0.20
x1 + 0.32
x2 ≤ 0.25
• Overall material balance x1 + x2 =1
• Non-negativity x1 ≥ 0 x2 ≥ 0
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.20
x1 + 0.32
x2 ≤ 0.25
Optimization Example
• Hydrogen Sulfide Scrubbing (Cont’d)
– Feasibility region
• Non-negativity constraints x1 0 , x2 0
Optimization Example
• Hydrogen Sulfide Scrubbing (Cont’d)
– Feasibility region
• Mass balance constraint x1 + x2 = 1
Optimization Example
• Hydrogen Sulfide Scrubbing (Cont’d)
– Feasibility region x2
0.20 x1 + 0.32 x2 =
0.25
x1
+
x2
=
1
Feasibility region is this heavy line x1 Any optimal solution must lie within the feasibility 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: x1 +
x2 = 1 x2
0.20 x1 + 0.32 x2 =
0.25
z = 75
Optimal Point
Intersection between x1 + x2 = 1 and
0.20x1 + 0.32x2 = 0.25
z = 70 x1
In addition
70 < z min
< 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 x1 +
x2 = 1 x2
0.20 x1 + 0.32 x2 = z* = 71.6
0.25
Optimal point x2* = 0.42
x1 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
Value of objective function:
Value of variable x1:
Value of variable x2:
LINGO Output
Rows= 5 Vars= 2 No. integer vars= 0 ( all are linear)
Nonzeros= 10 Constraint nonz= 6( 4 are +- 1) Density=0.667
Smallest and largest elements in absolute value= 0.200000 80.0000
No. < : 1 No. =: 1 No. > : 2, Obj=MIN, GUBs <= 2
Single cols= 0
Optimal solution found at step: 0
Objective 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
71.6667
0.5833
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= 0
Nonlinear rows= 1 Nonlinear vars= 2 Nonlinear constraints= 0
Nonzeros= 7 Constraint nonz= 4 Density=0.583
Optimal solution found at step: 4
Objective 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:
Value of variable x1:
Value of variable x2:
12.857
1.071
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?
2x1 kg coal/s for power generation of gasification plant (value of power breaks even with the air cost of coal used in power generation) x1 kg coal/s coal in
3x1 + 2x2 kg coal/s
Coal pretreatment
(maximum capacity
18 kg coal/s) 2x2 kg coal/s
Coal gasification
(maximum capacity
4 kg coal/s)
Coal liquefaction
(maximum capacity
12 kg coal/s)
3x1 + 2x2 ≤ 18
Gaseous Fuel x1 kg gas. fuel/s
Net profit $3/kg of gaseous fuel x1 ≤ 4
Byproducts
(negligible value)
Liquid Fuel x2 kg liquid fuel/s
Net profit $5/kg of liquid fuel
2x2 ≤ 12
Byproducts
(negligible value)
More Optimization Examples
• Coal Conversion Plant (Cont’d)
– Objective function max z = 3 x1 + 5 x2
– Constraints
• Pretreatment capacity
• Gasification capacity
• Liquefaction capacity
• Non-negativity x2
3 x1 + 2 x2 ≤ 18 x1 ≤ 4
2 x2 ≤ 12 x1 ≥ 0 x2 ≥ 0
10 x1 = 4
3x1 + 2x2 = 18
8
2x2 = 12
6
4
2
0
0 2 4 6 8 x1
More Optimization Examples
• Coal Conversion Plant (Cont’d)
– Graphical solution
4
2
0
0 x2
10
8
3x1 + 2x2 = 18
6
2 4 x1 = 4
6 x2
10
2x2 = 12
8 x1
8
Z = 36 = 3x1 + 5x2
6
Z = 20 = 3x1 + 5x2
4
Z = 10 = 3x1 + 5x2
2
0
0 2 4 6 8
Maximum profit Z = 36 for x1 = 2 and x2 = 6 x1
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 Output
Rows= 6 Vars= 2 No. integer vars= 0 ( all are linear)
Nonzeros= 11 Constraint nonz= 6( 3 are +- 1) Density=0.611
Smallest and largest elements in absolute value= 1.00000 18.0000
No. < : 3 No. =: 0 No. > : 2, Obj=MAX, GUBs <= 2
Single cols= 0
Optimal solution found at step: 1
Objective 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:
Value of variable x1:
Value of variable x2:
36
2
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
A
B
C
Tons/day
6
1
10
– Methanol production plants
MeOH plant
Capacity
1
7
2
5
3
3
4
2
More Optimization Examples
• Methanol Delivery (Cont’d)
– Shipping cost (100 $/ton)
MeOH Plant MeAc Plant A MeAc Plant B MeAc Plant C
1 2 1 5
2 3 0 8
3
4
11
7
6
1
15
9
– Schedule the methanol delivery system to minimize the transportation cost
More Optimization Examples
• Methanol Delivery (Cont’d)
– We define the transportation loads (tons/day) going from each MeOH plant to each MeAc plant as follows:
MeOH Plant MeAc Plant A MeAc Plant B MeAc Plant C
1 X1A X1B X1C
2 X2A X2B X2C
3
4
X3A
X4A
X3B
X4B
X3C
X4C
– Total transportation cost (Z)
Z = 2X1A + X1B + 5X1C + 3X2A + 0X2B + 8X2C + 11X3A
+ 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 ≥ 0
X1B ≥ 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 x
0 if the event does NOT occur
1 if the event does occur
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 C ij
– 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 X ij
– The objective function can be written as: min m n i
1 j
1
C X ij ij
– Since exactly one person will do job person at most can do one job, we get: i , and each j n
1
X ij
1 , i
1,...., m i m
1
X ij
1 , j
1,...., 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
Reactor
R1
R2
R3
R4
Space 1
15
13
14
17
Space 2
11
12
15
13
Space 3
13
12
10
11
Space 4
15
17
14
16
– Assign reactors to spaces to minimize the total cost
Mixed Integer Programs
• Plant Layout (Cont’d)
– Let X ij space denote the existence (or absence) of reactor j , i.e. if X ij
=1 then reactor i exists in space j i in
– 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 = 1
X21 + X22 + X23 + X24 = 1
X31 + X32 + X33 + X34 = 1
X41 + X42 + X43 + X44 = 1
• Each reactor must be assigned to one and only one space
X11 + X21 + X31 + X41 = 1
X12 + X22 + X32 + X42 = 1
X13 + X23 + X33 + X43 = 1
X14 + X24 + X34 + X44 = 1
Mixed Integer Programs
• Plant Layout (Cont’d)
– Solve using LINGO
– Optimal assignment policy
Reactor R1 in space 2
Reactor R2 in space 1
Reactor R3 in space 4
Reactor R4 in space 3
– Minimum cost
Cost = 11 + 13 + 14 + 11 = $49,000
Lecture 10 – Summary
On completion of this part, you should:
Understand the different types of optimization problems and their formulation
Be able to formulate and solve a variety of optimization problems in LINGO
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