Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

EGÉSZÉRTÉKŰ PROGRAMOZÁS 2014. 07. 23.Varró Zoltán1 Modellezés A szétválasztás és korlátozás módszere.

Hasonló előadás


Az előadások a következő témára: "EGÉSZÉRTÉKŰ PROGRAMOZÁS 2014. 07. 23.Varró Zoltán1 Modellezés A szétválasztás és korlátozás módszere."— Előadás másolata:

1 EGÉSZÉRTÉKŰ PROGRAMOZÁS 2014. 07. 23.Varró Zoltán1 Modellezés A szétválasztás és korlátozás módszere

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. 2014. 07. 23.Varró Zoltán2

3 Fix költségek modellezése Ha x i > 0, akkor s i fix költség lép fel. Feltételek: x i  M i y i y i = 0 vagy 1 ahol M i az x i változó egy felső korlátja. Célfüggvény: max z = c 1 x 1 +... + c n x n – s i y i min z = c 1 x 1 +... + c n x n + s i y i 2014. 07. 23.Varró Zoltán3

4 Telepítési probléma Szállítási feladat: min z = c 11 x 11 + c 12 x 12 +... + c mn x mn x 11 +... + x 1n ≤ s 1 x 11 +... + x m1 ≥ d 1... x m1 +... + x mn ≤ s m x 1n +... + x mn ≥ d n x ij ≥ 0 (i = 1,..., m; j = 1,..., n). 2014. 07. 23.Varró Zoltán4

5 Telepítési probléma min z = c 11 x 11 + c 12 x 12 +... + c mn x mn + + f 1 y 1 +... + f m y m x 11 +... + x 1n ≤ s 1 y 1 x 11 +... + x m1 ≥ d 1... x m1 +... + x mn ≤ s m y m x 1n +... + x mn ≥ d n x ij ≥ 0 (i = 1,..., m; j = 1,..., n). y i = 0 vagy 1 (i = 1,..., m). 2014. 07. 23.Varró Zoltán5 Ha x ij > 0, akkor y i = 1.

6 „Vagy - vagy” feltétel Két feltétel közül legalább egyik teljesüljön: a 1 x  b 1 a 2 x  b 2 Feltételek: a 1 x  b 1 + My a 2 x  b 2 + M(1 − y) ahol M az a 1 x és a 2 x függvények közös felső korlátja. 2014. 07. 23.Varró Zoltán6

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. 2014. 07. 23.Varró Zoltán7

8 „Ha – akkor” feltétel Ha a 1 x > b 1, akkor a 2 x  b 2 teljesüljön. A feltételrendszer: a 1 x  b 1 + My a 2 x  b 2 − M(1 − y), ahol M az a 1 x és a 2 x függvények közös felső korlátja és y = 0 vagy 1. 2014. 07. 23.Varró Zoltán8

9 „Ha – akkor” feltétel Ha x i > 0, akkor x j  d teljesüljön. A feltételrendszer: x i  M y x j  d − M(1 − y) x i, x j  0, y = 0 vagy 1 ahol M  d az x i egy felső korlátja. 2014. 07. 23.Varró Zoltán9

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. 2014. 07. 23.Varró Zoltán10

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. 2014. 07. 23.Varró Zoltán11

12 EP feladatok megoldása 2014. 07. 23.Varró Zoltán12 5x 1 – 5x 2 ≤ 4 10x 1 – 10x 2 ≥ 3 x1x1 max z = x 1 + x 2 x2x2 A célfüggvény nem korlátos

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. 2014. 07. 23.Varró Zoltán13

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. 2014. 07. 23.Varró Zoltán14

15 Az SZK módszer Ha az LP lazítás optimális megoldásában az x j változó optimális értéke x j , akkor két részfeladatot képezünk az alábbi feltételek csatolásával: – 1. részfeladat: x j   x j   – 2. részfeladat: x j   x j   + 1. Célszerű azt a tört értékű változót választani, amelynek törtrésze a legnagyobb. 2014. 07. 23.Varró Zoltán15

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. 2014. 07. 23.Varró Zoltán16

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. 2014. 07. 23.Varró Zoltán17

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. 2014. 07. 23.Varró Zoltán18

