Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

4EK213 – LINEÁRNÍ MODELY Úterý 11:00 – 12:30 hod. učebna 212 RB © Lagová, Kalčevová.

Podobné prezentace


Prezentace na téma: "4EK213 – LINEÁRNÍ MODELY Úterý 11:00 – 12:30 hod. učebna 212 RB © Lagová, Kalčevová."— Transkript prezentace:

1 4EK213 – LINEÁRNÍ MODELY Úterý 11:00 – 12:30 hod. učebna 212 RB © Lagová, Kalčevová

2 11. přednáška CELOČÍSELNÉ PROGRAMOVÁNÍ © Lagová, Kalčevová

3 OSNOVA PŘEDNÁŠKY Gomoryho metoda Grafické znázornění Metoda větví a mezí Grafické znázornění

4 GOMORYHO METODA Gomoryho metodou řešíme úlohu LP: Ax R b x ≥ 0 (11.1) z = c T x... max.(min.) ve které jsme podmínky nezápornosti proměnných rozšířili o podmínky celočísel- nosti: x j ≥ 0, celé, (11.2) j = 1, 2,..., n Použitá symbolika má obvyklý význam (viz Přednáška 2 a další)

5 ALGORITMUS METODY 1. Vypočteme optimální řešení úlohy LP bez ohledu na podmínky celočíselnosti 2. Testujeme celočíselnost OŘ: a. je-li OŘ celočíselné, našli jsme i opti- mum celočíselné úlohy VÝPOČET KONČÍ b. není-li OŘ celočíselné, výpočet pokra- čuje GOMORYHO METODA

6 3. Určíme zdrojový řádek: a. vypočteme celočíselné zbytky pravých stran: r i0 = β i - [β i ] (11.3) i = 1, 2,..., m, kde [ β i ]... je funkce „celé číslo z β i “ b. najdeme g = max(r i0 ) =r p0 (11.4) i = 1, 2,..., m c. zdrojový řádek je p-tý

7 4. Přidáme Gomoryho omezení: a. vypočteme koeficienty r pj : r pj = a pj − [a pj ], (11.5) j = 1, 2,..., n+m+s b. formulujeme omezení: (-r pj x j ) + x n+m+s = - r p0, (11.6) kde s... je index Gomoryho iterace

8 5. Počítáme nové řešení DSM: - Gomoryho omezení je klíčový řádek - klíčový sloupec určíme podle (7.6)... ? 6. Testujeme řešitelnost: a. všechny koeficienty r pj v Gomoryho omezení jsou nezáporné, neexistuje OŘ celočíselné úlohy: VÝPOČET KONČÍ b. klíčový sloupec je podle hodnoty t v k-tém sloupci: TRANSFORMACE

9 7. Transformujeme řešení: a. klíčový řádek má v ST index m+s b. klíčový sloupec je k-tý c. na průsečíku klíčového řádku a klíčo- vého sloupce je klíčový prvek α m+s,k (je vždy záporný) d. obvyklým způsobem transformujeme podle (4.3) – (4.8) 8.Vracíme se k bodu 2  TESTUJEME CELOČÍSELNOST

10 GRAFICKÉ ZNÁZORNĚNÍ Geometrickou interpretací Gomoryho o- mezení je řezná nadrovina (Gomoryho řez) Ta „odřízne“ ze spojité množiny PŘ část, která neobsahuje žádný celočíselný bod Některý z celočíselných bodů se přitom posune do vrcholu množiny PŘ (nebo alespoň na její hranu) Podle základní věty LP se tímto postupem najde OŘ (pokud existuje)

11 Příklad 11.1 Je dána úloha IP: 1. Řešte úlohu (11.7) Gomoryho metodou 2. Řešte úlohu (11.7) graficky

12 Vypočteme SM optimální řešení úlohy (11.7) bez podmínek celočíselnosti: Tab Podmínky celočíselnosti nejsou splněny Řešení x (1) = (3, 9/5, 0, 0 )T, z = 45 (11.8) není přípustným řešením úlohy (11.7)

13 Pokračujeme ve výpočtu Gomoryho me- todou Vypočteme koeficienty r i0 : r 10 = β 1 - [β 1 ] = 9/5 - 5/5 = 4/5 r 20 = β 2 - [β 2 ] = = 0 Najdeme g = max (4/5, 0) = 4/5 První řádek zvolíme jako zdrojový: Vypočtěte koeficienty r pj ?

