Obsah. 16. dubna Přehled metodik. Terminologie. Vlastnosti stroje Omezení Optimalizace CVUT FEL, K Klasifikace rozvrhovacích problému

Podobné dokumenty
Úvod do rozvrhování. 21. února Příklady. 2 Terminologie. 3 Klasifikace rozvrhovacích problémů. 4 Složitost.

CVUT FEL, K dubna Radek Mařík Rozvrhování 16. dubna / 56

Úvod do rozvrhování. 20. února Příklady a reálné problémy. 2 Terminologie. 3 Klasifikace rozvrhovacích problémů.

Plánování úloh na jednom stroji

Dynamické rozvrhování

Sbírka příkladů k předmětu PA167 Rozvrhování

Informační systémy plánování výroby - pokročilé rozvrhování

Rozvrhování výroby. František Koblasa Technická univerzita v Liberci. TU v Liberci

Plánování se zabývá především kauzálními vztahy mezi akcemi a otázkou. Rozvrhování se soustředí na alokaci naplánovaných akcí v čase a prostoru.

Plánování projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly

Optimalizace & soft omezení: algoritmy

Příklady ke cvičením. Modelování produkčních a logistických systémů

OSA. maximalizace minimalizace 1/22

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

13. Lineární programování

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

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Otázky ke státní závěrečné zkoušce

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

Časové rezervy. Celková rezerva činnosti

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

4EK201 Matematické modelování. 8. Modely hromadné obsluhy

Informační systémy a plánování výroby 1.čast

Datové struktury 2: Rozptylovací tabulky

Informační systémy a plánování výroby 2.čast

Informační systém pro výrobní firmu

Optimizing Limousine Service with AI. David Marek

Úvod do optimalizace, metody hladké optimalizace

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

Rozvrhování na více procesorech

Metaheuristiky s populacemi

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem

4EK311 Operační výzkum. 6. Řízení projektů

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

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

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

Lineární programování

Algoritmizace prostorových úloh

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:

Numerické metody a programování. Lekce 8

4EK212 Kvantitativní management. 7.Řízení projektů

Profilová část maturitní zkoušky 2017/2018

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

Plánování: reprezentace problému

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016

Automatizované řešení úloh s omezeními

Exponenciální modely hromadné obsluhy

Binární vyhledávací stromy pokročilé partie

Lineární klasifikátory

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

Infor APS (Scheduling) Tomáš Hanáček

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu

Přidělování CPU Mgr. Josef Horálek

Celočíselné lineární programování(ilp)

Úvod do zpracování signálů

Plánování a řízení výroby

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

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

Teorie síťových modelů a síťové plánování

Markov Chain Monte Carlo. Jan Kracík.

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy

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

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Informační systémy a plánování výroby

Optimalizační algoritmy inspirované chováním mravenců

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2016

Metody síťové analýzy

SÍŤOVÁ ANALÝZA. Kristýna Slabá, 1. července 2010

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

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví

Optimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém

Řízení IO přenosů DMA řadičem

Kapitola 11: Vektory a matice:

Neuronové časové řady (ANN-TS)

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

1. července 2010

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

ILOG (aisa:/software/ilog/solver51/doc/index.html)

SYSTÉMOVÁ METODOLOGIE (VIII) Operační výzkum. Ak. rok 2011/2012 vbp 1

Přiřazovací problém. Přednáška č. 7

Profilová část maturitní zkoušky 2013/2014

Metody a nástroje modelování Generation Adequacy. David Hrycej, CIIRC ČVUT

DEFINICE Z LINEÁRNÍ ALGEBRY

Propojování sítí,, aktivní prvky a jejich principy

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Jak se matematika poučila v biologii

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

Délka (dny) terénní úpravy (prvotní) příprava staveniště (výstavba přístřešku pro materiál)

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Paralelní programování

