DyEEP Clase 13 - Optimizacion - 3

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Diseño de Procesos

Tema: Optimización en Diseño de Procesos Químicos


Parte 3

Curso 2020

M. S. Diaz DyEEP 2020


Optimización Estructural
• In design, we often face discrete decisions
• The existence of process units (reactors, columns, heat
exchangers)
• Matches between heat exchangers
• Number of trays in ditillation columns
• The existence of entire plant sectors, etc

• These can be solved by introducing integer variables

• Mixed integer programming methods can also be used to


select between different flowsheet options
Variables enteras y restricciones
• Define y as binary integer variable
• if feature exists, y = 1
• if feature does not exist, y = 0
n

• Select one of n options: y


i 1
i 1
n
• Select at most m of n options: y
i 1
i m

• If item k is selected j must be selected, but not vice versa:


yk  y j  0

• Either constraint g1(x) or constraint g2(x) must apply:


g1  x   My  0 M is a large scalar value
g 2  x   M 1  y   0 (Big M)
• Hence binary variables can be used to build a set of rules
Programación Entera
• When integer variables are added LP MILP
NLP MINLP
• Many algorithms exist for integer programming e.g., Branch-and-Bound
Algorithm
- First approximation: treat integer variables as continuous and solve LP or NLP
- Second approximation: round non-integral integer variables from 1st approximation to
nearest integer
- Branching: non-integral integer variables xj´ in 1st approximation i1 < xj ´ < i2 define
two new integer programs, one with added constraint xj  i1 and one with constraint xi 
i2 (this rules out the original non-integer solution while allowing all integer solutions)
- Repeat 1st approximation, and if solutions still have non-integral variables, repeat
branching
- Bounding: when an integral solution is obtained, this becomes the upper (lower)
bound. At this point, all branches with greater (lower) values of the objective are
discarded.
- Continue until all branches have been bounded and lowest (highest) branch is reached
Ejemplo de Branch and Bound
A machine can make two products.

 Product A has a value of $200/unit and takes 100 minutes per unit to make.
 Product B has a value of $100/unit and takes 60 minutes per unit to make.

 What is the optimum production schedule for the machine during a day?

We can write this in mathematical form as program [1]:

max z´ = 200 x1 + 100 x2

or z = 2x1 + x2

s.t. 100 x1 + 60 x2  60  24

i.e., 5 x1 + 3 x2  72

x1 , x2 non-negative & integral


Ejemplo de Branch and Bound
Solving [1] (graphically or by inspection) to first approximation gives x1  14.4 z = 28
x2  0 4
z  28.8
(14,0)
So we branch on x1 to form two new programs
[2] [3] z = 28.7 z = 28.6
max z  2 x1  x2 max z  2 x1  x2
s.t. 5 x1  3 x2  72 s.t. 5 x1  3 x2  72 2
x1  14 x1  15 (14,0.67)
 
x1  14 infeasible
x2  0.67
z  28.67 1
From [2] we now branch on x2 to give 5
(13.8,1)
[4] [5]

max z  2 x1  x2 max z  2 x1  x2 3
s.t. 5 x1  3 x2  72 s.t. 5 x1  3 x2  72
x1  14 x1  14 infeasible
inf
x2  0 x2  1
z = 28

Ejemplo de Branch and Bound 4


(14,0)

• Program [4] solves to the integer solution x1  14


x2  0 z = 28.7
z = 28.6
z  28 z = 28.33
2
which becomes our lower bound for z and terminates this branch. 6
(14,0.67)
(13, 2.33)
• [5] solves to x1  13.8
x2  1
z  28.6 1
5
which can undergo further branching on x1 (13.8,1)

[6] max. z = 2 x1 + x2 [7] max. z = 2 x1 + x2


s.t. 5 x1 + 3 x2 ≤ 72 s.t. 5 x1 + 3 x2 ≤ 72
3
x1 ≤ 13 x1 = 14 7
x2 ≥ 1 x2 ≥ 1 infeasible
infeasible

↓ ↓
x1 = 13 not feasible
x2 = 2.33
z = 28.33
Ejemplo de Branch and Bound
We can illustrate this process graphically:
z = 28
z = 28
4 8
(14,0)
(13,2)

z = 28.7
z = 28.33
2 z = 28
6 10
(14,0.67)
(13, 2.33)
(12,4)

z = 28.6
1 z = 28.2
5
(13.8,1) 9
(12.6,3)

3
7 11
infeasible
infeasible infeasible
Ejemplo de Branch and Bound

Note:

• We found three equivalent solutions:

[4] (14, 0) z = 28
[8] (13, 2) z = 28
[10] (12, 4) z = 28

• In larger problems the potential for multiple solutions with


similar z* increases (global optimum)

• Procedure is somewhat faster when integer variables are


binary (0,1) but combinatorially explosive for very large
numbers of variables
Optimización de superestructura
• Large amount of very creative academic research
- Heat exchange networks
- Utility systems
- Reactor networks
- Separation schemes - distillation
- mass exchange networks

• Some practical difficulties with implementation


- Problem formulation (constraints, convexity, . . .)
- Lack of accurate underlying models
- Multiple similar “near-optimal” solutions

• Solution Algorithms: Outer-Approximations (OA); OA Penalty Function


(GAMS: Dicopt); Nonlinear Branch and Bound (Solver Excel); etc
Optimización en Diseño en Ingeniería
Química. Selección de reactor

Build up multiple
cells to form
Binary variable “superstructure”
determines if valve is of all possible
open or closed options
3

y
i 1
i 1

e.g., Kokossis, A. C.; Floudas, C.A., Optimization of Complex Reactor Networks –


1. Isothermal Operation, Chem. Eng. Sci., 45 (3), 595-614, 1990.
Optimización en Diseño en IQ: Selección de
proceso

Produce C from raw materials A and/or B, and the objective function is to maximize profit
(=-minimize(-profit))

Kocis, G.R., Grossmann, I.E., 1987. Relaxation Strategy for the Structural Optimization of Process Flow
Sheets. Ind. Eng. Chem. Res. https://doi.org/10.1021/ie00069a026
Ejemplo Optimización en Diseño en IQ: Datos

Mass Balances
1
1.2 1
0.9
Formulación Matemática: MINLP
3.5 1.5 7.0 1.2 1.8 11.0
. .
1 0
1.2 1 0
0.9 0
0
0
5 0
5 0
5 0
1
5
GAMS: Procsel.gms Solver: Dicopt
, , ∈ 0,1
Optimal solution: Process III
, , , , , , , 0
Optimización en Diseño en Ingeniería Química
• Optimal design of chemical processes is powerful tool for the
determination of quantitative and detailed aspects of design as well as
economic evaluation of chemical processes

• It allows get these insights on:


• What are the real constraints?
• How does the objective function really vary with process parameters (e.g., what
conditions of T, P, C cause change in metallurgy)?
• What are the design trade-offs?
• What are the major cost components of the process and what radical changes can
be made to the flowsheet to address them?

• More powerful solution algorithms for solving problems taking into account
environmental impacts, safety issues, uncertainty, etc. are continuously
developed in the PSE community

You might also like