ET Erőforrás tervezés Resource Planning

Slides:



Advertisements
Hasonló előadás
Szimmetriák szerepe a szilárdtestfizikában
Advertisements

Kauzális modellek Randall Munroe.
A TUDOMÁNYOS KUTATÁS MÓDSZERTANA
2.1Jelátalakítás - kódolás
Az úttervezési előírások változásai
Fizika II..
Számítógépes Hálózatok
Profitmaximalizálás  = TR – TC
A járműfenntartás valószínűségi alapjai
Szenzorok Bevezetés és alapfogalmak
Végeselemes modellezés matematikai alapjai
A magas baleseti kockázatú útszakaszok rangsorolása
Szerkezetek Dinamikája
MÉZHAMISÍTÁS.
Hőtan BMegeenatmh 5. Többfázisú rendszerek
BMEGEENATMH Hőátadás.
AUTOMATIKAI ÉPÍTŐELEMEK Széchenyi István Egyetem
Skandináv dizájn Hisnyay – Heinzelmann Luca FG58PY.
VÁLLALATI Pénzügyek 2 – MM
Hőtan BMEGEENATMH 4. Gázkörfolyamatok.
Szerkezetek Dinamikája
Összeállította: Polák József
A TUDOMÁNYOS KUTATÁS MÓDSZERTANA
Csáfordi, Zsolt – Kiss, Károly Miklós – Lengyel, Balázs
Tisztelt Hallgatók! Az alábbi példamegoldások segítségével felkészülhetnek a 15 pontos zárthelyi dolgozatra, ahol azt kell majd bizonyítaniuk, hogy a vállalati.
J. Caesar hatalomra jutása atl. 16d
Anyagforgalom a vizekben
Kováts András MTA TK KI Menedék Egyesület
Az eljárás megindítása; eljárási döntések az eljárás megindítása után
Melanóma Hakkel Tamás PPKE-ITK
Az új közbeszerzési szabályozás – jó és rossz gyakorlatok
Képzőművészet Zene Tánc
Penicillin származékok szabadgyökös reakciói
Boros Sándor, Batta Gyula
Bevezetés az alvás-és álomkutatásba
Kalandozások az álomkutatás területén
TANKERÜLETI (JÁRÁSI) SZAKÉRTŐI BIZOTTSÁG
Nemzetközi tapasztalatok kihűléssel kapcsolatban
Gajdácsi József Főigazgató-helyettes
Követelmények Szorgalmi időszakban:
Brachmann Krisztina Országos Epidemiológiai Központ
A nyelvtechnológia eszközei és nyersanyagai 2016/ félév
Járványügyi teendők meningococcus betegség esetén
Kezdetek októberében a könyvtár TÁMOP (3.2.4/08/01) pályázatának keretében vette kezdetét a Mentori szolgálat.
Poszt transzlációs módosulások
Vitaminok.
A sebész fő ellensége: a vérzés
Pharmanex ® Bone Formula
Data Mining Machine Learning a gyakorlatban - eszközök és technikák
VÁLLALATI PÉNZÜGYEK I. Dr. Tóth Tamás.
Pontos, precíz és hatékony elméleti módszerek az anion-pi kölcsönhatási energiák számítására modell szerkezetekben előadó: Mezei Pál Dániel Ph. D. hallgató.
Bevezetés a pszichológiába
MOSZKVA ZENE: KALINKA –HELMUT LOTTI AUTOMATA.
Bőrimpedancia A bőr fajlagos ellenállásának és kapacitásának meghatározása Impedancia (Z): Ohmos ellenállást, frekvenciafüggő elemeket (kondenzátort, tekercset)
Poimenika SRTA –
Végeselemes modellezés matematikai alapjai
Összefoglalás.
Az energiarendszerek jellemzői, hatékonysága
Varga Júlia MTA KRTK KTI Szirák,
Konzerváló fogászat Dr. Szabó Balázs
Outlier detektálás nagyméretű adathalmazokon
További MapReduce szemelvények: gráfproblémák
Ráhagyások, Mérés, adatgyűjtés
Járműcsarnokok technológiai méretezése
Grafikai művészet Victor Vasarely Maurits Cornelis Escher.
VÁLLALATI PÉNZÜGYEK I. Dr. Tóth Tamás.
RÉSZEKRE BONTOTT SOKASÁG VIZSGÁLATA
Az anyagok fejlesztésével a méretek csökkennek [Feynman, 1959].
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak
Minőségmenedzsment alapjai
Előadás másolata:

ET Erőforrás tervezés Resource Planning Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék ET Erőforrás tervezés Resource Planning 2016/17 2. félév 5. Előadás Dr. Kulcsár Gyula egyetemi docens

Tartalom Párhuzamosan működő teljesen egyenértékű erőforrások jellemzői (P modell). A feladat egzakt megoldása. A P || Cmax feladat heurisztikus megoldása. A P | di | Lmax feladat heurisztikus megoldása. A P | pi =1; ri =integer; di =integer | Lmax feladat egzakt megoldása. 𝑃 || 𝑖 𝐶 𝑖

Párhuzamosan működő teljesen egyenértékű erőforrások ütemezése

A P modell jellemzői az erőforrások teljesen egyenértékűek, az erőforrások az ütemezési időszakban folyamatosan rendelkezésre állnak, egy erőforrás egyszerre csak egy munkán dolgozhat, egy munkán egyszerre csak egy erőforrás dolgozhat, a munkák legkorábbi indítási időpontja nulla: ri = 0 (i=1, 2, …, n), minden egyes munkához egyetlen operáció tartozik, melyeknek pontosan ismert a végrehajtási ideje: pi (i=1, 2, …, n), az operációk végrehajtása nem szakítható meg.

A P modell jellemzői A megoldás (ütemterv) reprezentálása: Minden erőforrásnak saját ütemezési vektora van. A vektorok hossza megegyezik az erőforrásokhoz rendelt munkák (operációk) számával. Minden egyes vektor tartalmazza az adott erőforráson végrehajtandó munkák indítási sorrendjét.

Párhuzamosan működő erőforrások ütemezése MSPT-szabály alkalmazásával

Az ütemezés célja A munkák befejezési időpontjainak összege legyen minimális. Az ütemezési modell formális leírása: 𝑃 || 𝑖 𝐶 𝑖

Az MSPT-algoritmus

Az MSPT algoritmus Modified Shortest Processing Time, MSPT "módosított legrövidebb műveleti idejű munka előre„: Rendezzük a munkákat az SPT szabály alkalmazásával a műveleti idő szerint nemcsökkenő sorrendbe. Ezután képezzünk az erőforrások (gépek) számának megfelelő hosszú csoportokat. Az első csoport munkái az elsők rendre az egyes gépeken,  a második csoport munkái a másodikok rendre az egyes gépeken és így tovább.

Optimális megoldás Az MSPT szabály a P||∑Ci feladat optimális megoldását adja. Az állítás bizonyítása megtalálható az alábbi könyvben: Peter Brucker, Scheduling Algorithms, Springer, 2007. Megjegyzés: Vegyük észre, hogy az adott feltételek mellett a ∑Ci célfüggvény minimalizálása egyben az átlagos  átfutási időt is minimalizálja.

Illusztratív példa az MSPT-algoritmus működésére

SM1={ } SM2={ } SM3={ } J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 i 1 2 3 4 5 6 7 𝑝 𝑖 3 4 5 6 SM1={ } SM2={ } SM3={ } 7 8 9 10 M1 M2 M3 t 5 10 15 20 25 30 35

SPT: { 1, 8, 6, 4, 3, 2, 7, 5, 9, 10 } SM1={ } SM2={ } SM3={ } J1 J2 5 10 15 20 25 30 35

{ SPT: { 1, 8, 6, 4, 3, 2, 7, 5, 9, 10 } SM1={ 1 } SM2={ 8 } SM3={ 6 } J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 1 SPT: { 1, 8, 6, 4, 3, 2, 7, 5, 9, 10 } { 2 3 4 5 6 SM1={ 1 } SM2={ 8 } SM3={ 6 } 7 8 9 10 M1 M2 M3 t 5 10 15 20 25 30 35

J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 1 SPT: { 1, 8, 6, 4, 3, 2, 7, 5, 9, 10 } { { { 2 3 4 5 6 SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } 7 8 9 10 M1 M2 M3 t 5 10 15 20 25 30 35

J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 1 SPT: { 1, 8, 6, 4, 3, 2, 7, 5, 9, 10 } { { { 2 3 4 5 6 SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } 7 8 9 10 M1 M2 M3 t 5 10 15 20 25 30 35

SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } J2 J3 J4 J5 J6 J7 t 5 10 15 20 25 30 35

SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } J2 J3 J4 J5 J6 J7 t 5 10 15 20 25 30 35

SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } J2 J3 J4 J5 J7 J9 t 5 10 15 20 25 30 35

SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } J2 J3 J5 J7 J9 J10 t 5 10 15 20 25 30 35

SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } J2 J5 J7 J9 J10 2 t 5 10 15 20 25 30 35

J5 J7 J9 J10 5 SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } 7 9 10 1 4 M1 8 3 M2 6 2 M3 t 5 10 15 20 25 30 35