Architektury Informačních systémů. Jaroslav Žáček

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Static Load Balancing Applied to Time Dependent Mechanical Problems

Václav Jirchář, ZTGB

12. Globální metody MI-PAA

NÁHODNÁ VELIČINA. 3. cvičení

Transkript:

Rozvrhování Radek Mařík CVUT FEL, K13132 16. dubna 2014 Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 1 / 44 Obsah 1 Úvod do rozvrhování Přehled metodik Příklady reálných problémů Terminologie 2 Klasifikace rozvrhovacích problému Vlastnosti stroje Omezení Optimalizace 3 Metody lokálního prohledávání Obecně Tabu prohledávání Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 2 / 44

Úvod do rozvrhování Přehled metodik Čas, rozvrhy a zdroje [RN10] Reprezentace klasického plánování Co se má dělat, V jakém pořádku. Rozšíření Jak dlouho se vykonává daná akce, Kdy se zahájí. Rozvrhování časová omezení, omezení na zdroje. Příklady Rozvrh aerolinie, Která letadla jsou přiřazena ke kterým letům, Časy odletů a příletů, Aerolinie má omezený počet zaměstnanců. Obsluha, která je na jednom letu, nemůže být v tom samém času na letu jiném. Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 4 / 44 Úvod do rozvrhování Přehled metodik Obecné metodiky řešení [Rud13] Úvod Grahamova klasifikace rozvrhovacích problémů Obecné řešící metody Přesné řešící metody metoda větví a mezí Heuristiky řídící pravidla (dispatching rules) paprskové prohledávání (beam search) lokální prohledávání: simulované žíhání, tabu prohledávání, genetické algoritmy Matematické programování: formulace lineární celočíselné Programování s omezujícími podmínkami Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 5 / 44

Úvod do rozvrhování Přehled metodik Specifické metodiky [Rud13] Plánování projektu: reprezentace projektu, kritická cesta, kompromis mezi časem a cenou, pracovní síla. Plánování úloh: řídící pravidla, metoda větví a mezí, paprskové prohledávání, matematické prohledávání, posunování kritického místa. Rozvrhování montážních systémů: montážní linka s flexibilním časem, s fixním časem, s paralelními pracovními stanicemi. Rezervace: intervalové rozvrhování, rezervační systémy s rezervou. Timetabling: rozvrhování s operátory, rozvrhování s pracovní silou. Rozvrhování zaměstnanců: rozvrhování volných dnů, rozvrhování směn, cyklické rozvrhování směn. Univerzitní rozvrhování: teorie a praxe Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 6 / 44 Úvod do rozvrhování Přehled metodik Rozvrh [Rud13] Rozvrh: dán umístěním úloh do konkrétního času a na konkrétní zdroje, kde mají být úlohy prováděny Úplný rozvrh: v rozvrhu jsou umístěny všechny úlohy ze zadání problému Částečný rozvrh: některé úlohy ze zadání problému nejsou umístěny/přiřazeny Konzistentní rozvrh: rozvrh, ve kterém jsou splněna všechna omezení kladená na zdroje a umístěné/přiřazené úlohy, např. úloha je naplánována v čase, kdy je dostupná na jednom stroji (s jednotkovou kapacitou) běží nejvýše jedna úloha Konzistentní úplný rozvrh vs. konzistentní částečný rozvrh Optimální rozvrh: umístění úloh na stroje je optimální vzhledem k zadanému optimalizačnímu kritériu, např. min C max : makespan (čas dokončení poslední úlohy) je minimální Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 7 / 44

