• Nem Talált Eredményt

Az algoritmus

In document Beruházási modellek jellemz½oi (Pldal 86-89)

5. A költségtervezési feladat naptárasítása 73

5.3. Költséghatékonysági vizsgálaton alapuló algoritmus

5.3.3. Az algoritmus

A költséghatékonyság meghatározása.

100. De…níció. Adott ij él költséghatékonysága, melyet a továbbiakban ceij jelöl, egyenesen arányos az él költségintenzitásával (cij) valamint az él aktuális id½ohatékonyságával ( ij( ij; i)), és fordítottan arányos a rajta áthaladó feszes útvariánsok aktuális számával (varij). Tehát

ceij =cij ij( ij; i) varij

67. ábra: Költséghatékonysági vizsgálaton alapuló költségtervezési feladat algoritmusa

Ez után fel kell tenni a kérdést, hogy az így meghatározott potenciálértékek T átfutási id½on belül

vannak-e. Ha nem, akkor vissza kell térni az ütemezési adatok beállításához.

Ha ez az els½o iteráció, az azt jelenti, hogy a már jelzett legeslegkorábbi id½opontok között is létezik T -nél nagyobb. Tehát ezekkel a kiindulási adatokkal a feladatnak nincs véges megoldása.

Ha ez nem az els½o iteráció, akkor létezikxy 2A él, melynek folyamatideje az el½oz½o iteráció ered-ményeképpen növekedett és mivel az el½oz½o iterációban még minden potenciál T alatt volt, ezért a nem megfelel½o megoldást az xy él módosítása okozta. Ekkor tehát az xy él folyamatidejét le kell csökkenteni. Ha más nem változna, akkor a következ½o iteráció is az xy élt választaná ki módosításra és így egy végtelen ciklusban ragadna az algoritmus. Ezért az xy él folyamatidejét felülr½ol le kell korlátozni és maximális idejét jelen folyamatid½oben megállapítani. Ezért szükséges a bxy = xy módosítás, ahol xy természetesen már a csökkentett értéken szerepel. Ez a feladat optimális megoldásának megtalálását nem korlátozza, hiszen a folyamatid½ok csak növekedhetnek.

Ezért a következ½o iterációk során soha nem lehet olyan helyzet, ahol a korlátozás feletti folyamatid½o megengedett megoldást adna.

Ha a potenciálrendszer értékei megfelel½oek, tovább lehet lépni a kritikus utak megtalálásához. Els½oként meg kell határozni az éleken az !ij várakozási id½oket. Az éleken a várakozást az adott folyamatnak megfelel½oen kell értelmezni, ugyanis ez az érték fogja meghatározni, hogy ténylegesen mennyivel növelhet½o az adott él folyamatideje úgy, hogy a követ½o folyamatok legkorábbi kezdési id½opontja változatlan. Ezért a várakozási id½o meghatározása adij naptárvektorok alapján történik.

A várakozási id½ok alapján a hálóban a minimális út - maximális potenciál feladat segítségével meghatá-rozható akritikus útak alkotta részgráf. A megoldás során többféle már ismert algoritmus alkalmazható, ugyanis ez a feladat konstans és csak pozitív élparaméterekkel rendelkezik. Az eredményt8i2N -re a potenciálrendszer adja meg.

Ha az útkeresés során nem található egyetlen0hosszúságú út sem, az azt jelenti, hogy az ütemezésben

"szakadást" okozó kritikus hurok van. Ez a feladat szerint nem megengedett, ezért ebben az esetben az utolsó módosított él folyamatidejét - az el½oz½oekkel analóg módon - csökkenteni kell.

Ha létezik kritikus út, akkor a következ½o kérdés, hogy létezik-e a hálónak nemkritikus részgráfja, vagyis olyan élek, melyeken van nemnulla várakozási id½o. Az !ij >0 érték olyan ij éleken jelentkezik, ahol j =2 P(s; j): Ekkor P(s; i) feszes, de nem kritikus út. Az ilyen élen a folyamatid½ok lehetséges növelése csupán a bels½o tartalékid½ot csökkenti az átfutási id½o módosítása nélkül. Tehát ez közelebb viszi a megoldást az optimálishoz.

