EGÉSZÉRTÉKŰ PROGRAMOZÁS Modellezés A szétválasztás és korlátozás módszere 2017.04.04. Varró Zoltán
Modellezés A változók (vagy egy részük) csak nemnegatív egész értékeket vehetnek fel. A bináris változók lehetséges értékei 0 vagy 1. Az LP modell optimális megoldását kerekítve gyakran nem lehetséges megoldást kapunk, a kapott lehetséges megoldás nem optimális. 2017.04.04. Varró Zoltán
Fix költségek modellezése Ha xi > 0, akkor si fix költség lép fel. Feltételek: xi Miyi yi = 0 vagy 1 ahol Mi az xi változó egy felső korlátja. Célfüggvény: max z = c1x1 + . . . + cnxn – siyi min z = c1x1 + . . . + cnxn + siyi 2017.04.04. Varró Zoltán
Telepítési probléma Szállítási feladat: min z = c11x11 + c12x12 + . . . + cmnxmn x11 + . . . + x1n ≤ s1 x11 + . . . + xm1 ≥ d1 . . . . . . xm1 + . . . + xmn ≤ sm x1n + . . . + xmn ≥ dn xij ≥ 0 (i = 1, . . . , m; j = 1, . . . , n). 2017.04.04. Varró Zoltán
Telepítési probléma min z = c11x11 + c12x12 + . . . + cmnxmn + + f1y1 + . . . + fmym x11 + . . . + x1n ≤ s1y1 x11 + . . . + xm1 ≥ d1 . . . . . . xm1 + . . . + xmn ≤ sm ym x1n + . . . + xmn ≥ dn xij ≥ 0 (i = 1, . . . , m; j = 1, . . . , n). yi = 0 vagy 1 (i = 1, . . . , m). Ha xij > 0, akkor yi = 1. 2017.04.04. Varró Zoltán
„Vagy - vagy” feltétel Két feltétel közül legalább egyik teljesüljön: a1x b1 a2x b2 Feltételek: a1x b1 + My a2x b2 + M(1 − y) ahol M az a1x és a2x függvények közös felső korlátja. 2017.04.04. Varró Zoltán
„Vagy - vagy” feltétel Vagy x = 0 vagy x d teljesüljön. Feltételek: x My x dy x 0, y = 0 vagy 1 ahol M az x egy felső korlátja. 2017.04.04. Varró Zoltán
„Ha – akkor” feltétel Ha a1x > b1, akkor a2x b2 teljesüljön. A feltételrendszer: a1x b1 + My a2x b2 − M(1 − y), ahol M az a1x és a2x függvények közös felső korlátja és y = 0 vagy 1. 2017.04.04. Varró Zoltán
„Ha – akkor” feltétel Ha xi > 0, akkor xj d teljesüljön. A feltételrendszer: xi M y xj d − M(1 − y) xi, xj 0, y = 0 vagy 1 ahol M d az xi egy felső korlátja. 2017.04.04. Varró Zoltán
EP feladatok megoldása Egy EP feladat LP lazítását úgy kapjuk, hogy nem követelünk meg egészértékűséget a változóktól. Ha az LP lazítás optimális megoldása egész, akkor megkaptuk az egészértékű feladat optimális megoldását. 2017.04.04. Varró Zoltán
EP feladatok megoldása Az LP lazítás optimális célfüggvényértéke legalább olyan jó, mint az EP feladaté. Ha az LP lazításnak nincs megengedett megoldása, akkor az EP-nek sincs. Lehetséges, hogy az EP megoldás-halmaza üres, az LP lazításé viszont nem korlátos. 2017.04.04. Varró Zoltán
EP feladatok megoldása A célfüggvény nem korlátos x2 10x1 – 10x2 ≥ 3 5x1 – 5x2 ≤ 4 max z = x1 + x2 x1 2017.04.04. Varró Zoltán
Az SZK módszer A szétválasztás arra utal, hogy az EP feladatot részfeladatokra bontjuk. A részfeladatok célfüggvénye azonos az EP feladatéval, lehetséges megoldásainak halmaza részhalmaza az EP feladaténak. 2017.04.04. Varró Zoltán
Az SZK módszer A korlátozás azt jelenti, a részfeladatok optimális célfüggvényértékére az LP lazítás megoldásával korlátot határozunk meg. A korlát alapján döntjük el, hogy érdemes-e egy részfeladatot felbontani. 2017.04.04. Varró Zoltán
Az SZK módszer Ha az LP lazítás optimális megoldásában az xj változó optimális értéke xj , akkor két részfeladatot képezünk az alábbi feltételek csatolásával: 1. részfeladat: xj xj 2. részfeladat: xj xj + 1. Célszerű azt a tört értékű változót választani, amelynek törtrésze a legnagyobb. 2017.04.04. Varró Zoltán
Az SZK módszer A legjobb korlát stratégiával azt a rész-feladatot bontjuk fel, amelynek korlátja a legjobb megoldást ígéri. A kapott részfeladatok LP lazítását azonnal megoldjuk, azaz két ágat képezünk. 2017.04.04. Varró Zoltán
Az SZK módszer A LIFO (last in first out) stratégiával a legutolsó két részfeladat egyikét bontjuk fel. A kapott részfeladatok egyikének LP lazítását oldjuk meg azonnal, azaz csak egy ágat képezünk. A másikat később vizsgáljuk. 2017.04.04. Varró Zoltán
Az SZK módszer Egy részfeladatot lezárunk, ha az LP lazítás: lehetséges megoldásainak halmaza üres. optimális megoldása egészértékű. optimális célfüggvényértékének egészrésze nem jobb az addig talált legjobb egészértékű megoldás célfüggvényértékénél. 2017.04.04. Varró Zoltán
Az SZK módszer EP feladat: max z = 2x1 + 3x2 − 2x1 + 5x2 10 4x1 + 3x2 24 x1, x2 0, egész LP lazítása: max z = 2x1 + 3x2 x1, x2 0 2017.04.04. Varró Zoltán
Legjobb korlát stratégia Az LP lazítás optimális megoldása: x1 = 3,46 x2 = 3,38 −2x1 + 5x2 ≤ 10 4x1 + 3x2 ≤ 24 Az EP megoldásai. max z = 2x1 + 3x2 2017.04.04. Varró Zoltán
Legjobb korlát stratégia x1 ≥ 4 x1 ≤ 3 2017.04.04. Varró Zoltán
Legjobb korlát stratégia z = 15,6 z = 16 > 15,6 Ezt a részfeladatot bontjuk fel. 2017.04.04. Varró Zoltán
Legjobb korlát stratégia x1 ≥ 4 x2 ≥ 3 L = z = 15,6 x1 ≥ 4 x2 ≤ 2 z = 15 2017.04.04. Varró Zoltán
Legjobb korlát stratégia x1 ≤ 3 x2 ≥ 4 L = x1 ≤ 3 x2 ≤ 3 2017.04.04. Varró Zoltán
Legjobb korlát stratégia Az EP optimális megoldása: x1 = 3, x2 = 3 és z = 15 z = 15 Nem érdemes felbontani. 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 3,46 ; 3,38 z = 17,06 x1 ≤ 3 x1 ≥ 4 3 ; 3,2 z = 15,6 4 ; 2,67 z = 16 max z = 2x1 + 3x2 − 2x1 + 5x2 ≤ 10 4x1 + 3x2 ≤ 24 x1 ≤ 3 x1, x2 ≥ 0 max z = 2x1 + 3x2 − 2x1 + 5x2 ≤ 10 4x1 + 3x2 ≤ 24 x1 ≥ 4 x1, x2 ≥ 0 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 3,46 ; 3,38 z = 17,06 x1 ≤ 3 x1 ≥ 4 3 ; 3,2 z = 15,6 4 ; 2,67 z = 16 Az LP lazítás optimális megoldásában az a változó, amelyre korlátot szabtunk, a korlát értékét veszi fel. 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 3,46 ; 3,38 z = 17,06 x1 ≤ 3 x1 ≥ 4 3 ; 3,2 z = 15,6 4 ; 2,67 z = 16 x2 ≤ 2 x2 ≥ 3 4,5 ; 2 z = 15 L = 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 3,46 ; 3,38 z = 17,06 x1 ≤ 3 x1 ≥ 4 3 ; 3,2 z = 15,6 4 ; 2,67 z = 16 x2 ≤ 3 x2 ≥ 4 x2 ≤ 2 x2 ≥ 3 3 ; 3 z = 15 L = 4,5 ; 2 z = 15 L = 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 3.46 ; 3.38 z = 17.06 1 2 3 ; 3.2 z = 15.6 4 ; 2.67 z = 16 5 6 3 4 3 ; 3 z = 15 L = 4.5 ; 2 z = 15 L = 2017.04.04. Varró Zoltán
LIFO stratégia 3,46 ; 3,38 z = 17,06 x1 3 3 ; 3,2 z = 15,6 2017.04.04. Varró Zoltán
LIFO stratégia max z = 2x1 + 3x2 − 2x1 + 5x2 ≤ 10 4x1 + 3x2 ≤ 24 3 ; 3,2 z = 15,6 x2 3 3 ; 3 z = 15 2017.04.04. Varró Zoltán
LIFO stratégia max z = 2x1 + 3x2 − 2x1 + 5x2 ≤ 10 4x1 + 3x2 ≤ 24 3 ; 3,2 z = 15,6 x1 3 x2 4 3 ; 3 z = 15 L = 2017.04.04. Varró Zoltán
LIFO stratégia 3,46 ; 3,38 z = 17,06 x1 3 x1 4 3 ; 3,2 4 ; 2,67 z = 16 x2 4 L = 2017.04.04. Varró Zoltán
LIFO stratégia 3,46 ; 3,38 z = 17,06 x1 4 4 ; 2,67 z = 16 x2 2 4,5 ; 2 z = 15 L = 2017.04.04. Varró Zoltán
LIFO stratégia 3.46 ; 3.38 z = 17.06 1 4 3 ; 3.2 z = 15,6 4 ; 2.67 z = 16 2 3 5 6 3 ; 3 z = 15 L = 4.5 ; 2 z = 15 L = 2017.04.04. Varró Zoltán
Bináris hátizsák feladat max z = c1x1 + c2x2 + . . . + cnxn (cj > 0) a1x1 + a2x2 + . . . + anxn b (aj > 0) x1, x2, . . . , xn = 0 vagy 1 2017.04.04. Varró Zoltán
Az LP lazítás megoldása max z = c1x1 + c2x2 + . . . + cnxn (cj > 0) a1x1 + a2x2 + . . . + anxn b (aj > 0) x1, x2, . . . , xn = 0 vagy 1 Rendezzük a tárgyakat csökkenő ci /ai hányadosok szerint. A fenti sorrendben tegyük a tárgyakat a hátizsákba. Ha egy tárgy nem fér bele, akkor vegyük akkora tört részét, hogy a hátizsák pontosan tele legyen. 2017.04.04. Varró Zoltán
Az LP lazítás megoldása Rendezzük a változókat: Keressük meg azt az indexet, amelyre , de Az optimális megoldás: 2017.04.04. Varró Zoltán
A hátizsák feladat megoldása Az LP lazítás optimális megoldásában csak egy változó értéke tört. A tört értékű változó 0 és 1 értékű rögzítésével két részfeladatot képezünk. Mind a legjobb korlát, mind a LIFO stratégia alkalmazható. 2017.04.04. Varró Zoltán
Legjobb korlát stratégia max 60x1 + 60x2 + 40x3 + 10x4 + 20x5 + 10x6 + 3x7 30x1 + 50x2 + 40x3 + 10x4 + 40x5 + 30x6 + 10x7 100 xi = 0 vagy 1 (i = 1, 2, . . . , 7) A változók már csökkenő ci /ai szerint rendezettek. Az LP lazítás optimális megoldása: x = 1, 1, ½, 0, 0, 0, 0 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 140 x3 = 1 x3 = 0 135 136 1 2 1, 1, 0, 1, 1/4, 0, 0 1, 3/5, 1, 0, 0, 0, 0 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 140 x3 = 1 x3 = 0 135 136 1 2 1, 1, 0, 1, 1/4, 0, 0 x2 = 0 x2 = 1 120 120 3 4 1, 0, 1, 1, 1/2, 0, 0 1/3, 1, 1, 0, 0, 0, 0 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 140 x3 = 1 x3 = 0 135 136 1 2 x5 = 1 x5 = 0 x2 = 0 x2 = 1 120 116 133,33 120 5 6 3 4 1, 1, 0, 1, 0, 1/3, 0 1, 3/5, 0, 0, 1, 0, 0 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 140 x3 = 1 x3 = 0 135 136 1 2 x5 = 1 x5 = 0 x2 = 0 x2 = 1 120 116 133,33 120 5 6 3 4 x6 = 0 x6 = 1 1, 1, 0, 1, 0, 0, 1 Ez az első egészértékű megoldás. Az ágat lezárjuk. 133 7 8 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 140 x3 = 1 x3 = 0 135 136 1 2 x5 = 1 x5 = 0 x2 = 0 x2 = 1 120 116 133,33 120 5 6 3 4 x6 = 0 x6 = 1 1, 1, 0, 1, 0, 0, 1 Ez az első egészértékű megoldás. 133 118 7 8 1, 4/5, 0, 0, 1, 0, 0 2017.04.04. Varró Zoltán
Legjobb korlát stratégia 140 x3 = 1 x3 = 0 135 136 1 2 x5 = 1 x5 = 0 x2 = 0 x2 = 1 120 116 133,33 120 5 6 3 4 x6 = 0 x6 = 1 1, 1, 0, 1, 0, 0, 1 Egyik ágon sem kaphatunk jobb megoldást, ezért mind lezárható. 133 118 7 8 2017.04.04. Varró Zoltán
LIFO stratégia 140 Először mindig a bal oldali ágat vizsgáljuk. x3 = 0 135 1 1, 1, 0, 1, 1/4, 0, 0 x5 = 0 133,33 2 1, 1, 0, 1, 0, 1/3, 0 x6 = 0 Egészértékű megoldást kaptunk, ezért lezárjuk az ágat és ágat cserélünk. 133 3 1, 1, 0, 1, 0, 0, 1 2017.04.04. Varró Zoltán
LIFO stratégia 1 2 3 4 1, 4/5, 0, 0, 1, 0, 0 140 x3 = 0 135 x5 = 0 x3 = 0 135 1 x5 = 0 133,33 2 x6 = 0 x6 = 1 Nem ígér jobb megoldást, ezért ágat cserélünk. 133 118 3 4 1, 4/5, 0, 0, 1, 0, 0 2017.04.04. Varró Zoltán
LIFO stratégia 1 2 5 1, 3/5, 0, 0, 1, 0, 0 3 4 140 x3 = 0 135 x5 = 1 x3 = 0 135 1 x5 = 1 x5 = 0 116 133,33 2 5 1, 3/5, 0, 0, 1, 0, 0 x6 = 0 x6 = 1 Nem kaphatunk jobb megoldást, ezért az ágat lezárjuk. 133 118 3 4 2017.04.04. Varró Zoltán
LIFO stratégia 1 6 1, 3/5, 1, 0, 0, 0, 0 2 5 3 4 140 x3 = 1 x3 = 0 x3 = 1 x3 = 0 135 136 1 6 x5 = 1 1, 3/5, 1, 0, 0, 0, 0 x5 = 0 116 133,33 Esélyünk van jobb megoldásra, ezért ágaztatunk. 2 5 x6 = 0 x6 = 1 133 118 3 4 2017.04.04. Varró Zoltán
LIFO stratégia 1 6 2 5 7 1, 0, 1, 1, 1/2, 0, 0 3 4 140 x3 = 1 x3 = 0 x3 = 1 x3 = 0 135 136 1 6 x5 = 1 x5 = 0 x2 = 0 116 133,33 120 2 5 7 x6 = 0 x6 = 1 1, 0, 1, 1, 1/2, 0, 0 Nem kaphatunk jobb megoldást, ezért ágat cserélünk. 133 118 3 4 2017.04.04. Varró Zoltán
LIFO stratégia 140 x3 = 1 x3 = 0 135 136 1 6 x5 = 1 x5 = 0 x2 = 0 x2 = 1 120 116 133,33 120 2 5 7 8 x6 = 0 x6 = 1 1/3, 1, 1, 0, 0, 0, 0 133 118 Ezt az ágat is lezárhatjuk. 3 4 2017.04.04. Varró Zoltán
LIFO stratégia 1 6 2 5 7 8 Az optimális megoldás: 140 x3 = 1 x3 = 0 135 136 1 6 x5 = 1 x5 = 0 x2 = 0 x2 = 1 120 116 133,33 120 2 5 7 8 x6 = 0 x6 = 1 Az optimális megoldás: 1, 1, 0, 1, 0, 0, 1 133 118 3 4 2017.04.04. Varró Zoltán
Munkák ütemezése Munka Megmunkálás Határidő időtartama A 6 8 B 4 C 5 12 D 16 Milyen sorrend esetén lesz a késések összege minimális? 2017.04.04. Varró Zoltán
Munkák ütemezése A feladatot 4 részfeladatra bontjuk. i-edik részfeladat: Mennyi a késések összegének minimuma, ha az i-edik munkát végezzük el negyediknek? Minden részfeladatban alsó korlátot határozunk meg a késések összegére. Azt a részfeladatot bontjuk fel, amelyiknek legkisebb a korlátja. 2017.04.04. Varró Zoltán
Munkák ütemezése 15 19 11 7 A megmunkálási idők összege 23. A késések összege legalább 15 ha az A munka a 4. 19 ha a B munka a 4. 11 ha a C munka a 4. 7 ha a D munka a 4. 2017.04.04. Varró Zoltán
Munkák ütemezése 15 19 11 7 A 4. részfeladatot bontjuk fel: a D munka a 4. Legalább mekkora lesz a késés, ha a D munka a 4. és A a 3. munka? B a 3. munka? C a 3. munka? 2017.04.04. Varró Zoltán
Munkák ütemezése 15 19 11 7 A késések összege legalább 14 ha az A munka a 3. 18 ha a B munka a 3. 10 ha a C munka a 3. 14 18 10 2017.04.04. Varró Zoltán
Munkák ütemezése Hat részfeladat alsó korlátja közül választjuk a legkisebbet. 15 19 11 7 Az alsó korlát akkor a legkisebb, ha C a 3. munka, és D a 4. munka. 14 18 10 2017.04.04. Varró Zoltán
Munkák ütemezése 15 19 11 7 14 18 10 A késések összege 12 a B – A – C – D sorrendnél 16 az A – B – C – D sorrendnél. 12 16 2017.04.04. Varró Zoltán
Munkák ütemezése 15 19 11 7 Meg kell vizsgálni azt a részfeladatot, ahol C a 4. munka, mert az alsó korlát csak 11. 14 18 10 12 16 2017.04.04. Varró Zoltán
Munkák ütemezése 15 19 11 7 21 25 13 14 18 10 Minden korlát nagyobb 12-nél, ezért a keresést lezárhatjuk. Optimális sorrend: B – A – C – D 12 16 2017.04.04. Varró Zoltán