14 r 11 =r 12 = 0 r 13 = 1/5 - 0 = 1/5 r 14 = -2/5 - [-2/5 ] = -2/5 - (-1)=3/5 Celočíselné zbytky r pj : Sestavíme 1. Gomoryho omezení -1/5x 3 - 3/5x 4 + x 5 = - 4/5 (11.9) Řešíme DSM Klíčový řádek je třetí a přidáme k ST jako třetí omezení

15 Tab Klíčový řádek je třetí, tj. přidané Gomo- ryho omezení Řešení v další iteraci je optimální, ale není celočíselné

16 Tab Řešení v tabulce 11.3 není celočíselné: x (2) =(5/3, 7/3, 0, 4/3) T, z=115/3 (11.10) Pokračujeme ve výpočtu Gomoryho me- todou ?

17 Vypočteme celočíselné zbytky pravých stran: r 10 = r 20 = Najdeme g = max Zdrojový řádek je druhý: 2. Gomoryho omezení: -2/3x 3 - 2/3x 5 + x 6 = - 2/3 (11.11) r 21 = r 22 =, r 23, r 24 =, r 25

18 Tab K ST přidáme 2. Gomoryho omezení: −2/3x 3 − 2/3x 5 + x 6 = −2/3 Klíčový řádek je čtvrtý (Gomoryho omezení) Klíčový sloupec je třetí

19 Tab Všechny strukturní proměnné mají celočí- selné hodnoty Řešení x (3) =(2, 2, 0, 0), z = 38 (11.12) je OŘ úlohy IP (11.7)

20 2. GRAFICKÉ ŘEŠENÍ Znázorníme graficky 1. Gomoryho řez (11.9): Proměnné x 3 a x 4 vyjádříme z vlastních omezení modelu (11.4): x 3 =15 - 2x 1 - 5x 2 x 4 = 3 - x 1 Dosadíme do Gomoryho řezu: -1/5(15 - 2x 1 - 5x 2 ) - 3/5(3 - x 1 ) + x 5 = - 4/5 Zjednodušíme: x 1 + x 2 + x 5 = 4 (11.13) -1/5x 3 – 3/5x 4 + x 5 = -4/5

21 Položíme x 5 = 0 a vypočteme úseky na ose x 1 a x 2 : x 1 = 0  x 2 = 4 x 2 = 0  x 1 = 4 Znázorníme hraniční přímku a odpovídají- cí polorovinu „Odřízneme“ z množiny PŘ část vymeze- nou Gomoryho řezem Bod se souřadnicemi [2,2] je nyní na hra- ně množiny PŘ Znovu hledáme OŘ

22 Analogicky upravíme 2. Gomoryho řez (11.11): -2/3x 3 - 2/3x 5 + x 6 = -2/3 Dosadíme za x 3 z (11.7) a za x 5 z (11.9): -2/3 (15 - 2x 1 - 5x 2 ) - 2/3(4-x 1 - x 2 ) + x 6 = -2/3 Odtud je 2. Gomoryho omezení 2x 1 + 4x 2 + x 6 = 12 Položíme x 6 = 0 a vypočteme: x 1 = 0  x 2 = 3 x 2 = 0  x 1 = 6 Další OŘ je celočíselné

23 x2x2 x1 3x1 3 2 x x 2  15 [0,0] 1 3 x1x1 „Žabák Integer – Gomory“ GŘ2 GŘ1 Obr – Gomoryho metoda

24 NEVÝHODY METODY Koeficienty Gomoryho omezení jsou zvláště v dalších iteracích velmi malá čísla, blízká nule Při eliminaci proto vznikají zaokrouhlo- vací chyby Ty mohou způsobit to, že výpočet nero- zezná optimální řešení a zkrachuje Proto programové systémy používají většinou kombinatorické metody

25 METODY VĚTVÍ A MEZÍ Mohou se použít pro řešení všech úloh IP i MIP Podmínkou je celočíselnost koeficientů účelové funkce (lze splnit vždy) Vyskytují se v řadě variant uzpůsobených pro řešení konkrétních úloh, např. pro bi- valentní úlohy, jako je okružní dopravní problém nebo přiřazovací problém Jsou založeny na efektivním prohledá- vání množiny přípustných řešení

