Lineární a Celo íselné Programování



Podobné dokumenty
Lineární a Celo íselné Programování

Lineární programování II. Ivan Nagy, Pavla Pecherková

Vektor náhodných veli in - práce s více prom nnými

Integrování jako opak derivování

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody

P íklad 1 (Náhodná veli ina)

Skalární sou in. Úvod. Denice skalárního sou inu

Vektory. Vektorové veli iny

Limity funkcí v nevlastních bodech. Obsah

Binární operace. Úvod. Pomocný text

Pr b h funkce I. Obsah. Maxima a minima funkce

Obsah. Pouºité zna ení 1

Rovnice a nerovnice. Posloupnosti.

2. Ur íme sudost/lichost funkce a pr se íky s osami. 6. Na záv r na rtneme graf vy²et ované funkce. 8x. x 2 +4

Lineární a Celo íselné Programování

ízení Tvorba kritéria 2. prosince 2014

Ergodické Markovské et zce

Pravd podobnost a statistika - cvi ení. Simona Domesová místnost: RA310 (budova CPIT) web:

1. (18 bod ) Náhodná veli ina X je po et rub p i 400 nezávislých hodech mincí. a) Pomocí ƒeby²evovy nerovnosti odhadn te pravd podobnost

Reálná ísla a posloupnosti Jan Malý

11 Soustavy rovnic a nerovnic, Determinanty a Matice

na za átku se denuje náhodná veli ina

Státní maturita 2010 Maturitní generálka 2010 Matematika: didaktický test - základní úrove obtíºnosti MAGZD10C0T01 e²ené p íklady

Úvod. Matematická ekonomie 1. Jan Zouhar. 20. zá í 2011

Testy pro více veli in

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.

Příprava na 1. čtvrtletní písemku pro třídu 1EB

2 Trochu teorie. Tab. 1: Tabulka pˇrepravních nákladů

T i hlavní v ty pravd podobnosti

nazvu obecnou PDR pro neznámou funkci

( x ) 2 ( ) Další úlohy s kvadratickými funkcemi. Předpoklady: 2501, 2502

Text m ºe být postupn upravován a dopl ován. Datum poslední úpravy najdete u odkazu na staºení souboru. Veronika Sobotíková

Derivování sloºené funkce

Statistika pro geografy. Rozd lení etností DEPARTMENT OF GEOGRAPHY

10 je 0,1; nebo taky, že 256

Řešení: Dejme tomu, že pan Alois to vezme popořadě od jara do zimy. Pro výběr fotky z jara má Alois dvanáct možností. Tady není co počítat.

Kuželosečky a kvadriky ve škole i kolem

Daniel Velek Optimalizace 2003/2004 IS1 KI/0033 LS PRAKTICKÝ PŘÍKLAD NA MINIMALIZACI NÁKLADŮ PŘI VÝROBĚ

Návrh realizace transformátoru Thane C. Heinse III.

2.2.2 Zlomky I. Předpoklady:

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Reálná čísla

1. července 2010

ZÁPISKY Z ANALYTICKÉ GEOMETRIE 1 SOUŘADNICE, BODY

Mezní kalibry. Druhy kalibrů podle přesnosti: - dílenské kalibry - používají ve výrobě, - porovnávací kalibry - pro kontrolu dílenských kalibrů.

1.7. Mechanické kmitání

Zobrazení v rovině je předpis, který každému bodu X roviny připisuje právě jeden bod X roviny. Bod X se nazývá vzor, bod X se nazývá obraz.

Programový komplet pro evidence provozu jídelny v modul Sklad Sviták Bechyně Ladislav Sviták hotline: 608/

MATEMATIKA I VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STAVEBNÍ JIŘÍ NOVOTNÝ ZÁKLADY LINEÁRNÍ ALGEBRY

Modelování v elektrotechnice

P íklady k prvnímu testu - Scilab

Státnice - Rekurzivní a rekurzivn spo etné mnoºiny

1 Data. 2 Výsledky m ení velikostí. Statistika velikostí výtrus. Roman Ma ák

Parametrické programování

P ílohy. P íloha 1. ešení úlohy lineárního programování v MS Excel

Jevy, nezávislost, Bayesova v ta

c sin Příklad 2 : v trojúhelníku ABC platí : a = 11,6 dm, c = 9 dm, α = Vypočtěte stranu b a zbývající úhly.

KRAJSKÝ ÚŘAD JIHOMORAVSKÉHO KRAJE Odbor dopravy Žerotínovo náměstí 3/5, Brno

P íklady k prvnímu testu - Pravd podobnost

12. Lineární programování

Číslicová technika 3 učební texty (SPŠ Zlín) str.: - 1 -

Android Elizabeth. Verze: 1.3

Vyhláška č. 294/2015 Sb., kterou se provádějí pravidla provozu na pozemních komunikacích

4 DVOJMATICOVÉ HRY. Strategie Stiskni páku Sed u koryta. Stiskni páku (8, 2) (5, 3) Sed u koryta (10, 2) (0, 0)

Státní maturita 2011 Maturitní testy a zadání jaro 2011 Matematika: didaktický test - základní úrove obtíºnosti MAMZD11C0T02 e²ené p íklady

FAKULTA INFORMATIKY A MANAGEMENTU UNIVERZITA HRADEC KRÁLOVÉ SEMESTRÁLNÍ PRÁCE. Modely operačního výzkumu 1. Studijní obor:

e²ení 1. série Úvodní gulá² autor: Kolektiv org

Co je to tensor... Vektorový prostor

Specifikace systému ESHOP

Poměry a úměrnosti I

Vzorové e²ení 4. série

1.2.5 Reálná čísla I. Předpoklady:

TIP: Pro vložení konce stránky můžete použít klávesovou zkratku CTRL + Enter.

Exponenciála matice a její užití. fundamentálních matic. Užití mocninných řad pro rovnice druhého řádu

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

PRAKTIKUM... Oddělení fyzikálních praktik při Kabinetu výuky obecné fyziky MFF UK. Odevzdal dne: Seznam použité literatury 0 1. Celkem max.

Slovní úlohy vedoucí na lineární rovnice I

4EK213 LINEÁRNÍ MODELY

Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A

Novinky verzí SKLADNÍK 4.24 a 4.25

Zadání. Založení projektu

6. Matice. Algebraické vlastnosti

Gymnázium Christiana Dopplera, Zborovská 45, Praha 5. ROČNÍKOVÁ PRÁCE Teoretické řešení střech

Dolní odhad síly pro ztrátu stability obecného prutu

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

Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A

Post ehy a materiály k výuce celku Funkce

4. cvičení: Pole kruhové, rovinné, Tělesa editace těles (sjednocení, rozdíl, ), tvorba složených objektů

Teorie her. Klasikace. Pomocný text

Relace. Základní pojmy.