19 Az SZK módszer EP feladat: max z = 2x 1 + 3x 2 − 2x 1 + 5x 2  10 4x 1 + 3x 2  24 x 1, x 2  0, egész LP lazítása: max z = 2x 1 + 3x 2 − 2x 1 + 5x 2  10 4x 1 + 3x 2  24 x 1, x 2  0 2014. 07. 23.Varró Zoltán19

20 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán20 4x 1 + 3x 2 ≤ 24 −2x 1 + 5x 2 ≤ 10 max z = 2x 1 + 3x 2 Az LP lazítás optimális megoldása: x 1 = 3,46 x 2 = 3,38 Az EP megoldásai.

21 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán21 x 1 ≥ 4 x1 ≤ 3x1 ≤ 3

22 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán22 z = 15,6 z = 16 > 15,6 Ezt a részfeladatot bontjuk fel.

23 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán23 x 1 ≥ 4 x 2 ≥ 3  L =  x 1 ≥ 4 x 2 ≤ 2 z = 15 z = 15,6

24 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán24 x 1 ≤ 3 x 2 ≥ 4  L =  x 1 ≤ 3 x 2 ≤ 3

25 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán25 Az EP optimális megoldása: x 1 = 3, x 2 = 3 és z = 15 z = 15 Nem érdemes felbontani.

26 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán26  3,46 ; 3,38  z = 17,06  3 ; 3,2  z = 15,6  4 ; 2,67  z = 16 x 1 ≤ 3x 1 ≥ 4 max z = 2x 1 + 3x 2 − 2x 1 + 5x 2 ≤ 10 4x 1 + 3x 2 ≤ 24 x 1 ≤ 3 x 1, x 2 ≥ 0 max z = 2x 1 + 3x 2 − 2x 1 + 5x 2 ≤ 10 4x 1 + 3x 2 ≤ 24 x 1 ≥ 4 x 1, x 2 ≥ 0

27 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán27  3,46 ; 3,38  z = 17,06  3 ; 3,2  z = 15,6  4 ; 2,67  z = 16 x 1 ≤ 3x 1 ≥ 4 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.

28 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán28 x 2 ≥ 3x 2 ≤ 2  3,46 ; 3,38  z = 17,06  3 ; 3,2  z = 15,6  4 ; 2,67  z = 16  4,5 ; 2  z = 15 L =  x 1 ≤ 3x 1 ≥ 4

29 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán29 x 2 ≥ 3x 2 ≤ 2x 2 ≥ 4x 2 ≤ 3  3,46 ; 3,38  z = 17,06  3 ; 3,2  z = 15,6  4 ; 2,67  z = 16  3 ; 3  z = 15 L =  4,5 ; 2  z = 15 L =  x 1 ≤ 3x 1 ≥ 4

30 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán30  3.46 ; 3.38  z = 17.06  3 ; 3.2  z = 15.6  4 ; 2.67  z = 16  3 ; 3  z = 15 L =  4.5 ; 2  z = 15 L =  12 3456

31 LIFO stratégia 2014. 07. 23.Varró Zoltán31  3,46 ; 3,38  z = 17,06  3 ; 3,2  z = 15,6 x 1  3

32 LIFO stratégia 2014. 07. 23.Varró Zoltán32 x 2  3  3,46 ; 3,38  z = 17,06  3 ; 3,2  z = 15,6  3 ; 3  z = 15 x 1  3 max z = 2x 1 + 3x 2 − 2x 1 + 5x 2 ≤ 10 4x 1 + 3x 2 ≤ 24 x 1 ≤ 3 x 2 ≤ 3 x 1, x 2 ≥ 0

33 LIFO stratégia 2014. 07. 23.Varró Zoltán33 x 2  4x 1  3  3,46 ; 3,38  z = 17,06  3 ; 3,2  z = 15,6  3 ; 3  z = 15 L =  x 1  3 max z = 2x 1 + 3x 2 − 2x 1 + 5x 2 ≤ 10 4x 1 + 3x 2 ≤ 24 x 1 ≤ 3 x 2 ≥ 4 x 1, x 2 ≥ 0

34 LIFO stratégia 2014. 07. 23.Varró Zoltán34 x 2  4  3,46 ; 3,38  z = 17,06  3 ; 3,2  z = 15,6  4 ; 2,67  z = 16 L =  x 1  3x 1  4

35 LIFO stratégia 2014. 07. 23.Varró Zoltán35  3,46 ; 3,38  z = 17,06  4 ; 2,67  z = 16  4,5 ; 2  z = 15 L =  x 2  2x 2  3 x 1  4