26 VÝCHOZÍ ŘEŠENÍ Úlohu lineárního programování bez pod- mínek celočíselnosti označíme LP (0) Množinu přípustných řešení úlohy LP (0) označíme X (0) SM vypočteme optimální řešení x (0) = (x 1 0, x 2 0,..., x n 0 ), z 0 Jestliže x (0) vyhovuje i podmínkám celo- číselnosti, je to optimální celočíselné řešení  výpočet končí Pokud ne, začneme větvení

27 VĚTVE Z vektoru x (0) vybereme libovolnou pro- měnnou, která porušuje podmínku celo- číselnosti Označíme ji x k a její hodnotu x k 0 Množinu přípustných řešení X (0) rozdělíme podle proměnné x k na dvě podmnožiny větvící proměnná větve levá větev pravá větev

28 V levé větvi přidáme k úloze LP (0) pod- mínku x k ≤ [x k 0 ] (11.14) a vytoříme tak úlohu LP (1) V pravé větvi přidáme k úloze LP (0) pod- mínku x k ≥ [x k 0 ] + 1 (11.15) a vytoříme tak úlohu LP (2) Tyto úlohy opět řešíme SM bez ohledu na podmínky celočíselnosti a dále větvíme

29 MEZE V každé větvi je odvozována horní mez hodnoty účelové funkce (za předpokladu maximalizace) celočíselného řešení: h (s) = [z (s) ] v úlohách IP (11.16) h (s) = z (s) v úlohách MIP (11.17) kde s... je index úlohy LP (s), tj. s-té větve z (s)... je optimální hodnota účelové funkce úlohy LP (s) Mez h (0) = [z (0) ] je horní mezí hodnoty úče- lové funkce celočíselného řešení

30 KONEC VĚTVE 1. Dosud nejlepší vypočtená hodnota úče- lové funkce celočíselného řešení se ozna- čí z* Jestliže je h (s) < z*, je zřejmé, že v této větvi nemůže být celočíselné optimum Větev tvořená úlohou LP (s) se uzavře

31 2. Výpočet ve větvi se rovněž uzavře, je-li nalezeno celočíselné OŘ: - je-li z (s) >z*, dosadíme z*= z (s) 3. Výpočet ve větvi rovněž končí, jestliže ve větvi neexistuje PŘ Výpočet končí uzavřením všech větví Nejlepší nalezené celočíselné řešení (po- kud existuje) s hodnotou účelové funkce z * je hledaným optimálním řešením celo- číselné úlohy

32 Příklad 11.2 Pro srovnání vyřešíme metodou větví a mezí úlohu (11.7) z příkladu 11.1 Označíme ji jako úlohu LP (0) :

33 1. Řešení úlohy LP (0) Úlohu LP (0) jsme vyřešili SM v tabulce 11.1 Optimální řešení x (0) = (3, 9/5, 0, 0), z (0) =45 z této tabulky není celočíselné Hodnota účelové funkce z (0) =h (0) =[45] je horní mezí hodnoty účelové funkce celočíselné úlohy Řešení úlohy znázorníme graficky

34 x2x2 x1 3x1 3 2 x x 2  15 [0,0] 1 3 x1x1 „Žabák Integer – x (0) “ Obr − Řešení úlohy LP (0)

35 Větvení LP (0) Proměnná x 2 porušuje podmínku celočí- selnosti, vybereme ji jako větvící proměn- nou Vytvoříme levou větev: x 2 ≤ [x 2 ] a pravou větev: x 2 ≥ [x 2 ] + 1 Formulujeme úlohy LP (1) a LP (2)

36 Formulace úloh LP (1) a LP (2) Levá větev: LP (1) Pravá větev: LP (2) 2x 1 + 5x 2 ≤ 15 2x 1 + 5x 2 ≤ 15 x 1 ≤ 3 x 1 ≤ 3 x 2 ≤ 1 x 2 ≥ 2 x j ≥ 0 x j ≥ 0 j = 1, 2 j = 1, 2 z = 9x 1 +10x 2 … max.

37 Řešení úlohy LP (1) K OŘ úlohy LP (0) přidáme omezení x 2 ≤ 1 Tab a upravíme je: jak ? Řešíme DSM