J5 J9 J10 5 SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } 9 10 1 4 7 M1 8 3 M2 6 2 M3 t 5 10 15 20 25 30 35

J9 J10 SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } 9 10 1 4 7 M1 8 3 5 M2 6 2 M3 t 5 10 15 20 25 30 35

J10 SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } 10 1 4 7 M1 8 3 5 M2 6 2 9 M3 t 5 10 15 20 25 30 35

SM1={ 1, 4, 7, 10 } SM2={ 8, 3, 5 } SM3={ 6, 2, 9 } 1 4 7 10 M1 8 3 5 M2 6 2 9 M3 t 5 10 15 20 25 30 35

Készlet-diagram 𝑖 𝐶 𝑖 =1+10+7+6+17+3+14+1+20+24=103 A célfüggvény értéke: N 𝑖 𝐶 𝑖 =1+10+7+6+17+3+14+1+20+24=103 10 Az átlagos készletszint értéke: 8 𝑁 𝑎 = 𝑖 𝐶 𝑖 𝐶 𝑚𝑎𝑥 = 103 24 ≈4,29 6 Na ≈ 4,29 4 2 C6 = 3 C3 = 7 C1 = C8 = 1 C4 = 6 C2 = 10 C7 = 14 C5 = 17 C9 = 20 C10 = 24 5 10 15 20 25 t

Párhuzamosan működő erőforrások ütemezése LPT+LIST algoritmus alkalmazásával

Az ütemezés célja A összes munka (halmaz) teljesítésének időpontja legyen minimális (az utolsóként elkészülő munka befejezési időpontja a lehető legkorábbi legyen). Cmax = max{C1, … , CN} Cmaxmin Az ütemezési modell formális leírása: 𝑃 || 𝐶 𝑚𝑎𝑥

Az LPT+LIST algoritmus

Az LPT+LIST algoritmus 1. fázis: Előkészítés LPT algoritmussal. Rendezzük a munkákat a műveleti idő szerint nemnövekvő sorrendbe (Longest Processing Time, LPT). Ennek az a célja, hogy először a nagyobb terhelést jelentő munkákat helyezzük el az ütemtervben, majd aztán a kisebbeket. Ennek az előnye az, hogy a menet közben viszonylag jól kiegyenlített terhelések végére ne kellejen egy nagy "kilógó" munkát beilleszteni. 2. fázis: Ütemezés LIST algoritmussal. Az LPT szerint rendezett munkákat egyesével tesszük be az ütemtervbe úgy, hogy mindig a lista elejéről a még be nem ütemezettek közül a legnagyobb műveleti idejű munkáról hozunk döntést. A soron következő munkát ahhoz a géphez rendeljük hozzá, amelyik a legkorábban felszabadul a terhelései alól. A beütemezendő munkát mindig a kiválasztott gép ütemezési vektorának a végére helyezzük el.

Heurisztikus megoldás A P||Cmax ütemezési feladat általános esetben nem oldható meg egzakt módon polinomiális futási idejű algoritmussal. Ezért heurisztikus megoldási módszert használunk, amely gyorsan előállít egy jó közelítő megoldást, de az optimális megoldást nem tudja garantálni. Az LPT+LIST heurisztikus módszer alapja: A munkák minél egyenletesebb szétosztása.

Megjegyzések Az LPT+LIST algoritmus felépítő jellegű: az ütemterv kidolgozása közben hozott döntést a későbbi döntések nem változtatják meg. Ha egy munkát hozzárendeltünk egy géphez, és beállítottuk a végrehajtási sorban a pozícióját, akkor a későbbi dontések ezt már nem változtatják meg, mert mindig a lista végére illesztjük a soron következő munkát. A feladat megoldására kereső algoritmusokat is alkalmazhatunk. (Lásd a később!)

