Disjunctive Optimization Tools Dr. Aldo Vecchietti - - PDF document

disjunctive optimization tools
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

2

2

  • Discrete/Continuous Optimization

Nonlinear models 0-1 and continuous decisions

  • Optimization Models

Mixed-Integer Linear Programming (MILP) Mixed-Integer Nonlinear Programming (MINLP)

  • Alternative approaches

Logic-based: Generalized Disjunctive Programming (GDP) Constraint Programming (CP)

  • Challenges
  • How to develop “best” model?
  • How to improve relaxation?
  • How to solve nonconvex GDP problems to global optimality?
  • How to overcome computational complexity?

Motivation

PASI – 2008

slide-3
SLIDE 3

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.

Solving models with discrete decisions Mixed-Integer Linear-Nonlinear Programming Codes

PASI – 2008

slide-4
SLIDE 4

4

4

Extended Modeling Systems

Identification of specific problem structures within a

model

(Ferris et. al FOCAPO 2008 meeting)

Modeling Systems like AIMMS, AMPL, GAMS, ILOG, etc.

have language extensions to include special features

Examples:

Complementarity constraints Variational constraints Bilevel Programs Non-linear extensions Indicator constraints (ILOG) – similar to disjunctions

PASI – 2008

slide-5
SLIDE 5

5

5

Logic-based Optimization

  • Facilitate modeling of discrete/continuous optimization

problems through use symbolic expressions

  • Reduce combinatorial search effort
  • Improve handling nonlinearities

Emerging techniques Constraint Programming

Van Hentenryck (1989)

Generalized Disjunctive Programming

Raman and Grossmann (1994)

Mixed-Logic Linear Programming

Hooker and Osorio (1999) PASI – 2008

slide-6
SLIDE 6

6

6

  • http://

http://www.ceride.gov.ar/logmip www.ceride.gov.ar/logmip

PASI – 2008

slide-7
SLIDE 7

7

7

      ¬ ∨       f set constraint condition set t constraint condition

!!" !!"

  • #$%

#$% &!'() &!'()

  • !"

!" (( ((

  • #$!"

#$!" ()"#$* ()"#$* " ""!!"* "!!"* + +# # ,%& ,%& PASI – 2008

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

10

10

MODELING MIPs

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

  • r total tardiness

Constraints:

  • Each job is processed on a certain subset of the machines in a certain order
  • A machine can work on only one job at a time
  • Not all jobs can be processed in one machine

Nomenclature:

  • Index k task of processing any given job on any of its machines
  • Dk task duration
  • k = pj1,…, pjnj sequence of task of processing job j in the order they must occur
  • Qi = { qi1,…,qimi} set of task that are done on machine i. The order depends on

how are they scheduled.

  • Rj Job j release time
  • Sj Job j due time

PASI – 2008

slide-11
SLIDE 11

11

11

MODELING MIPs

A Job Shop Scheduling Problem

Given two consecutive tasks in the processing of job j:

tpj,k+1 ≥ tpj,,k + Dk the second task cannot start until the previous is done

Discrete decision: Given a pair of task k, taking place on the same machine

t ≥ tk + Dk or tk ≥ t + Dk

By using of a Big-M formulation we can transform the discrete decision into inequalities:

t ≥ tk + Dk – M(1-yk) tk ≥ t + D – Myk yk ∈{0,1}

PASI – 2008

slide-12
SLIDE 12

12

12

MODELING MIPs

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}

∀ k, ∈Qi with k < , ∀ i M is a large number making the constraint redundant PASI – 2008

slide-13
SLIDE 13

13

13

MODELING with DISJUNCTION

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

D D

l k kl k l kl

t t y t t y

yk ∈{True,False}

PASI – 2008

slide-14
SLIDE 14

14

14

Job/stage 1 2 3 A 5

  • 3

B

  • 3

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

= ∈ ≥       ≤ − ¬ ∨       ≤ + −       ≤ + − ¬ ∨       ≤ + −       ≤ + − ¬ ∨       ≤ + − + ≥ + ≥ + ≥ =

MODELING with DISJUNCTION

A Job Shop Scheduling Problem PASI – 2008

slide-15
SLIDE 15

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.

MODELING with DISJUNCTION MODELING with DISJUNCTION

Strip Packing Problem Hi Li W L ?? PASI – 2008

slide-16
SLIDE 16

16

16

y x L = ? W

(0,0) Set of small rectangles i j j i j (xi,yi) j

MODELING with DISJUNCTIONS

Strip Packing Problem

Discrete decision: Given a pair of rectangles i, j then : [ i left j ] or [ i right j ] or [ i above j ] or [ i below j ] [xi + Li ≤ xj] or [xj + Lj ≤ xi] or [ yi - Hi ≥ yi] or [ yj - Hj ≥ yi]