Ezen élek kiválasztásának els½o lépéseként a költséghatékonysági tényez½o egy el½ozetes értéke a kritikus élek leend½o értékeit nullára állítja be. További feltétel, hogy az élen még lehet½oség legyen a költség-csökkentésre, vagyis a folyamatid½o még növelhet½o legyen.

Ha ezen el½ozetes költséghatékonysági tényez½ok között van nemnulla érték, az azt jelenti, hogy a kritikus utakon kívül ténylegesen létezik olyan él, melyen költségcsökkentés érhet½o el, mert költségintenzitása nem nulla és folyamatideje még nem érte el a normálid½ot. Az útvariáns számítás el½okészítéséhez fel lehet venni az éleket.

Ha az ütemezésben nincs nem nulla várakozási id½o, vagy a bels½o tartalékid½ovel rendelkez½o éleken már nem lehetséges a költségcsökkentés az azt jelenti, hogy minden további költségcsökkentés csak kritikus úton lehetséges. Fontos megjegyezni, hogy ebben az esetben a fennálló és rendszer egy optimális megoldás. A költséghatékonysági tényez½o el½ozetes értékeit úgy kell beállítani, hogy csak a még növelhet½o folyamatidej½u éleknek legyen nem nulla értéke.

Az útvariáns számításhoz szükséges mátrix összeállítható. Ehhez szükség van az At élhalmazra, melyen a leend½o költségcsökkentési lehet½oségeket kell keresni, valamint a 93. jelölésnek megfelel½oen egyetlen kezd½o és záró él beiktatására.

Azútvariáns számítása 2.1.3. fejezet szerint elvégezhet½o. AzAv élhalmaz de…niálásának köszön-het½oen a vizsgált háló mindig aciklikus és összefügg½o, ezáltal mindenij 2Atélre teljesül, hogyvarij>0:

Ezután a 99. de…níciónak megfelel½oen meghatározhatók a vizsgált élekid½ohatékonysági értékei. Az értékek meghatározását célszer½u csupán aceij>0el½ozetes költséghatékonysági értékkel rendelkez½o élekre korlátozni, a többinél fel lehet venni a nulla értéket.

A kapott eredményekb½ol számíthatók a költséghatékonysági tényez½ok tényleges értékei, melyekb½ol a legnagyobb adja meg azon xyélt, melyen a folyamatid½o módosítást végre kell hajtani.

Ha a kiválasztott xy él várakozási ideje nem nulla, az azt jelenti, hogy az él folyamatidejének mó-dosítása nincs kihatással az ütemezés rendszerére. Ha xy < bxy 1 és!xy >1;akkor a folyamatid½o egységnyi változtatása után az újabb iteráció is ugyanezt az élt jelölné ki módosításra. Ezért ezen lépések helyett célszer½u a teljes rendelkezésre álló folyamatid½o növelési lehet½oséget kihasználni. A következ½o iteráció során nincs szükség az ütemezésre, hiszen az nem változik.

Ha a kiválasztott xy él várakozási ideje nulla, az azt jelenti, hogy az él valamely feszes út mentén helyezkedik el. Egységnyi módosítása minden létez½o P(y; k) útra és az azon lév½o csomópontok poten-ciálértékére kihatással van. A naptárvektorok miatt ezen potenciálok módosulása nem egységes és nem határozható meg el½ore. Egy biztos csupán, hogy a potenciálok nem csökkenhetnek. Ezen bizonytalanság miatt ebben az esetben célszer½u a folyamatid½ot csak egy egységgel növelni.

Az algoritmusnak akkor van vége, ha a hálóban már nem létezik olyan él, melynek folyamatide-jét érdemes lenne növelni a költségek csökkentése érdekében, vagyis minden él költséghatékonyságának el½ozetes értéke nulla.

In document Beruházási modellek jellemz½oi (Pldal 86-89)