1. Spo t te limity (m ºete pouºívat l'hospitalovo pravidlo) x cotg x 1. c) lim. g) lim e x 1. cos(x) =

Po etní geometrie. Výpo et délky p epony: c 2 = a 2 + b 2 Výpo et délky odv sny: a 2 = c 2 b 2, b 2 = c 2 a 2

Fyzikální praktikum 3

Oblastní stavební bytové družstvo, Jeronýmova 425/15, Děčín IV

Aplikace pravd podobnostních model v kurzovém sázení

269/2015 Sb. VYHLÁŠKA

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash Vibrio

Algoritmizace a programování

Usnesení. Č. j. 099 EX 7626/13-68

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

DOPRAVNÍ ZNAČENÍ do 30/2001: změna / doplnění nový název

Transkript:

Lineární a Celo íselné Programování text k p edná²kám Obsah 1 Lineární a celo íselné programování 4 1.1 Obecná formulace.................................... 4 1.2 Algebraický model................................... 4 1.3 P íklad......................................... 5 2 e²ení úlohy lineárního programování 7 2.1 Simplexová metoda................................... 7 2.2 Model v se²it EXCEL................................ 10 2.3 Triky p i práci v EXCELu............................... 11 3 Úlohy I. 11 3.1 Optimální produkce.................................. 11 3.2 Optimální produkce s omezenými zdroji....................... 12 3.3 Optimální produkce s výb rem surovin........................ 14 3.4 Optimální krmná sm s................................. 15 3.5 Optimální ezání ty í.................................. 16 4 Úlohy II. 17 4.1 Minimální tok náklad v síti............................. 17 P íklad 1........................................ 18 P íklad 2........................................ 20 4.2 P i azovací dopravní problém............................. 21 4.3 P i azovací dopravní problém (pomocí MCNF)................... 22 4.4 Nejkrat²í cesta grafem (pomocí MCNF)....................... 23 P íklad......................................... 23 1

5 Celo íselné programování 27 6 Formulace úloh celo íselného programování 30 6.1 Speciální typy omezení................................. 30 Omezení na výb r................................... 30 Aktivace omezení.................................... 30 Výb r z mnoºiny omezení............................... 31 Implikované omezení.................................. 32 Omezení na oblasti................................... 35 6.2 Aproximace kriteriální funkce............................. 36 Aproximace skokové funkce.............................. 36 Aproximace po ástech lineární funkce........................ 37 Aproximace sou inu v kriteriu............................. 39 Realizace minimaxu v kriteriu............................. 41 7 e²ení úlohy celo íselného programování 42 7.1 Metoda v tví a mezí.................................. 42 7.2 Metoda se ných nadrovin............................... 45 8 Úlohy III. 49 8.1 Úloha o batohu..................................... 49 8.2 Výb r z mnoºiny investic............................... 50 9 Úlohy IV. 51 9.1 Problém obchodního cestujícího (TSP)........................ 51 10 Úlohy V. 55 10.1 Problém pokrytí oblastí................................ 56 10.2 Kuch ka a recepty................................... 58 10.3 Obsazování leteckých tras posádkami......................... 59 P íklad 1........................................ 60 P íklad 2........................................ 62 11 Úlohy VI. 62 11.1 Problém rozmíst ní sklad............................... 63 11.2 Vy²et ení infek ního onemocn ní........................... 67 2

12 Úlohy VII. 71 12.1 Problém po²tovních box............................... 71 13 Zobecn ní TSP 72 13.1 Nejkrat²í cesta grafem................................. 72 13.2 Nejkrat²í cesta z daného uzlu............................. 74 13.3 Nejkrat²í cesta s více náv²t vami m st........................ 75 13.4 Nejkrat²í cesta klastry uzl.............................. 76 3

1 Lineární a celo íselné programování 1.1 Obecná formulace Standardní úloha zní: Nalezn te hodnoty vektoru x, které (i) maximalizují lineární kriterium c x = c 1 x 1 + c 2 x 2 + + c n x n, (ii) spl ují vedlej²í podmínky Ax b, tedy a i,1 x 1 + a i,2 x 2 + + a i,n x n b i, pro i = 1, 2,, m (m podmínek pro n prom nných) a (iii) jsou nezáporné. Zápis standardní úlohy je následující c x max Ax b x 0 Poznámka Omezení vytvá í simplex na kterém se hledá optimum. Lineární kriterium tvo í nadrovinu v prostoru x, J. Extrém je ve vrcholu nebo na hranici nebo ute e do nekone na. 1.2 Algebraický model 1. Denice neznámých (rozhodovacích) veli in x V prvé ad musíme denovat veli iny x, které budeme optimalizovat. Ty mohou být spojité x 0 nap. po et ks vyráb ného produktu, nebo diskrétní x 0, cele nap. po et za ízení s rychlým ob erstvením nebo binární x {0, 1}, které nazýváme rozhodovací (0 ne, 1 ano) nap. ozna ení investic z ur ité mnoºiny, které budou realizovány. 2. Denice kritéria Kritérium v t²inou vyjad uje n co, co chceme maximalizovat (zisk) nebo minimalizovat (náklady, ztráty atd.). Je vyjád en jako funkce optimalizovaných veli in x, v t²inou ve form c x jako sou in vektor nebo matic ( j,j c ijx ij ). Prom nné c se asto nazývají ceny. 3. Denice omezujících podmínek Vyjad ují podmínky, za kterých má optimalizace probíhat. Nejb ºn j²í jsou (a) nezápornost nebo celo íselnost neznámých x 0, x {0, 1} (b) omezení ve tvaru nerovností Ax b, kde matice A má rozm ry po et omezení po et neznámých (c) a p ípadn dal²í, se kterými se postupn setkáme v p íkladech. 4

1.3 P íklad Ur ete hodnoty prom nné x = [x 1, x 2 ], která maximalizuje kritérium a vyhovuje podmínkám J = c 1 x 1 + c 2 x 2 3x 1 + 5x 2 15 2x 1 + x 2 8 x 2 2 x 1 0, x 2 0 Váhy v kriteriu volte následovn a) c = [5, 1], b) c = [1, 1], c) c = [1, 3], d) c = [ 1, 1]. a vysv tlete výsledky. e²ení Geometrická interpretace úlohy ne na následujícím obrázku x 2 [0, 8] criterion 3 criterion 3 direction of maximization criterion 2 criterion 1 [0, 3] [0, 2] [5/3, 2] [6/7, 25/7] admissible solutions [4, 0] [5, 0] x 1 K e²ení lze pouºít nap. Excel. 5

e²itel lze nalézt v menu Data (pokud tam není, je t eba ho nainstalovat File - Options - Add-ins dole Go a snad tam vleze :-) ) Nastavíme ho takto 6

Pozn. V nové verzi lze za²krtnout - prom nné x jsou nezáporné. 2 e²ení úlohy lineárního programování 2.1 Simplexová metoda Pro e²ení základní úlohy lze vyuºít simplexovou metodu, která prochází vrcholy simplexu omezení tak, aby stále nar stala hodnota kriteria. Postup je obsaºen v následujícím p íkladu Demonstrace simplexové metody Příklad x Zadání 3 2 z=2x(1)+3x(2) -> max x(1)+x(2)<=5 c z x(1)+2x(2)<=8 2 3 12 (-x(1)+x(2)<=-4) A Ax b 1 1 5 5 1 2 7 8 2-1 4 4 nové další omezení pro demonstraci nerovnosti <= v omezení (viz další strana) (zatím bez nového omezení) Tabulka x1 x2 s1 s2 RHS -2-3 0 0 0 pro nebazické=0 je krit.=0 1 1 1 0 5 5/1 první omezení 1 2 0 1 8 --- 8/2 druhé omezení x1 x2 s1 s2 RHS -0.5 0 0 1.5 12 0.5 0 1-0.5 1 --- 0.5 1 0 0.5 4 x1 x2 s1 s2 RHS výsledek nebazické jsou 0 0 0 1 1 13 krit.=13 bazické mají hodnotu 1 0 2-1 2 x1=2 z pravého sloupce 0 1-1 1 3 x2=3 (krit. je bazické) pokračuje dále... 7

... pokračování nejsou splněny základní podmínky ulohy ( záp. pravá strana omezení nebo obrácená nerovnost >= ) Když nejsou pravé stany kladné, tak se to nasobí -1 Když není <=, postupujeme následovně odečteme s_slack a přičteme x_art (artificial) - obě veličiny jsou nezáporné řešíme pro koeficienty v kriteriu rovny nule a jedna pro x_art - tj pro krit. = x_art --> max nulujeme koeficient pro x_art v kriteriu - řádek podmínky násobíme -1 a přičteme ke kriteriu normálně vyřešíme a dostaneme tabulku z fáze I. u tabulky vynecháme sloupec pro x_art řádek 0 pro kriterium nahradíme původním řádkem Původní tabulka + nové omez. Nové omezení (pro demonstraci postupu s nerovností >=) x1 x2 s1 s2 s3 xa RHS -2x1+x2<=-4-2 -3 0 0 0 1 0 1 1 1 0 0 0 5 1 2 0 1 0 0 8 2-1 0 0-1 1 4 Řešíme pro c=0 tj. min z=xa x1 x2 s1 s2 s3 xa RHS 0 0 0 0 0 1 0 1 1 1 0 0 0 5 1 2 0 1 0 0 8 2-1 0 0-1 1 4 báze: posl. ř. odečíst od prvního x1 x2 s1 s2 s3 xa RHS -2 1 0 0 1 0 0 1 1 1 0 0 0 5 5/1 1 2 0 1 0 0 8 8/1 2-1 0 0-1 1 4 --- 4/2 pokračuje... 8

... pokračování u x1 je záporná cena -- posledním ř. a prvním prvkem nulujeme první sl. x1 x2 s1 s2 s3 xa RHS 0 0 0 0 0 1 4 0 1.5 1 0 0.5-0.5 3 0 2.5 0 1 0.5-0.5 6 1-0.5 0 0-0.5 0.5 2 xx xx xx x1=2 x2=0 s1=3 s2=6 s3=0 xa=0 Fáze II záporná pravá strana nebo omezení >= x1 x2 s1 s2 s3 RHS -2-3 0 0 0 0 0 1.5 1 0 0.5 3 --- 2 2 0 2.5 0 1 0.5 6 2.4 2.4 1-0.5 0 0-0.5 2 x1 x2 s1 s2 s3 RHS -2 0 2 0 1 6 0 1 0.667 0 0.333 2 0 0-1.667 1-0.333 1 1 0 0.333 0-0.333 3 --- 0 0 2 2/3 0 1/3 12 Konec 0 1 2/3 0 1/3 2 0 0-1 2/3 1-1/3 1 1 0 1/3 0-1/3 3 x1=3 x2=2 s1=0 s2=1 s3=0 z=12 Tedy: standardní podmínky jsou: maximalizace kriteria, nezáporné pravé strany omezení, nerovnosti typu, nezáporné prom nné x. sestavíme simplexovou tabulku standardní e²ení najdeme nejmen²í záporný koecient v ádku kriteria klí ový sloupec 9

pro kladné prvky v klí ovém sloupci najdeme nejmen²í podíl levé strany a prvku v klí ovém sloupci klí ový ádek na pr se íku kl. sl. a kl.. leºí klí ový prvek ten vyd líme kl. prvkem tím vynulujeme ostatní prvky v kl. sloupci to d láme, dokud je v ádku kriteria n jaký záporný prvek Výsledek: bázové veli iny mají hodnoty odpovídající pravým stranám; nebázové veli iny jsou nula. nestandardní e²ení záporné b a podmínka násobíme -1 záporné b a podmínka (násobíme -1) nebo kladné b a podmínka dále uvedený postup postup ode teme slack variable s a p i teme articial variable x A. e²íme celý problém pro kriterium z = x A max a do e²íme aº do konce ve výsledné tabulce nahradíme ádek kriteria p vodním a vynecháme sloupec s arti- cial variable vy e²íme a to je e²ení p vodní nestandardní úlohy. 2.2 Model v se²it EXCEL 1. Nejd íve vymezíme blok bun k pro neznámé x (p ípadn dal²í neznámé) 2. Dále zapí²eme v²echny zadané veli iny - v t²inou to jsou ceny c a koecienty lineárních omezení A a poºadované pravé strany b. 3. Spo teme v²echno, co je pot eba spo ítat (do e²itele se dávají jen odkazy na bu ky nebo bloky bun k). V t²inou to je: (a) kriterium c x = i c ix i (b) vypo tené pravé strany omezení Ax = a ij x j i 4. Zavoláme e²itele a zadáme v²echny odkazy (a) zvolíme Min nebo Max pro kriterium (b) zadáme blok nebo bloky pro neznáme (optimalizované) veli iny (c) p idáme omezení ve tvaru, nebo bin (volí se na stejném míst ) (d) v t²inou necháme zatrºenou volbu neomezené veli iny jsou nezáporné (nemusí se to jiº deklarovat v podmínkách) (e) a v okénku dole vybereme volbu Simplex LP - lineární programování. 10

