You are on page 1of 40

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 g1(x1,x2,,xN)0
Inequality
Constraints

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

Optimization Basics

Classification of Optimization Problems

Linear Programs (LPs)

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 (LPs) 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 (NLPs)

A mathematical program is non-linear if any of the


arguments are non-linear. For example:
min
s.t.

3x + 6y2
5x + xy 0

Non-Linear Programs (NLPs)


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 (MILPs)

Linear programs in which SOME of the variables are


real and other variables are integers

Can be solved as individual LPs by fixing the integer


variables, thus a global optimum can be identified.

Mixed Integer Non-Linear Programs (MINLPs)

Non-linear programs in which SOME of the


variables are real and other variables are integers

Can be solved as individual NLPs by fixing the integer


variables, but depending on the nature of the NLPs 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

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 (Contd)


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

Objective function
Constraints

Variables (Basis 1 kg
solution)

1 kg MEA solution
water content 25 wt. %

x1

Amount of grade 1 (kg)

x2

Amount of grade 2 (kg)

z
(cents)

Cost of 1 kg solution

min z = 80x1 + 60x2

Water content limitation 0.20x1 + 0.32x2 0.25


Overall material balance x1 + x2 =1
Non-negativity
x1 0
x2 0

Optimization Example

Hydrogen Sulfide Scrubbing (Contd)

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 (Contd)

Feasibility region

Non-negativity constraints

x1 0 , x2 0

x2
x2

x1
x1

Optimization Example

Hydrogen Sulfide Scrubbing (Contd)

Feasibility region

Mass balance constraint x1 + x2 = 1

x2
x2
x2

x1 x1
x1

Optimization Example

Hydrogen Sulfide Scrubbing (Contd)

Feasibility region

x2
Feasibility region
is this heavy line

Any optimal solution


must lie within the
feasibility region!

x1

Optimization Example

Hydrogen Sulfide Scrubbing (Contd)

By plotting objective function curves for


arbitrary values of z (here 70 and 75) we can
evaluate the results:
x2

Optimal Point
Intersection between

z = 75

x1 + x2 = 1
and

z = 70

0.20x1 + 0.32x2 =
0.25

x1
In addition
70 < zmin < 75

Optimization Example

Hydrogen Sulfide Scrubbing (Contd)

Solving the two equations simultaneously


yields the optimum amounts of the two MEA
solutions along with the minimum cost of the
mixture
x2

z* = 71.6
Optimal
point
x2* = 0.42
x1* = 0.58

x1

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

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

More Optimization Examples

Lab Experiment (Contd)


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:

4
12.85714

Variable
X1
X2
Row
1
2
3
4

Value
1.071429
1.285714

Reduced Cost
0.0000000E+00
0.0000000E+00

Slack or Surplus
12.85714
0.0000000E+00
1.071429
1.285714

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)

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 (Contd)

Objective function
Constraints

max z = 3x1 + 5x2

3x1 + 2x2 18
x1 4
2x2 12
x1 0
x2 0

Pretreatment capacity
Gasification capacity
Liquefaction capacity
Non-negativity

x2
10

x1 = 4

3x1 + 2x2 = 18

2x2 = 12

6
4
2

x1

0
0

More Optimization Examples

Coal Conversion Plant (Contd)

Graphical solution
x2

x2
10

3x1 + 2x2 = 18

10

x1 = 4

Z = 36 = 3x1 + 5x2

2x2 = 12

Z = 20 = 3x1 + 5x2
4

Z = 10 = 3x1 + 5x2

x1

0
0

x1

0
0

Maximum profit Z = 36 for x1 = 2 and x2 = 6

More Optimization Examples

Coal Conversion Plant (Contd)


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

Value of objective function: 36


Value of variable x1:

Value of variable x2:

Dual Price
1.000000
0.0000000E+00
1.500000
1.000000
0.0000000E+00
0.0000000E+00

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
Capacity

More Optimization Examples

Methanol Delivery (Contd)

Shipping cost (100 $/ton)


MeOH Plant

MeAc Plant A

MeAc Plant B

MeAc Plant C

11

15

Schedule the methanol delivery system to


minimize the transportation cost

More Optimization Examples

Methanol Delivery (Contd)

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

X1A

X1B

X1C

X2A

X2B

X2C

X3A

X3B

X3C

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 (Contd)

Objective function
5X1C
0X2B

min Z =

2X1A + X1B +
+ 3X2A +

+ 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
6

X1A + X2A + X3A + X4A =

More Optimization Examples

Methanol Delivery (Contd)

Constraints

Non-negativity

X1A
X1B
X1C
X2A
X2B
X2C
X3A
X3B
X3C
X4A
X4B
X4C

0
0
0
0
0
0
0
0
0
0
0
0

O
T
ocur
x10ifthevntdoesN
Mixed Integer Programs

Use of 0-1 Binary Integer Variables

Commonly used to represent binary choices


Dichotomy modeling

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

m
inX
C
X

1,im
1.,
X1,jn
1.,

m
n
i
j
ijn1ij1j im
i1j
Mixed Integer Programs

The Assignment Problem (Contd)

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:

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

Mixed Integer Programs

Plant Layout (Contd)

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
+ 15X14 +
+ 12X23 +

+ 13X13
13X21 + 12X22
17X24 +
14X31
+ 15X32 + 10X33 + 14X34
+ 17X41 + 13X42 + 11X43
+ 16X44

Mixed Integer Programs

Plant Layout (Contd)

Constraints

Each space must be assigned to one and only one


reactor
X11
X21
X31
X41

+
+
+
+

X12
X22
X32
X42

+
+
+
+

X13
X23
X33
X43

+
+
+
+

X14
X24
X34
X44

=
=
=
=

1
1
1
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

Mixed Integer Programs

Plant Layout (Contd)

Solve using LINGO


Optimal assignment policy
Reactor
Reactor
Reactor
Reactor

R1
R2
R3
R4

in
in
in
in

space
space
space
space

2
1
4
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

Next Lecture October 23

SSLW: 24.1 plus problems posted on class webpage


Due Tuesday October 23
LINGO software is available on class webpage as zip-file

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

You might also like