Úvod do rozvrhování Přehled metodik Definice pojmu rozvrhování [Rud13] Rozvrhování optimální alokace/přiřazení zdrojů množině úloh v čase omezené množství zdrojů, maximalizace zisku za daných omezení Stroj M i, i = 1,..., m Úloha J j, j = 1,..., n (i, j) operace nebo provádění úlohy j na stroji i úloha se může skládat z několika operací příklad: úloha 4 má tři operace s nenulovou dobou trvání (2,4),(3,4),(6,4), tj. je prováděna na strojích 2,3,6 Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 8 / 44 Strojově orientovaný Ganttův diagram Úvod do rozvrhování Přehled metodik Statické a dynamické parametry úlohy [Rud13] Statické parametry úlohy doba trvání p ij, p j : doba provádění úlohy j na stroji i termín dostupnosti j (release date) r j : nejdřívější čas, ve kterém může být úloha j prováděna termín dokončení (due date) d j : čas, do kdy by měla být úloha j nejpozději dokončena (preference) vs. deadline: čas, do kdy musí být úloha j nejpozději dokončena (požadavek) váha w j : důležitost úlohy j relativně vzhledem k ostatním úloham v systému Dynamické parametry úlohy čas startu úlohy (start time) S ij, S j : čas zahájení provádění úlohy j na stroji i čas konce úlohy (completion time) C ij, C j : čas, kdy je dokončeno provádění úlohy j na stroji i Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 9 / 44

Úvod do rozvrhování Příklady reálných problémů Příklad: montáž kola [Rud13] 10 úloh s danou dobou trvání Precedenční podmínky úlohu lze provést až po provedení zadané množiny úloh Nepreemtivní úlohy úlohy nelze přerušit Optimalizační kritéria minimalizace makespan minimální počet pracovníků Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 11 / 44 Úvod do rozvrhování Příklady reálných problémů Příklad: řešení montáž kola [Rud13] 10 úloh s danou dobou trvání Precedenční podmínky úlohu lze provést až po provedení zadané množiny úloh Nepreemtivní úlohy úlohy nelze přerušit Optimalizační kritéria minimalizace makespan minimální počet pracovníků Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 12 / 44

Úvod do rozvrhování Příklady reálných problémů Příklady rozvrhování [Rud13] Plánování výroby polovodičů velké množství různorodých výrobků, odlišné množství vyráběných položek cena za nastavení strojů, dodržení požadované doby výroby Plánování zásobovacích řetězců např. lesnatá oblast výroba papíru výrobky z papíru distribuční centra koncový zákazník minimalizace ceny výroby, dopravy, skladování Plánování výroby papíru vstup dřevo, výstup role papíru, drahé stroje, různé typy papíru, minimalizace výroby na sklad Automobilová montážní linka výroba různých typů aut s různým vybavením optimalizace výkonu, rovnoměrná zátěž Plnění limonád do lahví 4 příchutě, každá příchut má vlastní dobu plnění minimalizovat dobu cyklu, jeden stroj Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 13 / 44 Úvod do rozvrhování Příklady reálných problémů Příklady rozvrhování II [Rud13] Rozvrhování sester v nemocnici odlišný počet sester v pracovní dny a o víkendu, menší nároky při obsazování nočních směn, určit přiřazení sester na směny, splnění požadavků, minimalizace ceny Plánování v prostředí Gridů clustery, superpočítače, desktopy, speciální zařízení plánování výpočetních úloh na zdroje plánování datových přenosů a datové zpracování Univerzitní rozvrhování předmětů Nalezení času a místnosti pro výuku předmětů na univerzitě omezení kladena na umístění předmětů optimalizace preferenčních požadavků na čas a místnosti minimalizace počtu překrývajících se předmětů pro všechny studenty Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 14 / 44

