Připravené materiály představující doplňující dotazy k přednášce předmětu PA167 Rozvrhování.
Úvod do rozvrhování, příklady a reálné problémy
- Jak byste popsali rozvrhovací problém? Jak lze pomocí Ganttova diagramu znázornit rozvrhovací problém?
- Jaký je rozdíl mezi úplným/částečným/konzistentním a optimálním rozvrhem?
- Jak byste popsali rozvrhovací příklad s montáží kola na průsvitce 4? Co je jeho (optimálním) řešením?
- Jaké problémy se řeší při rozvrhování sester v nemocnici?
- Jaké problémy se řeší při plánování nákladní automobilové dopravy?
- Jaké problémy se řeší při rozvrhování předmětů na univerzitě?
- Jaký je rozdíl mezi problémy scheduling/timetabling/planning? Uveďte jejich příklady.
- Co to je AI planning? Uveďte vhodný příklad.
- Jak byste popsali problémy seřazení (sequencing) a rostering? Uveďte jejich příklady.
- Jaký je rozdíl mezi úlohou a operací?
- Popište statické a dynamické parametry úlohy.
Grahamova klasifikace
- Co to je Grahamova klasifikace?
- Vysvětlete rozdíl mezi identickými paralelními stroji, paralelními stroji s různou rychlostí a nezávislými paralelními stroji.
- Jak byste popsali multi-operační (shop) problémy?
- Co to je flow shop problém a co to je flexible flow shop problém?
- Popište job shop problém a co to je open shop problém. Jak se liší navzájem a od předchozích shop problémů?
- Co to je makespan? Jak dosahujeme při minimalizaci makespan maximalizace výkonu?
- Co to je zpoždění (lateness) a maximální zpoždění? Jak spočítáte maximální zpoždění pro příklad na průsvitce 21?
- Co to je nezáporné zpoždění (tardiness) a celkové zpoždění? Jak spočítáte celkové zpoždění pro příklad na průsvitce 22?
- Na co se používá kritérium, které minimalizuje součet časů konců úloh?
- Odhadnete, proč je problém 1|rj|Lmax NP-úplný, zatímco problém 1||Lmax má polynomiální složitost?
- Odhadnete, proč má problém P|pmtn|Cmax polynomiální složitost, zatímco P2||Cmax je NP-úplný?
Řídící pravidla
- Co to je řídící pravidlo? Ukažte na příkladu na průsvitce 3, jak funguje řídící pravidlo s nejdřívějším termínem dostupnosti pro rozvrhování na jednom stroji.
- Ukažte, jak funguje řídící pravidlo s nejdřívějším termínem dokončení na příkladu na průsvitce 4.
- Co to je minimální rezerva? Jak funguje pravidlo minimální rezervy?
- Ukažte rozdíl mezi pravidlem s nejdelší a nejkratší dobou trvání na příkladu na průsvitce 18. Jaká kritéria tyto pravidla minimalizují a proč?
Omezující podmínky
- Co to je omezení? Uveďte také příklad omezení. Kdy je omezení splněno?
- Co to je problém splňování podmínek? Uveďte příklad. Co je jeho řešením?
- Co to je filtrace domén?
- Co to je hranová konzistence? Ukažte na příkladech na průsvitce, kdy je podmínka hranově konzistentní a kdy není.
- Popište, jak funguje algoritmus pro zajištění hranové konzistence.
- Popište, jak používáme při řešení problémů prohledávání do hloubky.
Rozvrhování s omezujícími podmínkami
- Jaké doménové proměné jsou svázány s aktivitou a jejím časem
- Jaké typy základních omezení se používají při rozvrhování?
- Jaké doménové proměné jsou svázány s aktivitou a jejím časem?
- Jaké typy základních omezení se používají při rozvrhování?
- Jaké doménové proměné jsou svázány se zdroji?
- Co to je unární zdroj a jak s ním pracujeme?
- Jaký je princip algoritmu hledání hran?
- Popište odvozovací pravidla při hledání hran.
- Jaký je princip algoritmu not-first?
- Jaká odvozovací pravidla používáme při použití pravidla not-first?
- Jakým způsobem lze realizovat propagaci pro alternativní zdroje? Popište příslušná odvozovací pravidla.
- Co to je kumulativní zdroj?
- Jak se pracuje s agregovanými požadavky?
- Co to je globální podmínka? Popište globální podmínku allDifferent.
- Co to je intervalová a sekvenční proměnná? Co je cílem omezení noOverlap?
- Popište řešení job-shop problému dle kódu na str. 31.
- Jak pracujeme s kumulativními funkcemi?
- Co to je rezervoár a jak s jeho využitím můžeme zajistit propagaci požadovaného množství zdroje?
- Co to je optimistický zdrojový profil?
- Jak můžeme propagovat na základě optimistického zdrojového profilu?
- Vyřešte příklad na straně 7.
- Co to je pesimistický zdrojový profil?
- Jak můžeme propagovat na základě pesimistického zdrojového profilu?
- Jaké znáte způsoby větvení?
- Co to je rezerva? Popište rezervu pro dané pořadí aktivit, pro dvě aktivity a pro skupinu aktivit.
- Jak realizujeme větvení s pomocí uspořádání dvojic aktivit?
- Jak realizujeme větvení s výběrem první resp. poslední aktivity?
Matematické programování
- Co to je linerární program? A celočíselný lineární program?
- Vysvětlete význam rovnic pro příklad na průsvitce 4.
- Co to je směna? Jak byste naformulovali problém rozvrhování zaměstnanců na směny?
Lokální prohledávání
- Jaký je rozdíl mezi konstruktivními metodami a lokálním prohledáváním?
- Popište konstru algoritmu lokálního prohledávání.
- Jak budeme reprezentovat rozvrh pro problém jednoho stroje a jaké můžeme použít okolí?
- Jak vygenerujete iniciální řešení? Jak mohou vypadat podmínky ukončení?
- Jaké znáte metody pro akceptování horšího rozvrhu?
- Popište princip tabu prohledávání. Co to je aspirační kritérium?
- Popište pseudokód algoritmu tabu prohledávání.
- Popište jednotlivé kroky řešení příkladu na průsvitce 10.
- Jaké myšlenky využívá algoritmus simulovaného žíhání?
- Vysvětlete, jak funguje Metropolisovo kritérium.
- Vysvětlete pseudokód algoritmu simulovaného žíhání.
- Popište jednotlivé kroky řešení příkladu na průsvitce 17.
- Popište princip genetických algoritmů.
- Jaký je princip křížení? Proč nelze pro rozvrhování na jednom stroji použít operátor jednobodového (jednoduchého) křížení?
- Popište křížení dané pořadím na příkladu z průsvitky 22.
- Jaké znáte typy mutace?
- Jak funguje princip ruletového kola?
- Jak funguje turnajový výběr a jak funguje elitářský model?
- Popište pseudokód genetického algoritmu
- Popište jednotlivé kroky řešení příkladu na průsvitce 27.
Plánování projektu
- Popište problém plánování projektu s jeho rozšířeními.
- jaké reprezentace používáme pro plánování projektu? Diskutujte jejich výhody a nevýhody.
- Popište parametry problému plánování projektu.
- Popište princip metody kritické cesty.
- Jak určím úlohy s rezervou a jak spočítám jejich rezervu?
- Co to je kritická úloha a kritická cesta?
- Jak spočítám kritickou cestu?
- Vyřešte problém na straně 10 metodou kritické cesty.
- Jak pracujeme s variabilní dobou trvání úloh? Co to je marginální cena?
- Jak spočítám náklady na provedení projektu při variabilní době trvání?
- Co to je (vrcholový) řez a minimální řez?
- Uměli byste na příkladu ze strany 20 vysvětlit, jak funguje algoritmus kompromisní heuristiky?
- Jaké se používají proměnné, omezení a účelová funkce v lineárním programu řešícím problém plánování projektu s variabilní dobou trvání? Uměli byste tato omezení a účelovou funkci vysvětlit?
- Jaké proměnné se používají v celočíselném programu pro problém plánování projektu s variabilní dobou trvání?
- Jak zde spočítáte kapacitu zdroje pro danou úlohu v každém časovém intervalu?
- Jak zde určíte koncový čas jednotlivých úloh a makespan?
- Jak zde zapíšete precedenční omezení, omezení na kapacitu a požadavek na jediné ukončení každé úlohy?
Plánování úloh na jednom stroji
- Vysvětlete dle průsvitek důkaz, proč je pravidlo vážené nejkratší doby optimální pro problém 1||∑jwjCj.
- Vysvětlete, proč EDD není optimální pro problém 1|rj|Lmax.
- Vysvětlete, proč je EDD optimální pro problém 1|prmp, rj|Lmax.
- Vyzvětlete metodu větví a mezí. Jak lze spočítat dolní hranici na cenu řešení s pomocí zjednodušení původního problému?
- Vysvětlete aplikaci metody větví a mezí na problém 1|rj|Lmax.
- Vysvětlete s pomocí průsvitek řešení příkladu ze strany 14.
- Vysvětlete, jak funguje paprskové prohledávání.
- Jaký je význam proměnných v problému na průsvitce 21?
- Dokážete vysvětlit formulaci účelové funkce pro tento problém?
- Dokážete vysvětlit formulaci požadavku, že každá úloha právě jednou začne?
Plánování job-shopu
- Připomeňte, co to je job-shop problém.
- Popište disjunktivní grafovou reprezentaci.
- Co to je výběr a co to je splnitelný výběr?
- Jak naleznete výběr pro daný rozvrh?
- Popište algoritmus, jak naleznete rozvrh pro daný výběr.
- Vysvětlete řešení příkladu na straně 32.
- Co to je disjunktivní programování?
- Vysvětlete formulaci job-shop problému pomocí disjunktivního programování.
- Jaký je rozdíl mezi aktivním rozvrhem a rozvrhem bez zdržení? Vysvětlete to také na příkladu.
- Vysvětlete generování množiny všech aktivních rozvrhů.
- Vysvětlete řešení příkladu 27.3 ze sbírky (řešených) příkladů.
- Jak probíhá výpočet dolní hranice?
- Dokážete vysvětlit princip heuristiky posunování kritckého místa?
Plánování montážních systémů
- Jaké jsou charakteristiky montážní linky? Čím se vyznačuje montážní linka s flexibilním časem?
- Co to je cyklický rozvrh a kdy se používá?
- Co to je minimální podílová množina?
- Vysvětlete, jak vznikne rozvrh při posloupnosit úloh 1,2,3 na str. 8.
- Co to je profil a jak se vypočítá čas odchodu úloh z jednotlivých strojů u heuristiky padnoucího profilu? Jak se určí celková neproduktivní doba?
- Dokážete vysvětlit řešení příkladu 29.8 ze sbírky (řešených příkladů)?
- Jak byste popsali montážní linku s fixním časem?
- Jak se používá heuristika seskupování a distribuce?
- Popište jednoduchý matematický model, který budeme používat u heuristiky seskupování a distribuce.
- Popište řešení příkladu na str. 19.
Podpořeno z projektu NPO (MUNI 3.2.1)
Předchozí
Následující