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

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

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

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

Dynamické rozvrhování

Plánování úloh na jednom stroji

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

Optimalizace & soft omezení: algoritmy

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í projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly

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.

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

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

OSA. maximalizace minimalizace 1/22

13. Lineární programování

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

Optimizing Limousine Service with AI. David Marek

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

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

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

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

Plánování: reprezentace problému

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

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

Datové struktury 2: Rozptylovací tabulky

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

Lineární programování

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

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

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

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

Úvod do zpracování signálů

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

Metaheuristiky s populacemi

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

Úvod do optimalizace, metody hladké optimalizace

Paralelní programování

Grafové algoritmy. Programovací techniky

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

Exponenciální modely hromadné obsluhy

Algoritmizace prostorových úloh

Rozvrhování na více procesorech

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

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

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming

Grafové algoritmy. Programovací techniky

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

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

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

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

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

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

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

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

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

Numerické metody a programování. Lekce 8

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

Stochastické procesy - pokračování

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

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

CLP(F D) program. Základní struktura CLP programu solve( Variables ) :- 1. definice proměnných a jejich domén declare_variables( Variables),

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

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

Teorie front. Systém hromadné obsluhy

Časové rezervy. Celková rezerva činnosti

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

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

Ú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ů

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

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

Vícekanálové čekací systémy

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

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

Metody síťové analýzy

Václav Jirchář, ZTGB

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Kendallova klasifikace

Úvod do celočíselné optimalizace

Metody výběru variant

MODELY ŘÍZENÍ ZÁSOB nákladově orientované modely poptávka pořizovací lhůta dodávky předstih objednávky deterministické stochastické

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

Matematické modelování 4EK201

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

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

1. července 2010

4EK311 Operační výzkum. 8. Modely hromadné obsluhy

Systém pro optimalizaci a řízení lidských zdrojů

Algoritmizace Hashing II. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Procesy a vlákna (Processes and Threads)

Seminář z umělé inteligence. Otakar Trunda

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

Numerické metody optimalizace - úvod

Úvod do teorie grafů

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

Modelování procesů (1) Procesní řízení 1

Lineární klasifikátory

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

Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace

Teorie systémů TES 5. Znalostní systémy KMS

Transkript:

Rozvrhování Radek Mařík CVUT FEL, K13133 16. dubna 2013 Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 1 / 56

Obsah 1 Plánování a rozvrhování Vztah plánování a rozvrhování 2 Úvod do rozvrhování Přehled metodik Příklady reálných problémů Terminologie 3 Klasifikace rozvrhovacích problému Vlastnosti stroje Omezení Optimalizace 4 Metody lokálního prohledávání Obecně Tabu prohledávání 5 Rozvrhování a CSP Formulace problému Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 2 / 56

Plánování a rozvrhování Vztah plánování a rozvrhování Plánování a rozvrhování ve skutečném světě [RN10] Aktivity vesmírných lodí, v továrnách, či vojenských operace jsou složité. Jazyk reprezentace musí být rozšířen. Akce s dobou trvání a omezení zdrojů. Metody jsou hierarchicky organizovány (HTN). Jak přistoupit k prostředím s neurčitostí. Plánovač potřebuje komunikovat s prostředím. Prostředí obsahuje další agenty. Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 4 / 56

Plánování a rozvrhování Čas, rozvrhy a zdroje [RN10] Vztah plánování a rozvrhování 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 5 / 56

Plánování a rozvrhování Vztah plánování a rozvrhování Přístup Nejprve plánuj, pak rozvrhuj [RN10] Výroba ve skutečném světě, logistické problémy 1 Fáze plánování Jsou vybrány akce. Omezení uspořádání. Často je vykonáváno lidmi-experty. 2 Fáze rozvrhování Přidána informace o času a dobách, Omezení na zdroje, Omezení na konečný termín/uzávěrku. Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 6 / 56

Plánování a rozvrhování Vztah plánování a rozvrhování Přístup Nejprve plánuj, pak rozvrhuj [RN10] Výroba ve skutečném světě, logistické problémy 1 Fáze plánování Jsou vybrány akce. Omezení uspořádání. Často je vykonáváno lidmi-experty. 2 Fáze rozvrhování Přidána informace o času a dobách, Omezení na zdroje, Omezení na konečný termín/uzávěrku. Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 7 / 56

Obecné metodiky [Rud13] Úvod do rozvrhování Přehled metodik Ú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@felk.cvut.cz) Rozvrhování 16. dubna 2013 9 / 56

Úvod do rozvrhování Specifické metodiky [Rud13] Přehled metodik 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 10 / 56

Úvod do rozvrhování Definice pojmu rozvrhování [Rud13] Přehled metodik 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 Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 11 / 56

Úvod do rozvrhování Přehled metodik Úlohy, stroje [Rud13] Stroje (zdroje, prostředky) i = 1,..., m Úlohy (aktivity) 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 12 / 56

Ú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@felk.cvut.cz) Rozvrhování 16. dubna 2013 13 / 56

Ú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@felk.cvut.cz) Rozvrhování 16. dubna 2013 14 / 56

Úvod do rozvrhování Příklad: montáž kola [Rud13] Příklady reálných problémů 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 16 / 56

Úvod do rozvrhování Příklad: řešení montáž kola [Rud13] Příklady reálných problémů 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 17 / 56