Úvod do rozvrhování Terminologie Scheduling vs. timetabling [Rud13] Scheduling... rozvrhování/plánování alokace zdrojů za daných podmínek na objekty umístěných v časoprostoru tak, že je minimalizována celková cena daných zdrojů důraz je kladen na uspořádání objektů, precedenční podmínky př. plánování výroby: stanovení pořadí operací, důležitost časových návazností operací schedule... rozvrh: zahrnuje prostorové a časové informace Timetabling... rozvrhování alokace zdrojů za daných podmínek na objekty umístěných v časoprostoru tak, že jsou co nejlépe splněna zadaná kritéria důraz kladen na konkrétní časové umístění objektů často vymezen předem časový horizont (počet rozvrhovaných slotů) př. školní rozvrhování: předmětům přiřazen čas a místo vyuky timetable... rozvrh: ukazuje, kdy a kde se budou události konat. Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 16 / 44 Úvod do rozvrhování Terminologie Sequencing a Rostering [Rud13] Sequencing... seřazení za daných podmínek: konstrukce pořadí úloh, ve kterém budou prováděny sequence... posloupnost pořadí, ve kterém jsou úlohy prováděny př. plnění limonád do lahví Rostering... rozpis služeb umístění zdrojů za daných podmínek do slotů s pomocí vzorů (pattern) roster... rozpis seznam jmen lidí, který určuje, které úlohy budou provádět a kdy př. rozpis sester v nemocnici, rozpis řidičů autobusů Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 17 / 44

Klasifikace rozvrhovacích problému Vlastnosti stroje Grahamova klasifikace [Rud13] Grahamova klasifikace α β γ používá se pro popis rozvrhovacích problémů α: charakteristiky stroje popisuje způsob alokace úloh na stroje β: charakteristiky úloh popisuje omezení aplikovaná na úlohy Příklady γ: optimalizační kritéria složitost pro jednotlivé rozvrhovací problémy P3 prec C max : montáž kola Pm r j w j C j : paralelní stroje Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 19 / 44 Klasifikace rozvrhovacích problému Vlastnosti stroje Vlastnosti stroje α [Rud13] Jeden stroj 1: 1...... Identické paralelní stroje Pm m identických strojů zapojených paralelně (se stejnou rychlostí) úloha je dána jedinou operací úloha může být prováděna na libovolném z m strojů Paralelní stroje s různou rychlostí Qm doba trvání úlohy j na stroji i přímo závislá na jeho rychlosti v i p ij = p j /v i př. několik počítačů s různou rychlostí procesoru Nezávislé paralelní stroje s různou rychlostí Rm stroje mají různou rychlost pro různé úlohy stroj i zpracovává úlohu j rychlostí v ij p ij = p j /v ij př. vektorový počítač počítá vektorové úlohy rychleji než klasické PC Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 20 / 44

Klasifikace rozvrhovacích problému Vlastnosti stroje Multi-operační (shop) problémy [Rud13] Multi-operační (shop) problémy jedna úloha je prováděna postupně na několika strojích úloha j se skládá z několika operací (i, j) operace (i, j) úlohy j je prováděna na stroji i po dobu p ij příklad: úloha j se 4 operacemi (1, j), (2, j), (3, j), (4, j) Multi-operační problémy jsou klasické detailně studované problémy operačního výzkumu Reálné problémy ale často mnohem komplikovanější využití znalostí o podproblémech nebo zjednodušených problémech a jejich řešicích metodách Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 21 / 44 Klasifikace rozvrhovacích problému Vlastnosti stroje Flow shop α [Rud13] Flow shop Fm multi-operační problém s m stroji v sérii každá úloha musí být prováděna na všech strojích úloha musí být prováděna na všech strojích ve stejném pořadí nejdříve se úloha provádí na 1. stroji, pak na 2.,... Flexible flow shop FFs zobecnění flow shop problému s fází, každé fázi přísluší paralelní stroj tj. multi-operační problém s s paralelními stroji úloha musí projít všemi fázemi ve stejném pořadí nejprve se úloha provádí na paralelním stroji 1. fáze, pak na paralelním stroji 2. fáze,... na paralelním stroji příslušejícím dané fázi může být úloha prováděna na libovolném stroji Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 22 / 44

