Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

ET Erőforrás tervezés Resource Planning

Hasonló előadás


Az előadások a következő témára: "ET Erőforrás tervezés Resource Planning"— Előadás másolata:

1 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

2 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. 𝑃 || 𝑖 𝐶 𝑖

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

4 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.

5 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.

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

7 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: 𝑃 || 𝑖 𝐶 𝑖

8 Az MSPT-algoritmus

9 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.

10 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.

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

12 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

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

14 { 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 Készlet-diagram 𝑖 𝐶 𝑖 =1+10+7+6+17+3+14+1+20+24=103
A célfüggvény értéke: N 𝑖 𝐶 𝑖 = =103 10 Az átlagos készletszint értéke: 8 𝑁 𝑎 = 𝑖 𝐶 𝑖 𝐶 𝑚𝑎𝑥 = ≈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

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

29 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: 𝑃 || 𝐶 𝑚𝑎𝑥

30 Az LPT+LIST algoritmus

31 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.

32 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.

33 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!)

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

35 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

36 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

37 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

38 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

39 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

40 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

41 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

42 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

43 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

44 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

45 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

46 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

47 Készlet-diagram 𝐶 𝑚𝑎𝑥 =21 A célfüggvény értéke:
Az átlagos készletszint értéke: 10 C5 = C9 = C10 =10 𝑁 𝑎 = 𝑖 𝐶 𝑖 𝐶 𝑚𝑎𝑥 = ≈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

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

49 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: 𝑃 | 𝑑 𝑖 | 𝐿 𝑚𝑎𝑥

50 Az EDD+LIST algoritmus

51 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.

52 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.

53 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!)

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

55 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)

56 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.

57 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

58 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

59 //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;

60 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ő.

61 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

62 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

63 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:


Letölteni ppt "ET Erőforrás tervezés Resource Planning"

Hasonló előadás


Google Hirdetések