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 persze a lehető 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. a tnij a normális időtartamot, a tcij a gyorsított időtartam, a pnij a normál időtartamhoz tartozó költséget pcij 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 tij [0,tnij-tcij] 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: tij 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: xj 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:
» xn - x1 ≤ 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
Leírás
MDETERM(mátrix)
A mátrix determinánsát számolja ki.
MMULT(mátrix1;mátrix2)
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 2 x2 x3 5 3 x1 x2 4 x 2x 1 3 1
Megoldás:
A
b
x1
5
1
2
1
3
1
0
1
0
2
x3
X
A-1*b
x1
0.636
x2 x3
2016.02.18.
X
*
=
x2
=
4 1
2.091 0.182
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: sin x y 2 cos x 1 0 x cos y 2 xy 1 0 0 x, y 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 5
A D3 cellába beírjuk a “=B2*COS(B3)-2*B2*B3-1” kifejezést. 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:
2016.02.18.
x=1.5171860 y=0.1637540 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 Cvitamint, 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: x1 és x2 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: x1=8.33 x2=1.66 A célfüggvény értéke: 33.33 2016.02.18.
II. előadás
17