VLASTNOSTI ÚLOH CELOČÍSELNÉHO PROGRAMOVÁNÍ



Podobné dokumenty
MATICOVÉ HRY MATICOVÝCH HER

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

3. Lineární diferenciální rovnice úvod do teorie

je konvergentní, právě když existuje číslo a R tak, že pro všechna přirozená <. Číslu a říkáme limita posloupnosti ( ) n n 1 n n n

základním prvkem teorie křivek v počítačové grafice křivky polynomiální n

MATEMATICKÁ INDUKCE. 1. Princip matematické indukce

je konvergentní, právě když existuje číslo a R tak, že pro všechna přirozená <. Číslu a říkáme limita posloupnosti ( ) n n 1 n n n

1.3. POLYNOMY. V této kapitole se dozvíte:

Petr Šedivý Šedivá matematika

IAJCE Přednáška č. 12

1 Trochu o kritériích dělitelnosti

Přijímací řízení akademický rok 2013/2014 Bc. studium Kompletní znění testových otázek matematika

jako konstanta nula. Obsahem centrálních limitních vět je tvrzení, že distribuční funkce i=1 X i konvergují za určitých

Přijímací řízení akademický rok 2012/2013 Kompletní znění testových otázek matematické myšlení

Komplexní čísla. Definice komplexních čísel

Lineární programování

P. Girg. 23. listopadu 2012

Matematika 1. Katedra matematiky, Fakulta stavební ČVUT v Praze. středa 10-11:40 posluchárna D / 13. Posloupnosti

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Algoritmus

n=0 a n, n=0 a n = ±. n=0 n=0 a n diverguje k ±, a píšeme n=0 n=0 b n = t. Pak je konvergentní i řada n=0 (a n + b n ) = s + t. n=0 k a n a platí n=0

6 Intervalové odhady. spočteme aritmetický průměr, pak tyto průměry se budou chovat jako by pocházely z normálního. nekonečna.

1.1. Definice Reálným vektorovým prostorem nazýváme množinu V, pro jejíž prvky jsou definovány operace sčítání + :V V V a násobení skalárem : R V V

1 Uzavřená Gaussova rovina a její topologie

Budeme pokračovat v nahrazování funkce f(x) v okolí bodu a polynomy, tj. hledat vhodné konstanty c n tak, aby bylo pro malá x a. = f (a), f(x) f(a)

Přednáška 7, 14. listopadu 2014

MATEMATIKA PŘÍKLADY K PŘÍJÍMACÍM ZKOUŠKÁM BAKALÁŘSKÉ STUDIUM MGR. RADMILA STOKLASOVÁ, PH.D.

1. ZÁKLADY VEKTOROVÉ ALGEBRY 1.1. VEKTOROVÝ PROSTOR A JEHO BÁZE

Aritmetická posloupnost, posloupnost rostoucí a klesající Posloupnosti

8.2.1 Aritmetická posloupnost

Užití binomické věty

8.2.1 Aritmetická posloupnost I

7. Analytická geometrie

11. přednáška 16. prosince Úvod do komplexní analýzy.

6. Posloupnosti a jejich limity, řady

1. Číselné obory, dělitelnost, výrazy

2.4. INVERZNÍ MATICE

Spojitost a limita funkcí jedné reálné proměnné

Diskrétní matematika

Kapitola 5 - Matice (nad tělesem)

jsou reálná a m, n jsou čísla přirozená.

S polynomy jste se seznámili již v Matematice 1. Připomeňme definici polynomické

1 Základy Z-transformace. pro aplikace v oblasti

Matematika I, část II

Vlastnosti posloupností

5. Posloupnosti a řady

POLYNOM. 1) Základní pojmy. Polynomem stupně n nazveme funkci tvaru. a se nazývají koeficienty polynomu. 0, n N. Čísla. kde

Deskriptivní statistika 1

Matematika 1. Ivana Pultarová Katedra matematiky, Fakulta stavební ČVUT v Praze. středa 10-11:40 posluchárna D Posloupnosti

10.3 GEOMERTICKÝ PRŮMĚR

Základy statistiky. Zpracování pokusných dat Praktické příklady. Kristina Somerlíková

14. B o d o v é o d h a d y p a r a m e t r ů

NMAF061, ZS Zápočtová písemná práce VZOR 5. ledna e bx2 x 2 e x2. F (b) =

