Iteger Liear Programmig
Itroductio Iteger L P problem (P) Mi = s. t. a = b i =,, m = i i 0, iteger =,, c Eemple Mi z = 5 s. t. + 0 0, 0, iteger F(P) = feasible domai of P
Itroductio Iteger L P problem Mi (P) = s. t. a = b i =,, m = i i 0, iteger =,, c Eemple Mi z = 5 = s. t. + 0 0, 0, iteger + 0 = 0 F(P) = feasible domai of P {( ) ( ) ( ) ( ) ( ) ( ) ( )} F( P ) = 0,0,,0,,0, 0,,,,,, 0,
Itroductio Iteger L P problem ( ) (P) P Mi = s. t. a = b i =,, m = 0, iteger =,, c i i Eemple Mi z = 5 s.t. + 0 0, 0,iteger = + 0 = 0 F(P) = feasible domai of P ( ) P deote the relaatio of (P) where the itegrality costraits are relaed
Itroductio Iteger L P problem ( P) Mi = s. t. a = b i =,, m = 0, iteger =,, c F(P) = feasible domai of P i i Eemple Mi z = 5 s.t. + 0 0 F( P), 0,etiers = + 0 = 0 ( ) P deote the relatio of (P) where the itegrality costraits are relaed
Itroductio Iteger L P problem (P) Mi = s. t. a = b i =,, m = 0, iteger =,, c How to solve the problem? Why dot we solve the relaed problem, ad take the rouded solutio? i i Eemple Mi z = 5 Solutio of the relaed problem: (, 9/5) et z = s.t. + 0 0 F( P), 0,etiers = + 0 = 0 Rouded solutio: (, ) et z = 7 But (0, ) is feasible with z = 0
Solutio methods Foudametal priciple Geerate a set of liear costraits to be added to (P) Eemple Mi Suet à z = + 0, 5 = 0 0, etiers F( P) + 0 = 0 + = 4
Solutio methods Foudametal priciple Geerate a set of liear costraits to be added to (P) i order to geerate a ew problem (PR) such that ( ) F ( P) F PR ( ) = F ( P) F PR Furthermore, whe solvig the problem PR, the variables take iteger values, ad hece it is optimal for (P). Eemple Mi z = 5 F( P) s.t. + 0 0 + 4, 0,iteger = + 0 = 0 + = 4
Cuttig plae algorithm Geeral statemet of the cuttig plae algorithm Itroduce ew liear costraits to the problem i order to reduce the feasible domai of the relaed problem but keep all the feasible poits of the problem. I this procedure, we solve a sequece of relaed problems util a iteger optimal solutio is reached Ay problem of the sequece is obtaied by addig a additioal liear costrait (a cut) to the curret problem.
Cosider the followig iteger liear programmig problem: ( P) Mi = s. t. a = b i =,, m = i i 0,iteger, =,, c How to geerate a Gomory cut. Let B be a optimal basis of ( P), ad let be the basic th variable i the i row of the optimal tableau that is ot iteger. k
The optimal tableau is as follows: basic r.h.s var. t t 0 t 0 t 0 b t t 0 t 0 t 0 b k i i i i i m m m z t t k 0 m 0 t t 0 b m m m z c c 0 0 c 0 c z The correspodig row of the tableau is as follows: where J = + t = b k i J ad bi is ot iteger. i ( ) { : is a ide of a o basic variable }
The correspodig row of the tableau is as follows: where J = + t = b k i J ad cosequetly k + ti k + ti = bi. () J i J ( ) { : is a ide of a o basic variable } ad bi is ot iteger. Let d = the largest iteger (floor value) d. Sice 0, the t t J i i J
The coorespodig row of the tableau is as follows: where J = + t = b k i J i ( ) { : is a ide of a o basic variable } ad bi is ot iteger. Let d = the largest iteger (floor value) d. Sice 0, the t t J i i J ad cosequetly k + ti k + ti = bi. () J J If we accout for the fact that the variables must take iteger values, it follows from () that k + ti bi. (3) J Hece all solutios of ( P) satisfy (3). Now cosider the relatio obtaied by substractig () from (3): Note that J ( ti ti ) ( b i bi ) ( 4) ( ti t ) ( i b i bi ) 0 et < 0 Sice ay solutio of ( P) satisfies () ad (3), the it also satifies (4), ad we ca itroduce this costrait i ( P) without elimiatig ay solutio of ( P).
Now cosider the relatio obtaied by substractig () from (3): Note that J ( t ) ( ) i ti b bi ( 4) i ( t ) ( ) i t i b bi 0 et i < 0 Sice ay solutio of ( P) satisfies () ad (3), the it also satifies (4), ad we ca itroduce this costrait i ( P) without elimiatig ay solutio of ( P). But the curret optimal solutio of the relaed problem ( P) where = 0 J does ot satisfies costrait (4), ad thus itroducig (4) reduces the size of the feasible domai of the relaed problem ( P).
To cotiue the solutio process, we itroduce the costrait J ( t ) ( ) ( ) ( ) i ti b bi ti ti + τ = b bi i i where is a slack variable havig a cost equal to 0, i the last simple τ tableau to geerate a basic solutio for the ew problem by lookig at τ J as the basic variable i the ew row of the tableau.
basic r.h.s. var. t t 0 t 0 t 0 0 b t t 0 t 0 t 0 0 b k i i i i i m z t t m k m 0 0 t t 0 0 b m m m m τ ti ti ti ti 0 0 ti ti 0 ti ti 0 b i b z c c 0 0 c 0 c 0 z τ i i J τ ( t ) ( ) i ti + τ = b bi i the last row basic variable i the last row
To cotiue the solutio process, we itroduce the costrait J ( t ) ( ) ( ) ( ) i ti b bi ti ti + τ = b bi i i where is a slack variable havig a cost equal to 0, i the last simple τ tableau to geerate a basic solutio for the ew problem by lookig at as the basic variable i the ew row of the tableau. J τ ( b b ) τ i This basic solutio is ot feasible sice = i < 0. The we cotiue the solutio process usig the dual simple method.
basic r.h.s. var. t t 0 t 0 t 0 0 b t t 0 t 0 t 0 0 b k i i i i i m z t t m k m 0 0 t t 0 0 b m m m m τ ti ti ti ti 0 0 ti ti 0 ti ti 0 b i b z c c 0 0 c 0 c 0 z τ i < 0
To cotiue the solutio process, we itroduce the costrait J ( t ) ( ) ( ) ( ) i ti b bi ti ti + τ = b bi i J i where is a slack variable havig a cost equal to 0, i the last simple τ tableau to geerate a basic solutio for the ew problem by lookig at τ as the basic variable i the ew row of the tableau. This basic solutio is ot feasible sice ( ) τ = b i i b < 0. The we cotiue the solutio process usig the dual simple method. Remarks: ) If (i.e., is iteger), et si i ti = ti ti J b is ot iteger, the + t = b k i J idicates that ( P) is ot feasible sice the left had side take a iteger value for all feasible solutio of ( ) while the right had elemet is ot iteger. ) The same process is applied at each iteratio. i ( ) P bi
Cosider the followig eemple Mi s.t. 7 + 4 + = 3 3,, 0, iteger 3
Iteratio : Basic solutio of ( P) 4 3 + + 3 = 7 7 7 optimal value = 39 Mi s.t. 7 + 4 + 3 = 3,, 0, iteger 3 New costrait: 4 4 3 3 3 4 7 7 + + = 7 7 7 7
Iteratio : Basic solutio of ( P) 4 3 + + 3 = 7 7 7 optimal value = 39 J ( ti ti ) ( b i b ) ( ) ( ) i ti ti + τ = b i bi J 3 Mi s.t. 7 + 4 + 3 = 3,, 0, iteger New costrait: 4 4 3 3 3 4 7 7 + + = 7 7 7 7 Graphic iterpretatio: 4 6 3 4 3 6. 7 7 7 But = 3 7 4. The 3 4 3 + 7 + 4 6
Iteratio : Solve the relaed problem Mi s.t. 7 + 4 + = 3 3 4 6 3 + 4 = 7 7 7,,, 0, iteger 3 4 The result: + = 4 7 3 + 3 4 = 4 4 optimal value = 37 39 optimal value i former iteratio
d 7 3 New costrait specified from the row + 3 4 = : 4 4 7 7 3 3 3 + + 4 + 5 = 4 4 4 4 J 3 4 + 5 = τ J 4 4 Mi Graphic iterpretatio 3 4 Replace 4 by its value obtaied 3 4 from the last costrait added 4 6 3 + 4 =, 7 7 7 to obtai 4 6 3 3 +. 7 7 7 replace 3 3 = 3 7 4 to obtai 8 3 4 6 3 + 8 + + 7 7 7 7 8 8 6 + 4 + 3 + 3 7 7 ( ti ti ) ( b i bi ) ( ti ti ) + = ( b i bi ) Suet à 7 + 4 + 3 = 3 4 6 3 + 4 = 7 7 7,,, 0, etiers
Iteratio 3: Solve the problem Mi We obtai + = 3 5 + + = 3 s.t. + = 4 5 4 7 3 + 3 4 = 4 4 3 4 + 5 = 4 4,,,, 0, iteger 3 4 5 + = The the optimal solutio is iteger: = 0, = 3, = 3 optimal value = 33 37 optimal value i former iteratio -39 optimal value i the first iteratio
Covergece of Gomory cuttig plae algorithm Referece: A. Schriver, Theory of Liear ad Iteger Programmig, Wiley & Sos, 986, 354-357 Uder some assumptios for selectig the row of the tableau to specify the et cut, this author shows that: "... the cuttig plae method termiates"
Solutio methods Foudametal priciple Geerate a set of liear costraits to be added to (P) i order to geerate a ew problem (PR) such that ( ) F ( P) F PR ( ) = F ( P) F PR Furthermore, whe solvig the problem PR, the variables take iteger values, ad hece it is optimal for (P). Eemple Mi z = 5 F( P) s.t. + 0 0 + 4, 0,iteger = + 0 = 0 + = 4
Brach & Boud method
Mi = ( P) s.t. a = b i =,, m = i i 0, iteger =,, c Brach & Boud method Mi = ( P) s.t. a = b i =,, m = i i 0, =,, c Here also we solve a sequece of relaed problems. ( ) First we solve P. If the optimal solutio is iteger, the this solutio is optimal for the origial problem (P). Otherwise we use a variable which is ot i havig value i iteger. Cosider two ew costraits ad i i (floor of i ) i i (ceelig of i )
+ 0 = 45 Mi z = 5 s.t. + 6 66 + 0 45, 0, iteger opt. sol. of the relaed problem: = 3.75, = 4.5 z = 4.375 + 6 = 66
Slice of + 0 = 45 elimiated Mi z = 5 s.t. + 6 66 ( ) F P + 0 45, 0, iteger Opt. sol. of the relaed problem: = 3.75, = 4.5 z = 4.375 + 6 = 66 New costraits to cosider: ad 3.75 = 3 3.75 = 4 With these two ew costraits - feasible poit of ( P) are maitaied - a slice of the feasible domai of the relaed problem is elimiated.
+ 0 = 45 Mi z = 5 s.t. + 6 66 + 0 45, 0, iteger F( P3 ) F( P ) Opt. sol. of the relaed problem: = 3.75, = 4.5 z = 4.375 ( ) 3 ( ) Slice of F P elimiated + 6 = 66 New costraits to cosider: ( ) F ( P ) But what is left of F P is ot coected sice two subsets ad F P are left, ad their itersectio is empty. ad 3.75 = 3 3.75 = 4
+ 0 = 45 ( P ) ( P3 ) ( P) The best optimal solutio of ad is the optimal solutio of. Mi z = 5 s.t. + 6 66 + 0 45, 0, iteger F( P3 ) F( P ) New costraits to cosider: ad 3.75 = 3 3.75 = 4 ( ) P Mi z = 5 ( P ) ( ) 3 s.t. + 6 F 66P 3 + 0 45 4, 0, iteger ( ) + 6 = 66 ( P ) F ( P ) Cotiue the process by defiig the problem associated with ad associated with. 3 Mi = 5 P z s.t. + 6 66 + 0 45 3, 0, iteger
Net iteratio Select oe of the two problems (P ) or (P 3 ) Solve this selected problem as we did for (P). I our eemple, we select the problem (P 3 )
+ 0 = 45 F( P3 ) F( P ) ( ) P Mi z = 5 3 s.t. + 6 66 + 0 45 3, 0, iteger ( P3) Opt. sol. of the relaed prob. : = 3, = 4. z = 4 + 6 = 66 ( 3 ) Slice of F P elimiated New costraits to cosidered: ad 4. = 4 4. = 5
+ 0 = 45 F ( P5 ) F( P ) ( ) P Mi z = 5 3 s.t. + 6 66 + 0 45 3, 0, iteger New costraits to cosidered: ad 4. = 4 4. = 5 ( ) P4 Mi z = 5 s.t. + 6 66 + 0 45 3 5, 0, iteger + 6 = ( ) 66 P Mi z = 5 5 s.t. + 6 66 + 0 45 3 4, 0, iteger
Net iteratio Select a problem i the set { P, P4, P5 } which have ot bee solved yet. Solve this selected problem as we did for (P). I our eemple, we select the problem (P 5 )
+ 0 = 45 ( ) P Mi z = 5 5 s.t. + 6 66 + 0 45 3 4, 0, iteger F( P 5 ) F( P ) ( P5 ) Opt. sol. of the relaed problem : = 3, = 4 z = 3 + 6 = 66 Sice the optimal solutio of the relaed sub problem is iteger, the it is a feasible solutio of (P). Do ot geerate ew sub problems sice we have idetified the best feasible solutio i this part of the feasible domai of (P). Durig this solutio process, we keep the best feasible iteger solutio foud so far, ad its value becomes a upper boud BS for the optimal value of (P).
Net iteratio Select a problem i the set { P, P4 } which have ot bee solved yet. Solve this selected problem as we did for (P). I our eemple, we select the problem (P 4 )
+ 0 = 45 F( P ) ( ) P Mi z = 5 4 s.t. + 6 66 ( P4 ) F ( P 4 ) + 0 45 3 5, 0, iteger Problem is ot feasible = Φ + 6 = 66 Stop lookig for feasible solutios i the part sice it is empty.
Net iteratio { } Select a problem i the set which has ot bee solved yet. Solve this selected problem as we did for (P). P The we select the problem (P )
+ 0 = 45 ( ) P Mi z = 5 s.t. + 6 66 + 0 45 4, 0, iteger ( P ) F ( P ) Opt. sol. of the relaed problem : + 6 = 4, = 3.667 = z =.333 66 The optimal solutio of the relaed problem is ot iteger but its value z =.333 > BS = 3 Stop lookig for a iteger solutio i the part of the feasible domai of (P) sice it is ot possible to fid oe havig a value smaller tha the BS = 3.
The procedure stops whe all the relaed problems have bee solved. The iteger solutio havig its value equal to BS is a optimal solutio of (P).
Summary of the Brach & Boud approach Iterative approach. At each iteratio, - a list of cadidate problems is available to be solved. Whe the procedure starts, the list icludes oly the problem (P) - a cadidate problem is selected, ad the correpodig relaed problem is solved - the optimal solutio of the relaed problem allows to update the list of cadidate problems or the upper boud ad the best iteger solutio foud so far.
The Brach & Boud method Iitialisatio The list of cadidate problem icludes oly the problem (P) BS = Go to Step. Étape Si la liste est vide, termier. La solutio optimale est celle associée à BS, a mois que BS = das lequel cas le problème P as pas de solutio. Step Select the first cadidate problem (PC) o the top of the list.
i Step If the list is empty, stop. The optimal solutio is the oe associated with BS, uless BS =,ad i this case the problem has o solutio. i i Step Select the first cadidate problem ( PC) o the top of the Step 3 ( ) ( ) ( PC) ( PC) To aalyse, solve the relaed problem. If F PC = Φ, go to Step. If v PC BS, go to Step. If the optimal solutio of ( PC) is iteger, the ( ) < = ( ) if v PC BS, the BS : v PC, go to Step. list.
i Step 3 ( ) ( ) ( PC) ( PC) To aalyse, solve the relaed problem. If F PC = Φ, go to Step. If v PC BS, go to Step. If the optimal solutio i Step 4 of ( PC) is iteger, the ( ) < = ( ) if v PC BS, the BS : v PC, go to Step. Select a variable which is ot iteger. Geerate a first ew problem by icludig the costrait ( ) to the problem PC ad place it o the top of the list. Geerate a secod ew problem by icludig the costrait ( ) to the problem PC Go to Step., ad place it o the top of the list.
i Step If the list is empty, stop. The optimal solutio is the oe associated with BS, uless BS =,ad i this case the problem has o solutio. i i Step Select the first cadidate problem (PC) o the top of the Step 3 ( ) ( ) ( PC) ( PC) To aalyse, solve the relae problem. If F PC = Φ, go to Step. If v PC BS, go to Step. If the optimal solutio of ( PC) is iteger, the ( ) < = ( ) if v PC BS, the BS : v PC, go to Step. list.
Cadidate problem P (( ) P 5 ( P 43 ) ( P ) Eumeratio tree of the Brach & Boud ( P) = 3.75 4 3 ( P ) ( P3 ) ( ) P (( P ) Mi Mi ) Mi Mi z = z z z= 5 5 s.t. s.t. s.t. 6 66 66 0 0 45 45 54 3 s.t. 6 66 + 0 + 45, 0, 3 4,, 0, 0, 54, 0, = 4. No it. sol. z =.333 > BS 5 4 ( P 4 ) ( P5 ) Ifeasible solutio Optimal solutio It. sol. BS = 3
How to search i the tree (how to select the et cadidate problem) a) Depth first search (select the last geerated cadidate problem) : deced rapidly i the tree i order to reach as soo as possible a feasible iteger solutio b) Search usig the best ode ( usig the best cadidate problem): require to complete some iteratios to solve the cadidate problem at each ode i order to idetify the ode havig the best potetiel to improve the upper boud
( ) Selectio of the separatig variable, The variable such that a) is the largest b) is the smallest c) is closer to 0.5
Solvig the relaed cadidate problem usig the dual simple method The optimal solutio of the curret relaatio of the cadidate problem (at the curret ode) is ot feasible for the relaed problem obtaied by addig a costrait of the type ou. The we ca use the dual simple method to solve the relaed cadidate problem usig the optimal solutio of the curret problem to geerate the iitial basic solutio.
Referece. A. Atamturk, M.W.P. Savelsbergh, "Iteger-Programmig Software Systems", Aals of Operatios Research 40, 67-4, 005.