4EK314 Diskrétní modely

Podobné dokumenty
Pokročilé matematické modely a metody

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

Úvod do teorie grafů

Grafové algoritmy. Programovací techniky

4EK213 LINEÁRNÍ MODELY

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

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

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

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

1. července 2010

Metody síťové analýzy

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í

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

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

Matematické modelování 4EK201

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

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

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

Přijímací zkouška - matematika

Vzdálenost uzlů v neorientovaném grafu

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

TEORIE GRAFŮ TEORIE GRAFŮ 1

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

TGH02 - teorie grafů, základní pojmy

TGH02 - teorie grafů, základní pojmy

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

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


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

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

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

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

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

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

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

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

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

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

Jiří Neubauer. Katedra ekonometrie FEM UO Brno

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

4 Pojem grafu, ve zkratce

4EK213 LINEÁRNÍ MODELY

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

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

Numerické metody optimalizace - úvod

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

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

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

Parametrické programování

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

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

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

Algoritmizace prostorových úloh

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

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

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

Lineární programování

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

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

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

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

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

1 Vektorové prostory.

10 Přednáška ze

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

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

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

12. Lineární programování

13. Lineární programování

Úvod do teorie her

Ekonomická formulace. Matematický model

Technologie dopravy a logistika

DEFINICE Z LINEÁRNÍ ALGEBRY

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

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

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

OKRUŽNÍ A ROZVOZNÍ ÚLOHY: OBCHODNÍ CESTUJÍCÍ. FORMULACE PŘI RESPEKTOVÁNÍ ČASOVÝCH OKEN

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

0.1 Úvod do lineární algebry

Definice 1 eulerovský Definice 2 poloeulerovský

1 Mnohočleny a algebraické rovnice

2 Spojité modely rozhodování

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

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

TGH10 - Maximální toky

4EK213 Lineární modely. 5. Dualita v úlohách LP

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

Návrh Designu: Radek Mařík

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

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

Transkript:

4EK314 Diskrétní modely Jan Fábry Fakulta informatiky a statistiky Katedra ekonometrie fabry@vse.cz http://nb.vse.cz/~fabry Únor 2016, Praha Jan Fábry Diskrétní modely 1 / 153

Sylabus kurzu 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 Diskrétní modely 2 / 153

Sylabus kurzu 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 Diskrétní modely 3 / 153

Ú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 Diskrétní modely 4 / 153

Sylabus kurzu 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 Diskrétní modely 5 / 153

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 Diskrétní modely 6 / 153

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 Diskrétní modely 7 / 153

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 Diskrétní modely 8 / 153

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 Diskrétní modely 9 / 153

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 Diskrétní modely 10 / 153

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 Diskrétní modely 11 / 153

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 Diskrétní modely 12 / 153

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 Diskrétní modely 13 / 153

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 Diskrétní modely 14 / 153

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 Diskrétní modely 15 / 153

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 Diskrétní modely 16 / 153

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 Diskrétní modely 17 / 153

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 Diskrétní modely 18 / 153

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 Diskrétní modely 19 / 153

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 Diskrétní modely 20 / 153

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 Diskrétní modely 21 / 153

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 Diskrétní modely 22 / 153

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 Diskrétní modely 23 / 153

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 Diskrétní modely 24 / 153

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 Diskrétní modely 25 / 153

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 Diskrétní modely 26 / 153

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 Diskrétní modely 27 / 153

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 Diskrétní modely 28 / 153

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 Diskrétní modely 29 / 153

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 Diskrétní modely 30 / 153

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 Diskrétní modely 31 / 153

Sylabus kurzu 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 Diskrétní modely 32 / 153

Ú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 Diskrétní modely 33 / 153

Ú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 Diskrétní modely 34 / 153

Ú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ými 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 Diskrétní modely 35 / 153

Sylabus kurzu 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 Diskrétní modely 36 / 153

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 Diskrétní modely 37 / 153

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 Diskrétní modely 38 / 153

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 Diskrétní modely 39 / 153

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 Diskrétní modely 40 / 153

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 Diskrétní modely 41 / 153

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 Diskrétní modely 42 / 153

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 Diskrétní modely 43 / 153

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 Diskrétní modely 44 / 153

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 Diskrétní modely 45 / 153

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 Diskrétní modely 46 / 153

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 Diskrétní modely 47 / 153

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 Diskrétní modely 48 / 153

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 Diskrétní modely 49 / 153

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 Diskrétní modely 50 / 153

Sylabus kurzu 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 Diskrétní modely 51 / 153

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 Diskrétní modely 52 / 153

