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 7. Előadás Dr. Kulcsár Gyula egyetemi docens

2 Tartalom A projektütemezés alapjai.
Erőforrás-korlát nélküli projektütemezési feladatok megoldása CPM-módszerrel. Erőforrás-korlátos projektütemezési feladatok modellezése és heurisztikus megoldása.

3 Felhasznált irodalom Michael L. Pinedo: Planning and Scheduling in Manufacturing and Services. Springer, (2nd ed.), 2009

4 A projektütemezés alapjai

5 Projektütemezés Projekt: Projektütemezés:
Egy nagy, összetett, általában egyedi igény alapján előállítandó termék vagy nyújtandó szolgáltatás előállítására/teljesítésére irányú törekvés, amely általában nagyszámú komponens feladat/aktivitás végrehajtását igényli. Projektütemezés: Projekt(ek) időbeli végrehajtásának megtervezése úgy, hogy a megfogalmazott célok teljesüljenek figyelembe véve az előírt korlátozásokat.

6 Projektütemezés jellemzői
Cél: egy vagy többcélú optimalizálás, amelyben sokféle szempont szerepelhet (pl. minőség, idő, költség, felhasználói elégedettség stb.). Feladatok/aktivitások hálózata alakul ki (pl. megelőzési relációk alapján). Korlátozottan/korlátlanul rendelkezésre álló erőforrásokat kell figyelembe venni.

7 Projekt példák Termelés Tervezés Kutatás/fejlesztés Menedzsment Építés
Karbantartás, fenntartás Implementálás, telepítés stb.

8 Hierarchikus tervezés
Stratégiai erőforrás tervezés Stratégiai Nagyvonalú folyamat-tervezés Nagyvonalú kapacitás-tervezés Taktikai Részletes folyamat-tervezés Projekt-ütemezés Taktikai/ operatív RCCP: Order acceptance Detailed scheduling: van de individuele mensen Részletes ütemezés Operatív

9 Egy projekt struktúrája
Fő tevékenység Fő tevékenység Fő tevékenység RCCP Feladat Feladat Feladat Feladat Feladat Feladat Projekt-ütemezés Main Activity = werkpakket: RCCP Activity: Project scheduling RCCP: grove werkvoorbereiding Project scheduling: gedetailleerde werkvoorbereiding

10 A projektütemezés alapjai
Projekt/projektek reprezentálása (precedencia gráfok) Modellek és megoldási módszerek Kritikus útvonal módszer (egyszerű) (Critical Path Method, CPM) Erőforrás-korlátos projektütemezés (bonyolult) (Resource-Constrained Project Scheduling, RCPS) Prioritás/szabályalapú megoldási módszerek Tudás-intenzív megoldási módszerek Kiterjesztett modellek és módszerek (összetett)

11 Projekt ábrázolása „job on node” reprezentáció:
1 2 4 6 3 5 „job on arc” reprezentáció: 6 1 4 2 5 3

12 Végrehajtási idő [időegység]
Projekt ábrázolása Feladat Végrehajtási idő [időegység] Megelőző feladat(ok) 1 2 - 3 4 5 6 4, 5 7 „job on arc” reprezentáció: A gráf csúcsa állapotot jelöl: hol tart a projekt végrehajtása. Az él a feladat elvégzését jelenti. A gráf mutatja, hogy az állapotok és munkák hogyan követhetik egymást. JON: knoop = job pijl = relatie JOA: knoop = begin of einde van een job pijl = job kenmerken JOA: geen overbodige pijlen geen cykels lastig niet unieke netwerken (alleen interpretatie, niet afleiding??) LINEAIRE vs. NETWERK precedentie relaties 1 2 4 6 3 7 5

13 Projekt reprezentálása precedencia gráffal
Feladat Végrehajtási idő [időegység] Megelőző feladat(ok) 1 2 - 3 4 5 6 4, 5 7 „job on node” ábrázolás Csomópont: feladat A csomópontok számozottak. Irányított él: kötelező sorrendiség Nincs irányított körút. Nincs redundáns él. 1 2 4 6 3 5 7

