PPT - Auburn University

Download Report

Transcript PPT - Auburn University

Optimization
CHEN 4460 – Process Synthesis,
Simulation and 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(x1,x2,……,xN)
subject to
Inequality
Constraints
g1(x1,x2,……,xN)≤0
g2(x1,x2,……,xN)≤0
gm(x1,x2,……,xN)≤0
Equality
Constraints
h1(x1,x2,……,xN)=0
h2(x1,x2,……,xN)=0
hE(x1,x2,……,xN)=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(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
s.t.
–
3x + 6y2
5x + x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
•
•
–
Step 2
•
–
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)
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
1 kg MEA solution
water content 25 wt. %
MIXER

Grade 2
x2 kg
0.68 MEA, 0.32 water
60 cents/kg
–
–
Variables (Basis 1 kg solution)
x1
Amount of grade 1 (kg)
x2
Amount of grade 2 (kg)
z
Cost of 1 kg solution (cents)
Objective function min z = 80x1 + 60x2
Constraints
•
•
•
Water content limitation
Overall material balance
Non-negativity
0.20x1 + 0.32x2 ≤ 0.25
x1 + x2 =1
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.2
0x
1+
0.3
2
x1
x2
=0
.25
Any optimal solution
must lie within the
feasibility region!
Feasibility region
is this heavy line
+x
2=
1
x1
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
2=
0.2
0
x1
Optimal Point
+x
Intersection between
1
z = 75
+0
.32
x2
x1 + x2 = 1
and
=0
.25
0.20x1 + 0.32x2 = 0.25
z = 70
x1
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
x1
x2
+x
2=
0.2
0x
1+
1
z* = 71.6
0.3
2x
2=
0.2
Optimal
point
5
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
LINGO Output
Model:
min = 80*x1 + 60*x2;
0.2*x1 + 0.32*x2 < 0.25;
x1 + x2 = 1;
x1 > 0;
x2 > 0;
end
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
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=
0
Nonlinear rows=
1 Nonlinear vars=
2 Nonlinear constraints=
Nonzeros=
7 Constraint nonz=
4 Density=0.583
Optimal solution found at step:
Objective value:
0
4
12.85714
Variable
X1
X2
Row
1
2
3
4
Value
1.071429
1.285714
Slack or Surplus
12.85714
0.0000000E+00
1.071429
1.285714
Reduced Cost
0.0000000E+00
0.0000000E+00
Dual Price
1.000000
-4.285715
0.1939524E-07
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?
2x1 kg coal/s for power
generation of gasification
plant (value of power breaks
Coal
even with the
gasification
air
cost of coal
(maximum
used in power
capacity
generation)
4 kg
x1 kg coal/s
coal/s)
Coal pretreatment
coal in
3x1 + 2x2 (maximum
Coal
capacity
kg coal/s
18 kg coal/s) 2x2 kg coal/s liquefaction
(maximum
capacity
12 kg
coal/s)
Gaseous Fuel
x1 kg gas. fuel/s
Net profit $3/kg
of gaseous fuel
3x1 + 2x2 ≤ 18
Byproducts
(negligible value)
x1 ≤ 4
Byproducts
(negligible value)
Liquid Fuel
x2 kg liquid fuel/s
Net profit $5/kg
of liquid fuel
2x2 ≤ 12
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
3x1 + 2x2 ≤ 18
x1 ≤ 4
2x2 ≤ 12
x1 ≥ 0
x2 ≥ 0
x2
10
x1 = 4
3x1 + 2x2 = 18
8
2x2 = 12
6
4
2
x1
0
0
2
4
6
8
More Optimization Examples
•
Coal Conversion Plant (Cont’d)
–
Graphical solution
x2
x2
10
10
x1 = 4
3x1 + 2x2 = 18
8
8
Z = 36 = 3x1 + 5x2
2x2 = 12
6
6
Z = 20 = 3x1 + 5x2
4
4
Z = 10 = 3x1 + 5x2
2
2
x1
0
0
2
4
6
8
x1
0
0
2
4
6
8
Maximum profit Z = 36 for x1 = 2 and x2 = 6
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:
Objective value:
1
36.00000
Variable
X1
X2
Row
1
2
3
4
5
6
Value
2.000000
6.000000
Reduced Cost
0.0000000E+00
0.0000000E+00
Slack or Surplus
36.00000
2.000000
0.0000000E+00
0.0000000E+00
2.000000
6.000000
Dual Price
1.000000
0.0000000E+00
1.500000
1.000000
0.0000000E+00
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
B
C
–
6
1
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)
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
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
X3A
X3B
X3C
4
X4A
X4B
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
–
Constraints
min Z =
2X1A + X1B + 5X1C
+ 3X2A + 0X2B
+ 8X2C + 11X3A
+ 6X3B + 15X3C
+ 7X4A + X4B + 9X4C
•
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
 0 if the event does NOT occur
x
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 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:
m
n
min   Cij X ij
i 1 j 1
–
Since exactly one person will do job i, and each
person at most can do one job, we get:
n
X
j 1
ij
 1 , i  1,...., m
m
X
i 1
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
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
–
Assign reactors to spaces to minimize the total cost
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 = 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