Klasifikace rozvrhovacích problému Vlastnosti stroje Open shop & job shop [Rud13] Job shop Jm multi-operační problém s m stroji pořadí provádění operací pro každou úlohu je předem určeno doba zpracování úlohy na některých strojích může být nulová (i, j) (k, j) určuje, že úloha j má být prováděna na stroji i dříve než na stroji k příklad: (2, j) (1, j) (3, j) (4, j) Open shop Om multi-operační problém s m stroji doba zpracování úlohy na některých strojích může být nulová rozvrhovač určí, v jakém pořadí je úloha prováděna na strojích Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 23 / 44 Klasifikace rozvrhovacích problému Omezení Omezení β [Rud13] Precedenční podmínky prec lineární posloupnost, stromová struktura pro úlohy a, b píšeme a b, což znamená S a + p a S b příklad: montáž kola Přerušení úlohy (preemptions) pmtn při příchodu úlohy s vyšší prioritou je současná úloha přerušena Vhodnost stroje M j podmnožina strojů M j, na níž lze provádět úlohu j přiřazení místností: postačující velikost učebny hry: počítač s HW grafickou knihovnou Omezení na pracovní sílu W, W l do problému zavedeme další typ zdroje stroje mohou potřebovat operátory a úlohy lze provádět jen tehdy, pokud jsou dostupní, W operátorů mohou existovat různé skupiny operátorů se specifickou kvalifikací W l je počet operátorů ve skupině l Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 25 / 44

Klasifikace rozvrhovacích problému Omezení Omezení (pokračování) β [Rud13] Směrovací (routing) omezení udávají, na kterých strojích musí být úloha prováděna pořadí provádění úlohy v multi-operačních problémech job shop problém: pořadí operací předem stanoveno open shop problém: pořadí operací úlohy (route for the job) stanoveno až při rozvrhování Nastavovací (setup) doba a cena s ijk, c ijk, s jk, c jk závislé na posloupnosti provádění s ijk čas nutný pro provádění úlohy k po úloze j na stroji i c ijk cena nutná pro provádění úlohy k po úloze j na stroji i s jk, c jk čas/cena nezávislý na stroji příklady plnění limonád do lahví problém obchodního cestujícího 1 s jk C max Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 26 / 44 Klasifikace rozvrhovacích problému Optimalizace Optimalizace: výkon a makespan γ [Rud13] Makespan C max : maximální čas konce úloh C max = max(c 1,..., C n ) Příklad: C max = max{1, 3, 4, 5, 8, 7, 9} = 9 Cíl: minimalizace makespan často maximalizuje výkon (throughput) zajišt uje rovnoměrné zatížení strojů (load balancing) příklad: C max = max{1, 2, 4, 5, 7, 4, 6} = 7 Velmi často používané a základní kritérium Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 28 / 44

Klasifikace rozvrhovacích problému Optimalizace: zpoždění γ [Rud13] Optimalizace Zpoždění (lateness) úlohy j: L max = C j d j Maximální zpoždění L max L max = max(l 1,..., L n ) Cíl: minimalizace maximálního zpoždění Příklad: L max = max(l 1, L 2, L 3 ) = = max(c 1 d 1, C 2 d 2, C 3 d 3 ) = = max(4 8, 16 14, 10 10) = = max( 4, 2, 0) = 2 Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 29 / 44 Klasifikace rozvrhovacích problému Optimalizace Optimalizace: nezáporné zpoždění γ [Rud13] Nezáporné zpoždění (tardiness) úlohy j: T j = max(c j d j, 0) Celkové zpoždění n j=1 T j Cíl: minimalizace celkového zpoždění Příklad: T 1 + T 2 + T 3 = = max(c 1 d 1, 0) + max(c 2 d 2, 0) + max(c 3 d 3, 0) = = max(4 8, 0) + max(16 14, 0) + max(10 10, 0) = = 0 + 2 + 0 = 2 Celkové vážené zpoždění n w j T j j=1 Cíl: minimalizace celkového váženého zpoždění Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 30 / 44