38 OŘ úlohy LP (1) Optimální řešení úlohy LP (1) je celočíselné: x (1) =(3, 1, 4, 0), z (1) = 37 Dosadíme z*= 37 KONEC VĚTVE Tab. 11.7

39 LP (0) x (0) = (3; 9/5) z (0) = 45 Mez = 45 x 2 ≤ 1 LP (1) x (1) = (3; 1) z (1) = 37 z * = 37 KONEC VĚTVE Obr − Úloha LP (1)

40 x2x2 x1 3x1 3 2 x x 2  15 [0,0] 1 3 x1x1 „Žabák Integer – x (1) “ x2 1x2 1 Obr − Řešení úlohy LP (1)

41 Řešení úlohy LP (2) K OŘ úlohy LP (0) přidáme omezení -x 2 ≤ -2 Tab a upravíme je: jak ? Řešíme DSM

42 OŘ úlohy LP (2) Řešení v pravé větvi x (2) =(5/2, 2, 0, 1/2, 0), z (2) = 85/2 není celočíselné h (2) = [85/2] >z*= 37  větvíme LP (2) Tab. 11.9

43 LP (0) x (0) = (3; 9/5) x (0) = 45 Mez = 45 LP (2) x (2) = (5/2; 2) x (2) = 42,5 Mez = 42 x 2 ≤ 1x 2 ≥ 2 LP (1) x (1) = (3; 1) x (1) = 37 x * = 37 KONEC VĚTVE Obr − Úloha LP(2)

44 x2x2 x1 3x1 3 2 x x 2  15 [0,0] 1 3 x1x x2 1x2 1 x2 ≥2x2 ≥2 „Žabák Integer – x (2) “ Obr − Řešení úlohy LP (2)

45 Větvení LP (2) Levá větev: LP (3) Pravá větev: LP (4) 2x 1 + 5x 2 ≤ 15 2x 1 + 5x 2 ≤ 15 x 1 ≤ 3 x 1 ≤ 3 x 2 ≥ 2 x 2 ≥ 2 x 1 ≤ 2 x 1 ≥ 3 x j ≥ 0 x j ≥ 0 j = 1, 2 j = 1, 2 z = 9x 1 +10x 2 … max. Větvíme podle x 1 =5/2

46 Řešení LP (3) K optimálnímu řešení úlohy LP (2) přidáme upravené omezení x 1 ≤ 2 Úlohu LP (3) řešíme DSM Tab

47 Optimální řešení úlohy LP (3) : x (3) =(2, 11/5, 0, 1), z (3) = 40 opět nesplňuje podmínky celočíselnosti Protože h (3) = 40 >z*= 37  větvíme LP (3) Tab OŘ úlohy LP (3)

48 LP (0) x (0) = (3; 9/5) z (0) = 45 Mez = 45 LP (2) x (2) = (5/2; 2) z (2) = 42,5 Mez = 42 LP (3) x (3) = (2; 11/5) z (3) = 40 Mez = 40 x 2 ≤ 1 x 1 ≤ 2 x 2 ≥ 2 LP (1) x (1) = (3; 1) z (1) = 37 Z * = 37 KONEC Obr − Úloha LP (3)

49 x2x2 x1 3x1 3 2 x x 2  15 [0,0] 1 3 x1x x2 1x2 1 x2 ≥2x2 ≥2 x1 2x1 2 „Žabák Integer – x (3) “ Obr − Řešení úlohy LP (3)

50 Řešení LP (4) K optimálnímu řešení úlohy LP (2) přidáme upravené omezení x 1 ≥ 3: PŘ úlohy LP (4) neexistuje PROČ ? KONEC VĚTVE Tab

51 LP (0) x (0) = (3; 9/5) x (0) = 45 Mez = 45 LP (2) x (2) = (5/2; 2) x (2) = 42,5 Mez = 42 LP (3) x (3) = (2; 11/5) x (3) = 40 Mez = 40 x 2 ≤ 1 x 1 ≤ 2 x 1 ≥ 3 x 2 ≥ 2 LP (1) x (1) = (3; 1) x (1) = 37 x * = 37 LP (4) x (4) Nepřípustné řešení KONEC VĚTVE Obr − Úloha LP (4)

