Pokročilé matematické modely a metody

Podobné dokumenty
4EK314 Diskrétní modely

4EK314 Diskrétní modely Příklady

Příklady ke cvičením. Modelování produkčních a logistických systémů

Otázky ke státní závěrečné zkoušce

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Grafové algoritmy. Programovací techniky

4EK201 Matematické modelování 5. Speciální úlohy lineárního programování

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení

4EK213 LINEÁRNÍ MODELY

Grafové algoritmy. Programovací techniky

4EK311 Operační výzkum. 4. Distribuční úlohy LP část 1

1 Úvod do celočíselné lineární optimalizace

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

Matematické modelování 4EK201

Metody síťové analýzy

1. července 2010

4EK201 Matematické modelování. 2. Lineární programování

Úvod do teorie grafů

4EK311 Operační výzkum. 2. Lineární programování

Systematická tvorba jízdního řádu 2. cvičení

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant

Optimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP

5 Orientované grafy, Toky v sítích

Přijímací zkouška - matematika

Obecná úloha lineárního programování. Úloha LP a konvexní množiny Grafická metoda. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

TGH02 - teorie grafů, základní pojmy

Úvod do úloh plánování rozvozu (Vehicle Routing Problems)

TGH02 - teorie grafů, základní pojmy

TGH02 - teorie grafů, základní pojmy

4EK311 Operační výzkum. 5. Teorie grafů

Vzdálenost uzlů v neorientovaném grafu

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014

TEORIE GRAFŮ TEORIE GRAFŮ 1


HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

Operační výzkum. Síťová analýza. Metoda CPM.

Základní pojmy teorie grafů [Graph theory]

4EK213 Lineární modely. 10. Celočíselné programování

Diskrétní matematika. DiM /01, zimní semestr 2016/2017

7. přednáška Systémová analýza a modelování. Přiřazovací problém

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

07 Základní pojmy teorie grafů

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy

Numerické metody optimalizace - úvod

Jiří Neubauer. Katedra ekonometrie FEM UO Brno

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

H {{u, v} : u,v U u v }

Operační výzkum. Přiřazovací problém.

Parametrické programování

4EK212 Kvantitativní management. 2. Lineární programování

Algoritmizace prostorových úloh

Lineární programování

4 Pojem grafu, ve zkratce

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Ekonomická formulace. Matematický model

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května First Prev Next Last Go Back Full Screen Close Quit

3. Grafy a matice. Definice 3.2. Čtvercová matice A se nazývá rozložitelná, lze-li ji napsat ve tvaru A =

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

B a k a l ářská práce

Analýza Petriho sítí. Analýza Petriho sítí p.1/28

12. Lineární programování

13. Lineární programování

DEFINICE Z LINEÁRNÍ ALGEBRY

Lineární programování

Hlavolamy a teorie grafů

Technologie dopravy a logistika

Ohraničená Hessova matice ( bordered hessian ) je. Sestrojíme posloupnost determinantů (minorů):

Operační výzkum. Vícekriteriální hodnocení variant. Grafická metoda. Metoda váženého součtu.

4EK213 LINEÁRNÍ MODELY

Západočeská univerzita v Plzni. Fakulta aplikovaných věd. Ivana Kozlová. Modely analýzy obalu dat

1 Vektorové prostory.

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Úvod do teorie her

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů

10 Přednáška ze

Návrh Designu: Radek Mařík

Doc. Ing. Tomáš Šubrt, Ph.D. PEF ZU v Praze MODELY OPTIMÁLNÍHO D LENÍ ZAKÁZEK

4EK201 Matematické modelování. 4. Typické úlohy lineárního programování

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

Příklady modelů lineárního programování

TGH05 - aplikace DFS, průchod do šířky

VYUŽITÍ NĚKTERÝCH METOD TEORIE GRAFŮ PŘI ŘEŠENÍ DOPRAVNÍCH PROBLÉMŮ

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

0.1 Úvod do lineární algebry

4EK212 Kvantitativní management. 3. Typické úlohy LP

OPTIMALIZACE LINKOVÉHO VEDENÍ ČETNOST OBSLUHY, TAKT

Definice 1 eulerovský Definice 2 poloeulerovský

Simplexové tabulky z minule. (KMI ZF JU) Lineární programování EMM a OA O6 1 / 25

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd.

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

Dijkstrův algoritmus

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Transkript:

Pokročilé matematické modely a metody Jan Fábry ŠKODA AUTO Vysoká škola Katedra logistiky, kvality a automobilové techniky fabry@savs.cz http://nb.vse.cz/~fabry Leden 2017, Mladá Boleslav Jan Fábry Pokročilé matematické modely a metody 1 / 150

Obsah 1 Úloha celočíselného programování 2 Modelování základních úloh IP a MIP 3 Úlohy na grafech Tokové úlohy Okružní a rozvozní úlohy 4 Speciální omezení s logickými proměnnými 5 Vlastnosti diskrétních úloh 6 Řešení úloh - metody a algoritmy Relaxace Exaktní metody Výpočetní složitost Heuristiky a metaheuristiky Jan Fábry Pokročilé matematické modely a metody 2 / 150

Obsah 1 Úloha celočíselného programování 2 Modelování základních úloh IP a MIP 3 Úlohy na grafech Tokové úlohy Okružní a rozvozní úlohy 4 Speciální omezení s logickými proměnnými 5 Vlastnosti diskrétních úloh 6 Řešení úloh - metody a algoritmy Relaxace Exaktní metody Výpočetní složitost Heuristiky a metaheuristiky Jan Fábry Pokročilé matematické modely a metody 3 / 150

Úloha celočíselného programování Obecná úloha lineárního programování (LP): z LP = maxfc T x : Ax b; x 2 R n +g: (1) Úloha celočíselného programování (IP): z IP = maxfc T x : Ax b; x 2 Z n +g: (2) z LP z IP neboť Z n + R n + P = fx : Ax b; x 2 R n +g; S = fx : Ax b; x 2 Z n +g; S P Úloha smíšeně-celočíselného programování (MIP): z MIP = maxfc T x + h T y : Ax + Gy b; x 2 R n + ; y 2 Zp +g: (3) Úloha bivalentního programování (BIP): z BIP = maxfc T x : Ax b; x 2 B n g; B = f0; 1g: (4) Jan Fábry Pokročilé matematické modely a metody 4 / 150

Obsah 1 Úloha celočíselného programování 2 Modelování základních úloh IP a MIP 3 Úlohy na grafech Tokové úlohy Okružní a rozvozní úlohy 4 Speciální omezení s logickými proměnnými 5 Vlastnosti diskrétních úloh 6 Řešení úloh - metody a algoritmy Relaxace Exaktní metody Výpočetní složitost Heuristiky a metaheuristiky Jan Fábry Pokročilé matematické modely a metody 5 / 150

Modelování základních úloh IP a MIP 1. Úloha výrobního plánování Proměnné: x i je počet kusů i-tého typu produktu Omezující podmínky: x 1 ; x 2 ; : : : ; x n - celé 2. Řezná úloha Proměnné: x i je počet kusů původního materiálu rozděleného podle i-tého řezného schématu Omezující podmínky: x 1 ; x 2 ; : : : ; x n - celé Účelová funkce: minimalizace počtu rozřezaných kusů původního materiálu minimalizace odpadu maximalizace počtu výrobků sestavených z nařezaných dílů (maximalizace zisku) Jan Fábry Pokročilé matematické modely a metody 6 / 150