36 LIFO stratégia 2014. 07. 23.Varró Zoltán36  3.46 ; 3.38  z = 17.06  3 ; 3.2  z = 15,6  4 ; 2.67  z = 16  3 ; 3  z = 15 L =  4.5 ; 2  z = 15 L =  1 23 4 56

37 Bináris hátizsák feladat max z = c 1 x 1 + c 2 x 2 +... + c n x n (c j > 0) a 1 x 1 + a 2 x 2 +... + a n x n  b (a j > 0) x 1, x 2,..., x n = 0 vagy 1 2014. 07. 23.Varró Zoltán37

38 Az LP lazítás megoldása max z = c 1 x 1 + c 2 x 2 +... + c n x n (c j > 0) a 1 x 1 + a 2 x 2 +... + a n x n  b (a j > 0) x 1, x 2,..., x n = 0 vagy 1 Rendezzük a tárgyakat csökkenő c i /a i 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. 2014. 07. 23.Varró Zoltán38

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: 2014. 07. 23.Varró Zoltán39

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ó. 2014. 07. 23.Varró Zoltán40

41 Legjobb korlát stratégia max 60x 1 + 60x 2 + 40x 3 + 10x 4 + 20x 5 + 10x 6 + 3x 7 30x 1 + 50x 2 + 40x 3 + 10x 4 + 40x 5 + 30x 6 + 10x 7  100 x i = 0 vagy 1 (i = 1, 2,..., 7) A változók már csökkenő c i /a i szerint rendezettek. Az LP lazítás optimális megoldása: x =  1, 1, ½, 0, 0, 0, 0  2014. 07. 23.Varró Zoltán41

42 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán42 0 1 2 x 3 = 0 x 3 = 1 140 135 136  1, 1, 0, 1, 1/4, 0, 0   1, 3/5, 1, 0, 0, 0, 0 

43 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán43 0 1 2 3 4 x 3 = 0 x 3 = 1 140 x 2 = 0 x 2 = 1 135 136 120  1, 0, 1, 1, 1/2, 0, 0   1/3, 1, 1, 0, 0, 0, 0   1, 1, 0, 1, 1/4, 0, 0 

44 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán44 0 1 2 3 456 x 3 = 0 x 3 = 1 140 x 2 = 0 x 2 = 1 x 5 = 0 x 5 = 1 135 136 120 133,33  1, 1, 0, 1, 0, 1/3, 0   1, 3/5, 0, 0, 1, 0, 0  116

45 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán45 0 1 2 3 456 7 8 x 3 = 0 x 3 = 1 140 x 2 = 0 x 2 = 1 x 5 = 0 x 5 = 1 x 6 = 0 x 6 = 1 135 136 120 133,33 133 116  1, 1, 0, 1, 0, 0, 1  Ez az első egészértékű megoldás. Az ágat lezárjuk.

46 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán46 0 1 2 3 456 7 8 x 3 = 0 x 3 = 1 140 x 2 = 0 x 2 = 1 x 5 = 0 x 5 = 1 x 6 = 0 x 6 = 1 135 136 120 133,33 133 118 116  1, 1, 0, 1, 0, 0, 1   1, 4/5, 0, 0, 1, 0, 0  Ez az első egészértékű megoldás.

47 Legjobb korlát stratégia 2014. 07. 23.Varró Zoltán47 0 1 2 3 456 7 8 x 3 = 0 x 3 = 1 140 x 2 = 0 x 2 = 1 x 5 = 0 x 5 = 1 x 6 = 0 x 6 = 1 135 136 120 133,33 133 118 116  1, 1, 0, 1, 0, 0, 1  Egyik ágon sem kaphatunk jobb megoldást, ezért mind lezárható.

48 LIFO stratégia 2014. 07. 23.Varró Zoltán48 0 1 2 3 x 3 = 0 140 x 5 = 0 x 6 = 0 135 133,33 133  1, 1, 0, 1, 0, 0, 1  Először mindig a bal oldali ágat vizsgáljuk.  1, 1, 0, 1, 1/4, 0, 0   1, 1, 0, 1, 0, 1/3, 0  Egészértékű megoldást kaptunk, ezért lezárjuk az ágat és ágat cserélünk.

