Diskrétní modely Jan Fábry

Slides:



Advertisements
Podobné prezentace
Lineární klasifikátor
Advertisements

LOGISTICKÉ SYSTÉMY 14/15.
Nelineární optimalizace s omezeními - obecně
Matematické modelování a operační výzkum
PLANARITA A TOKY V SÍTÍCH
Dopravní úloha Literatura Kosková I.: Distribuční úlohy I.
Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
Dualita úloh lineárního programování a analýza citlivosti
SIMPLEXOVÝ ALGORITMUS Řešení v tabulkovém procesoru
LOGISTICKÉ SYSTÉMY 6/14.
Aplikace teorie grafů Základní pojmy teorie grafů
Rozvozní úloha s dělenou dodávkou Jan Fábry Vysoká škola ekonomická v Praze ___________________________________________________________________________.
Vzorová písemka Poznámka: Bonusové příklady jsou nepovinné, lze za ně ale získat body navíc. (2 body) Definujte pojem gradient. Vypočítejte gradient funkce.
Dynamické programování
Dynamické okružní a rozvozní úlohy
Dynamické rozvozní úlohy
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
FORMALIZACE PROJEKTU DO SÍŤOVÉHO GRAFU
Lineární programování Simplexový algoritmus
Základy lineárního programování
Lineární algebra.
Matematické metody v ekonomice a řízení II
Úterý 11:00 – 12:30 hod. učebna 212 RB © Lagová, Kalčevová
LOGISTICKÉ SYSTÉMY 7/14.
LOGISTICKÉ SYSTÉMY 8/14.
Heuristické metody Heuristiky dělíme na primární a duální.
LINEÁRNÍ OPTIMALIZAČNÍ MODEL
LOGISTICKÉ SYSTÉMY 9/14.
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ
LOGISTICKÉ SYSTÉMY 4/14.
SÍŤOVÁ ANALÝZA.
Příklad postupu operačního výzkumu
ORIENTOVANÉ GRAFY V této části se seznámíme s následujícími pojmy:
Formulace a vlastnosti úloh lineárního programování
Matice.
ANALÝZA VÝSLEDKŮ LINEÁRNÍHO OPTIMALIZAČNÍHO MODELU
Optimalizace versus simulace 9.přednáška. Obecně o optimalizaci  Maximalizovat nebo minimalizovat omezujících podmínkách.  Maximalizovat nebo minimalizovat.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Lineární programování I
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ Ústav technologie, mechanizace a řízení staveb Fakulta stavební VUT v Brně © Ing. Václav Rada, CSc. 14. PŘEDNÁŠKA.
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3.
Teorie systémů a operační analýza1 Celočíselné programování RNDr. Jiří Dvořák, CSc.
Jedno-indexový model a určení podílů cenných papírů v portfoliu
P-těžké, np-těžké a np-úplné problémy
Výpočetní složitost Odhlédneme-li od realizace algoritmu na konkrétním hardwaru a v konkrétním prostředí informačního systému, lze časovou složitost hodnotit.
Gradientní metody Metoda největšího spádu (volný extrém)
hledání zlepšující cesty
Barvení grafů Platónská tělesa
Simplexová metoda pro známé počáteční řešení úlohy LP
2. Vybrané základní pojmy matematické statistiky
Lineární programování - charakteristika krajních bodů
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Optimalizace versus simulace 8.přednáška. Obecně o optimalizaci  Maximalizovat nebo minimalizovat omezujících podmínkách.  Maximalizovat nebo minimalizovat.
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)NP-úplné problémyGRA, LS 2012/13, Lekce 13 1 / 14 NP-ÚPLNÉ.
McEllisova šifra.
Operační výzkum Lineární programování Dualita v úlohách lineárního programování. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace.
MME51 Ekonomicko-matematické metody 5 Prof. RNDr. Jaroslav Ramík, CSc.
Matice Přednáška č.4. Definice: Soubor prvků nazýváme maticí typu i-tý řádek j-tý sloupec prvky matice.
EMM21 Ekonomicko-matematické metody 2 Prof. RNDr. Jaroslav Ramík,CSc.
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Řešení rozvozních úloh Předmět: Teorie dopravy - cvičení Ing. František Lachnit, Ph.D.
Simplexová metoda.
Znázornění dopravní sítě grafem a kostra grafu Předmět: Teorie dopravy - cvičení Ing. František Lachnit, Ph.D.
Analýza výsledků v modelech lineárního programování
Operační výzkum Lineární programování Dopravní úloha nevyrovnaná.
Maximální propustnost rovinné dopravní sítě
Lineární optimalizační model
Toky v sítích.
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