PASI – 2008

slide-17
SLIDE 17

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

MODELING with DISJUNCTIONS

Strip Packing Problem PASI – 2008

slide-18
SLIDE 18

18

18

[ ]

n i T i

R x b x a ∈ ≤ ∨

∈D i

y v v D i 1, y , 1 y y b

  • R

v x,

  • 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

slide-19
SLIDE 19

19

19

Linear disjunction relaxations

      ≤ + − ¬ ∨       ≤ + − 2 5

AC A C AC C A

x x Y x x Y

)) Y

  • (1
  • M(1

2 ) Y

  • M(1

5

AC AC

≤ + − ≤ + −

A C C A

x x x x

)

  • (1

)

  • (1

) Y

  • 2(1

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 )

  • M(1

2 )

  • M(1

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

slide-20
SLIDE 20

20

20

DISJUNCTION D1; D1 IS IF Y('AC') THEN ; ELSIF Y(‘CA’) ; ENDIF; DISJUNCTION D1; D1 IS IF Y('AC') THEN ; ELSE ; ENDIF;

Defining linear disjunctions in LOGMIP

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

slide-21
SLIDE 21

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 )

  • Y

M( y H y )

  • Y

M( y H y )

  • Y

M( x L x )

  • Y

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

Linear disjunction relaxations

several terms disjunctions

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

slide-22
SLIDE 22

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;

Defining linear disjunctions in LOGMIP

several terms disjunctions

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

slide-23
SLIDE 23

23

23

LINEAR DISJUNCTIVE PROGRAM

MIP Reformulation by “Big-M” or Convex hull Relaxation MILP PROGRAM B&B (OSL, CPLEX, etc)

  • #

#

, , + + PASI – 2008

slide-24
SLIDE 24

24

24

Generalized Disjunctive Programming (GDP)

( ( ( ( ) ) ) ) { { { { } } } }

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

∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ = = = = ∈ ∈ ∈ ∈                                         = = = = ≤ ≤ ≤ ≤ ∈ ∈ ∈ ∈ ≤ ≤ ≤ ≤ ∑ ∑ ∑ ∑ + + + + = = = =

∨ ∨ ∨ ∨

  • Raman and Grossmann (1994) (Extension Balas, 1979)

Objective Function Common Constraints Continuous Variables Boolean Variables Logic Propositions OR operator Disjunction Fixed Charges Constraints

Multiple Terms / Disjunctions

PASI – 2008

slide-25
SLIDE 25

25

25

Nonlinear Disjunction Relaxations

[ ]

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,

  • x

λ λ λ λ λ ≤ ≤ ∈ ≤ ≤ = ≤ ∈ =

∑ ∑

∈ ∈ i i i

v g v Non-linear disjunction Big-M relaxation Convex-Hull relaxation PASI – 2008

slide-26
SLIDE 26

26

26

( /( )) 0

jk jk jk jk

g λ ν λ ε + ≤

ε tolerance (e.g. 0.0001) should be smaller than integer

tolerance

Implementation

((1 ) )( ( /(( 1 ) ))) (0)(1 ) 0

jk jk jk jk jk jk

g g ε λ ε ν ε λ ε ε λ − + − + − − ≤

Note: rigorous Sawaya & Grossmann (2005)

Implementation of nonlinear Convex-Hull relaxation

PASI – 2008

slide-27
SLIDE 27

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

Nonlinear Disjunction Relaxations

0≤x1≤ 5 ; 0≤x2≤ 5 PASI – 2008

slide-28
SLIDE 28

28

28

Process Network with Fixed Charges

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

slide-29
SLIDE 29

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

  • ii. No continuous variable x is repeated in the second term (¬Yk)
  • f the disjunctions.

Process Network with Fixed Charges

Because of this properties Logic-Based Outer Approximation algorithm can be applied PASI – 2008

slide-30
SLIDE 30

30

30

LogMIP specifiying special two terms disjunction

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

slide-31
SLIDE 31

31

31

Logic-based OA Algorithm

Master Problem (MILP) Subproblem (NLP) Selection of Disjunctions Converge? Solution Initial Subproblems (NLP) Linearization

  • f Nonlinear

Equations Big-M form

  • f linear

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

slide-32
SLIDE 32

32

32

GDP

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

Methods Generalized Disjunctive Programming

Key: relaxation Convex-hull Big-M

Cutting plane

(Sawaya & Grossmann, 2004)

PASI – 2008

slide-33
SLIDE 33

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

slide-34
SLIDE 34

34

34

<';< $';$ <';< $';$

  • Extensions to mathematical models based on logic
  • Easier modeling techniques involving discrete decisions
  • Language sentences to pose disjunctions and

logic propositions

  • Several algorihms to choose depends on the model

show better performance

PASI – 2008