2.3 Triky p i práci v EXCELu Blok bun k - taºení my²í nebo Shift ²ipla P emíst ní bloku (s Ctrl kopie) -uchopení za okraj (bu ky nebo bloku) a taºení. Vkopírování hodnoty do celého bloku - vytvo íme blok, zadáme hodnotu a Ctrl Enter. Maticové vzorce - provád jí operace (nej ast ji násobení) prvek po prvku. Zadávají se pomocí Ctrl Shift Enter. Výsledek m ºe být v jedné bu ce, nebo v bloku bun k. Blok je moºno zadat p edem (pak se objeví výsledky v celém bloku). Vzorec je moºno kopírovat se v²emi pravidly o posunu adres. Fixace adres (absolutní adresy) - zaxované adresy se p i kopírování neposouvají. Adresu xuje dolar p ed písmenem, íslem nebo obojím. Dolar p ed písmenem xuje adresu p i vodorovném pohybu, p ed íslem p i svislém pohybu a p ed obojím i ve vodorovném i svislém sm ru. Zadání dolar - automaticky zadáme dolary klávesou F4 ihned po vloºení adresy (jinak se musí adresa dát do bloku). Opakované stisknutí F4 provede: oba dolary, jen p ed íslem, jen p ed písmenem, ºádný dolar (atd.) Skalární sou in: =suma(a1:a10*b1:b10) + Ctrl Shift Enter ud lá maticový výpo et = i a ib i Sou in matice a vektoru - matice je B1:D10 a vektor A1:A10. Sou in je =suma(b1:d1*$a$1:$a$10) + Ctrl Shift Enter a rozkopírovat svisle. (Druhá adresa je absolutní.) 3 Úlohy I. 3.1 Optimální produkce Máme rozhodnout o mnoºství, ve kterém budou vyráb ny produkty A a B. K jejich výrob jsou zapot ebí dva drahé stroje jejichº vyuºití je omezeno. Úloha je zadána v tabulce Cílem je navrhnout maximální produkci. e²ení x 1 a x 2 - produkce výrobk A a B v tisících. Formulace úlohy je následující ƒas stroj pot ebný ƒas stroj Stroj na 1000 výrobk k vyuºití Produkt A Produkt B 1 4 6 24 2 4 2 12 x 1 + x 2 max 4x 1 + 6x 2 24 4x 1 + 2x 2 12 11

x 1 0, x 2 0 Pokra ování p íkladu Uvaºujme nyní ceny c 1 = 10 pro A a c 2 = 20 pro B. Chceme docílit maximálního zisku. e²ení Nové kriterium bude Dal²í pokra ování 10x 1 + 20x 2 max Firma podepsala dohodu s dodavatelem, ºe minimální produkce výrobk bude 1 tis. Náklady na výrobu jednotlivých výrobk jsou n 1 = 5 a n 2 = 10. Cílem je minimalizovat výdaje. e²ení Nové kritérium a dal²í omezení jsou 5x 1 + 10x 2 min x 1 1, x 2 1 3.2 Optimální produkce s omezenými zdroji Továrna s dv ma provozy produkuje výrobek A, který se prodává samostatn a nebo jako sou ást pro výrobek B. Oba výrobky pot ebují ur itou surovinu (S), jejíº zdroj je omezen. Specikace úlohy je dána v tabulce Surovina + Spot eba K dispozici + A pro B na jednotku produkce celkem Produkt A Produkt B S 5 2 3000 A 0 1 Cena produktu 5 10 Dále stanovíme podmínku, ºe minimální po et samostatných výrobk musí být 250 ks. Poºadujeme a) maximální produkci, b) maximální zisk. e²ení x 1 je po et kus A a x 2 pro B. Kriterium pro maximální produkci x 1 + x 2 max, 12

a pro maximální zisk Podmínky 5x 1 + 10x 2 max. 5x 1 + 2x 2 3000 x 1 x 2 250 x 1 0, x 2 0 Program: produkce2vyrobky.xlsx 13

3.3 Optimální produkce s výb rem surovin Továrna produkuje dva výrobky B 1 a B 2. Na výrobu B 1 pot ebuje látku L 1, na B 2 látku L 2. Tyto látky je moºno získat ze surovin A 1, A 2, A 3 a A 4, které je t eba zakoupit. Kaºdá surovina dá jiné mnoºství látek. Specikace je v tabulce Výrobek Surovina látka Pot ebné mnoºství A 1 A 2 A 3 A 4 látky L 1 (pro B 1 ) 2 10 5 20 1000 L 2 (pro B 2 ) 10 1 1 2000 Cena za surovinu 20 10 5 10 Chceme minimalizovat výdaje. e²ení x 1 x 4 jsou navrhovaná mnoºství zakoupených surovin. Platí 20x 1 + 10x 2 + 5x 3 + 10x 4 min 2x 1 + 10x 2 + 5x 3 + 20x 4 1000 10x 1 + 5x 2 + x 3 2000 Program: produkcesesurovinou.xlsx 14

3.4 Optimální krmná sm s Pro výkrm jednoho kusu dobytka je zapot ebí 2.5 kg krmné sm si a 240 g protein na den. Pro krmení se pouºívá píce a kuku ice. Cena jednoho kg píce je 0.50 K a kuku ice 0.40 K. Dal²í specikace jsou v tabulce Krmivo krmná sm s/kg krmiva proteiny/kg krmiva cena K /kg Píce (x 1 kg) 1 0.4 0.5 Kuku ice (x 2 kg) 1.25 0.08 0.4 Pot ebné mnoºství 2.5 0.24 Poºadujeme minimální výdaje. 15

e²ení x 1 zna í mnoºství píce, x 2 mnoºství kuku ice. Platí 0.5x 1 + 0.4x 2 min x 1 + 1.25x 2 2.5 0.4x 1 + 0.08x 2 0.24 nebo = v omezení (nechceme zbytky). Program: KrmnaSmes.xlsx 3.5 Optimální ezání ty í Máme ty e dlouhé 7.4 m a chceme z nich na ezat kusy dlouhé 150, 210 a 290 cm. Jednotlivé délky pot ebujeme v mnoºství 1000 ks. Jak máme postupovat, kdyº chceme mít minimální odpad? e²ení Nejprve stanovíme tzv. ezné plány 16

Délka Plán ezání 1 2 3 4 5 6 290 1 2-1 - 1 210 - - 2 2 1 1 150 3 1 2-3 1 Odpad 0 10 20 30 80 90 Ozna íme x 1 x 6 jsou mnoºství ezání podle jednotlivých plán. Úloha je: 10x 2 + 20x 3 + 30x 4 + 80x 5 + 90x 6 min x 1 + 2x 2 + x 4 + x 6 = 1000 2x 2 + 2x 4 + x 5 + x 6 = 1000 3x 1 + x 2 + 2x 3 + 3x 5 + x 6 = 1000. Program: RezaniTyci.xlsx 4 Úlohy II. 4.1 Minimální tok náklad v síti Minimum Cost Network Flow Problem (MCNF) 17

Je dána sí (souvislý, orientovaný, acyklický graf s jedním vstupem a jedním výstupem) s m uzly a n hranami. Písmenem b i ozna íme zásobu v uzlu i, tj. výstupní tok - vstupní tok. Jestliºe je b i > 0 jedná se o zásobovací uzel (zdroj), pro b i < 0 jde o uzel s poºadavkem (cíl) a pro b i = 0 máme uzel pr jezdní. S kaºdou hranou je spojena dolní mez L ij a horní mez U ij toku touto hranou. Cílem je ur it velikosti tok x ij v jednotlivých hranách grafu tak, aby náklady na p epravu byly minimální, jestliºe jednotková cena transportu po hran ij je c ij. P edpokládáme, ºe platí i b i = 0 (vyrovnané zdroje a poºadavky). e²ení Pomocí LP c ij x ij min ij x kj x ik = b k, k j i x ij U ij, x ij L ij, 0 L ij U ij, i, j Poznámka c a x jsou tvercové matice kde ádky i sloupce jsou indexovány uzly. Prvky t chto matic odpovídají hranám grafu. V t²inou ne v²echny hrany existují. Neexistující hrany vyplníme nulami. Jako m nící se bu ky v Excelu zadáme jen existující hrany - nejlépe vytaºené mimo do vektoru. Pro kriterium i podmínky pr toku m ºeme pouºít cele matice (i prvky odpovídajícími neexistujícím hranám - jsou to nuly). Podmínky pr toku konstruujeme jakoby pro diagonálu matice x a d láme sum( ádek)-sum(sloupec), kde v ádcích xujeme (F4) písmenka a ve sloupcích ísla adres. Pak lze kopírovat. V²e je vid t v Excelu. P íklad 1 Máme následující graf (vlevo), který doplníme zp tnou hranou s nulovým ohodnocením (vpravo) 4 4 2 2 zdroj 1 5 7 cíl zdroj 1 5 7 cíl 3 3 6 6 18