14 Erőforrás-korlát nélküli projektütemezési feladatok megoldása CPM-módszerrel

15 Projektütemezési feladat erőforráskorlátok nélkül
Feltételezzük, hogy: korlátlan erőforrások állnak rendelkezésre párhuzamosan, adott n feladat megelőzési relációkkal. minden egyes feladat pj végrehajtási idejét ismertjük. Az ütemezés célja: a projekt befejezési időpontjának (makespan) minimalizálása.

16 Projektütemezési feladat erőforráskorlátok nélkül
A j feladat: végrehajtási ideje: 𝑝 𝑗 legkorábbi lehetséges kezdési időpontja: 𝑆 𝑗 ′ legkorábbi lehetséges befejezési időpontja: 𝐶 𝑗 ′ legkésőbbi megengedett befejezési időpontja: 𝐶 𝑗 ′′ időtartaléka: Kritikus feladat: nincs tartaléka Kritikus útvonal: kritikus feladatok láncolata. Forward procedure Backward procedure Slack = speling

17 Kritikus útvonal módszer (Critical Path Method, CPM)
A CPM módszer két algoritmusból áll: „Forward procedure” „Backward procedure”

18 Kritikus útvonal módszer (Critical Path Method, CPM)
Előre haladó eljárás (Forward procedure): Kezdeti időpontból indul, a precedencia gráfon végighaladva az irányított élek mentén kiszámítja minden feladat esetében a legkorábbi megengedett indítási és befejezési időpontot. Az utolsónak elkészülő feladat adja meg a projekt befejezési időpontját.

19 Előre haladó eljárás (Forward procedure)
1. lépés: Legyen t = ts (pl. ts = 0 az indítás referencia időpontja). A megelőző feladattal nem rendelkező minden egyes j feladat esetében legyen Sj’ = t és Cj’ = t + pj. 2. lépés: A megelőző feladattal rendelkező minden egyes j feladat esetében legyen induktív módon: és Cj’ = Sj’ + pj. 3. lépés: A legkorábbi projekt-befejezési időpont:

20 Kritikus útvonal módszer (Critical Path Method, CPM)
Visszafelé haladó eljárás (Backward procedure): A projekt befejezési időpontjából indul, a precedencia gráfon az irányított élek mentén visszafelé haladva kiszámítja minden feladat esetében a legkésőbbi megengedett befejezési és indítási időpontot tekintettel arra, hogy a projektbefejezési határidő még tartható legyen.

21 Visszafelé haladó eljárás (Backward procedure)
1. lépés: Legyen t = Cmax A rákövetkező feladattal nem rendelkező minden egyes j feladat esetében legyen Cj’’= Cmax és Sj’’ = Cmax - pj. 2. lépés: A rákövetkező feladattal rendelkező minden egyes j feladat esetében legyen és Sj’’ = Cj’’ - pj. 3. lépés: Ellenőrizzük, hogy 𝑆 𝑛 ′′ 𝑆 𝑛 ′′

22 Magyarázat A „forward procedure” megadja az Sj’ megengedett legkorábbi indítási időpontját minden feladatnak. A „backward procedure” megadja az Sj’’ megengedett legkésőbbi indítási időpontját minden feladatnak. Ha ezek azonosak, akkor a feladat kritikus. Ha ezek különbözőek, akkor a feladatnak van idő-tartaléka (slack). Kritikus útvonal (critical path): kritikus feladatok láncolata, amely a ts kezdési időponttól a Cmax befejezési időpontig vezet. Kritikus útvonalból egyszerre több is lehet, ezek akár részben fedhetik is egymást.

23 CPM példa 1 j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pj 2 4 7 10 1 6 9 12 14 3 11 13 5 8

