Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék

Hasonló dokumentumok
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Ütemezési feladatok. Az ütemezési feladatok vizsgálata az 50-es évek elején kezdődött, majd

Az optimális megoldást adó algoritmusok

angolul: greedy algorithms, románul: algoritmi greedy

Online migrációs ütemezési modellek

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Dr. Kulcsár Gyula. Virtuális vállalat félév. Projektütemezés. Virtuális vállalat félév 5. gyakorlat Dr.

Példa. Job shop ütemezés

Általános algoritmustervezési módszerek

Gráfszínezési problémák és ütemezési alkalmazásaik

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

Ütemezési modellek. Az ütemezési problémák osztályozása

Approximációs algoritmusok

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Termeléstervezés és -irányítás Termelés és kapacitás tervezés Xpress-Mosel FICO Xpress Optimization Suite

Algoritmizálás, adatmodellezés tanítása 8. előadás

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Adatszerkezetek 2. Dr. Iványi Péter

2017/ Szegedi Tudományegyetem Informatikai Intézet

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet

Ütemezés gyakorlat. Termelésszervezés

Hálózati Folyamok Alkalmazásai. Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék

Vállalati modellek. Előadásvázlat. dr. Kovács László

Hálózati Folyamok Alkalmazásai. Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny 2-3. korcsoport. Maximális növekedés

Programozási módszertan. Mohó algoritmusok

A szimplex algoritmus

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

ANYAGÁRAMLÁS ÉS MŰSZAKI LOGISZTIKA

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Ütemezési Gyakorlatok

Logisztikai szimulációs módszerek

Diszkrét matematika I.

Idő-ütemterv hálók - I. t 5 4

A szimplex tábla. p. 1

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

p j p l = m ( p j ) 1

Operációkutatás példatár

Algoritmuselmélet 2. előadás

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

MŰSZAKKIOSZTÁSI PROBLÉMÁK A KÖZÖSSÉGI KÖZLEKEDÉSBEN

Áttekintés LP és geometria Többcélú LP LP és egy dinamikus modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Döntéselőkészítés. I. előadás. Döntéselőkészítés. Előadó: Dr. Égertné dr. Molnár Éva. Informatika Tanszék A 602 szoba

Nagy Gábor compalg.inf.elte.hu/ nagy

V. DISZKRÉT OPTIMALIZÁCIÓ

Operációkutatás vizsga

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás

Algoritmusok bonyolultsága

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika 2. estis képzés

Számítógépes döntéstámogatás. Genetikus algoritmusok

Előrenéző és paraméter tanuló algoritmusok on-line klaszterezési problémákra

A projekt idő-, erőforrás és költségterve 1. rész

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Operációkutatás. Vaik Zsuzsanna. Budapest október 10. First Prev Next Last Go Back Full Screen Close Quit

Diszkrét matematika 1.

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN

Matematika 8. osztály

Gyártórendszerek Dinamikája. Gyártórendszerek jellemzése és szerkezete Gyártórendszerekkel kapcsolatos mérnöki feladatok

Mohó stratégia. Feladat: Megoldás:

További forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék

Shor kvantum-algoritmusa diszkrét logaritmusra

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

Nagy Gábor compalg.inf.elte.hu/ nagy

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

1. Bevezet példák, síbérlés

1. Oldja meg grafikusan az alábbi feladatokat mindhárom célfüggvény esetén! a, x 1 + x 2 2 2x 1 + x 2 6 x 1 + x 2 1. x 1 0, x 2 0

Matematikai modellezés

Döntéselőkészítés. VII. előadás. Döntéselőkészítés. Egyszerű Kőnig-feladat (házasság feladat)

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

bármely másikra el lehessen jutni. A vállalat tudja, hogy tetszőlegesen adott

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

Idõ-ütemterv há lók - I. t 5 4

Döntési rendszerek I.

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Adatszerkezetek II. 6. előadás

Gráf-algoritmusok Legrövidebb utak

Számítógép és programozás 2

Korlátozás és szétválasztás elve. ADAGOLO adattípus

Mesterséges Intelligencia I. (I602, IB602)

Operációkutatás. Vaik Zsuzsanna. ajánlott jegyzet: Szilágyi Péter: Operációkutatás

Totális Unimodularitás és LP dualitás. Tapolcai János

1. ábra A hagyományos és a JIT-elvű beszállítás összehasonlítása

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

Szenzorhálózatok programfejlesztési kérdései. Orosz György

Zárthelyi dolgozat feladatainak megoldása õsz

Vasúti szállítás és infrastruktúra I.

Átírás:

Ütemezési problémák Kis Tamás 1 1 MTA SZTAKI valamint ELTE, Operációkutatási Tanszék ELTE Problémamegoldó Szeminárium, 2012. ősz

Kivonat Alapfogalmak Mit is értünk ütemezésen? Gépütemezés 1 L max 1 rm C max P C max J C max Alkalmazások

Kivonat Alapfogalmak Mit is értünk ütemezésen? Gépütemezés 1 L max 1 rm C max P C max J C max Alkalmazások

Kivonat Alapfogalmak Mit is értünk ütemezésen? Gépütemezés 1 L max 1 rm C max P C max J C max Alkalmazások

Mit, Mikor, Hogyan? Adott egy feladathalmaz, amely minden elemének van erőforrás igénye, végrehatási ideje (amely függhet a hozzá rendelt erőforrásoktól), valamint lehetnek megelőzési korlátok a feladatok között. A feladatok végrehajtásukhoz erőforrásokat igényelnek. Megkülönböztetünk megújuló (gépek, munkaerő), és nem megújuló (felhasznált anyagok, energia) erőforrásokat. Az egyes erőforrásokból véges mennyiség érhető el (időegységenként / összesen). Meg kell határoznunk, hogy az egyes feladatokhoz mennyi (esetleg milyen) erőforrást rendeljünk, valamint a tevékenységek időzítését, úgy, hogy az erőforrás korlátokat betartsuk, és egy célfüggvényt minimalizáljunk, vagy maximalizáljunk.

Példák Egygépes ütemezés 1 L max Egyetlen gépünk van. A feladhalmaz elemei J 1,..., J n. Minden egyes J j feladatnak két paramétere van: p j hossz, és d j határidő. Határozzunk meg egy végrehajtási sorrendet a gépünkön úgy, hogy a maximális késés a lehető legkisebb legyen. Egy S megengedett ütemezés minden J j műveletnek megadja az S j kezdési idejét, és teljesíti a következő feltételeket: a műveletek végrehajtása nem fedi át egymást, azaz S j + p j S j vagy S j + p j S j, minden j j párra.

1 L max max. késés idő max késés idő

EDD sorrend Jelölések: J j p j d j C j (S) L j (S) = C j (S) d j L max (S) = max L j (S) j. feladat j. feladat hossza j. feladat határideje j. feladat befejezési ideje az S ütemtervben j. feladat késése az S ütemtervben (lehet negatív) maximális késés az S ütemtervben EDD sorrend: A feladatokat a határidő szerint nem csökkenő sorrendben ütemezzük. Tétel Az EDD sorrend mindig optimális megoldást ad. Biz Tf. van olyan input, amihez az optimális ütemtervben a feladatok nem EDD sorrendben vannak. Legyen S olyan optimális ütemterv, amiben az inverziók száma minimális az EDD sorrendhez képest. Ekkor van egymás utáni két feladat, J j, és J k, S -ban, amelyek nem EDD sorrendben vannak, azaz J j megelőzi J k feladatot, de d j > d k.

EDD sorrend C j (S ) = t + p j C k (S ) = t + p j + p k L j (S ) = t + p j d j L k (S ) = t + p j + p k d k Csere után: C j (S ) = t + p j + p k L j (S ) = t + p j + p k d j < L k (S ) (d j > d k ) C k (S ) = t + p k L k (S ) = t + p k d k < L k (S ) Tehát a csere után L max (S ) L max (S ). S * J j J k t idő S ' J k J j t idő

Ütemezés anyagkorlátokkal Ebben a problémában a gép mellett van néhány anyag (nem megújuló erőforrás), amelyek szükségesek (különböző mennyiségekben) a műveletek végrehajtásához. Legyen az anyagok száma g, az induló készlet az i-anyagból b 0 (i), i = 1,..., g. Adottak beszállítási időpontok 0 < u 1 < < u q, és mennyiségek b t (i) 0, azaz az u t időpontban b t (i) mennyiség érketik az i-anyagból. A feladathalmaz minden J j elemének két paramétere van: p j > 0 hossz, és egy a j R g + anyagigény vektor. Egy S megengedett ütemezés minden J j műveletnek megadja az S j kezdési idejét, és teljesíti a következő feltételeket: a műveletek végrehajtása nem fedi át egymást, azaz S j + p j S j vagy S j + p j S j, minden j j párra. Az anyagigény nem több, mint ami rendelkezésre áll minden időpontban, azaz j : S j <u t a j t 1 τ=0 b τ, t = 1,..., q + 1, ahol u q+1 = u q + p j.

1 rm C max Cél: az utolsónak ütemezett feladat befejezési idejének minimalizálása (C max ) 0 u 1 u 2 idő

