Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Diskrétní modely Jan Fábry fabry@vse.cz http://nb.vse.cz/~fabry
2
Požadavky absolvování předmětu a hodnocení
Písemný test v průběhu semestru na cvičení – 20 bodů Seminární práce – 10 bodů Aktivita na cvičení – 10 bodů Závěrečný písemný test – 60 bodů Počet bodů Hodnocení 90 – 100 1 75 – 89 2 60– 74 3 50 – 59 4+ 0 – 49 4 Omluvení předmětu Student si může omluvit předmět před termínem průběžného testu bez udání důvodu ( em). 2
3
Literatura J. Pelikán: Diskrétní modely v operačním výzkumu. PROFESSIONAL PUBLISHING, 2001. J. Pelikán: Diskrétní modely. VŠE Praha, 1999. 3
4
Osnova výuky Úloha celočíselného programování Formulace úloh IP a MIP
Teorie grafů Speciální formulace Vlastnosti úloh IP Metody řešení úloh IP a MIP Úloha celočíselného programování 4
5
Úloha celočíselného programování
1. Úloha celočíselného programování 5
6
1. Úloha celočíselného programování
Úloha lineárního programování (LP) maximalizovat za podmínek 2. Úloha smíšeně-celočíselného lineárního programování (mixed integer) (MIP) 3. Úloha celočíselného programování (IP) 6
7
1. Úloha celočíselného programování
4. Úloha bivalentního programování (binární úloha) (0-1 IP) 5. Úloha smíšeně-celočíselného bivalentního programování (0-1 MIP) 7
8
Osnova výuky Úloha celočíselného programování Formulace úloh IP a MIP
Teorie grafů Speciální formulace Vlastnosti úloh IP Metody řešení úloh IP a MIP Formulace úloh IP a MIP 8
9
2. Formulace úloh IP a MIP 9
10
2. Formulace úloh IP a MIP 2.1 Úloha výrobního plánování
Řezná úloha Úloha batohu Přiřazovací problém Úzkoprofilový přiřazovací problém Obecný přiřazovací problém Kvadratický přiřazovací problém Pokrývací a dělící problém Úloha optimálního rozmístění zařízení Úloha s fixními náklady Úloha s kontejnery 10
11
2.1 Úloha výrobního plánování Production Planning
Podmínky celočíselnosti (proměnné = počty výrobků v kusech) _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 11
12
2.2 Řezná úloha Cutting Stock Problem
Př.: Materiál tvoří prkna o délce 2 m. Úkolem je vyrobit díly o délce 80, 60 a 30 cm v počtu 30, 50 a 80 ks. Cíl: a) minimalizovat odpad, b) minimalizovat počet rozřezaných prken. P1 P2 P3 P4 P5 P6 P7 P8 počet (ks) 80cm 2 1 30 60cm 3 50 30cm 4 6 80 odpad (cm) 10 20 _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 12
13
2.2 Řezná úloha Cutting Stock Problem
za podmínek minimalizovat a) odpad b) počet prken _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 13
14
2.2 Řezná úloha Cutting Stock Problem
Příklad k procvičení Výuka – Diskrétní modely - Krmítka a budky (heslo: modely) _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 14
15
2.3 Úloha batohu Knapsack Problem
Projekty: P1, P2,…, Pn. Cíl: nalézt množinu projektů, která přinese maximální výnos, pokud jejich realizace bude financována z rozpočtu o velikosti K. P1 P2 … Pn náklad a1 a2 an výnos c1 c2 cn 1 vybrán Pi 0 jinak maximalizovat i=1,2,…,n za podmínek _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 15
16
2.4 Přiřazovací problém Assignment Problem
Hledání optimálního vzájemně jednoznačného přiřazení prvků dvou množin. Firmy: F1, F2, F3. Projekty P1, P2 a P3. Každá firma může realizovat pouze jeden z projektů. cij - náklady firmy Fi na realizaci projektu Pj Cíl: přidělit firmám projekty tak, aby byly celkové náklady na realizaci všech projektů minimální. P1 P2 P3 F1 x F2 F3 F1 F2 F3 P1 P3 P2 _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 16
17
2.4 Přiřazovací problém Assignment Problem
minimalizovat za podmínek 1 Fi ↔ Pj 0 jinak i, j = 1,2,…,n. _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 17
18
2.4 Přiřazovací problém Assignment Problem
Příklad P1 P2 P3 F1 1 4 6 F2 7 8 5 F3 3 2 Minimální celkové náklady: _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 18
19
2.5 Úzkoprofilový přiřazovací problém Bottle-Neck Assignment Problem
Hledání optimálního vzájemně jednoznačného zobrazení prvků dvou množin. Firmy: F1, F2, F3. Projekty: P1, P2 a P3. Každá firma je může realizovat pouze jeden z projektů. cij - doba realizace projektu Pj firmou Fi Cíl: přidělit firmám projekty tak, aby byla celková doba realizace všech projektů minimální (všechny firmy začnou realizovat svůj projekt současně). _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 19
20
2.5 Úzkoprofilový přiřazovací problém Bottle-Neck Assignment Problem
Příklad P1 P2 P3 F1 1 4 6 F2 7 8 5 F3 3 2 Minimální doba na dokončení všech projektů: _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 20
21
2.5 Úzkoprofilový přiřazovací problém Bottle-Neck Assignment Problem
minimalizovat za podmínek 1 Fi ↔ Pj 0 jinak i, j = 1,2,…,n. _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 21
22
2.6 Obecný přiřazovací problém Assignment Problem
Hledání optimálního párování v rámci jedné množiny. Pracovníci: P1, P2, …, Pm (m je sudé). cij - ocenění přiřazení pracovníků Pi a Pj Cíl: spárovat prvky množiny co nejefektivněji. minimalizovat za podmínek _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 22
23
2.7 Kvadratický přiřazovací problém Quadratic Assignment Problem
Hledání optimálního rozmístění. Stroje: S1, S2, …, Sn. Pracoviště (místa): M1, M2, …, Mn. dkl - vzdálenost Mk a Ml. cij - počet beden, které se přepravují mezi stroji Si a Sj. Cíl: Rozmístit stroje tak, aby vozík přepravující bedny urazil minimální vzdálenost. minimalizovat za podmínek _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 23
24
2.7 Kvadratický přiřazovací problém Quadratic Assignment Problem
Linearizace modelu 1 Si ↔ Mk a současně Sj ↔ Ml 0 jinak, _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 24
25
2.7 Kvadratický přiřazovací problém Quadratic Assignment Problem
Aplikace: LETIŠTĚ _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 25
26
2.7 Kvadratický přiřazovací problém Quadratic Assignment Problem
Aplikace: PLACEMENT PROBLEM (letovací problém) _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 26
27
2.8 Pokrývací a dělící problém
Hledání optimálního pokrytí či dělení množiny. Úkoly: U={U1, U2, …, Um}. M={1,2, …, m}. Firmy: F1, F2, …, Fn. Fj zajišťuje Mj M za cenu cj. 1 pokud firma Fj má v nabídce úkol Ui 0 jinak i = 1,2,…,m, j = 1,2,…,n. _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 27
28
2.8 Pokrývací a dělící problém
Hledání optimálního pokrytí či dělení množiny. Úkoly: U={U1, U2, …, Um}. M={1,2, …, m}. Firmy: F1, F2, …, Fn. Fj zajišťuje Mj M za cenu cj. 1) je POKRYTÍM množiny M, pokud 2) je ROZKLADEM (DĚLENÍM) množiny M, pokud je jejím pokrytím a platí: _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 28
29
2.8.1 Pokrývací problém Set-Covering Problem
Hledání optimálního pokrytí množiny. Cíl: Vybrat firmy tak, aby co nejlevněji byly pokryty všechny úkoly. 1 Fj vybrána 0 jinak j = 1,2,…,n. minimalizovat za podmínek Každý úkol zajišťuje alespoň jedna firma. _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 29
30
2.8.1 Pokrývací problém Set-Covering Problem
Aplikace: Rozmístění potřebného počtu stanic rychlé pomoci (požární stanice, stanice záchranné služby, havarijní služba atd.). Obvody: O={O1, O2, …, Om}; Lokality pro stanice L={L1, L2,…,Ln}; cj náklady na provoz stanice v lokalitě Lj. 1 dojezdová doba z Lj do Oi je nejvýše 10 min 0 jinak i = 1,2,…,m, j = 1,2,…,n. 1 v lokalitě Lj bude zřízena stanice 0 jinak j = 1,2,…,n. _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 30
31
2.8.2 Dělící problém Set-Partitioning Problem
Hledání optimálního dělení množiny. Úkoly: U={U1, U2, …, Um}. M={1,2, …, m}. Firmy: F1, F2, …, Fn. Fj zajišťuje Mj M za cenu cj. minimalizovat za podmínek Každý úkol zajišťuje právě jedna firma. _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 31
32
2.9 Úloha optimálního rozmístění zařízení Plant Location Problem
Optimální rozmístění skladů, prodejen aj. Místa: M={1, 2, …, m}; kapacity ai ; fixní náklady fi . Zákazníci: N={1, 2, …, n}; požadavky bj . Jednotkové přepravní náklady cij z i-tého skladu k j-tému zákazníkovi. 1 v místě i bude zřízen sklad i = 1,2,…,m. 0 jinak množství zboží přepravované ze skladu v místě i k zákazníkovi j i = 1,2,…,m; j = 1,2,…,n. _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 32
33
2.9 Úloha optimálního rozmístění zařízení Plant Location Problem
minimalizovat za podmínek _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 33
34
2.10 Úloha s fixními náklady Fixed-Cost Problem
Př.: Nalezněte optimální strukturu výroby. V1 V2 kapacita Surovina 1 2 3 450 Surovina 2 1 200 zisk (tis.Kč) 5 8 fixní N (tis.Kč) 30 45 _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 34
35
2.10 Úloha s fixními náklady Fixed-Cost Problem
1 výrobek se vyrábí 0 jinak M = velké číslo. _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 35
36
2.10 Úloha s fixními náklady Fixed-Cost Problem
maximalizovat za podmínek _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 36
37
2.11 Úlohy s kontejnery 1) Rozšíření úlohy batohu (BIN PACKING PROBLEM) 2) Kontejnerový dopravní problém _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 37
38
2.11.1 Rozšíření úlohy batohu Bin Packing Problem
výrobky – V1, V2, …, Vn , m kontejnerů, rj – počet výrobků Vj, aj – hmotnost výrobku Vj, bj – objem výrobku Vj, K – nosnost kontejneru, L – objem kontejneru. Cíl: Minimalizovat počet použitých kontejnerů. _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 38
39
2.11.1 Rozšíření úlohy batohu Bin Packing Problem
1 i-tý kontejner obsazen, 0 jinak, i = 1,2,…,m. i = 1,2,…,m; j = 1,2,…,n. minimalizovat za podmínek _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 39
40
2.11.2 Kontejnerový dopravní problém
Dodavatelé – D1, D2, …, Dm . Odběratelé – O1, O2, …, On . cij – přepravní náklady kontejneru od Di k Oj. K – kapacita kontejneru. Cíl: Minimalizovat celkové přepravní náklady. _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 40
41
2.11.2 Kontejnerový dopravní problém
xij – objem přepravy od Di k Oj , yij – počet kontejnerů od Di k Oj . minimalizovat za podmínek _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 41
42
Osnova výuky Úloha celočíselného programování Formulace úloh IP a MIP
Teorie grafů Speciální formulace Vlastnosti úloh IP Metody řešení úloh IP a MIP Teorie grafů 42
43
3. Teorie grafů 43
44
3. Teorie grafů 3.1 Úvod do teorie grafů
3.2 Úlohy hledání maximálního toku 3.3 Přepravní problém 3.4 Úloha hledání minimální kostry grafu 3.5 Úloha hledání minimálního Steinerova stromu 3.6 Okružní a rozvozní problémy _______________________________________________________________________________________ 3. Teorie grafů 44
45
3.1 Úvod do teorie grafů L. Euler - Problém königsbergských mostů (1736) B A C D _______________________________________________________________________________________ 3. Teorie grafů 45
46
3.1 Úvod do teorie grafů Základní pojmy: UZEL
HRANA –NEORIENTOVANÁ, ORIENTOVANÁ GRAF –NEORIENTOVANÝ, ORIENTOVANÝ SLED HRAN CESTA CYKLUS (UZAVŘENÁ CESTA) SOUVISLÝ GRAF ÚPLNÝ GRAF STROM _______________________________________________________________________________________ 3. Teorie grafů 46
47
3.2 Úlohy hledání maximálního toku Maximal Flow Problem
Hledání maximálního toku sítí. kij – kapacita (maximální propustnost) hrany (i, j), uzel 1 – zdroj, uzel n – místo určení. maximalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 47
48
3.2 Úlohy hledání maximálního toku Maximal Flow Problem
Hledání nejlevnějšího toku sítí. kij – kapacita (maximální propustnost) hrany (i, j), cij – náklady spojené s jednotkou toku hranou (i, j), T0 – požadovaná hodnota celkového toku. minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 48
49
3.2 Úlohy hledání maximálního toku Maximal Flow Problem
Maximalizace toku při zadaných nákladech. kij – kapacita (maximální propustnost) hrany (i, j), cij – náklady spojené s jednotkou toku hranou (i, j), C0 – povolené náklady. maximalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 49
50
3.2 Úlohy hledání maximálního toku Maximal Flow Problem
Maximalizace toku s fixními náklady. kij – kapacita (maximální propustnost) hrany (i, j), cij – fixní (např. investiční) náklady na hranu (i, j), T0 – požadovaná hodnota celkového toku. 1 realizace hrany (i,j) – hrana propouští, 0 jinak. _______________________________________________________________________________________ 3. Teorie grafů 50
51
3.2 Úlohy hledání maximálního toku Maximal Flow Problem
Maximalizace toku s fixními náklady. minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 51
52
3.2 Úlohy hledání maximálního toku Maximal Flow Problem
Omezení (kapacita) uzlů. kij – kapacita (maximální propustnost) hrany (i, j), dj – maximální možný tok uzlem j. Přidáme omezení _______________________________________________________________________________________ 3. Teorie grafů 52
53
3.2 Úlohy hledání maximálního toku Maximal Flow Problem
Víceproduktové tokové úlohy. Různé produkty: 1,2,…,K, – požadovaný tok produktu k (k = 1,2,…,K), – náklady spojené s jednotkou toku produktu k hranou (i,j) tok produktu k hranou (i,j) _______________________________________________________________________________________ 3. Teorie grafů 53
54
3.2 Úlohy hledání maximálního toku Maximal Flow Problem
Víceproduktové tokové úlohy. minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 54
55
3.3 Přepravní problém Transhipment Problem
Uzel i: ai > 0 dodavatel (zdroj), ai < 0 odběratel (místo určení, koncový uzel), ai = 0 průběžný uzel (překladiště), kij – kapacita hrany (i,j), cij – náklady spojené s jednotkou toku hranou (i,j). Cíl: Splnit požadavky odběratelů a nepřekročit kapacity dodavatelů při minimálních nákladech spojených s tokem. _______________________________________________________________________________________ 3. Teorie grafů 55
56
3.3 Přepravní problém Transhipment Problem
minimalizovat za podmínek odtok přítok _______________________________________________________________________________________ 3. Teorie grafů 56
57
3.4 Úloha hledání minimální kostry Minimal Spanning Tree
Graf Kostra grafu Minimální kostra grafu – kostra grafu s minimálním součtem ohodnocení hran 1 hrana (i,j) bude vybrána, 0 jinak, Převedení na TRANSHIPMENT PROBLEM tok hranou (i,j) _______________________________________________________________________________________ 3. Teorie grafů 57
58
3.4 Úloha hledání minimální kostry Minimal Spanning Tree
minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 58
59
3.4 Úloha hledání minimální kostry Minimal Spanning Tree
Modifikace úlohy – limitovaný počet připojení. di – počet hran, se kterými může být uzel i maximálně spojen. Přidáme omezení _______________________________________________________________________________________ 3. Teorie grafů 59
60
3.5 Minimální Steinerův strom
Hledání nejlevnějšího podgrafu Uzly: zdroj, průběžné uzly (překladiště, pomocné stanice, ústředny), koncové uzly. Cíl: Propojit všechny koncové uzly se zdrojem (přes průběžné uzly nebo přímo) tak, aby náklady byly minimální. Náklady: cij – náklady na hranu (i, j), dj – náklady na ústřednu. _______________________________________________________________________________________ 3. Teorie grafů 60
61
3.5 Minimální Steinerův strom
1 uzel i bude zahrnutý, 0 jinak, 1 hrana (i,j) bude zahrnuta, 0 jinak, tok hranou (i,j), Označení uzlů: 1 – zdroj, 2,3,…,p – koncové uzly, p+1, p+2,…,n – průběžné uzly. _______________________________________________________________________________________ 3. Teorie grafů 61
62
3.5 Minimální Steinerův strom
minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 62
63
3.6 Okružní a rozvozní úlohy Vehicle Routing Problems
Základní pojmy: HAMILTONŮV CYKLUS EULERŮV CYKLUS EULERŮV TAH FLEURYHO ALGORITMUS Úloha obchodního cestujícího Úloha čínského listonoše _______________________________________________________________________________________ 3. Teorie grafů 63
64
3.6 Okružní a rozvozní úlohy Vehicle Routing Problems
Klasifikace úloh 1. Znalost zákazníků STATICKÉ ÚLOHY – všichni zákazníci jsou předem známí DYNAMICKÉ ÚLOHY – po výjezdu vozidel na trasy přicházejí další požadavky 2. Velikost požadavků a kapacita vozidel OKRUŽNÍ ÚLOHY – neuvažujeme velikost požadavků ROZVOZNÍ ÚLOHY – zadány velikosti požadavků, kapacita vozidla je důležitá 3. Počet a umístění vozidel – jedno výchozí místo – několik výchozích míst 4. Cíl optimalizace _______________________________________________________________________________________ 3. Teorie grafů 64
65
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
Výchozí místo (depot) – uzel č. 1, jedno vozidlo. Zákazníci – 2,3,…,n, nulové požadavky. cij – vzdálenost mezi uzly i a j. Cíl: Navštívit všechny zákazníky a vrátit se do výchozího místa tak, aby délka trasy byla minimální. Najít Hamiltonův cyklus s minimálním součtem ohodnocení hran. 1 vozidlo pojede z uzlu i do uzlu j, 0 jinak, _______________________________________________________________________________________ 3. Teorie grafů 65
66
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
minimalizovat za podmínek Miler-Tucker- Zemlin _______________________________________________________________________________________ 3. Teorie grafů 66
67
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
Dantzig-Fulkerson-Johnson a) b) _______________________________________________________________________________________ 3. Teorie grafů 67
68
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
Symetrická úloha obchodního cestujícího. 1 hrana (i,j) leží na Hamiltonově cyklu 0 jinak, minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 68
69
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
Metrická úloha obchodního cestujícího. Trojúhelníkové nerovnosti „Euklidovská“ úloha obchodního cestujícího. „Otevřená“ úloha obchodního cestujícího. Vozidlo se nevrací do výchozího místa. _______________________________________________________________________________________ 3. Teorie grafů 69
70
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
Úloha obchodního cestujícího s časovými okny. (Travelling Salesman Problem with Time Windows). <ai ,bi> časové okno i-tého zákazníka. cij – vzdálenost mezi uzly i a j. dij – doba přejezdu mezi uzly i a j. – čas, v němž je navštíven uzel i. _______________________________________________________________________________________ 3. Teorie grafů 70
71
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 71
72
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
Dynamická úloha obchodního cestujícího. Statická úloha Optimalizace Příchod nového požadavku Re-optimalizace Dynamická úloha Vkládací algoritmus _______________________________________________________________________________________ 3. Teorie grafů 72
73
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
Dynamická úloha obchodního cestujícího 2 7 Nový zákazník 4 Optimální trasa 5 1 Výchozí místo 6 3 _______________________________________________________________________________________ 3. Teorie grafů 73
74
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
Statická úloha s více vozidly v různých výchozích místech 5 výchozích míst 15 zákazníků _______________________________________________________________________________________ 3. Teorie grafů 74
75
3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem
Dynamická úloha s více vozidly v různých výchozích místech 5 nových zákazníků 21 22 23 24 25 Vkládací algoritmus _______________________________________________________________________________________ 3. Teorie grafů 75
76
3.6.2. Rozvozní problém Vehicle Routing Problem
Výchozí místo (depot) – uzel č. 1, jedno vozidlo o kapacitě V. Zákazníci – 2,3,…,n, požadavky qi. cij – vzdálenost mezi uzly i a j. Cíl: Uspokojit požadavky všech zákazníků a vrátit se do výchozího místa tak, aby součet délek všech tras byl minimální. 1 vozidlo pojede z uzlu i do uzlu j, 0 jinak, _______________________________________________________________________________________ 3. Teorie grafů 76
77
3.6.2. Rozvozní problém Vehicle Routing Problem
minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 77
78
3.6.2. Rozvozní problém Vehicle Routing Problem
Rozvozní úloha s časovými okny. (Vehicle Routing Problem with Time Windows). <ai ,bi> časové okno i-tého zákazníka. cij – vzdálenost mezi uzly i a j. dij – doba přejezdu mezi uzly i a j. Si – doba nakládky u i-tého zákazníka. – čas, v němž je navštíven uzel i. _______________________________________________________________________________________ 3. Teorie grafů 78
79
3.6.2. Rozvozní problém Vehicle Routing Problem
3D formulace (3 indexy). Rozlišujeme trasy podle vozidel. Vk – kapacita k-tého vozidla. 1 k-té vozidlo pojede z uzlu i do uzlu j, 0 jinak, _______________________________________________________________________________________ 3. Teorie grafů 79
80
3.6.2. Rozvozní problém Vehicle Routing Problem
minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 80
81
3.6.2. Rozvozní problém Vehicle Routing Problem
Rozvozní úloha s dělenou dodávkou. (Split Delivery Vehicle Routing Problem). je nutné dělit dodávku není nutné dělit dodávku _______________________________________________________________________________________ 3. Teorie grafů 81
82
3.6.2. Rozvozní problém Vehicle Routing Problem
Příklad Zákazníci 2 3 4 10 8 1 Poptávka Sklad Vzdálenost _______________________________________________________________________________________ 3. Teorie grafů 82
83
3.6.2. Rozvozní problém Vehicle Routing Problem
Příklad Řešení s nedělenou dodávkou 2 3 4 10 8 1 3 trasy: (1-2-1); (1-3-1); (1-4-1) Celková vzdálenost = 60 _______________________________________________________________________________________ 3. Teorie grafů 83
84
3.6.2. Rozvozní problém Vehicle Routing Problem
Příklad Řešení s dělenou dodávkou 2 3 4 10 8 1 2 trasy: ( ); ( ) Celková vzdálenost = 45 _______________________________________________________________________________________ 3. Teorie grafů 84
85
3.6.2. Rozvozní problém Vehicle Routing Problem
minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 85
86
3.6.3. Úloha čínského listonoše Chinese Postman Problem
Výchozí místo – uzel č. 1. Hrany ~ ulice, silnice atd. cij – vzdálenost mezi uzly i a j. Cíl: Projít každou ulicí alespoň jednou a vrátit se do výchozího místa tak, aby délka trasy byla minimální. Pokud jsou všechny uzly sudého stupně, pak každou ulicí projdeme právě jednou (Eulerův cyklus). Pokud existují uzly lichého stupně, zdvojíme některé hrany. _______________________________________________________________________________________ 3. Teorie grafů 86
87
3.6.3. Úloha čínského listonoše Chinese Postman Problem
První model pro neorientovaný graf: T množina uzlů lichého stupně, U-T uzlů sudého stupně. 1 přidáme do grafu hranu (i, j), 0 jinak, minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 87
88
3.6.3. Úloha čínského listonoše Chinese Postman Problem
Druhý model pro neorientovaný graf: kolikrát bude hrana (i,j) zahrnuta v Eulerově cyklu, minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 88
89
3.6.3. Úloha čínského listonoše Chinese Postman Problem
Model pro orientovaný graf: I – množina uzlů, ve kterých je počet vstupujících hran větší než počet vystupujících hran, rozdíl počtu vstupujících a vystupujících hran (počet vystupujících hran/cest, které musíme přidat). J – množina uzlů, ve kterých je počet vystupujících hran větší než počet vstupujících hran. rozdíl počtu vystupujících a vstupujících hran, (počet vstupujících hran/cest, které musíme přidat). _______________________________________________________________________________________ 3. Teorie grafů 89
90
3.6.3. Úloha čínského listonoše Chinese Postman Problem
počet orientovaných hran/cest mezi uzly i a j, které přidáme do grafu, náklady na hranu/cestu mezi uzly i a j, kterou přidáme do grafu, minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 90
91
Osnova výuky Úloha celočíselného programování Formulace úloh IP a MIP
Teorie grafů Speciální formulace Vlastnosti úloh IP Metody řešení úloh IP a MIP Speciální formulace 91
92
Formulace nelineárních funkcí
4. Formulace nelineárních funkcí a speciálních omezení 92
93
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 1 – Po částech lineární funkce Funkce jedné proměnné po částech lineární, tj. lineární v intervalech _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 93
94
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 1 – Po částech lineární funkce 1 0 jinak, 1 0 jinak, => => _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 94
95
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 1 – Po částech lineární funkce Model: _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 95
96
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 1 – Po částech lineární funkce Obecný model: _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 96
97
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 2 – Nekonvexní množina přípustných řešení 1 0 jinak. nebo 1 0 jinak. _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 97
98
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 3 – Platnost různých soustav omezujících podmínek Ve výrobě lze použít dvě různé technologie I a II. 1 použita technologie I, 0 jinak. 1 použita technologie II, 0 jinak. _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 98
99
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 3 – Platnost různých soustav omezujících podmínek M = velké číslo. _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 99
100
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 4 – Speciální omezení pro úroveň výroby Výrobek se nevyrábí nebo se vyrábí v množství minimálně 500 ks a maximálně 1000 ks. y – množství vyrobeného výrobku nebo 1 výrobek se vyrábí, 0 jinak, _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 100
101
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 5 – Diskrétní úroveň výroby Počet výrobků může nabývat pouze těchto hodnot: 0 ks, 500 ks, 2000 ks nebo ks. y – množství vyrobeného výrobku 1 y =500, 0 jinak, 1 y =2000, 0 jinak, 1 y =10000, 0 jinak, _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 101
102
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 6 – Výroba určitého počtu druhů výrobků Lze vyrábět výrobky V1, V2, …, V8. Maximální množství z1, z2, …, z8. Chceme vyrábět právě tři druhy výrobků. - množství vyrobeného výrobku Vi , 1 Vi vyráběn, 0 jinak, _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 102
103
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 6 – Výroba určitého počtu druhů výrobků Lze vyrábět výrobky V1, V2, …, V8. Maximální množství z1, z2, …, z8. Chceme vyrábět právě tři druhy výrobků. Množství vyráběných výrobků se musí rovnat. množství vyráběných výrobků, _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 103
104
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 7 – Minimum z proměnných Proměnná y má být rovna minimu z hodnot proměnných y1, y2, y3. 1 y = y1, 0 jinak. 1 y = y2, 0 jinak. 1 y = y3, 0 jinak. _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 104
105
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 8 – Součin bivalentních proměnných Zapište pomocí lineárních omezení účelovou funkci z = x1.x2.x3, kde x1, x2, x3 jsou bivalentní proměnné. 1 x1 = x2 = x3 = 1, 0 jinak. _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 105
106
4. Formulace nelineárních funkcí a speciálních omezení
Příklad 9 – Zápis celočíselné proměnné pomocí bivalentních proměnných Nechť x je celočíselná proměnná z intervalu <0,31>. Zapište proměnnou pomocí lineárního výrazu ve dvojkovém tvaru. _______________________________________________________________________________________ 4. Formulace nelineárních funkcí a speciálních omezení 106
107
Osnova výuky Úloha celočíselného programování Formulace úloh IP a MIP
Teorie grafů Speciální formulace Vlastnosti úloh IP Metody řešení úloh IP a MIP Vlastnosti úloh IP 107
108
5. Vlastnosti úloh IP 108
109
5. Vlastnosti úloh IP Množina přípustných řešení úlohy IP
Množina přípustných řešení úlohy LP Konvexní polyedr (polytop, pokud je omezená). Mřížové body _______________________________________________________________________________________ 5. Vlastnosti úloh IP 109
110
5. Vlastnosti úloh IP Konvexní kombinace bodů Konvexní obal množiny
Bod je konvexní lineární kombinací bodů z množiny S, pokud existuje množina bodů z S a parametry takové, že Konvexní obal množiny Konvexní obal množiny S je množina všech bodů, které jsou konvexní lineární kombinací bodů z S. _______________________________________________________________________________________ 5. Vlastnosti úloh IP 110
111
5. Vlastnosti úloh IP 1. Platná nerovnost 2. Opěrná nerovnost
Obsahuje conv(S), tedy i S: 2. Opěrná nerovnost Je to platná nerovnost, pro kterou platí: 3. Fazeta (opěrná stěna) Leží v conv(S) _______________________________________________________________________________________ 5. Vlastnosti úloh IP 111
112
5. Vlastnosti úloh IP Zesilování nerovností Původní platná nerovnost:
Silnější platná nerovnost: Maximální platná nerovnost – neexistuje k ní silnější platná nerovnost. _______________________________________________________________________________________ 5. Vlastnosti úloh IP 112
113
5. Vlastnosti úloh IP Zesilování nerovností Cíl:
Formulovat platnou nerovnost k množině S, která není platná vzhledem k množině P. Příklad _______________________________________________________________________________________ 5. Vlastnosti úloh IP 113
114
5. Vlastnosti úloh IP Zesilování nerovností Diofantova věta: Nechť
Pak existuje celočíselné řešení právě tehdy, když největší společný dělitel koeficientů dělí Nechť Příklad Opěrná nerovnost tzv. Chvátal – Gomoryho posun _______________________________________________________________________________________ 5. Vlastnosti úloh IP 114
115
5. Vlastnosti úloh IP Zesilování nerovností 1) LIFTING Úprava platných
2) FIXING 3) Přidávání dalších platných nerovností _______________________________________________________________________________________ 5. Vlastnosti úloh IP 115
116
5. Vlastnosti úloh IP Zesilování nerovností 1) LIFTING Příklad
liftovaná (zesílená) nerovnost _______________________________________________________________________________________ 5. Vlastnosti úloh IP 116
117
5. Vlastnosti úloh IP Zesilování nerovností 1) LIFTING Algoritmus
a zjišťujeme, o kolik lze ještě snížit hodnotu pravé strany nerovnice, aby se nezměnila množina přípustných řešení. Pro i = 1, 2, …, n postupně nastavujeme Zvýšíme koeficient u proměnné _______________________________________________________________________________________ 5. Vlastnosti úloh IP 117
118
5. Vlastnosti úloh IP Zesilování nerovností 1) LIFTING Příklad
Snižujeme koeficienty u celočíselných proměnných na hodnotu pravé strany. _______________________________________________________________________________________ 5. Vlastnosti úloh IP 118
119
5. Vlastnosti úloh IP Zesilování nerovností 2) FIXING Příklad
nikdy není splněno Zafixování proměnné: _______________________________________________________________________________________ 5. Vlastnosti úloh IP 119
120
5. Vlastnosti úloh IP Zesilování nerovností 2) FIXING Příklad
pouze takto je úloha řešitelná Zafixování proměnné: _______________________________________________________________________________________ 5. Vlastnosti úloh IP 120
121
5. Vlastnosti úloh IP Zesilování nerovností
3) Přidávání dalších platných nerovností Např. Gomoryho řez _______________________________________________________________________________________ 5. Vlastnosti úloh IP 121
122
(neceločíselná) nerovnost
5. Vlastnosti úloh IP Zesilování nerovností 3) Přidávání dalších platných nerovností Gomoryho zlomková (neceločíselná) nerovnost celé číslo celé číslo Gomoryho celočíselná nerovnost _______________________________________________________________________________________ 5. Vlastnosti úloh IP 122
123
5. Vlastnosti úloh IP Zesilování nerovností
3) Přidávání dalších platných nerovností Příklad d = 12 Zlomková nerovnost: Celočíselná nerovnost: _______________________________________________________________________________________ 5. Vlastnosti úloh IP 123
124
Osnova výuky Úloha celočíselného programování Formulace úloh IP a MIP
Teorie grafů Speciální formulace Vlastnosti úloh IP Metody řešení úloh IP a MIP Metody řešení úloh IP a MIP 124
125
Metody řešení úloh IP a MIP
6. Metody řešení úloh IP a MIP 125
126
6. Metody řešení úloh IP a MIP
6.1 Relaxace 6.2 Metody řezných nadrovin 6.3 Metoda větvení a mezí 6.4 Výpočetní složitost úloh 6.5 Heuristiky 6.6 Metaheuristiky _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 126
127
6. Metody řešení úloh IP a MIP
Kdy lze použít simplexovou metodu k řešení úloh IP a MIP ? adjungovaná matice (transponovaná matice algebraických doplňků) determinant matice báze = součin všech klíčových prvků od začátku výpočtu simplexovou metodou = vektor hodnot proměnných Kdy jsou jeho složky celočíselné? _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 127
128
6. Metody řešení úloh IP a MIP
Kdy lze použít simplexovou metodu k řešení úloh IP a MIP ? Při celočísleném vektoru b musí být celočíslená také inverzní matice báze. je ohrožena celočíselnost Nelze použít simplexovou metodu. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 128
129
6. Metody řešení úloh IP a MIP
Kdy lze použít simplexovou metodu k řešení úloh IP a MIP ? Předpoklad: strukturní koeficienty a hodnoty pravých stran jsou celočíselné. Věta: Základní řešení úlohy LP jsou celočíselná, jestliže pro všechny regulární matice B platí: tj. matice B je unimodulární. Lze použít simplexovou metodu. Např. dopravní problém, tokové úlohy,… _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 129
130
6. Metody řešení úloh IP a MIP 130
6.1 Relaxace Úloha celočíselného programování Relaxace úlohy celočíselného programování Hodnota je horním odhadem _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 130
131
6. Metody řešení úloh IP a MIP 131
6.1 Relaxace Lineární relaxace 1) 2) _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 131
132
6. Metody řešení úloh IP a MIP 132
6.1 Relaxace Lagrangeova relaxace omezujících podmínek Přesun omezujících podmínek do účelové funkce: Lagrangeova relaxace: _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 132
133
6. Metody řešení úloh IP a MIP 133
6.1 Relaxace Lagrangeova relaxace Pro každé je horním odhadem optimální hodnoty účelové funkce Hledáme nejmenší číslo : Lagrangeova duální úloha _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 133
134
6.2 Metody řezných nadrovin
Množina přípustných řešení celočíselné úlohy: Množina přípustných řešení úlohy bez podmínek celočíselnosti: Všechny krajní body množiny conv(S) jsou celočíselné, ale většinou různé od krajních bodů množiny P. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 134
135
6.2 Metody řezných nadrovin
Množiny S a conv(S) nelze popsat pomocí soustavy omezujících podmínek jako P. Cíl: Odstranit z množiny P body ležící v množině P – conv(S) tak, aby krajní body vzniklé množiny byly již z množiny S, tj. celočíselné. Přidání platných nerovností vzhledem k S a conv(S). _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 135
136
6.2 Metody řezných nadrovin
Gomoryho metoda 1) Řešíme úlohu IP bez podmínek celočíselnosti, tj. lineární relaxaci úlohy IP. 2) Je-li řešení celočíselné, je to OŘ úlohy IP, výpočet končí. 3) Vybereme proměnnou, jejíž hodnota v optimálním řešení relaxace nesplňuje podmínku celočíselnosti. Z příslušného řádku simplexové tabulky vytvoříme Gomoryho nerovnost. 4) Vyrovnáme Gomoryho nerovnost na rovnici pomocí přídatné proměnné a vložíme jako další řádek do simplexové tabulky. Řešíme duální simplexovou metodou do optima. Pokračujeme krokem 2. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 136
137
6.3 Metoda větvení a mezí Branch and Bound
Univerzální metoda řešení úloh IP a MIP. Nepolynomiální algoritmus. Příklad 1 Příklad 2 _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 137
138
6.3 Metoda větvení a mezí Branch and Bound
Algoritmus (Uvažujeme maximalizační úlohu) M – posloupnost, v níž se nacházejí úlohy, které řešíme v jednotlivých větvích, – nejlepší nalezené celočíselné řešení, nejlepší hodnota účelové funkce, 1. krok – Počáteční nastavení M = {původní úloha bez podmínek celočíselnosti} – není definováno _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 138
139
6.3 Metoda větvení a mezí Branch and Bound
Algoritmus 2. krok – Výběr úlohy M je prázdná => konec, tisk M není prázdná => vybereme z posloupnosti M poslední úlohu _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 139
140
6.3 Metoda větvení a mezí Branch and Bound
Algoritmus 3. krok – Řešení vybrané úlohy a) neexistuje přípustné řešení => odstraníme úlohu z posloupnosti M krok b) optimální řešení b1) => odstraníme úlohu z M krok b2) => odstraníme úlohu z M krok b3) není celé krok (větvení) _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 140
141
6.3 Metoda větvení a mezí Branch and Bound
Algoritmus 4. krok – Větvení Zvolíme větvící proměnnou , jejíž hodnota není celé číslo do M přidáme kopii úlohy řešené ve 3. kroku, k níž přidáme omezení I: k předposlední úloze v množině M, řešené ve 3. kroku přidáme omezení II: 2. krok _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 141
142
6.3 Metoda větvení a mezí Branch and Bound
Metoda větvení a mezí pro bivalentní úlohu Počet proměnných: n Maximální počet pater: n Maximální počet koncových větví: Programy převádějí celá čísla na binární – libovolná celočíselná úloha je převoditelná na binární úlohu (dostaneme větší počet koncových větví). _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 142
143
6.3 Metoda větvení a mezí Branch and Bound
Doplňující techniky metody větvení a mezí Výběr úlohy, která se bude řešit v následujícím kroku (strategie procházení uzlů stromu řešení) – výběr uzlů v pořadí v jakém byly vytvářeny (zleva doprava), – zpracování uzlů po vrstvách stromu (1. vrstva, pak 2. vrstva, …), – výběr uzlů podle nejvyšší horní hranice účelové funkce. Výběr větvící proměnné – např. heuristická metoda: výběr proměnné, která je nejblíže polovině dvou celých čísel, – další složitější metody. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 143
144
6.3 Metoda větvení a mezí Branch and Bound
Metoda větvení a řezů (Branch and Cut) Kombinace metody větvení a mezí a metody řezných nadrovin: – přidávání řezů, dokud lze nalézt platné omezení, nebo do okamžiku, kdy přidávání dalších řezů již nemá výrazný vliv na hodnotu účelové funkce, – pak následuje větvení metodou větvení a mezí. Výhoda metody: generuje se nižší počet větví. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 144
145
6.3 Metoda větvení a mezí Branch and Bound
Metoda větvení a oceňování (Branch and Price) Vhodná pro úlohy IP, které obsahují velký počet proměnných. V optimálním řešení je pouze malá část proměnných nenulová. Původní zadání úlohy je redukováno na výchozí podmnožinu sloupců nalezení optimálního řešení test, zda je toto řešení optimální i pro původní úlohu pokud není optimální, pak vygenerujeme sloupec, který porušuje test optima přidání sloupce a nové řešení redukované úlohy. Větvení: pokud optimální řešení nesplňuje podmínky celočíselnosti. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 145
146
6.4 Výpočetní složitost úloh Computational Complexity
Úlohy a algoritmy Rozsah úlohy: – úlohy MIP: počet proměnných, počet omezujících podmínek – úlohy teorie grafů: počet uzlů, počet hran Efektivní algoritmus: algoritmus, kterým lze řešit danou úlohu v rozumném výpočetním čase Výpočetní čas: – měří se počtem elementárních operací fiktivního počítače _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 146
147
6.4 Výpočetní složitost úloh Computational Complexity
Hledáme horní odhad výpočetního času pro nejnepříznivější zadání koeficientů úlohy. Funkce výpočetní složitosti: – nejdelší výpočetní čas pro úlohu rozměru n Není důležité znát přesný tvar funkce f(n), ale velikost růstu f(n) pro n rostoucí, tj. asymptotický charakter růstu funkce f(n). (platí pro všechna přirozená n) – jednoduchá funkce: _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 147
148
6.4 Výpočetní složitost úloh Computational Complexity
– Omikron notace („velké O notace“), horní odhad časové nároky řešení nikdy neporostou rychleji než g(n), („horší už to nebude“). – Théta notace, průměrný odhad, („nějak to bude, může být i lépe, ale i hůř“). – Omega notace, dolní odhad, („lepší už to nebude“). _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 148
149
6.4 Výpočetní složitost úloh Computational Complexity
Výpočetní čas algoritmů g(n) n = 10 n = 30 n = 50 n = 70 0, s 0, s 0, s 0, s 0,001 s 0,027 s 0,125 s 0,343 s 0,1 s 24,3 s 5,2 min 28 min 17,9 min 35,7 roků 37 mil. roků 0,059 s 6,5 roku 2,3 x 1010 roků 1013 mil. roků Elementární operace na PC (Turingův stroj): 0, s _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 149
150
6.4 Výpočetní složitost úloh Computational Complexity
Algoritmy Polynomiální: Nepolynomiální: 4 základní třídy úloh P NP NPC NPH _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 150
151
6.4 Výpočetní složitost úloh Computational Complexity
Třída P Rozhodovací úlohy, pro které existuje polynomiální algoritmus. Problém patří do třídy P, pokud existuje polynomiální algoritmus, který jej řeší. - úloha lineárního programování - úloha hledání minimální kostry grafu - úloha hledání nejkratší cesty grafu - úloha hledání maximálního toku sítí - přiřazovací problém _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 151
152
6.4 Výpočetní složitost úloh Computational Complexity
Třída NP Nedeterministický polynomiální algoritmus: 1. fáze – náhodné vygenerování řešení 2. fáze – ověření, zda toto řešení je hledaným řešením dané úlohy – polynomiální algoritmus Třída NP: třída úloh, pro které existuje nedeterministický polynomiální algoritmus. Jsou to úlohy typu ANO/NE: existuje v grafu Hamiltonův cyklus? - existuje přípustné řešení úlohy MIP? _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 152
153
6.4 Výpočetní složitost úloh Computational Complexity
Třída NPC (NP-complete = NP-úplné úlohy) Polynomiální redukovatelnost: Úloha A je polynomiálně redukovatelná na úlohu B, jestliže existuje zadání úlohy B takové, že z výsledku řešení úlohy B lze odvodit řešení úlohy A. Toto odvození musí být realizováno polynomiálním algoritmem. Úloha A je vlastně speciálním případem úlohy B. Úloha B je obecnější, tedy obtížnější. Třída NPC: třída úloh L z třídy NP, pro které platí, že každá úloha z NP se dá redukovat na úlohu L. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 153
154
6.4 Výpočetní složitost úloh Computational Complexity
Třída NPC (NP-complete = NP-úplné úlohy) Je-li úloha A NP-úplná a úlohu A lze redukovat na úlohu B z NP, pak i B je NP-úplná úloha. Toto tvrzení lze využívat při dokazování, že úlohy jsou NP-úplné: polynomiálním postupem jsou převedeny na některou známou NP-úplnou úlohu. 1. ukázat, že úloha je z třídy NP 2. nalézt NP-úplnou úlohu, která se dá na danou úlohu redukovat - např. úloha hledání Hamiltonova cyklu, partition problem, binární formy některých optimalizačních úloh, aj. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 154
155
6.4 Výpočetní složitost úloh Computational Complexity
Třída NPH (NP-hard = NP-těžké, obtížné úlohy) Úlohy obtížnější než všechny úlohy z NP. - úloha obchodního cestujícího - úloha celočíselného programování - úloha hledání Steinerova stromu - úloha batohu _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 155
156
6. Metody řešení úloh IP a MIP 156
6.5 Heuristiky Heuristiky – speciální algoritmy vyvinuté pro speciální obtížné úlohy. Metaheuristiky – obecné algoritmy pro řešení obtížných úloh. Řešení bez požadavku optimality – suboptimální řešení. Někdy jediná možná metoda řešení dané úlohy (NPC a NPH úlohy). Jsou to polynomiální algoritmy. Výhoda metod: snadno upravitelné pro konkrétní úlohu. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 156
157
6. Metody řešení úloh IP a MIP 157
6.5 Heuristiky Heuristiky pro úlohu obchodního cestujícího Metoda nejbližšího souseda 1) výběr libovolného uzlu 2) nalezení nejbližšího souseda k vybranému uzlu 3) nalezení nejbližšího souseda k uzlu z bodu 2 atd., dokud nevznikne Hamiltonův ckylus _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 157
158
6. Metody řešení úloh IP a MIP 158
6.5 Heuristiky Metoda výhodnostních čísel (savings - Clark, Wright) 1) výpočet matice výhodnostních čísel 2) sestupné setřídění čísel sij 3) spojování uzlů i a j podle setříděných čísel sij (nesmí vzniknout předčasně cyklus) _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 158
159
6. Metody řešení úloh IP a MIP 159
6.5 Heuristiky Metoda vkládací (insert) najdeme nejvzdálenější uzel s od výchozího uzlu a vytvoříme uzavřenou cestu 1-s-1 2) do vytvořené cesty vložíme další uzel tak, aby prodloužení bylo minimální 3) opakujeme krok 2, dokud nebude vytvořen Hamiltonův cyklus _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 159
160
6. Metody řešení úloh IP a MIP 160
6.5 Heuristiky Metoda výměn (Lin, Kernighen), metoda 2x2 Metoda zlepšující dané řešení. vynecháme 2 hrany, které nemají společný uzel 2) vyměníme tyto 2 hrany za jiné dvě hrany tak, aby opět vznikl Hamiltonův cyklus 3) pokud výměna přináší úsporu, výměnu realizujeme Tzv. 2-optimální řešení: pokud již nelze touto metodou zlepšit řešení. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 160
161
6. Metody řešení úloh IP a MIP 161
6.5 Heuristiky Metoda minimální kostry Metoda využívá polynomiálního algoritmu pro hledání minimální kostry grafu (následná transformace kostry na cyklus). nalezneme minimální kostru grafu 2) zdvojením hran získáme Eulerův cyklus 3) transformujeme Eulerův ckylus na Hamiltonův cyklus _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 161
162
6. Metody řešení úloh IP a MIP 162
6.5 Heuristiky Christofidova metoda nalezneme minimální kostru grafu 2) uzly lichého stupně spojíme hranami metodou perfektního párování s minimálními náklady 3) získaný Eulerův cyklus transformujeme na Hamiltonův cyklus _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 162
163
6. Metody řešení úloh IP a MIP 163
6.5 Heuristiky Metoda zatřiďování vytvoříme výchozí systém minicyklů shlukování cyklů na základě minimální vzdálenosti, dokud nebude vytvořen Hamiltnův cyklus _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 163
164
6. Metody řešení úloh IP a MIP 164
6.6 Metaheuristiky Metoda lokálního hledání (Local Search) 1) Zvolíme libovolné řešení 2) Definujeme okolí a ohodnotíme všechna řešení 3) Nechť je nejlepší řešení z okolí 4) Pokud , pak 5) Pokračujeme bodem 2 Algoritmus lze přerušit na základě splnění určitého ukončovacího pravidla Algoritmus se zastaví v lokálním minimu funkce _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 164
165
6. Metody řešení úloh IP a MIP 165
6.6 Metaheuristiky Metoda Tabu Search Metoda je založená na metodě Local Search. Během hledání nejlepšího řešení se vytváří tzv. TABU seznam (seznam zakázaných bodů, ke kterým se již nevracíme). _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 165
166
6. Metody řešení úloh IP a MIP 166
6.6 Metaheuristiky Metoda Tabu Search 1) Local search: při repsektování TABU seznamu hledáme nejlepší řešení v okolí určitého řešení 2) Pokud takové řešení najdeme (tj. pokud nejsou všechna řešení z okolí v TABU seznamu), pak toto řešení přidáme do TABU seznamu a porovnáme jej s dosud nejlepším nalezeným řešením: Pokud , pak 3) Je-li splněno ukončovací pravidlo, algoritmus končí, jinak a pokračujeme krokem 1. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 166
167
6. Metody řešení úloh IP a MIP 167
6.6 Metaheuristiky Metoda prahové akceptace 1) Nechť x je výchozí řešení. Definujeme práh T > 0 a 2) Opakujeme n krát: – zvolíme – pokud , pak – pokud , pak 3) Je-li splněno ukončovací pravidlo, algoritmus končí, jinak snížíme práh: T = T.r a pokračujeme krokem 2. _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 167
168
6. Metody řešení úloh IP a MIP 168
6.6 Metaheuristiky Metoda SIAM (Simualted Annealing Method) 1) Nechť x je výchozí řešení. Definujeme teplotu T > 0, parametr ochlazování a dobu žíhání n. 2) Opakujeme n krát: – zvolíme – pokud , pak – pokud , pak s pravděpodobností – pokud , pak _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 168
169
6. Metody řešení úloh IP a MIP 169
6.6 Metaheuristiky Metoda SIAM (Simualted Annealing Method) 3) Pokud se v kroku 2 řešení x nemění, říkáme, že proces ztuhl, metoda končí. V opačném případě snížíme teplotu: T = T.r a pokračujeme krokem 2. Pokud , pak s pravděpodobností a) Vygenerujeme hodnotu p rovnoměrného rozdělení U(0,1). b) Pokud , pak _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 169
170
6. Metody řešení úloh IP a MIP 170
6.6 Metaheuristiky Genetické algoritmy Inspirovány Darwinovou evoluční teorií. Populace – soubor řešení optimalizačního problému. Fitness value – relativní hodnota, která udává, jak je řešení dobré ve srovnání s ostatními řešeními v populaci. Tři standardní operace při vytváření další generace: 1) výběr 2) křížení 3) mutace _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 170
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.