Okružní a rozvozní úlohy 1. Symetrická úloha obchodního cestujícího Formulace: Nechť G = fu ; Eg je úplný graf se vzdáleností c ij definovanou pro každou hranu fi ; j g (matice C je symetrická). Nechť uzel 1 je depo a ju j = n. Cílem je určit minimální Hamiltonův cyklus. Proměnné: ( 1 je-li hrana fi ; j g zahrnuta do trasy x ij = i < j (133) 0 jinak Jan Fábry Diskrétní modely 53 / 153

Okružní a rozvozní úlohy 1. Symetrická úloha obchodního cestujícího Model I (Dantzig, Fulkerson, Johnson): X X i2u 0 j 2U 0 i<j X j 2U j <i x ji + min X i2u X j 2U j >i X j 2U i<j c ij x ij (134) x ij = 2 pro i 2 U (135) ju j x ij ju 0 j 1 pro U 0 U ; 3 ju 0 j 2 (136) x ij 2 f0; 1g pro i ; j 2 U ; i < j : (137) Jan Fábry Diskrétní modely 54 / 153

Okružní a rozvozní úlohy 1. Symetrická úloha obchodního cestujícího Model II (Dantzig, Fulkerson, Johnson): Omezující podmínky (136) jsou nahrazeny podmínkami X X X X ju j x ij + x ij 1 pro U 0 U ; 3 ju 0 j 2 i2u 0 j 2U nu 0 i<j i2u nu 0 j 2U 0 i<j (138) Jan Fábry Diskrétní modely 55 / 153

Okružní a rozvozní úlohy 2. Nesymetrická ú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 (139) u i = umělá proměnná zavedená v podmínkách zabraňujících vytváření parciálních cyklů (140) Jan Fábry Diskrétní modely 56 / 153

Okružní a rozvozní úlohy 2. Nesymetrická ú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 (141) x ij = 1 pro i = 1; 2; : : : ; n (142) x ij = 1 pro j = 1; 2; : : : ; n (143) x ij 2 f0; 1g pro pro i = 1; 2; : : : ; n j = 2; 3; : : : ; n i = 1; 2; : : : ; n j = 1; 2; : : : ; n (144) (145) u i 2 R + pro i = 1; 2; : : : ; n (146) Jan Fábry Diskrétní modely 57 / 153

Okružní a rozvozní úlohy 3. Ú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 (147) >: 0 jinak t i = čas příjezdu vozidla do uzlu i (148) Jan Fábry Diskrétní modely 58 / 153

Okružní a rozvozní úlohy 3. Ú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 (149) t 1 = 0 (150) t i 2 R + pro i = 2; 3; : : : ; n (151) Proměnné u i jsou eliminovány a omezující podmínky (144) 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 (152) Jan Fábry Diskrétní modely 59 / 153

Okružní a rozvozní úlohy 4. 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 (153) 5. 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 (154) 6. 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 (155) Jan Fábry Diskrétní modely 60 / 153

Okružní a rozvozní úlohy 7. 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 Diskrétní modely 61 / 153

Okružní a rozvozní úlohy 8. 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 (156) >: 0 jinak u i = umělá proměnná zavedená pro bilanci nákladu vozidla (157) Předpoklady: nx i=2 q i > V (158) q i V pro i = 2; 3; : : : ; n (159) Jan Fábry Diskrétní modely 62 / 153

Okružní a rozvozní úlohy 8. 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 (160) x ij = 1 pro i = 2; 3; : : : ; n (161) x ij = 1 pro j = 2; 3; : : : ; n (162) pro i = 1; 2; : : : ; n j = 2; 3; : : : ; n (163) u i V pro i = 2; 3; : : : ; n (164) x ij 2 f0; 1g u 1 = 0 (165) pro i = 1; 2; : : : ; n j = 1; 2; : : : ; n (166) u i 2 R + pro i = 2; 3; : : : ; n (167) Jan Fábry Diskrétní modely 63 / 153

Okružní a rozvozní úlohy 9. 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 (168) >: 0 jinak u i = umělá proměnná zavedená pro bilanci nákladu vozidla (169) Předpoklad: nx KX q i p k V k (170) Značení: i=2 k=1 V = max k=1;2;:::;k V k (171) Jan Fábry Diskrétní modely 64 / 153

Okružní a rozvozní úlohy 9. 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 (172) = 1 pro i = 2; 3; : : : ; n (173) x k ji u i + q j V (1 x k ij ) u j pro j = 1; 2; : : : ; n k = 1; 2; : : : ; K (174) x k 1j p k pro k = 1; 2; : : : ; K (175) pro i = 1; 2; : : : ; n j = 2; 3; : : : ; n k = 1; 2; : : : ; K (176) Jan Fábry Diskrétní modely 65 / 153

Okružní a rozvozní úlohy 9. 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 (177) u 1 = 0 (178) pro i = 1; 2; : : : ; n j = 1; 2; : : : ; n k = 1; 2; : : : ; K (179) u i 2 R + pro i = 2; 3; : : : ; n (180) Jan Fábry Diskrétní modely 66 / 153

Okružní a rozvozní úlohy 10. 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. 11. 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 (181) Jan Fábry Diskrétní modely 67 / 153

Okružní a rozvozní úlohy 12. 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 Diskrétní modely 68 / 153

Okružní a rozvozní úlohy 13. 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 Diskrétní modely 69 / 153

Okružní a rozvozní úlohy 13. 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 (182) (183) Jan Fábry Diskrétní modely 70 / 153

Okružní a rozvozní úlohy 13. Neorientovaná úloha čínského listonoše Model I: X min c ij x ij (184) 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 (185) x ij = 2y i + 1 pro i 2 U 1 (186) x ij 2 f0; 1g pro fi ; j g 2 E ; i < j (187) y i 2 Z + pro i 2 U (188) Jan Fábry Diskrétní modely 71 / 153

Okružní a rozvozní úlohy 13. Neorientovaná úloha čínského listonoše Proměnné v modelu II: Model II: x ij = počet hran fi ; j g v grafu G (189) X min c ij x ij (190) fi;j g2e x ij + x ji 1 pro fi ; j g; fj ; ig 2 E (191) X fj ;ig2e x ji = X fi;j g2e x ij pro i 2 U (192) x ij 2 Z + pro fi ; j g 2 E (193) Jan Fábry Diskrétní modely 72 / 153

Okružní a rozvozní úlohy 14. 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 Diskrétní modely 73 / 153

Okružní a rozvozní úlohy 14. 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 (194) Jan Fábry Diskrétní modely 74 / 153

Okružní a rozvozní úlohy 14. Orientovaná úloha čínského listonoše Model: X X min d ij x ij (195) i2i j 2J X j 2J X i2i x ij = a i pro i 2 I (196) x ij = b j pro j 2 J (197) x ij 2 R + pro i 2 I j 2 J (198) Jan Fábry Diskrétní modely 75 / 153

Okružní a rozvozní úlohy 15. Smíšená úloha čínského listonoše (čištění ulic) CPP na smíšeném grafu G = fu ; Eg. 16. 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. 17. 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. 18. 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 Diskrétní modely 76 / 153

Sylabus kurzu 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 Diskrétní modely 77 / 153

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 Diskrétní modely 78 / 153

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 (199) (200) (201) Jan Fábry Diskrétní modely 79 / 153

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 + (202) 2 + 3 = 1 2 ; 3 2 R + (203) ) x 1 = 0 ) 1 = 0 1 x 1 3 x 2 (204) 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 Diskrétní modely 80 / 153

