Sei sulla pagina 1di 34

CCB 4333: Professor Saibal Ganguly

Process Optimization
Lecture Set 8:
Mixed Integer Programming

Professor Dr. Saibal Ganguly


Universiti Teknologi PETRONAS
September 2014

CCB 4333: Professor Saibal Ganguly

Lecture Set 8:
Mixed Integer Programming
At the end of the topic, students should be able to:
Understand, discuss and solve the concepts of mixed
integer programming
Formulate and solve simple mixed integer programming
based engineering optimization problems

Understand the overview of MILP, MINLP and MI


problems
Understand branch and bound methods
Understand depth and breadth based strategies.

CCB 4333: Professor Saibal Ganguly

What is Mixed Integer Programming?


The objective function depends on two sets of
variables, x and y where
X represents vector of continuous variables
Y represents vector of integer variables
Minimize
Subject to

f(x,y)
g(x,y) 0
h(x,y) = 0
xi 0 for i = 1, 2, .., n and
yj = [0,1] for j = 1, 2, .., m

CCB 4333: Professor Saibal Ganguly

Introduction to Integer Variables


In chemical plant design and operation, there are
many variables which have integer values

Examples:

Number of distillation columns or reactors


Type of separator or reactor
Decisions in time to keep or replace an equipment
Catalyst and promoters types
Sequence of heat exchangers or distillation
columns
etc.

CCB 4333: Professor Saibal Ganguly

Introduction to Integer Variables


Some integer variables can only assume (0 or 1)
values, such as decision variables:
Whether to Install a new piece of equipment
Whether to Accept a new source of raw material
Whether to Mix the streams
Whether to Use the bypass connection

Such integer variables, y, are called binary


integer variables and y = [ 0 , 1 ]

CCB 4333: Professor Saibal Ganguly

Types of Mixed Integer Programming


Problems
If the objective function or at least one
of the constraints are nonlinear MINLP
If the objective function and all the
constraints are linear
MILP
If there are no continuous variables
involved IP

CCB 4333: Professor Saibal Ganguly

Mixed Integer Problems: Classical


Formulations
(1) Blending problem: A given list

of
possible inputs with known properties have
to be blended into products or outputs with
given properties and limits.

(2) Traveling

salesman

problem:

A
salesman or a delivery system moves from
one delivery point to the next in an optimal
way and returns to the original point.

CCB 4333: Professor Saibal Ganguly

Mixed Integer Problems: Classical Formulations


(Continued)
(3) Knapsack problem: A series of objects
with known weights and values need to be
optimally selected in subsets so that the
total weight does not exceed the limit but the
maximum profit is obtained.

(4) Plant Location problem: A production


demand versus time is available. The way to
take or generate the items from a known
common source with distributed properties.

CCB 4333: Professor Saibal Ganguly

Continuous vs. Integer programming


Sometimes the integer variables can be treated as if they
were continuous, and round the optimal solution to the
nearest integer value.

Example 1:
Maximize
Subject to
where
and

f(x) = 3x1 + 4x2


3x1 - x2 12
3x1 + 11x2 66
xi 0 for i = 1, 2
x1 & x2 are integers

CCB 4333: Professor Saibal Ganguly

Yaxis: x2 & X axis: x1


60
50

LP Optimal point (5.5, 4.5)


40

with f = 34.5
30
20
10
0
0

22

-10
-20
Constraint2

Constraint1

: Actual Optimal point (IP) : [5, 4] with f = 31

CCB 4333: Professor Saibal Ganguly

Truncation of fractional part of an LP problem


does not always give the solution of the integer
LP problem
Example 2: Replace 3x1 + 11x2 66 by 7x1 + 11x2 88
Maximize
Subject to

where
and

f(x) = 3x1 + 4x2


3x1 - x2 12
7x1 + 11x2 88
xi 0 for i = 1, 2
x1 & x2 are integers

11

CCB 4333: Professor Saibal Ganguly

In this case: the optimal LP point remains the


same as before [ 5.5, 4.5] with f = 34.5
The truncated solution remains at
[5, 4] with f = 31
However: Actual IP solution is obtained at:
[0, 8] with f = 32 (different from truncated solution)
Therefore, specialized algorithms specific to
Mixed Integer problems have been developed.

12

CCB 4333: Professor Saibal Ganguly

Branch and Bound Method


This is the most widely used and probably the most
successful method for solving both IP and MILP
problems
BASIC IDEA:
1) Solve the problem as if it contains only continuous
variables
2) If the optimal solution contains noninteger values
for some integer variables, use partitioning method
for these integer variables to divide up all the
possible solutions into subsets
3) Avoid exhaustive search using bounding methods

