2. Előadás Projekt ütemezés. Solver használata. Salamon Júlia
Projekt ütemezés Számos nagy projekt tervezésekor használják a CMP (Critical Path Method - Kritikus út módszere) és a PERT (Program Evaluation and Review Technique - Program kiértékelés és áttekintés módszere) módszereket, pl. nagy szoftver rendszerek határidős kidolgozásánál, űrkutatási projektekben, vagy rakétaindítások visszaszámlálási eljárásának kidolgozásában. Mindkét eljáráshoz szükség van a projektet alkotó tevékenységek listájára. A projektet akkor tekintjük befejezettnek, ha minden részfeladata befejeződött. Minden tevékenységnek lehetnek előzményei, olyan munkafolyamatok, amelyeknek előbb be kell fejeződni ahhoz, hogy az adott tevékenység elkezdődhessen. A munkafolyamat lépéseinek ilyen összefüggését egy projekthálózattal adjuk meg. A tevékenységeket a hálózat gráfjának irányított élei definiálják, a csúcsok pedig a tevékenységek csoportjainak befejezését jelzik. A csúcsokat emiatt eseménynek is nevezzük. 2016.02.18. II. előadás 2
Kritikus út módszere, CPM A CPM módszert akkor alkalmazzák, amikor a munkafolyamat tevékenységeinek végrehajtási ideje biztosan tudható. Projekthálózat: A hálózatban az élek jelentik a tevékenységeket. A szaggatott vonallal jelölt éleket vakéleknek nevezzük, mivel ezek csak sorrendiséget mutatnak és nem jelentnek tevékenységet. A vakél időtartama 0. Egy tevékenység kezdésének legkorábbi időpontja, az az időpont, amikor minden a tevékenységet közvetlen megelőző tevékenység már befejeződött. Egy tevékenység kezdésének legkésőbbi időpontja, az a legkésőbbi időpont, amikor tevékenységet még elkezdhetjük, anélkül, hogy a projekt legkorábbi befejezési időpontját késleltetnénk. 2016.02.18. II. előadás 3
Kritikus út módszere, CPM Egy tevékenység tűrése a legkésőbbi és a legkorábbi kezdési időpontjai közötti különbség. Feltéve, hogy minden más tevékenység az ütemezés szerint zajlik, egy tevékenység tűrése megmutatja, hogy a tevékenység elvégzésében mekkora késés engedhető meg, amely még nem késlelteti a projekt legkorábbi befejezésének időpontját. Azokat a tevékenységeket, amelyek tűrése nulla kritikus tevékenységeknek nevezzük. Egy projektben a kritikus útvonal egy olyan a hálózat kezdőpontjától a befejezési pontig tartó útvonal, amelyen a tevékenységek tűrése nulla. A legkorábbi és a legkésőbbi időpontokra, a tűrésekre és a kritikus útvonalra vonatkozó információk nagyon értékesek a projektvezető számára, mert lehetővé teszik, hogy meghatározza, hol kell különleges erőfeszítéseket kifejteni ahhoz, hogy ne késsünk, és hogy felbecsülje az ütemezéshez képest végbemenő csúszások hatását. 2016.02.18. II. előadás 4
CMP - lineáris programozási feladat 2016.02.18. II. előadás 5
Idő-költség diagramon alapuló CPM módszer Gyakran előfordul, hogy a projektet hamarabb be kell fejezni, mint amennyi a kritikus út hossza. Ilyenkor pótlólagos erőforrások bevezetésével megpróbálják leszorítani a befejezési határidőt. Mindezt perszealehető legkisebb költséggel szeretnék elérni. Ilyenkor minden egyes (i, j) tevékenységhez hozzárendelünk egy idő-költség diagramot. at n ij a normális időtartamot, at c ij a gyorsított időtartam, ap n ij a normál időtartamhoz tartozó költséget p c ij a gyorsított időtartamhoz tartozó költséget jelentik. A grafikon azt mutatja meg, hogy az időtartam növekedésével hogyan esik a költség. A feladat az, hogy határozzuk meg a tevékenységek t ij [0,t n ij-t c ij] időtartamát úgy, hogy a befejezési határidő az előre ismert T időtartamnál kisebb és az összköltség pedig minimális legyen. 2016.02.18. II. előadás 6
Cél a többletköltség minimalizálása: t ij az (i,j) tevékenység normál időtartamtól eltérő többletidőtartamok. Egyes tevékenységek napi többletköltsége: Cél függvény: Korlátozó feltételek: x j a j - csúcsponthoz tartozó esemény bekövetkezésének időpontja, akkor az (i, j) élre vonatkozó feltétel: A kívánt t idő alatt szeretnénk a tevékenységet befejezni:» x n -x 1 T Előjel feltételek: 2016.02.18. II. előadás 7
Feladat Egy vállalat auditálásának első fázisában a könyvvizsgáló cégnek először meg kell tanulnia az ügyfelét. Ez a folyamat az alábbi táblázatban felsorolt tevékenységeket jelenti: Rajzoljuk meg a projekt-hálózatot, keressük meg a kritikus utat, határozzuk meg az egyes tevékenységek tűréshatárait! 2016.02.18. II. előadás 8
Tegyük fel, hogy a projektnek 30 nap alatt be kell fejeződnie. Bármelyik tevékenység hossza rövidíthető Az alábbi táblázat mutatja a normál és gyorsított időtartamokhoz tartozó költségeket euróban kifejezve. Írjuk fel a feladat lineáris programozási modelljét. 2016.02.18. II. előadás 9
Mátrixműveletek A mátrixfüggvényeknek az a különlegességük, hogy eredményük nem csak egy érték, hanem értékek egy vektora vagy mátrixa is lehet. Ezért ezen függvényeket több cellán keresztül definiálják. Egy ilyen függvény bemenetét a CTRL+SHIFT+ENTER billentyűkombinációval kell lezárni. Előtte az F2 funkcióbillentyűt kell lenyomni. Ezen függvények a Math & Trig és a Lookup & References függvénycsoportok között találhatjuk meg. 2016.02.18. II. előadás 10
Függvények mátrixokkal Függvény MDETERM(mátrix) MMULT(mátrix1;mátrix2) Leírás A mátrix determinánsát számolja ki. Két mátrix mátrix-szorzatát számítja ki. Egy nxm-es mátrix szorzata egy kxr-es mátrixszal csak akkor végezhető el ha m=k, a végeredmény egy nxr-es mátrix lesz. MINVERSE(mátrix) Egy négyzetes mátrix inverzét adja vissza eredményül. SUMPRODUCT(vekt1;vekt2) a vektorok elemeit szorozza össze elemenként, majd pedig ezen szorzatok összegét számítja ki. (skaláris szorzat) TRANSPOSE(mátrix) A mátrix transzponáltját adja eredményül. Egy nxm-es mátrix transzponáltja egy mxn-es mátrix. 2016.02.18. II. előadás 11
Lineáris egyenletrendszerek megoldása Egy A*x=b formájú egyenletrendszer az A együttható-mátrixból, a jobb oldalból (b vektorból), valamint az x megoldásvektorból áll. Az x kiszámítása az x=a -1 *b egyenlet alapján történik. Példa: Oldjuk meg a következő egyenletrendszert: x1 2x2 x3 5 3x1 x2 4 Megoldás: x1 2x3 1 A X b 1 2 1 x 1 5 3 1 0 * x 2 = 4 1 0 2 x 3 1 X A -1 *b x 1 0.636 x 2 = 2.091 x 3 0.182 2016.02.18. II. előadás 12
Egyenletrendszerek megoldása Solver paranccsal Oldjuk meg a következő két egyenletből álló, két ismeretlent tartalmazó transzcendens egyenletrendszert. Csak a pozitív megoldásokat keressük, melyre: 2 sin x y cos x 1 0 xcos y 2xy 1 0 0 xy, 5 Megoldás: Geometriailag ez két síkbeli görbe metszéspontjainak megkeresését jelenti. Csak azt a metszéspontot keressük, amelyre: 0 x 5, 0 y A D3 cellába beírjuk a =B2*COS(B3)-2*B2*B3-1 kifejezést. 5 2016.02.18. II. előadás 13
Meghívjuk a Data szalag Solver funkcióját. Solver utasítás megjelenítése a Data szalagon: Data szalag jobb klikk, Customize the Ribbon, Add-Ins menüponton belül Solver Add-in listaelem Go gomb, Solver Add-in kijelölődoboz OK gomb És az alábbi párbeszédablakot kitöltjük: Amire megkapjuk a megoldást: x=1.5171860 y=0.1637540 2016.02.18. II. előadás 14
Optimalizálási problémák Egy vállalat alma ízesítésű üdítőitalt gyárt ízesítettet-szóda és almalé kombinálásával. Egy deka ízesítettet-szóda 0.3 deka cukrot, és 2 mg C- vitamint, 1 deka almalé pedig 0.35 deka cukrot, és 5 mg C-vitamint tartalmaz. A vállalatnak 1 deka ízesítettet szóda 3 euróba kerül, 1 deka almalé pedig 5 euróba. A vállalat marketing osztálya elhatározza, hogy minden 10 dekás almalé palack legalább 25mg C-vitamint és legfeljebb 5 deka cukrot tartalmazhat. Határozzuk meg, hogy a vállalat hogyan tud eleget tenni a marketing osztály követelményeinek minimális költségek mellett. Matematikai modell: 2016.02.18. II. előadás 15
Megoldás: x 1 és x 2 változóknak adjunk kezdeti értéket, majd számoljuk ki ezen értékek mellett a célfüggvény értékét, illetve ellenőrizzük a feltételeket. 2016.02.18. II. előadás 16
Meghívjuk a Data szalag Solver funkcióját. És az alábbi párbeszédablakot kitöltjük: Amire megkapjuk a megoldást: x 1 =8.33 x 2 =1.66 A célfüggvény értéke: 33.33 2016.02.18. II. előadás 17