Uzel 1 je zdrojový se zásobou 150 jednotek toku, uzel 7 je cílový, tj. poºadující 150 jednotek toku. Ostatní uzly jsou p epravní. Ceny za p epravu jednotky toku jsou dány v tabulce (matici) 5 21 14 18 32 9 7 12 31, 29 35 0 hrana (7, 1) je zp tná s cenou 0. Jednotlivé toky budou 0 x 12 x 13 0 0 0 0 0 0 0 x 24 x 25 x 26 0 0 0 0 x 34 x 35 x 36 0 0 0 0 0 0 0 x 47 0 0 0 0 0 0 x 57 0 0 0 0 0 0 x 67 x 71 0 0 0 0 0 0 kde nepouºitým hranám jsme p i adili 0. Stejn tak doplníme 0 do matice ohodnocení. Minimální kapacitu hran zadáme jako 0, maximální 80. Potom úloha má tvar: Kritérium 7 i=1 j=1 7 c ij x ij min Podmínky konstruujeme pro kaºdý uzel. Jdeme po diagonále - to je k, a se teme k-tý sloupec a ode teme k-tý ádek. To se rovná b k, k = 1, 2,, 7. Protoºe jsme doplnili 0, m ºeme d lat sou ty vºdy od 1 do 7., x ki i j x jk = b k coº se týká uzlu k a íká, ºe to co p iteklo minus to co odteklo je to, co z stalo (ve skladu). V Excelu: jsme na k-tém prvku diagonály matice x a d láme: sou et prvk v k-tém ádku minus sou et prvku v k-tém sloupci rovná se b k. Dal²í podmínky jsou x ij L, x ij U, p ípadn x ij 0, x ij U. Pozor Bude-li zadána p íli² malá maximální kapacita hran, bude problém ne e²itelný. Program: mincostflow1.xlsx 19

P íklad 2 Je dáno 9 uzl podle obrázku zdroj cíl zdroj zdroj umely uzel cíl zdroj zpetna hrana se ty mi zdroji a dv ma poºadavky. Silnými ²ipkami je vyzna en výsledek. Detaily zadání jsou v programu. 20

Poznámka Graf sám nemá jeden výstupní uzel. Aby se mohla zavést zp tná hrana, je t eba denovat pomocný uzel s b = 0 do n hoº vedou pomocné hrany s nulovým ohodnocením. Ten se pak propojí se vstupem 1 (protoºe ten vede dále do ostatních vstup ). Program: mincostflow2.xlsx 4.2 P i azovací dopravní problém Je dáno m zdrojových uzl, kaºdý s s i, i {1 m} = M jednotkami zboºí, a n cílových uzl, kaºdý s d j, j {1 n} = N jednotkami poºadavk. c ij, i M, j N je jednotková cena za p evoz zboºí po hran i, j a x ij je mnoºství zboºí p epravené po této hran. Chceme dosáhnout minima náklad za p evoz. Úloha c ij x ij min ij x ij = s i, i j x ij = d j, j i x ij 0, ij 21

Lze e²it p ímo pomocí LP. Program: assignmenprobl.xlsx 4.3 P i azovací dopravní problém (pomocí MCNF) Jedná se jiné e²ení úlohy dopravního problému. s i jsou zdroje, d i poºadavky. e²ení Lze e²it jako MCNF vhodnou úpravou grafu: 1. P i adíme b i = s i, i M a b m+j = d j, j N. 2. Vytvo íme pomocné uzly 0 a m + n + 1 s nulovými cenami, zdroji i poºadavky (tohle je v textu ale nechodí to: zdroji b 0 = i b i, i M a poºadavky b m+n+1 = j b j, j N). 3. Uzel 0 spojíme hranami s uzly 1 aº m a uzly m + 1 aº m + n spojíme s uzlem m + n + 1. Tyto hrany mají nulová ohodnocení. 22

4. Zavedeme zp tnou hranu (m + n + 1, 0) rovn º s nulovým ohodnocením. 5. Ignorujeme horní meze tok (horní meze m ºeme a nemusíme zadat). Na takto modikovaný graf aplikujeme MCNF. Modikovaný graf je na obrázku. b > 0 b < 0 1 m + 1 0 m + n + 1 i b i j b j m m + n Program: assignmenproblasmcnf.xlsx (velké - prohlédnout v Excelu) 4.4 Nejkrat²í cesta grafem (pomocí MCNF) Je dána ohodnocená sí, kde ohodnocení c ij interpretujeme jako délky jednotlivých hran (i, j). Úkol je najít nejkrat²í cestu ze zdrojového uzlu 1 do cílového uzlu m. e²ení Pomocí MCNF, kde uvaºujeme o p eprav jednotky toku z uzlu 1 do uzlu m. Poloºíme U ij = 1, ij a b i = 0, i. P íklad Uvaºujeme graf z obrázku 23

2 5 8 1 3 6 10 9 4 7 Hledáme nejkrat²í cestu z uzlu 1 do uzlu 7 (nebo z uzlu s b i = 1 do uzlu s b j = 1) a vyuºíváme k tomu metodu MCNF. Údaje a e²ení jsou v programu. Program: assignmenproblminpath.xlsx 24

25

26

5 Celo íselné programování Úloha IP je vlastn úloha LP, roz²í ená o celo íselné prom nné. Tedy c x min Ax 0 x R 0 x I I, x B {0, 1} kde x R je mnoºina reálných prom nných, x I jsou celo íselné prom nné a x B jsou celo íselné prom nné pouze s dv ma hodnotami 0 a 1. P íklad Chceme investovat $14000. Na²li jsme ty i investi ní p íleºitosti. Akce 1 vyºaduje investici ve vý²i $5000 a má o ekávaný výnos $8000; Akce 2 vyºaduje $7000 a má hodnotu $11000; Akce 3 vyºaduje $4000 má hodnotu $6000; Akce 4 poºaduje $3000 má hodnotu $4000. Do kterých akcí bychom m li vloºit své peníze tak, aby se dosáhlo maximálního zisku? e²ení Denujeme vektor prom nných x = [x 1, x 2, x 3, x 4 ], x i {0, 1}. Jednotlivé prom nné mají význam rozhodnutí: x i = 1 znamená akci i realizovat; x i = 0 nerealizovat. Úloha má tvar 8x 1 + 11x 2 + 6x 3 + 4x 4 max 5x 1 + 7x 2 + 4x 3 + 3x 4 14 x binární e²ení je x 1 = 0, x 2 = x 3 = x 4 = 1 s kriteriem 21. Úloha v Excelu je následující 27

Poznámka P itom je ale z ejmé, ºe nejvýnosn j²í akce je akce 1. Pom ry výnos / investice je 1.6, 1.57, 1.5, 1.33 M li bychom tedy sázet p edev²ím na akci 1. Kdyº zru²íme podmínku na binární veli iny, dostaneme jako e²ení x 1 = 2.8 a ostatní nula s kriteriem 22.4. e²ení pro x celo íselné (ale neomezené) je x 1 = 2, x 3 = 1, ostatní nula s kriteriem 22. Z uvedeného je patrné, ºe za e²ení IP není vhodné vzít zaokrouhlené e²ení LP. e²ení 2, 0, 0, 0 dá kriterium 16. Tento fakt, který je velmi významný, budeme demonstrovat na 2D p ípadu, který lze pozorovat gracky. Uvaºujme úlohu x 1 + 9x 2 max x 1 + 10x 2 30 3x 1 + 5x 2 25 kterou e²íme pro spojité x, zaokrouhlené x a celo íselné x. Výsledky jsou 28

Spojité: x = [4, 2.6] s kriteriem 27.4 Zaokrouhlené: x = [4, 2] s kriteriem 22 Celo íselné: x = [0, 3] s kriteriem 27 Odtud je z ejmé, ºe IP e²ení je daleko blíºe LP e²ení neº zaokrouhlené. Situace je na obrázku kde plné áry jsou hranice omezení, árkované áry ukazují vrstevnice kriteria které nar stá sm rem nahoru. Programy: IP_rounding.xlsx a IP_rounding.sce. Poznámka Krom uvedeného je moºno uvaºovat je²t dal²í podmínky: 1. Lze ud lat nejvý²e 2 investice xi 2 2. Jestliºe chceme realizovat akci 2, musíme rovn º realizovat akci 4 x 2 x 4 0 3. Jestliºe budeme realizovat akci 1, potom akci realizovat 3 nelze x 1 + x 3 1 Takovými omezeními se budeme zabývat dále. 29

6 Formulace úloh celo íselného programování 6.1 Speciální typy omezení Pomocí celo íselných, zejména binárních, veli in je moºno modelovat daleko ²ir²í okruh omezení neº v klasickém LP. Omezení na výb r Pro binární x modelujeme: bude spln no alespo k, práv k, nejvý²e k xi k, xi = k, xi k kde x i = [1, 1,, 1] [x 1, x 2,, x n ]. Aktivace omezení Uvaºujme binární prom nnou y {0, 1} a podmínku a x b. Víme dále, ºe maximální hodnota levé strany a x této podmínky je B. Zkonstruujeme dal²í podmínku Tato podmínka íká a x By b. 30

je-li y = 1, pak p vodní podmínka je vºdy spln na (podmínka je vy azena) je-li y = 0, pak p vodní podmínka z stává v platnosti. Hodnota binární prom nné y tedy aktivuje nebo deaktivuje p vodní podmínku a x b. Výb r z mnoºiny omezení Uvaºujme dv podmínky a 1x b 1 a a 2x b 2 s maximálními hodnotami levých stran B 1 a B 2. Poºadujeme, aby alespo jedna podmínka byla vºdy platná. Modelujeme takto nebo zavedeme y 1 = y y 2 = 1 y a a 1x B 1 y 1 b 1 a 2x B 2 y 2 b 2 y 1 + y 2 1 a 1x B 1 y b 1 a 2x B 2 (1 y) b 2 31

