A projekt határidejének valószínűségéhez ismerned kell, melyik feladat mire vár, mely munkák végezhetők egyszerre, és mely bizonytalanságok közösek. Egyetlen átlagos idő vagy a leghosszabbnak látszó feladatsor alapján könnyű túl kedvező vállalást tenni.
Az alábbi saját, szemléltető projektnek közös előkészítése, két párhuzamos munkacsomagja és közös átadása van. Mindössze nyolc lehetséges időbeli forgatókönyvet adunk meg, ezért a teljes eloszlás pontosan kiszámolható. A modellben a tízórás átadás esélye 89%; egyetlen kiválasztott ág követése 95%-ot mutatna. Ez már megváltoztatja, hogy teljesül-e egy előre megadott 90%-os vállalási cél.
Először a függőségeket írd fel
A projekt négy feladatból áll:
- A: közös előkészítés. Ennek befejezése előtt egyik munkacsomag sem indulhat el.
- B: az egyik átadandó rész elkészítése.
- C: a másik, B-től külön is elkészíthető rész. Az A előkészítés befejezése után B és C egyszerre indul, külön erőforrással.
- D: az összekapcsolás és átadás, amely B és C befejezésére egyaránt vár. Ideje rögzítetten 1 óra.
A munka a modellben megszakítás nélkül végezhető, nincs köztes várakozási idő és másik projektből származó erőforrásütközés. A teljes elkészülési idő:
T = A + max(B,C) + 1 óra.
A két teljes feladatsor hossza A + B + 1, illetve A + C + 1. A hosszabb határozza meg az elkészülést. A közös előkészítés mindkét feladatsor leírásában szerepel, de a valós projektben egyszer történik meg.
A Carnegie Mellon Egyetem projektütemezési fejezete a kritikus utat a függőségeket követő leghosszabb feladatsorhoz köti. Az alapváltozatban a feladatok sorrendi korlátai szerepelnek; az erőforrásokat külön is ellenőrizni kell.
Három bizonytalan időtartam, nyolc teljes eset
A saját példánkban a következő kétpontú eloszlásokat feltételezzük. Az esélyek a szemléltetés bemenetei, valós projektekből mért gyakoriságot nem állítanak.
| Feladat | Rövidebb idő és esélye | Hosszabb idő és esélye |
|---|---|---|
| A előkészítés | 2 óra, 80% | 5 óra, 20% |
| B munkacsomag | 4 óra, 75% | 7 óra, 25% |
| C munkacsomag | 3 óra, 60% | 6 óra, 40% |
Az A, B és C alapfeladatok időtartamát ebben az első modellben egymástól függetlennek vesszük. Egy teljes eset valószínűsége így a három megfelelő esély szorzata. Például az A = 2, B = 4, C = 3 eseté 0,80 × 0,75 × 0,60 = 36%.
| A | B | C | Az eset valószínűsége | T = A + max(B,C) + 1 | Melyik ág várakoztatja az átadást? |
|---|---|---|---|---|---|
| 2 óra | 4 óra | 3 óra | 36% | 7 óra | B |
| 2 óra | 4 óra | 6 óra | 24% | 9 óra | C |
| 2 óra | 7 óra | 3 óra | 12% | 10 óra | B |
| 2 óra | 7 óra | 6 óra | 8% | 10 óra | B |
| 5 óra | 4 óra | 3 óra | 9% | 10 óra | B |
| 5 óra | 4 óra | 6 óra | 6% | 12 óra | C |
| 5 óra | 7 óra | 3 óra | 3% | 13 óra | B |
| 5 óra | 7 óra | 6 óra | 2% | 13 óra | B |
A nyolc esély összege 100%. Minden sorban ugyanazt az A értéket használjuk mindkét ág előzményeként. A sorok teljes felsorolása ebben a kis modellben egzakt eredményt ad; nincs szimulációs mintavételi hiba.
A határidő esélyét az időben befejezett esetek adják
Az azonos befejezési időhöz tartozó eseteket összevonva:
| Befejezési idő | Pontosan ekkor készül el | Legkésőbb ekkor készül el |
|---|---|---|
| 7 óra | 36% | 36% |
| 9 óra | 24% | 60% |
| 10 óra | 29% | 89% |
| 12 óra | 6% | 95% |
| 13 óra | 5% | 100% |
A tízórás határidőbe a pontosan tíz órakor elkészült esetek is beleférnek. Az esély 36% + 24% + 29% = 89%. A késés esélye 11%.
Ha a megadott cél legalább 90%-os határidőtartás, a tíz óra kevés. A 12 órás határidő a legkisebb, amely ezt a modellben teljesíti; annak esélye 95%. Tizenegy órára emelve az esély még 89% maradna, mert a felsorolt modellben tíz és tizenkét óra között nincs befejezés.
A határidőhöz itt az eloszlásból közvetlenül azt a legkisebb időt keressük, amelyre az összegzett valószínűség eléri a célt. A két szomszédos időpont közötti automatikus interpoláció olyan vállalást is adhatna, amelyhez a tényleges összegzett esély kevés.
Az átlagos kritikus út kihagyhat késéseket
Az alapfeladatok várható időtartama:
- E(A) = 0,80 × 2 + 0,20 × 5 = 2,60 óra.
- E(B) = 0,75 × 4 + 0,25 × 7 = 4,75 óra.
- E(C) = 0,60 × 3 + 0,40 × 6 = 4,20 óra.
Az átlagokkal felrajzolt tervben a B ága hosszabb, és 2,60 + 4,75 + 1 = 8,35 óra adódik. A teljes projekt várható ideje azonban a nyolc esetből:
E(T) = 7 × 0,36 + 9 × 0,24 + 10 × 0,29 + 12 × 0,06 + 13 × 0,05 = 8,95 óra.
A 0,60 órás különbség abból ered, hogy a maximumot minden konkrét esetben újra kell választani. A várható maximum itt 5,35 óra, miközben a két várható idő maximuma 4,75 óra.
Ha bizonytalan időkkel is kizárólag az A + B + 1 feladatsort vizsgálnád, a tízórás teljesítésre 95%-ot kapnál. Ezzel kimaradna az A = 5, B = 4, C = 6 eset 6%-os esélye: B ága tíz óra alatt kész, de C miatt a projekt csak tizenkét óra alatt zárul. A teljes hálózat eredménye így 95% − 6% = 89%.
A CMU bizonytalan ütemezésről szóló fejezete külön tárgyalja az egyetlen kiválasztott kritikus útra építő becslés korlátját. Egy korábban rövidebbnek tekintett ág is meghatározhatja a tényleges elkészülést.
A saját eloszlásunkban B az esetek 70%-ában, C 30%-ában határozza meg a párhuzamos rész hosszát. A közös A és D minden esetben a kritikus út része. Ezek az arányok a megadott időmodellhez tartoznak; új időtartamokkal újra kell számolni őket.
A két teljes ág már nem független
Az alapfeladatok függetlenségéből a teljes feladatsorok függetlensége nem következik. Jelöljük a két sor befejezését R₁ = A + B + 1 és R₂ = A + C + 1 alakban. Mindkettő tartalmazza ugyanazt az A-t. Ha az előkészítés ötórásra nyúlik, mindkét sor egyszerre később indul.
A példában a közös A varianciája:
Var(A) = 0,80 × 0,20 × (5 − 2)² = 1,44 óra².
Ez a két teljes feladatsor kovarianciája is. B varianciája 1,6875 óra², C-é 2,16 óra², ezért a feladatsorok korrelációs együtthatója:
ρ = 1,44 / √[(1,44 + 1,6875) × (1,44 + 2,16)] ≈ 0,4292.
A határidőtartás esélyét ezért nem szabad a két teljes ág külön-külön kiszámolt esélyének egyszerű szorzataként kezelni. Tíz óránál R₁ megfelelő esélye 95%, R₂-é 92%. Szorzatuk 87,4% lenne, a közös előkészítést helyesen kezelő eredmény pedig 89%.
Ebben a konkrét modellben a téves szorzás alulbecsüli a teljesítési esélyt. A helyes eljárás minden esetben ugyanaz: egy forgatókönyvben egyetlen közös előkészítést szerepeltess, és annak értékét használd minden érintett ágban.
Valós projektben B és C is függhet közös körülménytől. Ilyenkor a fenti három valószínűség szorzata már az alapesetek súlyozásához sem lenne automatikusan megfelelő. Közös állapotokat vagy feltételes eloszlásokat kell felírnod. Egy korrelációs együttható önmagában nem határozza meg az összes lehetséges közös időtartam valószínűségét.
Melyik gyorsítás javítja a tízórás vállalást?
Két külön műszaki változatot vizsgáljunk meg, az esetek valószínűségeit változatlanul hagyva. A gyorsítások saját feltevések. Először az időbeli hatásukat számoljuk; a későbbi költségpélda külön, feltételezett díjakat rendel hozzájuk.
Az első változat B minden végrehajtását egy órával rövidíti: a 4 és 7 óra helyett 3 és 6 óra adódik. A második kizárólag A hosszú előkészítését javítja: az ötórás eset háromórássá válik, a kétórás eset marad.
| Vizsgált változat | Várható teljes idő | Tíz órán belüli teljesítés |
|---|---|---|
| Kiinduló modell | 8,95 óra | 89% |
| B minden esetben egy órával rövidebb | 8,25 óra | 89% |
| A hosszú esete öt helyett három óra | 8,55 óra | 95% |
B gyorsítása nagyobb átlagos időnyereséget ad, mégsem növeli a tízórás teljesítés esélyét. A korábban késő 11%-nyi eset az új változatban is tizenkét órás marad. A már határidőn belüli esetekből több korábban készül el.
A hosszú előkészítés javítása az A = 5, B = 4, C = 6 esetet tizenkét óráról tíz órára hozza előre. Ennek 6%-os valószínűsége éppen elég a 89%-ról 95%-ra javuláshoz. Az átlagos idő csökkentése és egy konkrét határidő teljesítése eltérő fejlesztési célt adhat.
Ha a vállalás feltétele legalább 90% tíz órán belül, a két vizsgált változat közül a hosszú előkészítés rövidítése teljesíti. A gazdasági összevetéshez a késés mértéke és a gyorsítás költsége is szükséges.
A késés esélye mellett annak hossza is kerülhet pénzbe
Egy külön saját költségmodellben minden, a tízórás határidőn túl töltött óra 200 000 Ft üzleti veszteséget jelent. Az ennél korábbi átadás nem ad külön jutalmat. Ez szemléltető, lineáris belső költségfeltevés, nem valós szerződés kötbérének kiszámítása. B gyorsítása projektenként 8000 Ft, a hosszú A esetet rövidítő előkészítési megoldás 50 000 Ft kiadást igényel, bármelyik forgatókönyv valósul meg.
Az alapmodellben 6% eséllyel két órát, 5% eséllyel három órát késünk. A várható késés 0,06 × 2 + 0,05 × 3 = 0,27 óra. B gyorsításánál a késő esetek mind kétórás késést adnak, összesen 11% eséllyel, tehát az átlag 0,22 óra. A hosszú előkészítés javításánál csak az esetek 5%-ában marad egy óra késés, ami 0,05 óra várható késés.
Vegyünk fel egy negyedik változatot is: a két gyorsítás együtt megvalósítható, díjuk összeadódik, és más feladatidőt vagy esélyt nem módosítanak. Ekkor A legfeljebb 3, B és C legfeljebb 6 óra. A teljes projekt maximuma 3 + 6 + 1 = 10 óra, ezért a felsorolt esetek mind beleférnek, a modell szerinti teljesítési esély 100%. Az 58 000 Ft-os közös díj mellett ebben a véges modellben nincs késési költség. Ez a nyolc feltételezett esetből következik; valós projektre általános határidő-garanciát nem jelent.
| Változat | Várható késési költség | Gyorsítás díja | Kettő együtt |
|---|---|---|---|
| Alapmodell | 54 000 Ft | 0 Ft | 54 000 Ft |
| B egyórás gyorsítása | 44 000 Ft | 8000 Ft | 52 000 Ft |
| A hosszú esetének rövidítése | 10 000 Ft | 50 000 Ft | 60 000 Ft |
| Mindkét gyorsítás együtt | 0 Ft | 58 000 Ft | 58 000 Ft |
A négy bemutatott változat közül e két költség várható összege alapján B önálló gyorsítása a legkedvezőbb. A tízórás teljesítés esélye viszont továbbra is 89%, így a kötelező legalább 90%-os feltételt nem teljesíti. A megfelelő esélyű változatok között a két gyorsítás együttes 58 000 Ft-os költsége 2000 Ft-tal kisebb, mint A önálló módosításának 60 000 Ft-ja. Ha a közös végrehajtás feltétele teljesül, ebből a négy tervből a határidő-korlát mellett az együttes változatot választjuk. Ha csak egy gyorsítás valósítható meg, A marad a megfelelő választás. A várható költség minimuma és a határidő kötelező valószínűségi korlátja külön döntési feltétel.
A hosszú előkészítés megengedhető esélye visszaszámolható
Maradjanak a kiinduló 2 és 5 órás előkészítési idők, de az ötórás eset valószínűségét jelölje q. B és C eloszlását, valamint a független alapfeladatok feltételét tartsuk meg.
Kétórás előkészítéssel minden eset belefér tíz órába. Ötórás előkészítés után csak B = 4 és C = 3 fér bele; ennek feltételes esélye 0,75 × 0,60 = 0,45. Így:
P(T ≤ 10) = (1 − q) + 0,45q = 1 − 0,55q.
A legalább 90%-os célhoz 1 − 0,55q ≥ 0,90 szükséges, vagyis q ≤ 0,10 / 0,55 ≈ 18,18%. A kiinduló 20% ezt meghaladja.
Ez megmutatja, mely becslés pontosságára érzékeny a vállalás. Ha q-ról csak annyit tudsz, hogy 10% és 30% között lehet, a tízórás teljesítés esélye a változatlan többi feltétellel 94,5% és 83,5% között mozog. Egyetlen, alátámasztatlan 20%-os bemenetből így túl határozott üzleti ígéret születhetne.
Az erőforrásütközés a teljes időképletet megváltoztatja
Tegyük fel végül, hogy B-t és C-t ugyanaz az egyetlen szakember végzi, egymást nem átfedve. Más várakozás vagy megszakítás továbbra sincs. Ekkor a két munkacsomag sorba kerül:
T = A + B + C + 1 óra.
A nyolc korábbi eset valószínűsége marad, de a befejezési idők megváltoznak. Az új eloszlás 10 óránál 36%, 13 óránál 45%, 16 óránál 17%, 19 óránál 2% valószínűséget tartalmaz. A tízórás teljesítés esélye így 36%, a várható teljes idő 12,55 óra. A legalább 90%-os célhoz ebben a modellben 16 óra kell, amelyhez 98%-os teljesítési esély tartozik.
A párhuzamos modell tizenkét órás vállalása ezért nem használható ugyanazzal az indoklással az egyetlen szakemberre átírt tervben. A kapacitáskihasználtságról szóló cikk az egyes szakemberek külön időkorlátjának ellenőrzéséhez ad további számítást.
Mit számol az eszköz, és mit kell mellé felírnod?
A Monte Carlo-kalkulátor független, egyenletes vagy háromszög-eloszlású tételeket mintáz, és azok összegét vagy maximumát képezi. Egyszerű soros vagy egyszerre induló párhuzamos feladatok vizsgálatához használható. A jelenlegi modellválaszték a cikk kétpontú eloszlásait, a közös A-t és a beágyazott A + max(B,C) + 1 szerkezetet együtt nem állítja elő automatikusan.
A két teljes ágat külön, független tételként megadva elveszne a közös előkészítés. A kétpontú időket azonos végpontú egyenletes eloszlásra cserélve pedig más valószínűségi modellt számolnál. A mostani eredmények ezért a teljes esettáblából származnak.
Saját, kis forgatókönyvtábládban minden sorhoz add meg az összetartozó feladatidőket és az együttes valószínűséget. Ellenőrizd, hogy az esetek kizárják egymást, együtt lefedik a választott modellt, súlyaik pedig egyet adnak. Számold újra a befejezést a függőségi sorrendben, majd add össze a határidőt teljesítő sorok súlyát.
Nagyobb hálózatnál ugyanez a feladatsorrend követhető szimulációban is: előbb a közös körülmények, azután a hozzájuk tartozó feladatidők, végül az ütemezés következik. A Monte Carlo-becslésről szóló bevezető a futások számának és a becslési ingadozásnak a kapcsolatát részletezi. Több futás egy hibás függőségi modellt változatlanul hagy.
A konkrét naptári határidőhöz az itt használt órákon túl a munkanapokat, műszakokat, elérhetőségeket és jóváhagyási időket is be kell építened. A szemléltető 89% a felírt nyolc eset következménye; saját vállalásodhoz a saját projektedhez igazolt feltételek szükségesek.
Módszertani források
- Carnegie Mellon University: Fundamental Scheduling Procedures, 10.2–10.3. fejezet: kritikus út, előzménykapcsolatok és az erőforráskorlátok szerepe.
- Carnegie Mellon University: Advanced Scheduling Techniques, 11.2–11.3. fejezet: változó kritikus út, összefüggő időtartamok és forgatókönyvenként újraszámolt ütemezés.
A cikk nyolcesetes eloszlása, a két gyorsítás és a 18,18%-os döntési határ saját, egzakt számítás. A közölt eredményekhez nem rendeltünk kitalált Monte Carlo-futást vagy valós projektből származó gyakoriságot.
Záró tudáspróba
Válassz kérdésenként egy választ. Ez kézzel pontozható próba: minden helyes válasz 1 pont, a hibás vagy kihagyott válasz 0 pont.
1. kérdés: A két ág közös előkészítésből indul, az átadás mindkettőre vár. Miért kevés az átlagosan hosszabb B ág 95%-os határidőtartását használni?
- A) Mert a közös előkészítést kétszer kell elvégezni.
- B) Néhány forgatókönyvben a C ág késlelteti az átadást; a teljes hálózat esélye 89%.
- C) Mert a két ág valószínűségét mindig össze kell adni.
2. kérdés: Kötelező legalább 90% esély tíz órán belül, és a két gyorsítás együtt is választható. Melyik a megadott költségek szerinti legolcsóbb megfelelő terv?
- A) A két gyorsítás együtt, 58 000 Ft várható teljes költséggel.
- B) B egyedül, 52 000 Ft-tal, bár az esély 89%.
- C) A módosítások nélkül, mert a várható idő tíz óránál rövidebb.
3. kérdés: B-t és C-t mégis ugyanaz az egyetlen szakember végzi, átfedés nélkül. Mit kell módosítani?
- A) Az időképlet A + B + C + 1 lesz; tíz órán belül csak 36% készül el.
- B) Csak a valószínűségeket kell megduplázni.
- C) A korábbi maximumképletet és a 89%-ot változatlanul hagyhatod.
Megoldások és magyarázatok
- 1. B. Az A = 5, B = 4, C = 6 eset 6%-os súlya B alapján beleférne, a teljes projekt mégis 12 órás. Ezt kell a hálózatból számolni. Ha mást választottál, ezt nézd át újra: a forgatókönyvenként változó kritikus út.
- 2. A. B önmagában az esélykorlátot nem teljesíti. A önálló megoldásának 60 000 Ft-os várható összköltségénél az együtt megvalósítható terv 2000 Ft-tal kedvezőbb. Ha mást választottál, ezt nézd át újra: a kötelező határidőesély és a gyorsítás költsége.
- 3. A. Az erőforrásütközés megszünteti a két munkacsomag párhuzamosságát. A soros időket ugyanazon nyolc állapotban újra kell összegezni. Ha mást választottál, ezt nézd át újra: a közös erőforrás miatti soros végrehajtás.
Mit jelent az eredményed?
- 0 pont: kezdd az alapösszefüggéssel: a forgatókönyvenként változó kritikus út. Számold végig a cikk kapcsolódó példáját.
- 1 pont: a két eltévesztett kérdés magyarázatához térj vissza, és írd le a megfelelő bemeneteket.
- 2 pont: a kihagyott vagy hibás kérdés témájában ellenőrizd a viszonyítási alapot és a feltételeket, majd számolj újra.
- 3 pont: a három vizsgált összefüggést helyesen alkalmaztad. Próbáld ki saját adatokkal, és a a közös erőforrás miatti soros végrehajtás rész korlátait is jegyezd fel.