6. FUNKCE A POSLOUPNOSTI

Permutace s opakováním

Kapitola 4 Euklidovské prostory

Vyhledávání v tabulkách

definované pro jednotlivé řády takto: ) řádu n nazýváme číslo A = det( A) a a a11 a12

Matematická analýza I

Permutace s opakováním

NMAF061, ZS Zápočtová písemná práce skupina A 16. listopad dx

Obsah. 1 Mocninné řady Definice a vlastnosti mocninných řad Rozvoj funkce do mocninné řady Aplikace mocninných řad...

z možností, jak tuto veličinu charakterizovat, je určit součet

2. Náhodná veličina. je konečná nebo spočetná množina;

Užitečné zdroje příkladů jsou: Materiály ke cvičením z Kalkulu 3 od Kristýny Kuncové:

f x a x DSM2 Cv 9 Vytvořující funkce Vytvořující funkcí nekonečné posloupnosti a0, a1,, a n , reálných čísel míníme formální nekonečnou řadu ( )

4. B o d o v é o d h a d y p a r a m e t r ů

SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU

1 POPISNÁ STATISTIKA V PROGRAMU MS EXCEL

8.1.3 Rekurentní zadání posloupnosti I

1 PSE Definice základních pojmů. (ω je elementární jev: A ω (A ω) nebo (A );

Iterační výpočty projekt č. 2

Masarykova univerzita Přírodovědecká fakulta

DERIVACE FUNKCÍ JEDNÉ REÁLNÉ PROM

8. Analýza rozptylu.

Iterační metody řešení soustav lineárních rovnic

Zformulujme PMI nyní přesně (v duchu výrokové logiky jiný kurz tohoto webu):

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

Definice obecné mocniny

Posloupnosti a číselné řady. n + 1. n n n n. n n n. = lim. n2 sin n! lim. = 0, je lim. lim. lim. 1 + b + b b n) = 1 b

Zimní semestr akademického roku 2015/ listopadu 2015

5. Lineární diferenciální rovnice n-tého řádu

Pravděpodobnost a aplikovaná statistika

Přednáška 7: Soustavy lineárních rovnic

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY BŘEZNA 2018

n=1 ( Re an ) 2 + ( Im a n ) 2 = 0 Im a n = Im a a n definujeme předpisem: n=1 N a n = a 1 + a a N. n=1

1. K o m b i n a t o r i k a

Správnost vztahu plyne z věty o rovnosti úhlů s rameny na sebe kolmými (obr. 13).

Matematika I. Název studijního programu. RNDr. Jaroslav Krieg České Budějovice

Mocninné řady - sbírka příkladů

Seznámíte se s pojmem Riemannova integrálu funkce jedné proměnné a geometrickým významem tohoto integrálu.

Kombinatorika- 3. Základy diskrétní matematiky, BI-ZDM

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

Funkce. RNDr. Yvetta Bartáková. Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou

FUNKCÍ JEDNÉ REÁLNÉ PROMĚNNÉ PRVNÍ DIFERENCIÁL

Náhodu bychom mohli definovat jako součet velkého počtu drobných nepoznaných vlivů.

Rozhodovací stromy. Úloha klasifikace objektů do tříd. Top down induction of decision trees (TDIDT) - metoda divide and conquer (rozděl a panuj)

ŘADY Jiří Bouchala a Petr Vodstrčil

Znegujte následující výroky a rozhodněte, jestli platí výrok, nebo jeho negace:

NMAF063 Matematika pro fyziky III Zkoušková písemná práce 17. ledna 2019

Číselné řady. 1 m 1. 1 n a. m=2. n=1

Transkript:

Vlastosti úloh celočíselého programováí VLASTNOSTI ÚLOH CELOČÍSELNÉHO PROGRAMOVÁNÍ PRINCIP ZESILOVÁNÍ NEROVNOSTÍ A ZÁKLADNÍ METODY. METODA VĚTVENÍ A HRANIC. TYPY ÚLOH 1. Úloha lieárího programováí: max{c T x za podmíek Ax b, x R + } 2. Úloha smíšeě-celočíselého programováí: max{c T x + d T y za podmíek Ax + Dy b, x Z +, y R + p } 3. Úloha celočíselého programováí: max{c T x za podmíek Ax b, x Z + } 4. Úloha bivaletího programováí: max{c T x za podmíek Ax b, x B + } 5. Úloha smíšeě-celočíselého bivaletího programováí: max{c T x + d T y za podmíek Ax + Dy b, x B +, y R + p }, B = {,1} VLASTNOSTI ÚLOH Možia přípustých řešeí úlohy IP: S = {x Z +, Ax b} Možia přípustých řešeí úlohy LP: P = {x R +, Ax b} Možiou přípustých řešeí je kovexí polyedr (pokud tato možia omezeá, azývá se polytop). Možia přípustých řešeí IP je průikem možiy přípustých řešeí LP a Z + : S = P Z +. (tzv. mřížové body). Bod x є R je kovexí kombiací bodů z možiy S, pokud existuje možia bodů {x 1, x 2,,x t } z S a t parametry λ 1, λ 2,, λ t є R takové, že i 1: x x 1 x 2 t 1 2... t x i1 Kovexí obal možiy S je možia všech bodů, které jsou kovexí kombiací bodů z S: S cov(s) P. Je to ejmeší možia S, která celou možiu S obsahuje. Následující obrázek zachycuje možiu bodů a její kovexí obal. Zdroj: http://www.surykova.ifo/dokumety/mff/pg/predasky/predaska_8.pdf Platá erovost k možiě S je taková erovost, která obsahuje kovexí obal z možiy S a také body z možiy S: πx π, x S. Platých erovostí je ekoečě moho. Každá platá erovost je charakterizováa koeficiety (π, π ). Jestliže existuje λ > takové, že π λπ a π λπ, pak je platá erovost π x π silější ež platá erovost πx π. Maximálí platá erovost je taková platá erovost, ke které eexistuje silější platá erovost. {x R +, π x π } {x R +, πx π }. Leka Fiřtová (214)

Vlastosti úloh celočíselého programováí Opěrá erovost je taková erovost, pro kterou platí: x S, x, tz. existuje alespoň jede bod z možiy S, pro který je to splěo jako rovost. Fazeta (opěrá stěa) leží v kovexím obalu S a prochází krajem kovexího polyedru. ZESILOVÁNÍ NEROVNOSTÍ Chceme formulovat platou erovost vzhledem k možiě S, která eí platá vzhledem k možiě P. Existuje ěkolik možostí, jak to udělat, apříklad zesilováí erovostí s využitím dělitelosti, liftig, fixig, přidáváí dalších platých erovostí či Gomoryho erovosti. ZESILOVÁNÍ NEROVNOSTÍ S VYUŽITÍM DĚLITELNOSTI Diofatova věta říká: echť x x... x, celé, i,1,...,. 1 1 2 2 i Pak existuje celočíselé řešeí právě tehdy, když ejvětší společý dělitel koeficietů π 1, π 2 π dělí π. Máme-li erovost π 1x 1 + π 2x 2 π x π a ozačíme-li k ejvětšího dělitele π 1, π 2 π, můžeme zpřísit erovost tak, že ji vydělíme k a pravou strau pak zaokrouhlíme dolů (Chvátal-Gomoryho metoda). Například v rovici 3x 1 + 6x 2 14 je ejvětším společým dělitelem 3. Vydělíme-li celou rovici třemi a pravou strau zaokrouhlíme dolů, dostaeme zpřísěou erovost x 1 + 2x 2 4. LIFTING spočívá v zesilováí erovostí. Například: Zdroj: Ig. Ja Fábry, Ph.D.: 4EK314 Diskrétí modely Pro i = 1, 2,, postupě astavujeme x i = 1 a zjišťujeme, o kolik ( b ) lze ještě sížit pravou stray erovice, aby edošlo ke změě možiy přípustých řešeí. Potom koeficiet u x i zvýšíme o b. Když astavíme x 1 = 1, pak lze úvodí erovost přepsat jako 5x 2 + 6x 3 + 8x 4 9. Můžeme sížit pravou strau o 1, aiž by se změila možia přípustých řešeí. Zvýšíme tedy koeficiet u x 1 o 1. Totéž uděláme pro zbylá x i. Výsledkem je liftovaá (zesíleá) erovost. V dalším příkladu můžeme zesílit erovost tak, že sížíme hodoty koeficietů celočíselých proměých a hodotu pravé stray. Zdroj: Ig. Ja Fábry, Ph.D.: 4EK314 Diskrétí modely Leka Fiřtová (214)