49 LIFO stratégia 2014. 07. 23.Varró Zoltán49 0 1 2 3 4 x 3 = 0 140 x 5 = 0 x 6 = 0 x 6 = 1 135 133,33 133 118  1, 4/5, 0, 0, 1, 0, 0  Nem ígér jobb megoldást, ezért ágat cserélünk.

50 LIFO stratégia 2014. 07. 23.Varró Zoltán50 0 1 25 3 4 x 3 = 0 140 x 5 = 0 x 5 = 1 x 6 = 0 x 6 = 1 135 133,33 133 118 116  1, 3/5, 0, 0, 1, 0, 0  Nem kaphatunk jobb megoldást, ezért az ágat lezárjuk.

51 LIFO stratégia 2014. 07. 23.Varró Zoltán51 0 1 6 25 3 4 x 3 = 0 x 3 = 1 140 x 5 = 0 x 5 = 1 x 6 = 0 x 6 = 1 135 136 133,33 133 118 116  1, 3/5, 1, 0, 0, 0, 0  Esélyünk van jobb megoldásra, ezért ágaztatunk.

52 LIFO stratégia 2014. 07. 23.Varró Zoltán52 0 1 6 7 25 3 4 x 3 = 0 x 3 = 1 140 x 2 = 0 x 5 = 0 x 5 = 1 x 6 = 0 x 6 = 1 135 136 120 133,33 133 118 116  1, 0, 1, 1, 1/2, 0, 0  Nem kaphatunk jobb megoldást, ezért ágat cserélünk.

53 LIFO stratégia 2014. 07. 23.Varró Zoltán53 0 1 6 7 825 3 4 x 3 = 0 x 3 = 1 140 x 2 = 0 x 2 = 1 x 5 = 0 x 5 = 1 x 6 = 0 x 6 = 1 135 136 120 133,33 133 118 116  1/3, 1, 1, 0, 0, 0, 0  Ezt az ágat is lezárhatjuk.

54 LIFO stratégia 2014. 07. 23.Varró Zoltán54 0 1 6 7 825 3 4 x 3 = 0 x 3 = 1 140 x 2 = 0 x 2 = 1 x 5 = 0 x 5 = 1 x 6 = 0 x 6 = 1 135 136 120 133,33 133 118 116 Az optimális megoldás:  1, 1, 0, 1, 0, 0, 1 

55 Munkák ütemezése MunkaMegmunkálásHatáridő időtartama A68 B44 C512 D816 2014. 07. 23.Varró Zoltán55 Milyen sorrend esetén lesz a késések összege minimális?

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. 2014. 07. 23.Varró Zoltán56

57 Munkák ütemezése 2014. 07. 23.Varró Zoltán57 7111915 A megmunkálási idők összege 23. A késések összege legalább 15ha az A munka a 4. 19ha a B munka a 4. 11ha a C munka a 4. 7ha a D munka a 4.

58 Munkák ütemezése 2014. 07. 23.Varró Zoltán58 7111915 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 Aa 3. munka? Ba 3. munka? Ca 3. munka?

59 Munkák ütemezése 2014. 07. 23.Varró Zoltán59 101418 7111915 A késések összege legalább 14ha az A munka a 3. 18ha a B munka a 3. 10ha a C munka a 3.

60 Munkák ütemezése 2014. 07. 23.Varró Zoltán60 101418 7111915 Az alsó korlát akkor a legkisebb, ha C a 3. munka, és D a 4. munka. Hat részfeladat alsó korlátja közül választjuk a legkisebbet.

61 Munkák ütemezése 2014. 07. 23.Varró Zoltán61 16 101418 7111915 12 A késések összege 12a B – A – C – D sorrendnél 16az A – B – C – D sorrendnél.

62 Munkák ütemezése 2014. 07. 23.Varró Zoltán62 16 101418 7111915 12 Meg kell vizsgálni azt a részfeladatot, ahol C a 4. munka, mert az alsó korlát csak 11.

63 Munkák ütemezése 2014. 07. 23.Varró Zoltán63 16 101314182521 7111915 12 Minden korlát nagyobb 12-nél, ezért a keresést lezárhatjuk. Optimális sorrend: B – A – C – D


Letölteni ppt "EGÉSZÉRTÉKŰ PROGRAMOZÁS 2014. 07. 23.Varró Zoltán1 Modellezés A szétválasztás és korlátozás módszere."

Hasonló előadás


Google Hirdetések