24 Előre haladó eljárás j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pj 5+6=11 11+12=23 23+10=33 2 4 7 33+9=42 5 10 14+12=26 26+10=36 43+8=51 1 51+5=56 6 9 12 14 3 11 13 5+9=14 43+7=50 36+7=43 5 8 14+7=21 26+6=32 Cmax = 56 A feladatok legkorábbi befejezési időpontjainak számítása

25 Visszafelé haladó eljárás
1 2 3 4 5 6 7 8 9 10 11 12 13 14 pj 12-6=6 24-12=12 34-10=24 2 4 7 43-9=34 5-5=0 10 26-12=14 36-10=26 1 51-8=43 56-5=51 6 9 12 14 56 43-7=36 3 11 13 14-9=5 5 8 51-7=44 26-7=19 36-6=30 A feladatok legkésőbbi indítási időpontjainak számítása

26 Kritikus útvonal 2 4 7 10 1 6 9 12 14 3 11 13 5 8

27 CPM példa 2 Projekt befejezés (Sink) Projekt indítás (Source)
Feladat Műveleti idő Megelőző feladat(ok) Projekt befejezés (Sink) 2 1 Earliest completion time = earliest starting time + p(j) !!! 3 4 1 S 2 4 6 T 1 2 Projekt indítás (Source) 3 5

28 CPM példa 2 (folyt.) Kritikus feladat (Critical job):
S’+ p = C’ = C’’ = S’’+ p 2 1 3 Earliest completion time = earliest starting time + p(j) !!! 3 4 1 Jelölés: S 2 4 6 T p 3 3 7 7 8 8 8 j 1 2 S’ C’’ 3 5 6 3 8

29 Erőforrás-korlátos projektütemezési feladatok modellezése és heurisztikus megoldása

30 Erőforrás-korlátos projektütemezés Resource Constrained Project Scheduling (RCPSP)

31 Projektütemezés Erőforrás-korlátok nélkül viszonylag egyszerű.
Erőforrás-korlátokkal nagyon bonyolult: amikor a korlátozottan rendelkezésre álló erőforrások miatt bizonyos munkák (jobs) nem hajthatók végre párhuzamosan  diszjunktív élek jelennek meg a gráfban. Például: 1 4 2 5 3

32 Diszjunktív élek Tegyük fel, hogy R1=4. A következő munkák nem hajtók végre párhuzamosan: 1 & 3 3 & 6 4 & 5 5 & 6 1 CPM werkt nu niet meer! 2 4 6 diszjunktív élek 3 5

33 RCPSP n munka (job) j=1,…,n N erőforrás i=1,…,N
Rk: a k erőforrás korlátja (rendelkezésre állás) pj: a j munka (job) végrehajtási ideje Rkj: a j munka (job) igénye az k erőforrásból Pj: a j munkát (job-ot) közvetlenül megelőző munkák halmaza (predecessors).

34 RCPSP Cél: a projekt befejezési időpontjának (Cmax) minimalizálása:
Korlátozások: a T=0 időpont előtt egyetlen munka sem indíthtó a precedencia korlátozásokat be kell tartani az erőforrások kapacitása véges

35 RCPSP (példa) A munkák erőforrást igényelnek: Erőforrás-igény 6 1 2 3
4 5 6 5 4 3 2 1 1 2 3 4 5 6 7 8

36 RCPSP (példa folyt.) Tételezzük fel, hogy R1 = 4 , ekkor:
Cmax nő 2 időegységgel! 6 5 4 2 3 1 5 6 2 3 4 1 1 2 3 4 5 6 7 8 9 10

37 RCPSP (Példa 2) 4 1 2 6 5 2 Op ieder moment voor alle resources genoeg beschikbaar 3 4 2 4 6 8 10 12 2 1 3 5 2 4 6 2 4 6 8 10 12

38 Prioritási szabály alapú ütemezés (Priority-rule-based scheduling)
Generálási sémák (Generation scheme) Soros (serial) Párhuzamos (parallel) Prioritási szabályok (Priority rule) Legkésőbbi befejezési időpont (latest finish time) Minimális időtartalék (minimum slack) Generation scheme: hoe bouw ik een schedule op Priority: welke job ga ik aan het schedule toevoegen