Vlastosti úloh celočíselého programováí FIXING spočívá také v úpravě existujících erovostí, a to pomocí zafixováí hodot určitých proměých. Například v úloze 2x 1 + 3x 2 + 4x 3 15x 4 2, kde jsou všechy proměé biárí, emůže být ikdy x 4 rovo 1 (erovost by ikdy emohla být splěa), takže jej zafixujeme a ule. Naopak v úloze 2x 1 + 5x 2 + x 3 8x 4 7 s biárími proměými musí být x 1 = 1, jiak by emohla být erovost ikdy splěa, takže jej zafixujeme a 1. PŘIDÁVÁNÍ DALŠÍCH PLATNÝCH NEROVNOSTÍ Gomoryho řez: Máme rovici ve tvaru: j x j j 1 Zvolíme si libovolé celé kladé číslo d., j Koeficiety π j lze vyjádřit ve tvaru: j j d j, kde j, a π j je celočíselý d zbytek po děleí čísla π j číslem d z itervalu <; d). Rovici lze tedy přepsat jako : ( jd j) x j d d j1 j x j j x j j1 j1 Levá straa je celé číslo (celočíselý ásobek d). Proto i pravá straa musí být celé číslo, a to kladé: vpravo emůže být d, 2d jelikož záporé je zde pouze π, které je z defiice meší ež d, eboť jde o zbytek po celočíselém děleí pravé stray číselm d. Takže výraz j1 j x j a stejě tak výraz j1 Gomoryho zlomková erovost: j1 jx j. Platí tedy:, j x j Gomoryho celočíselá erovost: j x j j 1 Příklad: máme rovici 37x 1 68x 2 + 78x 3 + 1x 4 = 141, kde jsou všechy proměé celočíselé. Zvolíme d = 12. Pak 37 = 3 12 + 1, 68 = 6 12 + 4, 78 = 6 12 + 6, 1 = 12+1, 141 = 11 12 + 9. Gomoryho zlomková erovost: x 1 + 4x 2 + 6x 3 + x 4 9 Gomoryho celočíselá erovost: 3x 1 6x 2 + 6x 3 11 Leka Fiřtová (214)

Vlastosti úloh celočíselého programováí METODY ŘEŠENÍ ÚLOH IP A MIP V určitých případech lze použít simplexovou metodu. V í získáme vektor hodot proměých jako B - 1 b. Pokud je b celočíselý vektor, pak celočíselost tohoto výrazu bude zajištěa tehdy, pokud je B -1 celočíselé. Platí, že: adj B B 1 det B B adj je adjugovaá matice báze, detb lze získat jako souči všech klíčových prvků od začátku výpočtu simplexovou metodou. Z tohoto vztahu je patré, že celočíselost bude zaručea pouze tehdy, pokud detb = ± 1. V opačém případě elze simplex použít. Předpokládejme, že strukturí koeficiety a hodoty pravých stra jsou celočíselé. Základí řešeí úlohy LP jsou celočíselá, jestliže pro všechy regulárí matice B platí, že detb = ± 1 (tz. matice B je uimodulárí). To platí apříklad pro tokové úlohy či dopraví problém. Pak lze použít simplexovou metodu. RELAXACE T Máme úlohu celočíselého programováí: zip max{ c x : x S}, S { x Z : Ax b} Relaxace úlohy celočíselého programováí je úloha: zr max{ zr( x) : x SR}, S SR, T c x zr (x) pro x S. Hodota zr je horím odhadem z IP. Lieárí relaxace je úloha LP bez podmíek celočíselosti: T 1) zlp max{ c x : x P}, P { x R : Ax b} T 2) zq max{ c x : x Q}, S { x Z : Ax b}, cov( S) Q Lagrageova relaxace je úloha, kterou získáme z úlohy IP tak, že soustavu omezeí Ax b rozdělíme a dvě soustavy, Ax b : 1 1 A x b m 1 omezujících podmíek 2 2 A x b m 2 omezujících podmíek, 1 1 a omezující podmíky A x b přesueme do účelové fukce: T T 1 1 m1 z(, x) c x ( b A x), x R, kde λ je vektor Lagrageových multiplikátorů. Lagrageova relaxace je tedy úloha ve tvaru LR(λ): 2 2 zlr( ) max{ z(, x) : A x b, x Z}. Výzam Lagrageovy relaxace je te, že když odstraíme erovosti 1 1 A x b z omezeí m1 úlohy při vhodé volbě těchto omezeí, je úloha LR(λ) sado řešitelá. Pro každé R je zlr() horím odhadem optimálí hodoty účelové fukce. Chtěli bychom přirozeě ajít co ejmeší číslo z LR() pro λ. Formulujeme tedy Lagrageovu duálí úlohu z LD mi z LR ( ). Leka Fiřtová (214)