Diskrétní modely Jan Fábry fabry@vse.cz http://nb.vse.cz/~fabry 14.3.2014

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 (e-mailem). 2

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

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

Úloha celočíselného programování 1. Úloha celočíselného programování 5

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

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

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

2. Formulace úloh IP a MIP 9

2. Formulace úloh IP a MIP 2.1 Úloha výrobního plánování 2.2 Řezná úloha 2.3 Úloha batohu 2.4 Přiřazovací problém 2.5 Úzkoprofilový přiřazovací problém 2.6 Obecný přiřazovací problém 2.7 Kvadratický přiřazovací problém 2.8 Pokrývací a dělící problém 2.9 Úloha optimálního rozmístění zařízení 2.10 Úloha s fixními náklady 2.11 Úloha s kontejnery 10

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

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

2.2 Řezná úloha Cutting Stock Problem za podmínek minimalizovat a) odpad b) počet prken _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 13

2.2 Řezná úloha Cutting Stock Problem Příklad k procvičení http://nb.vse.cz/~fabry Výuka – Diskrétní modely - Krmítka a budky (heslo: modely) _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 14

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

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

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

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

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

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

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

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

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

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

2.7 Kvadratický přiřazovací problém Quadratic Assignment Problem Aplikace: LETIŠTĚ _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 25

2.7 Kvadratický přiřazovací problém Quadratic Assignment Problem Aplikace: PLACEMENT PROBLEM (letovací problém) _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 26

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

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

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

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

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

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

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

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

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

2.10 Úloha s fixními náklady Fixed-Cost Problem maximalizovat za podmínek _______________________________________________________________________________________ 2. Formulace úloh IP a MIP 36

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

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

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

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

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

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

3. Teorie grafů 43

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

3.1 Úvod do teorie grafů L. Euler - Problém königsbergských mostů (1736) B A C D _______________________________________________________________________________________ 3. Teorie grafů 45

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

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

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

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

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

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

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

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

3.2 Úlohy hledání maximálního toku Maximal Flow Problem Víceproduktové tokové úlohy. minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 54

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

3.3 Přepravní problém Transhipment Problem minimalizovat za podmínek odtok přítok _______________________________________________________________________________________ 3. Teorie grafů 56

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

3.4 Úloha hledání minimální kostry Minimal Spanning Tree minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 58

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

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

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

3.5 Minimální Steinerův strom minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 62

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

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

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

3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem minimalizovat za podmínek Miler-Tucker- Zemlin _______________________________________________________________________________________ 3. Teorie grafů 66

3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem Dantzig-Fulkerson-Johnson a) b) _______________________________________________________________________________________ 3. Teorie grafů 67

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

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

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

3.6.1. Úloha obchodního cestujícího Travelling Salesman Problem minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 71

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

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

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

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

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

3.6.2. Rozvozní problém Vehicle Routing Problem minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 77

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

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

3.6.2. Rozvozní problém Vehicle Routing Problem minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 80

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

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

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

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: (1-2-3-1); (1-3-4-1) Celková vzdálenost = 45 _______________________________________________________________________________________ 3. Teorie grafů 84

3.6.2. Rozvozní problém Vehicle Routing Problem minimalizovat za podmínek _______________________________________________________________________________________ 3. Teorie grafů 85

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

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

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

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

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

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

Formulace nelineárních funkcí 4. Formulace nelineárních funkcí a speciálních omezení 92

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

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

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

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

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

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

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

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

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 10000 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

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

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

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

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

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

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

5. Vlastnosti úloh IP 108

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

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

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

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

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

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

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

5. Vlastnosti úloh IP Zesilování nerovností 1) LIFTING Příklad liftovaná (zesílená) nerovnost _______________________________________________________________________________________ 5. Vlastnosti úloh IP 116

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

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

5. Vlastnosti úloh IP Zesilování nerovností 2) FIXING Příklad nikdy není splněno Zafixování proměnné: _______________________________________________________________________________________ 5. Vlastnosti úloh IP 119

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

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

(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

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

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

Metody řešení úloh IP a MIP 6. Metody řešení úloh IP a MIP 125

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 2. krok b) optimální řešení b1) => odstraníme úlohu z M 2. krok b2) => odstraníme úlohu z M 2. krok b3) není celé 4. krok (větvení) _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 140

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

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

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

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

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

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

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

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

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,000001 s 0,000003 s 0,000005 s 0,000007 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,0000001 s _______________________________________________________________________________________ 6. Metody řešení úloh IP a MIP 149

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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