Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
EGÉSZÉRTÉKŰ PROGRAMOZÁS
Modellezés A szétválasztás és korlátozás módszere Varró Zoltán
2
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. Varró Zoltán
3
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 = c1x cnxn – siyi min z = c1x cnxn + siyi Varró Zoltán
4
Telepítési probléma Szállítási feladat: min z = c11x11 + c12x cmnxmn x x1n ≤ s1 x xm1 ≥ d xm xmn ≤ sm x1n xmn ≥ dn xij ≥ 0 (i = 1, , m; j = 1, , n). Varró Zoltán
5
Telepítési probléma min z = c11x11 + c12x cmnxmn + + f1y fmym x x1n ≤ s1y1 x xm1 ≥ d xm 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. Varró Zoltán
6
„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. Varró Zoltán
7
„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. Varró Zoltán
8
„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. Varró Zoltán
9
„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. Varró Zoltán
10
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. Varró Zoltán
11
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. Varró Zoltán
12
EP feladatok megoldása
A célfüggvény nem korlátos x2 10x1 – 10x2 ≥ 3 5x1 – 5x2 ≤ 4 max z = x1 + x2 x1 Varró Zoltán
13
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. Varró Zoltán
14
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. Varró Zoltán
15
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. Varró Zoltán
16
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. Varró Zoltán
17
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. Varró Zoltán
18
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. Varró Zoltán
19
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 Varró Zoltán
20
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 Varró Zoltán
21
Legjobb korlát stratégia
x1 ≥ 4 x1 ≤ 3 Varró Zoltán
22
Legjobb korlát stratégia
z = 15,6 z = 16 > 15,6 Ezt a részfeladatot bontjuk fel. Varró Zoltán
23
Legjobb korlát stratégia
x1 ≥ 4 x2 ≥ 3 L = z = 15,6 x1 ≥ 4 x2 ≤ 2 z = 15 Varró Zoltán
24
Legjobb korlát stratégia
x1 ≤ 3 x2 ≥ 4 L = x1 ≤ 3 x2 ≤ 3 Varró Zoltán
25
Legjobb korlát stratégia
Az EP optimális megoldása: x1 = 3, x2 = 3 és z = 15 z = 15 Nem érdemes felbontani. Varró Zoltán
26
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 ≤ x1, x2 ≥ 0 max z = 2x1 + 3x2 − 2x1 + 5x2 ≤ 10 4x1 + 3x2 ≤ 24 x1 ≥ x1, x2 ≥ 0 Varró Zoltán
27
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. Varró Zoltán
28
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 = Varró Zoltán
29
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 = Varró Zoltán
30
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 = Varró Zoltán
31
LIFO stratégia 3,46 ; 3,38 z = 17,06 x1 3 3 ; 3,2 z = 15,6
Varró Zoltán
32
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 Varró Zoltán
33
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 = Varró Zoltán
34
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 = Varró Zoltán
35
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 = Varró Zoltán
36
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 = Varró Zoltán
37
Bináris hátizsák feladat
max z = c1x1 + c2x cnxn (cj > 0) a1x1 + a2x anxn b (aj > 0) x1, x2, , xn = 0 vagy 1 Varró Zoltán
38
Az LP lazítás megoldása
max z = c1x1 + c2x cnxn (cj > 0) a1x1 + a2x 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. Varró Zoltán
39
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: Varró Zoltán
40
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ó. Varró Zoltán
41
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 Varró Zoltán
42
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 Varró Zoltán
43
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 Varró Zoltán
44
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 Varró Zoltán
45
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 Varró Zoltán
46
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 Varró Zoltán
47
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 Varró Zoltán
48
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 Varró Zoltán
49
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 Varró Zoltán
50
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 Varró Zoltán
51
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 Varró Zoltán
52
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 Varró Zoltán
53
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 Varró Zoltán
54
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 Varró Zoltán
55
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? Varró Zoltán
56
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. Varró Zoltán
57
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. Varró Zoltán
58
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? Varró Zoltán
59
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 Varró Zoltán
60
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 Varró Zoltán
61
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 Varró Zoltán
62
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 Varró Zoltán
63
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 Varró Zoltán
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.