CCB 4333: Professor Saibal Ganguly

Branch and Bound Method


The starting node (e.g. node 1) is called root node or
initial node. The ends node (e.g. nodes 2,4,5) are
called terminal nodes and nodes in between (e.g.
node 3) are regarded as intermediate nodes.
Each tree of the solutions have the root node,
intermediate nodes, and terminal nodes.
Every path from root node to terminal nodes
defines a complete solution.
The optimum solution should be chosen among all
terminal nodes.

14

CCB 4333: Professor Saibal Ganguly

TREE REPRESENTATION
Example: MILP with 3 binary variables

CCB 4333: Professor Saibal Ganguly

BRANCHING STRATEGIES

Depth-first
(1) Perform branching on most recently
created node
(2) When no nodes can be expanded,
backtrack to node whose successor have
not been examined

Breadth-first
(1) Select the node with the best value at
each level and expand all its successor
nodes

CCB 4333: Professor Saibal Ganguly

Example 3 Minimize the overall cost

Node
Node
Node
Node

2: 10; Node 3: 17;


4: 6; Node 5: 2; Node 6: 2; Node 7: 2;
8: 2; Node 9: 4; Node 10: 2; Node 11: 4;
12: 4; Node 13: 4; Node 14: 2; Node 15: 4

CCB 4333: Professor Saibal Ganguly


Strategy: Depth first
Step 1: Select Initial Sequence: 1-2-4-9: 10+6+4 = 20;
Set expansion node = 4;
Set optimal sequence to 1-2-4-9 with bound = 20.
Step 2: Retrace to Sequence: 1-2-4-8:

10+6+2 = 18;

Since 18 < 20, change optimal sequence.


Set new optimal sequence to 1-2-4-8 with bound = 18.
Step 3: Retrace to Sequence: 1-2-5-10:

10+2+2 = 14;

Set expansion node = 5;


Since 14 < 18, change optimal sequence.
Set new optimal sequence to 1-2-5-10 with bound = 14.

18

CCB 4333: Professor Saibal Ganguly


Step 4: Retrace to Sequence: 1-2-5-11:

10+2+4 = 16;

Since 16 > 14, donot change optimal sequence.


Step 5: Retrace to Sequence: 1-3:

17 > 14;

Prune and discard all branches of 1-3 and beyond.


The optimal sequence is 1-2-5-10 with bound = 14.

In
breadth
first
strategy,
compare
horizontally side nodes first and arrive at the
optimum.

19

CCB 4333: Professor Saibal Ganguly

COMPARISON BETWEEN BRANCH AND


BOUND STRATEGIES
Depth-first
Requires less storage of nodes since maximum
nodes to be stored at any point is the number of
levels in the tree
Has the tendency of finding the optimal solution
early in the enumeration procedure.
Breadth-first
In general requires examination of fewer nodes
no backtracking

20

CCB 4333: Professor Saibal Ganguly

BRANCH AND BOUND METHOD USING LP


RELAXATIONS
In a mixed integer MILP formulation, often integer
variables can be binary that is either 0 or 1. Quite
often the approach to solving the MILP is obtained by
relaxation of the only 0 or 1 constraints to
anywhere between 0 and 1 constraints. This
procedure of relaxation is known as LP Relaxation
The subsequent problem formed is known as an LP
subproblem

21

CCB 4333: Professor Saibal Ganguly

Example 4:
Maximize
Subject to
where
and

f = 86x1 + 4x2 + 40x3


774x1 + 76x2 + 42x3 875
67x1 + 27x2 + 53x3 875
xi 0 for i = 1, 2,3
x1 x2 & x3 are integers [0,1]

Solution:
A decomposition is attempted using Branch and
Bound method.

22

CCB 4333: Professor Saibal Ganguly


NODE 1: Continuous LP optimum is solved for
constraints
0 x1 1; 0 x2 1 & 0 x3 1 to yield
an optimal solution at [1, 0.776, 1] with f = 129.1

NODE 2
Assume x2 = 0
0 x1 1;
x2 = 0 &
0 x3 1
LP optimum: [1,0,1]
f= 126.0

NODE 3
Assume x2 = 1
0 x1 1;
x2 = 1 &
0 x3 1
LP optimum:[0.978,1,1]
f= 128.11

CCB 4333: Professor Saibal Ganguly


NODE 3
Assume x2 = 1
0 x1 1; x2 = 1 & 0 x3 1
LP optimum:[0.978,1,1] with f= 128.11