Illusztratív példa az LPT+LIST algoritmus működésére

SM1={ } SM2={ } SM3={ } J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 i 1 2 3 4 5 6 7 𝑝 𝑖 3 4 5 6 SM1={ } SM2={ } SM3={ } 7 8 9 10 M1 M2 M3 t 5 10 15 20 25 30 35

LPT{ 5, 9, 10, 7, 2, 3, 4, 6, 1, 8 } min{ CM1, CM2, CM3 } M* SM1={ } J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 1 LPT{ 5, 9, 10, 7, 2, 3, 4, 6, 1, 8 } 2 3 4 min{ CM1, CM2, CM3 } M* 5 6 SM1={ } SM2={ } SM3={ } 7 8 9 10 CM1= 0 CM2= 0 CM3= 0 M1 M2 M3 t 5 10 15 20 25 30 35

LPT{ 9, 10, 7, 2, 3, 4, 6, 1, 8 } min{ CM1, CM2, CM3 } M* SM1={ 5 } J1 J2 J3 J4 J6 J7 J8 J9 J10 1 LPT{ 9, 10, 7, 2, 3, 4, 6, 1, 8 } 2 3 4 min{ CM1, CM2, CM3 } M* 6 SM1={ 5 } SM2={ } SM3={ } 7 8 9 10 CM1= 10 CM2= 0 CM3= 0 5 M1 M2 M3 t 5 10 15 20 25 30 35

LPT{ 10, 7, 2, 3, 4, 6, 1, 8 } min{ CM1, CM2, CM3 } M* SM1={ 5 } J1 J2 J3 J4 J6 J7 J8 J10 1 LPT{ 10, 7, 2, 3, 4, 6, 1, 8 } 2 3 4 min{ CM1, CM2, CM3 } M* 6 SM1={ 5 } SM2={ 9 } SM3={ } 7 8 10 CM1= 10 CM2= 10 CM3= 0 5 M1 9 M2 M3 t 5 10 15 20 25 30 35

LPT{ 7, 2, 3, 4, 6, 1, 8 } min{ CM1, CM2, CM3 } M* SM1={ 5 } SM2={ 9 } J1 J2 J3 J4 J6 J7 J8 1 LPT{ 7, 2, 3, 4, 6, 1, 8 } 2 3 4 min{ CM1, CM2, CM3 } M* 6 SM1={ 5 } SM2={ 9 } SM3={ 10 } 7 8 CM1= 10 CM2= 10 CM3= 10 5 M1 9 M2 10 M3 t 5 10 15 20 25 30 35

LPT{ 2, 3, 4, 6, 1, 8 } min{ CM1, CM2, CM3 } M* SM1={ 5, 7 } SM2={ 9 } J1 J2 J3 J4 J6 J8 1 LPT{ 2, 3, 4, 6, 1, 8 } 2 3 4 min{ CM1, CM2, CM3 } M* 6 SM1={ 5, 7 } SM2={ 9 } SM3={ 10 } 8 CM1= 18 CM2= 10 CM3= 10 5 7 M1 9 M2 10 M3 t 5 10 15 20 25 30 35

LPT{ 3, 4, 6, 1, 8 } min{ CM1, CM2, CM3 } M* SM1={ 5, 7 } SM2={ 9, 2 } J1 J3 J4 J6 J8 1 LPT{ 3, 4, 6, 1, 8 } 3 4 min{ CM1, CM2, CM3 } M* 6 SM1={ 5, 7 } SM2={ 9, 2 } SM3={ 10 } 8 CM1= 18 CM2= 17 CM3= 10 5 7 M1 9 2 M2 10 M3 t 5 10 15 20 25 30 35

LPT{ 4, 6, 1, 8 } min{ CM1, CM2, CM3 } M* SM1={ 5, 7 } SM2={ 9, 2 } J1 J4 J6 J8 1 LPT{ 4, 6, 1, 8 } 4 min{ CM1, CM2, CM3 } M* 6 SM1={ 5, 7 } SM2={ 9, 2 } SM3={ 10, 3 } 8 CM1= 18 CM2= 17 CM3= 16 5 7 M1 9 2 M2 10 3 M3 t 5 10 15 20 25 30 35

