1
1
Disjunctive Optimization Tools
- Dr. Aldo Vecchietti
aldovec@santafe-conicet.gov.ar INGAR - Instituto de Desarrollo y Diseño (CONICET - UTN) UTN - Facultad Regional Santa Fe
Disjunctive Optimization Tools Dr. Aldo Vecchietti - - PDF document
Disjunctive Optimization Tools Dr. Aldo Vecchietti aldovec@santafe-conicet.gov.ar INGAR - Instituto de Desarrollo y Diseo (CONICET - UTN) UTN - Facultad Regional Santa Fe 1 1 Motivation Discrete/Continuous Optimization PASI 2008
1
1
aldovec@santafe-conicet.gov.ar INGAR - Instituto de Desarrollo y Diseño (CONICET - UTN) UTN - Facultad Regional Santa Fe
2
2
Nonlinear models 0-1 and continuous decisions
Mixed-Integer Linear Programming (MILP) Mixed-Integer Nonlinear Programming (MINLP)
Logic-based: Generalized Disjunctive Programming (GDP) Constraint Programming (CP)
PASI – 2008
3
3
NON-LINEAR Codes: SBB GAMS simple B&B MINLP-BB (AMPL)Fletcher and Leyffer (1999) Bonmin (COIN-OR) Bonami et al (2006) FilMINT Linderoth and Leyffer (2006) DICOPT (GAMS) Viswanathan and Grossman (1990) AOA (AIMSS) α−ECP Westerlund and Peterssson (1996) MINOPT Schweiger and Floudas (1998) BARON Sahinidis et al. (1998) For LINEAR many B&B and its variants: CPLEX, XPRESS, OSL, etc.
PASI – 2008
4
4
Identification of specific problem structures within a
(Ferris et. al FOCAPO 2008 meeting)
Modeling Systems like AIMMS, AMPL, GAMS, ILOG, etc.
Examples:
Complementarity constraints Variational constraints Bilevel Programs Non-linear extensions Indicator constraints (ILOG) – similar to disjunctions
PASI – 2008
5
5
Van Hentenryck (1989)
Raman and Grossmann (1994)
Hooker and Osorio (1999) PASI – 2008
6
6
PASI – 2008
7
7
!!" !!"
#$% &!'() &!'()
!" (( ((
#$!" ()"#$* ()"#$* " ""!!"* "!!"* + +# # ,%& ,%& PASI – 2008
8
8
∨ ∨ ∨ N set s constraint N condition .. 2 set s constraint 2 condition 1 set s constraint 1 condition
MTD is MTD is IF (condition IF (condition1
1) THEN
) THEN constraints set 1 (names) to be satisfied when condition constraints set 1 (names) to be satisfied when condition1
1 is True;
is True; ELSIF (condition ELSIF (condition2
2) THEN
) THEN constraints set 2 (names) to be satisfied when condition constraints set 2 (names) to be satisfied when condition2
2 is True;
is True; ELSIF (condition ELSIF (condition3
3) THEN
) THEN ... ... ELSIF ( ELSIF (condition conditionN
N) THEN
) THEN constraints set N (names) to be satisfied when constraints set N (names) to be satisfied when condition conditionn
n is True;
is True; END IF END IF
" "!"* "!"* " " PASI – 2008
9
9
'&()*)& '&()*)&
'&+++% %,&+- ,&+-% %,.* ,.* $&$ $&$ $/ $/ 1 1 1 1-
) *),+ *),+ 0/ /1 1 2343 2343% %,2353 ,2353 2363 2363 2373" 2373" 23832343 23832343% %,2353" ,2353" 2343 2343% %,2353" ,2353" 2353 2353% %,2393" ,2393" 2 2383+2343" 383+2343" 2 2363+2373" 363+2373"
%-.&
PASI – 2008
10
10
A Job Shop Scheduling Problem
John Hooker. “Logic-Based Methods for Optimization”. John Wiley & Sons, Inc. (2000)
Objective: How shops may be scheduled on machines to optimize makespan
Constraints:
Nomenclature:
how are they scheduled.
PASI – 2008
11
11
A Job Shop Scheduling Problem
Given two consecutive tasks in the processing of job j:
Discrete decision: Given a pair of task k, taking place on the same machine
By using of a Big-M formulation we can transform the discrete decision into inequalities:
PASI – 2008
12
12
A Job Shop Scheduling Problem: Formulation
∀ k, ∈Qi with k < , ∀ i M is a large number making the constraint redundant PASI – 2008
13
13
A Job Shop Scheduling Problem: Formulation minimize T subject to T ≥ tpjnj + Dpjnj , ∀j t ≥ tk + Dk – M(1-yk) tk ≥ t + D– Myk yk ∈{0,1} minimize T subject to T ≥ tpjnj + Dpjnj , ∀j
l k
l k kl k l kl
yk ∈{True,False}
PASI – 2008
14
14
Job/stage 1 2 3 A 5
B
2 C 2 4
3 2 1 , } , { , , , 5 6 1 2 5 6 T 5 T 8 T to min
AC
, , k false true Y x x x T x x Y x x Y x x Y x x Y x x Y x x Y x x x subject T Z
k C B A A B AB B A AB B C BC C B BC A C AC C A C B A
= ∈ ≥ ≤ − ¬ ∨ ≤ + − ≤ + − ¬ ∨ ≤ + − ≤ + − ¬ ∨ ≤ + − + ≥ + ≥ + ≥ =
A Job Shop Scheduling Problem PASI – 2008
15
15
Problem statement: Hifi (1998) Objective is to fit small rectangles onto strip without overlap and
rotation while minimizing length L of the strip Given:
A set of small rectangles with width Hi and length Li Large rectangular strip of fixed width W and unknown length L.
Strip Packing Problem Hi Li W L ?? PASI – 2008
16
16
(0,0) Set of small rectangles i j j i j (xi,yi) j
Strip Packing Problem
PASI – 2008
17
17
..
i i
M in lt st lt x L ≥ +
1 2 3 4
, ,
ij ij ij ij i i j j j i i i j j j i i i i
i N Y Y Y Y i j N i j x L x x L x y H y y H y x UB L ∀ ∈ ∨ ∨ ∨ ∀ ∈ < + ≤ + ≤ − ≥ − ≥ ≤ −
i i
i N H y W i N ∀ ∈ ≤ ≤ ∀ ∈
1 1 2 3 4
, , , , , , , , ,
i i ij ij ij ij
lt x y Y Y Y Y True False i j N i j
+
∈ ∈{ } ∀ ∈ < R
Objective function Minimize length Disjunctive constraints No overlap between rectangles Bounds on variables
Strip Packing Problem PASI – 2008
18
18
n i T i
R x b x a ∈ ≤ ∨
∈D i
y v v D i 1, y , 1 y y b
v x,
i up i i i D i i i i n i D i
≤ ≤ ∈ ≤ ≤ = ≤ ∈ =
∈ ∈ i T i i
v a v
} x x x | max{ M D i 1, y , 1 y ) 1 ( M b
up lo i i D i i i i
≤ ≤ − = ∈ ≤ ≤ = − + ≤
∈ i T i T
b x a y x a
i i
Big-M relaxation Convex-Hull relaxation Linear disjunction PASI – 2008
19
19
≤ + − ¬ ∨ ≤ + − 2 5
AC A C AC C A
x x Y x x Y
)) Y
2 ) Y
5
AC AC
≤ + − ≤ + −
A C C A
x x x x
)
)
) Y
5
AC 2 2 AC 1 1 AC 2 2 AC 1 1 AC 2 2 AC 1 1 2 1 2 1
Y v v Y v v Y v v Y v v v v Y v v v v x v v x
up C C up C C up A A up A A C A C A C C C A A A
≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ + − ≤ + − + = + =
Big-M Convex-Hull
≤ + − ∨ ≤ + − 2 5
AC A C CA C A
x x Y x x Y
1 )
2 )
5 = + ≤ + − ≤ + −
CA AC CA A C AC C A
Y Y Y x x Y x x
CA up C C up C C up A A up A A CA CA C A C A C C C A A A
Y v v Y v v Y v v Y v v Y Y Y v v Y v v v v x v v x 1 2 5
2 2 AC 1 1 CA 2 2 AC 1 1 AC 2 2 AC 1 1 2 1 2 1
≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ = + ≤ + − ≤ + − + = + = PASI – 2008
20
20
DISJUNCTION D1; D1 IS IF Y('AC') THEN ; ELSIF Y(‘CA’) ; ENDIF; DISJUNCTION D1; D1 IS IF Y('AC') THEN ; ELSE ; ENDIF;
5 ≤ + −
C A
x x 2 ≤ + −
A C
x x 5 ≤ + −
C A
x x
≤ + − ¬ ∨ ≤ + − 2 5
AC A C AC C A
x x Y x x Y
≤ + − ∨ ≤ + − 2 5
AC A C CA C A
x x Y x x Y
2 ≤ + −
A C
x x
PASI – 2008
21
21
1 1 1 1 1
4 3 2 1
= + ≤ − + ≤ − + ≤ + + ≤ +
ijk k ij ij i j j ij j i i ij i j j ij j i i
Y )
M( y H y )
M( y H y )
M( x L x )
M( x L x 1
4 3 4 3 3 3 2 2 2 1 1 1 4 3 4 3 2 1 2 1
= ≤ − ≤ − ≤ + ≤ + + = + = + = + =
ijk k ij i ij i j j ij i i i ij j j j ij i i i i i j j j i i i j j j
Y v Y H v v Y H v v Y L v v Y L v v v y v v y v v x v v x
4 4 4 4 4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 ij up j j ij up i i ij up j j ij up i i ij up j j ij up i i ij up j j ij up i i
Y v v Y v v Y v v Y v v Y v v Y v v Y v v Y v v ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤
Big-M Convex hull
j N, i j i y H y Y y H y Y x L x Y x L x Y
i j j ij j i i ij i j j ij j i i ij
< ∈ ∀ ≥ − ∨ ≥ − ∨ ≤ + ∨ ≤ + ,
4 3 2 1
PASI – 2008
22
22
DISJUNCTION D(I,J); D(I,J) with (ord(I) < ord(J)) is IF Y(I,J,'1') THEN ; ELSIF Y(I,J,'2') THEN ; ELSIF Y(I,J,'3') THEN ; ELSIF Y(I,J,'4') THEN ; ENDIF;
i j j
x L x ≤ + j N, i j i y H y Y y H y Y x L x Y x L x Y
i j j ij j i i ij i j j ij j i i ij
< ∈ ∀ ≥ − ∨ ≥ − ∨ ≤ + ∨ ≤ + ,
4 3 2 1 j i i
x L x ≤ +
j i i
y H y ≥ −
i j j
y H y ≥ −
PASI – 2008
23
23
LINEAR DISJUNCTIVE PROGRAM
MIP Reformulation by “Big-M” or Convex hull Relaxation MILP PROGRAM B&B (OSL, CPLEX, etc)
, , + + PASI – 2008
24
24
, ) ( ) ( ) ( min
1
false true, Y R c , R x true Y K k c x g Y J j x s.t. r x f c Z
jk k n jk k jk jk k k k
∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ = = = = ∈ ∈ ∈ ∈ = = = = ≤ ≤ ≤ ≤ ∈ ∈ ∈ ∈ ≤ ≤ ≤ ≤ ∑ ∑ ∑ ∑ + + + + = = = =
∨ ∨ ∨ ∨
Objective Function Common Constraints Continuous Variables Boolean Variables Logic Propositions OR operator Disjunction Fixed Charges Constraints
Multiple Terms / Disjunctions
PASI – 2008
25
25
[ ]
n i
R x (x) g ∈ ≤ ∨
∈D i
} x x x | ) ( max{ M 1 ; 1 ) 1 ( M ) (
up lo i D i i i i
≤ ≤ = ≤ ≤ = − ≤
∈
x g x g
i i
λ λ λ
i up i i i D i i i i n i D i
v v D i 1, , 1 )) ( / ( ) ( R v x,
λ λ λ λ λ ≤ ≤ ∈ ≤ ≤ = ≤ ∈ =
∈ ∈ i i i
v g v Non-linear disjunction Big-M relaxation Convex-Hull relaxation PASI – 2008
26
26
tolerance
Implementation
jk jk jk jk jk jk
Note: rigorous Sawaya & Grossmann (2005)
PASI – 2008
27
27
[ (x1-1)2+(x2-1)2≤ 1 ] ∨ [ (x1-4)2+(x2-2)2≤ 1 ] ∨ [ (x1-2)2+(x2-4)2≤ 1 ]
X2 X1 1 2 3 4 1 2 3 4
(x1-1)2 + (x2-1)2 ≤ 1 + 31(1-λ1) (x1-4)2 + (x2-2)2 ≤ 1 + 24(1-λ 2) (x1-2)2 + (x2-4)2 ≤ 1 + 24(1- λ3) ∑j λj =1 j=1,2,3 ; λj ∈{0, 1} x1= v11 + v12 + v13 x2= v21 + v22 + v23 (λ1+ε)[(v11/(λ1+ε)-1)2+ ( v21/(λ1+ε) -1)2 – 1] ≤ 0 (λ2+ε)[(v12/(λ2+ε)-4)2+ ( v22/(λ2+ε) -2)2 – 1]≤ 0 (λ3+ε)[(v13/(λ3+ε)-2)2+ ( v23/(λ3+ε) -1)2 – 1]≤ 0 ∑j λj =1 j=1,2,3 vij=5λj ∀i,∀j, i=1,2; j=1,2,3; λj ∈{0, 1} Big-M Convex hull
0≤x1≤ 5 ; 0≤x2≤ 5 PASI – 2008
28
28
Türkay and Grossmann (1997)
Superstructure of the process
1 2 6 7 4 3 5 8 x1 x4 x6 x21 x19 x13 x14 x11 x7 x8 x12 x15 x9 x16 x17 x25 x18 x10 x20 x23 x22 x24 x5 x3 x2 A B : Unit j Y1 ∨ ∨ ∨ ∨ Y2 Y6 ∨ ∨ ∨ ∨ Y7 Y4 ∨ ∨ ∨ ∨ Y5 C D F E Yi ∨ ∨ ∨ ∨ Yj Specifications PASI – 2008
29
29
K , k D i c x B Y c ) x ( h Y
k k ik k k k ik k
∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ = = = = = = = = ¬ ¬ ¬ ¬ ∨ ∨ ∨ ∨ γ γ γ γ = = = = = = = =
Disjunctions have the following form The following properties apply to the disjunctions of this problem i. In the second term of the disjunctions a subset of the continuous variables x are zero
Because of this properties Logic-Based Outer Approximation algorithm can be applied PASI – 2008
30
30
disjunction d1, d2; d1 is if Y('1') then EXP(X('3')) -1. =E= X('2'); CF('1') =E= 5 ; else X('2') =E= 0 ; X('3') =E= 0 ; endif; d2 is if Y('2') then EXP(X('5')/1.2) -1. =E= X('4'); CF('2') =E= 8 ; else X('4') =E= 0 ; X('5') =E= 0 ; endif;
1 2 x4 x2 Y1 ∨ ∨ ∨ ∨ Y2 x5 x3 Propositional logic PASI – 2008
31
31
Master Problem (MILP) Subproblem (NLP) Selection of Disjunctions Converge? Solution Initial Subproblems (NLP) Linearization
Equations Big-M form
disjunctions Pre- Processing
MILP form of Disjunctive equations Continuous variables for Initialization Discrete variables Selected Equations
YES NO Initialization
OA Algorithm Data flow Algorithm cycle
Implemented in LogMIP Turkay, Grossmann (1996) PASI – 2008
32
32
Logic based methods Branch and bound
(Lee & Grossmann, 2000)
Decomposition
Outer-Approximation Generalized Benders
(Turkay & Grossmann, 1997)
Reformulation MINLP
Outer-Approximation Generalized Benders Extended Cutting Plane
Key: relaxation Convex-hull Big-M
Cutting plane
(Sawaya & Grossmann, 2004)
PASI – 2008
33
33
Special two terms disjunction Logic Based OA
MINLP PROGRAM MINLP Reformulation by “Big-M” or Convex hull Relaxation
B&B (SBB) OA (DICOPT++)
NONLINEAR DISJUNCTIVE PROGRAM
( ( (/(0#()! (/(0#()! " )() ! " )() ! #(()!(" #(()!(" 1(!2 1(!2 , , PASI – 2008
34
34
PASI – 2008