Modelování základních úloh IP a MIP 3. (0-1) Úloha batohu Formulace: Je dán rozpočet b pro investice do n uvažovaných projektů, kde a j je hodnota nákladů na projekt j a c j je jeho očekávaný výnos. Cílem je vybrat takový soubor projektů, který maximalizuje celkový očekávaný výnos a nepřekročí daný rozpočet. Proměnné: ( 1 je-li projekt j vybrán x j = (5) 0 jinak Model: max nx j=1 nx j=1 c j x j (6) a j x j b (7) x j 2 f0; 1g pro j = 1; 2; : : : ; n (8) Jan Fábry Pokročilé matematické modely a metody 7 / 150

Modelování základních úloh IP a MIP 4. Úloha perfektního párování Formulace: Na školním výletě má být n (sudé číslo) studentů rozřazeno do dvoulůžkových pokojů. Pro potenciální spolubydlící i a j je dán index spokojenosti c ij. Cílem je umístit studenty do pokojů tak, abychom maximalizovali celkovou spokojenost třídy. Proměnné: ( 1 jestliže studenti i a j jsou spolubydlící x ij = i < j (9) 0 jinak Model: n X1 nx max c ij x ij (10) X j <i x ji + X j >i x ij 2 f0; 1g pro i=1 j=i+1 x ij = 1 pro i = 1; 2; : : : ; n (11) i = 1; 2; : : : ; n 1 j = i + 1; i + 2; : : : ; n (12) Jan Fábry Pokročilé matematické modely a metody 8 / 150

Modelování základních úloh IP a MIP 5. Zobecněný přiřazovací problém Formulace: Uvažujme m čerpacích stanic odebírajících naftu z n terminálů. Každá stanice i může odebírat naftu pouze z jednoho terminálu, její požadavek je a i. Kapacita terminálu j je b j. Pokud stanice i odebírá naftu z terminálu j, jsou účtovány fixní náklady c ij. Cílem je minimalizovat celkové náklady. Proměnné: x ij = ( 1 jestliže stanice i odebírá naftu z terminálu j 0 jinak (13) Jan Fábry Pokročilé matematické modely a metody 9 / 150

Modelování základních úloh IP a MIP 5. Zobecněný přiřazovací problém Model: nx j=1 mx i=1 min mx nx i=1 j=1 c ij x ij (14) x ij = 1 pro i = 1; 2; : : : ; m (15) a i x ij b j pro j = 1; 2; : : : ; n (16) x ij 2 f0; 1g pro i = 1; 2; : : : ; m j = 1; 2; : : : ; n (17) Jan Fábry Pokročilé matematické modely a metody 10 / 150

Modelování základních úloh IP a MIP 6. Lineární přiřazovací problém Formulace: K dispozici máme n pracovníků schopných provést n úkolů. Každý pracovník má vykonávat právě jeden úkol. Realizace j -tého úkolu i-tým pracovníkem je ohodnocena náklady c ij. Cílem je rozdělit mezi pracovníky všechny úkoly s minimální výší celkových nákladů. Variables: x ij = ( 1 jestliže pracovník i vykonává úkol j 0 jinak (18) Jan Fábry Pokročilé matematické modely a metody 11 / 150

Modelování základních úloh IP a MIP 6. Lineární přiřazovací problém Model: nx j=1 nx i=1 min nx nx i=1 j=1 c ij x ij (19) x ij = 1 pro i = 1; 2; : : : ; n (20) x ij = 1 pro j = 1; 2; : : : ; n (21) x ij 2 f0; 1g pro i = 1; 2; : : : ; n j = 1; 2; : : : ; n (22) Jan Fábry Pokročilé matematické modely a metody 12 / 150

Modelování základních úloh IP a MIP 7. Úzkoprofilový přiřazovací problém Formulace: Je dáno n úkolů a n paralelních strojů k jejich realizaci. Koeficient c ij představuje dobu nutnou pro dokončení úkolu i strojem j. Cílem je minimalizovat dobu, za kterou budou úkoly dokončeny (všechny stroje začnou na úkolech pracovat současně). Proměnné: x ij = ( 1 jestliže úkol i je přiřazen na stroj j 0 jinak (23) T = čas dokončení posledního úkolu (24) Jan Fábry Pokročilé matematické modely a metody 13 / 150

Modelování základních úloh IP a MIP 7. Úzkoprofilový přiřazovací problém Model: min T (25) c ij x ij T nx j=1 nx i=1 pro i = 1; 2; : : : ; n j = 1; 2; : : : ; n (26) x ij = 1 pro i = 1; 2; : : : ; n (27) x ij = 1 pro j = 1; 2; : : : ; n (28) x ij 2 f0; 1g pro i = 1; 2; : : : ; n j = 1; 2; : : : ; n (29) Jan Fábry Pokročilé matematické modely a metody 14 / 150

Modelování základních úloh IP a MIP 8. Kvadratický přiřazovací problém Formulace: Množina n zařízení má být umístěna na n pracovišť (na každém pracovišti bude právě jedno zařízení). Koeficient c ij představuje hodnotu toku produktů od zařízení i k zařízení j a d kl je vzdálenost mezi pracovišti k a l. Cílem je rozmístit zařízení na pracoviště s minimálními náklady. Variables: x ik = ( 1 je-li zařízení i umístěno na pracoviště k 0 jinak (30) Jan Fábry Pokročilé matematické modely a metody 15 / 150

Modelování základních úloh IP a MIP 8. Kvadratický přiřazovací problém Model: min nx k=1 nx i=1 nx nx nx nx i=1 j=1 k=1 l=1 c ij d kl x ik x jl (31) x ik = 1 pro i = 1; 2; : : : ; n (32) x ik = 1 pro k = 1; 2; : : : ; n (33) x ik 2 f0; 1g pro i = 1; 2; : : : ; n k = 1; 2; : : : ; n (34) Jan Fábry Pokročilé matematické modely a metody 16 / 150

Modelování základních úloh IP a MIP 8. Kvadratický přiřazovací problém Linearizace účelové funkce: y ijkl = 8 >< >: 1 jestliže zařízení i je umístěno na pracoviště k a zařízení j je umístěno na pracoviště l (35) 0 jinak min nx nx nx nx i=1 j=1 k=1 l=1 c ij d kl y ijkl (36) y ijkl x ik + x jl 1 pro i ; j ; k ; l = 1; 2; : : : ; n (37) Jan Fábry Pokročilé matematické modely a metody 17 / 150

Modelování základních úloh IP a MIP 8. Kvadratický přiřazovací problém Aplikace: Letovací problém Přiřazení letadel k odletovým bránám Jan Fábry Pokročilé matematické modely a metody 18 / 150

Modelování základních úloh IP a MIP 9. Pokrytí, dělení a rozklad množiny Formulace: Nechť M = f1; 2; : : : ; mg je konečná množina úkolů a N = f1; 2; : : : ; ng konečná množina firem zajišťujících tyto úkoly. Je dána matice A s hodnotami a ij = 1, jestliže firma j je schopna řešit úkol i, a ij = 0 jinak. Jestliže j -tá firma bude vybrána, bude si účtovat náklady c j. Cílem je pokrýt všechny úkoly s minimálními celkovými náklady. Nechť M j M je množina úkolů, které je firma j 2 N schopna řešit. Říkáme, že F N je pokrytím M, jestliže [ j 2F M j = M F N je dělením M, jestliže M j \ M k = ; pro všechna j ; k 2 F ; j 6= k F N je rozkladem M, jestliže F je pokrytím a dělením M Jan Fábry Pokročilé matematické modely a metody 19 / 150

Modelování základních úloh IP a MIP 9. Pokrytí, dělení a rozklad množiny Proměnné: ( 1 jestliže firma j je vybrána, tj. j 2 F x j = (38) 0 jinak Model: (pokrytí) (dělení) (rozklad) nx nx j=1 nx j=1 j=1 min nx j=1 a ij x j 1 a ij x j 1 a ij x j = 1 c j x j (39) pro i = 1; 2; : : : ; m pro i = 1; 2; : : : ; m (40) pro i = 1; 2; : : : ; m x j 2 f0; 1g pro j = 1; 2; : : : ; n (41) Jan Fábry Pokročilé matematické modely a metody 20 / 150

Modelování základních úloh IP a MIP 9. Pokrytí, dělení a rozklad množiny Aplikace: Nechť N = f1; 2; : : : ; ng je množina potenciálních lokalit pro umístění hasičských stanic. Náklady na umístění stanice v lokalitě j jsou c j. Nechť M = f1; 2; : : : ; mg je množina oblastí, které mají být zajištěny. Množina M j obsahuje oblasti, které je možné zajistit z lokality j (např. jsou dosažitelné ze stanice v rámci 10 minut). Přiřazení posádek letům. Rozvržení pracovníků na směny. Jan Fábry Pokročilé matematické modely a metody 21 / 150

Modelování základních úloh IP a MIP 10. Úloha optimálního rozmístění zařízení Formulace: Je dána množina M = f1; 2; : : : ; mg lokalit pro umístění zařízení a množina zákazníků N = f1; 2; : : : ; ng. Nechť a i je kapacita zařízení v lokalitě i a b j je velikost poptávky j -tého zákazníka. Za využití lokality i se účtují fixní náklady f i. Přeprava jedné jednotky z lokality i k zákazníkovi j stojí c ij. Cílem je rozhodnout, kam umístit zařízení a jaké množství přepravit mezi jednotlivými lokalitami a zákazníky tak, aby celkové náklady byly minimální. Proměnné: ( 1 jestliže zařízení bude umístěno v lokalitě i x i = (42) 0 jinak y ij = množství přepravené z lokality i k zákazníkovi j (43) Jan Fábry Pokročilé matematické modely a metody 22 / 150

Modelování základních úloh IP a MIP 10. Úloha optimálního rozmístění zařízení Model: nx j=1 mx i=1 min mx nx i=1 j=1 c ij y ij + mx i=1 f i x i (44) y ij a i x i pro i = 1; 2; : : : ; m (45) y ij = b j pro j = 1; 2; : : : ; n (46) x i 2 f0; 1g pro i = 1; 2; : : : ; m (47) y ij 2 R + pro i = 1; 2; : : : ; m j = 1; 2; : : : ; n (48) Jan Fábry Pokročilé matematické modely a metody 23 / 150

Modelování základních úloh IP a MIP 11. Úloha výrobního plánování s fixními náklady Formulace: Lze vyrábět n produktů na n výrobních linkách (každý produkt na jedné VL). Pokud je VL i využita (tj. vyrábí se produkt i), účtují se fixní náklady f i. Jednotkový zisk z produktu i je c i. Jsou definované standardní (kapacitní) omezující podmínky úlohy výrobního plánování. Cílem je maximalizovat celkový zisk z produkce snížený o fixní náklady. Proměnné: ( 1 jestliže se produkt i vyrábí (na VL i) x i = (49) 0 jinak y i = objem výroby produktu i (50) Jan Fábry Pokročilé matematické modely a metody 24 / 150

Modelování základních úloh IP a MIP 11. Úloha výrobního plánování s fixními náklady Model: (kapacitní omezení) max nx i=1 nx i=1 c i y i nx i=1 f i x i (51) a li y i b l pro l = 1; 2; : : : ; m (52) y i Mx i pro i = 1; 2; : : : ; n (53) x i 2 f0; 1g pro i = 1; 2; : : : ; n (54) y i 2 R + pro i = 1; 2; : : : ; n (55) M = vysoká konstanta Jan Fábry Pokročilé matematické modely a metody 25 / 150

Modelování základních úloh IP a MIP 12. Kontejnerový dopravní problém Formulace: Homogenní zboží je přepravováno přímo od m dodavatelů k n odběratelům. Nechť a i je kapacita dodavatele i a b j je požadavek odběratele j. Pro přepravu jsou použity kontejnery o kapacitě K ; za přepravu jednoho kontejneru mezi dodavatelem i a odběratelem j se účtují náklady c ij. Cílem je uspokojit požadavky všech odběratelů s minimálními přepravními náklady. Proměnné: y ij = objem přepravy od dodavatele i k odběrateli j (56) x ij = počet kontejnerů použitých pro přepravu zboží od dodavatele i k odběrateli j (57) Jan Fábry Pokročilé matematické modely a metody 26 / 150

Modelování základních úloh IP a MIP 12. Kontejnerový dopravní problém Model: mx min nx j=1 mx i=1 nx i=1 j=1 c ij x ij (58) y ij a i pro i = 1; 2; : : : ; m (59) y ij = b j pro j = 1; 2; : : : ; n (60) y ij Kx ij y ij 2 R + x ij 2 Z + pro pro pro i = 1; 2; : : : ; m j = 1; 2; : : : ; n i = 1; 2; : : : ; m j = 1; 2; : : : ; n i = 1; 2; : : : ; m j = 1; 2; : : : ; n (61) (62) (63) Jan Fábry Pokročilé matematické modely a metody 27 / 150

Modelování základních úloh IP a MIP 13. Rozšířená úloha batohu Formulace 1: Je dána množina n předmětů, které mohou být umístěny do m kontejnerů. Je dána hmotnost předmětu j, kterou označíme w j a jeho hodnota c j. Kontejner i má nosnost K i. Cílem je maximalizovat celkovou hodnotu všech vybraných položek. Proměnné: x ij = ( 1 jestliže předmět j je umístěn do kontejneru i 0 jinak (64) Jan Fábry Pokročilé matematické modely a metody 28 / 150

Modelování základních úloh IP a MIP 13. Rozšířená úloha batohu Model: max nx j=1 mx i=1 mx nx i=1 j=1 c j x ij (65) x ij 1 pro j = 1; 2; : : : ; n (66) w j x ij K i pro i = 1; 2; : : : ; m (67) x ij 2 f0; 1g pro i = 1; 2; : : : ; m j = 1; 2; : : : ; n (68) Jan Fábry Pokročilé matematické modely a metody 29 / 150

Modelování základních úloh IP a MIP 13. Rozšířená úloha batohu Formulace 2: Je dána množina n typů předmětů, které mají být převezeny s využitím m kontejnerů s identickou nosností K. Pro typ předmětu j je dána jeho hmotnost w j a počet r j, který má být převezen. Cílem je minimalizovat počet použitých kontejnerů k přepravě všech předmětů. Proměnné: ( 1 je-li kontejner i použitý x i = (69) 0 jinak y ij = počet položek typu j umístěných v kontejneru i (70) Jan Fábry Pokročilé matematické modely a metody 30 / 150

Modelování základních úloh IP a MIP 13. Rozšířená úloha batohu Model: nx j=1 mx i=1 min mx i=1 x i (71) y ij = r j pro j = 1; 2; : : : ; n (72) w j y ij Kx i pro i = 1; 2; : : : ; m (73) x i 2 f0; 1g pro i = 1; 2; : : : ; m (74) y ij 2 Z + pro i = 1; 2; : : : ; m j = 1; 2; : : : ; n (75) Jan Fábry Pokročilé matematické modely a metody 31 / 150

Obsah 1 Úloha celočíselného programování 2 Modelování základních úloh IP a MIP 3 Úlohy na grafech Tokové úlohy Okružní a rozvozní úlohy 4 Speciální omezení s logickými proměnnými 5 Vlastnosti diskrétních úloh 6 Řešení úloh - metody a algoritmy Relaxace Exaktní metody Výpočetní složitost Heuristiky a metaheuristiky Jan Fábry Pokročilé matematické modely a metody 32 / 150

Úlohy na grafech Úvod to teorie grafů Graf je množina G = fv ; Eg, kde V je množina uzlů (vrcholů) a E množina hran. Neorientovaná hrana je množina dvou uzlů fi ; j g. Orientovaná hrana je uspořádaná dvojice uzlů (i ; j ). V neorientovaném grafu jsou všechny hrany neorientované. V orientovaném grafu (digrafu) jsou všechny hrany orientované. Smíšený graf obsahuje neorientované i orientované hrany. Dva uzly spojené hranou se nazývají sousední. Dvě hrany se společným uzlem se nazývají sousední. Hrana a vrchol obsažený v této hraně se nazývají incidentní. Stupeň uzlu (v neorientovaném grafu) je počet hran s ním incidentních. Vstupní polostupeň uzlu (v orientovaném grafu) je počet incidentních hran, v nichž je tento uzel koncovým uzlem. Jan Fábry Pokročilé matematické modely a metody 33 / 150

Úlohy na grafech Úvod to teorie grafů Výstupní polostupeň uzlu (v orientovaném grafu) je počet incidentních hran, v nichž je tento uzel počátečním uzlem. Sled z uzlu i do uzlu j je posloupnost uzlů a hran, která začíná v uzlu i a končí v uzlu j (uzly a hrany se mohou opakovat). Tah je sled, v němž se neopakují žádné hrany. Cesta je tah, v němž se neopakují žádné uzly. Cyklus je uzavřený sled (začíná a končí ve stejném uzlu). V orientované cestě (v orientovaném grafu) je respektována orientace všech hran. V neorientované cestě (v orientovaném grafu) nemusí být orientace hran respektována. Neorientovaný graf je souvislý, jestliže mezi každými dvěma uzly existuje cesta. Orientovaný graf je souvislý, jestliže mezi každými dvěma uzly existuje orientovaná nebo neorientovaná cesta. Jan Fábry Pokročilé matematické modely a metody 34 / 150

Úlohy na grafech Úvod to teorie grafů Orientovaný graf je silně souvislý, jestliže mezi každými dvěma uzly existuje orientovaná cesta. Neorientovaný graf je úplný, jestliže mezi každým dvěma uzly existuje hrana. Strom je souvislý neorientovaný graf, v němž neexistuje cyklus. Podgraf grafu G = fv ; Eg je graf G 0 = fv 0 ; E 0 g, kde V 0 V a E 0 E. Kostra grafu G je podgraf G 0, kde V 0 = V, a který je stromem. V ohodnoceném grafu jsou uzlům a/nebo hranám přiřazena čísla. Hamiltonův cyklus v grafu je cyklus, který obsahuje každý uzel grafu právě jednou. Eulerův cyklus v grafu obsahuje každou jeho hranu právě jednou. Eulerův tah v grafu je tah, který obsahuje každou jeho hranu. Eulerovský graf je graf, v němž existuje Eulerův cyklus. Jan Fábry Pokročilé matematické modely a metody 35 / 150

Obsah 1 Úloha celočíselného programování 2 Modelování základních úloh IP a MIP 3 Úlohy na grafech Tokové úlohy Okružní a rozvozní úlohy 4 Speciální omezení s logickými proměnnými 5 Vlastnosti diskrétních úloh 6 Řešení úloh - metody a algoritmy Relaxace Exaktní metody Výpočetní složitost Heuristiky a metaheuristiky Jan Fábry Pokročilé matematické modely a metody 36 / 150

Tokové úlohy 1. Úloha hledání maximálního toku Formulace: Nechť G = fv ; Eg je digraf, v němž je pro každou hranu (i ; j ) definována její kapacita k ij. Cílem je nalézt maximální hodnotu toku mezi zdrojem s a místem určení (stokem) d. Proměnné: x ij = hodnota toku z uzlu i do uzlu j (76) F = hodnota celkového toku (77) Model: max F (78) X x ij j 2V (i; j)2e X j 2V (j ; i)2e x ji = 8 >< >: F pro i = s 0 pro i 2 V n fs; dg F pro i = d (79) x ij k ij pro (i ; j ) 2 E (80) x ij 2 R + pro (i ; j ) 2 E (81) F 2 R + (82) Jan Fábry Pokročilé matematické modely a metody 37 / 150

Tokové úlohy 1. Úloha hledání maximálního toku Alternativní model: Přidáme fiktivní orientovanou hranu ze stoku d do zdroje s, která má kapacitu k ds = M (vysoká konstanta). Proměnné: x ij = hodnota toku z uzlu i do uzlu j (83) Model: X x ij j 2V (i; j)2e X j 2V (j ; i)2e max x ds (84) x ji = 0 pro i 2 V (85) x ij k ij pro (i ; j ) 2 E (86) x ij 2 R + pro (i ; j ) 2 E (87) Jan Fábry Pokročilé matematické modely a metody 38 / 150

Tokové úlohy 2. Úloha hledání toku s minimálními náklady Formulace: Nechť G = fv ; Eg je digraf, v němž pro každou hranu (i ; j ) je definována její kapacita k ij a jednotkové náklady c ij. Cílem je splnit požadovanou hodnotu celkového toku F 0 (ze zdroje s do stoku d) s minimálními celkovými náklady. Proměnné: x ij = hodnota toku z uzlu i do uzlu j (88) Model: X x ij j 2V (i; j)2e X j 2V (j ; i)2e min X i2v x ji = 8 >< >: X j 2V (i;j)2e F 0 c ij x ij (89) pro i = s 0 pro i 2 V n fs; dg F 0 pro i = d (90) x ij k ij pro (i ; j ) 2 E (91) x ij 2 R + pro (i ; j ) 2 E (92) Jan Fábry Pokročilé matematické modely a metody 39 / 150

Tokové úlohy 3. Úloha hledání maximálního toku s limitovanými náklady Formulace: Nechť G = fv ; Eg je digraf, v němž pro každou hranu (i ; j ) je definována její kapacita k ij a jednotkové náklady c ij. Cílem je nalézt maximální hodnotu toku mezi zdrojem s a místem určení (stokem) d při respektování omezených celkových nákladů C 0. Proměnné: x ij = hodnota toku z uzlu i do uzlu j (93) F = hodnota celkového toku (94) Model: X X i2v j 2V (i;j)2e max F (95) c ij x ij C 0 (96) a omezující podmínky (79) - (82) Jan Fábry Pokročilé matematické modely a metody 40 / 150

Tokové úlohy 4. Úloha hledání toku s minimálními fixními náklady Formulace: Nechť G = fv ; Eg je digraf, v němž je pro každou hranu (i ; j ) definována její kapacita k ij. Za využití hrany (i ; j ) je účtována částka c ij. Cílem je splnit požadovanou hodnotu celkového toku F 0 (ze zdroje s do stoku d) s minimálními celkovými fixními náklady. Proměnné: x ij = hodnota toku z uzlu i do uzlu j (97) y ij = ( 1 je-li hrana (i ; j ) využita 0 jinak (98) Jan Fábry Pokročilé matematické modely a metody 41 / 150

Tokové úlohy 4. Úloha hledání toku s minimálními fixními náklady Model: X X min c ij y ij (99) i2v X x ij j 2V (i; j)2e X j 2V (j ; i)2e x ji = j 2V (i;j)2e 8 >< >: F 0 pro i = s 0 pro i 2 V n fs; dg F 0 pro i = d (100) x ij k ij y ij pro (i ; j ) 2 E (101) y ij 2 f0; 1g pro (i ; j ) 2 E (102) Jan Fábry Pokročilé matematické modely a metody 42 / 150

Tokové úlohy 5. Víceproduktová toková úloha Formulace: Nechť G = fv ; Eg je digraf a Q je množina produktů, které mají být dopraveny ze zdroje s do stoku d. Pro každý produkt q 2 Q je zadáno požadované množství F q 0. Celková hodnota toku všech produktů hranou (i ; j ) nesmí překročit její kapacitu k ij. Tok jedné jednotky produktu q hranou (i ; j ) je ohodnocen náklady c q ij. Cílem je přepravit požadovaná množství všech produktů s minimálními celkovými náklady. Proměnné: x q ij = množství produktu q přepravené (103) z uzlu i do uzlu j Jan Fábry Pokročilé matematické modely a metody 43 / 150

Tokové úlohy 5. Víceproduktová toková úloha Model: X min q2q X x q ij j 2V (i; j)2e X j 2V (j ; i)2e x q ji = X q2q 8 >< >: F q 0 X X i2v j 2V (i;j)2e c q ij x q ij (104) pro i = s; q 2 Q 0 pro i 2 V n fs; dg; q 2 Q F q 0 pro i = d; q 2 Q (105) x q ij k ij pro (i ; j ) 2 E (106) x q ij 2 R + pro (i ; j ) 2 E ; q 2 Q (107) Jan Fábry Pokročilé matematické modely a metody 44 / 150

Tokové úlohy 6. Přepravní úloha (Transshipment Problem) Formulace: Nechť G = fv ; Eg je digraf se třemi množinami uzlů: množina zdrojů V s, množina cílových uzlů V d a množina průběžných uzlů V t. Nechť a i > 0 je velikost nabídky homogenního produktu ve zdroji i 2 V s a a i < 0 je velikost poptávky po produktu v cílovém uzlu i 2 V d. Pro průběžný uzel i 2 V t platí a i = 0. Pro každou hranu (i ; j ) je definována její kapacita k ij a jednotkové náklady c ij. Poptávka ve všech cílových uzlech musí být uspokojena, aniž by došlo v některém zdroji k překročení jeho nabídky. Cílem je minimalizovat celkové náklady. Předpokládejme, že velikost celkové poptávky je rovna velikosti celkové nabídky. Předpoklady: V = V s [V d [V t a V s \V d \V t = ; (108) X i2v s a i + X i2v d a i = 0 (109) Jan Fábry Pokročilé matematické modely a metody 45 / 150

Tokové úlohy 6. Přepravní úloha (Transshipment Problem) Proměnné: x ij = hodnota toku z uzlu i do uzlu j (110) Model: X x ij j 2V (i; j)2e min X i2v X j 2V (j ; i)2e X j 2V (i;j)2e c ij x ij (111) x ji = a i pro i 2 V (112) x ij k ij pro (i ; j ) 2 E (113) x ij 2 R + pro (i ; j ) 2 E (114) Jan Fábry Pokročilé matematické modely a metody 46 / 150

Tokové úlohy 7. Minimální kostra grafu Formulace: Nechť G = fv ; Eg je neorientovaný graf, v němž jsou pro každou hranu fi ; j g definovány náklady c ij. Cílem je najít kostru grafu G s minimálními celkovými náklady odpovídajícími součtu nákladů vybraných hran. Úprava grafu: Množina neorientovaných hran E je převedena na množinu orientovaných hran A takto: Každá hrana fi ; j g 2 E je nahrazena dvojicí orientovaných hran (i ; j ) 2 A a (j ; i) 2 A, c ji = c ij. Proměnné: ( 1 je-li hrana (i ; j ) vybrána x ij = (115) 0 jinak y ij = hodnota toku z uzlu i do uzlu j (116) Jan Fábry Pokročilé matematické modely a metody 47 / 150

Tokové úlohy 7. Minimální kostra grafu Model: min X i2v X X j 2V (i; j)2a y ij j 2V (i; j)2a X j 2V (i;j)2a X j 2V (1; j)2a c ij x ij (117) x 1j = 0 (118) x ij = 1 pro i 2 V n f1g (119) X j 2V (j ; i)2a y ji = 1 pro i 2 V n f1g (120) 0 y ij (jv j 1)x ij pro (i ; j ) 2 A (121) x ij 2 f0; 1g pro (i ; j ) 2 A (122) Jan Fábry Pokročilé matematické modely a metody 48 / 150

Tokové úlohy 8. Minimální Steinerův strom Formulace: Nechť G = fv ; Eg je digraf, s 2 V je zdroj signálu (vysílač), D V je množina uživatelů (přijímačů, cílových míst) a T V je množina pomocných stanic (ústředen), přes které může být signál přenášen. Uživatelé mohou být připojeni na vysílač buď přímo nebo přes ústředny. Hodnota c ij představuje náklady na spojení (i ; j ) 2 E. Za použití ústředny i 2 T je účtována fixní částka f i. Cílem je spojit všechny uživatele s vysílačem s minimálními celkovými náklady. Proměnné: ( 1 je-li uzel i zařazen do stromu z i = (123) 0 jinak ( 1 je-li hrana (i ; j ) zařazena do stromu x ij = (124) 0 jinak y ij = hodnota toku z uzlu i do uzlu j (125) Jan Fábry Pokročilé matematické modely a metody 49 / 150

Tokové úlohy 8. Minimální Steinerův strom Model: X min i2v X X j 2V (i; j)2e y ij j 2V (i; j)2e X j 2V (i;j)2e c ij x ij + X i2t f i z i (126) z i = 1 pro i 2 D (127) x ij = z i pro i 2 V n fsg (128) X j 2V (j ; i)2e y ji = z i pro i 2 V n fsg (129) 0 y ij (jv j 1)x ij pro (i ; j ) 2 E (130) x ij 2 f0; 1g pro (i ; j ) 2 E (131) z i 2 f0; 1g pro i 2 T (132) Jan Fábry Pokročilé matematické modely a metody 50 / 150

Obsah 1 Úloha celočíselného programování 2 Modelování základních úloh IP a MIP 3 Úlohy na grafech Tokové úlohy Okružní a rozvozní úlohy 4 Speciální omezení s logickými proměnnými 5 Vlastnosti diskrétních úloh 6 Řešení úloh - metody a algoritmy Relaxace Exaktní metody Výpočetní složitost Heuristiky a metaheuristiky Jan Fábry Pokročilé matematické modely a metody 51 / 150

Okružní a rozvozní úlohy Klasifikace úloh Typ trasy v grafu Trasy jsou tvořeny uzly Úloha obchodního cestujícího (TSP) - nekonečně velká kapacita vozidel Rozvozní úloha (VRP) - omezená kapacita vozidel Trasy jsou tvořeny hranami Úloha čínského listonoše (CPP) Počet dep a vozidel Jedno depo (výchozí místo) s jedním nebo několika vozidly Více dep Znalost zákazníků Statické úlohy - všichni zákazníci jsou známí předem Dynamické úlohy - zákazníci známí předem a zákazníci s on-line požadavky Cíl Minimalizace celkové délky tras (celkových nákladů) Minimalizace celkové doby jízdy všech vozidel Minimalizace nejdelší doby jízdy ze všech vozidel Jan Fábry Pokročilé matematické modely a metody 52 / 150

Okružní a rozvozní úlohy 1. Úloha obchodního cestujícího Formulace: Nechť G = fu ; Eg je úplný digraf se vzdáleností c ij definovanou pro každou hranu (i ; j ) (matice C je obecně nesymetrická). Nechť uzel 1 je depo a ju j = n. Cílem je určit minimální Hamiltonův cyklus. Proměnné: x ij = 8 >< >: 1 jestliže vozidlo jede přímo z uzlu i do uzlu j 0 jinak (133) u i = umělá proměnná zavedená v podmínkách zabraňujících vytváření parciálních cyklů (134) Jan Fábry Pokročilé matematické modely a metody 53 / 150

Okružní a rozvozní úlohy 1. Úloha obchodního cestujícího Model (Miller, Tucker, Zemlin): nx j=1 nx i=1 min nx nx i=1 j=1 u i + 1 (n 1)(1 x ij ) u j c ij x ij (135) x ij = 1 pro i = 1; 2; : : : ; n (136) x ij = 1 pro j = 1; 2; : : : ; n (137) x ij 2 f0; 1g pro pro i = 1; 2; : : : ; n j = 2; 3; : : : ; n i = 1; 2; : : : ; n j = 1; 2; : : : ; n (138) (139) u i 2 R + pro i = 1; 2; : : : ; n (140) Jan Fábry Pokročilé matematické modely a metody 54 / 150

Okružní a rozvozní úlohy 2. Úloha obchodního cestujícího s časovými okny (TSPTW) Formulace: Nechť je definována nesymetrická úloha TSP. Každý uzel i musí být navštíven v rámci časového intervalu he i ; l i i. Vozidlo stráví v uzlu i daný čas S i. Hodnota d ij představuje dobu přejezdu mezi uzly i a j. Cílem je určit minimální Hamiltonův cyklus (z hlediska vzdálenosti) při respektování všech časových oken. Proměnné: 8 >< 1 jestliže vozidlo jede přímo x ij = z uzlu i do uzlu j (141) >: 0 jinak t i = čas příjezdu vozidla do uzlu i (142) Jan Fábry Pokročilé matematické modely a metody 55 / 150

Okružní a rozvozní úlohy 2. Úloha obchodního cestujícího s časovými okny (TSPTW) Úprava modelu MTZ: e i t i l i pro i = 2; 3; : : : ; n (143) t 1 = 0 (144) t i 2 R + pro i = 2; 3; : : : ; n (145) Proměnné u i jsou eliminovány a omezující podmínky (138) jsou nahrazeny podmínkami t i + S i + d ij M (1 x ij ) t j pro i = 1; 2; : : : ; n j = 2; 3; : : : ; n i 6= j (146) Jan Fábry Pokročilé matematické modely a metody 56 / 150

Okružní a rozvozní úlohy 3. Metrická úloha obchodního cestujícího ( - TSP) Trojúhelníkové nerovnosti: c ij c ik + c kj pro i ; j ; k = 1; 2; : : : ; n; i 6= j 6= k (147) 4. Euklidovská úloha obchodního cestujícího Euklidovské vzdálenosti: c ij = q (X i X j ) 2 + (Y i Y j ) 2 pro i ; j = 1; 2; : : : ; n; i 6= j (148) 5. Otevřená úloha obchodního cestujícího Namísto minimálního Hamiltonova cyklu se hledá minimální otevřená cesta vedoucí přes všechny uzly (trasa není zakončena v depu): nastavíme c i1 = 0 pro i = 2; 3; : : : ; n (149) Jan Fábry Pokročilé matematické modely a metody 57 / 150

Okružní a rozvozní úlohy 6. Dynamická úloha obchodního cestujícího Ve statické verzi TSP jsou všichni zákazníci známí předem. V dynamické verzi se během realizace optimální trasy objevují on-line požadavky dalších zákazníků. Statická úloha Optimalizace Trasa vozidla On-line požadavek Dynamická úloha Re-optimalizace Jan Fábry Pokročilé matematické modely a metody 58 / 150

Okružní a rozvozní úlohy 7. Rozvozní úloha Formulace: Nechť G = fu ; Eg je úplný digraf se vzdáleností c ij definovanou pro každou hranu (i ; j ). Nechť uzel 1 je depo, v němž je k dispozici vozidlo s kapacitou V, ju j = n. Každý zákazník i má požadavek o velikosti q i. Cílem je uspokojit požadavky všech zákazníků a minimalizovat celkovou délku všech tras. Proměnné: 8 >< 1 jestliže vozidlo jede přímo x ij = u uzlu i do uzlu j (150) >: 0 jinak u i = umělá proměnná zavedená pro bilanci nákladu vozidla (151) Předpoklady: nx i=2 q i > V (152) q i V pro i = 2; 3; : : : ; n (153) Jan Fábry Pokročilé matematické modely a metody 59 / 150

Okružní a rozvozní úlohy 7. Rozvozní úloha Model: nx j=1 nx i=1 min nx u i + q j V (1 x ij ) u j nx i=1 j=1 c ij x ij (154) x ij = 1 pro i = 2; 3; : : : ; n (155) x ij = 1 pro j = 2; 3; : : : ; n (156) pro i = 1; 2; : : : ; n j = 2; 3; : : : ; n (157) u i V pro i = 2; 3; : : : ; n (158) x ij 2 f0; 1g u 1 = 0 (159) pro i = 1; 2; : : : ; n j = 1; 2; : : : ; n (160) u i 2 R + pro i = 2; 3; : : : ; n (161) Jan Fábry Pokročilé matematické modely a metody 60 / 150

Okružní a rozvozní úlohy 8. Rozvozní úloha s heterogenním vozovým parkem Formulace: Nechť je definována úloha VRP s K typy vozidel, která jsou k dispozici v jednom depu. Pro každý typ k je dána kapacita vozidla V k, počet vozidel p k a nákladový koeficient d k, odvozený od spotřeby vozidla. Cílem je uspokojit požadavky všech zákazníků a minimalizovat celkové náklady. Proměnné: 8 >< 1 jestliže vozidlo typu k jede přímo xij k = z uzlu i do uzlu j (162) >: 0 jinak u i = umělá proměnná zavedená pro bilanci nákladu vozidla (163) Předpoklad: nx KX q i p k V k (164) Značení: i=2 k=1 V = max k=1;2;:::;k V k (165) Jan Fábry Pokročilé matematické modely a metody 61 / 150

Okružní a rozvozní úlohy 8. Rozvozní úloha s heterogenním vozovým parkem Model: KX nx min xij k k=1 j=1 nx i=1 x k ij = nx j=2 nx i=1 KX nx nx k=1 i=1 j=1 d k c ij x k ij (166) = 1 pro i = 2; 3; : : : ; n (167) x k ji u i + q j V (1 x k ij ) u j pro j = 1; 2; : : : ; n k = 1; 2; : : : ; K (168) x k 1j p k pro k = 1; 2; : : : ; K (169) pro i = 1; 2; : : : ; n j = 2; 3; : : : ; n k = 1; 2; : : : ; K (170) Jan Fábry Pokročilé matematické modely a metody 62 / 150

Okružní a rozvozní úlohy 8. Rozvozní úloha s heterogenním vozovým parkem Model (pokrač.): u i nx KX j=1 k=1 x k ij 2 f0; 1g x k ij V k pro i = 1; 2; : : : ; n (171) u 1 = 0 (172) pro i = 1; 2; : : : ; n j = 1; 2; : : : ; n k = 1; 2; : : : ; K (173) u i 2 R + pro i = 2; 3; : : : ; n (174) Jan Fábry Pokročilé matematické modely a metody 63 / 150

Okružní a rozvozní úlohy 9. Rozvozní úloha s časovými okny (VRPTW) Jestliže jsou v úloze definována časová okna, je zavedena proměnná t i a všechny odpovídající omezující podmínky podobně jako v úloze TSPTW. 10. Rozvozní úloha s dělenou dodávkou (SDVRP) Standardní model úlohy VRP nelze použít, pokud 9i ; q i > V. Takový požadavek musí být rozdělen do více tras. I v případě, že q i V ; 8i, může být výhodné dělit dodávky. V modelu proměnná Q k i značí část požadavku q i zahrnutou do trasy k: KX k=1 Q k i = q i pro i = 2; 3; : : : ; n (175) Jan Fábry Pokročilé matematické modely a metody 64 / 150

Okružní a rozvozní úlohy 11. Přepravní problémy - úlohy vyzvednutí a doručení (PDP) One-to-One PDP (úloha přepravy hendikepovaných osob, úloha kurýrní služby) Každý požadavek je dán místem vyzvednutí a místem doručení. Trasy vozidel začínají a končí ve společném depu. Many-to-Many PDP Zboží může být vyzvednuto v jednom z několika míst a doručeno do jednoho z několika míst. One-to-Many-to-One PDP Každý zákazník obdrží zásilku z depa a zašle do něj jinou zásilku. Jan Fábry Pokročilé matematické modely a metody 65 / 150

Okružní a rozvozní úlohy 12. Neorientovaná úloha čínského listonoše Formulace: Nechť G = fu ; Eg je neorientovaný souvislý graf. Pro každou hranu fi ; j g jsou dány náklady c ij. Cílem je najít cyklus s minimálními celkovými náklady takový, že v něm bude obsažena každá hrana alespoň jednou. Věta: Neorientovaný graf G je eulerovský právě tehdy, když G je souvislý a všechny uzly mají sudý stupeň. Pokud graf G není eulerovský, sestrojíme supergraf G grafu G takový, že G je eulerovský a obsahuje Eulerův cyklus, který je kratší než Eulerův cyklus v jakémkoli jiném supergrafu grafu G. Jan Fábry Pokročilé matematické modely a metody 66 / 150

Okružní a rozvozní úlohy 12. Neorientovaná úloha čínského listonoše Proměnné v modelu I: ( 1 jestliže hrana fi ; j g je zdvojena v G x ij = 0 jinak Značení v modelu I: y i = umělá proměnná pro vyjádření sudého/lichého čísla U 0 U je množina uzlů sudého stupně U 1 U je množina uzlů lichého stupně i < j (176) (177) Jan Fábry Pokročilé matematické modely a metody 67 / 150

Okružní a rozvozní úlohy 12. Neorientovaná úloha čínského listonoše Model I: X min c ij x ij (178) X fj ;ig2e j <i X fj ;ig2e j <i x ji + x ji + X fi;j g2e j >i X fi;j g2e j >i fi;j g2e i<j x ij = 2y i pro i 2 U 0 (179) x ij = 2y i + 1 pro i 2 U 1 (180) x ij 2 f0; 1g pro fi ; j g 2 E ; i < j (181) y i 2 Z + pro i 2 U (182) Jan Fábry Pokročilé matematické modely a metody 68 / 150

Okružní a rozvozní úlohy 12. Neorientovaná úloha čínského listonoše Proměnné v modelu II: Model II: x ij = počet hran fi ; j g v grafu G (183) X min c ij x ij (184) fi;j g2e x ij + x ji 1 pro fi ; j g; fj ; ig 2 E (185) X fj ;ig2e x ji = X fi;j g2e x ij pro i 2 U (186) x ij 2 Z + pro fi ; j g 2 E (187) Jan Fábry Pokročilé matematické modely a metody 69 / 150

Okružní a rozvozní úlohy 13. Orientovaná úloha čínského listonoše Formulace: Nechť G = fu ; Eg je silně souvislý digraf. Pro každou hranu (i ; j ) jsou dány náklady c ij. Cílem je najít cyklus s minimálními celkovými náklady takový, že v něm bude obsažena každá hrana alespoň jednou. Věta: Orientovaný graf G je eulerovský právě tehdy, když G je silně souvislý a vstupní polostupeň každého uzlu je roven jeho výstupnímu polostupni. Pokud G není eulerovský, sestrojíme supergraf G grafu G takový, že G je eulerovský a obsahuje Eulerův cyklus, který je kratší než Eulerův cyklus v jakémkoli jiném supergrafu grafu G. Jan Fábry Pokročilé matematické modely a metody 70 / 150

Okružní a rozvozní úlohy 13. Orientovaná úloha čínského listonoše Značení: deg i = vstupní polostupeň uzlu i deg + i = výstupní polostupeň uzlu i I = množina uzlů i pro které deg i > deg+ i J = množina uzlů j pro které deg j < deg+ j a i = deg i deg + i pro i 2 I b j = deg + j deg j pro j 2 J d ij = délka nejkratší orientované cesty z i 2 I do j 2 J Proměnné: x ij = počet nejkratších orientovaných cest mezi uzly i a j, které přidáme do grafu G (188) Jan Fábry Pokročilé matematické modely a metody 71 / 150

Okružní a rozvozní úlohy 13. Orientovaná úloha čínského listonoše Model: X X min d ij x ij (189) i2i j 2J X j 2J X i2i x ij = a i pro i 2 I (190) x ij = b j pro j 2 J (191) x ij 2 R + pro i 2 I j 2 J (192) Jan Fábry Pokročilé matematické modely a metody 72 / 150

Okružní a rozvozní úlohy 14. Smíšená úloha čínského listonoše (čištění ulic) CPP na smíšeném grafu G = fu ; Eg. 15. Rural verze úlohy čínského listonoše (doručování pošty) Nechť G = fu ; Eg je souvislý s množinou R E povinných hran, kterými je nutné projet alespoň jednou. Zbývající hrany v množině E n R jsou volitelné a mohou být využity v optimální trase. 16. Kapacitní úloha čínského listonoše (svoz odpadu) Nechť G = fu ; Eg je souvislý graf s požadavky o velikosti q ij pro každou hranu fi ; j g (pro každou povinnou hranu ve verzi Rural CPP ). Pro uspokojení požadavků je k dispozici vozidlo s omezenou kapacitou. Je nutné najít cykly, aniž by na některém z nich došlo k překročení kapacity vozidla. 17. Hierarchická úloha čínského listonoše (odklízení sněhu pluhem) U každé hrany je dána její priorita z hlediska důležitosti příslušné komunikace. Jan Fábry Pokročilé matematické modely a metody 73 / 150

Obsah 1 Úloha celočíselného programování 2 Modelování základních úloh IP a MIP 3 Úlohy na grafech Tokové úlohy Okružní a rozvozní úlohy 4 Speciální omezení s logickými proměnnými 5 Vlastnosti diskrétních úloh 6 Řešení úloh - metody a algoritmy Relaxace Exaktní metody Výpočetní složitost Heuristiky a metaheuristiky Jan Fábry Pokročilé matematické modely a metody 74 / 150

Speciální omezení s logickými proměnnými 1. Po částech lineární funkce Formulace: Po částech lineární funkce f (y) je definována na množině intervalů I 1 ; I 2 ; : : : ; I r 1 : ha 1 ; a 2 i; ha 2 ; a 3 i; : : : ; ha r 1 ; a r i. Pro každou mez intervalu a k je dána funkční hodnota f (a k ). Formulujte lineární model funkce pomocí diskrétních proměnných. Příklad: a 1 = 0 a 2 = 15 a 3 = 30 f(y) 30 20 f (a 1 ) = 10 f (a 2 ) = 30 f (a 3 ) = 20 10 0 15 30 y Jan Fábry Pokročilé matematické modely a metody 75 / 150

Speciální omezení s logickými proměnnými 1. Po částech lineární funkce Proměnné: ( 1 jestliže y 2 h0; 15i x 1 = 0 jinak ( 1 jestliže y 2 h15; 30i x 2 = 0 jinak 1 ; 2 ; 3 = umělé proměnné použité v konvexních kombinacích (193) (194) (195) Jan Fábry Pokročilé matematické modely a metody 76 / 150

Speciální omezení s logickými proměnnými 1. Po částech lineární funkce Formulace podmínek: Jestliže y 2 h0; 15i, pak ) y = 0 1 + 15 2 = a 1 1 + a 2 2 f (y) = 10 1 + 30 2 = f (a 1 ) 1 + f (a 2 ) 2 Jestliže y 2 h15; 30i, pak ) y = 15 2 + 30 3 = a 2 2 + a 3 3 f (y) = 30 2 + 20 3 = f (a 2 ) 2 + f (a 3 ) 3 1 + 2 = 1 1 ; 2 2 R + (196) 2 + 3 = 1 2 ; 3 2 R + (197) ) x 1 = 0 ) 1 = 0 1 x 1 3 x 2 (198) x 2 = 0 ) 3 = 0 ( 2 x 1 + x 2 ) * Nerovnost je důležitá v případě, že jsou definovány alespoň tři intervaly (x 1 = 0 ^ x 2 = 0 ) 2 = 0): Jan Fábry Pokročilé matematické modely a metody 77 / 150

Speciální omezení s logickými proměnnými 1. Po částech lineární funkce Model: y = 0 1 + 15 2 + 30 3 (199) f (y) = 10 1 + 30 2 + 20 3 (200) 1 x 1 (201) 2 x 1 + x 2 (202) 3 x 2 (203) x 1 + x 2 = 1 (204) 1 + 2 + 3 = 1 (205) x 1 ; x 2 2 f0; 1g (206) 1 ; 2 ; 3 2 R + (207) Jan Fábry Pokročilé matematické modely a metody 78 / 150

Speciální omezení s logickými proměnnými 1. Po částech lineární funkce Proměnné v obecném modelu: ( 1 jestliže y 2 Ii = ha i ; a i+1i x i = 0 jinak i = umělá proměnná použitá v konvexních kombinacích Obecný model: y = f (y) = rx i=1 rx i=1 pro i = 1; 2; : : : ; r 1 (208) pro i = 1; 2; : : : ; r (209) a i i (210) f (a i ) i (211) Jan Fábry Pokročilé matematické modely a metody 79 / 150

Speciální omezení s logickými proměnnými 1. Po částech lineární funkce Obecný model (pokrač.): r X1 i=1 rx i=1 x i = 1 (212) i = 1 (213) 1 x 1 (214) r x r 1 (215) i x i 1 + x i pro i = 2; 3; : : : ; r 1 (216) x i 2 f0; 1g pro i = 1; 2; : : : ; r 1 (217) i 2 R + pro i = 1; 2; : : : ; r (218) Jan Fábry Pokročilé matematické modely a metody 80 / 150

Speciální omezení s logickými proměnnými 2. Nekonvexní množina přípustných řešení Příklad: Jsou dány následující omezující podmínky. Použijte diskrétní proměnné tak, aby bylo možné úlohu s podmínkami řešit jako model MIP. y 1 + y 2 40 y 1 20 nebo y 2 10 y 1 ; y 2 2 R + Proměnné: ( 1 jestliže y1 20 x 1 = 0 jinak ( 1 jestliže y2 10 x 2 = 0 jinak (219) (220) Jan Fábry Pokročilé matematické modely a metody 81 / 150

Speciální omezení s logickými proměnnými 2. Nekonvexní množina přípustných řešení Model: y 1 + y 2 40 (221) y 1 20x 1 (222) y 2 10x 2 (223) x 1 + x 2 1 (224) y 1 ; y 2 2 R + (225) x 1 ; x 2 2 f0; 1g (226) Jan Fábry Pokročilé matematické modely a metody 82 / 150

Speciální omezení s logickými proměnnými 3. Platnost různých soustav omezení (typ buď-nebo) Příklad: Tři různé produkty mohou být na stroji vyráběny buď v pořadí P 1! P 2! P 3 nebo P 3! P 2! P 1. Předpokládejme, že výroba produktu P i trvá t i. Formulujte omezující podmínky modelující přípustnou produkci. Proměnné: y i = okamžik začátku výroby produktu P i (227) x = ( 1 vyrábí-li se produkty v pořadí P1! P 2! P 3 0 vyrábí-li se produkty v pořadí P 3! P 2! P 1 (228) Jan Fábry Pokročilé matematické modely a metody 83 / 150

Speciální omezení s logickými proměnnými 3. Platnost různých soustav omezení (typ buď-nebo) Model: y 1 + t 1 y 2 + M (1 x ) (229) y 2 + t 2 y 3 + M (1 x ) (230) y 3 + t 3 y 2 + Mx (231) y 2 + t 2 y 1 + Mx (232) y i 2 R + pro i = 1; 2; 3 (233) x 2 f0; 1g (234) Jan Fábry Pokročilé matematické modely a metody 84 / 150

Speciální omezení s logickými proměnnými 4. Platnost různých soustav omezení (splnění k z m podmínek) Příklad: Model obsahuje soustavu m omezujících podmínek. Nechť i-tá podmínka je definována jako ai T y b i. Zajistěte, aby bylo splněno přesně k ze všech m podmínek (k < m). Umělé proměnné: ( 1 je-li i-tá omezující podmínka zahrnuta v modelu x i = (235) 0 jinak Omezující podmínky: ai T y b i + M (1 x i ) pro i = 1; 2; : : : ; m (236) mx i=1 x i = k (237) Jan Fábry Pokročilé matematické modely a metody 85 / 150

Speciální omezení s logickými proměnnými 5. Speciální omezení pro úroveň výroby Příklad: Firma zvažuje výrobu nového produktu. V případě výroby, úroveň musí být alespoň 500 ks a nesmí překročit 1000 ks. Naformulujte odpovídající omezující podmínky. Proměnné: y = úroveň výroby (238) ( 1 jestliže se firma rozhodne produkt vyrábět x = (239) 0 jinak Model: 500x y 1000x (240) y 2 Z + (241) x 2 f0; 1g (242) Jan Fábry Pokročilé matematické modely a metody 86 / 150

Speciální omezení s logickými proměnnými 6. Plánování diskrétní úrovně výroby Příklad: Firma zvažuje, zda vyrobit 500, 1000 nebo 2000 ks daného produktu. Naformulujte odpovídající omezující podmínky. Proměnné: y = úroveň výroby (243) ( 1 je-li výroba na i-té úrovni x i = i = 1; 2; 3 (244) 0 jinak Model: y = 500x 1 + 1000x 2 + 2000x 3 (245) x 1 + x 2 + x 3 = 1 (246) y 2 Z + (247) x i 2 f0; 1g pro i = 1; 2; 3 (248) Jan Fábry Pokročilé matematické modely a metody 87 / 150

Speciální omezení s logickými proměnnými 7. Výroba určitého počtu druhů produktů Příklad: Firma může teoreticky vyrábět n druhů produktů. Rozhodla se z nich ale vyrábět jen k druhů. Pro každý produkt i je dána maximální úroveň výroby q i. Naformulujte odpovídající omezující podmínky. Proměnné: y i = úroveň výroby produktu i (249) ( 1 jestliže se produkt i vyrábí x i = (250) 0 jinak Omezující podmínky: 1 M x i y i q i x i pro i = 1; 2; : : : ; n (251) nx i=1 x i = k (252) Jan Fábry Pokročilé matematické modely a metody 88 / 150

Speciální omezení s logickými proměnnými 7. Výroba určitého počtu druhů produktů Příklad (rovnající se množství vyráběných druhů produktů): V předchozím příkladu je navíc určeno, že se úrovně výroby u vyráběných druhů produktů musí rovnat (podmínka komplementarity). Další proměnné: w = úroveň výroby vyráběných druhů produktů (253) Další omezující podmínky: w M (1 x i ) y i w + M (1 x i ) pro i = 1; 2; : : : ; n (254) Jan Fábry Pokročilé matematické modely a metody 89 / 150

Speciální omezení s logickými proměnnými 8. Definice proměnné rovnající se minimu dalších proměnných Příklad: Zapište proměnnou jako minimum n proměnných. Proměnné: w = min(y 1 ; y 2 ; : : : ; y n ) (255) ( 1 jestliže w = yi x i = (256) 0 jinak Omezující podmínky: w y i w + M (1 x i ) pro i = 1; 2; : : : ; n (257) nx i=1 x i 1 (258) Jan Fábry Pokročilé matematické modely a metody 90 / 150

Speciální omezení s logickými proměnnými 9. Linearizace součinu binárních proměnných Příklad: Linearizujte maximalizační účelovou funkci x 1 x 2 x 3 (všechny proměnné jsou binární). Umělá proměnná: w = x 1 x 2 x 3 (259) Model: max w (260) x 1 + x 2 + x 3 2 w (261) w x i pro i = 1; 2; 3 (262) x i 2 f0; 1g pro i = 1; 2; 3 (263) w 2 R + (264) Jan Fábry Pokročilé matematické modely a metody 91 / 150

Obsah 1 Úloha celočíselného programování 2 Modelování základních úloh IP a MIP 3 Úlohy na grafech Tokové úlohy Okružní a rozvozní úlohy 4 Speciální omezení s logickými proměnnými 5 Vlastnosti diskrétních úloh 6 Řešení úloh - metody a algoritmy Relaxace Exaktní metody Výpočetní složitost Heuristiky a metaheuristiky Jan Fábry Pokročilé matematické modely a metody 92 / 150

Vlastnosti diskrétních úloh Množina přípustných bodů v úlohách lineárního a celočíselného programování (LP) P = fx 2 R n + : Ax bg (265) (IP) S = fx 2 Z n + : Ax bg (266) x 2 4 3 2 1 0 1 2 3 4 x 1 Jan Fábry Pokročilé matematické modely a metody 93 / 150

Vlastnosti diskrétních úloh Definice: Polyedr P R n je množina bodů, které splňují konečný počet lineárních nerovností: P = fx 2 R n : Ax bg. Polyedr je omezený, jestliže existuje hodnota 2 R + taková, že P fx 2 R n : x j pro j = 1; 2; : : : ; ng. Omezený polyedr se nazývá polytop. Definice: Nechť je dána množina S R n. Bod x 2 R n je konvexní kombinací bodů z S, jestliže existuje konečná množina bodů fx 1 ; x 2 ; : : : ; x t g v S a vektor 2 R t + takový, že P t i=1 i = 1 a x = P t i=1 ix i. Definice: T R n je konvexní množina, pokud platí: jestliže x 1 ; x 2 2 T, pak x 1 + (1 )x 2 2 T pro všechna 2 h0; 1i. Jan Fábry Pokročilé matematické modely a metody 94 / 150

Vlastnosti diskrétních úloh Definice: Konvexní obal conv(s) množiny S je množina všech bodů, které jsou konvexní kombinací bodů z S. x 2 4 3 2 S conv(s) P 1 0 1 2 3 4 x 1 Jan Fábry Pokročilé matematické modely a metody 95 / 150

Vlastnosti diskrétních úloh Definice: Nerovnost T x 0 se nazývá platná nerovnost vzhledem k S, jestliže ji splňují všechny body z S. x 2 4 3 π T x π 0 2 1 0 1 2 3 4 x 1 Jan Fábry Pokročilé matematické modely a metody 96 / 150

Vlastnosti diskrétních úloh Definice: Jestliže T x 0 je platná nerovnost vzhledem k S a 9x 0 2 S takový, že T x 0 = 0, pak se nerovnost nazývá opěrná nerovnost vzhledem k S. Množina F = fx 2 conv(s) : T x = 0 g se nazývá opěrná stěna množiny conv(s). Říkáme, že opěrná nerovnost T x 0 reprezentuje opěrnou stěnu F. x 2 4 3 2 1 F π T x π 0 0 1 2 3 4 x 1 Jan Fábry Pokročilé matematické modely a metody 97 / 150

Vlastnosti diskrétních úloh Definice: Opěrná stěna F množiny conv(s) se nazývá fazeta množiny conv(s), jestliže dim F = dim conv(s) 1. x 2 4 3 2 π T x π 0 F 1 0 1 2 3 4 x 1 Jan Fábry Pokročilé matematické modely a metody 98 / 150

Vlastnosti diskrétních úloh Definice: Platné nerovnosti T x 0 a T x 0 se nazývají ekvivalentní, jestliže = a 0 = 0 pro některé > 0. Definice: Nechť T x 0 a T x 0 jsou dvě platné nerovnosti vzhledem k conv(s), které nejsou ekvivalentní. Jestliže existuje hodnota > 0 taková, že a 0 0, pak říkáme, že T x 0 dominuje (je silnější než) T x 0. Říkáme také, že T x 0 je dominována (je slabší než) T x 0. Pokud T x 0 dominuje T x 0, pak fx 2 R n + : T x 0 g fx 2 R n + : T x 0 g. Definice: Maximální platná nerovnost je taková, která není dominována žádnou jinou platnou nerovností. Jan Fábry Pokročilé matematické modely a metody 99 / 150

Vlastnosti diskrétních úloh Každá maximální platná nerovnost vzhledem k S reprezentuje neprázdnou opěrnou stěnu množiny conv(s) a množina všech maximálních platných nerovností obsahuje nerovnosti, které reprezentují všechny fazety množiny conv(s). x 2 4 3 platná nerovnost maximální platná nerovnost x 2 4 3 platná nerovnost maximální platná nerovnost 2 2 1 1 0 1 2 3 4 x 1 0 1 2 3 4 x 1 Jan Fábry Pokročilé matematické modely a metody 100 / 150

Vlastnosti diskrétních úloh Zesilování nerovností Věta (Diophantos): Lineární rovnice P n j=1 j x j = 0, v níž j 2 Z (j = 0; 1; : : : ; n), má řešení x 2 Z n, právě tehdy, když největší společný dělitel koeficientů j (j = 1; 2; : : : ; n) dělí celočíselně hodnotu 0. Příklad: Nechť 3x 1 + 6x 2 14 je platná nerovnost vzhledem k S. Cílem je najít silnější platnou nerovnost, která je opěrnou nerovností vzhledem k S. x 2 3 2 1 3x1 + 6x2 14 3x1 + 6x2 12 0 1 2 3 4 5 x 1 Jan Fábry Pokročilé matematické modely a metody 101 / 150

Vlastnosti diskrétních úloh Zesilování nerovností - lifting Definice: Nechť je dána nerovnost P n j=1 j x j 0, v níž j 2 R + (j = 0; 1; : : : ; n) a x 2 B n. Jestliže pro nějakou hodnotu k > 0 je nerovnost P n j=1 j x j + k x k 0 platná, pak říkáme, že je liftovaná z původní nerovnosti vzhledem k proměnné x k. Algoritmus: Opakuj pro k = 1; 2; : : : ; n: 1 Nastav x k = 1 a vypočti k = max x k 2B P nj=1 j x j 0 2 Vypočti k = 0 k 3 Nahraď k součtem k + k 4 Nerovnost P n j=1 j x j 0 je liftovaná vzhledem k proměnné x k Nerovnost P n j=1 j x j 0 je liftovaná vzhledem ke všem proměnným. Jan Fábry Pokročilé matematické modely a metody 102 / 150

Vlastnosti diskrétních úloh Zesilování nerovností - lifting Příklad: Liftujte nerovnost 4x 1 + 5x 2 + 6x 3 + 8x 4 13, kde x j 2 B (j = 1; 2; 3; 4). x 1 = 1! 1 = 12! 1 = 1! 1 = 5! 5x 1 + 5x 2 + 6x 3 + 8x 4 13 x 2 = 1! 2 = 13! 2 = 0! 2 = 5! 5x 1 + 5x 2 + 6x 3 + 8x 4 13 x 3 = 1! 3 = 11! 3 = 2! 3 = 8! 5x 1 + 5x 2 + 8x 3 + 8x 4 13 x 4 = 1! 4 = 13! 4 = 0! 4 = 8! 5x 1 + 5x 2 + 8x 3 + 8x 4 13 Jan Fábry Pokročilé matematické modely a metody 103 / 150

Vlastnosti diskrétních úloh Zesilování nerovností - fixing Příklad: Nechť je dána nerovnost 2x 1 + 3x 2 + 4x 3 15x 4 2, v níž x j 2 B (j = 1; 2; 3; 4). Pokud x 4 = 1, nerovnost nemůže být splněna! přípustné řešení existuje jen tehdy, jestliže proměnná je zafixována x 4 = 0. Příklad: Nechť je dána nerovnost 20x 1 + 5x 2 + 1x 3 8x 4 7, v níž x j 2 B (j = 1; 2; 3; 4). Zafixování x 1 = 1. Příklad: Nechť je dána rovnice x 1 + x 2 + 3x 3 = 4, v níž x j 2 B (j = 1; 2; 3). Protože x 3 = 0 je nepřípustné, proměnná je zafixována x 3 = 1. Potom je rovnice redukována na rovnici x 1 + x 2 = 1. Jan Fábry Pokročilé matematické modely a metody 104 / 150

Vlastnosti diskrétních úloh Zesilování nerovností - Gomoryho řez Nechť S = fx 2 Z n + : T x = 0 g, kde j 2 R (j = 0; 1; : : : ; n). Zvolíme-li libovolně d 2 N, pak každý koeficient j lze vyjádřit jako j kde j = d Pak rovnici lze psát jako nebo j = j d + 0 j ; (267) a 0 j = j mod d. Tedy j 2 Z a 0 j d( nx j=1 nx j=1 nx j=1 2 h0; d). j x j = 0 (268) ( j d + 0 j )x j = 0 d + 0 0 (269) j x j 0 ) = 0 0 nx j=1 0 j x j : (270) Jan Fábry Pokročilé matematické modely a metody 105 / 150