Vlastosti úloh celočíselého programováí METODY ŘEZNÝCH NADROVIN Tyto metody se hodí pro IP a MIP (e pro bivaletí úlohy). Patří sem Gomoryho metoda. Uvažujme úlohu s možiou přípustých řešeí S { x Z : Ax b}. Možia přípustých řešeí této úlohy bez podmíek celočíselosti je P { x R : Ax b}. Všechy krají body možiy cov(s) jsou celočíselé, ale většiou růzé od krajích bodů možiy P. Platí: S cov(s) P. Chtěli bychom odstrait z možiy P body, ležící v P cov(s) tak, aby krají body vziklé možiy byly již celočíselé. To se dělá pomocí přidáváí platých erovostí vzhledem k S a cov(s). 1. Vyřešíme úlohu IP bez podmíek celočíselosti (lieárí relaxací), běžě simplexovou metodou. Pokud tak ajdeme celočíselé řešeí, výpočet kočí. 2. Pokud e, přidáme omezeí, které odříze z možiy přípustých řešeí ějakou podmožiu. Nesmíme však přitom přijít o žádé přípusté celočíselé řešeí. Vybereme proměou, jejíž hodota v optimálím řešeí esplňuje podmíku celočíselosti. Všechy hodoty pravých stra simplexové tabulky lze vyjádřit jako β i = [β i] + π i, kde [β i] je ejbližší ižší celé číslo k hodotě β i,, a π i je tedy z itervalu <; 1). Vezmeme řádek simplexové tabulky, kde je hodota π i ejvětší, a z tohoto řádku vytvoříme Gomoryho erovost j Nerovost vyrováme a rovici j m 1 j j m1 m 1, ( ). j x j, ( ) x x a přidáme ji do simplexové tabulky jako další řádek, přičemž proměá x +m+1 bude základí proměou v tomto ově přidaém řádku. 3. Protože hodota π je záporá, řešíme úlohu duálě simplexovou metodou do optima. Pak se opět podíváme, jestli je řešeí celočíselé. Pokud e, postup přidáme další erovost atd. až do alezeí celočíselého řešeí. Například mějme ásledující optimálí eceločíselé řešeí úlohy zákl. proměé x1 x2 x3 x4 bi x1 1 2/5-3/5 8/5 x2 1-1/5 4/5 11/5 zj 1/5 6/5 49/5 Zdroj: Jabloský, J., Lagová, M.: Lieárí modely (29). r 1 = 3/5 (8/5 = 1 + 3/5) a r 2 = 1/5, takže vezmeme prví řádek a vytvoříme omezeí ve tvaru 2/5x 3 2/5x 4 + x 5 = 3/5, které přidáme do tabulky. Ta se tudíž rozroste o jede řádek a jede sloupec. Dále řešíme duálě simplexovou metodou. Jde o epolyomiálí algoritmus a eí příliš efektiví, protože počet přidaých řádků a proměých rychle arůstá. Software většiou používá metodu větveí a mezí. Leka Fiřtová (214)