Klasifikace rozvrhovacích problému Optimalizace Termín dokončení a grafy γ [Rud13] Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 31 / 44 Metody lokálního prohledávání Obecně Konstruktivní vs. lokální metody [Rud13] Konstruktivní metody začneme s prázdným rozvrhem do rozvrhu přidáváme postupně jednotlivé úlohy tak, aby byl rozvrh stále konzistentní Lokální prohledávání začneme s úplným nekonzistentním rozvrhem triviálně: s náhodně vygenerovaným snažíme se najít lepší podobný rozvrh lokálními změnami kvalitu rozvrhu posuzujeme optimalizačními kritérii např. makespan optimalizační kritéria vyhodnocují také konzistenci rozvrhu např. počet porušených precedenčních omezení Hybridní přístupy kombinace obou metod Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 33 / 44

Metody lokálního prohledávání Obecně Algoritmus lokálního prohledávání [Rud13] 1 Inicializace k = 0 výběr iniciálního rozvrhu S 0 zaznamenání dosud nejlepšího rozvrhu: S best = S 0 a cost best = F (S 0 ) 2 Výběr a aktualizace výběr rozvrhu z okoĺı: S k+1 N(S k ) pokud kriterium přijetí rozvrhu nesplňuje žádný prvek N(S k ), pak algoritmus končí jestliže F (S k+1 ) < cost best pak S best = S k+1 a cost best = F (S k+1 ) 3 Ukončení jestliže platí podmínky ukončení, pak algoritmus končí jinak k = k + 1 a skok na krok 2. Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 34 / 44 Metody lokálního prohledávání Obecně Jeden stroj + nepreemptivní úlohy [Rud13] Reprezentace rozvrhu permutace n úloh příklad se šesti úlohami: 1, 4, 2, 6, 3, 5 Definice okoĺı párová výměna sousedních úloh n 1 možných okoĺı příklad: 1, 4, 2, 6, 3, 5 se změní např. na 1, 4, 2, 6, 5, 3 nebo výběr libovolné úlohy v rozvrhu a umístění na libovolnou pozici n(n 1) možných okoĺı příklad: z 1, 4, 2, 6, 3, 5 náhodně vybereme 4 a dáme ji jinam: 1, 2, 6, 3, 4, 5 Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 35 / 44

Metody lokálního prohledávání Obecně Kritérium výběru rozvrhu [Rud13] Kritérium výběru rozvrhu kritérium přijetí/odmítnutí rozvrhu Hlavní rozdíl mezi většinou metod akceptovat vždy lepší rozvrh? někdy akceptovat i horší rozvrh? Metoda pravděpodobnostní náhodná procházka: s malou pravděpodobností (např. 0.01) akceptujeme i horší rozvrh simulované žíhání deterministická tabu prohledávání: udržujeme tabu seznam několika posledních stavů/změn, které jsou pro další výběr nepřípustné Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 36 / 44 Metody lokálního prohledávání Tabu prohledávání Tabu prohledávání [Rud13] Deterministické kritérium přijetí/odmítnutí rozvrhu Udržován tabu seznam několika posledních změn v rozvrhu každá nová změna je umístěna na vrchol tabu seznamu př. uchovávané změny: výměna úloh j a k tabu seznam = seznam zakázaných změn okoĺı omezeno na rozvrhy, které nepožadují změnu z tabu seznamu zabraňuje cyklení příklad triviáního cyklení: první krok: prohození úloh 3 a 4, druhý krok: prohození úloh 4 a 3 pevná délka seznamu (typicky: 5-9) nejstarší změny z tabu seznamu odstraněny příliš malá délka: nebezpečí cyklení příliš velká délka: může omezit prohledávání příliš Aspirační kritérium určuje, kdy je možné akceptovat i změny v tabu seznamu př. změna z tabu seznamu povolena, pokud zlepšeno F (S best ) Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 38 / 44