LPT{ 6, 1, 8 } min{ CM1, CM2, CM3 } M* SM1={ 5, 7 } SM2={ 9, 2 } J1 J6 J8 1 LPT{ 6, 1, 8 } min{ CM1, CM2, CM3 } M* 6 SM1={ 5, 7 } SM2={ 9, 2 } SM3={ 10, 3, 4 } 8 CM1= 18 CM2= 17 CM3= 21 5 7 M1 9 2 M2 10 3 4 M3 t 5 10 15 20 25 30 35

LPT{ 1, 8 } min{ CM1, CM2, CM3 } M* SM1={ 5, 7 } SM2={ 9, 2, 6 } J1 J8 1 LPT{ 1, 8 } min{ CM1, CM2, CM3 } M* SM1={ 5, 7 } SM2={ 9, 2, 6 } SM3={ 10, 3, 4 } 8 CM1= 18 CM2= 20 CM3= 21 5 7 M1 9 2 6 M2 10 3 4 M3 t 5 10 15 20 25 30 35

LPT{ 8 } min{ CM1, CM2, CM3 } M* SM1={ 5, 7, 1 } SM2={ 9, 2, 6 } J8 LPT{ 8 } min{ CM1, CM2, CM3 } M* SM1={ 5, 7, 1 } SM2={ 9, 2, 6 } SM3={ 10, 3, 4 } 8 CM1= 19 CM2= 20 CM3= 21 5 7 1 M1 9 2 6 M2 10 3 4 M3 t 5 10 15 20 25 30 35

LPT{ } min{ CM1, CM2, CM3 } M* SM1={ 5, 7, 1, 8 } SM2={ 9, 2, 6 } 10 3 4 M3 t 5 10 15 20 25 30 35

Készlet-diagram 𝐶 𝑚𝑎𝑥 =21 A célfüggvény értéke: Az átlagos készletszint értéke: 10 C5 = C9 = C10 =10 𝑁 𝑎 = 𝑖 𝐶 𝑖 𝐶 𝑚𝑎𝑥 = 161 21 ≈7,67 8 Na ≈ 7,67 C3 = 16 6 C2 = 17 C7 = 18 4 C1 = 19 C6 = C8 = 20 2 C4 = 21 5 10 15 20 25 t

Párhuzamosan működő erőforrások ütemezése EDD+LIST algoritmus alkalmazásával

Az ütemezés célja A legnagyobb késés minimalizálása Li = Ci - di Lmax = max{L1, …, Li , …, LN} = maxi { Li } Lmaxmin Az ütemezési modell formális leírása: 𝑃 | 𝑑 𝑖 | 𝐿 𝑚𝑎𝑥

Az EDD+LIST algoritmus

Az EDD+LIST algoritmus 1. fázis: Előkészítés EDD algoritmussal. Rendezzük a munkákat a határidők szerint nemcsökkenő sorrendbe (Earliest Due Date, EDD). Ennek az a célja, hogy először a korábbi határidejű munkákat helyezzük el az ütemtervben, majd aztán a későbbi határidejűeket. 2. fázis: Ütemezés LIST algoritmussal. Az EDD szerint rendezett munkákat egyesével tesszük be az ütemtervbe úgy, hogy mindig a lista elejéről a még be nem ütemezettek közül a legkorábbi határidejű munkáról hozunk döntést. A soron következő munkát ahhoz a géphez rendeljük hozzá, amelyik a legkorábban felszabadul a terhelései alól. A beütemezendő munkát mindig a kiválasztott gép ütemezési vektorának a végére helyezzük el.

Heurisztikus megoldás A P|di |Lmax ütemezési feladat általános esetben nem oldható meg egzakt módon polinomiális futási idejű algoritmussal. Ezért heurisztikus megoldási módszert használunk, amely gyorsan előállít egy jó közelítő megoldást, de az optimális megoldást nem tudja garantálni. Az EDD+LIST heurisztikus módszer alapja: Az 1|di |Lmax és a P||Cmax feladat megoldási módszerének kombinálása.

Megjegyzések Az EDD+LIST algoritmus felépítő jellegű: az LPT+LIST algoritmushoz hasonlóan. A feladat megoldására kereső algoritmusokat is alkalmazhatunk. (Lásd később!)

Párhuzamosan működő erőforrások ütemezése tartalékidő-orientált algoritmus alkalmazásával

