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

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

Diskrétní modely Jan Fábry

Podobné prezentace


Prezentace na téma: "Diskrétní modely Jan Fábry"— Transkript prezentace:

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


Stáhnout ppt "Diskrétní modely Jan Fábry"

Podobné prezentace


Reklamy Google