Metody lokálního prohledávání Tabu prohledávání Algoritmus tabu prohledávání [Rud13] 1 k = 1 výběr iniciálního rozvrhu S 1 použitím heuristiky, S best = S 1 2 výběr S c N(S k ) jestliže je změna S k S c zakázána, protože je v tabu seznamu pak běž na krok 2 3 jestliže změna S k S c není zakázána tabu seznamem pak S k+1 = S c, ulož reversní změnu na vrchol tabu seznamu posuň další pozice v tabu seznamu o pozici níže smaž poslední položku z tabu seznamu jestliže F (S c ) < F (S best ) pak S best = S c 4 k = k + 1 jestliže platí podmínka ukončení pak konec jinak běž na krok 2. Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 39 / 44 Metody lokálního prohledávání Tabu prohledávání Příklad: tabu seznam [Rud13] Uvažujte rozvrhovací problém s 1 d j w j T j opakování: T j = max(c j d j, 0) úlohy 1 2 3 4 p j 10 10 13 4 d j 4 2 1 12 w j 14 12 1 12 Okoĺı: všechny rozvrhy získané párovou výměnou sousedních úloh Výběr rozvrhu z okoĺı: vybereme nejlepší rozvrh Tabu seznam: páry úloh (j, k), které byly přehozeny při posledních dvou změnách Aplikujte tabu prohledávání pro iniciální řešení (2, 1, 4, 3) Proved te čtyři iterace Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 40 / 44

Metody lokálního prohledávání Tabu prohledávání Příklad: tabu seznam - řešení I [Rud13] úlohy 1 2 3 4 p j 10 10 13 4 d j 4 2 1 12 w j 14 12 1 12 S 1 = (2, 1, 4, 3) F (S 1 ) = w j T j = 12 8 + 14 16 + 12 12 + 1 36 = 500 = F (S best ) F (1, 2, 4, 3) = 480 F (2, 4, 1, 3) = 436 = F (S best ) F (2, 1, 3, 4) = 652 Tabu seznam: {(1, 4)} S 2 = (2, 4, 1, 3), F (S 2 ) = 436 F (4, 2, 1, 3) = 460 F (2, 1, 4, 3)(= 500) tabu! F (2, 4, 3, 1) = 608 Tabu seznam: {(2, 4), (1, 4)} S 3 = (4, 2, 1, 3), F (S 3 ) = 460 F (2, 4, 1, 3)(= 436) tabu! F (4, 1, 2, 3) = 440 F (4, 2, 3, 1) = 632 Tabu seznam: {(2, 1), (2, 4)} Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 41 / 44 Metody lokálního prohledávání Tabu prohledávání Příklad: tabu seznam - řešení II [Rud13] úlohy 1 2 3 4 p j 10 10 13 4 d j 4 2 1 12 w j 14 12 1 12 S 3 = (4, 2, 1, 3), F (S 3 ) = 460 F (2, 4, 1, 3)(= 436) tabu! F (4, 1, 2, 3) = 440 F (4, 2, 3, 1) = 632 Tabu seznam: {(2, 1), (2, 4)} S 4 = (4, 1, 2, 3), F (S 4 ) = 440 F (1, 4, 2, 3) = 408 = F (S best ) F (4, 2, 1, 3)(= 460) tabu! F (4, 1, 3, 2) = 586 Tabu seznam: {(4, 1), (2, 1)} F (S best ) = 408 Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 42 / 44

Poděkování Metody lokálního prohledávání Tabu prohledávání První verze této prezentace byla připravena jako zkrácená verze prezentací Hany Rudové [Rud13] Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 43 / 44 Literatura I Metody lokálního prohledávání Tabu prohledávání Stuart J. Russell and Peter Norvig. Artificial Intelligence, A Modern Approach. Pre, third edition, 2010. Hana Rudová. PA167 Rozvrhování, lecture notes, in Czech. http://www.fi.muni.cz/ hanka/rozvrhovani/, March 2013. Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 44 / 44