Erőforrás-korlátos ütemezési modell A feladat jellemzői: N számú egymástól független munka: Ji (i=1, 2, …, n) legkorábbi indítási időpont (ri) legkésőbbi befejezési időpont (di) szerelő szakmunkások (erőforrások) erőforrás-rendelkezésre állást definiáló lista: kezdési időpontok szerint növekvő sorrendbe rendezett, átlapolódás nélküli fix hosszúságú időintervallum-szakaszok az időintervallumokban külön-külön előírt számú munka végezhető el cél: a határidő túllépés maximális értéke a lehető legkisebb legyen (Lmax  min)

Probléma-transzformáció Továbbfejlesztett párhuzamos gépes ütemezési feladat Az erőforrások rendelkezésre-állási időintervallumait folyamatosan, decimális egészekkel sorszámozzuk  lépések (s). A műveleti idők egységnyi értéket (lépést) vesznek fel (pi = 1). A munkák időadatait átalakítjuk lépésekre: ri  a befogadó műszakot követő műszak lépésszáma di  a befogadó műszak sorszáma A teljesítés időpontját (Ci) a befogadó műszak sorszámával kifejezett alakban keressük.

Probléma-transzformáció (folyt.) (Li = Ci - di)  a munka késését is egységnyi lépésben mérjük. Szerelő szakmunkások  párhuzamosan működő virtuális erőforrások egy erőforrás egyszerre csak egy munkán dolgozhat egy munkán egyszerre csak egy erőforrás dolgozhat a virtuális erőforrások száma lépésenként eltérő lehet: P(s) A transzformált feladat: P(s) | pi=1; ri=egész; di=egész | Lmax

Időtartalék-orientált algoritmus a P(s) | pi=1; ri=integer; di=integer | Lmax feladathoz { Rendezzük a Ji (i=1, 2, …, NJ) munkákat ri szerint nem csökkenő sorrendbe; item ← 1; while (item ≤ N) { s ← ritem; while (P(s) < 1) { s ← s + 1; if (s > smax) Kilépés megvalósítható megoldás nélkül; } R ← {Ji | Ji nem ütemezett és ri ≤ s}; mach ← 1; while (R nem üres) { Válasszuk ki a legkisebb di határidővel rendelkező Ji munkát az R-ből; R ← R \ {Ji}; Ütemezzük a Ji-t a mach.-edik gépre az s műszakban; Ci ← s; Li ← Ci - di; Ti ← max(0, Li); item ← item + 1; //folytatás a következő lapon

//folytatás if (mach + 1 ≤ P(s)) mach ← mach + 1; else { mach ← 1; s ← s + 1; while (P(s) < 1) { s ← s + 1; if (s > smax) Kilépés megvalósítható megoldás nélkül; } R ← R ∪ {Ji | Ji nem ütemezett és ri ≤ s} Visszatérés az elkészített optimális megoldással;

Eredmények Az algoritmus a Ci értékek kiszámításával egyben elő is állítja a keresett megoldást: A Ji munkát az s = Ci sorszámú műszakban kell elvégezni. Minimális késés: Lmaxmin. Polinomiális futási idő.

Illusztratív példa Ji Ri Di J1 1 J2 J3 2 3 J4 J5 J6 J7 J8 J9 s P(s) 1 J2 J3 2 3 J4 J5 J6 J7 J8 J9 s P(s) Terhelés Ütemezett munkák 4 J1 J4 J7 J8 1 2 J2 J5   3 J6 J9 J3 s=0 J1 1 J4 3 J7 J8 J9 Beütemezzük: J1, J4, J7, J8 Rendezett lista: Ri Ji Ri Di J1 1 J4 3 J7 J8 J9 J2 J5 J6 2 J3 s=1   J9 3 J2 1 J5 J6 2 Beütemezzük: J2, J5 s=2 J9 3 J6 1 2 J3 Beütemezzük: J6, J9, J3

Eredmény Ji Ri Di J1 1 J2 J3 2 3 J4 J5 J6 J7 J8 J9 Ci Li -1 Siet 1 1 J2 J3 2 3 J4 J5 J6 J7 J8 J9 Ci Li -1 Siet 1 Időben 2 -3

Az előadásvázlat elérhető az alábbi webcímen: Köszönöm a figyelmet! Az előadásvázlat elérhető az alábbi webcímen: http://ait.iit.uni-miskolc.hu/~kulcsar/serv07.htm