Speciální omezení s logickými proměnnými 1. Po částech lineární funkce Model: y = 0 1 + 15 2 + 30 3 (205) f (y) = 10 1 + 30 2 + 20 3 (206) 1 x 1 (207) 2 x 1 + x 2 (208) 3 x 2 (209) x 1 + x 2 = 1 (210) 1 + 2 + 3 = 1 (211) x 1 ; x 2 2 f0; 1g (212) 1 ; 2 ; 3 2 R + (213) Jan Fábry Diskrétní modely 81 / 153

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 (214) pro i = 1; 2; : : : ; r (215) a i i (216) f (a i ) i (217) Jan Fábry Diskrétní modely 82 / 153

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 (218) i = 1 (219) 1 x 1 (220) r x r 1 (221) i x i 1 + x i pro i = 2; 3; : : : ; r 1 (222) x i 2 f0; 1g pro i = 1; 2; : : : ; r 1 (223) i 2 R + pro i = 1; 2; : : : ; r (224) Jan Fábry Diskrétní modely 83 / 153

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 (225) (226) Jan Fábry Diskrétní modely 84 / 153

Speciální omezení s logickými proměnnými 2. Nekonvexní množina přípustných řešení Model: y 1 + y 2 40 (227) y 1 20x 1 (228) y 2 10x 2 (229) x 1 + x 2 1 (230) y 1 ; y 2 2 R + (231) x 1 ; x 2 2 f0; 1g (232) Jan Fábry Diskrétní modely 85 / 153

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 (233) 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 (234) Jan Fábry Diskrétní modely 86 / 153

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 ) (235) y 2 + t 2 y 3 + M (1 x ) (236) y 3 + t 3 y 2 + Mx (237) y 2 + t 2 y 1 + Mx (238) y i 2 R + pro i = 1; 2; 3 (239) x 2 f0; 1g (240) Jan Fábry Diskrétní modely 87 / 153

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 = (241) 0 jinak Omezující podmínky: ai T y b i + M (1 x i ) pro i = 1; 2; : : : ; m (242) mx i=1 x i = k (243) Jan Fábry Diskrétní modely 88 / 153

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 (244) ( 1 jestliže se firma rozhodne produkt vyrábět x = (245) 0 jinak Model: 500x y 1000x (246) y 2 Z + (247) x 2 f0; 1g (248) Jan Fábry Diskrétní modely 89 / 153

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 (249) ( 1 je-li výroba na i-té úrovni x i = i = 1; 2; 3 (250) 0 jinak Model: y = 500x 1 + 1000x 2 + 2000x 3 (251) x 1 + x 2 + x 3 = 1 (252) y 2 Z + (253) x i 2 f0; 1g pro i = 1; 2; 3 (254) Jan Fábry Diskrétní modely 90 / 153

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 (255) ( 1 jestliže se produkt i vyrábí x i = (256) 0 jinak Omezující podmínky: 1 M x i y i q i x i pro i = 1; 2; : : : ; n (257) nx i=1 x i = k (258) Jan Fábry Diskrétní modely 91 / 153

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ů (259) Další omezující podmínky: w M (1 x i ) y i w + M (1 x i ) pro i = 1; 2; : : : ; n (260) Jan Fábry Diskrétní modely 92 / 153

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 ) (261) ( 1 jestliže w = yi x i = (262) 0 jinak Omezující podmínky: w y i w + M (1 x i ) pro i = 1; 2; : : : ; n (263) nx i=1 x i 1 (264) Jan Fábry Diskrétní modely 93 / 153

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 (265) Model: max w (266) x 1 + x 2 + x 3 2 w (267) w x i pro i = 1; 2; 3 (268) x i 2 f0; 1g pro i = 1; 2; 3 (269) w 2 R + (270) Jan Fábry Diskrétní modely 94 / 153

Sylabus kurzu 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 Diskrétní modely 95 / 153

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 (271) (IP) S = fx 2 Z n + : Ax bg (272) x 2 4 3 2 1 0 1 2 3 4 x 1 Jan Fábry Diskrétní modely 96 / 153

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 Diskrétní modely 97 / 153

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 Diskrétní modely 98 / 153

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 Diskrétní modely 99 / 153

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 Diskrétní modely 100 / 153

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 Diskrétní modely 101 / 153

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 Diskrétní modely 102 / 153

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 Diskrétní modely 103 / 153

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 Diskrétní modely 104 / 153

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 Diskrétní modely 105 / 153

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 Diskrétní modely 106 / 153

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 Diskrétní modely 107 / 153

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 ; (273) 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 (274) ( j d + 0 j )x j = 0 d + 0 0 (275) j x j 0 ) = 0 0 nx j=1 0 j x j : (276) Jan Fábry Diskrétní modely 108 / 153

Vlastnosti diskrétních úloh Zesilování nerovností - Gomoryho řez Protože hodnota na levé straně nerovnosti (276) je celočíselným násobkem hodnoty d, hodnota na pravé straně musí být také celočíselná. Vzhledem k 0 0 2 h0; d) a P n j=1 0 j x j 0, hodnota na pravé straně nemůže být kladným násobkem d, tj. musí být nekladná. Proto také hodnota na levé straně musí být nekladná. Zlomkový Gomoryho řez: 0 0 nx j=1 0 j x j 0! nx j=1 0 j x j 0 0 (277) Celočíselný Gomoryho řez: nx j=1 j x j 0 0! nx j=1 j x j 0 (278) Jan Fábry Diskrétní modely 109 / 153

Vlastnosti diskrétních úloh Zesilování nerovností - Gomoryho řez Příklad: Nechť S = fx 2 Z 3 + : 37x 1 68x 2 + 78x 3 141g. Nalezněte silnější platnou nerovnost vzhledem k S. Transformace na rovnici 37x 1 68x 2 + 78x 3 + x 4 = 141 Zvolíme d = 12 37 = 3:12 + 1 68 = 6:12 + 4 78 = 6:12 + 6 1 = 0:12 + 1 141 = 11:12 + 9 Zlomkový Gomoryho řez: x 1 + 4x 2 + 6x 3 + x 4 9 Celočíselný Gomoryho řez: 3x 1 6x 2 + 6x 3 11 Jan Fábry Diskrétní modely 110 / 153