460-4063/01 – Kombinatorická optimalizace (KO)

Garantující katedraKatedra informatikyKredity5
Garant předmětuprof. RNDr. Petr Jančar, CSc.Garant verze předmětuprof. RNDr. Petr Jančar, CSc.
Úroveň studiapregraduální nebo graduálníPovinnostvolitelný odborný
RočníkSemestrzimní
Jazyk výukyčeština
Rok zavedení2014/2015Rok zrušení2015/2016
Určeno pro fakultyFEIUrčeno pro typy studianavazující magisterské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
JAN59 prof. RNDr. Petr Jančar, CSc.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 2+2
kombinovaná Zápočet a zkouška 10+0

Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi

Student po úspěšném absolvování předmětu: - rozumí základním pojmům z oblasti kombinatorické optimalizace (včetně příslušných pojmů teorie grafů, lineárního programování, výpočtové složitosti apod.) - umí klasifikovat praktické problémy, které se dají vhodně modelovat jako problémy kombinatorické optimalizace - umí sestavit k praktickým problémům příslušné vhodné modely - umí u základních problémů rozlišit, které jsou řešitelné polynomiálními algoritmy a které jsou NP-těžké - má přehled o metodách řešení úloh lineárního programování a celočíselného lineárního programování a umí je používat - rozumí myšlenkám základních polynomiálních algoritmů - má přehled o základních aproximačních algoritmech u NP-těžkých problémů a obecně použitelných heuristických přístupech - umí pracovat se softwarovými nástroji pro řešení úloh kombinatorické optimalizace

Vyučovací metody

Přednášky
Cvičení (v učebně)
Projekt

Anotace

Mnohé problémy každodenní (průmyslové) praxe jsou de facto optimalizačními problémy: v množině přípustných řešení (např. přidělení úkolů pracovníkům či procesorům, naplánování vozidel a jejich tras pro zásobování, návrh rozmístění elektronických součástek na desce plošných spojů) hledáme takové řešení, které je z nějakého hlediska (např. ceny, času) optimální. Tyto problémy lze často formulovat jako problémy kombinatorické (nebo též diskrétní) optimalizace, většinou v pojmech grafů a (celočíselných) lineárních nerovnic. Některé problémy lze uspokojivě řešit rychlými polynomiálními algoritmy, u jiných (NP-těžkých) se musíme spokojit s algoritmy, které jen aproximují optimální řešení, či s jinými (heuristickými) algoritmy, které dávají rozumné výsledky, byť jejich kvalita není obecně garantována. Cílem předmětu je přiblížení oblasti kombinatorické optimalizace, klasifikace problémů, které zde patří, a osvětlení metod používaných k jejich praktickému řešení.

Povinná literatura:

• Bernhard Korte, Jens Vygen: Combinatorial Optimization (Theory and Algorithms), Springer (5th edition 2012)

Doporučená literatura:

- Christos H. Papadimitriou, Kenneth Steiglitz: Combinatorial Optimization: Algorithms and Complexity, Dover Publications, 1998. - Malik Ghallab, Dana Nau, Paolo Traverso: Automated Planning: Theory & Practice, Morgan Kaufmann, 2004. - Alexander Schrijver: Combinatorial Optimization (3 volume, A,B, & C), Springer, 2003.

Forma způsobu ověření studijních výsledků a další požadavky na studenta

E-learning

Další požadavky na studenta

Každý student během semestru samostatně zpracuje projekt. Bude mít možnost volby mezi aplikačně zaměřeným projektem a teoreticky zaměřeným projektem. V případě aplikačního projektu student dostane zadání konkrétního prakticky motivovaného problému (např. může jít o sestavení optimálního pořadí vrtání děr na desce plošných spojů), k němuž pak sestaví model a navrhne vhodný způsob řešení, který implementuje ve zvoleném softwarovém nástroji. V případě teoretického projektu půjde o zadání vyžadující např. netriviální důkazy vlastností konkrétních metod a algoritmů řešících optimalizační problémy.

Prerekvizity

Předmět nemá žádné prerekvizity.

Korekvizity

Předmět nemá žádné korekvizity.

Osnova předmětu

Osnova přednášek: 1. Přehled kursu. Obecná definice (diskrétních) optimalizačních problémů. Příklady typických úloh kombinatorické optimalizace, modelovaných v pojmech teorie grafů. Příklady problémů řešitelných "hladovým přístupem" (např. problém minimální kostry). Obecný důkaz korektnosti v pojmech matroidů. 2. Další konkrétní problémy řešitelné rychlými (polynomiálními) algoritmy. Připomenutí problémů nejkratší cesty, maximálního toku v sítích, maximálního párování; myšlenky příslušných algoritmů. Polynomiální převeditelnost mezi problémy. 3. NP-obtížné problémy (problém SAT a MAX-SAT, problém obchodního cestujícího [TSP], problémy rozvrhování, apod.). Myšlenka Cookovy věty (NP-úplnost problému SAT) a důkazy NP-obtížnosti pomocí polynomiální převeditelnosti. 4. Celočíselné lineární programování (ILP). Formulace problémů kombinatorické optimalizace jako instancí problémů ILP. NP-obtížnost ILP. 5. Lineární programování (tj. "relaxované" ILP). Formulace úloh lineárního programování. Princip duality. 6. Řešení úloh lineárního programování; simplexová metoda. Diskuse polynomiální složitosti lineárního programování. 7. Řešení úloh ILP. Totálně unimodulární matice. Metoda větvení a mezí (branch and bound). 8. Další metody řešení úloh ILP. Metoda řezů (cutting planes). 9. Pseudopolynomiální algoritmy a aproximační algoritmy ilustrované např. na problému batohu (knapsack problem). Zmínka o heuristických přístupech řešení NP-obtížných problémů. 10. Další aproximační algoritmy a přístupy (aproximace problému TSP, metoda simulovaného žíhání). 11. Špatně aproximovatelné problémy. PCP (Probabilistically Checkable Proofs) teorém a jeho aplikace na problém maximální kliky v grafu. 12. a 13. Různé varianty problémů plánování a rozvrhování a jejich řešení. (Rozvrhování pro jeden procesor a pro paralelní procesory.) 14. Shrnutí kursu a zopakování hlavních pojmů a myšlenek. Osnova počítačových cvičení: Cvičení jsou uvedena jako počítačová, jelikož budou zahrnovat i řešení problémů pomocí softwarových nástrojů (např. k řešení úloh lineárního programování). Významná část cvičení bude ale věnována i řešením problémů u tabule. Půjde o procvičení pojmů a metod probraných na příslušných přednáškách; osnova tedy bude kopírovat osnovu přednášek.

Podmínky absolvování předmětu

Prezenční forma (platnost od: 2014/2015 zimní semestr, platnost do: 2015/2016 letní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodůMax. počet pokusů
Zápočet a zkouška Zápočet a zkouška 100 (100) 51
        Zápočet Zápočet 40  20
        Zkouška Zkouška 60  25 3
Rozsah povinné účasti:

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP:

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2014/2015 (N2647) Informační a komunikační technologie (1103T031) Výpočetní matematika P čeština Ostrava volitelný odborný stu. plán
2014/2015 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P čeština Ostrava volitelný odborný stu. plán
2014/2015 (N2647) Informační a komunikační technologie (1103T031) Výpočetní matematika K čeština Ostrava volitelný odborný stu. plán
2014/2015 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K čeština Ostrava volitelný odborný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku

Hodnocení Výuky

Předmět neobsahuje žádné hodnocení.