Vlastosti úloh celočíselého programováí METODA VĚTVENÍ A MEZÍ Tato metoda patří mezi kombiatorické metody. Nejprve se vypočte optimálí řešeí bez uvažováí podmíek celočíselosti (simplexem). Pokud je celočíselé, výpočet kočí. Jiak se z možiy přípustých řešeí vytvoří dvě podmožiy, a to tak, že se vezme ěkterá eceločíselá proměá x k, a prví podmožia se rozšíří o podmíku x, zatímco druhá o podmíku k x 1 x. k x k k V každé z těchto podmoži se vypočte optimálí řešeí a případě se tyto podmožiy dále rozvětví atd. Zároveň se v každé vziklé větvi odvozuje horí mez (při maximalizaci) pro hodotu účelové fukce celočíselého řešeí. Každá větev musí být uzavřea jedím ze tří způsobů: 1. je v í alezeo řešeí vyhovující podmíkám celočíselosti, 2. eexistuje v í přípusté řešeí, 3. je v í alezeo eceločíselé řešeí, ale horí mez pro hodotu účelové fukce odvozeá z tohoto řešeí je ižší ež hodota účelové fukce celočíselého řešeí z dříve prohledaých větví. Algoritmus (uvažujeme maximalizačí úlohu) M posloupost, v íž se acházejí úlohy, které řešíme v jedotlivých větvích x*, z* - ejlepší alezeé celočíselé řešeí, ejlepší hodota účelové fukce 1. krok: počátečí astaveí M = {původí úloha bez podmíek celočíselosti} * z x* - eí defiováo 2. krok: výběr úlohy M je prázdá koec, tisk x*, z* M eí prázdá vybereme z poslouposti M posledí úlohu 3. krok: řešeí vybraé úlohy a) eexistuje přípusté řešeí odstraíme úlohu z poslouposti M 2. krok b) optimálí řešeí x, z : B1) z z* odstraíme úlohu z poslouposti M 2. krok B2) B3) z z*, x celé x*=x, z*=z odstraíme úlohu z poslouposti M 2. krok z z*, x eí celé 4. krok (větveí) 4. krok: větveí Zvolíme větvící proměou x k, jejíž hodota xk eí celé číslo do M přidáme kopii úlohy řešeé ve 3. kroku, ke které přidáme omezeí I: x k x k k k předposledí úloze v M, řešeé ve 3. kroku přidáme omezeí II: x x 1 2. krok k Leka Fiřtová (214)

Vlastosti úloh celočíselého programováí Existují růzé doplňující strategie ohledě toho, jakým způsobem procházet uzly stromu řešeí (v jaké poslouposti úlohy řešit). Mohou se vybrat uzly v pořadí, v jakém byly vytvářey (zleva doprava), ebo podle ejvyšší horí hraice účelové fukce, ebo se zpracovávají po vrstvách stromu (1. vrstva, pak 2. vrstva, ), výběr uzlů podle Existují i doplňující postupy pro výběr větvící proměé, apř. výběr proměé, která je ejblíže poloviě dvou celých čísel. Kombiací metody větveí a mezí a řezých adrovi je metoda Brach ad cut, metoda větveí a řezů. V í se přidávají řezy, dokud lze alézt platé omezeí, ebo do okamžiku, kdy přidáváí dalších řezů již emá výrazý vliv a hodotu účelové fukce, a pak ásleduje větveí. Díky tomu evzike tolik větví. Pro úlohy IP s velkým počtem proměých, kde je v optimálím řešeí je je malý podíl proměých eulový, se hodí metoda Brach ad Price, větveí a oceňováí. Leka Fiřtová (214)

Vlastosti úloh celočíselého programováí Leka Fiřtová (214)