2-approximáció az 1 rm C max problémára Első algoritmus Ütemezzük a feladatokat az utolsó beszállítási időpont után tetszőleges sorrendben. Második algoritmus 1. Rendezzük a feladatokat a teljes anyagigényük szerint nem csökkenő sorrendbe. 2. Ütemezzük a feladatokat a fenti sorrend szerint a legkorábbi időpontba.

Illusztráció 0 u 1 u 2 idő 0 u 1 u 2 idő

Az algoritmusok tulajdonságai Tétel A második algoritmus legalább olyan jó eredményt ad, mint az első. Tétel Az első algoritmus olyan ütemtervet ad, melynek hossza legfeljebb az optimum kétszerese. Biz Jelölje C max az optimális ütemterv hosszát. Vegyük észre, hogy u q < C max, és p j C max. Az algoritmus olyan ütemtervet ad, melynek hossza C alg1 max = u q + p j. Ezekből következik, hogy C alg1 max = u q + p j < 2C max

Legrosszabb eset a második algoritmusra Mutatunk egy feladat sereget, amely igazolja, hogy a második algoritmus is csak 2-approximáció. Adatok n feladat, mindegyik egységnyi hosszú (p j = 1) 2 anyag ( ) ( ) n 1 1 a 1 =, a 0 j =, 2 j n. n + j 3 ( ) ( ) n 1 0 b 0 =, b 0 t =, 1 t n 2, ( ) n + t 2 n 1 b n 1 =. 2n 3 Ekkor a feladatok sorrendje 1,..., n. Optimális megoldás: S 1 = n, S j = j 1, 2 j n. Második algoritmus: S 1 = 0, S 2 = n 1, S 3 = n,..., S n = 2n 3. Tehát C alg2 max /C max = (2n 3)/(n + 1) 2, ha n.

Ütemezés párhuzamos gépeken Adott m gép, és n feladat: a feladatokat gépekhez kell rendelni úgy. hogy minimalizáljuk a maximális befejezési időt. Adatok: Feladatok száma n, gépek száma m. Minden J j feladat, 1 j n, egyetlen paraméterrel rendelkezik: a feladat hossza, amit p j jelöl. A p j hossz nem függ a feladathoz választott géptől. Minden feladatot egy géphez kell rendelni az m gép közül. Az egy géphez rendelt feladatokat tetszőleges sorrendben lehet végrehajtani. Cél: A maximális befejezési idő minimalizálása.

Listás ütemezés Tétel A P C max probléma NP-nehéz. Listás ütemezési algoritmus 1. Helyezzük a feladatokat egy listára tetszőleges sorrendben. 2. A listáról egymás után dolgozzuk fel a feladatokat. A következő feladatot arra a gépre rakjuk, ahol a leghamarabb elkezdődhet.

A listás ütemezés menete (1) M 1 M 2 M 3 0 idő

A listás ütemezés menete (2) M 1 M 2 M 3 0 idő

A listás ütemezés menete (3) M 1 M 2 M 3 0 idő

A listás ütemezés menete (4) M 1 M 2 M 3 0 idő

A listás ütemezés menete (5) M 1 M 2 M 3 0 idő

A listás ütemezés menete (6) M 1 M 2 M 3 0 idő

A listás ütemezés tulajdonságai Alsó korlátok az optimumra: C max n j=1 p j/m C max max p j Tétel A listás ütemezés tetszőleges sorrend esetén (2 1/m)-approximáció. Biz Legyen J k az utolsóként befejeződő munka. A J k kezdéséig minden gép folyamatosan dolgozik, különben korábban kezdhetnénk. Tehát ha S k a J k kezdési ideje, akkor C alg max = C k = S k + p k n j=1,j k p j /m + p k = n p j /m + (1 1/m)p k j=1 (2 1/m)C max

A listás ütemezés tulajdonságai (folyt.) On-line ütemezés: nem ismerjük a feladatokat előre, hanem ahogy jön egy feladat, géphez kell rendelnünk. On-line algoritmus versenyképessége: mennyire tér el az on-line algoritmus eredménye az off-line optimumtól. Tétel A listás ütemezés olyan on-line algoritmus, aminek a versenyképessége (2 1/m). LPT sorrend: hossz szerint nem növekvő sorrendje a feladatoknak. Tétel A listás ütemezés az LPT sorrend esetén 4/3 approximáció.

Gyakorlati ütemezési problémák Gyártás ütemezés diszkrét folytonos (processz) Processzor ütemezés Operációs rendszer multitasking Szuperszámítógépek (a processzorok térbeli elrendezése, és szomszédsága is figyelembe veendő) Grid Tudományos mérések (Hubble teleszkóp) programja Sport események ütemezése (Amerikai baseball liga)