52 x2x2 x1 3x1 3 2 x x 2  15 [0,0] 1 3 x1x x2 1x2 1 x2 ≥2x2 ≥2 x1 ≥3x1 ≥3 „Žabák Integer – x (4) “ Obr − Řešení úlohy LP (4)

53 Větvení LP (3) Větvíme podle x 2 = 11/5 K optimálnímu řešení úlohy LP (3) přidáme v levé větvi x 2 ≤ 2 V pravé větvi přidáme x 2 ≥ 3 V levé větvi vytvoříme úlohu LP (5) V pravé větvi vytvoříme úlohu LP (6)

54 Větvení LP (3) Levá větev: LP (5) Pravá větev: LP (6) 2x 1 + 5x 2 ≤ 15 2x 1 + 5x 2 ≤ 15 x 1 ≤ 3 x 1 ≤ 3 x 2 ≤ 1 x 2 ≥ 2 x 1 ≤ 2 x 1 ≥ 3 x 2 ≤ 2 x 2 ≥ 3 x j ≥ 0 x j ≥ 0 j = 1, 2 j = 1, 2 z = 9x 1 +10x 2 … max.

55 Řešení LP (5) K optimálnímu řešení LP (3) přidáme upravené omezení x 2 ≤ 2: Řešíme DSM Tab

56 Tab Optimální řešení LP (5) je celočíselné: x (5) =(2, 2, 1, 1), z (5) = 38 Hodnota h (5) = 38 > z *  z ** = 38 KONEC VĚTVE OŘ úlohy LP (5)

57 LP (0) x (0) = (3; 9/5) z (0) = 45 Mez = 45 LP (2) x (2) = (5/2; 2) z (2) = 42,5 Mez = 42 LP (3) x (3) = (2; 11/5) z (3) = 40 Mez = 39 x 2 ≤ 1 x 1 ≤ 2 x 2 ≤ 2 x 1 ≥ 3 x 2 ≥ 2 LP (1) x (1) = (3; 1) z (1) = 37 Z * = 37 LP (4) x (4) Nepřípustné řešení LP (5) x (5) = (2; 2) z ** = 38 KONEC VĚTVE Obr − Úloha LP (5)

58 x2x2 x1 3x1 3 2 x x 2  15 [0,0] 1 3 x1x x2 1x2 1 x2 ≥2x2 ≥2 x1 2x1 2 x2 ≤2x2 ≤2 „Žabák Integer – x (5) “ Obr − Řešení úlohy LP (5)

59 Řešení LP (6) K optimálnímu řešení LP (3) přidáme upravené omezení x 2 ≥ 3: Řešíme DSM Tab

60 OŘ LP (6) Tab Celočíselným optimálním řešením LP (6) je x (6) =(0, 3, 0, 3), z (6) =30 KONEC VĚTVE

61 x2x2 x1 3x1 3 2 x x 2  15 [0,0] 1 3 x1x x2 1x2 1 x2 ≥2x2 ≥2 x1 2x1 2 x2 ≥3x2 ≥3 „Žabák Integer – x (6) “ x2 ≤2x2 ≤2 Obr − Řešení úlohy LP (6)

62 LP (0) x (0) = (3; 9/5) z (0) = 45 Mez = 45 LP (2) x (2) = (5/2; 2) z (2) = 42,5 Mez = 42 LP (3) x (3) = (2; 11/5) z (3) = 40 Mez = 39 LP (6) x (6) = (0; 3) Mez = 30 x 2 ≤ 1 x 1 ≤ 2 x 2 ≤ 2 x 2 ≥ 3 x 1 ≥ 3 x 2 ≥ 2 LP (1) x (1) = (3; 1) z (1) = 37 Z * = 37 LP (4) x (4) Nepřípustné řešení LP (5) x (5) = (2; 2) z ** = 38 KONEC VĚTVE Obr − Úloha LP (6)

63 KONEC VÝPOČTU Všechny větve jsou ukončeny Protože h (6) = 30 < z **, je optimální hodno- ta účelové funkce celočíselné úlohy z ** = 38 Optimálním řešením úlohy IP (11.7) je x (5) =(2, 2, 1, 1), z (5) = 38 KONEC VÝPOČTU

64 KONEC


Stáhnout ppt "4EK213 – LINEÁRNÍ MODELY Úterý 11:00 – 12:30 hod. učebna 212 RB © Lagová, Kalčevová."

Podobné prezentace


Reklamy Google