Úvod do rozvrhování Příklady rozvrhování [Rud13] Příklady reálných problémů 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 18 / 56

Úvod do rozvrhování Příklady rozvrhování II [Rud13] Příklady reálných problémů 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 19 / 56

Úvod do rozvrhování Scheduling vs. timetabling [Rud13] Terminologie 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 21 / 56

Úvod do rozvrhování Sequencing a Rostering [Rud13] Terminologie 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 22 / 56

Klasifikace rozvrhovacích problému Grahamova klasifikace [Rud13] Vlastnosti stroje 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 P 3 prec C max : montáž kola P m r j w j C j : paralelní stroje Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 24 / 56

Klasifikace rozvrhovacích problému Vlastnosti stroje α [Rud13] Vlastnosti stroje Jeden stroj 1: 1...... Identické paralelní stroje P m 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 25 / 56

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@felk.cvut.cz) Rozvrhování 16. dubna 2013 26 / 56

Flow shop α [Rud13] Klasifikace rozvrhovacích problému Vlastnosti stroje Flow shop F m 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 F F s 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 27 / 56

Klasifikace rozvrhovacích problému Open shop & job shop [Rud13] Vlastnosti stroje 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 28 / 56

Omezení β [Rud13] Klasifikace rozvrhovacích problému Omezení 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 30 / 56

Klasifikace rozvrhovacích problému Omezení (pokračování) β [Rud13] Omezení 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 31 / 56

Klasifikace rozvrhovacích problému Omezení (pokračování) β [Rud13] Omezení Výroba na objednávku a na sklad výroba zboží na sklad, pokud je u něj záruka spotřeby nutno uvážit cenu za skladování výroba zboží na objednávku vynucuje úvahu termínů dokončení vyprodukované množství závislé na zákazníkovi Skladovací prostor a doba čekání při výrobě omezené množství prostoru při výrobě horní hranice počtu úloh čekajících ve frontě na stroj blokování: úloha je zablokována na současném stroji, protože fronta na následujícím stroji je plná... Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 32 / 56

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@felk.cvut.cz) Rozvrhování 16. dubna 2013 34 / 56

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@felk.cvut.cz) Rozvrhování 16. dubna 2013 35 / 56

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@felk.cvut.cz) Rozvrhování 16. dubna 2013 36 / 56

Klasifikace rozvrhovacích problému Termín dokončení a grafy γ [Rud13] Optimalizace Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 37 / 56

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@felk.cvut.cz) Rozvrhování 16. dubna 2013 39 / 56

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@felk.cvut.cz) Rozvrhování 16. dubna 2013 40 / 56

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@felk.cvut.cz) Rozvrhování 16. dubna 2013 41 / 56

Metody lokálního prohledávání Kritérium výběru rozvrhu [Rud13] Obecně 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 42 / 56

Metody lokálního prohledávání Tabu prohledávání [Rud13] Tabu prohledávání 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 44 / 56

Metody lokálního prohledávání Algoritmus tabu prohledávání [Rud13] Tabu prohledávání 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 45 / 56

Metody lokálního prohledávání Příklad: tabu seznam [Rud13] Tabu prohledávání 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 46 / 56

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@felk.cvut.cz) Rozvrhování 16. dubna 2013 47 / 56

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@felk.cvut.cz) Rozvrhování 16. dubna 2013 48 / 56

Rozvrhování a CSP Reprezentace rozloženého stavu Formulace problému Reprezentace stavu světa atomický... stav je jednoduchá, dále nedělitelná entita rozložený... stav je sada proměnných. Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 50 / 56

Rozvrhování a CSP Problém splňování podmínek [RN10] Formulace problému angl. CSP... Constraint Satisfaction Problem Rozložená reprezentace stavu množina proměnných, každá proměnná má hodnotu, množina omezení nad proměnnými. Řešení problému pokud každá proměnná má hodnotu, která vyhovuje všem omezením kladené na danou proměnnou. Používají se obecné heuristiky (spíše než problémově orientované) Eliminace najednou velkých částí prostoru řešení identifikací kombinací proměnných/hodnot, které porušují omezení. Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 51 / 56

Rozvrhování a CSP Formulace problému Problém splňování podmínek - formalizace [RN10] 3 komponenty X, D, C: X... množina proměnných X = {X 1,..., X n }, D... množina domén, {D 1,..., D n }, pro každou proměnnou, C... množina omezení, které specifikují povolené kombinace hodnot. Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 52 / 56

Rozvrhování a CSP Job-shop Scheduling Example [RN10] Formulace problému The problem of scheduling the assembly of a car. The whole job is composed of tasks. Each task is modeled as a variable. The value of each variable is the time that the tasks starts. The value is expressed as an integer number of minutes. (Precedence constraints) Constraints can assert that one task must occur before another. A wheel must be installed before the hubcap is put on. Constraints can also specify that a task takes a certain amount of time to complete. Disjunctive constraints Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 53 / 56

Rozvrhování a CSP Formulace problému Plan first, schedule later Approach [RN10] Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 54 / 56

Poděkování Rozvrhování a CSP Formulace problému První verze této prezentace byla připravena jako zkrácená verze prezentací Hany Rudové [Rud13] Radek Mařík (marikr@felk.cvut.cz) Rozvrhování 16. dubna 2013 55 / 56

References I Rozvrhování a CSP Formulace problému 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@felk.cvut.cz) Rozvrhování 16. dubna 2013 56 / 56