Poznámka Podmínka y 1 + y 2 1 íká, ºe p ipou²tíme následující moºnosti: y 1 = 1 a y 2 = 0 nebo y 1 = 0 a y 2 = 1 nebo y 1 = 1 a y 2 = 1. Tedy alespo jedna podmínka je vºdy spln na. Stejn lze modelovat práv 1 nebo nejvý²e jedno. Jednodu²e lze roz²í it na k podmínek. Implikované omezení Máme dv omezení a 1x > b 1 a a 2x b 2. Chceme aby platilo: kdyº platí první omezení, pak platí i druhé (kdyº první neplatí, tak nic). Jde o implikaci. Pro tu platí a b a b a a b 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 0 1 Odtud vidíme, ºe (a b) je stejné jako (a b), p i emº alternativu umíme - viz p edchozí odstavec. 32

Poznámka V implikaci a b je v²echno pravda, jen 1 0 je ²patné a nesmíme to p ipustit. Jestliºe modelujeme jako a b a chceme se vyhnout kombinaci 1, 0, tedy a = 1 a b = 0 nesmí nastat a = 0 a b = 0. Viz záv ry dále. (i) Modelujeme: a 1x b 1 Mz 1 a pro z = 0 se podmínka vyºaduje (pro z = 1 je vy azena). Opa ná podmínka, tedy ( a 1x b 1 ) (negace) bude a 1x b Mz 1 a op t, pro z 1 = 0 platí, pro z 1 = 1 je vy azena. (ii) Alternativa dvou podmínek a 1x > b 1 a a 2x b 2 se modeluje a 1x b 1 Mz 1 a 2x b 2 Mz 2 z 1 + z 2 1 (iii) Implikace ale je a b - první podmínka se bere opa ná. Bude tedy a 1x b 1 Mz 1 Program a 2x b 2 Mz 2 z 1 + z 2 1 33

Nebo je²t jednou 1 nebo (jednodu²eji) Implikaci 0 x 10 0 y 10 e²íme takto x 4 + 6z y 10 4z z {0, 1} Je-li x > 4 pak pak z první podmínky plyne, ºe z = 1 a tedy podmínka y 6 je aktivována. Pro x 4 m ºe být z 0 nebo 1 a tedy druhá podmínka m ºe a nemusí nastat. Program 1 Implikovaná podmínka (je²t jednou) (i) náhrada implikace A B je totéº jako A B A A B A B A B 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 1 1 (ii) model alternativy Pro A : x l 1 a B : x l 2 bude x l 1 Mz 1 x l 2 + Mz 2 z 1 + z 2 1 protoºe: z = 0,0 - první platí a druhá platí; 0,1 nebo 1,0 jedna platí druhá neplatí; a vyhýbáme se moºnosti z =1,1 - neplatí ani jedna. Pozn.: V obou p ípadech platí, ºe z = 0 aktivuje podmínku a tedy z = 1 ji deaktivuje - d lá neplatnou. (iii) model implikace Jako (ii), ale první podmínku bereme negovanou, tedy odtud bude (x l 1 ) (x l 2 ) x l 1 + Mz 1 coº je snad kone n v souladu s programem. Program: Podm43_impl_omez_V.xlsx x l 2 + Mz 2 z 1 + z 2 1 34

Poznámka Místo 6 a -4 u prom nné z m ºeme zvolit libovolné (v absolutní hodnot ) v t²í ísla. Tato zvolená ísla jsou p esn na hranici tak, abychom dosáhli poºadovaného efektu. P íli² velká ísla se ale nedoporu ují, mohou zp sobit potíºe p i e²ení. Omezení na oblasti Nech omezení tvo í k r zných oblastí (disjunktních nebo i p ekrývajících se). Jednotlivé oblasti jsou popsány pomocí lineárních omezení první oblast a 1x b 1, a 2x b 2, a 3x b 3 druhá oblast a 4x b 4, a 5x b 5 Chceme zaru it, ºe optimální bod e²ení bude leºet alespo v jedné z oblastí. Modelujeme takto první oblast a 1x B 1 y 1 b 1, a 2x B 2 y 1 b 2, a 3x B 3 y 1 b 3 35