39 Soros ütemezési módszer (Serial scheduling method)
Minden feladat egy munkát jelent  n munka (job) a kész munkák halmaza: a beütemezett munkák a döntési halmaz: azok a munkák, amelyek indíthatók (az „előfeltételeik” be vannak ütemezve) a fennmaradó munkák halmaza: a többi munka Az eljárás: 1. Készítsünk egy üres ütemtervet. 2. Válasszuk ki a legnagyobb prioritású munkát a döntési halmazból, és ütemezzük a lehető legkorábbi kezdéssel. 3. Ha a döntési halmaz nem üres, akkor folytassuk a 2. lépéssel, egyébként vége.

40 Soros ütemezési módszer Példa (#1)
Döntési halmaz Prioriteiten zijn gegeven (niet volgens bekende prioriteitsregel) 2 1 3 2 2 4 6 8

41 Soros ütemezési módszer Példa (#2)
Döntési halmaz 2 1 3 1 2 2 4 6 8

42 Soros ütemezési módszer Példa (#3)
Döntési halmaz 2 1 3 3 1 2 2 4 6 8

43 Soros ütemezési módszer Példa (#4)
2 1 3 3 1 2 2 2 4 6 8

44 Párhuzamos ütemezési módszer (Parallel scheduling method)
1. Készítsünk egy üres ütemtervet. 2. Legyen T az a legkorábbi időpont, amikor egy ütemezetlen munka indítható (az elő-feltételei teljesültek). Válogassuk ki azokat a munkákat, melyek a T időpontban indíthatók. Jelölje ezen munkák halmazát  D. 3. Ha a D halmaz nem üres, akkor válasszuk ki belőle a legnagyobb prioritású munkát. Ütemezzük a kiválasztott munkát a T indítási időpontra. Folytassuk a 2. lépéssel. 4. Ha a D halmaz üres, akkor vége.

45 Párhuzamos ütemezési módszer Példa (#1)
2 1 3 2 2 4 6 8

46 Párhuzamos ütemezési módszer Példa (#2)
1 3 1 2 2 4 6 8

47 Párhuzamos ütemezési módszer Példa (#3)
2 1 3 2 1 2 2 4 6 8

48 Párhuzamos ütemezési módszer Példa (#4)
2 1 3 2 3 1 2 2 4 6 8

49 Prioritási szabály alapú ütemezés (Priority-rule-based scheduling)
Generálási sémák (Generation scheme) Soros (serial) Párhuzamos (parallel) Prioritási szabályok (Priority rule) Legkésőbbi befejezési időpont (latest finish time) Minimális időtartalék (minimum slack) Generation scheme: hoe bouw ik een schedule op Priority: welke job ga ik aan het schedule toevoegen

50 Prioritási szabályok Legkésőbbi befejezési időpont Latest finish time (LFT): vj = - C”j Minimális időtartalék Minimum slack (MS): vj = - (C”j - pj – t*) az aktuális legkorábbi indítási időpont

51 soros ütemezési sémával (#1)
MS prioritási szabály soros ütemezési sémával (#1) Serial scheduling scheme 2 1 3 1 2 2 4 6 8

52 soros ütemezési sémával (#2)
MS prioritási szabály soros ütemezési sémával (#2) vj = - (C”j - pj – t*) 2 1 3 3 1 2 2 4 6 8

53 soros ütemezési sémával (#3)
MS prioritási szabály soros ütemezési sémával (#3) vj = - (C”j - pj – t*) 2 1 3 3 1 2 2 2 4 6 8

54 Összefoglalás A projektütemezés alapjai
Erőforrás korlát nélküli probléma CPM módszer RCPS problema Generálási sémák és prioritási szabályok Keresési algoritmusok (következő előadás) Generation scheme: hoe bouw ik een schedule op Priority: welke job ga ik aan het schedule toevoegen

55 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