Vlastosti úloh celočíselého programováí VÝPOČETNÍ SLOŽITOST ÚLOH Moho úloh většího rozsahu eumíme řešit v rozumém výpočetím čase. Rozsahem úlohy se rozumí počet proměých a počet omezeí, v teorii grafů pak počet uzlů a hra. Efektiví algoritmus je takový algoritmus, kterým dokážeme úlohu vyřešit v rozumém výpočetím čase. Výpočetí čas se měří počtem elemetárích operací fiktivího počítače. Výpočetí složitostí úlohy f() se myslí maximálí výpočetí čas pro všecha číselá zadáí úlohy o rozměru (čas se liší i podle kokrétích čísel v úloze). Přesý tvar fukce f() eí třeba zát, většiou zjišťujeme asymptotický charakter růstu fukce. Hledáme fukci g() = O(f()). To zameá, že existuje kostata c taková, že pro všecha přirozeá platí f() c g(). Pokud je g() apř. 2, 3, log(), je růst výpočetího času polyomiálí, jde o polyomiálí algoritmus. Pokud je g() apř. e,2,!, jde o epolyomiálí algoritmus. Například simplex epatří mezi polyomiálí algoritmy. g() = (O(f()) je tzv. Omikro otace, horí odhad. Dále se ěkdy používá Theta otace g() = (Θ(f()), což je průměrý odhad, či Omega otace g() = (Ω(f()), což je dolí odhad. g() = 1 = 3 = 5 = 7 2,1 s,3 s,5 s,7 s 3,1 s,27 s,125 s,343 s 5,1 s 24,3 s 5,2 mi 28 mi 2,1 s 17,9 mi 35,7 roků 37 mil. roků 3,59 s 6,5 roku 2,3 x 1 1 roků 1 13 mil. roků Výpočetí složitost. Zdroj: Ig. Ja Fábry, Ph.D.: 4EK314 Diskrétí modely Existují 4 základí třídy úloh: P, NP, NPC a NPH. Třídu P tvoří úlohy, pro které existuje polyomiálí algoritmus. Sem patří úlohy lieárího programováí, hledáí miimálí kostry grafu, maximálího toku, ejkratší cesty, přiřazovací problém či hledáí odpovědi a otázku, jestli v grafu existuje Eulerův cyklus. Třídu NP tvoří rozhodovací úlohy typu ANO/NE. Jsou to úlohy, pro které existuje edetermiistický polyomiálí algoritmus, který tuto úlohu řeší ve dvou fázích: 1. vygeeruje se áhodě ějaké řešeí, a jehož existeci se ptáme v daé úloze. 2. ověří se, jestli je toto řešeí hledaým řešeím daé úlohy, a to polyomiálím algoritmem. Tímto polyomiálím algoritmem tedy je ověříme, jestli vygeerovaé řešeí je právě tím řešeím, o jehož existeci se má rozhodout. Jde spíše o teoretickou kostrukci k vymezeí úloh NP. Patří sem apříklad otázka, jestli existuje Hamiltoův cyklus. Máme sezam hra a uzlů grafu. Vybereme ějaký sezam hra a ptáme se, jestli tvoří Hamiltoův cyklus. To lze ověřit polyomiálím algoritmem. K defiici úloh třídy NPC je třeba zavést pojem polyomiálí redukovatelost. Úloha A je polyomiálě redukovatelá a úlohu B, jestliže existuje zadáí úlohy B takové, že z výsledku řešeí úlohy B lze odvodit řešeí úlohy A. Toto odvozeí musí být realizováo polyomiálím algoritmem. Úloha A je speciálím případem úlohy B. Úloha B je obecější, a tedy i obtížější. Třída NPC obsahuje takové úlohy L z NP, pro kterou platí, že každá úloha z NP se dá redukovat a úlohu L. Je-li úloha A NP-úplá a úlohu A lze redukovat a úlohu B z NP, pak i B je NP-úplá úloha. Chceme-li dokázat, že úloha je NP-úplá, musíme ukázat, že tato úloha patří do třídy NP, a alézt NP-úplou úlohu, která se dá a daou úlohu redukovat (která je méě obtížá ež daá úloha). Patří sem apříklad úloha hledáí Hamiltoova cyklu, biárí forma úlohy batohu, set coverig problem Leka Fiřtová (214)

Vlastosti úloh celočíselého programováí Třída NPH je třída ejobtížějších úloh. Existuje-li pro úlohu ze třídy NPH polyomiálí algoritmus, pak je možé pomocí ěj polyomiálě vyřešit všechy úlohy z NP. Patří sem apříklad úloha obchodího cestujícího, batohu, Steierova stromu, celočíselé programováí. Zatím se eví, jestli NP = P ebo e (spíš asi e). Tahle otázka patří mezi Milleium Prize Problems. Kdo to vyřeší, dostae 1 USD. Pro zájemce viz http://www.claymath.org/milleiumproblems. Zdroj: Wikipedia.org Tedy: NP jsou všechy úlohy typu ANO/NE, u ichž můžeme v polyomiálím čase ověřit, zda áhodě vygeerovaé řešeí je hledaým řešeím úlohy. P jsou všechy úlohy, které mohou být v polyomiálím čase vyřešey. P jsou tedy podmožiou NP. Úloha z NP patří do NPC pouze tehdy, pokud se a i dá každý problém ze třídy NP redukovat (tz. pokud lze z řešeí této úlohy polyomiálě odvodit řešeí ostatích úloh v NP. To zároveň zameá, že pokud by ěkterou z úloh NPC bylo možé vyřešit polyomiálím algoritmem, pak by bylo možé vyřešit všechy úlohy v NP). NPH je skupia ejobtížějších úloh. Všechy NPC úlohy jsou zároveň NPH, ale e všechy NPH úlohy jsou NPC. ZDROJE: Ig. J. Fábry, Ph.D.: předášky 4EK314 Diskrétí modely, 211. Jabloský, J., Lagová, M.: Lieárí modely. Nakladatelství Oecoomica, Praha 29. Leka Fiřtová (214)