druhá oblast a 4x B 4 y 2 b 4, a 5x B 5 y 2 b 5 atd., a k y j 1 j=1 kde napravo v poslední podmínce je po et oblastí z výroku aspo v jedné oblasti a y j {0, 1}. Kaºdá rovnice má svoje B i (maximální hodnota levé strany) ale spole nou veli inu y j, j = 1, 2,, k, kde k je celkový po et oblastí. 6.2 Aproximace kriteriální funkce Aproximace skokové funkce V n kterých p ípadech pot ebujeme modelovat nelineární funkci (nap. skok v po átku). Nap íklad náklady na výrobu ur itého výrobku, pokud výrobu budeme realizovat, se sestává z po áte ní investice a dále z investice do kaºdého výrobku. Pokud se výroba nerealizuje, jsou v²echny náklady nula. Jde tedy o následující funkci { 0 pro x = 0 K + c x pro x 0. 36

Modelujeme ji takto Ky + c x min x By x 0 y {0, 1} Pro y = 0 dostáváme x = 0 a kriterium je také 0; pro y = 1 je x B a kriterium je K + c x. Tedy to, co jsme namodelovali je binárn lineární a kopíruje na²i formulaci úlohy (nelineární funkci náklad ). Aproximace po ástech lineární funkce M jme po ástech lineární funkce - nap. tu, co je na obrázku f(x) 3 1 4 0 4 10 15 x První úse ka je na intervalu (0, 4) a má sklon 4, druhá na (4, 10) se sklonem 1 a t etí na (10, 15) se sklonem 3. Prom nnou x vyjád íme jako sou et t í len x = δ 1 + δ 2 + δ 3 tak, ºe platí 0 δ 1 4 délka prvního úseku 0 δ 2 6 délka druhého úseku 0 δ 3 5 délka t etího úseku 37

Funkci f (x) vyjád íme takto f (x) = 5δ 1 + δ 2 + 3δ 3. Musíme ale zajistit, aby se δ i zapínala postupn a aby niº²í δ i drºely svou maximální hodnotu. Tedy, aby p i pr chodu hodnot x od 0 do 15 bylo δ 1 δ 2 δ 3 x 4 x 0 0 0 x (4, 10) 4 x 4 0 x > 10 4 5 x 10 To zaru í následující podmínky s dv ma novými binárními prom nnými w 1 a w 2 4w 1 δ 1 4 Skute n, pro w 1 = w 2 = 0 dostaneme pro w 1 = 1 a w 2 = 0 je a nakonec pro w 1 = w 2 = 1 máme 6w 2 δ 2 6w 1 0 δ 3 5w 2 w 1, w 2 {0, 1} 0 δ 1 4, δ 2 = 0, δ 3 = 0 δ 1 = 4, 0 δ 2 6, δ 3 = 0 δ 1 = 4, δ 2 = 6, 0 δ 3 5. Poslední varianta w 1 = 0 a w 2 = 1 je nep ípustná a podmínka 6w 2 δ 2 6w 1 6 0 ji vylu uje. Stejnou konstrukci lze provést i pro více interval, pomocí podmínek kde L j je délka j-tého segmentu. L j w j δ j L j w j 1, Poznámka Aproximaci nelineární funkce lze provést jejím nahrazením po ástech lineární funkcí a postupovat podle p edchozího. 38

Aproximace sou inu v kriteriu Máme x 1, x 3, x 3 - binární veli iny, y (0, u) spojitá nebo diskrétní veli ina. Kriterium: x 1 x 2 x 3 y. Zavedeme w = x 1 x 2 x 3 y a podmínky w 0 w ux j w ux j 0 w y w y 0 ( ) ( ) w u xi 3 + y u xi 3 + y w 0 39

Poznámka 1. Obecn m ºe být v sou inu k binárních prom nných. Potom poslední podmínka bude ( ) u xi k + y w 0 2. Pokud by n která binární prom nná byla umocn ná, lze mocninu vynechat, protoºe platí x k = x pro x {0, 1}. Analýza úlohy Uvaºujme nejd íve jen dv binární veli iny x 1 a x 2 a kriterium J = x 1 x 2. Odpovídající podmínky pro w = x 1 x 2, w {0, 2} jsou P 1 : 2w x 1 + x 2 Skute n : pro x 1 + x 2 = 0 je a tedy w ( 1, 0) a pro w {0, 1} je w = 0. Pro x 1 + x 2 = 1 je P 2 : w + 1 x 1 + x 2 2w 0 w 0 w + 1 0 w 1 2w 1 w 0.5 w + 1 1 w 0 40

odkud w (0, 0.5) a tedy w = 0 Pro x 1 + x 2 = 2 je a tedy w = 1. To p esn kopíruje sou in x 1 x 2. 2w 2 w 1 w + 1 2 w 1 Dále budeme uvaºovat sou in binární veli iny x {0, 1} a reálné veli iny y (0, u). Kriterium bude J = xy. Op t zavedeme w = xy a podmínky Pro x = 0 bude w ux w 0 w y w u (x 1) + y w 0, w 0, w y, w u + y kde první dv podmínky denují w = 0 a druhé dv jsou automatiky spln ny. Pro x = 1 bude w u, w 0, w y, w y kde t etí a tvrtá podmínka dává w = 1 a první dv jsou spln ny. Nebo Pro y binární bude w 0, w x, w y, w x + y 1 po prozkoumání zjistíme, ºe skute n je w = xy. Realizace minimaxu v kriteriu Máme k pracovních tým pracujících na r zných úkolech. Chceme navrhnout podmínky práce tak, aby práce v²ech tým byla skon ena co nejd íve, p i emº kaºdý tým musí ukon it v²echny své úkoly. Hledáme tedy minimum pro nejdel²í dobu pln ní úkol - coº je úloha minimaxu. Modelujeme takto: p 1 (x), p 2 (x),, p k (x) jsou doby trvání práce jednotlivých tým (v závislosti na optimalizované veli in x). Denujeme novou prom nnou q (trvání nejdel²í práce) a zavedeme podmínky p 1 q p 2 q p k q a jako kriterium vezmeme q min 41

Program pro 3 týmy a 5 úkol je 7 e²ení úlohy celo íselného programování 7.1 Metoda v tví a mezí Je to metoda pro e²ení celo íselného programování, zaloºená na opakovaném e²ení pomocí simplexové metody s postupným p idáváním omezení. Metoda konverguje v kone ném po tu krok. i kdyº doba konvergence m ºe být dlouhá. Poznámka Jestliºe úlohu e²íme tak, ºe jednou simplexovou tabulkou dostaneme e²ení a to zaokrouhlíme, nemusíme dostat optimální e²ení. Lze ukázat, ºe optimální e²ení m ºe leºet libovoln daleko. Viz p íklad. omezení vrstevnice kritéria optimální IP?e?ení optimální LP?e?ení zaokrouhlené LP?e?ení 42

Z obrázku je vid t, ºe zaokrouhlené e²ení leºí od optimální vrstevnice kriteria dále, neº optimální IP e²ení. Je to úloha x + 5y max x + 5y 50 x y 5 x + y 30 a bu LP nebo IP (di_lp_ip.lpx). LP dá [12.5, 7.5] a IP [10, 8] coº není zaokrouhlení. Metoda v tví a mezí (Branch and Bound - B&B) postupuje takto: 1. Vezme optimální LP e²ení - nap. [12.5, 7.5] a tento bod vyjme z p ípustné oblasti bu na ose x nebo y (p jdeme p es x). Tj. p idá dv nová omezení x 12 a x 13. Tím vzniknou dv nové p ípustné oblasti - podoblasti p vodní, kde jiº optimální bod LP neleºí, ale ºádné celo íselné e²ení není vyjmuto. 2. Znovu e²íme LP úlohu (simplex) pro p vodní úlohu + dv nová omezení. 3. Dostaneme optimální e²ení. Pokud je celo íselné, je konec. Pokud není, pokra ujeme stejn jako p ed tím (s necelo íselnou sloºkou optimálního e²ení). 4. Takhle stále p idáváme nová omezení, dokud nedostaneme celo íselné e²ení. e²ení budeme demonstrovat na dvou následujících p íkladech. 43

P íklad 1 2x 1 + 1x 2 max 2x 1 + x 2 11 Lp e²ení dá [1.57, 3.14], J = 33 V tvíme nejd íve podle podle x 1, potom podle x 2 x 2 1 [1, 2] J = 21 x 1 1 [1, 4.5] x 2 5 [2, 1] J = 12 44

P íklad 2 x 1 + 10x 2 max 4x 1 + x 2 0.5 3x 1 + x 2 10 LP e²ení [1.36, 5.93] J = 60.64 x 2 4 [1, 4] J = 41 x 1 1 [1, 4.5] x 2 5 XXX x 1 2 [2, 4] J = 42 7.2 Metoda se ných nadrovin Tato metoda vychází z optimální simplexové tabulky pro LP. Tuto tabulku p epí²eme do rovnic. V nich eliminujeme zlomkové koecienty na pravou stranu a vzniklé rovnice se zlomkovými koecienty znovu e²íme simplexovou tabulkou. Kon íme, kdyº jako výsledek obdrºíme celá ísla. Poznámka (geometrická interpretace) K soustav omezení p idáváme dal²í lineární omezení, která vylou í optimální (zlomkové) LP e²ení ale zachovají v²echna p ípustná celo íselná e²ení. 45

Postup budeme ilustrovat na p íklad. J = 5x + 8y max x + y + s 1 = 6 5x + 9y + s 2 =45 x, y, s 1, s 2 0 LP e²ení tohoto problému dá simplexovou tabulku Tu p epí²eme následujícím zp sobem ( z) 5 4 s 1 3 4 s 2 = 41 1 4 x + 9 4 s 1 1 4 s 9 2 = 4 y 5 4 s 1 + 1 4 s 15 2 = 4 a to tak, ºe Platí: ( z) 2s 1 s 2 +42 = 3 4 3 4 s 1 1 4 s 2 x +2s 1 s 2 2 = 1 4 1 4 s 1 3 4 s 2 y 2s 1 3 = 3 4 3 4 s 1 1 4 s 2 vlevo jsou jen celo íselné koecienty, vpravo jdou zlomky, a to tak, ºe absolutní hodnoty jsou kladné, koecienty u prom nných jsou záporné. 1. Pro celo íselné e²ení je jsou levé strany celá ísla. 2. Pro s 1, s 2 0 jsou pravé strany men²í nebo rovny konstantám. 3. Protoºe konstanty jsou kladné zlomky, musí platit ºe pravé strany jsou 0 (a tedy i levé). M ºeme proto psát 3 4 3 4 s 1 1 4 s 2 0 3 4 3 4 s 1 1 4 s 2 + s 3 = 0 1 4 1 4 s 1 3 4 s 2 0 1 4 1 4 s 1 3 4 s 2 + s 4 = 0 poslední je stejná jako první 46

To jsou podmínky, které p idáme k p vodní úloze a op t e²íme pomocí simplexové tabulky. Celo íselné e²ení kon í výpo et, pro necelo íselné vyjdeme z nové simplexové tabulky a pokra- ujeme stejn. Program: cuts.lpx První e²ení z tabulky sestavíme nová omezení pro s 1 a s 2 a p epo ítáme na xa y. Ta jsou 2x + 3y 15 4x + 7y 35. První omezení dá rovnou výsledek [0, 5] 47

Kdyº zkusíme druhé omezení, dostaneme [ 7 3, ] 11 3 a museli bychom v hledání dál pokra ovat. 48

8 Úlohy III. 8.1 Úloha o batohu Jedná se o jednu ze základních úloh z t ídy investi ního rozhodování, viz úvod do IP. Formulace základní úlohy o batohu je následující: Jedeme na výlet stopem a balíme si s sebou v ci do batohu. Objem (nosnost) batohu je omezený hodnotou M. Jednotlivé v ci mají sv j objem (váhu) m i a d leºitost d i a celkem jich je n, tedy i = 1, 2,, n. Chceme s sebou vzít co nejvíce d leºitých v cí tak, aby nebyla p ekro ena kapacita batohu. Matematická formulace je následující: n d i x i max i=1 n m i x i M i=1 x i {0, 1}, i Základní úloha: C:\_Skola\LinearProgramming_II\Kapsack0.lpx Více v cí najednou: C:\_Skola\LinearProgramming_II\Kapsack1.lpx 49

8.2 Výb r z mnoºiny investic Máme moºnost investovat do n kolika z ²esti akcí. Kaºdá akce má n jaké nan ní nároky (investice) a p inese ur itý zisk. Máme omezené nan ní moºnosti. Specikace je dána v tabulce. akce 1 2 3 4 5 6 nance k dispozici nároky 6 9 8 4 9 5 30 výnosy 15 24 25 10 25 20 X Jak akce vybrat, aby celkový zisk byl maximální a abychom nep ekro ili nance, které máme k dispozici. e²ení Ze zadání máme c = [15, 24, 25, 10, 25, 20] A = [6, 9, 8, 4, 9, 5] Zavedeme binární vektor x - x i {0, 1} p i emº 0 znamená i-tou akci nerealizujeme, 1 znamená realizujeme. Úloha potom je c x max Ax 30 x {0, 1} Excel: VyberAkci.xlsx 50

9 Úlohy IV. 9.1 Problém obchodního cestujícího (TSP) Asymetrický TSP Uvaºujeme n m st spojených navzájem cestami. Kaºdou cestu uvaºujeme jako jednosm rnou, obousm rné jsou dv jednosm rky tam a zp t. Kaºdá z jednosm rek má svou délku (obecn se délka cesty tam nerovná délce zp t). Cílem je najít cestu, kterou má projít obchodní cestující tak, aby kaºdé m sto nav²tívil práv jednou a vrátil se do stejného m sta, ze kterého vy²el. Celá cesta má být nejkrat²í moºná. Úlohu budeme demonstrovat pro 5 m st. 51

2 d 12 d 21 4 1 x 13 x 31 5 3 d ij 0 zna í délky cest, x ij {0, 1} znamená x ij = 1 cestující p jde z m sta i do m sta j ; x ij = 0 nep jde. Pro nejkrat²í cestu musí platit J = d ij x ij min ij Omezení 1: m sta se nesmí opakovat kaºdé m sto má jen jednu vstupní cestu a jednu výstupní, tj. x ij = 1, j výstupní i x ij = 1, i j vstupní Omezení 2: cesta se nesmí skládat z odd lených cykl - to je problematický a e²í se r zn. My budeme postupovat následovn : Sestavíme v²echny k-krokové cykly, k = 2, 3, 4,, n 2 2 a sou et x ij v nich musí být k 1. Pro n = 5 bude k = 2, 3 a tedy 2-krokové: 12, 13, 14, 15, 23, 24, 25, 34, 35, 45 (a vºdy návrat do prvního, tedy 121, 131, ) 3-krokové: (dohromady jich bude 2 ( 5 3) = 2 10 = 20) z uzlu 1: 123, 124, 125, 134, 135, 145, z uzlu 2: 234, 235, 245, z uzlu 3: 345 (a návrat do po. uzlu - na konci bude je²t íslo z po átku); A odzadu: 2 Ve skute nosti sta í kontrolovat cykly od 2 do [ ] n 2, kde [ ] zna í celou ást ísla. Je to proto, ºe kdyº se v grafu vytvo í cyklus, musí být zbylé uzly také v cyklu - pro kaºdý uzel poºadujeme jednu vstupní a jednu výstupní hranu. Pro cyklus s k kroky, kde k > [ ] [ n 2 tedy bude v grafu je²t jeden cyklus s délkou l n ] 2, který jsme jiº kontrolovali mezi cykly 2,3, [ ] [ n 2. Vedle cyklu s délkou v t²í neº n ] 2 m ºe být také více dal²ích cykl, ty ale budou také pat it mezi jiº kontrolované. 52

z uzlu 1: 1321, 1421, 1521, 1431, 1531, 1541 z uzlu 2: 2432, 2532, 2542 z uzlu 3: 3543 Návod Za ínáme od 1 a postupn zvy²ujeme 123 Pak zv t²ujeme poslední aº do n 123, 124, 125 Pak zvý²íme p edposlední, následuje o jedna v t²í 134 A zase zvy²ujeme poslední. A tak dál Program: TSP_asym5.xlsx Obchodní cestující - 5 měst podmínka na "každé město jednou" kritérium x 1 2 3 4 5 J = 12 1 0 0 1 0 0 1 2 1 0 0 0 0 1 3 0 0 0 1 0 1 4 0 0 0 0 1 1 5 0 1 0 0 0 1 pro sestavení kritéria 1 1 1 1 1 tady je možno zadat apriorní hodnoty x (i když to prakticky nemá význam) 12 13 14 15 21 23 24 25 31 32 34 35 41 42 43 45 51 52 53 54 x 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 d 5 1 8 4 2 9 1 1 1 8 7 6 4 9 6 1 3 1 6 5 Tady se zadávají podmínka na cykly délky cest 2 II III nemusí se hlídat vůbec 2 1 9 1 protože mohou být jen v kombinacích 9 1 4 4 1 s dvoukrokovými - a ty už se hlídají 5 8 6 1 0 1 0 1 4 1 5 0 8 7 3 5 0 1 6 6 1 3 1 0 1 dvou-krokové Hlídáme 2 a 3-krokové cykly. 2-krokové jsou OK ihned. 3-krokové bychom museli hlídat tam i zpět, ale v kombinaci s 3-krokovým by musel být 2-krokový a ty se hlídají. Takže zpět nemusíme! Dokonce 3-krokové nemusíme vůbec!!! Poznámka V podmínkách na cykly musíme hlídat, aby nenastala situace, ºe se v grafu utvo í dva odd lené cykly. 1-krokové cykly nemohou nastat nikdy, protoºe smy ky v grafu jsou vylou eny (prvky na diagonále inciden ní matice se neuvaºují). 2-krokové cykly jsou tam a zp t - obsahují tedy oba 53

cykly (po sm ru i proti sm ru). 3-krokové cykly bychom museli hlídat v obou sm rech - tedy po sm ru i proti sm ru - tj. to, co jsme vý²e uvedli nap. 1231 a je²t zp t 1321. Protoºe ale 3-krokový cyklus muºe být v kombinaci jedin s 2-krokovým (a ty jsou jiº hlídány) nemusíme je jiº v na²em p ípad (5 m st) v bec hlídat! Obecn : sta í kontrolovat cykly od 2 do [ ] n 2, kde [ ] zna í celou ást ísla. Je to proto, ºe kdyº se v grafu vytvo í cyklus, musí být zbylé uzly také v cyklu - pro kaºdý uzel poºadujeme jednu vstupní a jednu výstupní hranu. Pro cyklus s k kroky, kde k > [ ] n 2 tedy bude v grafu je²t jeden cyklus s délkou l [ ] [ n 2, který jsme jiº kontrolovali mezi cykly 2,3, n ] 2. Vedle cyklu s délkou v t²í neº [ ] n 2 m ºe být také více dal²ích cykl, ty ale budou také pat it mezi jiº kontrolované. Symetrický TSP Na rozdíl od p edchozího jsou v²echny cesty obousm rné. Inciden ní matice je horní trojúhelník. Kontrola na kaºdé m sto jednou se provádí takto: Pro kaºdý prvek inciden ní matice na diagonále (to je to m sto) se se tou prvky nad ním a vpravo od n ho. Tento sou et (po et cest ve trase, které jím prochází) musí být 2. Kontrola cykl : 2-krokové cykly se nemusí kontrolovat, protoºe x je zadáno jako binární (cyklus by dal 2, protoºe jdeme tam a zp t po stejné cest ), k-krokové cykly sta í kontrolovat jen po sm ru - proti sm ru jsou stejné. Program: TSP_sym5.xlsx 54

x 1 2 3 4 5 J 1 0 0 1 0 1 25 2 0 0 0 1 1 3 0 0 0 1 0 4 0 0 0 0 0 5 0 0 0 0 0 na diag. a pod nejsou přípustné stavy (hrany nejsou orientované - trojúhelníky) c 1 2 3 4 5 1 5 6 8 3 2 9 8 5 3 3 7 4 6 5 Podmínka 1: každý uzel 2 hrany 2 2 2 2 2 každý uzel má právě dvě hrany (vezmu pole (i,i) a sčítám nad ním a vpravo od něj) Podmínka 2: cykly - je dána tím, že x je binární Tady se zadávají délky cest 2 8 5 5 4 8 1 9 6 3 6 3 5 7 3 10 Úlohy V. Následující p íklady pat í do skupiny úloh o mnoºinách: Set covering, Set partitioning a Set packing. Jejich obecné formulace jsou následující: Set covering c x min Ax 1 x (0, 1) 55

Set partitioning c x min Ax = 1 x (0, 1) Set packing c x max Dále uvedem p íklady na jednotlivé typy úloh. Ax 1 x (0, 1) 10.1 Problém pokrytí oblastí (Set covering) Uvaºujme m sto, které se skládá z n kolika oblastí. Ty jsou zachyceny na obrázku 2 7 1 4 6 3 5 Kaºdé oblasti je p i azeno íslo. Ve m st chceme vybudovat poºární stanice. Jedna stanice je schopna pokrýt oblast, ve které je postavena a v²echny sousední oblasti (tj. takové, co sousedí hranou). Jak postavit stanice, aby jich bylo co nejmén? e²ení Oblastem p i adíme binární prom nné x 1, x 2,, x 7. Tyto prom nné budou mít hodnotu 1, kdyº stanice bude, jinak 0. Kriterium: minimální sou et x Podmínky: oblast 1 a její sousedi musí mít alespo jednu stanici; a dále pro 2,, 7. Sousední oblasti jsou 56

1,2,3 2,1,3,4,6,7 3,1,2,4 4,2,3,5 5,4,6 6,2,5,7 7,2,6 Úloha tedy bude x i min i x 1 + x 2 + x 3 1 x 1 + x 2 + x 3 + x 4 + x 6 + x 7 1 x 1 + x 2 + x 3 + x 4 1 x 2 + x 3 + x 4 + x 5 1 x 4 + x 5 + x 6 1 x 2 + x 5 + x 6 + x 7 1 x 2 + x 6 + x 7 1 x 1 x 7 {0, 1} Program: pozarnistanice.xlsx 57

10.2 Kuch ka a recepty (Set packing) ƒekáme neohlá²enou náv²t vu a chceme ji pohostit. Ve spíºi máme 7 ingrediencí do jídla a dal²í uº nesta íme po ídit. Nevíme ale, jaké chut náv²t va má, a proto chceme p ipravit co nejv t²í po et jídel. Máme kucha ku a z ní jsme vybrali jídla, která obsahují ty ingredience, které máme k dispozici. Ingredience ale nelze d lit; kaºdou lze pouºít jen jednou. O íslujeme-li ingredience 1,2,,7, pak vybraná jídla podle kucha ky pot ebují jídlo ingredience A 1,2 B 1 C 2,5,6 D 3,7 E 2,7 F 3,5 G 4,5,6 Která z jídel m ºeme p ipravit, aby jich bylo co nejvíce? 58

Program: recepty.xlsx e²ení: A, C, D. 10.3 Obsazování leteckých tras posádkami (Set partitioning) Letecká doprava zaji² uje spojení mezi vybranými m sty. Tyto spoje nazveme etapy letu. Jeden let (s jednou posádkou letadla) letí po ur itá trase a na ní m ºe realizovat n kolik etap (pokud se mezi n vejde povinný odpo inek posádky a údrºba letadla). Tak nap íklad let 10.00 z New Yorku do Chicaga a let 18.00 z Chicaga do Los Angeles je p íkladem takových etap, které mohou tvo it jednu trasu s jednou posádkou. Máme n etap a m posádek. Nejd íve sestavíme matici a, která bude svými sloupci odpovídat jednotlivým etapám. V ádcích bude obsahovat v²echny moºné trasy, sestavené z etap, které lze realizovat v jedné trase - etapy budou vyzna eny jedni kou ve sloupci p íslu²né etapy. Cílem je ze v²ech moºných tras vybrat ty, které obsadíme posádkou (budou realizovány) tak, aby 59

1. ºádná etapa nez staly neobsazena, 2. náklady na realizaci tras byly minimální. Ozna íme x j {0, 1} indikuje, zda trasa j bude realizována (tj. obsazena posádkou), c j je cena za pronajatí posádky na trase j (realizaci trasy j), a i,j {0, 1} ozna uje (jedni kou), ºe etapa i je za azena do trasy j Úloha je formulována takto n c j x j min j=1 n a i,j x j = 1, i = 1, 2,, m j=1 x j {0, 1}, j = 1, 2,, n kde kriterium vyjad uje minimalizaci náklad, a první podmínka vyjad uje skute nost, ºe kaºdá etapa má práv jednu posádku. Poznámka Jestliºe p ipustíme, ºe lenové n které posádky mohou ur itou trasu let t jako pasaºé i (p eváºí se na místo svého letu na dal²í etap ), bude mít tato podmínka tvar n a i,j x j 1, i j=1 P íklad 1 Uvaºujeme 4 m sta: A, B, C, D a lety mezi t mito m sty podle následujícího obrázku B 1 4 6 A 2 D 5 3 7 C 60

Jednotlivé ²ipky na obrázku zna í etapy. Jde o to, jak z nich sestavit trasy (obsazené posádkou) tak, aby pronájem posádek by minimální a v²echny etapy byly obslouºeny. Trasy jsou p edem denovány bu jako samostatné lety nebo jsou sestaveny z navazujících etap a jsou denovány maticí a. Zde vybereme trasy takto a = 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 Nejd íve uvaºujeme v²echny etapy jako samostatné lety, potom n které trasy sestavené z vhodných etap. Ceny posádek vezmeme p ibliºn rovny po tu etap v p íslu²né trase a trochu p ihodíme na samostatné lety, protoºe tam musí posádka dojet z domova. Ceny tedy budou c = [15, 12, 16, 14, 18, 12, 16, 22, 25, 24, 27, 26] Stavový vektor bude mít 12 prvk, které budou bu 0 nebo 1. Úloha má tvar n c j x j min j=1 n a j x j = 1 j=1 x j {0, 1} e²ení úlohy je x = [0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0] tedy budou realizovány lety (podle matice a) trasa 1 etapa 2 trasa 2 etapa 1, etapa 4, etapa 7 trasa 3 etapa 3, etapa 5, etapa 6 Tedy, v²echny etapy jsou obsazeny, poletí 3 posádky a doufejme, ºe cena za posádky je minimální. 61

P íklad 2 Jiný p íklad je realizován v programu: planovaniletu.xlsx 11 Úlohy VI. V n kterých úlohách je kombinace spojité optimalizace s výb rem. Ukáºeme dva takové p íklady. 62

11.1 Problém rozmíst ní sklad Máme m sklad a n zákazník. Máme obstarat a dovézt zboºí, které poºadují zákazníci. Jde o to, rozhodnout, ze kterého skladu a kolik daného zboºí nakoupit a p evézt jednotlivým zákazník m tak, aby cena za nákup a p evoz byla minimální. Ty sklady, pro které se rozhodneme, musíme pronajmout, a to n co stojí. y i ozna uje, zda sklad i je pronajatý (y i = 1) nebo není (y i = 0). f i je cena pronájmu i-tého skladu. x i,j je mnoºství zboºí, zakoupeného ve skladu i a p evezeného zákazníkovi j. c i,j je cena za nákup jednotky zboºí x i,j. d j poºadavek j-tého zákazníka. Úlohu formulujeme takto m n m c i,j x i,j + f i y i min i=1 j=1 i=1 m x i,j = d j, j = 1 n i=1 n n x i,j y i j=1 j=1 d j 0, i = 1 m x i,j 0, i, j y i {0, 1}, i Vysv tlení: kriterium: celková cena za zboºí a dovoz + poplatky za pronájem sklad ; spln ní poºadavk zákazník ; odb r jen z pronajatých sklad - podmínka je n n x i,j y i j=1 j=1 tedy, pro i takové, ºe y i = 0 dostaneme n x i,j 0 j=1 d j, i a protoºe x i,j jsou nezáporné, znamená to, ºe k ºádnému odb ru z t chto sklad nedo²lo, pro y i = 1 máme n x i,j n j=1 j=1 63 d j

tedy celkové mnoºství zboºí, odebrané ze skladu i je men²í nebo rovno celkovému poºadavku v²ech zákazník (rovno, kdyby se bralo v²echno z jednoho skladu). 3 (Vy²et ení infek ního onemocn ní) V n místech se vyskytlo infek ní onemocn ní. K dispozici je m léka ských tým, které mohou onemocn ní pro²et it. Tým i {1, 2,, m} bude místo j {1, 2,, n} vy²et ovat t ij hodin. Kaºdý tým m ºe obslouºit 0, 1 nebo 2 místa. Jestliºe má tým obslouºit je²t druhé místo (z místa k do místa l), musí se po ítat s dobou p ejezdu d kl. Jakmile jsou v²echna místa pro²et ena, m ºe se s infekcí za ít bojovat. Cílem je navrhnout plán vy²et ování tak, aby cela akce byla co nejkrat²í. e²ení Denujeme veli inu x ij {0, 1} s hodnotou 1 jestliºe tým i bude vy²et ovat místo j a 0, kdyº nebude. Omezení - kaºdé místo bude nav²tíveno práv jednou x ij = 1, j - ºádný tým nenav²tíví více neº dv místa x ij 2, i i j - x je binární x ij {0, 1}, i, j Kriterium - vy²et ení v²ech míst t ij x ij, i - cestování d kl x ik x il, i j k,l; k l { Optimalizace: min max i j t ijx ij + } k,l; k l d klx ik x il JE TAM SUMA? Pro kaºdou konstelaci je jeden tým nejdel²í a tohle maximum chceme minimalizovat. Tohle ale neumíme (i) nelinearita v sou inu, (ii) minimax. (i) nelinearita 3 d j je z ejm to nejmen²í velké íslo, aby se podmínka vºdy splnila. 64

Zavedeme novou prom nnou w ikl = x ik x il s podmínkami w ikl x ik, w ikl 0, w ikl x il, w ikl x ik + x il 1. P íklad 2 týmy (i=1,2), 3 místa (j=1,2,3) stav x = [ ] x11 x 12 x 13 x 21 x 22 x 23 binární asy t = [ ] t11 t 12 t 13 t 21 t 22 t 23 veli ina w (cesta tam a zp t je stejn dlouhá) [ ] w1;12 w w = 1;13 w 1;21 w 1;23 w 1;31 w 1;32 w 2;12 w 2;13 w 2;21 w 2;23 w 2;31 w 2;32 délky p ejezdu d = [ 8, 12, 8, 14, 12, 14 ] Podmínky 1. w i;kl 0, i, k, l 2. w i;kl x ik 0, w i;kl x il 0, i, k, l 3. w i;kl x ik x il + 1 0 4. j t ijx ij + kl; k l d klw i;kl q 0, i kde q je nová veli ina s významem doba trvání nejdel²í akce. Úloha q min Program: infection_small.xlsx, infection_bigger.xlsx 65

66

11.2 Vy²et ení infek ního onemocn ní V n místech se vyskytlo infek ní onemocn ní. K dispozici je m léka ských tým, které mohou onemocn ní pro²et it. Tým i {1, 2,, m} bude místo j {1, 2,, n} vy²et ovat t ij hodin. Kaºdý tým m ºe obslouºit 0, 1 nebo 2 místa. Jestliºe má tým obslouºit je²t druhé místo (z místa k do místa l), musí se po ítat s dobou p ejezdu d kl. Jakmile jsou v²echna místa pro²et ena, m ºe se s infekcí za ít bojovat. Cílem je navrhnout plán vy²et ování tak, aby cela akce byla co nejkrat²í. e²ení Denujeme veli inu x ij {0, 1} s hodnotou 1 jestliºe tým i bude vy²et ovat místo j a 0, kdyº nebude. Omezení - kaºdé místo bude nav²tíveno práv jednou x ij = 1, j - ºádný tým nenav²tíví více neº dv místa x ij 2, i i j - x je binární x ij {0, 1}, i, j Kriterium - vy²et ení v²ech míst t ij x ij, i - cestování d kl x ik x il, i j k,l; k l { Optimalizace: min max i j t ijx ij + } k,l; k l d klx ik x il JE TAM SUMA? Pro kaºdou konstelaci je jeden tým nejdel²í a tohle maximum chceme minimalizovat. Tohle ale neumíme (i) nelinearita v sou inu, (ii) minimax. (i) nelinearita Zavedeme novou prom nnou w ikl = x ik x il s podmínkami w ikl x ik, w ikl 0, w ikl x il, w ikl x ik + x il 1. 67

P íklad 2 týmy (i=1,2), 3 místa (j=1,2,3) stav [ x11 x x = 12 x 13 x 21 x 22 x 23 ] binární asy t = [ ] t11 t 12 t 13 t 21 t 22 t 23 veli ina w (cesta tam a zp t je stejn dlouhá) [ ] w1;12 w w = 1;13 w 1;21 w 1;23 w 1;31 w 1;32 w 2;12 w 2;13 w 2;21 w 2;23 w 2;31 w 2;32 délky p ejezdu d = [ 8, 12, 8, 14, 12, 14 ] Podmínky 1. w i;kl 0, i, k, l 2. w i;kl x ik 0, w i;kl x il 0, i, k, l 3. w i;kl x ik x il + 1 0 4. j t ijx ij + kl; k l d klw i;kl q 0, i kde q je nová veli ina s významem doba trvání nejdel²í akce. Úloha q min Program: infection_small.xlsx, infection_bigger.xlsx 68