NODE 4
NODE 5
Assume x1 = 0
Assume x1 = 1
x1 = 0;
x1 = 1;
x2 = 0 &
x2 = 1 &
0 x3 1
0 x3 1
LP optimum: [0,1,1]
LP optimum:[1,1, 0.595]
f= 44.0
f= 113.81
Global optimum was obtained at Node 2.

CCB 4333: Professor Saibal Ganguly

Mixed Integer Nonlinear Programming (MINLP)

Example 5:
Reaction: A
B
Reactor I: conversion 0.8;
Cost = 5.5 (Feed)0.6 /hr
Reactor II: conversion 0.667; Cost = 4 (Feed)0.6 /hr
x0: feed flowrate (kmol/hr) of A at 5 /kmol
Desired product, B, at 10 kmol/hr
Select the cheapest combination of the above reactors

25

CCB 4333: Professor Saibal Ganguly

Solution:
Objective function:
Minimise Cost = 5.5 (x1)0.6 + 4 (x1)0.6 + 5 x0
Operation cost
Material cost
Constraints:
Mass balance at initial split:
x0 = x1 + x2
Mass balance at reactor I:
z1 = 0.8 x1
Mass balance at reactor II:
z2 = 0.667 x2
Mass balance at mixer:
Non-negativity constraints:

z1 + z2 = 10
x0 , x1, x2 , z1, z2 0

DOF = NV NE =5 - 4 = 1 (optimisation problem)

CCB 4333: Professor Saibal Ganguly


Eliminate z1, z2 and x0 from the constraints
Minimise
5.5 (x1)0.6 + 4 (x1)0.6 + 5 x0
subject to
0.8 x1 + 0.667 x2 = 10
If we eliminate x1, the problem can easily be solved
Let us plot Cost as a function of x2

CCB 4333: Professor Saibal Ganguly

Discussion
Note that cost function exhibits two minima
at the extreme values 0 and 15 of x2
At x2 = 0 the global optimum (87.5/hr) occurs
at which it corresponds to selecting reactor I
only
At x2 = 15 we have a local optimum which
corresponds to selecting reactor II only
Clearly, this is an undesirable feature as it
means that when using standard NLP
algorithms our solution will be dependent on
the starting point

CCB 4333: Professor Saibal Ganguly

MINLP Formulation
Introduce binary variables
How to incorporate these binary
variables into the formulation?
Define new constraint:
With upper limits of x1 and x2

29

CCB 4333: Professor Saibal Ganguly

Define Binary variables


If y1 = 0 (reactor I is not selected); x1 = 0
If y1 = 1 (reactor I is selected); x1 = m1
If y2 = 0 (reactor II is not selected); x2 = 0
If y2 = 1 (reactor II is selected); x2 = m2

x1 (m1) y1 0
x2 (m2) y2 0

30

CCB 4333: Professor Saibal Ganguly

Upper Limit Calculation


Upper limit of x1 is when 10 kmol/hr of B is to be
produced from x1
Similarly upper limit of x2 is when 10 kmol/hr of B
is to be produced from x2
Thus, new constraints are calculated :
m1 = 10/0.8 = 12.5 kmol/h
m2 = 10/0.667 = 15 kmol/h

x1 (12.5) y1 0
x2 (15) y2 0

CCB 4333: Professor Saibal Ganguly

The full MINLP formulation


Minimise

5.5 (x1)0.6 + 4 (x1)0.6 + 5 x0

subject to

0.8 x1 + 0.667 x2 = 10
x1 (12.5) y1 0
x2 (15) y2 0

Non-negativity constraints:
Integer constraints:

32

x0 , x1, x2 , z1, z2 0
y1 and y1 = [0,1]

CCB 4333: Professor Saibal Ganguly


N COMPUTER SOFTWARE
1. For LP and MILP:
LINDO by Linus Schrage. Interactive easy to use.
ZOOM by Roy Marsten.
LSSOL, LPSOL from Stanford Software Centre
2. For NLP:
GINO by leon Lasdon. Interactive program.
MINOS by Murtagh and Saunders (Stanford Software).
CONOPT by Drud in Denmark
3. For MINLP:
DICOPT++ by Viswanathan and Grossmann.
The program GAMS provides a computer interface that
facilitates the formulation and solution of LP, MILP, NLP,
an MINLP problems. GAMS interfaces with other
commercial packages also.

CCB 4333: Professor Saibal Ganguly

End of Lecture Set 8

Thank you
34

Potrebbero piacerti anche