Tartalom
El˝oszó I. rész
11 OPERÁCIÓKUTATÁS
1
1. Lineáris programozási feladatok 1.1. A lineáris programozás alapvet˝o fogalmai 1.2. Kétváltozós lineáris programozási feladat grafikus megoldása 1.3. Lineáris programozási feladat megoldása a WinQSB segítségével 1.4. Dualitás 1.5. A duálitás gazdasági interpretációja 1.6. Keverési feladatok 1.7. Kit˝uzött feladatok
3 3 4 8 12 21 23 34
2. Szállítási és hozzárendelési feladatok 2.1. Szállítási feladat 2.2. Hozzárendelési feladat 2.3. Kit˝uzött feladatok
45 45 52 56
3. Játékelméleti feladatok 3.1. A játékok osztályozása 3.2. Kétszemélyes nulla-összeg˝u játékok 3.3. Kétszemélyes, nem konstans-összeg˝u játékok 3.4. Az n-személyes játékok 3.5. Kit˝uzött feladatok
65 65 66 77 80 87
4. Hálózatok elemzése 4.1. Alapfogalmak 4.2. Minimális feszít˝ofa probléma 4.3. Legrövidebb út probléma 4.4. Maximális folyam probléma 4.5. Utazó ügynök probléma 4.6. Kit˝uzött feladatok
91 91 92 94 97 100 104
5. Projektek ütemezése 5.1. Kritikus út modszere, CPM 5.2. Id˝o-költség diagramon alapuló CPM módszer 5.3. Program kiértékelés és áttekintés módszere, PERT 5.4. Kit˝uzött feladatok
111 111 118 123 129
5
6
Tartalom
II. rész
GAZDASÁGI DÖNTÉSEK MATEMATIKAI MODELLEZÉSE
139
6. Komplex döntések 6.1. Döntési fák 6.2. A döntési fa elemzése a WinQSB segítségével 6.3. Bayes-féle döntési fák 6.4. Kit˝uzött feladatok
141 141 144 147 159
7. Többcélú döntéshozatal 7.1. Nemhierarchikus célprogramozás 7.2. Hierarchikus célprogramozás 7.3. Kit˝uzött feladatok
165 165 168 172
8. Hierarchikus elemz˝o módszer 8.1. Kit˝uzött feladatok
179 186
9. MEGOLDÁSOK, ÚTMUTATÁSOK 9.1. Lineáris programozási feladatok 9.2. Szállítási és hozzárendelési feladatok 9.3. Játékelméleti feladatok 9.4. Hálózatok elemzése 9.5. Projektek ütemezése 9.6. Döntési fák 9.7. Többcélú dönéshozatal 9.8. Hierarchikus elemz˝o módszer Könyvészet
191 191 201 203 208 210 214 222 227 229
OPERÁCIÓKUTATÁSI ÉS DÖNTÉSELMÉLETI PÉLDATÁR KÖZGAZDÁSZOKNAK
OPERÁCIÓKUTATÁSI ÉS DÖNTÉSELMÉLETI PÉLDATÁR KÖZGAZDÁSZOKNAK
Makó Zoltán
[email protected]
Salamon Júlia
[email protected]
El˝ oszó
A közgazdaság matematikai modelljei legnagyobb részben olyan döntési modellek, amelyek a gazdasági élet makro-, illetve mikroszintjén a vezet˝ok számára készítik el˝o a döntéshozatalt. A döntéshozatal során a vezet˝ok arra törekednek, hogy a cél érdekében a legmegfelel˝obb stratégiákat válasszák ki. Ezeknek a stratégiáknak a kiválasztásával foglalkozik az operációkutatás és a döntéselmélet. Többéves oktatási tapasztalatunk, hogy az operációkutatás valamint a közgazdasági döntések matematikai modellezése tantárgyak elsajátításában a közgazdász hallgatóknak a legnagyobb gondjuk a szövegesen megfogalmazott gazdasági, vagy döntési feladatok matematikai modelljének felírása. A matematikai modellalkotásban a készség szint kialakításához számos feladat megoldása szükséges. Ezért a példatár megszerkesztésekor a hangsúlyt a gazdasági probléma matematikai modelljének felírására és a matematikai modellekben szerepl˝o paraméterek közgazdasági jelentésének megértésére fektettük. A matematikai modell számszer˝ u megoldására a WinQSB (QSB — Quantitative Systems for Business) programcsomagot és az EXCEL táblázatkezel˝ot használtuk. A feladatgy˝ujtemény az operációkutatás és a döntéselmélet néhány fontosabb fejezetéb˝ol nyújt ízelít˝ot, és a Sapientia-EMTE közgazdasági szakjain oktatott operációkutatás és közgazdasági döntések matematikai modellezése tantárgyak felépítéseit követi. Az els˝o részben foglalkozunk az alapvet˝o lineáris programozási modellekkel, a szállítási feladatokkal, a játékelmélet alapproblémájával, a hálózatelemzési modellekkel és az ütemezési problémákkal. A második részben a széles körben alkalmazott döntési fákkal, a többcélú döntéshozatal modelljével és a hierarchikus elemz˝o módszerrel kapcsolatos feladatokat tanulmányozunk. Az egyes fejezetek a szükséges elméleti alapismeretek — mintapéldák segítségével történ˝o — rövid összefoglalásával kezd˝odnek, majd a fejezethez kapcsolódó feladattípusok tárgyalásmódját illusztráló mintapéldák következnek. Minden fejezetben bemutatjuk a WinQSB programcsomag használatát az illet˝o feladattípusra. A fejezetek végén a témakörhöz kapcsolódó kit˝ uzött feladatok találhatók. A könyv végén a legtöbb feladathoz eredményt, vagy bonyolultabb esetekben megoldási útmutatót is közlünk. A célja a közgazdász hallgatók tanulmányainak segítése. A megoldott és kit˝uzött feladatok egy része — valós adatokkal — alapötletet és elemzési módszert nyújt szakdolgozatok megírásához. Csíkszereda, 2009. január Szerz˝ok
11
12
El˝oszó
I. rész OPERÁCIÓKUTATÁS
1. fejezet Lineáris programozási feladatok
1.1.
A lineáris programozás alapvet˝ o fogalmai
A lineáris programozási feladat (LP) egy olyan optimalizálási feladat, amelyben: maximalizáljuk vagy minimalizáljuk a döntési változók egy lineáris függvényét. Ezt a maximalizálandó vagy minimalizálandó függvényt célfüggvénynek nevezzük; a döntési változók értékeinek ki kell elégíteniük a korlátozó feltételeket. Ezen a feltételek vagy lineáris egyenl˝otlenségek vagy lineáris egyenletek kell legyenek; a döntési változókhoz tartozhat el˝ojelkorlátozás is. Ha a döntési változókra pluszban kikötjük, hogy értékei egész számok, akkor egész érték˝ u lineáris programozási feladatról beszélünk. Formálisan egy LP feladat így írható fel: z = c1 x1 + c2 x2 + ... + cn xn → max (min) , a1,1 x1 + a1,2 x2 + ... + a1,n xn ≤ b1 , .. . ap,1 x1 + ap,2 x2 + ... + ap,n xn ≤ bp , ap+1,1 x1 + ap+1,2 x2 + ... + ap+1,n xn = bp+1 , .. . ap+q,1 x1 + ap+q,2 x2 + ... + ap+q,n xn = bp+q , ap+q+1,1 x1 + ap+q+1,2 x2 + ... + ap+q+1,n xn ≥ bp+q+1 , .. . a x + a x + ... + ap+q+r,n xn ≥ bp+q+r , p+q+r,2 2 p+q+r,1 1 xi ∈ Ai , i ∈ {1, 2, ..., n} ,
(LP)
ahol Ai = [ai , bi ] véges vagy Ai = [ai , +∞) vagy Ai = (−∞, bi ] vagy Ai = (−∞, +∞) végtelen hosszú intervallumok. Értelmezés. Egy LP feladat lehetséges megoldásainak halmaza az összes olyan (x1 , x2 , ..., xn ) szám n-esek halmaza, amelyek teljesítik az LP feladat összes korlátozó feltételét és az összes el˝ojelkorlátozást. Az egész érték˝u LP feladatok esetén még pluszban (x1 , x2 , ..., xn ) minden eleme egész szám kell legyen. 3
4
1. Lineáris programozási feladatok
Például a 1.1. mintapéldában az x1 = 2, x2 = 4 lehetséges megoldás mert a feladat minden feltételét teljesíti, de már az x1 = 2.5, x2 = 4 nem, mert x1 nem egész szám. Értelmezés. A maximalizálási problémában az LP feladat optimális megoldása egy olyan (x1 , x2 , ..., xn ) lehetséges megoldás, amelyikhez a legnagyobb célfüggvényérték tartozik, azaz c1 x1 + c2 x2 + ... + cn xn ≥ c1 x1 + c2 x2 + ... + cn xn bármely (x1 , x2 , ..., xn ) lehetséges megoldás esetén. Hasonló módon a minimalizálási problémában az optimális megoldás egy olyan (x1 , x2 , ..., xn ) lehetséges megoldás, amelyikhez a legkisebb célfüggvényérték tartozik, azaz c1 x1 + c2 x2 + ... + cn xn ≤ c1 x1 + c2 x2 + ... + cn xn bármely (x1 , x2 , ..., xn ) lehetséges megoldás esetén. Az LP modell segítségével nagyon sok gazdasági jelleg˝u feladat megoldható. A Fortune cím˝u üzleti újság 500 céget érint˝o felmérésében a megkérdezettek 85%-a válaszolta azt, hogy már alkalmazott lineáris programozási modellt. A fejezet további részeiben ilyen típusú feladatokat oldunk meg és t˝uzünk ki megoldásra. A lineáris programozási modellt George B. Dantzing fogalmazta meg 1947 körül, de már az 1939-es években a Leonid V. Kantorovich matematikus-közgazdász megfogalmazott és meg is oldott egy termelés tervezésével kapcsolatos lineáris programozási feladatot ([13]), de munkáit 1959-ig nem ismerték. A lineáris programozási feladat legismertebb megoldási algoritmusa a Szimplex módszer, amelyet G. B. Dantzing 1949-ben publikált ([5]). Mivel a módszer számításigénye exponenciálisan n˝o a feltételek számának növekedésével, ezért nagyon sok más módszert is kidolgoztak a lineáris programozási feladatok megoldására. Íme néhány ezek közül: az ellipszoid módszere (Khachiyan, 1979); büntet˝o függvények módszere (Iri - Imai, 1986); bels˝o pontos módszerek ( Dikin, 1967; Karmarkar, 1984; Huard, 1967; Tucker, 1956; Roos - Terlaky - Vial, 1997). Az olvasó átfogó képet kap a lineáris programozás alapvet˝o módszereir˝ol és gyakorlati alkalmazásairól a Wayne L. Winston, Operációkutatás, módszerek és alkalmazások cím˝ u könyvének els˝o kötetéb˝ol. A matematikai programozás alapvet˝o módszereinek matematikai hátterét tárja fel a Neculai Andrei három kötetes összefoglaló m˝ uve ([1], [2], [3]).
1.2.
Kétváltozós lineáris programozási feladat grafikus megoldása
Ha egy LP feladatnál csak két változó van, akkor grafikusan megoldható. A megoldási algoritmust a következ˝o mintapéldával szemléltetjük. 1.1. mintapélda (Számítógépek összeszerelése). Egy cég kéttípusú számítógép összeszerelésével foglalkozik. Az els˝o típusú számítógépet PC1-nek nevezik és darabja 50 euró profitot, a második típust PC2-nek nevezik és darabja 40 euró profitot jövedelmez. A következ˝o héten a két gép összeszerelésére 150 munkaóra áll rendelkezésre. Egy darab PC1 összeszereléséhez 3 munkaóra és egy darab PC2 összeszereléséhez pedig 5 munkaóra szükséges. A PC2 olyan speciális processzort tartalmaz, amib˝ol csak 20 darab van raktáron. A cég raktározási helysége 300 négyzetméter, amib˝ol egy PC1 8 négyzetmétert és egy PC2
1. Lineáris programozási feladatok
5
pedig 5 négyzetméter területet foglal el. A cég vezet˝osége maximalizálni szeretné a profitját. Milyen termelési tervet kövessen? Megoldás. Matematikai modell 1. A döntési változók és a mértékegységek meghatározása: x1 az összeszerelend˝o PC1 számítógépek darabszáma; x2 az összeszerelend˝o PC2 számítógépek darabszáma. 2. A célfüggvény felírása. Mivel a cél a profit maximalizálása, ezért meghatározzuk, hogy ha a cég az (x1 , x2 ) termelési tervet választja, azaz x1 darabot szerel össze a PC1-b˝ol és x2 -˝ot a PC2-b˝ol, mennyi lesz a profitja. Tudjuk, hogy 1 darab PC1 50 euró profitot eredményez. Tehát x1 darabnak 50x1 a profitja. Teljesen hasonlóan x2 darab PC2 40x2 profitot eredményez. Tehát, a teljes profit: 50x1 + 40x2 . Következésképpen a célfüggvény: z = 50x1 + 40x2 . 3. A korlátozó feltételek megadása. Az összeszerelés id˝oigényével kapcsolatos feltétel: mivel egy darab PC1 összeszereléséhez 3 munkaóra és egy darab PC2 összeszereléséhez 5 munkaóra szükséges, ezért x1 darab PC1-et és x2 darab PC2-t 3x1 + 5x2 munkaóra alatt szerelnek össze, ami nem lehet nagyobb, mint a rendelkezésre álló 150 munkaóra, vagyis 3x1 + 5x2 ≤ 150. A PC2 processzorigényével kapcsolatos feltétel: mivel csak 20 darab processzor van raktáron, ezért: x2 ≤ 20. A raktározási feltétel: mivel egy PC1 8 m2 -t és egy PC2 5 m2 -t foglal el, ezért x1 darab PC1 és x2 darab PC2 összesen 8x1 + 5x2 m2 területet igényel, ami nem lehet nagyobb, mint a rendelkezésre álló 300 m2 raktározási felület. Következésképpen: 8x1 + 5x2 ≤ 300. A döntési változókra vonatkozó el˝ojelkorlátozó feltételek: mivel az x1 és x2 darabszámokat jelölnek, ezért x1 ≥ 0, x2 ≥ 0, és x1 , x2 egész számok. Ha összegezzük az 1. 2. és 3. pontokban kapott összefüggéseket, az alábbi matematikai modellhez jutunk: z = 50x1 + 40x2 → max, 3x1 + 5x2 ≤ 150, x2 ≤ 20, (1.1) 8x1 + 5x2 ≤ 300, x1 ≥ 0, x2 ≥ 0, és x1 , x2 ∈ Z.
6
1. Lineáris programozási feladatok
1.1. ábra. A 3x1 + 5x2 ≤ 150, az x2 ≤ 20 és a 8x1 + 5x2 ≤ 300 feltételek megoldáshalmazai. A lehetséges megoldások halmazának megszerkesztése. A lehetséges megoldások halmaza ebben az esetben egy kétdimenziós tartomány a síkban. A szemléltetés érdekében tekintünk egy olyan koordinátarendszert, amelynek a vízszintes tengelyen x1 döntési változót, a függ˝oleges tengelyén pedig az x2 döntési változót vesszük fel. Az egyenl˝otlenségekkel megadott korlátozó feltételek egy félsíkot, az egyenl˝oséggel megadott feltételek pedig egy egyenest határoznak meg. A 3x1 + 5x2 ≤ 150 (1.2) feltétel egy olyan félsíkot határoz meg, amely határegyenesének egyenlete 3x1 + 5x2 = 150. Megrajzoljuk ezt az egyenest a tengelyekkel való metszéspontok segítségével. Legyen x1 = 0. Ekkor 3 · 0 + 5x2 = 150 egyenlet megoldása x2 = 30. Ha x2 = 0, akkor a 3x1 + 5 · 0 = 150 egyenlet megoldása x1 = 50. A metszéspontokat az alábbi táblázatban foglaljuk össze: x1 x2
0 30
50 0
A metszéspontokat jelöljük A (0, 30)-val és B (50, 0)-vel. Megvizsgáljuk, hogy az O (0, 0) pont a lehetséges pontokat tartalmazó félsíkhoz tartozik-e, behelyettesítve az O pont koordinátáit a (1.2) feltételbe. Mivel a 3 · 0 + 5 · 0 ≤ 150 feltétel teljesül, ezért a lehetséges megoldások halmaza az AB egyenesnek az O irányába es˝o félsíkjában van. Besatírozzuk ezt a félsíkot (az 1.1. ábra els˝o grafikonja). Az x2 ≤ 20 feltétel határegyenese az x2 = 20 vízszintes egyenes, amely a függ˝oleges tengelyt az E (0, 20) pontban metszi. Mivel 0 ≤ 20, a lehetséges megoldások halmaza az egyenes origó fel˝oli félsíkjába esik (az 1.1. ábra második grafikonja). A 8x1 + 5x2 ≤ 300 feltétel határegyenese 8x1 + 5x2 = 300. A tengelyekkel való metszéspontok C (0, 60) és D (37. 5, 0) . Mivel a 8 · 0 + 5 · 0 ≤ 300 feltétel teljesül, ezért a lehetséges megoldások halmaza a CD egyenesnek az O irányába es˝o félsíkjában van. Besatírozzuk ezt a félsíkot (az 1.1. ábra harmadik grafikonja).
1. Lineáris programozási feladatok
7
1.2. ábra. Az M lehetséges megoldáshalmaz. Ha a döntési változókra csak x1 ≥ 0, x2 ≥ 0 feltételek volnának felírva, akkor a lehetséges megoldások M halmaza a három korlátozó feltétel által meghatározott tartományok metszetének a koordináta-rendszer els˝o negyedébe es˝o része, de mivel x1 , x2 ∈ Z, a mintapélda lehetséges megoldásainak halmaza az M -beli egész koordinátájú pontokat tartalmazza (lásd a 1.2. ábrát). Ahhoz, hogy meghatározzuk az M halmazt ki kell számítsuk a három határegyenes páronkénti metszéspontjainak koordinátáit, azaz meg kell oldani a
3x1 + 5x2 = 150, , x2 = 20,
8x1 + 5x2 = 300, , x2 = 20,
3x1 + 5x2 = 150, 8x1 + 5x2 = 300
egyenletrendszereket. Az egyenletrendszerek megoldásai rendre a következ˝o metszéspontokat , 20), G(25, 20) és H(30, 12). Ha megszerkesztjük a korlátozó feltételek által adják: F ( 50 3 meghatározott (az 1.1. ábrán szemléltetett) három tartománynak a koordináta-rendszer els˝o negyedébe es˝o közös részét, akkor az M -nek az 1.2. ábrán a besatírozott részt kapjuk. Az M egy olyan poliéder, amelynek csúcspontjai: O, E, F, H, D. Az optimális megoldás keresése. Az optimális megoldás az az (x1 , x2 ) pont a lehetséges megoldások halmazából, amelyre a z = 50x1 + 40x2 célfüggvény értéke a legnagyobb. Ahhoz, hogy az optimális megoldást megtaláljuk, be kell rajzoljuk az 1.2. ábrán egy olyan egyenest, amelyen a rajta fekv˝o pontokhoz ugyanaz a z érték tartozik. Egy maximalizálási feladatban ezt az egyenest profit szintvonalnak , egy minimalizálási feladatban pedig költség szintvonalnak nevezzük. A c érték˝u szintvonal egyenlete 50x1 + 40x2 = c. A c = 0-ra megraj , 1 . zoljuk ezt az egyenest, amelynek egyik pontja az O (0, 0) , egy másik pontja pedig I − 40 50 Újabb szintvonalat úgy kapunk, hogy az OI egyenest saját magával párhuzamosan eltoljuk. Egy LP feladatnál egy bizonyos pont után a szintvonal már nem metszi a lehetséges megoldások tartományát. Bizonyítva van, ha a LP feladatnak van megoldása, akkor a legnagyobb érték˝u profit szintvonal átmegy valamely csúcsponton (teljesen hasonlóan a költség szintvonal is átmegy valamely csúcsponton). Ebb˝ol a meggondolásból az optimális megoldásokat a lehetséges megoldások halmazának csúcspontjaiban keressük. Behelyettesítve a csúcspontok koordinátáit a z célfüggvénybe, és ahol a legnagyobb értéket kapjuk az lesz az optimális megoldás (teljesen hasonlóan a minimalizálási feladatnál a z célfüggvény legkisebb értékeit keressük). A mi esetünkben a következ˝o táblázat adja meg a csúcspontok koordinátái és a
8
1. Lineáris programozási feladatok
hozzátartozó behelyettesítési értékeket: Csúcspont O E F H D
(x1 , x2 ) (0, 0) (0, 5020) 3 , 20 (30, 12) D (37. 5, 0)
z 0 800 4900 3
= 1633. 3
1980 1875
A legnagyobb értéket H pontnál kapjuk. Mivel a H pont koordinátái egész számok, ezért az x1 = 30, x2 = 12 optimális megoldás egyben az egész érték˝u mintapélda optimális megoldása is lesz. Tehát a cég maximális profitja z = 1980 és ezt akkor éri el, ha a következ˝o héten a PC1-b˝ol 30 darabot a PC2-b˝ol pedig 12 darabot szerel össze. Sajátos esetek. 1. Alternatív vagy többszörös megoldások. Ha két egymásmelletti csúcspontban optimális megoldásokat kapunk, akkor a két csúcspontot összeköt˝o szakasz minden pontja optimális pont. Ebben az esetben a szintvonal párhuzamos az optimális szakaszt tartalmazó egyenessel. 2. Nincs lehetséges megoldás. El˝ofordulhat, hogy a korlátozó feltételek és az el˝ojelkorlátozások által meghatározott tartományok metszete üres. Ekkor a LP-nek nincs megoldása. 3. Az LP feladat nem nemkorlátos. Egy maximalizálási problémában a nemkorlátos eset akkor fordul el˝o, ha a lehetséges megoldások halmazában találhatók olyan pontok, amelyekhez tetsz˝olegesen nagy z értékek tartoznak. Ez csak akkor fordulhat el˝o, ha a profit szintvonalat a növekv˝o z irányába saját magával párhuzamosan mozgatjuk, és soha nem hagyjuk el a lehetséges megoldások halmazát. Hasonlóan a minimalizálási feladatoknál, ha a költség szintvonalat a csökken˝o z irányába saját magával párhuzamosan mozgatjuk, és soha nem hagyjuk el a lehetséges megoldások halmazát. Mi az LP és egész érték˝u LP feladatokat a WinQSB programcsomag segítségével oldjuk meg. Itt nem célunk a Szimplex módszer ismertetése.
1.3.
Lineáris programozási feladat megoldása a WinQSB segítségével
1.2. mintapélda (Telefonos felmérés). Egy telefonos felmérés során egy piackutató csoportnak legalább 150 feleséggel, 120 férjjel, 100 egyedülálló feln˝ott férfival, 80 egyedülálló feln˝ott n˝ovel kell kapcsolatba lépnie. 0.9 euróba kerül egy nappali telefonhívás, és (a magasabb munkaköltség miatt) 2 euróba kerül egy esti hívás. Az alábbi táblázat azt mutatja, hogy a tapasztalatok szerint a hívások hány százalékában ki lesz a válaszoló személy: Válaszoló személy Feleség Férj Egyedülálló férfi Egyedülálló n˝ o Senki
Nappali hívások százaléka 20 20 10 20 30
Esti hívások százaléka 30 20 20 10 20
1. Lineáris programozási feladatok
9
A korlátozott létszámú személyzet miatt a hívásoknak legfeljebb a fele lehet csak esti hívás. Hogyan járjon el a piackutató csoport, hogy a felmérést minimális költséggel valósítsa meg? Megoldás. Matematikai modell 1. A döntési változók és a mértékegységek meghatározása. Cél a költségek minimalizálása. A költségek kiszámításához a hívások számát kellene ismerni. Ezért jelöljük a nappali hívások számát x1 -gyel, az esti hívások számát pedig x2 -vel. 2. A célfüggvény felírása. Mivel egy nappali hívás 0.9 euróba és egy esti hívás 2 euróba kerül, ezért a hívások összköltsége: z = 0.9x1 + 2x2 . 2. A korlátozó feltételek megadása. Az (x1 , x2 ) elosztás esetén a feleségekhez x1 ·20%+x2 ·30% hívás érkezik, ami a feltétel alapján legalább 150 kell legyen, ezért 0.2x1 + 0.3x2 ≥ 150. Hasonló meggondolás alapján a férjekre, egyedülálló férfiakra és az egyedülálló n˝okre vonatkozó hívási feltételek: 0.2x1 + 0.2x2 ≥ 120, 0.1x1 + 0.2x2 ≥ 100, 0.2x1 + 0.1x2 ≥ 80, Mivel a korlátozott létszámú személyzet miatt a hívásoknak legfeljebb a fele lehet csak esti hívás, ezért x1 + x2 x2 ≤ , 2 azaz x2 − x1 ≤ 0. A döntési változókra vonatkozó el˝ojelkorlátozó feltételek: mivel az x1 , x2 a hívások számát jelölik, ezért x1 , x ≥ 0 és x1 , x2 ∈ Z. Összegezve az 1. 2. és 3. pontokban kapott összefüggéseket, a feladat matematikai modelljére az alábbi lineáris programozási feladatot kapjuk: z = 0.9x1 + 2x2 → min, 0.2x1 + 0.3x2 ≥ 150, 0.2x1 + 0.2x2 ≥ 120 0.1x1 + 0.2x2 ≥ 100, 0.2x1 + 0.1x2 ≥ 80, x1 − x2 ≥ 0, x1 , x2 ≥ 0 és x1 , x2 ∈ Z.
A feladat megoldására a WinQSB Linear and Integer Programming eszköztárát használjuk. A feladatban a változók száma (Number of Variables) 2, a feltételek száma (Number of Constraints) pedig 5.
10
1. Lineáris programozási feladatok
1.3. ábra. A Linear and Integer Programming eszköztár kezd˝otáblája.
1.4. ábra. Az 1.2. mintapélda adattáblája. Kitöltjük a 1.3. kezd˝o táblázatot. Vigyázni kell, hogy a változókra vonatkozó el˝ojelkorlát nemnegatív egész számra (Nonnegative integer) és a célfüggvényt pedig minimalizálásra (Minimization) állítsuk: Az OK gombra kattintva betölt˝odik a feladat 1.4. adattáblája. Itt beírjuk a megfelel˝o cellákba a célfüggvény és a korlátozó feltételek együtthatóit: Az síz˝o emberke ( ) ikonra kattintva a WinQSB kiszámolja a megoldásokat és betölti az 1.5 eredménytáblát: A táblázatból kiolvasható, hogy a minimális költséget z = 900 akkor érjük el, amikor a nappali hívások száma x1 = 1000, az esti hívások száma pedig x2 = 0. Ezek az értékek a táblázat megoldások (Solution Value) oszlopából olvashatók ki. Az optimális értéket a táblázat célfüggvény (Objective Function) sora tartalmazza. Egy döntéshozó számára nagyon fontos a feltételek élességének vizsgálata valamint az árnyékárak (lásd a 1.5 paragrafust) meghatározása, amit a táblázat második része tartalmaz. Itt fel vannak sorolva a feltételek (Constraint, C1 az els˝o feltétel, C2 a második és így tovább), az optimális megoldásnak a feltételek jobb oldalába való behelyettesítési értékei (Left Hand Side), a feltétel típusa (Direction), a feltétel bal oldalának az értékei (Right Hand Side), a feltétel egyenl˝otlenség
1. Lineáris programozási feladatok
11
1.5. ábra. Az 1.2. mintapélda eredménytáblája.
1.6. ábra. A Linear and Integer Programming eszköztár grafikus kiválasztó ablaka. típusától függ˝oen a hiány- illetve a többletváltozók értékei (Slack or Surplus), az árnyékárak (Shadow Price), valamint a feltételek jobb oldalának (azaz a kapacitásoknak) azon intervalluma (Allowable Min RHS, Allowable Max RHS), amelyre a többi kapacitás megadott értéke mellett a lehetséges megoldáshalmaz nem üres. Ha a feltétel bal oldalának értéke azonos a jobb oldal értékével, azaz a hiány vagy többletváltozó értéke nulla, akkor az a feltétel éles. A mintapéldában az éles feltétel a C3, vagyis a feladat az egyedülálló férfiakra vonatkozó feltételre érzékeny. Tehát a döntéshozó a feladat C3 feltételeiben el˝oforduló együtthatók valódiságát kötelez˝o módon meg kell vizsgálja, mert a modell optimális megoldásai els˝osorban ezen értékekt˝ol függnek. Ebben a feladatban az árnyékárak y1 = 0, y2 = 0, y3 = 9, y4 = 0, y5 = 0. A WinQSB a grafikus megoldást is bemutatja, ha a 1.4 táblázatot tartalmazó menüsorból a grafikon ( ) ikont választjuk. Ebben az esetben1.6. ablakból az x1 és x2 döntési változókat kiválasztva és az OK gombra kattintva megkapjuk a lehetséges megoldások halmazát mutató 1.7. grafikont.
12
1. Lineáris programozási feladatok
1.7. ábra. Az 1.2. mintapélda lehetséges megoldásainak halmaza.
1.4.
Dualitás
Minden LP feladathoz tartozik egy másik LP feladat, amit az eredeti feladat duálisának nevezzük. Egy adott LP feladat duálisának vizsgálatakor az eredeti feladatot primálnak nevezzük. Ha a primál maximalizálási feladat, akkor a duál egy minimalizálási feladat lesz, és fordítva. Tekintjük az ún. normál maximalizálási feladatot: z = c1 x1 + c2 x2 + ... + cn xn → max, a1,1 x1 + a1,2 x2 + ... + a1,n xn ≤ b1 , .. (NMaxLP) . ap,1 x1 + ap,2 x2 + ... + ap,n xn ≤ bp , xi ≥ 0, i = 1, 2, ..., n Az (NMaxLP) feladat duálisa a w = b1 y1 + b2 y2 + ... + bp yp → min, a1,1 y1 + a2,1 y2 + ... + ap,1 yp ≥ c1 , .. . a y + a y + ... + ap,n yp ≥ cn , 1,n 1 2,n 2 yi ≥ 0, i = 1, 2, ..., p
(NMinLP)
normál minimalizálási feladat lesz, és fordítva az (NMinLP) feladat duálisa az (NMaxLP) feladat. Mátrixos alakban a két feladat így írható: z = c · x → max, A·x ≤ b, (NMaxLP) x ≥ 0,
1. Lineáris programozási feladatok
és
w = y · b → min, y·A ≥ cT , y ≥ 0,
ahol
13
(NMinLP)
c = [c1 , c2 , ..., cn ] , y = [y1 , y2 , ..., yp ] ,
x=
x1 x2 .. . xn
, b =
b1 b2 .. . bp
, A =
a1,1 a1,2 · · · a1,n a2,1 a2,2 · · · a2,n .. .. .. .. . . . . ap,1 ap,2 · · · ap,n
.
A primál és duál feladatok között az alábbi összefüggések írhatók fel: 1. Gyenge dualitás tulajdonság: Ha x a primál feladat egy lehetséges megoldása, y pedig a duál feladat egy lehetséges megoldása, akkor c · x ≤ y · b. 2. Er˝ os dualitás tulajdonság: Ha x∗ a primál feladat egy optimális megoldása, y∗ pedig a duál feladat egy optimális megoldása, akkor: c · x∗ = y∗ ·b. 3. Kiegészít˝ o megoldások tulajdonsága: A szimplex módszer minden egyes iteráció során egyidej˝uleg meghatározza a primál feladat egy x lehetséges csúcspont megoldását és a duál feladat egy y kiegészít˝o megoldását, ahol c · x = y · b. Ha x nem optimális a primál feladatban, akkor y nem lehetséges megoldás a duál feladatban és fordítva. 4. Kiegészít˝ o optimális megoldások tulajdonsága: A szimplex módszer az utolsó iteráció során egyidej˝uleg meghatározza a primál feladat egy x∗ optimális megoldását és a duál feladat egy y∗ kiegészít˝o optimális megoldását, ahol c · x∗ = y∗ ·b. 5. Szimmetria tulajdonság: Egy tetsz˝oleges primál feladat és a duál feladat közötti összefüggések mindig szimmetrikusak, mert a duál feladat duálja éppen a primál feladat. 6. Korlátossági tulajdonság: Ha a primál feladat célfüggvénye nem korlátos, akkor a duál feladatnak nincs lehetséges megoldása. Ha pedig a duál feladat célfüggvénye nem korlátos, akkor a primál feladatnak nincs lehetséges megoldása. A gyenge és er˝os dualitási tulajdonságoknak egyik fontos alkalmazása lehet a primál feladat megoldásának ellen˝orzése azaz, ha megoldjuk a primál feladatot és a duál feladatot is, akkor az optimális célfüggvényértékek egyenl˝oek kell legyenek (z ∗ = c · x∗ = y∗ ·b = w∗ ).
14
1. Lineáris programozási feladatok
A kiegészít˝o megoldások tulajdonságainak egyik legfontosabb alkalmazása a duál szimplex módszer ([1] ). Egy másik érdekes alkalmazás az árnyékárak meghatározása. Ezt ismertetjük a következ˝o paragrafusban. 1.3. mintapélda. Írjuk fel a z = 50x1 + 40x2 → max, 3x1 + 5x2 ≤ 150, x2 ≤ 20, 8x1 + 5x2 ≤ 300, x1 ≥ 0, x2 ≥ 0
LP feladat mátrixos formáját és duálisát. Megoldás. Ebben a feladatban c = [50, 40] 150 3 5 x1 x= , b = 20 , A = 0 1 . x2 300 8 5
Mivel három korlátozó feltétel van, ezért a duális feladat döntési változója egy 3 elem˝ u y = [y1 , y2 , y3 ] vektor. A (NMinLP) alapján, a duál feladat mátrixos felírása w = y · b → min, y·A ≤ cT , y ≥ 0.
Behelyettesítve és a mátrixszorzásokat elvégezve a w = 150y1 + 20y2 + 300y3 → min, 3y1 + 8y3 ≥ 50, 5y1 + y2 + 5y3 ≥ 40, y1 , y2 , y3 ≥ 0.
keresett duál feladat kapjuk. Nagyon sok LP feladat nincs normál alakban megadva. Ebben az esetben a feladatot normál alakba kell átalakítani, majd utána lehet a duálisát felírni . Egy maximalizálási feladat normál alakra hozásához a következ˝o lépéseket kell betartani: 1. lépés Ha valamelyik döntési változóra az xi ≥ a feltétel van megadva, akkor a feladatban az xi = xi + a változócserét hajtjuk végre. Ha pedig valamelyik döntési változóra az xi ≤ a feltétel van megadva, akkor a feladatban az xi -t az xi = a − xi helyettesítjük. El˝ofordulhat az az eset is, hogy valamelyik xi döntési változóra nincs megadva semmilyen el˝ojelkorlátozó feltétel. Ebben az esetben xi = xi − xi (ahol xi , xi ≥ 0) változócserével a feladat normál alakra hozható. 2. lépés A ≥ korlátozó feltétel mindkét oldalát szorozzuk −1-gyel. 3. lépés Mindegyik egyenl˝oség alakú korlátozó feltételt két egyenl˝otlenséggel ( egy ≤ és egy ≥ ) helyettesítjük, majd a ≥ feltételt mindkét oldalát szorozzuk −1-gyel. Egy minimalizálási feladat normál alakra hozásához pedig a következ˝o lépések szükségesek:
1. Lineáris programozási feladatok
15
1. lépés Azonos a maximalizálási feladatnál leírt 1. lépéssel. 2. lépés A ≤ korlátozó feltétel mindkét oldalát szorozzuk −1-gyel. 3. lépés Mindegyik egyenl˝oség alakú korlátozó feltételt két egyenl˝otlenséggel ( egy ≤ és egy ≥ ) helyettesítjük, majd a ≤ feltételt mindkét oldalát szorozzuk −1-gyel. 1.4. mintapélda (Zöldségleves el˝ oállítása). Egy élelmiszeripari cég a zöldségleves el˝oállításához négy féle alapanyagot használ: zöldségek, hús, víz, aromák. A zöldségleves elkészítésekor be kell tartsák az alábbi szabályokat: a leveshez felhasznált zöldségek össztömege nem haladhatja meg a leves tömegének felét; a víz/hús arány pontosan 8/1; a leveshez használt hús tömege a leves tömegének 5% és 6% között kell legyen; az aromák mennyisége nem lehet több mint 10 gramm. Az alapanyagok beszerzési árai: 1 kilógramm zöldség 1.2 euró, 1 kilógramm hús 8.1 euró, 1 liter víz 0.06 euró és 1 kilógramm aroma 8.5 euró. Alakítsuk a kapott LP modellt normál alakra és írjuk fel duálisát. A cég vezet˝osége milyen termelési tervet válasszon, hogy az 500 grammos kicsomagolású zöldséglevest a lehet˝o legkisebb költséggel állítsa el˝o? Megoldás. Matematikai modell 1. A döntési változók és a mértékegységek meghatározása. A cég vezet˝oségének célja a költségek minimalizálása. Mivel az összetev˝ok a zöldségek, a hús, a víz és az aromák, ezért azt kell eldönteniük, hogy az egyes alapanyagokból mekkora mennyiséget használjanak ahhoz, hogy költség minimális legyen. Jelöljük az alapanyagok mennyiségét az alábbiak szerint: x1 x2 x3 x4
-
az az az az
egy egy egy egy
csomag csomag csomag csomag
zöldséglevesben zöldséglevesben zöldséglevesben zöldséglevesben
lev˝o lev˝o lev˝o lev˝o
zöldség mennyisége grammban kifejezve; hús mennyisége grammban kifejezve; víz mennyisége grammban kifejezve; aromák mennyisége grammban kifejezve.
2. A célfüggvény felírása. Feladatunk, hogy meghatározzuk, ha egy csomag leves x1 gramm zöldséget, x2 gramm húst, x3 gramm vizet és x4 gramm aromát tartalmaz, mennyi lesz a csomag leves el˝oállításának költsége. Tudjuk, hogy 1 gramm zöldség 0.0012 euró. Tehát x1 gramm zöldség 0.0012x1 euró. Teljesen hasonlóan x2 gramm hús 0.0081x2 , x3 gramm víz 0.00006x3 és x4 gramm aroma 0.0085x4 euró lesz. Az összköltség 0.0012x1 + 0.0081x2 + 0.00006x3 + 0.0085x4 . Tehát a célfüggvény: z = 0.0012x1 + 0.0081x2 + 0.00006x3 + 0.0085x4 . 3. A korlátozó feltételek megadása. A zöldségek mennyiségére vonatkozó feltétel: x1 ≤ 250. A víz hús arányra vonatkozó feltétel: x3 8 = . x2 1
16
1. Lineáris programozási feladatok
A hús tömegére vonatkozó feltétel: mivel a leves tömege 500 gramm, ezért a feltétel alapján a hús tömege a leves tömegének 5% és 6% között kell legyen, azaz 500 · 5% ≤ x2 ≤ 500 · 6% vagyis 0.05 · 500 ≤ x2 ≤ 0.06 · 500. Az aromákra vonatkozó feltétel: x4 ≤ 10. Az összmennyiségre vonatkozó feltétel: x1 + x2 + x3 + x4 = 500. A döntési változókra vonatkozó el˝ojelkorlátozó feltételek: mivel az x1 , x2 , x3 , x4 pozitív mennyiségek tört értékeket is felvehetnek, ezért x1 , x2 , x3 , x4 ≥ 0. Összegezve a feltételeket, az alábbi matematikai modellhez jutunk: z = 0.0012x1 + 0.0081x2 + 0.00006x3 + 0.0085x4 → min, x1 ≤ 250, 8x2 − x3 = 0, x2 ≤ 30, x2 ≥ 25, x4 ≤ 10, x1 + x2 + x3 + x4 = 500, x1 , x2 , x3 , x4 ≥ 0.
(1.3)
A duális feladat felírásához normál alakra kell hozzuk az (1.3) minimalizálási LP feladatot. Mivel mindegyik döntési változó el˝ojelkorlátja teljesíti a normál feladat feltételeit, a 2. lépés alapján az 1. 3. és 5. feltételek mindkét oldalát szorozzuk −1-el és a 3. lépés alapján a 2. és 6. feltételeket két feltételre bontjuk és a ≤ feltételek mindkét oldalát szorozzuk −1-gyel. Ezzel az átalakításokkal a következ˝o normál minimalizálási feladathoz jutunk z = 0.0012x1 + 0.0081x2 + 0.00006x3 + 0.0085x4 → min, −x1 ≥ −250, 8x2 − x3 ≥ 0, −8x 2 + x3 ≥ 0, −x2 ≥ −30, (1.4) x2 ≥ 25, −x4 ≥ −10, x1 + x2 + x3 + x4 ≥ 500, −x 1 − x2 − x3 − x4 ≥ −500, x1 , x2 , x3 , x4 ≥ 0.
Ebben a feladatban
c=
0.0012 0.0081 0.00006 0.0085
,
1. Lineáris programozási feladatok
x=
−250 0 0 x1 −30 x2 , b = , A = x3 25 −10 x4 500 −500
17
−1 0 0 0 0 8 −1 0 0 −8 1 0 0 −1 0 0 . 0 1 0 0 0 0 0 −1 1 1 1 1 −1 −1 −1 −1
A duál feladat meghatározását megkönnyíti a feladat alábbi táblázatos felírása y1 y2 y3 y4 y5 y6 y7 y8 c
x1 −1 0 0 0 0 0 1 −1 0.0012
x2 0 8 −8 −1 1 0 1 −1 0.0081
x3 0 −1 1 0 0 0 1 −1 0.00006
x4 0 0 0 0 0 −1 1 −1 0.0085
b −250 0 0 −30 25 −10 500 −500
A táblázat els˝o sora a primál feladat xi , els˝o oszlopa pedig a duál feladat yi döntési változóit tartalmazza. Az utolsó sorban a célfüggvény ci együtthatóit, az utolsó oszlopba pedig a feltételek jobb oldalán szerepl˝o kapacitás korlátoknak nevezett bi számokat írjuk be. A közbels˝o részbe a technológiai mátrixnak nevezett A mátrix együtthatóit tüntetjük fel. Figyelembe véve a primál feladat normál alakjának feltételeit, ha az x vektor sorát szorozzuk skalárisan a többi sorral, visszakapjuk a primál feladatot. Például, ha az els˝o feltételt akarjuk visszakapni, akkor az x vektor sorát szorozzuk skalárisan a második sorral: (x1 , x2 , x3 , x4 ) · (−1, 0, 0, 0) = −1x1 + 0x2 + 0x3 + 0x4 = −x1 és tudva azt, hogy minimalizáló normál feladatról van szó, azaz a feltétel ≥ típusú, kapjuk −x1 ≥ −250. Hasonlóképpen, amikor az y oszlop elemeit szorozzuk a többi oszlop megfelel˝o elemeivel, majd ezeket összegezzük és felírjuk a duálisra jellemz˝o feltételeket, akkor az alábbi duál feladathoz jutunk w = −250y1 + 0y2 + 0y3 − 30y4 + 25y5 − 10y6 + 500y7 − 500y8 → max, −y1 + y7 − y8 ≤ 0.0012, 8y2 − 8y3 − y4 + y5 + y7 − y8 ≤ 0.0081, (1.5) −y2 + y3 + y7 − y8 ≤ 0.00006, −y6 + y7 − y8 ≤ 0.0085, y1 , y2 , y3 , y4 , y5 , y6 , y7 , y8 ≥ 0.
Ha a kiemelések után a w = −250y1 + 0 (y2 + y3 ) − 30y4 + 25y5 − 10y6 + 500 (y7 − y8 ) → max, −y1 + (y7 − y8 ) ≤ 0.0012, 8 (y2 − y3 ) − y4 + y5 + (y7 − y8 ) ≤ 0.0081, − (y2 − y3 ) + (y7 − y8 ) ≤ 0.00006, −y6 + (y7 − y8 ) ≤ 0.0085, y1 , y2 , y3 , y4 , y5 , y6 , y7 , y8 ≥ 0.
18
1. Lineáris programozási feladatok
feladatban bevezessük az y2 − y3 = y2 ∈ R és y7 − y8 = y7 ∈ R jelöléseket, akkor a (1.5) feladat így is felírható: w = −250y1 − 30y4 + 25y5 − 10y6 + 500y7 → max, −y1 + y7 ≤ 0.0012, 8y2 − y4 + y5 + y7 ≤ 0.0081, (1.6) −y2 + y7 ≤ 0.00006, −y6 + y7 ≤ 0.0085, y1 , y3 , y4 , y5 , y6 ≥ 0.
Ez a nem normált alak a primál feladatból az egyenl˝oségek átalakítása nélkül is megkapható. Ennek érdekében készítsük el az el˝obb bemutatott táblázatot a primál feladat alábbi alakjára z = 0.0012x1 + 0.0081x2 + 0.00006x3 + 0.0085x4 → min, −x1 ≥ −250, 8x 2 − x3 = 0, −x2 ≥ −30, (1.7) x2 ≥ 25, −x4 ≥ −10, x1 + x2 + x3 + x4 = 500, x1 , x2 , x3 , x4 ≥ 0. A táblázatban az egyenl˝oségnek megfelel˝o sorokhoz tartozó döntési változókat csillaggal jelöljük: y1 y2∗ y3 y4 y5 y6∗ c
x1 −1 0 0 0 0 1 0.0012
x2 0 8 −1 1 0 1 0.0081
x3 0 −1 0 0 0 1 0.00006
x4 0 0 0 0 −1 1 0.0085
−250 0 −30 25 −10 500
Tehát, a duál feladat w = −250y1 − 30y3 + 25y4 − 10y5 + 500y6 → max, −y1 + y6 ≤ 0.0012, 8y2 − y3 + y4 + y6 ≤ 0.0081, −y2 + y6 ≤ 0.00006, −y5 + y6 ≤ 0.0085, y1 , y3 , y4 , y5 ≥ 0.
(1.8)
Amint látható visszakaptuk a duális (1.6) alakját, de mivel az y2 és y6 sorokhoz tartozó feltételek egyenl˝oségek voltak, ezért nem tartozik az y2 -höz és y6 -hoz el˝ojelkorlát. Ezek a döntési változok bármilyen értéket felvehetnek. Az itt bemutatott primál-duál transzformációt a WinQSB Linear and Integer Programming eszköztára is el tudja végezni. Ennek érdekében a WinQSB kezd˝o táblázatában megadjuk a primál feladat változóinak (Number of Variables) és feltételeinek (Number of Constraints) a számát és a célfüggvényt pedig minimalizálásra (Minimization) állítsuk:
1. Lineáris programozási feladatok
19
1.10. ábra. A zöldségleves elkészítése mintapélda eredméntáblája.
1.8. ábra. A zöldségleves elkészítése mintapélda kezd˝otáblája. Majd az OK-ra kattintva megjelenik a feladat adattáblája, amit a célfüggvény és a korlátozó feltételek együtthatóival töltünk ki:
1.9. ábra. A zöldségleves elkészítése mintapélda adattáblája. Az síz˝o emberke ( ) ikonra kattintva a WinQSB kiszámolja a megoldásokat és betölti az 1.10. eredménytáblázatot:A táblázat optimális megoldások (Solution Value) oszlopból kiolvasható, hogy x1 = 230, x2 = 30, x3 = 240, x4 = 0. a célfüggvény értéke (Objective Function (Min.)=) z = 0.5334. A táblázat feltételekre (Constraint) vonatkozó részéb˝ol kiolvasható, hogy az éles feltételek második, harmadik és a hatodik feltétel, mivel ezen sorokban a többlet és a hiányváltozók (Slack or Surplus) értékei nullák. El˝ojelt˝ol eltekintve a duális
20
1. Lineáris programozási feladatok
1.11. ábra. A zöldségleves elkészítése mintapélda duálisának adattáblája.
1.12. ábra. A zöldségleves elkészítése mintapélda duálisának eredménytáblája. feladat megoldásainak értékeit tartalmazza az árnyékárak (Shadow Price) oszlop: C1 = 0, C2 = 0.0011, C3 = −0.0022, C4 = 0, C5 = 0, C6 = 0.0012, a duális feladat célfüggvényének optimális értéke pedig w = z = 0.5334. Ha az ( ) ikonra kattintunk visszajutunk a primál feladat adattáblájához. Itt a Format menüpontból kiválasztva a Válts Duál Alakra (Switch to Dual Form) parancsot a WinQSB elkészíti a duál feladat 1.11. adattábláját:A táblázatban a duál feladat döntési változói Ckkel, a feltételek X-el és a ∞ pedig M -mel van jelölve. Tehát az adattábla alapján a duál feladat w = 250C1 + 30C3 + 25C4 + 10C5 + 500C6 → max, C1 + C6 ≤ 0.0012, 8C2 + C3 + C4 + C6 ≤ 0.0081, (1.9) C2 + C6 ≤ 0.00006, C5 + C6 ≤ 0.0085, C1 ≤ 0, C3 ≤ 0, C4 ≥ 0, C5 ≤ 0.
Az y1 = −C1 , y2 = C2 , y3 = −C3 , y4 = C4 , y5 = −C5 , y6 = C6 helyettesítésekkel visszakapjuk a (1.8) duál feladatot. A (1.9) feladat optimális megoldásait tartalmazó 1.12. táblázat: Innen kiolvashatók a megoldások: C1 = 0, C2 = 0.0011, C3 = −0.0022, C4 = 0, C5 = 0, C6 = 0.0012. Ezek az értékek azonosak az el˝obbiekben az árnyékárak oszlopából leolvasott értékekkel. Alkalmazva az y1 = −C1 , y2 = C2 , y3 = −C3 , y4 = C4 , y5 = −C5 , y6 = C6 jelöléseket a (1.8) duál feladat megoldásai: y1 = 0, y2 = 0.0011, y3 = 0.0022, y4 = 0, y5 = 0, y6 = 0.0012. A duális feladat célfüggvényének optimális értéke w = z = 0.5334. Látható, hogy a táblázat árnyékárainak oszlopa a primál feladat megoldásait tartalmazza. Összegezésként elmondhatjuk, hogy a primál feladat árnyékárai azonosak a dul feladat optimális megoldásaival és fordítva, a duál feladat árnyékárai megegyeznek a primál feladat
1. Lineáris programozási feladatok
21
optimális megoldásaival. Ezt a duális kapcsolatot tárgyaljuk a következ˝o paragrafusban és megadjuk az árnyékárak gazdasági jelentését.
1.5.
A duálitás gazdasági interpretációja
A dualitás gazdasági jelentését az alábbi példa segítségével szemléltetjük. 1.5. mintapélda (Tejtermékek). Egy tejtermékeket gyártó üzem vajat és túrót állít el˝o. A termékek el˝oállításához magas zsírtartalmú és alacsony zsírtartalmú tejet használnak. A vaj el˝oállításához 60%-ban magas zsírtartalmú tejet és 40%-ban alacsony zsírtartalmú tejet, a túró el˝oállításához pedig 40%-ban magas és 60% alacsony zsírtartalmú tejet használnak. A gyártási technológiája során a tej 10%-a marad a vajban és 15% marad a túróban. A vaj profitja kilógrammonként 1.5 euró a túróé pedig 1.2 euró. Az üzemnek hetenként 1000 kg magas zsírtartalmú és 800 kg alacsony zsírtartalmú tej áll rendelkezésre. A vajból bármilyen mennyiséget el tud adni, a túróból pedig hetente maximálisan csak 180 kg adható el. a. Írjuk fel a feladat lineáris programozási modelljét. b. Milyen termelési tervvel maximalizálható a profit? c. Írjuk fel a feladat duálisát. d. Határozzuk meg a duál feladat optimális megoldását. e. Gazdaságilag értelmezzük a duál feladat optimális megoldását? Megoldás. a. Matematikai modell 1. Feladatunk, annak eldöntése, hogy az üzem milyen termelési tervvel maximalizálhatja profitját. A profit a vaj és a túró eladásából származik. Tehát a termelési terv az egyes termékekb˝ol egy hét alatt gyártott mennyiségeket jelöli: ahol x1 az el˝oállított vaj mennyisége kg-ban kifejezve és x2 az el˝oállított túró mennyisége kg-ban kifejezve; 2. A célfüggvény felírása. Mivel 1 kg vaj 1.2 euró profitot eredményez, ezért x1 kilógrammnak a profitja 1.5x1 . Hasonlóan, a túró x2 kilógrammjának a profitja 1.2x2 . Tehát az összprofit: z = 1.5x1 + 1.2x2 . 3. A korlátozó feltételek megadása. Jelöljük L-lel a vajhoz szükséges tejmennyiséget. Mivel a tej 10% marad a vajban, ezért x1 = L · 10% = 0.1L. Az L két részb˝ol tev˝odik össze magas és alacsony zsírtartalmú tejb˝ol. Jelöljük ezeket u1 -gyel és u2 -vel. Mivel a vajhoz 60%-ban magas zsírtartalmú tejet és 40%ban alacsony zsírtartalmú tejet használnak, ezért u1 = L·60% = 0.6L és u2 = L·40% = 0.4L. Összefoglalva: x1 = 6x1 , 0.1 x1 = 0.4L = 0.4 = 4x1 . 0.1
u1 = 0.6L = 0.6 u2
(1.10)
Teljesen hasonlóan járunk el a túró esetén is. Ebben az esetben jelöljük v1 -gyel és v2 -vel a túróhoz szükséges tejmennyiségeket. Ekkor x2 8 = x2 , 0.15 3 x2 = 0.6 = 4x2 . 0.15
v1 = 0.4 v2
(1.11)
22
1. Lineáris programozási feladatok
1.13. ábra. A tejtermékek mintapélda lehetséges megoldásainak halmaza. Mivel az üzemnek 1000 kg magas zsírtartalmú tej áll rendelkezésre, ezért u1 +v1 ≤ 1000, azaz 6x1 + 38 x2 ≤ 1000. Hasonlóan az alacsony zsírtartalmú tejre vonatkozó feltétel: u2 +v2 ≤ 800, azaz 4x1 + 4x2 ≤ 800. Mivel a túróból hetente maximálisan csak 180 kg adható el, ezért x2 ≤ 180. A döntési változókra vonatkozó el˝ojelkorlátozó feltételek: x1 , x2 ≥ 0. Tehát a matematikai modell: z = 1.5x1 + 1.2x2 → max, 6x1 + 38 x2 ≤ 1000, 4x1 + 4x2 ≤ 800, x2 ≤ 180, x1 , x2 , x3 , x4 ≥ 0.
b. A WinQSB grafikus módszerét alkalmazva, az 1.13. ábrán bemutatott lehetséges megoldáshalmazt kapjuk Az optimális megoldás: x1 = 140 kg, x2 = 60 kg. Az optimális profit: zmax = 282 euró. c. Az el˝oz˝o példában leírtak szerint a táblázat: y1 y2 y3 c
A duál feladat
x1 6 4 0 1.5
x2 8/3 4 1 1.2
1000 800 180
w = 1000y1 + 800y2 + 180y3 → min, 6y1 + 4y2 ≥ 1.5, 8 y + 4y2 + y3 ≥ 1.2, 3 1 y1 , y2 , y3 ≥ 0.
(1.12)
1. Lineáris programozási feladatok
23
d. Ha a WinQSB-t használjuk, akkor a duál feladat megoldásai leolvashatók az optimális eredményeket tartalmazó táblázat árnyékárak (Shadow Price) oszlopából, azaz: y1 = 0.09, y2 = 0.24, y3 = 0. Az optimális érték: wmin = 282 (= zmax ). e. Tegyük fel az üzem el akarja adni a nyersanyagkészletét, és döntenie kell, hogy mennyiért éri meg eladni a magas és alacsony zsírtartalmú tejet, hogy legalább akkora nyeresége legyen mint a vaj és a túró el˝oállításából. Legyenek y1 valamint y2 az 1 kg magas illetve alacsony zsírtartalmú tejért kért eladási árak euróban kifejezve. Ekkor az összesített ár w¯ = 1000y1 + 800y2 . Mivel az üzemet az alsó korlát érdekli, ezért a célja w ¯ = 1000y1 + 800y2 → min . Milyen feltételek kötik az üzemet az árak megállapításakor? Ezek elégé magasak kell legyenek, hogy a nyersanyagok eladása megérje az üzemnek is. Ez legalább annyi hasznot kell hozzon az üzemnek, mint amikor felhasználja ˝oket. Felhasználva az (1.10) és (1.11) képleteket, ahol x1 = x2 = 1, kapjuk, hogy 1 kg vajhoz 6 kg magas zsírtartalmú tej és 4 kg alacsony zsírtartalmú tej szükséges, illetve 1 kg túróhoz 8/3 kg magas zsírtartalmú tej és 4 kg alacsony zsírtartalmú tej szükséges. Így az üzem legalább akkora árat kell kérjen a kétfajta tejért, hogy legalább az 1 kg vaj illetve 1 kg túró profitját megkapja, azaz 8 6y1 + 4y2 ≥ 1.5, y1 + 4y2 ≥ 1.2. 3 Tehát a vállalkozó LP feladata: w = 1000y1 + 800y2 → min, 6y1 + 4y2 ≥ 1.5, (1.13) 8 y1 + 4y2 ≥ 1.2, 3 y1 , y2 ≥ 0.
A feladat optimális megoldása: y1 = 0.09 euró, y2 = 0.24 euró. Az optimális érték: w ¯min = 282 euró, ami megegyezik a zmax értékével. Összefoglalva, amikor a primál feladat egy normál maximalizáló feladat és, ha ezt a gondolatmenetet alkalmazzuk az összes er˝oforrásra (azaz a az összes korlátozó feltételre), akkor a duál feladat optimális yi döntési változói azt a legkisebb árat mutatják amiért, ha eladja az er˝oforrásokat legalább akkora nyeresége lesz mint a termékek el˝oállításakor. Mivel ezek a változók a döntéshozó rendelkezésre álló er˝oforrásainak értékével kapcsolatos, ezért a duál feladat yi döntési változóit árnyékáraknak nevezik. Ezek az értékek a WinQSB optimális eredményeket tartalmazó táblázatának árnyékárak (Shadow Price) oszlopából olvashatók ki. Egy érdekes tulajdonság: a nem éles feltételekhez tartozó árnyékárak nullák.
1.6.
Keverési feladatok
A keverési feladatok modellje az els˝o olyan gyakorlati alkalmazás, amelyik dönt˝oen befolyásolta a matematikai programozás fejl˝odését. Ilyen típusú feladatokkal találkozunk az ipari és a gazdasági modellezés különböz˝o területein, mint például: élelmiszeripar-diéta probléma, kémia ipar - vegyületek optimális keverése, gazdaság - optimális portfolió kiválasztás, stb. Általában egy keverési feladat így fogalmazható meg: határozzuk meg egy keverék összetev˝oinek mennyiségét, ismerve az összetev˝ok jellemz˝oit, úgy hogy a keverék el˝oállítási költsége minimális legyen és a keverék jellemz˝oi az el˝oírt feltételeket teljesítsék. 1.6. mintapélda (Diéta probléma). Zsóka szeretné étkezési költségeit csökkenteni úgy, hogy szervezete a naponta szükséges energiát (2000 kcal), fehérjét(55g) és kalciumot (800mg) mégis megkapja. Az alábbi táblázat tartalmazza az egyes termékek alapvet˝o jellemz˝oit:
24
1. Lineáris programozási feladatok Ételek Tej (1 adag-1/4 l) Bab-hússal (1-adag, 250g) Tojás (1-adag, 2 db.) Csirke (1 adag 100 g) Zabkása (1adag 30g) Sütemény (1 adag 200g)
Energia (kcal)
Fehérje (g)
Kalcium (mg)
Ár (cent)
160
8
285
12
250
14
76
25
160
13
54
22
205
32
12
32
120
5
3
10
400
5
24
30
Hogy étkezése ne legyen egyhangú, az egyes ételekb˝ol fogyasztható adagok számát korlátozza: Tej Bab-hússal Tojás Csirke Zabkása Sütemény
≤2 ≤2 ≤2 ≤3 ≤3 ≤3
adag adag adag adag adag adag
Hogyan tud a legolcsóbban étkezni? Megoldás. Tulajdonképpen Zsóka azt kell eldöntse, hogy naponta hány adagot fogyasszon az egyes ételekb˝ol ahhoz, hogy a szervezete az el˝oírt szükséges energiát, fehérjét és kalciumot megkapja és költsége a lehet˝o legkisebb legyen. Ennek érdekében jelöljük x1 gyel a naponta elfogyasztandó tej , x2 -vel a bab-hús, x3 -mal a tojás, x4 -gyel a csirke, x5 -tel a zabkása és x6 -tal a sütemény adagszámát. Az x1 , x2 , . . . , x6 az egyes tevékenységek (az evések) mértékének vagy intenzitásának is tekinthet˝o. Ekkor [x1 , x2 , . . . , x6 ] egy lehetséges cselekvési terv, azaz program (innen származik a lineáris programozás elnevezés). A célfüggvény megadja a cselekvési terv költségét, ami a mi esetünkben z = 12x1 + 25x2 + 22x3 + 32x4 + 10x5 + 30x6 A nap szükségletre vonatkozó korlátozó feltételek: 160x1 + 250x2 + 160x3 + 205x4 + 120x5 + 400x6 ≥ 2000, 8x1 + 14x2 + 13x3 + 32x4 + 5x5 + 5x6 ≥ 55, 285x1 + 76x2 + 54x3 + 12x4 + 3x5 + 24x6 ≥ 800. Az egyhangúság feloldására vonatkozó feltételek: x1 ≤ 2, x2 ≤ 2, x3 ≤ 2, x4 ≤ 3, x5 ≤ 3, x6 ≤ 3. Tehát, Zsóka feladata, hogy alkalmazva a WinQSB Lineáris programozási eszköztárát megoldja a z = 12x1 + 25x2 + 22x3 + 32x4 + 10x5 + 30x6 → min 160x 1 + 250x2 + 160x3 + 205x4 + 120x5 + 400x6 ≥ 2000, 8x1 + 14x2 + 13x3 + 32x4 + 5x5 + 5x6 ≥ 55, 285x1 + 76x2 + 54x3 + 12x4 + 3x5 + 24x6 ≥ 800, x1 ∈ [0, 2] , x2 ∈ [0, 2] , x3 ∈ [0, 2] , x4 ∈ [0, 3] , x5 ∈ [0, 3] , x6 ∈ [0, 3] .
1. Lineáris programozási feladatok
25
lineáris programozási feladatot. Mivel Zsóka az operációkutatás tantárgy keretében megtanulta a WinQSB használatát sikeresen meg is oldja a feladatát és azt találja, hogy x1 = 2, x2 = 2, x3 = 2, x4 = 3, x5 = 3, x6 = 3. 1.7. mintapélda. Egy üzem négy hasonló terméket gyárt. Mind a négy terméknél a gyártás utolsó három fázisa: összerakás, fényezés és csomagolás. Az alábbi táblázat megmutatja a fázisok percben kifejezett szükséges id˝otartamait a termékeknél. A táblázat utolsó oszlopában meg van adva, hogy a termékek mekkora profitot jövedelmeznek. I. II. III. IV.
Összerakás 2 4 3 7
Fényezés 3 2 3 4
Csomagolás 2 3 2 5
Profit (euró/darab) 1.5 2.5 3 4.5
a. Az üzem vezet˝osége, a meglév˝o munkaer˝o alapján úgy becsüli, hogy 1 év során legtöbb 100000 percet képes fordítani összerakásra, 50000 percet fényezésre és 60000 percet csomagolásra. Az üzem milyen termelési tervvel maximalizálhatja profitját? b. Ha az el˝oz˝o pontban megadott feltételt˝ol eltér˝oen, nincsenek korlátozva az egyes munkafázisokra szánt id˝otartamok, csak annyit tudunk, hogy összesen a 3 fázisra 210000 (= 100000 + 50000 + 60000) perc áll rendelkezésre, akkor az üzem milyen termelési tervvel maximalizálhatja profitját? Megoldás. 1. A döntési változók és a mértékegységek meghatározása. A feladat azt kéri, hogy az üzem milyen termelési tervvel maximalizálhatja profitját. Mivel a profit az I, II, III és IV termékek eladásából származik azt kell megtudni, hogy egy év leforgása alatt mennyit gyártanak az egyes termékekb˝ol, ezért jelöljük ezek éves gyártási darabszámát x1 -gyel, x2 -vel, x3 -mal és x4 -gyel. 2. A célfüggvény felírása. Mivel az I. termék 1 darabja 1.5 eurót jövedelmez, ezért x1 darab jövedelme 1.5x1 . Hasonlóan a többi termékeknél a profit: 2.5x2 , 3x3 , 4.5x4 . Tehát az összprofit: z = 1.5x1 + 2.5x2 + 3x3 + 4.5x4 . 3. A korlátozó feltételek megadása. Az (x1 , x2 , x3 , x4 ) termelési terv esetén a feladat a. pontjában az összerakásra szánt id˝otartam 2x1 + 4x2 + 3x3 + 7x4 , ami nem lehet nagyobb mint 100000 perc. Így az els˝o feltétel: 2x1 + 4x2 + 3x3 + 7x4 ≤ 100000. Hasonló meggondolás alapján a többi munkafázis esetén a korlátozó feltételek: 3x1 + 2x2 + 3x3 + 4x4 ≤ 50000, 2x1 + 3x2 + 2x3 + 5x4 ≤ 60000. A feladat b. pontjában az összid˝okorlát van megadva, ezért itt a korlátozó feltétel: 2x1 + 4x2 + 3x3 + 7x4 + 3x1 + 2x2 + 3x3 + 4x4 + 2x1 + 3x2 + 2x3 + 5x4 ≤ 210000. A döntési változókra vonatkozó el˝ojelkorlátozó feltételek: mivel az x1 , x2 , x3 , x4 darabszámokat jelölnek, ezért x1 , x2 , x3 , x4 ≥ 0 és x1 , x2 , x3 , x4 ∈ Z.
26
1. Lineáris programozási feladatok
Összegezve az 1. 2. és 3. pontokban kapott összefüggéseket, a feladat a. pontjának matematikai modellje: z = 1.5x1 + 2.5x2 + 3x3 + 4.5x4 → max, 2x1 + 4x2 + 3x3 + 7x4 ≤ 100000, 3x1 + 2x2 + 3x3 + 4x4 ≤ 50000, 2x1 + 3x2 + 2x3 + 5x4 ≤ 60000, x1 , x2 , x3 , x4 ≥ 0 és x1 , x2 , x3 , x4 ∈ Z. A feladat b. pontjának matematikai modellje pedig: z = 1.5x1 + 2.5x2 + 3x3 + 4.5x4 → max, 7x1 + 9x2 + 8x3 + 16x4 ≤ 210000, x1 , x2 , x3 , x4 ≥ 0 és x1 , x2 , x3 , x4 ∈ Z.
4. A matematikai modell megoldása. A feladat megoldásához a 1.3 paragrafusban leírt módszertan alapján használjuk a WinQSB Linear and Integer Programming eszköztárát. Az a. pont esetén a maximális profitot eredményez˝o termelési terv: x1 = 0, x2 = 16000, x3 = 6000, x4 = 0 és profit zmax = 58000 euró. A b. pont esetén a maximális profitot eredményez˝o termelési terv pedig: x1 = 0, x2 = 0, x3 = 26250, x4 = 0 és profit zmax = 78750 euró. A második esetben a profit 36%-al nagyobb mint az els˝o esetben. Tehát az els˝o eset korlátozó feltételeinek valós hatása van a profitra, csökkenti azt. 1.8. mintapélda. Van 140 eurónk és szeretnénk vásárolni erre az összegre néhány kartotékszekrényt. Két típus közül választhatunk: az A típus 10 euró, illetve a B típus 20 euró. Az A típus 6 négyzetméter alapterületet foglal el és térfogata 8 köbméter. A B típus 8 négyzetméter alapterületet foglal el és térfogata 12 köbméter. Az irodánkban a kartotékszekrények elhelyezésére 72 négyzetméter áll rendelkezésre. Hogyan járjunk el, hogy a lehet˝o legnagyobb térfogat álljon rendelkezésünkre a kartotékok elhelyezésekor? Megoldás. 1. A döntési változók és a mértékegységek meghatározása. A feladat azt kéri, hány darab kartotékszekrényt vásároljunk a két típusból külön-külön ahhoz, hogy a szekrények össztérfogata maximális legyen. Ezért jelöljük x1 -gyel a vásárolandó A típusú kartotékszekrények és x2 -vel a B típusú kartotékszekrények darabszámát. 2. A célfüggvény felírása. Mivel az A szekrény 1 darabjának térfogata 8 köbméter, ezért x1 darabnak a térfogata 8x1 köbméter. Hasonlóan a B szekrény esetén a térfogat 12x2 köbméter. Tehát az össztérfogat z = 8x1 + 12x2 . 3. A korlátozó feltételek megadása. Az (x1 , x2 ) vásárlási terv esetén az elfoglalt alapterület 6x1 + 8x2 , ami nem lehet nagyobb mint 72 négyzetméter. Így az els˝o feltétel 6x1 + 8x2 ≤ 72. Hasonlóan a rendelkezésre álló összegre vonatkozó korlátozó feltétel 10x1 + 20x2 ≤ 140.
1. Lineáris programozási feladatok
27
A döntési változókra vonatkozó el˝ojelkorlátozó feltételek: mivel az x1 , x2 darabszámokat jelölnek, ezért x1 , x ≥ 0 és x1 , x2 ∈ Z. Összegezve az 1. 2. és 3. pontokban kapott összefüggéseket, a feladat matematikai modellje: z = 8x1 + 12x → max, 6x1 + 8x2 ≤ 72, 10x 1 + 20x2 ≤ 140, x1 , x ≥ 0 és x1 , x2 ∈ Z.
4. Mivel a feladatnak csak két döntési változója van, ezért a grafikus módszerrel keressük az optimális megoldásokat. A lehetséges megoldások halmazának megszerkesztése. Az x1 döntési változót a vízszintes tengelyen, az x2 döntési változót pedig a függ˝oleges tengelyen ábrázoljuk. A 6x1 +8x2 ≤ 72 feltétel egy olyan félsíkot határoz meg, amely határegyenesének egyenlete 6x1 + 8x2 = 72. Megrajzoljuk ezt az egyenest a tengelyekkel való metszéspontok segítségével. A metszéspontokat az alábbi táblázatban foglaljuk össze:
x1 x2
0 9
12 0
A metszéspontokat jelöljük A (0, 9) és B (12, 0) pontokkal. Megvizsgáljuk, hogy az O (0, 0) pont a lehetséges pontokat tartalmazó félsíkhoz tartozik-e, behelyettesítve az O pont koordinátáit az els˝o feltételbe. Mivel 6 · 0 + 8 · 0 ≤ 72 feltétel teljesül, ezért a lehetséges megoldások halmaza az AB egyenesnek az O irányába es˝o félsíkjában van. A 10x1 + 20x2 ≤ 140 feltétel határegyenese 10x1 + 20x2 = 140. A tengelyekkel való metszéspontok táblázata: x1 x2
0 7
14 0
A metszéspontokat jelöljük: C (0, 7)-vel és D (14, 0)-vel. Mivel 10 · 0 + 20 · 0 ≤ 140 feltétel teljesül, ezért a lehetséges megoldások halmaza az CD egyenesnek az O irányába es˝o félsíkjában van. Ha a döntési változókra csak x1 ≥ 0, x2 ≥ 0 feltételek volnának felírva, akkor a lehetséges megoldások M halmaza a két korlátozó feltétel által meghatározott tartomány metszetének a koordináta-rendszer els˝o negyedébe es˝o része lenne, de mivel x1 , x2 ∈ Z, a feladat lehetséges megoldásainak halmaza az M-beli egész koordinátájú pontok(lásd a 1.14. ábrát). Ahhoz, hogy meghatározzuk az M halmazt ki kell számítsuk a két határegyenes metszéspontjának koordinátáit, azaz meg kell oldani a 6x1 + 8x2 = 72, 10x1 + 20x2 = 140, egyenletrendszert. A megoldás adja az E(8, 3) metszéspont koordinátáit. Tehát az M egy olyan poliéder, amelynek csúcspontjai: O, E, F, H, D.
28
1. Lineáris programozási feladatok
1.14. ábra. Az M lehetséges megoldáshalmaz az 1.8. mintapéldában. Az optimális megoldás keresése. Az M csúcspontajinak koordinátáit behelyettesítjük a célfüggvénybe: Csúcspont O C E B
(x1 , x2 ) (0, 0) (0, 7) (8, 3) D (12, 0)
z 0 84 100 96
Mivel a legnagyobb z érték az E pontnál van és az E pont koordinátái egész számok, ezért a feladat megoldása x1 = 8, x2 = 3. A maximális térfogat pedig zmax = 100 és ezt akkor érjük el, ha az A típusú kartotékszekrényb˝ol 8-at, a B típusúból pedig 3-at vásárolunk. Ha a megoldásnak nem jött volna ki egész szám, akkor a lehetséges megoldásokat tartalmazó tartományban, a BEC határ mentén az összes egész koordinátájú pontban ki kell számítani a célfüggvény értékét, majd azok közül választjuk ki a maximumot adó pontot. Ez lesz a feladat optimális megoldása. Ez már számításigényes feladat. Ilyenkor el˝onyösebb használni a WinQSB Linear and Integer Programming eszköztárát. Az egész érték˝ u lineáris programozási feladatok megoládsára a WinQSB az úgynevezett korlátozás és szétválasztás (Branch and Bound) keresési technikát használja. 1.9. mintapélda. Egy cég vezet˝oje döntést kell hozzon, hogy miképpen ossza el az általa gyártott vasaló gyártásának mennyiségét két üzeme között, mivel egyik üzem sem képes külön-külön a piacot lefödni. Tudjuk, hogy egy vasaló alkatrészeit az I. üzem 10 euró költséggel, a II. üzem pedig 20 euró költséggel készíti el. Az összeszerelési költségek egy vasalóra I. üzemnél 8 euró, a II. üzemnél pedig 5 euró. Az ellen˝orzési költségek egy vasalónál az I. üzemnél 3 euró, a II. üzemnél pedig 1 euró. A cég egy éves költségvetése alkatrész gyártására 120000 eurót, összeszerelésre 40000 eurót és ellen˝orzésre 12000 eurót fordít. Egy vasaló eladási ára 60 euró függetlenül, hogy melyik üzemben készült. a. Ha a vasalót teljes egészében az egyik vagy másik üzemben készítik el, milyen elosztás mellett lesz a profit maximális? b. Ha a vasalót csak részben készítik el egyik vagy a másik üzemben, akkor milyen elosztás mellett lesz a profit maximális?
1. Lineáris programozási feladatok
29
Mindkét esetben vizsgáljuk meg, hogy a költségvetés hányad része marad felhasználatlanul. Mit jelentenek gazdasági szempontból a költségvetési tétel felhasználatlan részei? Megoldás. a. 1. A döntési változók és a mértékegységek meghatározása. Mit is kér a feladat? Azt, hogy hány vasalót gyártson az egyik illetve a másik üzem. Ezért jelöljük x1 -gyel az I. üzem által és x2 -vel a II. üzem által gyártott vasalók darabszámát. 2. A célfüggvény felírása. Az I. üzemnél egy vasaló el˝oállítási költsége: 10 + 8 + 3 = 21 euró, a másik üzemnél pedig: 20 + 5 + 1 = 26 euró. Tehát az I. üzemnél gyártott vasaló darabja 60 − 21 = 39 euró, a II. üzemnél gyártott vasaló pedig 60 − 26 = 34 euró profitot jövedelmez. Következésképpen, az összprofit z = 39x1 + 34x2 . 3. A korlátozó feltételek megadása. Az (x1 , x2 ) elosztás esetén az alkatrész gyártására 10x1 + 20x2 , összeszerelésre 8x1 + 5x2 és ellen˝orzésre 3x1 + x2 összeget fordítanak, amik nem lehetnek nagyobbak mint a költségvetésben megszabott összegek. Így a korlátozó feltételek a következ˝ok: 10x1 + 20x2 ≤ 120000, 8x1 + 5x2 ≤ 40000, 3x1 + x2 ≤ 12000. A döntési változókra vonatkozó el˝ojelkorlátozó feltételek: mivel az x1 , x2 darabszámokat jelölnek, ezért x1 , x ≥ 0 és x1 , x2 ∈ Z. Összegezve az 1. 2. és 3. pontokban kapott összefüggéseket, a feladat a. pontjának matematikai modellje: z = 39x1 + 34x2 → max, 10x1 + 20x2 ≤ 120000, 8x1 + 5x2 ≤ 40000, (1.14) 3x + x ≤ 12000, 1 2 x1 , x ≥ 0 és x1 , x2 ∈ Z. b.
1. A döntési változók és a mértékegységek meghatározása. Mit is kér a feladat? Azt, hogy hány az els˝o illetve második üzemben a különböz˝o fázisokban (alkatrészgyártás, összeszerelés, ellenérzés) hány darabot állítsanak el˝o. Ezért jelöljük x11 -gyel az I. üzemben el˝oállított alkatrészek számát, x12 -vel a I. üzemben összeszerelt vasalók darabszámát, x13 -mal a I. üzemben ellen˝orzött vasalók számát. Teljesen hasonlóan, jelöljük x21 -gyel az II. üzemben el˝oállított alkatrészek számát, x22 -vel a II. üzemben összeszerelt vasalók darabszámát, x23 -mal a II. üzemben ellen˝orzött vasalók számát. Mivel minden vasalót teljes egészében el kell készíteni, ezért: x11 + x21 = x12 + x22 = x13 + x23 = x, ahol x jelöli az összes el˝oállított vasalók számát.
30
1. Lineáris programozási feladatok
2. A célfüggvény felírása. Az I. üzemnél x11 darab vasalóhoz gyártnak alkatrészt, ami 10x11 költséget jelent, hasonlóan a második üzemnél ez a munkafolyamat 20x21 költséget jelent. Ugyanígy a többi munkafolyamat költségei rendre: 8x12 , 5x22 , 3x13 , x23 . A vasalók eladásából 60x jövedelem keletkezik. Tehát a profit: z = 60x − 10x11 − 20x21 − 8x12 − 5x22 − 3x13 − x23 . 3. A korlátozó feltételek megadása. Az (x1 , x2 ) elosztás esetén az alkatrész gyártására: 10x11 + 20x21 , összeszerelésre: 8x12 + 5x22 és ellen˝orzésre 3x13 + x23 összeget fordítanak, amik nem lehetnek nagyobbak mint a költségvetésben megszabott összegek. Így a korlátozó feltételek a következ˝ok: 10x11 + 20x21 ≤ 120000, 8x12 + 5x22 ≤ 40000, 3x13 + x23 ≤ 12000. A döntési változókra vonatkozó el˝ojelkorlátozó feltételek: mivel a döntési változók darabszámokat jelölnek, ezért x, x11 , x12 , x21 , x22 , x13 , x23 ≥ 0 és x, x11 , x12 , x21 , x22 , x13 , x23 ∈ Z. Összegezve az 1. 2. és 3. pontokban kapott összefüggéseket, a feladat a. pontjának matematikai modellje: z = −10x11 − 8x12 − 3x13 − 20x21 − 5x22 − x23 + 60x → max, 10x11 + 20x21 ≤ 120000, 8x12 + 5x22 ≤ 40000, 3x13 + x23 ≤ 12000, x11 + x21 − x = 0, x12 + x22 − x = 0, x13 + x23 − x = 0, x1 , x ≥ 0 és x1 , x2 ∈ Z.
4. Az optimális értékek keresésére a WinQSB Linear and Integer Programming eszköztárát használjuk. Az a. modell optimális megoldása: x1 = 1818, x2 = 5091. Az optimális profit: zmax = 243996. A költségvetés egyes tételeib˝ol megmaradt összegek: S1 = 120000 − (10 · 1818 + 20 · 5091) = 0, S2 = 40000 − (8 · 1818 + 5 · 5091) = 1, S3 = 12000 − (3 · 1818 + 1 · 5091) = 1455,
ami összesen S = S1 + S2 + S3 = 1456 eurót jelent. A b. modell optimális megoldása: x11 = 8000, x12 = 0, x13 = 0, x21 = 0, x22 = 8000, x23 = 8000, x23 = 8000, x = 8000. Az optimális profit: zmax = 352000 euró. Az a. esetben összesen 6909 vasalót gyártnak, a b. esetben pedig 8000 darabot. Az els˝o esetben a profit kisebb mint a második esetben. Ez természetes is mert, ha megfigyeljük a b. eset
1. Lineáris programozási feladatok
31
optimális megoldásait, láthatjuk a cég vezet˝ojének döntése az, hogy minden munkafázist ott végezzenek el, ahol kisebb a költség. A második esetben a költségvetés egyes tételeib˝ol még megmaradt összegek: S1 = 120000 − (10 · 8000 + 20 · 0) = 40000, S2 = 40000 − (8 · 0 + 5 · 8000) = 0, S3 = 12000 − (3 · 0 + 1 · 8000) = 4000, ami összesen S = S1 + S2 + S3 = 44000 eurót jelent. Látható, hogy az a. esetben az alkatrészgyártás a szoros korlát, a b. esetben pedig az összeszerelésre szánt összeg a szoros korlát. Mindkét esetben érdemes a költségvetés sarokszámait átgondolni és a szoros korlátokhoz nagyobb összegeket rendelni. Az S1 , S2 és S3 az árnyékárak. Lineáris programozási feladatok esetén S1 , S2 és S3 a duális feladat optimális megoldásai. A mi esetünkben, mivel a gyártott vasalók száma viszonylag nagy, úgy is eljárhatunk, hogy a feltételekb˝ol kivesszük az egész értékre vonatkozó korlátozást, és az így kapott LP feladat optimális megoldásaiban úgy kerekítünk, hogy a feltételeket ne szegjük meg. Az így kapott megoldások jó közelítései az általunk kiszámított optimális megoldásoknak. 1.10. mintapélda. Egy befektet˝o 12000 euró összeget három alapba helyezhet el: állami kötvénybe 7%-os kamattal, bankba 8%-os kamattal és egy magasabb kockázatú részvénybe 12%-os kamattal. Hogy a kockázatát csökkentse 2000 eurónál többet részvénybe nem fektet. A hatályban lév˝o törvények miatt legalább 3-szor nagyobb összeget kell állami kötvénybe fektessen mint bankba. Milyen befektetési stratégia mellett maximalizálhatja jövedelmét? Megoldás. 1. A döntési változók és a mértékegységek meghatározása: legyen x1 az állami kötvénybe elhelyezett összeg 1000 euróban kifejezve; legyen x2 a bankba elhelyezett összeg 1000 euróban kifejezve; legyen x3 a részvénybe elhelyezett összeg 1000 euróban kifejezve (x3 = 12 − x1 − x2 ); 2. A célfüggvény felírása. A három letét után a kamat rendre: 0.07x1 , 0.08x2 , 0.12x3 . A célfüggvény: z = 0.07x1 + 0.08x2 + 0.12x3 = 0.07x1 + 0.08x2 + 0.12 (12 − x1 − x2 ) = 1. 44 − 0.05x1 − 0.04x2 . 3. A korlátozó feltételek megadása. 1. szabály: x3 ≤ 2, azaz x1 + x2 ≥ 10. 2. szabály: x1 ≥ 3x2 . A döntési változókra vonatkozó el˝ojelkorlátozó feltételek: x1 , x2 , x3 ≥ 0, azaz x1 , x2 , x1 + x2 ≤ 12.
32
1. Lineáris programozási feladatok
Összefoglalva az 1-3 pontokban kapott összefüggéseket a következ˝o matematikai modellhez jutunk: z = 1.44 − 0.05x1 − 0.04x2 → max, x1 + x2 ≥ 10, x1 − 3x2 ≥ 0, (1.15) x1 + x2 ≤ 12, x1 , x2 ≥ 0.
A WinQSB Linear and Integer Programming eszköztára segítségével megoldjuk a (1.15) feladattal egyenérték˝u z = 0.05x1 + 0.04x2 → min, x1 + x2 ≥ 10, x1 − 3x2 ≥ 0, x1 + x2 ≤ 12, x1 , x2 ≥ 0
LP feladatot. Az optimális megoldások: x1 = 7.5, x2 = 2.5 és zmin = 0.4750. Mivel z = 1.44− z következik, hogy zmax = 1.44 − zmin = 0.965 Tehát a befektet˝o akkor maximalizálhatja jövedelmét, ha állami kötvénybe 7500, bankba 2500 és részvénybe 2000 eurót fektet. Ekkor várhatóan 965 euró jövedelme lesz. 1.11. mintapélda. Négy projektet 3 éves futamid˝ore terveznek. Az alábbi táblázat tartalmazza, ezer eurós egységekben kifejezve az egyes projektekben évente befektetend˝o összegeket:
1. 2. 3. 4.
projekt projekt projekt projekt
1. év 500 1000 1500 100
2. év 300 800 1500 400
3. év 200 200 300 100
Az els˝o projekt várható profitja 200 ezer euró, a másodiké 300 ezer euró, a harmadiké 500 ezer euró, a negyediké pedig 100 ezer euró. A rendelkezésre álló összegek: els˝o évben 3.1 millió euró, második évben 2.5 millió és a harmadik évben pedig 0.4 millió euró. A projektek közül melyiket kell választani, hogy a várható profit maximális legyen? Megoldás. A projektek jelölésére bevezetjük az x1 , x2 , x3 , x4 döntési változókat. A változók értékei 0 vagy 1. Ha mondjuk az els˝o projektet választjuk, akkor az x1 = 1, x2 = 0, x3 = 0, x4 = 0, ha a másodikat és a negyediket, akkor x1 = 0, x2 = 1, x3 = 0, x4 = 1. Tehát az xi értéke 1, ha az i-dik projektet kiválasztjuk és 0 ha nem, és mivel csak egy projekt válaszható, ezért x1 + x2 + x3 + x = 1. Ekkor a várható profit: z = 200x1 + 300x2 + 500x3 + 100x4 . Mivel az évente felhasználható összegek adottak, ezért az els˝o évre vonatkozó korlátozó feltétel: 500x1 + 1000x2 + 1500x3 + 100x4 ≤ 3100, a második évre: 300x1 + 800x2 + 1500x3 + 400x4 ≤ 2500 és a harmadik évre pedig: 200x1 + 200x2 + 300x3 + 100x4 ≤ 400.Tehát, a
1. Lineáris programozási feladatok
33
feladat az alábbi bináris érték˝u lineáris programozási modellel írható le: z = 200x1 + 300x2 + 500x3 + 100x4 → max, 500x1 + 1000x2 + 1500x3 + 100x4 ≤ 3100, 300x1 + 800x2 + 1500x3 + 400x4 ≤ 2500, 200x1 + 200x2 + 300x3 + 100x4 ≤ 400, x1 + x2 + x3 + x = 1, x1 , x2 , x3 , x4 ∈ {0, 1} .
A modell megoldására használjuk a WinQSB programcsomag Linear and Integer Programming eszköztárát. Itt a kezd˝otáblában be kell jelölni a Binary(0,1) mez˝ot. Az optimális megoldások: x1 = 0, x2 = 0, x3 = 1, x4 = 0 és zmax = 500. Tehát a harmadik projekt választása esetén maximális a várható profit: zmax = 500 euró. 1.12. mintapélda. Egy cég egy bizonyos állateledelt két nyersanyag összekeveréséb˝ol állítja el˝o. A nyersanyagok tartalmazzák a szükséges A, B, C és D összetev˝oket. Szabvány szerint 1 kg állateledel az A összetev˝ob˝ol legalább 90 grammot, a B-b˝ol legalább 50 grammot, a C-b˝ol legalább 20 grammot és a D-b˝ol legalább 2 grammot kell tartalmazzon. A két nyersanyag az összetev˝okb˝ol alábbi táblázatban megadott mennyiségeket tartalmazza gramm/kg-ban kifejezve: 1. nyersanyag 2. nyersanyag
A 100 200
B 80 150
C 40 20
D 1 6
Tudva azt, hogy az 1. nyersanyag beszerzési ára kilógrammonként 40 euró a 2. nyersanyag ára pedig kilógrammonként 60 euró, határozzuk meg, hogy az állateledel el˝oállításához a cég milyen arányba keverje a két nyersanyagot ahhoz, hogy a kiadása minimális legyen. Megoldás. Legyen x1 valamint x2 az els˝o illetve második nyersanyag kg-ban kifejezett mennyisége egy kg állateledelben. Ekkor 1 = x1 +x2 . Tudjuk, hogy 1 kg az els˝o nyersanyagból 100 grammot tartalmaz az A összetev˝ob˝ol. Tehát x1 kg az 1-b˝ol 0.1x1 kg-ot fog tartalmazni az A-ból. Teljesen hasonlóan x1 kg az 1-b˝ol 0.08x1 kg-ot tartalmaz a B-b˝ol, 0.04x1 kg-ot a C-b˝ol és 0.01x1 kg-ot a D-b˝ol. A második nyersanyag összetev˝oi: 0.2x2 , 0.15x2 , 0.02x2 és 0.06x2 . A szabványfeltétel alapján: 0.1x1 + 0.2x2 0.08x1 + 0.15x2 0.04x1 + 0.02x2 0.001x1 + 0.006x2
≥ ≥ ≥ ≥
0.09, 0.05, 0.02, 0.002.
A feladat célfüggvénye: z = 40x1 + 60x2 . Tehát, a feladat LP modellje:
z = 40x1 + 60x2 → min, 10x1 + 20x2 ≥ 9, 8x1 + 15x2 ≥ 5, 4x1 + 2x2 ≥ 2, x1 + 6x2 ≥ 2, x1 + x2 = 1, x1 , x2 , x3 , x4 ≥ 0.
34
1. Lineáris programozási feladatok
A modell megoldására használjuk a WinQSB programcsomag Linear and Integer Programming eszköztárát. Az optimális megoldás: x1 = 0.8, x2 = 0.2 és zmin = 44. Tehát a cég ahhoz, hogy minimalizálja a kiadását a keverékhez 80%-ban az 1-es nyersanyagot és 20%-ban a 2. nyersanyagot kell keverje. Ekkor az 1 kg keverék el˝oállítási költsége 44 euró lesz.
1.7.
Kit˝ uzött feladatok
1. Egy üzemben 4 er˝oforrás felhasználásával kétféle terméket állítanak el˝o. Az egyes termékekhez az er˝oforrásokból 4, 0, 2, 1, illetve 2, 4, 3, 1 egységet használunk fel. Az összes er˝oforrás kapacitás: 240, 160, 180, 100. Az egyes termékek eladási ára darabonként 20, illetve 40 euró. A WinQSB programcsomag segítségével határozzuk meg a maximális árbevételt biztosító termelési programot és az árnyékárakat. Melyek az éles feltételek? 2. Egy bánya vállalatnak két ércbányája van. A kibányászott érc min˝osége három osztályba sorolható: jó, közepes és gyenge. A vállalat bányászati heti terve a következ˝o: 12 tonna a jó min˝oség˝u, 8 tonna a közepes és 24 tonna a gyenge min˝oség˝ u ércb˝ol. A két bánya kitermelési jellemz˝oit a következ˝o táblázat tartalmazza: Bánya Els˝ o Második
Termelés (tonna/nap) Jó Közepes Gyenge 6 3 4 1 1 6
Ár 180 160
Heti hány napot kell a bányák dolgozzanak, hogy a tervet minimális költség mellett teljesíteni tudják? 3. Egy farmon kétfajta takarmánnyal táplálják a nyulakat. Az egyik takarmány kilógrammja 150 gramm zsiradékot, 240 gramm szénhidrátot és 40 gramm proteint tartalmaz, ára pedig 2 euró. A másik takarmány kilógrammja 240 gramm zsiradékot, 240 gramm szénhidrátot és 20 gramm proteint tartalmaz, ára pedig 2.5 euró. Egy nyúl normális, napi tápanyagszükséglete legalább 24 gramm zsiradékot, 36 gramm szénhidrátot és 4 gramm proteint tartalmaz, de az össztakarmány mennyiség nem lehet több mint 0.5 kg. Hogyan kell keverni a két takarmányt, hogy normális táplálás mellett a költség minimális legyen. 4. Egy vállalkozás négyféle terméket készít 3 er˝oforrás felhasználásával. Egy-egy darab termékbe az er˝oforrások beépülését a következ˝o táblázat tartalmazza: A B C
I 1 0 1
II 2 1 1
III 0 1 1
IV 1 1 0
Kapacitásokra a fels˝o korlátok, rendre: 90, 80, 50. A termékek eladási egységárai: 2, 3, 2, 2. Írjuk fel a feladathoz tartozó lineáris programozási modellt és annak duálisát, és a WinQSB segítségével határozzuk meg a primál és duál optimális megoldásokat. 5. Egy játékgyár három típusú robotjátékot gyárt. Az els˝o típusú játék gyártása 10 perc, a másodiké 12 perc, a harmadiké pedig 15 perc. Az els˝o típusú játékhoz 2 kg, a másodikhoz 3 kg, a harmadikhoz pedig 4 kg m˝uanyag szükséges. A gyár napi 8 órát és 200 kg m˝uanyagot fordít a 3 játék gyártásához. A játékok utáni nettó jövedelmek rendre 1 Lej, 5 Lej illetve 6 Lej. Hogy a rendeléseket teljesítse a gyár mindegyik termékb˝ol legalább 10 darabot
1. Lineáris programozási feladatok
35
kell gyártson. A gyár vezet˝oségét a maximális nettó nyereséget hozó program valamint az árnyékárak érdeklik. Írjuk fel a fel a feladathoz tartozó lineáris programozási modellt és határozzuk meg az optimális megoldást, valamint az árnyékárakat. 6. A Csíki sörf˝ozde világos és barna sört gyárt árpából, komlóból és malátából. Jelenleg 4 tonna árpa, 2 tonna komló és 5 tonna maláta áll rendelkezésre. Egy hordó világos sört 45 euróért lehet eladni, el˝oállításához 1 kg árpa, 1 kg komló és 2 kg maláta szükséges. Egy hordó barna sört 50 euróért lehet eladni, el˝oállításához 2 kg árpára, 1 kg komlóra és 1 kg malátára van szükség. A sörf˝ozde el tudja adni az általa gyártott világos és barna sört. A sörf˝ozde célja az összbevétel maximalizálása. Tegyük fel, hogy a sörf˝ozde maláta-lik˝or gyártását fontolgatja. Egy hordó maláta-lik˝or eladási ára 60 euró, el˝oállításához 0.5 kg árpára, 3 kg komlóra és 3 kg malátára van szükség. Érdemes-e maláta-lik˝ort gyártani. A feladat megoldásához használja a WinQSB programcsomagot! 7. Egy üzem három er˝oforrás felhasználásával négyféle terméket készít. A technológiai mátrix (az egységnyi termék er˝oforrásigénye):
2 3 0 2 A= 1 2 4 1 3 2 1 0 A gyártandó darabszámokra két terv készült: t1 = [100, 350, 250, 300] és t2 = [150, 300, 200, 350]. Megvalósítható-e mindkét terv, ha az er˝oforrásokból maximálisan rendelkezésre álló mennyiségek: b = [2000, 1900, 1250]? Ismerve az er˝oforrások egységárait: a = [20, 15, 7] és a termékek eladási egységárait: c = [100, 150, 80, 70] adjuk meg az egyes termékek el˝oállítási költségeit. A WinQSB segítségével határozzuk meg a maximális nyereséget biztosító termelési programot. 8. Egy autóipari cég, személygépkocsikat és teherautókat gyárt. Egy személygépkocsiból 300 euró, egy teherautóból pedig 400 euró nyeresége származik. A gyártáshoz szükséges er˝oforrások az alábbi táblázatban láthatok: Személygépkocsi Teherautó
1. típusú gép 0.8 1
2. típusú gép 0.6 0.7
Acél (tonna) 2 3
A cég naponta legfeljebb 98 darab 1. típusú gépet tud bérelni gépenként 50 euróért. Jelenleg 73 darab 2. típusú gépe van a cégnek, és 260 tonna acél áll rendelkezésére. Marketing szempontok miatt legalább 88 személygépkocsit és legalább 26 teherautót mindenkeppen gyártani kell. A cég célja a profit maximalizálása. Válaszoljunk a következ˝o kérdésekre: a. A cég milyen termelési programmal maximalizálhatja nyereségét b. Mi lenne a feladat új optimális megoldása, ha egy személygépkocsi gyártásából 310 euró nyereség származna? Ez mennyivel növelne a profitot? c. Legfeljebb mekkora összeget lenne érdemes +1 darab 1. típusú gép egy napi bérléséért kifizetni? 9. Egy cég virág, rombusz és spirál mintás abroszokat készít. Mindegyik abrosz három részlegben készül, a következ˝o sorrendben: szövés, mintázás, vasalás. Az alábbi táblázat
36
1. Lineáris programozási feladatok
mutatja, hogy az abroszoknak a részlegekben hány percet kell tölteniük: Részleg (id˝ otartam, perc) Szövés Mintázás Vasalás 15 15 3 10 15 4 8 4 2
Abrosz Virág mintás Rombusz mintás Spirál mintás
Marketing szempontok miatt legalább 1000 darab rombusz mintás abroszt mindenképpen el kell készíteni. Egy rombusz mintás abrosz ára 8 euró, a spirál mintásé 10 euró, a virág mintásé pedig 12 euró. A szövöde kapacitása 18000 perc, a mintázásé 18000 perc, a vasalásé pedig 9000 perc. A cég célja a bevételek maximalizálása. a. Írd fel a lineáris programozási modellt és számítógép segítségével oldd meg. b. +10 perc mintázási kapacitás milyen mértékben növelné a cég bevételét? c. A rombusz mintás abroszokra vonatkozó korlátot 100-zal növelve, hogyan változik a cég bevétele? 10. Egy k˝oolaj-finomító gázolajat és benzint állít el˝o. A technológia úgy van megtervezve, hogy a finomítás során legalább kétszer annyi mennyiség˝u benzint kapnak, mint gázolajat. A cég vezet˝oségének az a tapasztalata, hogy a napi benzin szükséglet nem több mint 6400000 liter, de a gázolajból el tudnak adni naponta 3000000 litert is. Ha egy liter benzin eladási ára 0.6 euró a gázolajé pedig 0.4 euró, milyen termelési tervvel lehet maximalizálni a bevételt? 11. Egy ács asztalokat és székeket készít. Mindegyik asztal 30 euró és mindegyik szék 10 euró profittal adható el. Az ács heti 40 órát tud dolgozni, egy asztal el˝oállítása 6 óra, míg egy szék elkészítése 3 órát vesz igénybe. A megrendel˝o azt kéri, hogy legalább háromszor annyi széket készítsen, mint asztalt. Egy asztal négyszer nagyobb raktározási felületet igényel, mint egy szék és a szobába legfeljebb 18 szék tárolására van elegend˝o hely. Add meg a lineáris programozási feladat matematikai modelljét, majd oldd meg a feladatot. 12. A Scientia Könyvkiadó három jegyzet kiadását tervezi. Az alábbi táblázat mutatja az eladható legnagyobb példányszámot, a jegyzetenkénti változó el˝oállítási költséget, az eladási árat és a szerz˝oi honoráriumot az egyes jegyzetek esetén: Kereslet (db.) Költség (Lej/db) Eladási ár (Lej/db) Honorárium (Lej)
1. jegyzet 250 20 40 500
2. jegyzet 200 15 38 600
3. jegyzet 250 18 32 300
Ha például az 1-es jegyzetb˝ol 200 példány készül, akkor a bevétel 200*40 lej, a költség viszont 500 + 200*20=4500 lej. A Scientia legfeljebb 600 jegyzetet tud elkészíteni. A kiadó hogyan maximalizálhatja profitját? 13. Egy játékokat gyártó üzem két modernebb öltöztetés˝u Barbie-baba készítését t˝ uzi ki célul. Az egyiket Kasszandrának nevezik és 3 munkaóra szükséges az elkészítéséhez a másikat pedig Kleopátrának és 2 munkaórát igényel az elkészítése. A játékok 1 darabjának a gyártási költségét és eladási árát az alábbi táblázat tartalmazza: Játék Kasszandra Kleopátra
Gyártási költség 45 76
Eladási ár 67 92
1. Lineáris programozási feladatok
37
Az üzemnek két részlege közösen készíti el a babákat. Az alábbi táblázat százalékos arányban megadja, hogy az egyes részlegek milyen arányban járulnak hozzá a babák elkészítéséhez: Játék Kasszandra Kleopátra
1. részleg 52% 38%
2. részleg 48% 62%
Tudva azt, hogy az els˝o részleg kapacitása 480, a másik részlegnek pedig 720 munkaóra, határozzuk meg, hogy az üzem milyen termelési terv mellett maximalizálhatja profitját. 14. Négy termelési projekt közül választhatunk, amelyek jellemz˝oit a következ˝o táblázat adja meg: Projekt Haszon 1. 0.2 2. 0.3 3. 0.5 4. 0.1 Rendelkezésre álló t˝ oke
T˝ okebefektetés 1. évben 2. évben 3. 0.5 0.3 1.0 0.8 1.5 1.5 0.1 0.4 3.1 2.5
évben 0.2 0.2 0.3 0.1 0.4
Melyik projekteket válasszuk, ha célunk a haszon maximalizálása? 15. Tegyük fel, Ön éppen most örökölt 5000 eurót és azt be szeretné fektetni. Értesülve err˝ol, két ismer˝ose külön-külön felajánlja Önnek, hogy társuljon a vállalkozásába. Mindkét esetben fel kellene áldoznia némi id˝ot, és készpénzt is be kellene fektetnie. Els˝o ismer˝ose vállalatában 4000 euróval és 300 munkaóra ráfordítással teljes társsá válhatna és a várható profit (figyelmen kívül hagyva a befektetett idejének értékét) 3000 euró körül mozogna. Második ismer˝ose ajánlatának adatai: 3000 euró és 500 munkaóra, várható nyeresége pedig 4000 euró. Ismer˝osei azonban rugalmasak és hozzájárulnak, hogy Ön részbefektetéssel csak részben társuljon a vállalkozásukhoz. Természetesen az Ön nyeresége ekkor a befektetéssel arányos lenne. Mivel Önnek úgyis van maximum 600 munkaórányi szabad ideje jöv˝ore, úgy dönt, olyan arányban társul egyik vagy mindkét ismer˝ose vállalkozásához, hogy várható profitja maximális legyen. Fogalmazza meg a problémát lineáris programozási feladatként. Mennyi a maximálisan várható profit? Melyek a feladat éles feltételei? 16. Három részvény jelenlegi árfolyamai és a t˝ozsde 3 hónappal kés˝obbi árfolyamelvárásait tartalmazza az alábbi táblázat: A B C
Jelenlegi árfolyam (euró/db) 13000 14000 2500
Árfolyamelvárás (euró/db) 16000 15000 3000
Egy befektet˝o mindegyik részvényb˝ol legalább 500000-euró értékben szeretne felvásárolni és portfoliót kialakítani. Összesen legfeljebb 5 millió eurót akar befektetni és a „B” részvényb˝ol legfeljebb 100 darabot vásárolna. A vásárlást követ˝oen minden részvényre azonnal limitáras eladási megbízást is ad. A brókeri jutalék vásárláskor részvényenként a vételi ár 0.5%-a és eladáskor az árbevétel 1%-a. Ha minden eladási megbízás teljesülne, akkor milyen portfolió esetén lenne az elvárt hozam maximális? Írjuk fel a lineáris programozási modellt és a WinQSB segítségével oldjuk meg a feladatot. Határozzuk meg az árnyékárakat.
38
1. Lineáris programozási feladatok
17. Sok cég használ lineáris programozási modelleket arra, hogy a legkedvez˝obb kötvény portfoliót kiválassza. A következ˝o egy ilyen modell egyszer˝ usített változata. Egy cégnek egymillió dollárja van befektetési célra. Négyféle kötvényben gondolkodik. Az alábbi táblázat mutatja az egyes kötvények várható évi hozamát, a legrosszabb esetben való évi hozamot és az egyes kötvények tartamát: Kötvény 1. kötvény 2. kötvény 3. kötvény 4. kötvény
Várható hozam 14% 9% 11% 14%
Legrosszabb hozam 5% 6% 8% 9%
Tartam 2 5 6 8
Egy kötvény tartama azt méri, hogy a kötvény mennyire érzékeny a kamatlábra. A cég maximalizálni akarja a kötvénybefektetésekb˝ol származó várható nyereséget, három feltétel mellett. 1. feltétel: a portfolió nyeresége a legrosszabb esetben is legalább 6% legyen. 2. feltétel: a portfolió átlagos tartama legfeljebb 6 lehet. Például, ha a portfolióban 600 000$ van az 1-es kötvényben és 400 000$ a 4-es kötvényben, akkor az átlagos tartam: (600000 ∗ 2 + 400000 ∗ 8)/1000000 = 4.4. 3. feltétel: a diverzifikációs el˝oírások miatt egyféle kötvénybe legfeljebb a teljes összeg 30% fektethet˝o be. Fogalmazzon meg egy lineáris programozási feladatot, amely a cég számára lehet˝ové teszi, hogy maximalizálja befektetésének várható nyereségét! Mennyi ez a legnagyobb várható nyereség? A feladat megoldásához használja a WinQSB programcsomagot! Melyek az éles feltételek? 18. Egy gazda búzát és zabot termeszt saját 50 holdas földjén. Legfeljebb 30000 kg búzát és legfeljebb 25000 kg zabot tud eladni. Egy beültetett holdon vagy 2300 kg búza, vagy pedig 1800 kg zab terem. A búza eladási ára 0.5 euró/kg a zabé pedig 0.8 euró/kg. Egy hold búza aratásához 2.5 munkaóra, egy hold zab aratásához 3.5 munkaóra szükséges. Legfeljebb 400 munkaóra vehet˝o igénybe 60 euró/óra költséggel. a. Írjuk fel a lineáris programozási modellt és a WinQSB segítségével oldjuk meg. Mennyi a gazda maximális nyeresége? b. Legfeljebb mennyit érdemes fizetni +1 munkaóráért? c. Legfeljebb mennyit érdemes fizetni +1 hold föld bérléséért? d. Mi lenne az új optimális megoldás, ha a búza ára 0.3 euró/kg-ra esik vissza? 19. Csíkszereda rend˝orségénél minden 4 órás periódusra az ügyeleti szolgálatot teljesít˝o rend˝orök száma a következ˝o: éjfélt˝ol 4-ig 4-t˝ol 8-ig 8-tól 12-ig 12-t˝ol 16-ig 16-tól 20-ig 20-tól éjfélig
Rend˝ orök száma 8 7 6 6 5 4
1. Lineáris programozási feladatok
39
Minden rend˝or két egymásután következ˝o 4 órás ügyeletben dolgozik. Fogalmazzon meg egy lineáris programozási feladatot, amelynek a megoldása úgy minimalizálja Csíkszereda rend˝oreinek számát, hogy a napi ügyeletek el legyenek látva! Legkevesebb hány rend˝orre van szükség? A feladat megoldásához használja a WinQSB programcsomagot! 20. Egy postahivatalban a hét különböz˝o napjaiban eltér˝o számú teljes munkaidej˝ u alkalmazott munkájára van szükség. Az alábbi táblázat mutatja az egyes napokra vonatkozó teljes munkaidej˝u munkaer˝o szükségletet: Szükséglet
H. 14
K. 13
Sz. 18
Cs. 15
P. 17
Szo. 10
V. 12
A szakszervezeti törvény értelmében minden teljes munkaidej˝u alkalmazottnak 5 egymást követ˝o napon kell dolgoznia, és ezután 2 szabadnap jár. Például egy olyan alkalmazott, aki hétf˝ot˝ol péntekig dolgozik, szombat-vasárnap szabadnapos lesz. A postahivatal úgy akarja napi munkaer˝o-szükségletét kielégíteni, hogy teljes munkaidej˝u alkalmazottakat foglalkoztat. Fogalmazzuk meg egy lineáris programozási feladatot, amelyet a postahivatal arra tud használni, hogy a lehet˝o legkevesebb teljes munkaid˝os alkalmazottat foglalkoztassa! Hányan kezdik a munkát hétf˝on, kedden, szerdán, csütörtökön, pénteken, szombaton és vasárnap? A feladat megoldásához használja a WinQSB programcsomagot! Melyik nap szükséglete befolyásolja legjobban az összmunkaer˝o szükségletet? 21. Egy üzlet forgalmát tanulmányozva, azt állapították meg, hogy az egyes napokra az alábbi táblázatban feltüntetett számú elárusító szükséges: Szükséglet
H. 20
K. 18
Sz. 16
Cs. 12
P. 10
Szo. 13
V. 20
Egy elárusító napi bére hétköznap 60 lej, szombaton 85 lej, vasárnap pedig 95 lej. Törvény szerint minden elárusító egyfolytában csak 5 napot dolgozhat és utána kötelez˝oen 2 egymás utáni szabadnap jár. Az üzletvezet˝o minimalizálni szeretné az elárusítók bérköltségét. Segítsünk neki! 22. Egy befektet˝o két pénzt hozó lehet˝oség A és B közül választhat az elkövetkez˝o négy év mindegyikében. Minden egyes, az év elején az A-ba befektetett euró két év múlva 30 eurócent hasznot, míg a B-be fektetett euró három év múlva 50 eurócent hasznot eredményez és azonnal újra befektethet˝ok. Kés˝obb lehet˝oség nyílik a C és a D befektetésekre is. Minden, a második év elején a C-be fektetett euró a negyedik év végén 50 eurócent hasznot, valamint a negyedik év elején a D-be fektetett euró az év végére 20 eurócent jövedelmez. A befektet˝o 10000 eurót befektetéssel indul. Milyen befektetési terv alapján érdemes eljárnia, hogy a negyedik év végén a lehet˝o legtöbb pénzt halmozhassa fel? 23. Egy ásványvíz palackozó cég meg akarja tervezni termelését az elkövetkez˝o hat hónapra. Tudja, hogy az egyes hónapokban a kereslet 5000, 6000, 6500, 7000, 5000, 7500 hektoliter. Jelenleg a cégnek 2000 hektoliter ásványvize van raktáron. A jelenlegi kapacitásokkal a cég maximum 6000 hektoliter ásványvizet tud egy hónapban palackozni. Egy hektoliter ásványvíz palackozási költsége 150 euró és egy hónapnyi raktározási költsége 7.5 euró. Milyen termelési tervet válasszon a cég ahhoz, hogy költsége minimális legyen? ˝ RT négy típusú lábbelit gyárt. Az egyes termékek profitja 10, 15, 22, 17 euró 24. A CI&PO és az elkövetkez˝o 4 hétre a maximálisan eladható mennyiségek 50, 60, 85, 70 pár lábbeli.
40
1. Lineáris programozási feladatok
Minden egyes lábbeli a gyártási folyamat során 3 részlegen kell átmenjen. A részlegeken a négy típusú lábbeli egy egységéhez szükséges munkaid˝oket, munkaórában kifejezve az alábbi táblázat tartalmazza: 1. részleg 2. részleg 3. részleg
1. lábbeli 2 2 3
2. lábbeli 2 4 6
3. lábbeli 1 1 1
4. lábbeli 1 2 5
A három részleg kapacitása 160, 200, valamint 80 munkaóra. Lehet˝oség van, hogy az egyes részlegeken dolgozókat, ha szükséges más részlegekre osszák be. Így a második részleg munkaóra kapacitásának legtöbb 20%-át átadhatja az els˝o részlegnek, az els˝o részleg 30%-át a harmadik részlegnek és a harmadik részleg 10%-át a második részlegnek. A marketing terv el˝oírja, hogy az elkészített els˝o termék és az elkészített negyedik termék ˝ Kft milyen termelési tervvel darabszámainak aránya 0.9 és 1.15 között legyen. A CI&PO maximalizálhatja profitját? 25. Egy kosárlabda edz˝o a kezd˝o ötös összeállításán töpreng. A rendelkezésére álló hét játékos szóba jöhet˝o szerepkörét (véd˝o —V, center — C, bedobó — B), valamint a labdakezelési, dobási, lepattanó szerzési ill. védekezési képességeinek min˝osítését (1 = gyenge, 2 = közepes, 3 = kiváló) tartalmazza az alábbi táblázat: Játékos 1 2 3 4 5 6 7
Szerepkör V C V-B B-C V-B B-C V-B
Labda kezelés 3 2 2 1 1 3 3
Dobás 3 1 3 3 3 1 2
Lepattanó-szerzés 1 3 2 3 1 2 2
Védekezés 3 2 2 1 2 3 1
Az edz˝o a kezd˝o ötöst úgy akarja összeállítani, hogy teljesüljenek a következ˝ok: a. Legalább 3 játékos legyen képes véd˝o, legalább 2 bedobó és legalább 1 center szerepében játszani. b. A kezd˝ocsapat átlagos labdakezelési, dobási ill. lepattanó szerzési szintje legalább 2 legyen. c. Ha a 3-as játékos kezd, akkor a 6-os nem kezdhet. d. Ha az 1-es játékos kezd, akkor a 4-esnek és az 5-ösnek is kezdenie kell. e. A 2-es vagy a 3-as játékosnak a kezd˝ocsapatban kell lennie. Ezen megkötések mellett az edz˝o maximalizálni akarja a kezd˝ocsapat összesített védekezési képességét. Írjon fel egy LP-t, amely segíthet a kezd˝ocsapat kiválasztásában! WinQSB-ben oldja meg a feladatot. 26. Mondjuk Ön elhatározza, hogy beszáll az édesség-üzletbe. Kétféle édesség gyártásán gondolkodik: csokoládé és drazsé. Mindkett˝o kizárólag cukorból, magokból és nyers csokoládéból áll. Jelenleg önnek 90 deka cukor, 30 deka mag és 45 deka nyers csokoládé áll rendelkezésére. A csokoládét el˝oállító keverékbe legalább 15% magtartalomnak kell lennie. A drazséban legalább 25% magnak és 30% csokoládénak kell lennie. Egy deka csokoládét 40 centért lehet eladni, egy deka drazsét pedig 20 centért. Fogalmazzon meg egy lineáris programozási
1. Lineáris programozási feladatok
41
feladatot, amely az Ön édességeladásából származó bevételét maximalizálja! Legtöbb mennyi lehet a bevétele? A feladat megoldásához használja a WinQSB programcsomagot! 27. A Csöpög˝o nev˝u vállalat alma ízesítés˝ u üdít˝oitalt 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 Csöpög˝onek 1 deka ízesítettetszóda 3 euróba kerül, 1 deka almalé pedig 5 euróba. A Csöpög˝o 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 Csöpög˝o hogyan tud eleget tenni a marketing osztály követelményeinek minimális költségek mellett. 28. A marosvásárhelyi m˝utrágya gyár szilíciumot és nitrogént keverve kétféle típusú m˝ utrágyát állít el˝o. Az 1. m˝utrágya legalább 48% nitrogént kell hogy tartalmazzon, és eladási ára 70 euró kilogrammonként. A 2. m˝utrágyának legalább 40% szilíciumot kell tartalmaznia, és eladási ára 30 euró kilogrammonként. A gyár legfeljebb 600 tonna nitrogént vásárolhat, kilogrammját 12 euróért, és legfeljebb 800 tonna szilíciumot, kilogrammját 10 euróért. Tételezzük fel, hogy bármennyi m˝utrágya eladható. Fogalmazzon meg egy lineáris programozási feladatot, amely maximalizálja a gyár nettó jövedelmét! Mennyi ez a jövedelem? Határozza meg az árnyékárakat és magyarázza meg a gazdasági jelentésüket. A feladat megoldásához használja a WinQSB programcsomagot! 29. A Parmen gyümölcsfeldolgozó cégnek két telephelye van. Mindkét telephelyen van egy-egy raktára és egy feldolgozó üzeme. Lehet˝osége van, hogy felvásároljon három almafajtából maximálisan: 20 tonna húsvéti rozmaringot (HR), 31 tonna téli arany parment (AP) és 42 tonna téli banánalmát (TB). A húsvéti rozmaring felvásárlási ára tonnánként 1100 euró, a téli arany parmené 1000 euró és az téli banánalmáé pedig 900 euró. A szállítási költség gyümölcst˝ol és a telephelyt˝ol függ. Az alábbi táblázat megmutatja, hogy 1 tonna gyümölcs szállítása az egyes raktárakba hány euróba kerül. HR AP TB
1. raktár 30 20 60
2. raktár 35 25 40
A raktárak kapacitását és az üzemek feldolgozási költségét mutatja a következ˝o táblázat: Kapacitás Feldolgozási költség
1. raktár 46 tonna 260 euró/tonna
2. raktár 56 tonna 210 euró/tonna
A cég a gyümölcsökb˝ol szörpöt készít, amelyet egységes 2000/tonna eurós áron értékesít. A Parmen milyen felvásárlási tervvel maximalizálhatja profitját? Milyen felvilágosítással szolgálnak az árnyékárak a Parmen vezet˝oségének? 30. A maGma RT háromtípusú elektronikus vezérl˝ot gyárt három részlegen. Egy vezérl˝o gyártási id˝otartamait percben kifejezve az alábbi táblázat tartalmazza: 1. vezérl˝ o 2. vezérl˝ o 3. vezérl˝ o
1. részleg 5 6 13
2. részleg 7 12 14
3. részleg 4 8 9
42
1. Lineáris programozási feladatok
A következ˝o táblázatban van összefoglalva a telephelyeken a vezérl˝ok által jövedelmezett profitok euróban kifejezve.
1. vezérl˝ o 2. vezérl˝ o 3. vezérl˝ o
1. részleg 10 18 15
2. részleg 8 20 16
3. részleg 6 15 13
Tudva azt, hogy minden részleg kapacitása 35 munkaóra és az els˝o vezérl˝ob˝ol legalább 100 darabot, a másodikból 150-et, a harmadikból pedig 100-at kell elkészíteni, hány darabot gyártson az egyes részlegeken a vezérl˝okb˝ol, hogy profitja maximális legyen? 31. Adjuk meg a következ˝o szállítási feladat optimális megoldását, ha az R3 . célállomás nem kaphat árut az F1 feladótól, a 3. szállító a második rendeltetési helyre nem szállíthat és a második feladónál nem maradhat áru. Ha az optimális megoldásban x11 = 40, akkor mennyi a többi xij ? F1 F2 F3 F4
R1 6 7 2 8 80
R2 5 6 5 4 70
R3 8 7 3 7 40
70 60 70 20
32. Egy cég normál m˝uködés esetén legtöbb 100 egységnyi terméket tud el˝oállítani egy hónapban. A keresletet, a termelési költségeket euróban, és a túlóra gyártási kapacitásokat négy egymásutáni hónapban az alábbi táblázat tartalmazza:
Hónap 1 2 3 4
Kereslet 130 80 125 195
Termelési költség normál ütemben 6 4 8 9
Túlóra kapacitás 60 65 70 60
Termelési költség túlórában 8 6 10 11
A gyár maximum 70 egységnyi terméket képes elraktározni egyik hónapról a másikra 1.5 euró egységnyi raktározási költséggel. Ha kezdetben a raktárban 15 egységnyi termék volt, akkor egyes hónapokban hány egységnyi terméket kell gyártani normál és túlórában ahhoz, hogy a költség minimális legyen és a szükséges kereslet ki legyen elégítve? 33. A Bran k˝oolajfinomító 3 típusú benzint forgalmaz: CO98, CO90 és CO75. Ezeket a benzineket 4 féle alapanyag keveréséb˝ol állítják el˝o. Ezek a következ˝ok: (CT) — h˝olepárlás alapján kapott alacsony min˝oség˝u benzin, (RG) — javított min˝oség˝u benzin, (RC) — tisztított benzin, (NC5) — oktánszámot javító termek.
1. Lineáris programozási feladatok
43
Az alábbi táblázatok tartalmazzak az alapanyagok maximális mennyiséget és el˝oállítási költségeit, valamint az el˝oállított benzin keverék összetételét és eladási árat. CT RG RC NC5
CO98
CO90 CO75
Napi termelés 3000 2000 4000 1000
Költség 500 800 600 700
Alapanyag szükséglet <= 30% CT >=40% RG <= 50% RC <=50% CT >=10% RG <=70% CT
Ár 950 800 700
Határozzuk meg a maximális jövedelmet biztosító termelési programot, ha tudjuk, hogy a CO75 benzinb˝ol naponta legalább 3000 kell el˝oállítson. 34. A Zöldülj Mez˝o Társaság (ZMT) egy újrafeldolgozó központot m˝uködtet, ahol 4-féle szilárd hulladék anyagot gy˝ujtenek, majd dolgoznak fel oly módon, hogy ezután azok felhasználhatók lesznek egy eladható termék gyártására. Ez a termék, a felhasznált anyagok keverési anyagától függ˝oen, háromféle min˝oségben állítható el˝o. Bár az összetétel mindegyik min˝oség esetében ingadozhat egy keveset, a min˝oségi szabványok el˝oírják az egyes anyagok minimálisan, illetve maximálisan megengedett (súly) arányát az adott min˝oség˝u termékben. Ezeket az el˝oírásokat tartalmazza az alábbi táblázat: Osztály A
B C
El˝ oírás Az 1. anyag legfeljebb 30%-a Az 2. anyag legalább 40%-a A 3. anyag legfeljebb 50%-a Az 1. anyag legfeljebb 50%-a Az 2. anyag legalább 10%-a Az 1. anyag legfeljebb 70%-a
Fúziós költség(lej/kg)
Eladási ár
3
8.5
2.5
7
2
5.5
Az újrafeldolgozó központ a szilárd hulladék anyagot ugyanabból a néhány forrásból gy˝ ujti be, ezért normálisan egy állandó termelési szintet tud biztosítani azok feldolgozására. Az egyes típusú anyagokból hetenként összegy˝ujtött mennyiséget valamint azok fajlagos feldolgozási költségeit az alábbi táblázat tartalmazza: Anyag 1 2 3 4
Rendelkezésre álló(lej/hét) 3000 2000 4000 1000
Kezelési költség (lej/kg) 3 6 4 5
Mennyit és az anyagok milyen keverési arányával kell gyártani, hogy a teljes heti haszon maximális legyen?
44
1. Lineáris programozási feladatok
35. Egy teherszállító repül˝ogépen három rakodótér található: el˝ol, középen és hátul. Befogadóképességüket tartalmazza az alábbi táblázat: Rakodótér El˝ol Középen Hátul
Súlykapacitás (tonna) 10 13 8
Térkapacitás (m3 ) 5000 8000 4000
Az egyes rakodóterek súlyterhelésének a súlykapacitási adatok arányában kell megoszlania ahhoz, hogy a repül˝ogép egyensúlyban maradjon. A következ˝o járatnak a következ˝o táblázatban megadott 5 rakományt ajánlották fel: Rakomány 1 2 3 4 5
Súly (tonna) 12 16 20 13 8
Térfogat (m3 ) 450 500 650 300 400
Profit (euró/tonna) 350 300 400 300 250
A rakományok feldarabolhatók. A rakományokból mennyit (ha egyáltalán) érdemes szállításra elfogadni, és hogyan érdemes ˝oket elosztani a rakodótérben ahhoz, hogy a járat a lehet˝o legnagyobb profitot hozza? A repül˝o melyik része szállítsa a legnagyobb profitot jelent˝o rakományt?
2. fejezet Szállítási és hozzárendelési feladatok
Az el˝oz˝o fejezetben már hangsúlyoztuk a lineáris programozás széleskör˝u alkalmazhatóságát. Ebben a fejezetben a lineáris programozási feladatok bizonyos speciális típusainak tárgyalásával tovább b˝ovítjük eddigi ismereteinket. Bemutatjuk az úgynevezett szállítási és hozzárendelési feladatokat.
2.1.
Szállítási feladat
2.1. mintapélda (Babkonzerv). Egy társaság egyik f˝o terméke a babkonzerv. A termelés három konzervgyárban folyik Kézdivásárhelyen (KV), Sepsiszentgyörgyön (SSz) és Gyergyószentmiklóson (GySzM). A terméket teherautókkal szállítják négy értékesít˝o áruházba. Ezek az áruházak Brassóban (B), Csíkszeredában (CsSz), Székelyudvarhelyen (SzU) és Marosvásárhelyen (MV) vannak. Mivel a szállítási költségek nagyon lényegesek, ezért a vezetés egy tanulmány elvégzését kezdeményezi, amely ezen költségek minimalizálására irányul. Megbecsülték a konzervgyárak egy hónapnyi várható termelését, valamint az egyes áruházaknak hónaponként kiutalt mennyiségeket a babkonzervb˝ol. Az alábbi táblázat megmutatja az egyes helységek közötti távolságokat km-ben kifejezve, az egyes konzervgyárak várható termelését és az áruházaknak kiutalt mennyiségeket.
Konzervgyár 1. KV 2. SSz 3. GySzM Kiutalás
1. B 60 33 160 6
Áruház 2. CsSz 3. SzU 62 112 68 101 59 57 5 4
4. MV 220 184 118 5
Termelés 6 10 4
A táblázat szerint összesen 20 teherautónyi áru vár elszállításra. Tudva azt, a szállítási költség arányos a távolsággal határozzuk meg, hogy az egyes konzervgyárakból hány autó babkonzervet kell szállítani az egyes áruházakba úgy, hogy az áruházak szükségleteit teljesítsék és a teljes szállítási költség minimális legyen? Megoldás. A modell megfogalmazásához jelöljük z-vel a teljes szállítási költséget, xij vel (i = 1, 2, 3; j = 1, 2, 3, 4;) az i-edik konzervgyárból és a j-edik áruházba szállítandó mennyiségeket, és k-val az egy km megtételéhez szükséges költséget. Célunk tehát az xij -k 45
46
2. Szállítási és hozzárendelési feladatok
olyan megválasztása, amelyre z = k (60x11 + 62x12 + 112x13 + 220x14 + 33x21 + 68x22 + 101x23 + 184x24 + 160x31 + 59x32 + 57x33 + 118x34 ) feltéve, hogy a szükségletek teljesülnek, azaz x11 + x21 + x31 x12 + x22 + x32 x13 + x23 + x33 x14 + x24 + x34
= = = =
6, 5, 4, 5,
és a termelt mennyiségeket is mind elszállítják, azaz x11 + x12 + x13 + x14 = 6, x21 + x22 + x23 + x24 = 10, x31 + x32 + x33 + x34 = 4. Tehát, a feladat lineáris modellje: Z = kz = 60x11 + 62x12 + 112x13 + 220x14 +33x21 + 68x22 + 101x23 + 184x24 +160x31 + 59x32 + 57x33 + 118x34 → min, x11 + x21 + x31 = 6, x12 + x22 + x32 = 5, x13 + x23 + x33 = 4, x14 + x24 + x34 = 5, x 11 + x12 + x13 + x14 = 6, x21 + x22 + x23 + x24 = 10, x31 + x32 + x33 + x34 = 4, xij ≥ 0, i = 1, 2, 3; j = 1, 2, 3, 4.
Alkalmazva a WinQSB lineáris programozási eszköztárát, megoldásként kapjuk, hogy x12 = 5, x13 = 1, x21 = 6, x23 = 3, x24 = 1, x34 = 4. A többi döntési változó értéke nulla. Válaszunk a feladatra: 5 autó babkonzervet kell szállítani Kézdivásárhelyr˝ol Csíkszeredába, 1-et Kézdivásárhelyr˝ol Székelyudvarhelyre, 6-ot Sepsiszentgyörgyr˝ol Brassóba, 3-at Sepsiszentgyörgyr˝ol Székelyudvarhelyre, 1-et Sepsiszentgyörgyr˝ol Marosvásárhelyre és 4-et Gyergyószentmiklósról Marosvásárhelyre. Ebben az esetben a szállítás összköltsége z = 1579k. Egy általános szállítási feladat valamilyen tárolóhelyek(raktárok) valamilyen halmazából a felvev˝ohelyek (keresleti helyek) valamilyen halmazába történ˝o minimális szállítási összköltséget igényl˝o elszállításával foglalkozik. Egy szállítási feladatban általában az alábbi információk szerepelnek: Az m darab tárolóhelyr˝ol (kínálati hely) álló halmaz az, ahonnan a szállítás történik. Az i-edik tárolóhelyr˝ol legfeljebb si egységet képes szállítani (az i-edik hely kínálata). A mintapéldában m = 3, s1 = 6, s2 = 10, s3 = 4.
2. Szállítási és hozzárendelési feladatok
47
Az n darab felvev˝ohelyb˝ol álló halmaz az, ahová a szállítás történik. A j-edik felvev˝ohelynek legalább dj egységnyire van szükség (az j-edik hely kereslete). A mintapéldában n = 4, d1 = 6, d2 = 5, d3 = 4, d4 = 5. Minden olyan egység, amit az i-edik helyr˝ol a j-edik helyre szállítanak cij költséggel jár. A mintapéldában c11 = 60, c12 = 62, c13 = 112, c14 = 220, c21 = 33, c22 = 68, c23 = 101, c24 = 184, c31 = 160, c32 = 59, c33 = 57, c34 = 118. Ha xij -vel (i = 1, ..., m; j = 1, ..., n;) jelöljük az i-edik tárolóhelyr˝ol a j-edik felvev˝ohelyre szállítandó egységek számát, akkor a szállítási feladat általános formában így írható fel:
Ha egy feladatban
z= m
i=1 n
m n
cij xij → min,
i=1 j=1
xij ≥ dj , j = 1, ..., n, xij ≤ si , i = 1, ..., m,
j=1
xij ≥ 0, i = 1, ..., m; j = 1, ..., n.
m
si =
i=1
n
dj ,
j=1
akkor a teljes kínálat egyenl˝o a teljes kereslettel. Ilyenkor kiegyensúlyozott szállítási feladatról beszélünk. Ha m n si > dj , i=1
j=1
akkor feladatnak van megoldása, de nem kiegyensúlyozott, ha pedig m i=1
si <
n
dj ,
j=1
akkor a feladatnak nincs lehetséges megoldása, mivel ebben az esetben az összkínálat kisebb mint az összkereslet és így a felvev˝ohelyek szükségleteit nem tudják a tárolóhelyek teljesíteni. Az utóbbi esetben kívánatos azt a lehet˝oséget is megengedni, hogy a felvev˝ohelyek egy része kielégítetlen maradjon. Ilyenkor a kielégítetlen kereslet gyakran büntet˝oköltséggel jár. Ezt a helyzetet szemlélteti a mintafeladatnak az az esete, amikor Sepsiszentgyörgyön valamilyen okból csak 8 teherautónyi babkonzervet sikerül el˝oállítani. Ekkor a kínálati oldal 18 autónyi, a keresleti oldal pedig 20 autónyi. A feladat kiegyensúlyozására bevezetünk egy fiktív kínálati helyet, ahol a hiányt, azaz 20 − 18 = 2 teherautónyi babkonzervet állítják el˝o. Err˝ol a helyr˝ol a valamelyik felvev˝ohelyre való szállítási költség éppen az arra a helyre vonatkozó, a hiányból fellép˝o egy egységre számított büntet˝oköltség. Hogy ezt meghatározzuk szerre meg kell oldanunk azokat a szállítási feladatokat, amelyben az egyes felvev˝ohelyek keresletét szerre a hiánnyal, azaz 2-vel csökkentjük.
48
2. Szállítási és hozzárendelési feladatok
Kezdjük Brassóval, csökkentve a szükségletét 2-ét teherautónyival, és kapjuk az alábbi feladatot: Z = kz = 60x11 + 62x12 + 112x13 + 220x14 +33x21 + 68x22 + 101x23 + 184x24 +160x 31 + 59x32 + 57x33 + 118x34 → min, x11 + x21 + x31 = 4, x12 + x22 + x32 = 5, x13 + x23 + x33 = 4, x 14 + x24 + x34 = 5, x11 + x12 + x13 + x14 = 5, x21 + x22 + x23 + x24 = 8, x31 + x32 + x33 + x34 = 5, xij ≥ 0, i = 1, 2, 3; j = 1, 2, 3, 4. Alkalmazva a WinQSB lineáris programozási eszköztárát, megoldásként kapjuk, hogy a szállítás összköltsége z = 1513k. Tehát a büntet˝oköltség 1579k − 1513k = 66k. Mivel ez két egység hiányra volt számítva ezért az egy egységre vonatkozó büntet˝oköltség 33k. Így a fiktív konzervgyárból a Brassóba való szállítás költsége 33k. Teljesen hasonlóan járunk el a többi áruház esetén is. Csíkszeredánál a
Z = kz = 60x11 + 62x12 + 112x13 + 220x14 +33x21 + 68x22 + 101x23 + 184x24 +160x 31 + 59x32 + 57x33 + 118x34 → min, x11 + x21 + x31 = 6, x12 + x22 + x32 = 3, x13 + x23 + x33 = 4, x 14 + x24 + x34 = 5, x11 + x12 + x13 + x14 = 5, x21 + x22 + x23 + x24 = 8, x31 + x32 + x33 + x34 = 5, xij ≥ 0, i = 1, 2, 3; j = 1, 2, 3, 4. lineáris programozási feladatunk van, amelynek szállítás összköltsége z = 1477k. Tehát a büntet˝oköltség 1579k − 1477k = 102k. Így a fiktív helyr˝ol való Csíkszeredába való szállítás költsége 61k.
2. Szállítási és hozzárendelési feladatok
49
Székelyudvarhelynél a
Z = kz = 60x11 + 62x12 + 112x13 + 220x14 +33x21 + 68x22 + 101x123 + 184x24 +160x 31 + 59x32 + 57x33 + 118x34 → min, x11 + x21 + x31 = 6, x12 + x22 + x32 = 5, x13 + x23 + x33 = 2, x14 + x24 + x34 = 5, x11 + x12 + x13 + x14 = 5, x 21 + x22 + x23 + x24 = 8, x31 + x32 + x33 + x34 = 5, xij ≥ 0, i = 1, 2, 3; j = 1, 2, 3, 4. lineáris programozási feladatunk van, amelynek szállítás összköltsége z = 1377k. Tehát a büntet˝oköltség 1579k − 1377k = 202k. Így a fiktív helyr˝ol való Székelyudvarhelyre való szállítás költsége 101k. Marosvásárhelynél a
Z = kz = 60x11 + 62x12 + 112x13 + 220x14 +33x21 + 68x22 + 101x23 + 184x24 +160x 31 + 59x32 + 57x33 + 118x34 → min, x11 + x21 + x31 = 6, x12 + x22 + x32 = 5, x13 + x23 + x33 = 4, x 14 + x24 + x34 = 3, x11 + x12 + x13 + x14 = 5, x21 + x22 + x23 + x24 = 8, x31 + x32 + x33 + x34 = 5, xij ≥ 0, i = 1, 2, 3; j = 1, 2, 3, 4. lineáris programozási feladatunk van, amelynek szállítás összköltsége z = 1233k. Tehát a büntet˝oköltség 1579k − 1233k = 346k. Így a fiktív helyr˝ol való Székelyudvarhelyre való szállítás költsége 173k. Tehát, bevezetve azt a fiktív gyártási helyet, amely Brassótól 33 km-re, Csíkszeredától 61 km-re, Székelyudvarhelyt˝ol 101 km-re és Marosvásárhelyt˝ol 173 km-re fekszik, és amelynek gyártási kapacitása 2 autónyi babkonzerv a következ˝o lineáris programozási feladathoz
50
2. Szállítási és hozzárendelési feladatok
jutunk:
Z = kz = 60x11 + 62x12 + 112x13 + 220x14 +33x21 + 68x22 + 101x23 + 184x24 +160x 31 + 59x32 + 57x33 + 118x34 +33x41 + 61x42 + 101x43 + 173x44 → min, x11 + x21 + x31 + x41 = 6, x12 + x22 + x32 + x42 = 5, x13 + x23 + x33 + x43 = 4, x14 + x24 + x34 + x44 = 5, x11 + x12 + x13 + x14 = 5, x21 + x22 + x23 + x24 = 8, x31 + x32 + x33 + x34 = 5, x41 + x42 + x43 + x44 = 2, xij ≥ 0, i = 1, 2, 3; j = 1, 2, 3, 4.
A WinQSB lineáris programozási eszköztárát alkalmazva, megoldásként kapjuk, hogy x12 = 5, x13 = 1, x21 = 5, x23 = 3, x34 = 4, x41 = 1, x44 = 1. A többi döntési változó értéke nulla. Válaszunk a kit˝uzött feladatra: 5 autó babkonzervet kell szállítani Kézdivásárhelyr˝ol Csíkszeredába, 1-et Kézdivásárhelyr˝ol Székelyudvarhelyre, 5-öt Sepsiszentgyörgyr˝ol Brassóba, 3-at Sepsiszentgyörgyr˝ol Székelyudvarhelyre, 4-et Gyergyószentmiklósról Marosvásárhelyre. Ebben az esetben a szállítás öszköltsége z = 1568k. Mivel a fiktív helyr˝ol a 1 autónyi konzervet szállítanak Brassóba és 1-et Marosvásárhelyre, ezért a brassói és a marosvásárhelyi áruházak szükségletei 1 − 1 teherautónyival hiányt szenvednek. Ez a konzervipari társaságnak 33k + 173k = 206k büntetést jelent. Így a valós szállítási költség 1568k − 206k. = 1362k. 2.1.1.
A WinQSB Network Modeling eszköztárának alkalmazása a szállítási feladatok megoldására
Amint látható volt a szállítási feladatok sok döntési változót és korlátozó feltételt tartalmaznak, de speciális felépítésüknek köszönhet˝oen sok számítást takaríthatunk meg, ha az úgynevezett disztribuciós módszert (más elnevezés szerint szállítási szimplex módszert) alkalmazzuk. Ezt a módszert használja WinQSB Network Modeling eszköztára. A továbbiakban a 2.1. mintapéldát ennek az eszköztárnak a felhasználásával oldjuk meg. Amint láttuk a mintafeladatban a kínálati helyek száma (Number of Souces) 3, a felvev˝ohelyeké (Number of Destinations) pedig 4. Kitöltjük a 2.1. kezd˝otáblát. Vigyázni kell, hogy a feladat típusánál (Problem Type) a szállítási feladatot (Transportation Problem) kell kiválasztani és a célfüggvényt (Objective Criterion) pedig minimalizálásra (Minimization) kell állítsuk, majd beírjuk kínálati helyek számát (a mi esetünkben a 3-at) és a felvev˝o helyek számát (a mi esetünkben a 4-et).
2. Szállítási és hozzárendelési feladatok
51
2.1. ábra. WinQSB Network Modeling eszköztárának kezd˝otáblája Az OK-ra kattintva megjelenik a feladat 2.2. adattáblája. Itt be kell írni, hogy honnan (Source-tároló hely) hová (Destination-felvev˝o hely) mekkora költséggel szállítunk, azaz a cij értékeket, majd meg kell adni az egyes tároló helyek kínálatát az si -ket (Supply) és a felvev˝o helyek szükségleteit a dj -ket (Demand).
2.2. ábra. A 2.1. mintapélda adattáblája. Az síz˝o emberke ikonra kattintva a WinQSB kiszámolja a megoldásokat és betölti a 2.3. táblázatot:
2.3. ábra. A 2.1. mintapélda eredménytáblája. A táblázatból leolvasható, hogy az 1. tárolóhelyr˝ol (Source 1) a 2. felvev˝o helyre (Destination 2) x12 = 5 egységet kell szállítani, aminek az összköltsége (Total Cost) 310k. Hasonlóan a többi döntési változó értéke x13 = 1, x21 = 6, x23 = 3, x24 = 1, x34 = 4. A teljes költség, azaz a célfüggvény minimális értéke (Total Objective Funcion Value) 1579. Látható, hogy ezek a megoldások megegyeznek a lineáris modell megoldásaival.
52
2. Szállítási és hozzárendelési feladatok
2.2.
Hozzárendelési feladat
A lineáris programozási feladatoknak azt a speciális típusát nevezzük hozzárendelési feladatnak, amikor a forrásokat (pl. tárolóhely, gép, alkalmazott) egy az egyhez alapon kell a tevékenységek (pl. felvev˝ohely, m˝uvelet, tevékenység ) között felosztani. Vagyis minden egyes forrást egyetlen egy adott tevékenységhez rendelünk hozzá. Az i-edik forrásnak a j-edik tevékenységhez való hozzárendelése cij költséget jelent, a cél pedig az összköltség minimalizálása. 2.2. mintapélda (Könny˝ uipari cég). Egy könny˝uipari cégnél a nadrág elkészítésének négy különböz˝o tevékenységét 4 különböz˝o varrógépen 4 olyan munkás végzi, akik közül mindegyik tudd dolgozni bármelyik gépen. Azért, hogy a tevékenységek elvégzésének összid˝otartamát minimalizálják, a munkásokkal egy tesztet végeztettek el. Mindenik munkás dolgozott mindegyik gépen, és végezetül kiszámították azt az átlag id˝ot (percben kifejezve), amely alatt az Mi -edik munkás elvégezte az Fj -edik tevékenységet. Ezeket az átlagokat mutatja a következ˝o táblázat:
M1 M2 M3 M4
F1 4 3 6 2
F2 5 4 8 3
F3 5 6 8 2
F4 4 5 7 2
A feladatunk az , hogy megtaláljuk a munkások olyan elosztását, hogy a tevékenységek összid˝otartama minimális legyen. Megoldás. A modell megfogalmazásához jelöljük z-vel az összid˝otartamot és értelmezzük az alábbi változókat (i, j = 1, 2, 3, 4 -re) 1 ha az Mi munkás végzi az Fj tevékenységet, xij = 0 ha az Mi munkás nem az Fj tevékenységet végzi.
Célunk tehát az xij -k olyan megválasztása, amelyre
z = 4x11 + 5x12 + 5x13 + 4x14 + 3x21 + 4x22 + 6x23 + 5x24 +6x31 + 8x32 + 8x33 + 7x34 + 2x41 + 3x42 + 2x43 + 2x44 . Mivel, egy munkás csak egy tevékenységhez rendelhet˝o hozzá, ezért kell teljesüljenek a tevékenységekre vonatkozó: x11 + x21 + x31 + x41 x12 + x22 + x32 + x42 x13 + x23 + x33 + x43 x14 + x24 + x34 + x44
= = = =
1, 1, 1, 1,
= = = =
1, 1, 1, 1
illetve a munkásokra vonatkozó x11 + x12 + x13 + x14 x21 + x22 + x23 + x24 x31 + x32 + x33 + x34 x41 + x42 + x43 + x44
2. Szállítási és hozzárendelési feladatok
53
feltételek. Az els˝o négy feltétel azt biztosítja, hogy minden tevékenység el legyen végezve, az utolsó négy pedig azt, hogy minden munkásnak legyen tevékenysége. Összefoglalva, a feladat lineáris modellje:
z = 4x11 + 5x12 + 5x13 + 4x14 + 3x21 + 4x22 + 6x23 + 5x24 +6x31 + 8x32 + 8x33 + 7x34 + 2x41 + 3x42 + 2x43 + 2x44 → min, x11 + x21 + x31 + x41 = 1, x12 + x22 + x32 + x42 = 1, x13 + x23 + x33 + x43 = 1, x14 + x24 + x34 + x44 = 1, x11 + x12 + x13 + x14 = 1, x21 + x22 + x23 + x24 = 1, x31 + x32 + x33 + x34 = 1, x41 + x42 + x43 + x44 = 1, xij ∈ {0, 1} , i, j = 1, 2, 3, 4. Alkalmazva a WinQSB lineáris programozási eszköztárát, megoldásként kapjuk, hogy x14 = 1, x22 = 1, x31 = 1, x43 = 1. A többi döntési változó értéke nulla. Válaszunk a kit˝uzött feladatra: az els˝o munkás a negyedik tevékenységet, a második munkás a második tevékenységet, a harmadik munkás a els˝o tevékenységet és a negyedik munkás a harmadik tevékenységet végzi el. Ebben az esetben a tevékenységek összid˝otartama z = 16 perc. 2.2.1.
A WinQSB Network Modeling eszköztárának alkalmazása a hozzárendelési feladatok megoldására
Ha eltekintünk az xij ∈ {0, 1} megszorítástól, láthatjuk, hogy a hozzárendelési feladat valójában egy kiegyensúlyozott szállítási feladat, amelyben minden tárolóhelynek 1 a kínálata és minden felvev˝ohelynek 1 a szükséglete. Általában a hozzárendelési feladat egy olyan kiegyensúlyozott szállítási feladat, ahol minden kínálat és szükséglet 1. Egy hozzárendelési feladatot jellemezhetünk a kínálati helyeknek a felvev˝ohelyhez való hozzárendelési költségeivel. A hozzárendelési feladatban a (cij )i,j=1,2,...,m; mátrixot költségmátrix nak nevezzük. A szállítási feladatokra kidolgozott disztribuciós módszer tovább egyszer˝ usíthet˝o a hozzárendelési feladatok esetén. A leggyakrabban a König Gyula és Egerváry által kidolgozott a szakirodalomba "magyar" módszernek nevezett eljárást használják a hozzárendelési feladatok megoldásához. Az alábbiakban a 2.2. mintapéldát a WinQSB segítségével oldjuk meg. El˝oször is elindítjuk a WinQSB Network Modeling eszköztárát, majd az Új feladat (FileNew Problem) ikonra kattintunk, és megadjuk az alapadatokat (2.4. ábra). Vigyázni kell, hogy a feladat típusánál (Problem Type) a hozzárendelési feladatot (Assigmen Problem) kell kiválasztani és a célfüggvényt (Objective Criterion) pedig minimalizálásra (Minimization) kell állítsuk, majd beírjuk a kínálati helyek (Number of Objects) és felvev˝ohelyek (Number of Assigments) számát. Ez a mi esetünkben a 4 − 4.
54
2. Szállítási és hozzárendelési feladatok
2.4. ábra. Hozzárendelési feladat kezd˝otáblája. Az OK ikonra kattintva megjelenik a kitöltend˝o adattábla (2.5. ábra). Itt meg kell adni a kínálati helyeknek (Assignment) a felvev˝ohelyekhez (Assignee) való hozzárendelési költségeit, azaz a költségmátrixot.
2.5. ábra. A 2.2. mintapélda adattáblája. Ha a megoldani és elemezni (Solve and Analyze) menüpontból a oldd meg a problémát (Solve the Problem) parancsot választjuk (vagy a síz˝o emberke ikonra kattintunk), akkor a program meghatározza az optimális megoldást.
2.6. ábra. A 2.2. mintapélda eredménytáblája. Itt láthatjuk (2.6. ábra), hogy melyik munkás melyik tevékenységet kell elvégezze (1-es munkás a 4 tevékenységet, 2-es munkás a 2-est, 3-as munkás az 1-est és 4-es munkás a 3ast), és a minimális id˝ot (Total Objective Function Value) z = 16 perc. Láthatjuk, hogy a megoldások megegyeznek a lineáris modell megoldásaival.
2. Szállítási és hozzárendelési feladatok
55
Ha a megoldani és elemezni (Solve and Analyze) menüpontból a lépésenkénti elvégzést választjuk (Display Steps-Tableau), akkor a magyar módszer els˝o iterációs lépését látjuk. A következ˝o iteráció (Iteration - Next Iteration) paranccsal a második iterációt kapjuk. Ezt addig kell folytatni, amíg az optimális megoldáshoz jutunk. 2.3. Mintapélda. Három gyárból hat vásárlóhoz kell szállítani az árukat. A vásárlók igényeit szerre 40, 35, 25, 20, 60 és 30 tonna. A gyárak termelési kapacitásai a következ˝ok 60, 70 és 80 tonna. Az árú el˝oállítási költsége az egyes gyárakban 11.3, 11.0 és 10.8 euró/tonna. A tonnánkénti szállítási költséget a következ˝o táblázat adja meg:
Gyárak A B C
Szállítási költségek (t/vásárló) Vásárlók 1 2 3 4 5 6 1.5 1.8 3.1 4.2 2.5 3.0 2.2 4.6 3.5 2.4 1.8 4.0 3.6 4.8 1.6 4.4 2.8 2.0
a. Határozzuk meg, hogy mennyi terméket kell az egyes gyárakból az egyes vásárlókhoz elszállítani úgy, hogy az összköltség minimális legyen. b. A gyakori árucikkeket nem direkt a gyárakból a vásárlókhoz kerülnek, hanem el˝oször lerakatokba szállítódnak és csak onnan a megrendel˝ohöz. Példaként vegyük az el˝oz˝o feladatot, ahol az árúk szállítását egy lerakaton keresztül is elvégezhetjük. Ebben az esetben több információra is szükségünk van: a lerakat tonnánkénti raktározási költsége 0.7 euró; a gyárakból a lerakathoz való szállítási költségek a következ˝ok: 0.1, 0.3 és 0.7 euró/tonna; a lerakatból a vásárlókhoz való szállítási költsége szerre 0.7, 0.9, 1.1, 0.8, 0.6 és 0.9 euró/tonna. Megoldás. Ezen feladat megoldásához a WinQSB Hálózatok modellezése (Network Modeling) eszköztár. Hálózati folyam (Network Flow) feladat típusát kell kiválasztani. A csomópontok száma (Number of Nodes) 11: 3 gyár (A, B és C) a lerakat (D1-lerakatba bemen˝o áruk és D2-lerakatból kimen˝o áruk) illetve a hat vásárló (1, 2, 3, 4, 5 és 6). A kezd˝otábla kitöltés után az OK gombra kattintva megjelenik a 2.3. mintapélda 2.7. adattáblája, amelyet a bemeneti adatokkal kell feltölteni. Például, az A-ból a D1-be mutató költség a szállítási és az A-ban a gyártási költségb˝ol tev˝odik össze: 0.1 + 11.3 = 11.4, a D1b˝ol a D2-be a raktározási költséget jelenti, ami 0.7, a D2-b˝ol az 2-be mutató költség az 1-be való szállítási költséget jelenti, ami 0.9. A kínálatot (Supply) csak a gyáraknál, a keresletet (Demand) pedig csak a vásárlóknál tüntetjük fel. A síz˝o emberke ikonra kattintva a WinQSB meghatározza a minimális szállítási programot és betölti a 2.8. eredménytáblát. Látható, hogy a lerakaton 155 tonna árú szállítódott át (D1-t˝ol D2-be). A szállítási költség 2676.5 euró. A lerakat kapacitását korlátozni is lehet, ezt az Edit menüpont Folyam korlát (Flows Bounds) almenüpontja kiválasztásával érjük el. Ha korlátozzuk a lerakat kapacitását 100 tonnára, akkor a 2.9. eredménytáblát kapjuk. Látható, hogy ebben az esetben a költség nagyobb, mint az el˝obb. Ez 2678 euró.
56
2. Szállítási és hozzárendelési feladatok
2.7. ábra. A 2.3. mitapélda adattáblája.
2.8. ábra. A 2.3. mintapélda eredménytáblája.
2.9. ábra. A 2. 3. mintapélda eredménytáblája, ha a lerakat kapacitása korlátozott.
2.3.
Kit˝ uzött feladatok
1. A vasúttársaság (F1 , F2 , F3 ) teherautó pályaudvarban azonos típusú üres teherkocsik állnak, amelyekre (R1 , R2 , R3 , R4 ) pályaudvarokon van szükség, hogy áruval megrakjak ˝oket. Az F1 pályaudvaron 3, az F2 —n 18, az F3 —an pedig 9 teherkocsi áll. Az R1 pályaudvaron 6, az R2 —n 8, az R3 —an 5, míg az R4 -en 11 teherkocsira van szükség. Az egyes pályaudvarokra
2. Szállítási és hozzárendelési feladatok
57
való elszállítási költségeket a következ˝o táblázat tartalmazza. F1 F2 F3
R1 2 2 8
R2 5 2 8
R3 8 4 1
R4 1 4 3
Határozzuk meg a minimális szállítási programot. 2. Egy befektet˝o 3 alapba szeretné elhelyezi pénzét a következ˝oképpen: maximálisan 5 milliót részvénybe, maximálisan 3 milliót államkötvénybe és maximálisan 2 milliót lekötött betétbe. Négy társaságnál fektetheti be a t˝okéjét. Az egyes társaságoknál maximálisan 4, 3, 2 és 1 millió eurót helyezhet el. A társaságok az adott id˝oszakra az alapok szerinti bontásban, a következ˝o táblázat szerint adták meg várható százalékos hozamukat (A, B, C, D a társaságokat, az I, II, III az alapokat jelenti): I II III
A 19 9.4 7.8
B 17 9.8 8
C 20 8.9 7.2
D 16 9.2 6.6
Milyen bontásban helyezze el a pénzét, ha célja a maximális hozam elérése? Az éles feltételekre végezzünk érzékenységvizsgálatot is! 3. Két feladóhelyr˝ol (F1 és F2 ) három célállomásra (R1 , R2 , R3 ) kell árut szállítani. Az egységnyi áru szállítási költsége az egyes relációkban a következ˝o: F1 → R1 : 2 F2 → R1 : 1
F1 → R2 : 4 F2 → R2 : 5
F1 → R3 : 3 F2 → R3 : 6.
Az els˝o feladóhelyr˝ol összesen 5, a másodikról 4 egységnyi árut kell elvinni, a célállomások igényei rendre 3; 4 illetve 2 egységnyi áru. Oldjuk meg a szállítási feladatot a WinQSB programcsomag segítségével! 4. A kormány elárverezi két földterület olajbérleti szerz˝odését. Mindkét földterületen 100.000 hektár földet lehet bérelni. Hárman licitálnak az olajra. A kormány által bevezetett szabályok értelmében egy-egy licitáló az árverezett földnek legfeljebb 40%-át kaphatja meg. Ervin licitje: 1000 lej/hektár az 1. földterületért és 2000 lej/hektár a 2. földterületért. Barna licitje: 900 lej/hektár az 1. földterületért és 2200 lej/hektár a 2. földterületért. Péter licitje: 1100 lej/hektár az 1. földterületért és 1900 lej/hektár a 2. földterületért. Fogalmazzuk meg szállítási feladatként a problémát, majd számítógép segítségével határozzuk meg, hogy a kormány milyen döntést hozzon bevételének maximalizálására. 5. Egy banknak két irodája foglalkozik csekkek feldolgozásával. Az 1. helyszínen naponta 10.000 csekket tudnak feldolgozni, a 2. helyszínen nem naponta 6.000 csekket dolgoznak fel. A bank háromféle csekk feldolgozását intézi: eladói, fizetési és személyi csekkekét. A feldolgozási költség függ a helyszínt˝ol, amit az alábbi táblázat tartalmaz: Eladói csekk Fizetési csekk Személyi csekk
1. helyszín 5 lej/csekk 4 lej/csekk 2 lej/csekk
2. helyszín 3 lej/csekk 4 lej/csekk 2 lej/csekk
58
2. Szállítási és hozzárendelési feladatok
Minden nap minden típusból 5.000 csekket kell feldolgozni. F Minden nap minden típusból 5.000 csekket kell feldolgozni. Fogalmazzuk meg szállítási feladatként a problémát, majd számítógép segítségével határozzuk meg, hogy a bank milyen döntést hozzon költségeinek minimalizálására. 6. Egy Csíkszeredában lév˝o vegyi árukat forgalmazó üzlet 5 különböz˝o bolttal rendelkezik. A forgalma az idei évben nagyon fellendült, ezért úgy gondolta, hogy a kereslet folyamatosabb kielégítése érdekében az egyik bolthoz nagyobb raktárt épít. Terve szerint azonban úgy akarja a beruházást megvalósítani, hogy a boltok közötti szállítást a lehet˝o legolcsóbban tudja megoldani. Az alábbi táblázat megadja az egyes boltok közötti szállítás költségét euróban: Boltok 1. 2. 3. 4. 5.
1. 10 13 5 1
Boltok 2. 3. 4. 10 13 5 1 20 1 7 20 7 19 5 9
5. 1 19 5 9 -
Az alábbi táblázat azt mutatja meg, hogy az egyes boltoknak havonta hány teherautónyi árura van szükségük: Boltok 1. 2. 3. 3 4 5
4. 3
5. 5
Melyik eladóhelyet fejlessze, ha saját központi raktárából az áruk kiszállítását minimális költséggel akarja megoldani. 7. Oldjuk meg az alábbi szállítási feladatot, majd határozzuk meg, hogy mennyivel növekedne a minimális szállítási költség, ha kikötnénk, hogy az A körzetb˝ol csak az A körzetbe, a B körzetb˝ol csak a B körzetbe lehet szállítani.
A körzet B körzet
F1 F2 F3 F4 Kereslet
A körzet C1 C2 10 12 9 10 7 8 13 11 200 400
B körzet C3 C4 C5 10 11 13 10 9 12 8 7 8 10 12 11 100 300 200
Kínálat 300 300 200 400
8. Csíkszereda négy újságárus elárusítóhelyeihez három elosztóból szállítanak újságot. Az egyes árusok igénye az újságokból összesen 300, 200, 400 és 250 darab, míg az elosztókban ezen igények kielégítésére 400, 300, 450 darab áll rendelkezésre. Útkarbantartási munkák miatt le van zárva az E1 → A1 és E2 → A2 útszakasz. Hogyan osszák szét az újságokat, ha a cél a szállítás legrövidebb úton történ˝o megvalósítása, ha az elosztók és az elárusítóhelyek távolságai km-ben a következ˝ok: Elosztók E1 E2 E3
Elárusítóhelyek A1 A2 A3 A4 1 3 2 2 2 3 1 5 3 2 2 1
2. Szállítási és hozzárendelési feladatok
59
Írjuk fel a feladat lineáris programozási modelljét is és ellen˝orizzük, hogy megoldások megegyeznek-e a disztribuciós módszerrel kapott megoldásokkal. 9. Egy vállalat öt különböz˝o helyen végez építési munkálatokat, amelyhez négy betonkever˝o bázisból szerzi be a szükséges betonmennyiséget. A szállítást betonkever˝o kocsikkal végzik. Megvizsgálva a bázisok és az építkezések közti legrövidebb közúti távolságokat az alábbi km-ben megadott táblázatot kapták: Bázisok B1 B2 B3 B4
Építési E1 E2 1 3 2.2 4 1.3 5.6 3.3 4
munkálatok E3 E4 E5 2 7 2 1.5 5 3.1 3 8 5.2 2.5 8.5 2.5
A vizsgálatok során azt is megállapították, hogy két olyan útszakaszok is van, ahol súlykorlátozás miatt betonkever˝o nem haladhat át, ezek: B1 → E5 , B3 → E3 . A betonkever˝o bázisok napi kapacitása 1000, 700, 1500, 800 tonna, az építkezések igényei pedig 400, 300, 450, 1000 és 600 tonna. A szállítási költségek km-re sávonként változnak: 2 km-ig 10 euró, 2-5 km-ig 15 euró, 5 km-t˝ol 20 euró. Tudva, hogy egy betonkever˝o egyszerre csak 10 tonna betont szállíthat, hogyan szervezze meg a vállalat a szállítási tervét, hogy költségei a lehet˝o legkisebbek legyenek. 10. Adjuk meg a következ˝o szállítási feladat optimális megoldását, ha a 3. célállomás nem kaphat árut az els˝o feladótól: F1 F2 F3
R1 6 8 5 20
R2 8 9 6 20
R3 8 8 6 35
R4 6 7 7 45
40 30 50
Lehet-e az optimális megoldásban x23 = 9? 11. Egy vállalathoz három fogyasztótól érkezett megrendelés egy bizonyos termékre, mindegyikt˝ol 30 egységre. A vállalatnak két raktára van. Az 1. raktárban 40 egység, a 2. raktárban pedig 30 egység áll rendelkezésre, vagyis a teljes megrendelést nem tudja kielégíteni. Az alábbi táblázatban láthatók a raktárakból a fogyasztókhoz történ˝o szállítások egységköltségei (euróban): Honnan 1. raktár 2. raktár
Hová 1. vev˝ o 15 10
2. vev˝ o 35 50
3. vev˝ o 25 40
Minden egyes kielégítetlen fogyasztói keresletegységhez bírság tartozik: az 1. vev˝o esetében a bírság 110 euró, a 2. vev˝o esetében a bírság 180 euró, a 3. vev˝o esetében a bírság 90 euró. Oldjuk meg a feladatot számítógép segítségével. 12. Három gép (G1 , G2 és G3 ) mindegyike háromféle termék (T1 , T2 , T3 ) bármelyikét képes el˝oállítani. Az egyes gépeken egy óra alatt bármelyik termékb˝ol egy darab készíthet˝o el. A
60
2. Szállítási és hozzárendelési feladatok
gépek kapacitása rendre 20, 30 és 35 gépóra/hét. Az egyes termékekb˝ol a kereslet hetente minimálisan 45, 30, illetve 25 darab. A kereslet teljesítésének egységnyi hiánya az 1-es termékb˝ol 2 euró, a 2-esb˝ol 3 euró, a 3-asból pedig 1 euró veszteséget jelent. Egy termék darabjának gyártási költsége (euróban) az egyes gépeken az alábbi táblázatban látható:
G1 G2 G3
T1 8 5 6
T2 9 4 8
T3 7 6 7
Mivel a keresletet nem tudja kielégíteni ezért döntenie kell, hogy az egyes termékekb˝ol mennyit gyártson ahhoz, hogy kiadása a lehet˝o legkisebb legyen. 13. Hargita 2020 cégnél egy csapatban 4 takarítón˝o dolgozik. Egy lakrész teljes kitakarítása porszívózásból, padló feltörlésb˝ol, a fürd˝oszoba kitakarításából és általános rendrakásból áll. Az alábbi táblázat megadja, hogy az egyes takarítón˝ok e munkákat mennyi id˝o alatt végzik el:
Takarítón˝ ok 1. takarítón˝ o 2. takarítón˝ o 3. takarítón˝ o 4. takarítón˝ o
Szükséges id˝ o (percben) porszívózás feltörlés fürd˝ oszoba 60 45 30 70 35 25 60 40 25 50 50 30
rendrakás 20 25 30 20
Melyik takarón˝o melyik munkát lássa el, hogy a lakás kitakarítása a lehet˝o leghamarabb megtörténjék, tudva azt, hogy egyes munkák csak egymás után végezhet˝ok el és mindegyik takarítón˝o csak egy munkát végez el? Számítógép segítségével oldjuk meg ezt a hozzárendelési feladatot. 14. A csíkszeredai rend˝orség éppen most kapott 4 telefonhívást. Jelenleg 5 autón teljesítnek szolgálatot a rend˝orök. Az alábbi táblázat azt mutatja, hogy egyes autók milyen távolságra vannak az egyes hívásoktól:
Autók 1. autó 2. autó 3. autó 4. autó 5. autó
Az útszakasz megtételéhez szükséges id˝ o 1 hely 2 hely 3 hely 4 hely 10 11 18 15 6 7 7 6 7 8 5 8 5 6 4 3 9 4 7 7
A takarékosság jegyében, a rend˝orség szeretné minimalizálni az össztávolságot, vagyis azoknak az utaknak az összegét, amennyit az egyes autóknak meg kell tenniük a hívás helyszínére érkezéséhez. Számítógép segítségével oldjuk meg ezt a hozzárendelési feladatot.
2. Szállítási és hozzárendelési feladatok
61
15. Az alábbi táblázat 5 munka 5 gép használatának költségét adja meg.
Munka 1. 2. 3. 4. 5.
Gép A B 22 30 27 29 33 25 24 24 30 33
C 26 28 21 30 32
D 16 20 29 19 37
E 25 32 23 26 31
Melyik munkát melyik géphez kell hozzárendeljük ahhoz, hogy csökkentsük a költségeinket? 16. Négy hallgató vizsgázik. A tanár kiválaszt 6 tételt, amelyekb˝ol a hallgatók véletlenszer˝ uen kiválasztanak egyet-egyet. A hallgatók felkészültségét az egyes tantárgyakból az alábbi táblázat tartalmazza: Hallgató A B C D
I. 9 6 9 8
II. 6 7 10 5
Tétel III. IV. 9 5 7 4 5 7 7 7
V. 10 5 5 5
VI. 9 4 7 4
A legszerencsésebb húzás esetén mennyi lesz a hallgatók osztályzatának átlaga? Legszerencsésebb húzásnak azt tekintjük, ha a hallgatók által elért összeredmény a lehet˝o legnagyobb. Lehetséges-e, hogy minden hallgató azt a tételt húzza, amelyb˝ol a legjobban felkészült? A legszerencsétlenebb húzás esetén el˝ofordulhat-e, hogy egyik hallgató sem kap 4-est? 17. Öt alkalmazott áll rendelkezésünkre négy munka elvégzésére. Az alábbi táblázatban látható, hogy melyik alkalmazott melyik munkát hány óra alatt tudja elvégezni. „-„ jelöli, ha a személy a munkát nem tudja elvégezni.
Személy 1. 2. 3. 4. 5.
Id˝ o (órában) 1. munka 2. 22 18 26 16 21
munka 18 20 22 -
3. munka 30 27 28 25
4. munka 18 22 28 14 28
Jelöljük ki az alkalmazottakat az egyes munkákra úgy, hogy a négy munka elvégzéséhez szükséges id˝o minimális legyen! 18. Egy számítógép karbantartó cég négy megrendel˝onek dolgozik. Jelöljük ezeket C1 , C2 , C3 és C4 -el. A cégnek 4 technikusa van: T1 , T2 , T3 és T4 . Mivel mindegyik technikus más és más szakterületen szakosodott, ezért a megrendel˝ok által kért különböz˝o karbantartási tevékenységeket alábbi táblázatban feltüntetett id˝otartamok (munkaórában) alatt végzik
62
2. Szállítási és hozzárendelési feladatok
el: Technikusok T1 T2 T3 T4
Megrendel˝ ok C1 C2 C3 C4 3 6 7 10 5 6 3 8 2 8 4 16 4 7 5 9
A cég vezet˝osége minimalizálni szeretné a karbantartási összid˝otartamot. Hozzárendelési és lineáris programozási feladatként is keressük meg az optimális megoldásokat. 19. Egy bizonyos terméket egy vállalat a csíkszeredai és sepsiszentgyörgyi telepén gyárt, Csíkszeredában (Cs) hetente 800 egységet tudnak elkészíteni, Sepsziszentgyörgyön (S) 1200 egységet. Egységnyi termék gyártási költsége mindkét telepen 100 euró. A heti megrendelés a termékre Székelyudvarhelyen (Sz) 800, Gyergyószentmiklóson (Gy) és Kézdivásárhelyen (K) 600-600 darab. A termék el˝oször a Tusnádon (T) és Oltszemen (O) lév˝o raktárak egyikébe kerül, majd onnan szállítják tovább a megrendel˝okhöz. Az egységnyi termék raktározási költsége Tusnádon 5 euró, Oltszemen 3 euró. A tusnádi raktár kapacitása 1500, az oltszemi pedig 1000. Az alábbi táblázat az egyes helységek közötti szállítás egységköltségét mutatja euróban: Honnan Cs S T O
Hová T O 2 3 3 2 -
Sz 5 6
Gy 6 7
K 4 3
Olyan szállítási tervet akarunk készíteni, hogy a termékek összes gyártási + raktározási + szállítási költsége a lehet˝o legkisebb legyen. Írjuk fel azt a szállítási feladatot, amelynek optimális megoldása ezen összetett szállítási feladat megoldását szolgáltatja. WinQSB alkalmazásával keressük meg az optimális megoldásokat. 20. Fát kell szállítani Kászonból illetve Csernátonból Brassóba és Marosvásárhelyre. A szállítás Kézdivásárhelyt˝ol és Csíkszeredától vonattal is történhet. Kászon kapacitása 320 m3 hetente, Csernáton kapacitása 280 m3 /h´ et. Brassó igénye 290 m3 /h´ et, Marosvásárhely 3 3 igénye 310 m /h´ et. Egy m fa szállítási költségét az egyes viszonylatokban az alábbi táblázatok tartalmazzák (euróban kifejezve): Rönkszállítóval Kászon Csernáton
Brassó 20 10
Marosvásárhely 35 30
Vonattal Kézdivásárhely Csíkszereda
Brassó 5 6
Kézdivásárhely 12 3
Csíkszereda 10 -
Marosvásárhely 15 10
Kézdivásárhelyen a raktározási kapacitás 130m3 és költsége 2 eur´ o/m3 Csíkszeredában pedig 200 m3 , illetve 1.5 eur´ o/m3 . Határozzuk meg a minimális költség˝ u szállítási tervet.
2. Szállítási és hozzárendelési feladatok
63
21. Egy termel˝ovállalat három különböz˝o telephelyén 8, 5 és 3 millió euró érték˝u árut állítanak el˝o havonta. Mivel a cég telephelyei nehezen megközelíthet˝ok, a cég az árukat nem közvetlen a megrendel˝okhöz, hanem a közelében lév˝o, egymástól azonban távolabb fekv˝o raktáraiba szállítja, majd onnan a megrendel˝okhöz. A befogadó kapacitás csupán az egyik R1 raktárában korlátozott. Ide 5 millió euró érték˝ u áru fér be. Az egyes raktárok üzemeltetési költsége rendre: 0.5, 0.7 és 0.8 millió euró/1 millió érték˝u áru; Az alábbi táblázat megadja a szállítási költségeket (euró/1 millió érték˝u áru) a három telephely (T1 , T2 , T3 ) a három raktár (R1 , R2 , R3 ) és az öt megrendel˝o (M1 , M2 , M3 , M4 , M5 ) között: Telephelyek, raktárok T1 T2 T3 R1 R2 R3
R1 1000 5000 2000
Raktárok, megrendel˝ ok R2 R3 M1 M2 M3 M4 5000 4000 1000 3000 4000 3000 1000 2000 1000 1000 1000 500 700 2000 500 1000 3000 1500
M5
2000 800 900
A megrendel˝ok igényei rendre: 4, 2, 3, 5 és 4 millió euró érték˝u áru. A termel˝ovállalatnak az 1 millió eurós tétel el˝oállítási költsége az egyes telephelyeken rendre: 8000, 10000 és 11000 euróba kerül. Határozzuk meg hogy mennyi terméket kell az egyes gyárakból az egyes vásárlókhoz elszállítani úgy, hogy az összköltség minimális legyen.
3. fejezet Játékelméleti feladatok
A játékelmélet a matematika egyik, interdiszciplináris jelleg˝ u ága, mely azzal a kérdéssel foglalkozik, hogy mi a racionális (ésszer˝u) viselkedés olyan helyzetekben, ahol minden résztvev˝o döntéseinek eredményét befolyásolja a többiek lehetséges választása, azaz a játékelmélet a stratégiai problémák elmélete. A játékelmélet hasznos olyan döntések meghozatalánál, amikor két vagy több többékevésbé ellentétes érdekeltség˝u döntéshozó (játékos) szerepel. A játékelmélet nemcsak a szokásos értelemben vett játékokkal — például társasjátékokkal — foglalkozik. Létrehozói, Neumann János magyar születés˝u amerikai matematikus és Oskar Morgenstern német születés˝u amerikai közgazdász eredetileg gazdasági problémák megoldására alkották meg. The Theory of Games and Economic Behavior (Játékelmélet és gazdasági viselkedés) c., 1944-ben közreadott könyvükben megállapítják, hogy a természettudományok céljaira kifejlesztett matematika — érdekek közrejátszása nélküli m˝ uködéseket írván le — nem szolgál megfelel˝o modellel a közgazdaság vizsgálatához. Megfigyeléseik szerint a gazdaság m˝uködése inkább játékhoz hasonlít — a résztvev˝ok valamennyien igyekeznek el˝ore megsejteni a többiek lépéseit —, s ebb˝ol arra a következtetésre jutottak, hogy a gazdaság vizsgálata újfajta — általuk játékelméletnek nevezett — matematikát követel. 1994-ben Harsányi János magyar származású közgazdász John Forbes Nash-sel és Reinhard Selten-nel megosztva közgazdasági Nobel díjat kapott a nem-kooperatív játékok elméletében az egyensúly-analízis terén végzett úttör˝o munkásságért.
3.1.
A játékok osztályozása
A játékok többféle szempont szerint sorolhatók osztályokba. Az egyik ilyen szempont a játékban részt vev˝ok száma: eszerint léteznek egy-, két- és többszemélyes játékok (a játékosok nemcsak természetes személyek, hanem nemzetek, társaságok stb. is lehetnek). A játékosok által felhasznált információ szerint beszélhetünk teljes kör˝u információra támaszkodó illetve nem teljes információra teljes kör˝u információra támaszkodóalapuló játékokról. Az el˝obbi esetben a játékosok a teljes tudás birtokában vannak (ahogyan például a sakkban: hiszen mindkét játékos ismerheti a sakk valamennyi szabályát). Az utóbbi esetben a játékosok tudása csupán részleges (a pókerjátékban pl. a játékosok nem tudják, hogy milyen kártyák vannak az ellenfelek kezében). 65
66
3. Játékelméleti feladatok
A játékok különfélék lehetnek továbbá aszerint, hogy a játékosok érdekei azonosak vagy ellentétesek-e. A nulla- összeg˝u (pontosabban szólva: állandó összeg˝u ) játékokban a játékosok egymásnak ellenfelei (pl. a pókerben, minthogy ott a játékosok összvagyona állandó: amit az egyik megnyer, azt a másik szükségképpen elveszti, ugyanis a játék közben nem teremt˝odik pénz, és nem is semmisül meg). Az ilyen játékokban a játékosok érdekei teljesen ellentétesek egymással. A nem nulla-összeg˝u játékokban viszont a játékosok egyszerre is lehetnek nyertesek vagy vesztesek: a dolgozók és a vezet˝ok közötti vitában a két félnek lehetnek ellentétes érdekei, de mindkett˝onek el˝onye fakadhat abból, ha sikerül elkerülniük a munkabeszüntetést. A nem nulla-összeg˝u játékok lehetnek továbbá kooperatívak és nem kooperatívak. A kooperatív játékokban a résztvev˝ok kommunikálhatnak egymással, és el˝ozetes megállapodásokat köthetnek. A nem kooperatív játékokban viszont nem. Valamely vállalat és az alkalmazottai között kooperatív játék folyik, egy árverésen egymástól függetlenül licitálók között viszont nem. S végül léteznek véges és nem véges játékok. A véges játékokban a résztvev˝ok csak véges számú döntést hozhatnak, és az egyes döntésekben csak végesen sok lehet˝oség közül választhatnak, a nem végesekben viszont vagy a döntések száma nem véges, vagy az egy-egy döntésben lehetséges választások száma nem az. A játékok leírásának háromféle módja van: az extenzív forma, a normál forma és a karakterisztikus függvényes forma. A társasjátékok legtöbbjét — minthogy lépésr˝ol lépésre haladnak — extenzív formában lehet leírni: azaz egy gráfelméleti értelemben vett fával. Ennek az egyes helyzetek vagy lépések a csomópontjai, és a csomópontokat összekapcsoló élek a játékosok választási lehet˝oségeit adják meg. A normál forma jobbára a kétszemélyes játékok leírására használatos: a játékot ebben egy mátrix jeleníti meg, s annak oszlopai az egyik játékos lehetséges stratégiáinak felelnek meg, a sorai pedig a másik játékos stratégiáinak. Az egy-egy sor és oszlop találkozásának helyén álló mátrixelem azt mutatja meg, mi a játék kimenetele, ha az els˝o játékos a szóban forgó oszlopnak, a másik a sornak megfelel˝o stratégiát követi. A normál formával való leírás elméleti szempontból fontos, és a gyakorlatban is használható, ha viszonylag kicsi a stratégiák száma. A karakterisztikus függvényes forma — ezt a kett˝onél több játékos játszotta játékok leírására szokás használni — azt mutatja meg, hogy legalább mekkora értékre tehet szert a játékosokból alakítható egy-egy koalíció a koalíción kívüli többi játékosból álló koalíció ellen.
3.2.
Kétszemélyes nulla-összeg˝ u játékok
A kétszemélyes nulla-összeg˝u játékok jellemz˝oi: Két játékos van: nevezzük ˝oket a sor-, illetve oszlopjátékosoknak. Mindkét játékos racionális (logikusan gondolkodik) és mindkét játékos kizárólag annak alapján választja meg stratégiáit, hogy saját jólétét el˝omozdítsa (nincs együttérzés az ellenféllel szembe). A sorjátékos a számára elérhet˝o m darab stratégia közül választ pontosan egyet. Egyidej˝uleg, az oszlopjátékos a számára elérhet˝o n darab stratégia közül választ pontosan egyet. A stratégia állhat egy egyszer˝u akcióból, mint az 3.1. mintapéldában, vagy egy el˝ore kimondott szabály betartása mellett egy lépéssorozatból. Miel˝ott a játék elkezd˝odne, mindegyik játékos ismeri a saját maga és az ellenfele rendelkezésre álló stratégiáit és a kifizetésmátrixát. A játék tényleges lejátszása abból áll, hogy a játékosok egyidej˝ uleg kiválasztanak egy stratégiát, anélkül, hogy ismernék az ellenfél választását.
3. Játékelméleti feladatok
67
Ha a sorjátékos az i-edik stratégiát, míg az oszlopjátékos az ˝o j-edik stratégiáját választja, akkor a sorjátékos az aij összeget kap, míg az oszlopjátékos aij összeget veszít. Tekinthetjük úgy, hogy ha aij pozitív akkor az oszlopjátékos fizet aij összeget a sorjátékosnak, ha pedig aij negatív akkor a sorjátékos fizet az oszlopjátékosnak −aij összeget. Egy ilyen játékot normál formában adunk meg a kifizetésmátrix segítségével. A mátrixban szerepl˝o aij együtthatók a sorjátékos kifizetését jelentik: A sorjátékos stratégiái 1. 2. .. . m.
Az oszlopjátékos stratégiái 1. 2. ··· n. a11 a12 ··· a1n a21 a22 ··· a2n .. .. .. .. . . . . am1 am2 ··· amn
Attól, hogy egy kétszemélyes játék nem nulla-összeg˝u, a két játékos érdeke még álhat teljes konfliktusban. Ezt illusztrálják a kétszemélyes konstans-összeg˝u játékok. Ezek olyan játékok, amelyben a játékosok tetsz˝oleges stratégia választására a sorjátékos kifizetésének és az oszlopjátékos kifizetésének összege egy állandó c éték. Ha c = 0, akkor nulla-összeg˝ u játékunk van. Az egyes játékosok optimális stratégiáját és a játék értékét a konstans összeg˝ u játékoknál is általában ugyanúgy lehet meghatározni, mint a nulla-összeg˝u játékoknál. A teljes kör˝u információra támaszkodó kétszemélyes játékokról (pl. a sakkról, a dámáról, a japán go játékról) Ernest Zermelo 1912-ben bebizonyította, hogy el˝ore meg vannak határozva, azaz a résztvev˝ok a rendelkezésre álló információk maradéktalan kiaknázásával optimális stratégiát alakíthatnak ki, az ilyen játékok kimenetele el˝ore tudható. Ez például a sakkra nézve azt jelenti, hogy ha a világos és sötét is az optimális stratégiát játssza, akkor döntetlen lesz a mérk˝ozés végeredménye. Minthogy egy megfelel˝oen gyors számítógéppel (a sakk szerencséjére jelenleg még nincs ilyen gyors számítógép) az ilyenfajta játékok mind teljesen végigelemezhet˝ok, játékelméletileg szintén nem túl érdekesek. A nem teljes információra alapuló kétszemélyes, nulla-összeg˝u játékok közül a legegyszer˝ubbek azok, amelyekben van nyeregpont (vagyis a résztvev˝ok valamelyikének van olyan döntése, amellyel maximális nyereségre tehet szert, bármit tegyen is a másik. Az el˝obbi, teljes kör˝u információra alapulókban mindig van ilyen nyeregpont). Ezekben a játékoknak mindig meghatározott a kimenetelük (ha a résztvev˝ok játéka ésszer˝ u), és a megfelel˝o stratégiát követve a játékosok bármelyike legalább ennek a kimenetnek megfelel˝o nyereségre tehet szert, akárhogyan játszik az ellenfele. Ezt az el˝ore meghatározott nyereségminimumot a játék értékének is nevezik. 3.1. mintapélda (Piaci részesedés). Két kereskedelmi vállalat osztozik egy speciális termék forgalmazásának piacán. Mindketten új piaci terveket dolgoznak ki a következ˝o évre, hogy megkíséreljék az eladások egy részét megszerezni a másik vállalattól. A termékb˝ol az összeladás viszonylag állandó, tehát az egyik vállalat csak a másik rovására tudja növelni eladásait. Mindkét vállalat három lehet˝oségben gondolkodik: a terméket jobban csomagolja (1), növelje a hirdetéseket (2), egy kicsit csökkentse az árat (3). A három lehet˝oség költségei nagyjából összemérhet˝oek, és elég nagyok ahhoz, hogy mindkét vállalat csak egyet válasszon közülük. Az alábbi táblázat mutatja lehet˝oségek becsült hatását az I. társaság piaci
68
3. Játékelméleti feladatok
részesedésének százalékos növekedésére: I 1. 2. 3.
1. −2 0 0
II 2. 5 −1 2
3. 2 1 1
Megoldás. Mit tegyen az I. vállalat ebben az esetben? Ha az 1. stratégiát (1. sort) választja, akkor a II. vállalat is az 1. stratégiát fogja választani, mert ekkor neki a részesedése 2%-al fog n˝oni. Ha a II. vállalat a 2. vagy 3. stratégiát választaná, akkor ˝ot 5%-os illetve 0%-os részesedés-veszteség érné. Hasonlóan, ha az I. vállalat a 2. stratégiát (2. sort) választaná, akkor a II. vállalat is a 2. stratégiáját kell válassza, mert ekkor n˝o a legjobban a piaci részesedése (1%-ot). Amennyiben az I. vállalat a 3. stratégiát (3. sort) választja, akkor a II. vállalatnak az 1. stratégia választása mellett lesz a piaci növekedése a legnagyobb (0%). Tehát, az I. vállalatnak azt a stratégiát kell választania, amelyik esetén a nyeresége a legnagyobb, azaz amelynél a sorok minimuma a legnagyobb. Ily módon biztosítania tudja, hogy nyeresége legalább max {−2, −1, 0} = 0 legyen. A helyzet a II. vállalat szempontjából éppen fordított. Amikor ˝o egy stratégiát (oszlopot) választ, arra kell számítson, hogy az I. vállalat az oszlopban szerepl˝o legnagyobb értéket tartalmazó sort fogja választani, így okozva a legnagyobb hasznot a saját maga számára. Esetünkben, ha a II. az els˝o oszlopot választja, akkor az I. a második vagy a harmadik sort fogja választani, így a II. vesztesége 0%. Hasonlóan, ha a II. a második oszlopot választja, akkor az I. az els˝ot sort fogja választani. Ekkor a II. vesztesége 5%. Amennyiben a II. a harmadik oszlopot választja, az I. az els˝o sort fogja választani. Így a II. vesztesége 2% lesz. Tehát a II. vállalat legjobb választása az 1. stratégia, mert ekkor biztosítani tudja, hogy a vesztesége ne legyen több mint min {0, 5, 2} = 0. Megmutattuk, hogy az I. vállalat el tudja érni, hogy nyeresége legalább 0 legyen, a II. vállalat pedig azt, hogy az I. vállalat nyeresége ne legyen több mint 0. Az I. vállalat számára egyetlen ésszer˝u stratégia, hogy egy kicsit csökkentse az árat (3), a II. számára pedig, hogy a terméket jobban csomagolja (1). E játék kifizetésmátrixára teljesül a nyeregpont feltétele: max min {aij } = min max {aij } . (3.1) i=1,2,...,m
j=1,2,...,n
j=1,2,...,n
i=1,2,...,m
Azt mondjuk, hogy egy kétszemélyes nulla-összeg˝u játékban nyeregpont van, ha a kifizetésmátrixra teljesül az (3.1) összefüggés. Ha egy játékban van nyeregpont, akkor a (3.1) feltételben szerepl˝o két kifejezés közös értékét a játék értékének nevezzük a továbbiakban v-vel jelöljük. A nyeregpont egyfajta egyensúlypont is abban az értelemben, hogy semelyik játékos nem húzhat hasznot abból, ha egyoldalúan stratégiát változtat. Esetünkben max min {aij } = max {−2, −1, 0} i=1,2,3 j=1,2,.3 = min max {aij } = min {0, 5, 2} = 0 j=1,2,3
i=1,2,3
ez teljesül és a játék értéke v = 0. Példánkban, ha az I. vállalat eltér a harmadik stratégiától és mondjuk az els˝o stratégiát választja, de a II. vállalat nem tér el az optimális stratégiájától,
3. Játékelméleti feladatok
69
akkor az I. vállalatot 2% veszteség éri. Egy nyeregpont tehát stabil abban az értelemben, hogy onnan egyik játékos sem kíván egyoldalúan elmozdulni. A nyeregpont keresésének rendszeres módszere a maximin és a minimax értékek keresése. A vizsgált példában ez így történik: 1. 2. 3.∗ Oszlopmaximum
1.∗ −2 0 0
2. 5 −1 2
3. 2 1 1
0∗
5
2
Sorminimum −2 −1 0∗ max {−2, −1, 0} = 0 min {0, 5, 2} = 0
Ha az oszlopmaximumok legkisebb értéke azonos a sorminimumok legnagyobb értékével, akkor van nyeregpont. Ez a közös érték a játák értéke a v. Az optimális stratégiák az I. és II. játékosoknak a játék értékének megfelel˝o sorok illetve oszlopok választása. Ezeket a táblázatban ∗ -al jelöltük. Számos kétszemélyes nulla-összeg˝u játéknak nincsen nyeregpontja. Ilyen például a következ˝o játék. 3.2. mintapélda (Egyforma vagy különböz˝ o játék). Ez a játék abból áll, hogy mindkét játékos egyszerre felmutatja egy vagy két ujját. Ha az ujjak száma megegyezik, akkor a I. játékos (legyen ez a sorjátékos) elnyer a II. játékostól (ez az oszlopjátékos) 1 eurót. Ha számok nem egyeznek meg, akkor az I. játékos fizet a II. játékosnak 1 eurót. Megoldás. Mindkét játékosnak két stratégiája van: egy ujjat mutat (1), vagy két ujjat (2) mutat. A játék kifizetési mátrixa: II I 1. 2.
1. 1 −1
2. −1 1
Ebben az esetben 1. 2. Oszlopmaximum
1.∗ 1 −1
2. −1 1
1
1
Sorminimum −1 −1 max {−1, −1} = −1 min {1, 1} = 1
Ha valamely kétszemélyes, nulla-összeg˝u játékban nincs nyeregpont, akkor az elmélet nem szolgál semmilyen sajátos stratégiával. Ehelyett azt mondja, hogy a kimenetek valószín˝uségének eloszlásával összhangban lév˝o stratégiát kell választani (az ilyen stratégiát kevert stratégiának mondják). Neumann János 1928-ban bebizonyította, hogy minden véges, kétszemélyes, nulla-összeg˝u játéknak létezik kevert stratégiával elérhet˝o megoldása. Ezt minimax-tételnek nevezik. Most megengedjük, hogy mindkét játékos csak az egyes stratégiák kiválasztásának valószín˝uségét döntse el., és a véletlenre bízza a tényleges követett stratégia kiválasztását. Esetünkben jelöljük: x1 -gyel annak valószín˝uségét, hogy az I. játékos egy ujjat mutat fel; x2 -vel annak valószín˝uségét, hogy az I. játékos két ujjat mutat fel;
70
3. Játékelméleti feladatok
y1 -gyel annak valószín˝uségét, hogy az II. játékos egy ujjat mutat fel; y2 -vel annak valószín˝uségét, hogy az II. játékos két ujjat mutat fel; Ha x1 , x2 ≥ 0 és x1 + x2 = 1, akkor (x1 , x2 ) egy kevert (véletlenszer˝ u) stratégia a sorjátékosnak. Hasonlóan, ha y1 , y2 ≥ 0 és y1 + y2 = 1, akkor (y1 , y2 ) egy kevert (véletlenszer˝ u) stratégia az oszlopjátékosnak. Általában, a sorjátékos számára az (x1 , x2 , ..., xm ) kevert stratégia, ha x1 , x2 , ..., xm ≥ 0 és x1 + x2 + ... + xm = 1. Egy (x1 , x2 , ..., xm ) kevert stratégia a sorjátékos számára tiszta stratégia lesz, ha valamelyik xi = 1. Hasonlóan, az oszlopjátékos számára az (y1 , y2 , ..., yn ) kevert stratégia, ha y1 , y2 , ..., yn ≥ 0 és y1 +y2 +...+yn = 1. Egy (y1 , y2 , ..., yn ) kevert stratégia az oszlopjátékos számára tiszta stratégia lesz, ha valamelyik yj = 1. Mivel kevert stratégiák esetén a teljesítmény mérésére teljesen kielégít˝o mér˝oszám nem áll rendelkezésre, nagyon hasznos a várható kifizetés: V (x, y) =
n m
aij xi yj.
i=1 j=1
Esetünkben V (x, y) = x1 y1 − x1 y2 − x2 y1 + x2 y2 . A minimax-kritérium azokra a játékokra is kiterjeszthet˝o, amelyeknek nincs nyeregpontja. Ebben az esetben a minimax-kritérium azt mondja ki, hogy a sorjátékosnak olyan kevert stratégiát kell választania, amely maximalizálja a várható kifizetés minimumát, az oszlopjátékosnak pedig azt, amely minimalizálja a várható veszteség maximumát saját maga számára. A várható kifizetés minimumán a lehet˝o legkisebb várható kifizetést értjük, azaz, ha a sorjátékos az x = (x1 , x2 , ..., xm ) kevert stratégiát választja, akkor m n v (x) = min aij xi yj / y1 , y2 , ..., yn ≥ 0 és y1 + y2 + ... + yn = 1 i=1 j=1
A várható veszteség maximumán a lehet˝o legnagyobb várható kifizetést értjük, azaz ha az oszlopjátékos az y = (y1 , y2 , ..., yn ) kevert stratégiát választja, akkor m n v (y) = max aij xi yj / x1 , x2 , ..., xm ≥ 0 és x1 + x2 + ... + xm = 1 i=1 j=1
A v (x) a játék alsó értéke és v (y) a játék fels˝o értéke. Amikor tiszta stratégiákat választunk, akkor a nyeregpont nélküli játékok instabilisak, mindkét játékos arra törekszik, hogy javítson a helyzetén. A tanulmányozott példában v = −1 és v = +1. Mindkét játékos azért akar kever stratégiával játszani, mert ezzel javíthat a helyzetén: a sorjátékos megfelel˝o x kevert stratégia esetén v (x) > v több jövedelemre tehet szert, az oszlopjátékos pedig megfelel˝o y kevert stratégiával v (y) < v kevesebb veszteség éri. De bárhogyan választják stratégiájukat v (x) ≤ v (y) összefüggés érvénybe marad. Neumann minimax tétele kimondja, hogy: Minimax tétel. Létezik olyan x∗ kevert stratégiája a sorjátékosnak és olyan y ∗ kevert stratégiája az oszlopjátékosnak, amelyre v ≤ v (x∗ ) = v (y ∗ ) ≤ v.
3. Játékelméleti feladatok
71
Ezt a közös v = v (x∗ ) = v (y ∗ ) a játék értékének nevezzük. Így, ha a játékosok az x∗ = (x∗1 , x∗2 , ..., x∗m ) illetve az y ∗ = (y1∗ , y2∗ , ..., yn∗ ) optimális kevert stratégiákat választják, akkor a várható kifizetés v, és egyik játékos sem tud jobban teljesíteni azáltal, hogy egyoldalúan megváltoztatja stratégiáját. Az optimális stratégiákat meghatározhatjuk, ha felírjuk a játék lineáris programozási modelljét. Tegyük fel, hogy a sorjátékos az x = (x1 , x2 , ..., xm ) kevert stratégiát választja. Igazolni lehet, hogy várható kifizetése ekkor m v (x) = min aij xi / j = 1, ..., n = v, i=1
azaz
v≤
m
aij xi , bármely j = 1, ..., n.
(3.2)
i=1
A sorjátékos célja a v (x) maximalizálása, vagyis z = v → max, a x + a x 11 1 21 2 + ... + am1 xm − v ≥ 0, a12 x1 + a22 x2 + ... + am2 xm − v ≥ 0, .. . a x + a x + ... + amn xm − v ≥ 0, 1n 1 2n 2 x1 + x2 + ... + xm = 1, x1 , x2 , ..., xm ≥ 0
(3.3)
lineáris programozási feladat optimális megoldásai adják a sorjátékos optimális kevert stratégiáját. A Minimax tétel alapján, ennek az LP feladatnak mindig van megoldása. Teljesen hasonló meggondolások alapján az oszlopjátékos optimális kevert stratégiáját megkapjuk, ha megoldjuk a w = u → min, a11 y1 + a12 y2 + ... + a1n yn − u ≤ 0, a21 y1 + a22 y2 + ... + a2n yn − u ≤ 0, .. (3.4) . am1 y1 + am2 y2 + ... + amn yn − u ≤ 0, y1 + y2 + ... + yn = 1, y , y , ..., y ≥ 0 1
2
n
LP feladatot. Könny˝u kimutatni, hogy sor- illetve oszlopjátékos LP-jei egymás duálisai. Ezért elég, ha megoldjuk a sorjátékos LP-jét. Ebben az esetben a megoldások a sorjátékos optimális kevert stratégiáját az árnyékárak pedig az oszlopjátékos optimális kevert stratégiáját adják meg. Ha alkalmazzuk a dualitás er˝os tételét a játékosok LP modelljeire visszakapjuk a Minimax tételt. A 3.2. mintapélda esetén az optimális kevert stratégiák meghatározásához a következ˝oképpen járunk el: Els˝o lépésként kib˝ovítjük a kifizetési táblázatot a kevert stratégiák sorával illetve oszlopával, valamint a játék értékeit jelent˝o v és u értékekkel.
72
3. Játékelméleti feladatok x1 x2
y1 1 −1 v
y2 −1 1 v
u u
Majd sort sorral és oszlopot oszloppal szorozva felírjuk a két játékos LP-jét: z = v → max, x1 − x2 − v ≥ 0, −x1 + x2 − v ≥ 0, x1 + x2 = 1, x1 , x2 ≥ 0 w = u → min, y1 − y2 − u ≤ 0, −y1 + y2 − u ≤ 0, y1 + y2 = 1, x1 , x2 ≥ 0
Sorj.
Oszlopj.
A WinQSB lineáris programozási eszköztárát használva kapjuk, hogy (x1 , x2 ) = (0.5, 0.5). Az árnyékárak (y1 , y2 ) = (0.5, 0.5) . A játék értéke v = u = 0. A sorjátékos i-edik stratégiája dominálja a sorjátékos k-adik stratégiáját, ha az i-edik sor elemei nagyobbak vagy egyenl˝ok a k-adik sor megfelel˝o elemeinél. Ebben az esetben a dominált k-adik sor figyelmen kívül hagyható és kihúzható a játék kifizet˝omátrixából. Teljesen hasonlóan, az oszlopjátékos j-edik stratégiája dominálja az oszlopjátékos l-edik stratégiáját, ha a j-edik oszlop elemei kisebbek vagy egyenl˝ok az l-edik oszlop megfelel˝o elemeinél. Ebben az esetben is a dominált l-edik oszlop figyelmen kívül hagyható és kihúzható a játék kifizet˝omátrixából. 3.3. mintapélda. Keressük meg az alábbi játék domináns stratégiáit és egyszer˝ usítsük le a kifizet˝omátrixot:
I 1. 2. 3. 4.
1. 1 0 1 1
II 2. 0 1 −1 1
3. 1.5 2 2 1
Megoldás. El˝ore összehasonlítsuk párosával a sorokat. Látható, hogy nincs olyan sor amelyiknek az elemei kisebbek vagy egyenl˝ok lennének valamely másik sor elemeinél. Folytassuk az oszlopok összehasonlításával. Észrevehet˝o, hogy a 3. oszlop elemei nagyobbak vagy egyenl˝ok a második oszlop elemeivel (1.5 ≥ 0, 2 ≥ 1, 2 ≥ −1, 1 ≥ 1). Tehát, a II. játékosnak nem érdeke választani a 3. stratégiát, mert az I. játékos bármilyen stratégiai választása mellett ˝ot nagyobb veszteség éri mintha a 2. stratégiát választotta volna. Ezért a 3. oszlop kihúzható a kifizet˝omátrixból:
3. Játékelméleti feladatok
73
II I 1. 2. 3. 4.
1. 1 0 1 1
2. 0 1 −1 1
Most megint összehasonlítjuk a sorokat. Észrevehet˝o, hogy a 3. sor elemei kisebbek vagy egyenl˝ok mint a 4. sor megfelel˝o elemei (1 ≤ 1, −1 ≤ 1). Ezért az I. játékosnak nem érdeke a 3 stratégiát választani, mert a II. játékos bármely választása esetén az ˝o nyeresége kisebb lesz mintha a 4. stratégiát választaná. Ezért a 3. sor kihúzható a táblázatból: II I 1. 2. 4.
1. 1 0 1
2. 0 1 1
Ugyancsak észrevehet˝o, hogy az 1. sor elemei kisebb vagy egyenl˝ok mint a 3 sor elemei (1 ≤ 1, 0 ≤ 1), ezért ez a sor is kihúzható a táblázatból: II I 2. 4.
1. 0 1
2. 1 1
Most már látható, hogy az els˝o sor elemei is kisebbek vagy egyenl˝ok mint a második sor elemei, ezért az els˝o sor is kihúzható a táblázatból: II I 4.
1. 1
2. 1
Így most már az 1. és második oszlop elemei egyenl˝oek, ezért az egyik oszlop kihúzható:
I 4.
II 1. 1
Következésképpen, mint az I. játékosnak, mint a II. játékosnak csak egy nem dominált stratégiája maradt. Ezek lesznek az optimális stratégiák is. A játék értéke pedig v = 1.
74
3. Játékelméleti feladatok
3.2.1.
Kétszemélyes nulla-összeg˝ u játékok megoldása a WinQSB segítségével
3.4. mintapélda (Vadász-nyúl). Egy nyúl öt fedezék (1, 2, 3, 4 vagy 5) egyikébe bújhat. Egy vadásznak egyetlen lövedéke van, amivel az A, B, C vagy D célpontok egyikére l˝ohet. A lövés megöli a nyulat, ha a megl˝ott célponttal szomszédos fedezékben van. Tegyük fel, hogy a vadász jutalma 1, ha megöli a nyulat, és 0, ha nem. 1_A_ 2_ B_ 3_ C_ 4_ D_ 5 a. Adjuk meg a kifizetésmátrixot. b. Sz˝urjük ki az összes dominált stratégiát. c. Írjuk fel mindkét játékos LP-jét és határozzuk meg az optimális stratégiát a vadász és a nyúl számára. d. Tegyük fel, hogy a nyúl a következ˝o nem optimális stratégiát követi: 12 valószín˝ uséggel uséggel az 5-ös fedezékbe. Milyen bújik az 1-es, 14 valószín˝uséggel bújik a 3-as, és 14 valószín˝ stratégiával tudja ekkor a vadász a játék értéke fölé emelni a várható kifizetését? Megoldás. a. Amint a feladat leírásából is kit˝unik a nyúlnak mint oszlopjátékosnak 5 stratégiai választása van: 1, 2, 3, 4, vagy az 5. fedezékbe bújik meg, a vadásznak, mint sorjátékosnak pedig 4 választási lehet˝osége van: A, B, C, vagy a D célpontba l˝ohet. Elemezve a lehetséges helyzeteket a következ˝o kifizetésmátrixot kapjuk:
Vadász A. B. C. D.
1. 1 0 0 0
Nyúl 2. 3. 1 0 1 1 0 1 0 0
4. 0 0 1 1
5 0 0 0 1
b. El˝oször is elemezzük, hogy van-e a játéknak nyeregpontja. Ennek érdekében meghatározzuk a sorminimumok maximumát a v-t és az oszlopmaximumok minimumát a v-t:
A. B. C. D. max
1. 1 0 0 0 1
2. 1 1 0 0 1
3. 0 1 1 0 1
4. 0 0 1 1 1
5. 0 0 0 1 1
min 0 0 0 0 v = 1\v = 0
Mivel v = v a játéknak nincs nyeregpontja és nincs tiszta stratégiája. Kevert stratégiákat és a dominanciák vizsgálatához a WinQSB programcsomag Döntéselemzés (Decision Analysis) eszköztárát használjuk. Ennek érdekében a kezd˝o táblázatban a nulla-összeg˝u játékot (Two-player, Zero-sum Game) választjuk, majd megadjuk a sorjátékos (Number of Strategies for Player 1.) és az oszlopjátékos (Number of Strategies for Player 2.) lehetséges stratégiáinak számát, a mi esetünkben ez 4 illetve 5 (lásd az 3.1. ábrát.) Miután az OK gombra kattintunk megjelenik az adattábla, amit a kifizetésmátrix együtthatóival töltünk ki (lásd a 3.2. ábrát).
3. Játékelméleti feladatok
75
3.1. ábra. Nulla összeg˝u játékok kezd˝otáblája
3.2. ábra. A 3.4. mintapélda adattáblája.
3.3. ábra. A 3.4. mintapélda eredménytáblája. Az síz˝o emberke ikonra kattintva a WinQSB meghatározza a kevert stratégiákat és a dominanciákat és betölti az 3.3. eredménytáblát.
76
3. Játékelméleti feladatok
Az 3.3. táblából kiolvasható, hogy a sorjátékos (vadász) 3-as stratégiáját (C.) dominálja a 2-es (B.). Az oszlopjátékos (nyúl) 2-es stratégiáját dominálja az 1-es és 4-es stratégiáját az 5-ös. Ezért a vadásznak semmilyen körülmények között nem érdemes választania a C stratégiát és a nyúlnak a 2-est és a 4-est. A játék optimális kevert stratégiája a vadász számára az x = (0.33, 0.33, 0, 0.33) a nyúl számára pedig az y = (0.33, 0, 0.33, 0, 0.33) . A játék értéke v = 0.33. c. Visszakapjuk b. pontban kapott optimális kevert stratégiákat, ha megoldjuk a vadász sorjátékoshoz rendelt (3.3) LP feladatot. Ebben a játékban ez így írható: z = v → max, x1 − v ≥ 0, x1 + x2 − v ≥ 0, x2 + x3 − v ≥ 0, (3.5) x3 + x4 − v ≥ 0, x4 − v ≥ 0, x + x 2 + x3 + x4 = 1, 1 x1 , x2 , x3 , x4 ≥ 0
A (3.5) megoldására WinQSB lineáris programozási eszköztárát (Linear and Integer programming) használjuk. Az ismeretlenek száma 5 a feltételek száma pedig 6. Az adattábla kitöltésekor érdemes újranevezni a változókat az Edit menüpont változók elnevezései (Variable names) ablakában. Itt az x5 változót v-re cseréljük. Az adattáblában (3.4. ábra) v változónak az alsó korlátját (Lower Bound) mínusz végtelenre (−M ) állítjuk.
3.4. ábra. A 3.4. mintapélda LP modelljének adattáblája. Az eredménytáblából kiolvasható a vadász optimális kevert stratégiája: x = (0.33, 0.33, 0, 0.33) . Az árnyékárak (Shadow Price) pedig megadják a nyúl optimális kevert stratégiáját y = (0.33, 0, 0.33, 0, 0.33) . d. Ebben az esetben a nyúl stratégiája y = (0.5, 0, 0.25, 0, 0.25) . A minimax-kritérium alapján az a célunk, hogy meghatározzuk azt az x stratégiáját a vadásznak, amelyre a 4 5 v (y) = max aij xi yj / x1 , x2 , ..., xm ≥ 0 és x1 + x2 + ... + xm = 1 i=1 j=1
a kifejezés eléri a maximumát. Ez azt jelenti, hogy meg kell oldanunk a x1 y1 + x1 y2 + x2 y2 + x2 y3 + x3 y3 + x3 y4 + x4 y4 + x4 y5 → max x1 + x2 + x3 + x4 = 1, x1 , x2 , x3 , x4 ≥ 0,
3. Játékelméleti feladatok
azaz
77
0.5x1 + 0.25x2 + 0.25x3 + 0.25x4 → max x1 + x2 + x3 + x4 = 1, x1 , x2 , x3 , x4 ≥ 0,
lineáris programozási feladatot. A WinQSB lineáris programozási eszköztárát használva kapjuk, hogy x = (1, 0, 0, 0) és v (y) = 0.5. Tehát a vadásznak ebbe az esetben az A célpontba kell l˝ojön ahhoz, hogy legnagyobb eséllyel (v = 0.5 valószín˝ uségel) kil˝oje a nyulat.
3.3.
Kétszemélyes, nem konstans-összeg˝ u játékok
Az üzleti döntési helyzeteket modellez˝o legtöbb játék nem konstans-összeg˝u, hiszen meglehet˝osen ritka, hogy az üzleti versenytársak között teljes az érdekellentét. 3.3.1.
Kétválasztásos szimmetrikus játékok
A legegyszer˝ubb játék az amikor két játékos játszik úgy, hogy mindkett˝ojüknek csak kétkét választási lehet˝osége van. A játék kifizet˝o mátrixa ebben az esetben az alábbi alakba írható:
II I 1. stratégia 2. stratégia
1. stratégia (a1 , b1 ) (a3 , b3 )
2. stratégia (a2 , b2 ) (a4 , b4 )
Célunk, hogy a játékosok döntéslehet˝oségeit elemezzük és megtaláljuk a lehetséges legjobb megoldást. Mivel mindkét játékos kétféleképpen dönthet, négy lehetséges kimenetele van a játékoknak, ezek mindegyike pedig a két játékos számára eltér˝o érték˝ u. A stratégia szempontjából az (ai , bi ) számpárokban el˝oforduló számok egymáshoz viszonyított nagyságrendje számít. Ez tehát azt jelenti, hogy át kell tekinteni az összes olyan táblázatot, amelyben az 1, 2, 3, 4 számok különféle kombinációkban helyezkednek el az egyik, illetve a másik játékos számára leosztva. A 78, egymástól lényegesen különböz˝o táblázat vizsgálatából kiderült, hogy közülük 12-ben a két játékosok szimmetrikus helyzetben vannak. Ezek közül pedig négy tekinthet˝o csapdahelyzetnek. Nem csapda típusú játékra példa:
II I 1. stratégia 2. stratégia
1. stratégia (4, 4) (2, 3)
2. stratégia (3, 2) (1, 1)
Ebben a játékban nyilvánvaló, hogy mindkét játékosnak csakis az 1. stratégiát érdemes választania, a másikkal mindenképpen rosszabbul jár. Ezzel automatikusan, konfliktusmentesen el is érik a közös optimumot, csapdáról szó sincs. A kétszemélyes, kétválasztásos, szimmetrikus játékoknak négy csapdatípusa a Fogolydilemma, Nemek harca, Vezérürü és a Gyáva nyúl fantázianev˝u játékok. A játszmák nevüket azokról a (ma már klasszikusnak számító) példákról kapták, amelyeken keresztül a legtalálóbban lehet ˝oket bemutatni.
78
3. Játékelméleti feladatok
Azoknak a kétszemélyes játszmáknak, ahol a játékosoknak már fejenként három választási lehet˝oségük van, sokkal több, közel kétmilliárd változata van. Ezek csapdahelyzeteit senki nem térképezte még fel, mivel nagyon valószín˝u, hogy megegyeznek a négy alapjátékéval. Az alapvet˝o csapdamechanizmusokat ez a négy játék megmutatja — a tényleges, életbeli konfliktusok általában e négy alaptípus bonyolult, kusza kombinációiból épülnek fel. 3.5. mintapélda (Fogolydilemma). Egy bankrablás kapcsán két gyanúsítottat letartóztat a rend˝orség. Elítélésükhöz azonban nincs közvetlen bizonyíték, szükség van legalább az egyikük beismer˝o vallomására. A vizsgálóbíró nagyon szeretné végre lezárni az ügyet, ezért külön-külön magához hívatja ˝oket és mindkett˝onek a következ˝o ajánlatot teszi: Ha bevallod a bankrablást, és ezzel segítesz tisztázni az ügyet, akkor téged szabadon bocsátlak. Ebben az esetben a társadra 10 év börtönbüntetést szabok ki. Ez az ajánlat azonban csak akkor érvényes, ha társad nem vall, és így nem segít nekünk az ügy tisztázásában. De ha ˝o is vall, akkor nem sokat ér a vallomásod és mind a ketten öt-öt évet kaptok. Ha egyik˝otök sem vall, akkor a bankrablást megússzátok, de mindkett˝otöket lecsukunk egy-egy évre, apróbb szabálytalanságokért. Az alábbi táblázattal foglalható össze a játék:
I. fogoly tagad vall
II. fogoly tagad vall (−1, −1) (−10, 0) (0, −10) (−5, −5)
A táblázat celláiban az els˝o szám az egyik gyanúsított hasznát mutatja, a második szám pedig a másikét. A letöltend˝o börtönévek mennyisége negatív haszonnak tekinthet˝o, tehát a lehetséges legjobb eredmény a nulla. A zéró összeg˝u játékokra kidolgozott úgynevezett minimax stratégia szerint be kell vallani a tettet, mert így van esélye a legkisebb kárra, függetlenül a társ döntését˝ol. Egyikük ezek szerint logikusan így gondolkodhat: Ha a társam vall, és én is vallok, akkor öt évet kapok, ha nem vallok, tízet. Ha tehát ˝o vall, jobb nekem is vallani. Ha a társam nem vall, és én vallok, holnaptól szabad vagyok, de ha nem vallok, 1 évi fogságra ítélnek. Tehát ebben az esetben is jobb vallani. A logika parancsa szerint tehát vallani fog, és mivel a társa is ugyanilyen logikusan gondolkozik, ˝o is erre az eredményre jut. Mindketten kapnak öt-öt évet, holott ha egyikük sem vallott volna, egy-egy évvel megúszhatták volna. A játékelmélet ezt úgy fogalmazza meg, hogy az ilyen játszmában domináns stratégiája van a játékosnak, azaz olyan stratégiája, amely a másik lépését˝ol függetlenül minden más döntésnél jobb. A szakirodalom sokféle helyzetet, egy és többmenetes vagy akár több személyes fogolydilemmát elemez. Ezek közül az egyik legismertebb az árképzéssel kapcsolatos: 3.6. mintapélda (Árképzés). Két zöldséges van egymás közelében. Mindkett˝o tulajdonosának havonta dönteni kell az árakról úgy, hogy nem ismeri konkurenciájának tarifáit. Az új árakat egyszerre kel kiírniuk, minden hónap els˝o munkanapjának reggelén. Ha az egyikük csökkenti az árakat azért, hogy vásárlókat hódítson el a másik üzlett˝ol és így megnövelje nyereségét, azt kockáztatja, hogy a másik is ekképpen gondolkodik, és így mindketten veszítenek. Ha azonban nem lesz olcsóbb, és riválisa mérsékli árait, újfent rosszul jár, akár tönkre is mehet.
3. Játékelméleti feladatok
79
Ez a helyzet is ábrázolható táblázatos formában: I. zöldséges árat csökkent nem csökkent árat
II. zöldséges árat csökkent nem csökkent árat (0, 0) (4, −3) (−3, 4) (1, 1)
A veszteségt˝ol való félelem és a nyereségképzés vágya egyaránt amellett szólnak, hogy csökkentse árait, de ha ezt teszi, a logikus gondolatmenet egyez˝osége miatt vetélytársa is olcsóbb lesz és így mindketten elvesztik összes nyereségüket. Ez egy sokmenetes fogolydilemma, hiszen a következ˝o hónapban ismét találkoznak ezzel a döntési helyzettel, hacsaknem az, aki egyoldalúan kooperált, közben tönkre nem megy. 3.7. mintapélda (Nemek harca). Egy fiatal pár reggel összeveszik az esti programon. A fiú meccsre, a lány koncertre menne inkább. Mindketten sokáig dolgoznak és csak 7kor találkoznak újra, ekkor van módjuk ismét megtárgyalni az esti kikapcsolódást. Ahhoz, hogy ez játékelméleti probléma legyen, pontos preferenciával kell rendelkezniük: mindketten els˝osorban együtt szeretnék tölteni az estét, és csak másodsorban az általuk preferált helyen. Mindkett˝ojük számára a legrosszabb lehet˝oség az, hogy külön töltik az estét, méghozzá úgy, hogy a lány nézi a meccset és a fiú megy el a koncertre. Ez számukra 1 pontot ér. 1 ponttal jobb a helyzet, ha külön mennek el ugyan, de mind a ketten az általuk választott programra (2-2 pont). A lány számára a legjobb helyzet az, ha mindketten koncertre mennek, ez 4 pontot jelent, és kicsivel rosszabb, ha mindketten meccsre mennek (3 pont). Lány mecsre megy koncertre megy
mecsre megy (3, 4) (2, 2)
Fiú koncertre megy (1, 1) (4, 3)
Mindkett˝ojüknek van egy önz˝o és egy önzetlen lehet˝osége: A fiú önz˝o lehet˝osége az, hogy meccsre megy, önzetlen lehet˝osége, hogy koncertre. A lánynál ugyanez a helyzet, csak fordítva. Ha mindketten önzetlenek egymással, akkor a lehet˝o legrosszabb helyzet alakul ki, azaz a lány meccsre, a fiú koncertre megy (1+1 pont). Ha mindketten önz˝o stratégiát folytatnak, külön-külön mennek el hazulról választott programjukra. De ez még mindig nem a legjobb helyzet egyikük számára sem (2+2 pont). A játékelmélet szerint fel kell dobni valamiféle kockát. A kérdés az, hogy hány oldalú legyen ez a kocka, azaz ki milyen valószín˝ uséggel menjen kedvenc programjára. Várhatóan akkor lesz az együttes nyereségük a legnagyobb, ha a fiú 5/8 valószín˝uséggel megy a meccsre és 3/8-al koncertre, a lány 5/8 valószín˝uséggel a koncertre és 3/8-al a meccsre. Ekkor ugyanis várhatóan 5 1/8 pontot fognak elérni, ami az el˝obbi két stratégiánál jobb, mégis kevesebb, mint a táblázatból is jól látható maximális 7 pont. 3.8. mintapélda (Vezérürü). Két nagyon illedelmes ember tessékeli egymást el˝ore az ajtón. Ez a helyzet nagyon hasonlít a Nemek harcára, a különbség az, hogy a kölcsönös kooperáció (önzetlenség) itt nem a legrosszabb eredményre vezet és a kölcsönös versengés még rosszabb. A versengés az a stratégia, hogy ragaszkodunk ahhoz, hogy a másik menjen ki el˝oször, a kooperálás pedig az, hogy a másik megvetését vállalva els˝oként megyünk ki. A legrosszabb helyzet a kölcsönös versengés, mert akkor egyikük sem jut át az ajtón és éhen halnak. Ennél jobb a kooperáció, mert akkor mindketten egyszerre átpréselik magukat az ajtón. A legnagyobb közös nyereség akkor alakul ki, ha az egyikük kooperál, másikuk verseng,
80
3. Játékelméleti feladatok
mivel akkor mindketten átjutnak az ajtón, csak a verseng˝o játékos plusz nyereségként még meg is vetheti "illetlen" társát, aki pedig kooperált. A felsorolt játékok mindegyikében volt egy egyensúlyi helyzet. Ezt a szakirodalomban Nash-féle egyensúlynak nevezik. Hasonlóan a nulla-összeg˝ u játékokhoz a játékosok valamely stratégia választása egyensúlypont, ha semelyik játékos nem profitálhat abból, hogy egyoldalúan megváltoztatja a stratégiát. A konstans-összeg˝u játékokhoz hasonlóan, egy nem konstans-összeg˝ u játékban sincs feltétlenül egyensúlypont a tiszta stratégiák között. Be lehet bizonyítani, hogy ha kevert stratégiák is válaszhatók, akkor bármely kétszemélyes nem konstans-összeg˝u játékban van a játékosoknak egyensúlyi stratégiája azaz, ha az egyik játékos az egyensúlyi stratégiát követi, a másik játékos nem húzhat hasznot abból, ha eltér az egyensúlyi stratégiától.
3.4.
Az n-személyes játékok
Számos versenyhelyzetben több mint két szerepl˝o van. Az ilyen játékokat a karakterisztikus függvény segítségével tanulmányozzuk. Az n-személyes játékok esetén jelöljük N = {1, 2, 3, ..., n} a játékosok halmazát. A játékosok egy S ⊆ N halmazát koalíciónak hívjuk, speciálisan, az N a nagykoalíció, az ∅ pedig az üres koalíció. Hacsak külön nem kötjük ki, mindig megengedjük, hogy a játékosok bármelyik társulása létrejöjjön. Az S részhalmazhoz a játék v karakterisztikus függvénye hozzárendeli azt a v (S) összeget, amít az S tagjai biztosan megkapnak, ha együttm˝ uködnek és egy koalíciót alkotnak. A v (S) számérték tehát azt a kifizetés-összeget adja meg, amit az S koalíció tagjai együtt elérhetnek az S-en kívüli játékosok segítsége nélkül. Egy n-személyes játéknak két összetev˝oje van: a játékosok halmaza: N = {1, 2, 3, ..., n}; a játék karakterisztikus (koalíciós) függvénye: v : ℘ (N) → R, amire kikötjük, hogy v (∅) = 0, ahol ℘ (N) az N részhalmazainak halmaza. 3.9. mintapélda (Termelési cserepiac). Az N = {1, ..., n}-beli szerepl˝ok mindegyike képes ugyanazt a terméket el˝oállítani az M = {1, ..., m}-beli er˝oforrások felhasználásával. Az i ∈ N szerepl˝o kezdetben rendelkezik a j ∈ M er˝oforrásból pij ≥ 0 mennyiséggel, tehát kezd˝okészletét a nemnegatív Pi = (pi1 , pi2 , ..., pim ) ∈ Rm + vektor adja meg. A rendelkezésére álló technológiát pedig az fi : Rm → R termelési függvény írja le, amir˝ol egyel˝ore csak azt + tesszük fel, hogy folytonos. A végtermék minden szerepl˝o számára ugyanaz, s feltesszük, hogy tetsz˝olegesen osztható illetve átvihet˝o a szerepl˝ok között. A termelési hatékonyságok különböz˝osége miatt a szerepl˝ok egy S ⊆ N társulása számára el˝onyös lehet, ha a termelés el˝ott átcsoportosítják kezd˝okészleteiket, majd utána elosztják a koalíció tagjai által egyedileg elért összes végterméket valamilyen minden résztvev˝o által elfogadható módon. Az általuk együttesen elérhet˝o legnagyobb végtermék-mennyiség tehát v (S) = max
i∈S
fi (Zi ) /
i∈S
Zi =
i∈S
Pi , Zi ∈ Rm +
.
Amennyiben feltesszük, hogy a végtermék pénznek tekinthet˝o a fentebb tárgyalt értelemben, akkor a v (S) számot tekinthetjük az S koalíció által elérhet˝o összhaszonnak. Az így kapott játékot piacjátéknak nevezik.
3. Játékelméleti feladatok
81
3.10. mintapélda (Lineáris termelési piac). Ez a cserepiac csak annyiban speciális, hogy a technológia lineáris. Ebben az esetben a technológia mindegyik szerepl˝o számára azonos, éspedig fi (b1 , b2 , ..., bm ) = f (b1 , b2 , ..., bm ) = c1 x1 + ... + cr xr → max a11 x1 + a12 x2 + ... + a1r xr ≤ b1 , a21 x1 + a22 x2 + ... + a2r xr ≤ b2 , .. . am1 x1 + am2 x2 + ... + amr xr ≤ bm , x , x , ..., x ≥ 0, 1
r
2
ahol (c1 , c2 , ..., cr ) olyan vektor és (aij ) i=1,2,...,r olyan mátrix, amelyre az LP feladatnak van j=1,2,...,m
megoldása bármely (b1 , b2 , ..., bm ) ∈ Rm + vektor esetén. Ebben az esetben v (S) a v (S) = c1 x1 + ... + cr xr → max a11 x1 + a12 x2 + ... + a1r xr ≤ pi1 , i∈S a21 x1 + a22 x2 + ... + a2r xr ≤ pi2 , i∈S
.. . a x + a x + ... + a x ≤ pim , m1 1 m2 2 mr r i∈S x1 , x2 , ..., xr ≥ 0,
lineáris programozási feladat optimális értéke lesz. 3.11. mintapélda (Merevlemez gyártása). Egy számítógép alkatrészeket tervez˝o kutatócég kifejlesztett egy újfajta merevlemezt, de nem képes gyártani azt. Eladhatja a terméket két számítógép alkatrészeket gyártó vállalatnak. A kiválasztott vállalat és a kutatócég felezik a közösen elérhet˝o 1 millió eurós profitot. Adjuk meg a játék karakterisztikus függvényét. Megoldás. Legyen a cég az 1-es játékos, a két vállalat pedig a 2-es és 3-as játékosok. Ekkor a karakterisztikus függvény: S v (S)
∅ 0
{1} 0
{2} 0
{3} 0
{1, 2} 1
{1, 3} 1
{2, 3} 0
{1, 2, 3} 1
3.12. Mintapélda (Keszty˝ upiac). A névadó helyzetleírás szerint a kocsmában az aranyásók közül egyeseknek egy balkezes keszty˝uje van, míg másoknak egy jobbkezes. Értéke viszont csak egy pár keszty˝unek van, mégpedig 1 üveg whisky. Írjuk fel a játék karakterisztikus függvényét. Megoldás. Ebben a cserepiac-játékban a szerepl˝ok és a jószágok is két típusba sorolhatók, azaz N = I ∪J és M = {1, 2}. Az i ∈ N szerepl˝o kezd˝okészlete illetve „termelési” függvénye: (1, 0) , ha i ∈ I, Pi = (0, 1) , ha i ∈ J, és
f (x, y) = min {x, y} , ahol I a kocsmában a balkezes, J a jobbkezes, x egy koalícióban a bal kezes és y egy koalícióban a jobbkezes keszty˝uvel rendelkez˝o aranyásók száma.
82
3. Játékelméleti feladatok
Könnyen belátható, hogy ekkor az S koalíció v (S) = f (|S ∩ I| , |S ∩ J|) = min {|S ∩ I| , |S ∩ J|} , üveg whiskyt képes kitermelni, ahol |S ∩ I| az S-ben a balkezes keszty˝uvel és |S ∩ J| a jobbkezes keszty˝uvel rendelkez˝o aranyásók száma. Amennyiben mindegyik aranyásó azonosan értékel eggyel több vagy kevesebb kupica whiskyt, vagyis a nedüt tekinthetjük pénznek, akkor a v a keszty˝ upiac karakterisztikus függvénye. 3.13. mintapélda (Lóvásár). Hárman vannak a vásárban. Jánosnak (J-nek) van egy eladó lova, amit 500 euróra értékel és ezalatt nem hajlandó eladni. Elemér (E) és Pali (P) mustrálgatja a lovat. Elemér legfeljebb 600 eurót, míg Pali legfeljebb 700 eurót hajlandó a jószágért adni. Alkudozásuk során persze ezeket az információkat egyikük sem köti a többiek orrára. Adjuk meg a játék karakterisztikus függvényét. Megoldás. A vásár el˝ott a kezdeti állapotot euróban kifejezve: v(J) = 0, míg v(E) = 0 és v(P ) = 0, hiszen az eladónál lév˝o tényleges pénzmennyiség nyilván éppúgy érdektelen az esetleges üzlet megítélése szempontjából, mint a vev˝oknél lév˝o, a vételár-plafonjukat meghaladó pénzmennyiség. Ha János és Elemér meg tud egyezni abban, hogy a ló p euró fejében gazdát cserél, akkor együttm˝uködésük eredménye egy olyan helyzet, aminek a haszna v({J, E}) = p − 500 + (600 − p) = 100 euró, amib˝ol a vásár után p − 500 összeg János tiszta nyeresége és 600 − p összeg az Elemér tiszta nyeresége. Teljesen hasonló meggondolásból v({J, P }) = p − 500 + (700 − p) = 200 euró. Ha mind a hárman egyezkednek és lovat Elemér veszi meg, akkor a haszon 100 euró, ha pedig Pali, akkor 200 euró. Tehát a legnagyobb haszon, ami ebben a játékban elérhet˝o v({J, E, P }) = 200 euró. A két vev˝o viszont legfeljebb pénzt adhat át egymásnak, de abból haszon nem keletkezik, vagyis v({E, P }) = 0. Tehát a lóvásár-játék karakterisztikus függvénye: S v (S)
∅ 0
{J} 0
{E} 0
{P } 0
{J, E} 100
{J, P } 200
{E, P } 0
{J, E, P } 200
3.14. mintapélda (Egyszer˝ u többségi szavazás). A szavazók N halmazának egy elfogadjuk—elutasítjuk jelleg˝u döntést kell hoznia egy javaslatról. Mindegyik szavazat ugyanannyit ér. A javaslat elfogadásához a szavazatok több mint felének elfogadónak kell lennie (egyszer˝u többségi elv). Jelöljük 1-el a javaslat elfogadását és 0-val az el nem fogadását jelent˝o döntést és határozzuk meg a karakterisztikus függvényt. Megoldás. A szavazók egyS ⊆ N halmazának „szavazati ereje” a 1, ha |S| > |N| 2 v (S) = 0, ha |S| ≤ |N| 2 karakterisztikus függvény adja meg, ahol |X| jelöli az X halmaz elemeinek a számát. 3.15. mintapélda (Cs˝ odjáték). Cs˝odhelyzetnek nevezzük azt a többszerepl˝os elosztási problémát, amelyben valamilyen E ≥ 0 érték˝u tetsz˝olegesen felosztható vagyonnal szemben az N = {1, ..., n}-beli szerepl˝ok rendre d1 , ..., dn > 0 jogos követeléssel lépnek fel, de E<
i∈N
Adjuk meg a játék karakterisztikus függvényét.
di .
3. Játékelméleti feladatok
83
Megoldás. Egy S koalíció, akkor rendelkezik biztosan a v (S) vagyonnal, ha már a többi N S játékos megkapta a rá es˝o E − i∈NS di részt. Ebb˝ol a megfontolásból következik, hogy v (S) = max E − di , 0 . i∈NS
A lineáris termelési játékokhoz hasonlóan sok kooperatív döntési helyzet olyan, hogy a szerepl˝ok két különálló csoportjának összefogása új együttm˝uködési lehet˝oségeket, s ezáltal többlet-eredményt teremthet. A keszty˝upiacon például egy balkezes illetve egy jobbkezes keszty˝ut birtokló aranyásó együttm˝uködve határozottan többet tud elérni, mint külön-külön. Ugyanakkor mindegy, hogy hányan szövetkeznek, ha mindegyiküknek balkezes keszty˝uje van, egy cseppel sem tudnak több whiskyhez jutni, mintha egyenként próbálkoznának. Azt mondjuk egy játék szuperadditív, ha v(S) + v(T ) ≤ v(S ∪ T ), bármely S, T ⊆ N-re, amelyre S ∩ T = ∅. A szuperadditív játékokkal modellezhet˝o döntési helyzetekben bármely két, közös játékost nem tartalmazó koalíció egyesüléséb˝ol csak el˝ony származhat. Az általunk tekintett termelési cserepiacok mindig ilyenek, ez magyarázza, hogy eddigi példáinkban miért csak szuperadditív játékokkal találkoztunk. Tulajdonság. Egy játék pontosan akkor szuperadditív, ha bármely S ⊆ N részhalmazra, és az S bármely S1 , S2 , ..., Sr (S = S1 ∪ S2 ∪ ... ∪ Sr , Si ∩ Sj = ∅ ha i = j) felosztására v(S) ≥
r
v (Si ) .
i=1
Az n-személyes játékok megoldására számos koncepció létezik. Egy megoldási koncepció megadja, hogy egy játékban mennyi legyen az egyes játékosok kifizetése. Pontosabban, ha az i-edik játékos kifizetése xi , akkor x = (x1 , x2 , ..., xn ) vektort elosztásnak nevezzük. Egy szuperadditív játékban az elosztás teljesíti: n a hatékonysági feltételét: v (N ) = xi ; i=1
az egyéni racionalitás feltételét: xi ≥ v ({i}) bármely i ∈ N -re.
Az els˝o feltétel azt mondja ki, hogy az elosztásnak szét kell osztania a nagykoalíció értékét, vagyis azt a legnagyobb összeget, amit az összes játékos együttm˝ uködésével elérhet˝o. A második feltétel pedig el˝oírja, hogy mindegyik játékos legalább annyi összeget kell kapjon, mint amennyit egymaga is képes elérni. Például a lóvásár játékban elosztás az x = (100, 100, 0), de nem elosztás az y = (100, 100, 50), mert 100 + 100 + 50 > v (N ) = 200. Az n-személyes játékokra vonatkozó egyik legfontosabb megoldási koncepció a mag. A mag-elosztás olyan elosztás, amelyik minden koalíció számára elfogadható, azaz
xi ≥ v(S).
i∈S
A mag-elosztások halmazát a játék magjának nevezzük és a továbbiakban G-vel jelöljük.
84
3. Játékelméleti feladatok
Például a merevlemez gyártás játékban az x = (x1 , x2 , x3 ) pontosan akkor lesz mag-elosztás, ha x ≥ 0, x ≥ 0, x ≥ 0, 1 2 3 elosztás feltételei x1 + x2 + x3 = 1, x1 + x2 ≥ 1, x a magra vonatkozó 1 + x3 ≥ 1, x2 + x3 ≥ 0, feltételek x1 + x2 + x3 ≥ 1.
Az x1 + x2 + x3 = 1 feltételb˝ol az x3 -at kifejezve és a többi feltételbe helyettesítve kapjuk:
x1 ≥ 0, x2 ≥ 0, −x2 ≥ 0, x1 ≤ 1, x1 + x2 ≥ 1.
Ahonnan következik, hogy x1 = 1, x2 = x3 = 0. A lóvásár játékban az x = (x1 , x2 , x3 ) pontosan akkor lesz mag-elosztás, ha x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x1 + x2 + x3 = 200, x1 + x2 ≥ 100, x + x ≥ 200, 1 3 x2 + x3 ≥ 0, x1 + x2 + x3 ≥ 200.
elosztás feltételei a magra vonatkozó feltételek
Az x1 + x2 + x3 = 200 feltételb˝ol az x3 -at kifejezve és a többi feltételbe helyettesítve kapjuk:
x1 ≥ 0, x2 ≥ 0, −x2 ≥ 0, x1 + x2 ≤ 200, x1 + x2 ≥ 100, x1 ≤ 200.
Ahonnan, x2 = 0, x1 ∈ [100, 200], x3 = 200 − x1 . Tehát a játék magja G = {(t, 0, 200 − t) / t ∈ [100, 200]} . Az egyszer˝u többségi szavazás játéknak az x = (x1 , x2 , ..., xn ) mag-elosztása, ha x1 ≥ 0, x2 ≥ 0, ..., xn ≥ 0, x + x2 + ... + xn = 1, 1 xi = 1, ha |S| > |N| 2 i∈S
3. Játékelméleti feladatok
85
Például, ha n = 4, akkor
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x1 + x2 + x3 + x4 = 1, x1 + x2 + x3 ≥ 1, x1 + x2 + x4 ≥ 1, x1 + x3 + x4 ≥ 1, x2 + x3 + x4 ≥ 1, xi + xj ≥ 0, ha i, j = 1, 2, 3, 4, i = j.
Összeadva a három tagot tartalmazó egyel˝ottlenség megfelel˝o oldalait, kapjuk 4 x1 + x2 + x3 + x4 ≥ , 3 ami ellentmond az x1 + x2 + x3 + x4 = 1 feltételnek. Következésképpen, a játék magja üres halmaz (G = ∅). Ebben a példában a mag azért üres, mert a nagykoalíció értéke „nem elég nagy” a többi koalíció értékéhez képest. A játékelméletben ismert Bondareva — Shapley — féle tétel kimondja, hogy a játék magja pontosan akkor nem üres, ha a játék kiegyensúlyozott. Amint láttuk, hogy a merevlemez gyártás játékban a mag az összes nyereséget a legfontosabb szerepl˝onek a kutatócégnek adja. A továbbiakban az n-személyes játékok egy alternatív megoldási koncepcióját, az úgynevezett Shapley-értéket tárgyaljuk. Lloyd Shapley igazolta, hogy tetsz˝oleges v karakterisztikus függvényhez egyetlen olyan x = (x1 , x2 , ..., xn ) kifizetésvektor tartozik, amelyik teljesíti az alábbi axiómákat: 1. axióma. Ha a játékosok sorrendje megváltozik, a kifizetésvektor komponenseinek sorrendje ugyanúgy változik. n 2. axióma. A kifizetésvektor hatékony, azaz v (N) = xi . i=1
3. axióma. Amennyiben egy játékos nem ad semmi többletet egyetlen koalícióhoz sem, akkor a kifizetése nulla. Vagyis, ha v (S − {i}) = v (S) bármely S koalícióra, akkor xi = 0. 4. axióma. Ha a megoldási koncepció a v és v karakterisztikus függvényekkel jellemzett n-személyes játékokhoz az x illetve az y kifizetésvektorokat rendeli hozzá, akkor a v + v karakterisztikus függvénnyel jellemzett n-személyes játékokhoz az x + y kifizetésvektort rendeli. Ezen axiómák mellett érvényes Shapleynek 1953-ban bizonyított tétele: Tétel (Shapley-érték). Egyetlen olyan megoldási koncepció van, amelyik tetsz˝oleges nszemélyes játék v karakterisztikus függvényéhez úgy rendeli az x = (x1 , x2 , ..., xn ) kifizetésvektort, hogy teljesülnek az 1-4 axiómák. Ez a megoldási koncepció alapján az i-edik játékos kifizetése: |S|! (n − |S| − 1)! xi = [v (S ∪ {i}) − v (S)] , (3.6) n! S⊂N{i}
ahol |S| az S halmaz elemeinek a számát jelöli. Ezt az x vektort a játék Shapley-értékének nevezzük. A tételben a kifejezés bonyolultnak t˝ unik, de van egy egyszer˝ u értelmezése. Tegyük fel, hogy a játékosok egymás után véletlenszer˝ uen érkeznek a szobába. Amikor az i-edik játékos érkezik, az S-beli játékosok már a szobában vannak. Ha az i-edik játékos is csatlakozik az
86
3. Játékelméleti feladatok
S koalícióhoz, akkor a határhozzájárulása v (S ∪ {i}) − v (S), ennyivel változtatja meg a szobában lev˝ok koalíciójának értékét. Annak valószín˝usége, hogy az i-edik játékos éppen az . Tehát a (3.6) képlet szerint az i-edik S koalíciót találja a szobában pn (S) = |S|!(n−|S|−1)! n! játékos kifizetése nem egyéb mint az i-edik játékos különböz˝o koalíciókhoz való határhozzájárulásainak várható értéke. Az alábbi táblázat a pn (S) értékeit tartalmazzák n = 1, 2, 3, 4, 5 esetén. n 1 2 3 4 5
0
1
|S| 2
3
4
1 2 1 3 1 4 1 5
1 2 1 6 1 12 1 20
1 3 1 12 1 30
1 4 1 20
1 5
Ha N = {1, 2}, akkor 1 1 [v ({1}) − v (∅)] + [v ({1, 2}) − v ({2})] 2 2 v ({1, 2}) − v ({1}) − v ({2}) = v ({1}) + ; 2 1 1 = [v ({2}) − v (∅)] + [v ({1, 2}) − v ({1})] 2 2 v ({1, 2}) − v ({1}) − v ({2}) = v ({2}) + . 2
x1 =
x2
A Shapley-érték tehát mindkét szerepl˝onek megadja az általa egyedül is elérhet˝o kifizetést és egyenl˝o mértékben osztja szét a közösen elérhet˝o többletet. Érdemes megemlíteni, hogy: a Shapley-értékvektor nem feltétlenül magbeli elosztás. a mag-elosztások inkább a versenyhelyzetet tükrözik, a Shapley-érték ugyanakkor valamennyire figyelembe veszi egy játékos összes pozitív hozzájárulását is. Példaként számoljuk ki a merevlemez gyártás játék Shapley értékét. Kis számú (n ≤ 4) játékos esetén a Shapley-értéket érdemes a szobába való érkezés értelmezése alapján számolni. Ezért meg kell határozni a határhozzájárulásokat: Érkezési sorrend (1, 2, 3) (1, 3, 2) (2, 1, 3) (2, 3, 1) (3, 1, 2) (3, 2, 1) Összeg
A játékos határhozzájárulása 1-es játékos 2-es játékos 3-as játékos 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 4 1 1
Nézzük meg, hogyan is töltöttük ki például a táblázat els˝o és harmadik sorát. Az els˝o sorban a beérkezési sorrend (1, 2, 3) . Amikor az 1-es bejön a szobába nem talál senkit ezért határhozzájárulása: v ({1}) − v (∅) = 0. Jön a második és a szobába találja az 1-es játékost.
3. Játékelméleti feladatok
87
Így határhozzájárulása: v ({1, 2}) − v ({1}) = 1. A harmadik játékos érkezésekor már a szobában van az 1-es és 2-es játékosok, ezért a határhozzájárulása: v ({1, 2, 3}) − v ({1, 2}) = 1 − 1 = 0. A harmadik sorban a beérkezési sorrend (2, 1, 3) . A 2-es bejövetelekor még senki sincs a szobában ezért a 2-es határhozzájárulása: v ({2}) − v (∅) = 0. Az egyes bejövetelekor már a 2-es a szobában van. Így az 1-es határhozzájárulása: v ({1, 2}) − v ({2}) = 1 − 0 = 1. A harmadik érkezésekor már az 1-es és 2-es a szobában van, ezért a harmadik játékos határhozzájárulása: v ({1, 2, 3}) − v ({1, 2}) = 1 − 1 = 0. Mivel a játékosoknak 6 = 3! érkezési sorrendjük volt, ezért a Shapley-érték szerinti kifizetések: 1 1 4 x1 = , x2 = , x3 = . 6 6 6 A lóvásár játékban szintén 6 érkezési sorrend van és a határhozzájárulások: Érkezési sorrend (J, E, P ) (J, P, E) (E, J, P ) (E, P, J) (P, J, E) (P, E, J) Összeg
A játékos határhozzájárulása János Elemér Pali 0 100 100 0 0 200 100 0 100 200 0 0 200 0 0 200 0 0 700 100 400
Tehát a Shapley-érték szerinti kifizetések: x1 =
3.5.
700 100 400 , x2 = , x3 = . 6 6 6
Kit˝ uzött feladatok
1. Két játékos egyidej˝uleg és egymástól függetlenül döntve elhelyez egy asztalra 1-1 eurós érmét a Fej vagy az Írás oldalra fordítva. Ha azonos oldalt választanak, akkor az 1. játékos nyer; ha pedig különböz˝ot, akkor a 2. játékos, mindkétszer 1 eurót. Határozzuk meg a játékosok kevert optimális stratégiáit és a játék értékét. Igazságos-e a játék? 2. János és Laci a következ˝o játékot játsszák. János betesz egy üveggolyót a bal vagy a jobb zsebébe úgy, hogy azt Laci ne lássa. Ez után Laci megtippeli, hogy János melyik zsebébe tette az üveggolyót. Ha eltalálja, hogy a balba, akkor kap Jánostól 2 eurót. Ha eltalálja, hogy a jobba, akkor kap Jánostól 4 eurót. Ha viszont nem találja el, hogy melyik zsebbe került a golyó, akkor ˝o fizet Jánosnak 3 eurót. Mi a játékosok optimális kevert stratégiái és mennyi a játék értéke? Igazságos-e a játék? 3. Két verseng˝o kereskedelmi lánc szándékozik egy új üzletet nyitni az A, B vagy C pontok valamelyikében. Az A faluban 20-an, a B faluban szinten 20-an, a C faluban 12-en laknak, a két üzlet tehát 52 vásárlóra számíthat. Mindegyik lakos a hozza közelebbi boltban vásárol, ha két bolt t˝ole egyenl˝o távolságra van, akkor 1/2 valószín˝uséggel választja valamelyiket. Mindkét lánc maximalizálni akarja az új üzletben a vásárlók várható számát. Hova telepítsék az üzletet? A_________________B___________________C
88
3. Játékelméleti feladatok
4. Tegyük fel, hogy egy egységnyi hosszúságú szakasz egy strandszakaszt reprezentál és ezen a szakaszon a strandolók egyenletesen oszlanak el. A strandon két fagylaltos kínálja azonos áron,azonos min˝oség˝u árúját. Minden strandoló ahhoz a fagylaltoshoz megy, aki közelebb van hozzá. Ha a távolság azonos akkor pénzfeldobással választ. A fagylaltosok a forgalmukat akarják maximalizálni. A fagylaltosok egymástól függetlenül választanak egy helyet a strandon, ahol felállítják bódéjukat. Melyek a fagylaltosok optimális stratégiái? 5. A Ruby, illetve a Swamp szupermarketek összesen 90000 vásárló látogatja. A vásárlók becsalogatása céljából mindkét üzlet ingyen ad egy árucikket, hogy azon a héten mit, azt mindig a hétf˝oi újságban teszik közzé. Az áruházak persze nem tudják, hogy a másik éppen mit akar ingyen adni. A következ˝o hétre a Ruby vagy egy üveg üdít˝ot, vagy egy doboz tejet akar meghirdetni, míg a Swamp egy csomag vaj vagy egy csomag narancslé közül fog választani. A következ˝o táblázat mutatja, hogy az egyes árucikk-kombinációk esetén hány vásárló tér be a Ruby áruházba a következ˝o héten. Mindkét áruház maximalizálni akarja a vásárlóinak várható számát. A játékelmélet segítségével határozd meg az egyes áruházak optimális stratégiáját és a játék értékét! Ruby választása üdít˝o tej
Swamp választása vaj narancslé 40000 50000 60000 30000
6. Két hadsereg közelit két városhoz. Az egyik négy ezredb˝ol, a másik három ezredb˝ol áll. Amelyik hadsereg több ezredet küld egy városhoz az nemcsak a várost foglalja el, de az ellenfél odaküldött ezredeit is foglyul ejti. Ha a tábornokok azonos számú ezredet küldenek egy városhoz, a csata döntetlen. Minden elfoglalt város és foglyul ejtett ezred 1 pontot ér mindkét fél számára. Tegyük fel, hogy mindkét tábornok maximalizálni akarja a saját és az ellenfele eredményének a különbséget. Határozd meg a játék értékét és az optimális stratégiákat. 7. Két játékos a következ˝o osztozkodási játékot játssza. 5 eurót kell elosztaniuk egymás között kerek eurókban. A két játékos egyszerre és egymástól függetlenül jelenti be igényét a bírónak. Ha az igények összege nagyobb, mint 5 euró és páratlan, akkor az els˝o játékos kapja meg az 5 eurót, a második nem kap semmit, ha pedig páros akkor éppen fordítva. Ha az igények összege legfeljebb 5 euró, akkor mindkét fél megkapja azt, amit kért. Mik ebben a játékban a dominált és az optimális stratégiák? 8. Egy várat 40 katona véd. Állások a négyzet alaprajzú vár négy sarkában és az oldalak felez˝opontjaiban vannak. Az ellenség akkor nem támad, ha minden oldalról legalább 15 véd˝ot lát. Hogyan ossza el a parancsnok a katonákat? Mit tegyen a vár parancsnoka, ha 10 embere elveszett? 9. Egy játékos készül˝odik a tizenegyesrúgás elvégzéséhez, a kapus pedig a kivédéséhez. Közismert, hogy a kapusnak akkor van a legtöbb esélye a hárításra, ha a rúgás pillanatában elhatározza, hogy merre mozdul el. A jó lövéshez is el kell határozni, hogy merre rúgja a játékos a labdát. Az egyszer˝uség kedvéért tegyük fel, hogy a rúgó játékosnak három (tiszta) stratégiája van: Jobbra, Középre vagy Balra rúgja a büntet˝ot. A kapusnak is három lehet˝osége van: Jobbra vagy Balra mozdul, vagy Középen marad. Kifizetésnek vegyük azt, hogy adott stratégiapáros mellett 10 büntet˝ob˝ol átlagosan hány gól lesz. Az alábbi táblázat mutatja a kifizetéseket, a sorjátékos a Rúgó, az oszlopjátékos a Kapus (a
3. Játékelméleti feladatok
89
számok nem objektív statisztikán nyugszanak, de nem is teljesen légb˝ol kapottak). Adjuk meg a játékosok kevert stratégiáját. Rúgó J K B
Kapus J K B 5 8 9 8 3 8 9 8 5
10. Két versenytárs vállalatnak egyidej˝uleg kell meghatároznia, hogy mennyit termeljenek egy adott termékb˝ol. Az elérhet˝o össznyereség mindig 1000 lej. Ha mindkét vállalat alacsony szinten termel, az 1-es nyeresége 600 lej. Ha az 1-es termelési szintje alacsony, de 2-esé magas, az 1-es nyeresége 400 lej. Viszont, ha az 1-es termelési szintje magas és a 2-esé alacsony, az 1-es nyeresége csak 300 lej. Határozza meg a játék értékét és az optimális stratégiákat ebben a konstans összeg˝u játékban. 11. Jancsi és Juliska együtt akarnak szombat este szórakozni menni. Kosárlabda mérk˝ozés (K) az egyik lehet˝oség, operael˝oadás (O) a másik. Jancsi a kosármeccset, Juliska az operát szereti jobban,de mindketten azt szeretik legkevésbé, ha egyedül kell elmenni szórakozni. Egymástól függetlenül vásárolnak két-két jegyet valamelyik eseményre. Az alábbi táblázat számai Jancsi és Juliska preferenciáit tükrözik. Jancsi K O
Júliska K O (2, 1) (0, 0) (0, 0) (1, 2)
Határozzuk meg a játék egyensúlypontjait. 12. Angry Max és James Bound hajtanak egymással szembe egy elhagyott úton. Mindkett˝ojüknek két stratégiája van: kitérni vagy nem kitérni. Az alábbi táblázat mutatja a lehetséges nyereségeket bátorság-pontban kifejezve: Angry Max kitér nem tér ki
James kitér (0, 0) (5, −5)
Bound nem tér ki (−5, 5) (−100, −100)
Keressük meg a játék egyensúlypontjait! 13. A játékosok halmaza N = {1, 2, 3}, a koalíciós függvény pedig 1 ha S legalább két elemet tartalmaz u(S) = . 0 ellenkez˝oleg
Írjuk fel a játék karakterisztikus függvényét és határozzuk meg a játék magját és Shapley értékét. 14. Tekintsünk egy háromszemélyes, nem konstans összeg játékot, mely karakterisztikus függvénye az alábbi: v (∅) v ({1}) v ({1, 3}) v ({1, 2, 3})
= = = =
v ({2}) = v ({3}) = 0, 1, v ({1, 2}) = 5, 4, v ({2, 3}) = 3, 15,
90
3. Játékelméleti feladatok
Határozzuk meg a játék Shapley-értékét. 15. A Mikulás csokoládéval jutalmazza a jó gyerekeket. András, Béla és Cecil testvérek. András szokta lehordani a szemetet, így legalább 1 csoki jár neki. Bélával közösen járnak bevásárolni, így együttesen legalább 6 csokit érdemelnek. Béla és Cecil szokott takarítani, jutalmuk legalább 10 csoki. András és Cecil (a kert gondozásáért) legalább 8 csokit kap. A Mikulás 11 csokit hozott. Igazoljuk, hogy a mag üres, a 11 csokit nem lehet úgy elosztani, hogy mindenki megkapja a járandóságát? Hány csokit kellett volna hoznia ahhoz, hogy egy ilyen elosztás lehetséges legyen és ekkor ki mennyit kapott volna? 16. Ahhoz, hogy egy vállalkozás létrejöjjön szükség van befektet˝okre és termel˝okre. Egy egyszer˝usített vállalkozásban jelöljük 1-el a befektet˝ot és 2-vel illetve 3-mal a termel˝oket. A Shapley-értéket használva határozzuk meg a nyereség igazságos szétosztási arányait. 17. Egy városban öt párt versenget a városi tanácsosi helyekért. Az alábbi táblázat mutatja a választás után kapott tanácsosi mandátumok számát: Pártok Mandátumok
AP 11
BP 8
CP 5
DP 2
EP 1
Mivel egyik párt sem érte el a fele plusz 1 arányt, azaz a 14 mandátum-számot, ezért nem tudja egyik sem megszerezni az egyértelm˝ u hatalmat. Nincs más választásuk koalíciót kell képezzenek. A pártok között nincs semmi ideológiai ellentét és csak a város hasznát nézik. Ezért úgy egyeznek, hogy a város 620 millió eurós évi költségvetésének felügyeletét és gazdálkodását a tanácsban betöltött súlyuk alapján fogják leosztani. Tudjuk, hogy ezek a súlyok a játék Shapley értékét jelentik. Határozzuk meg, hogy az egyes pártok mekkora költségvetési összeget felügyelhetnek. 18. A Sapientia-EMTE csíkszeredai helyszíne a következ˝o szabályok szerint fizet az általa bérelt telefonvonalakért: 400 euró/hó az els˝o 4 vonalért, plusz 200 euró a következ˝o 4 vonalért és plusz 100 euró/hó a további két vonalért. A Természettudományi karról 150, a Gazadaságtudományi karról 165, az adminisztrációs egységekb˝ol 85 telefonhívást kezdeményeznek óránként. Egy vonal 40 telefonhívást képes kezelni egy óra alatt. A csíkszeredai helyszín tehát összesen 10 vonalat bérel. Hogyan osszák meg a bérleti díjat az egységek között? 19. Három orvos létrehozott egy közös vállalkozást, amelynek éves fix rezsiköltsége 40000 lej. Az orvosok egyénenkénti bevételei, illetve a munkájukkal kapcsolatos kiadásai évente a következ˝ok: Dr. A Dr. B Dr. C
Bevétel 155000 lej 160000 lej 140000 lej
Kiadás 40000 lej 35000 lej 38000 lej
Az orvosok a játékelmélet segítségével akarják meghatározni a fix rezsiköltség szétosztását. Adjunk meg egy, a helyzetet jól leíró karakterisztikus függvényt, és igazoljuk, hogy a játék magja üres halmaz! Számítsuk ki a Shapley-értéket és javasoljunk egy igazságos szétosztását a költségeknek. 20. Egy 800 eurós összegre hárman jogosultak: az els˝o 150, a második 400, a harmadik 500 euróra. Mivel a teljes összeg nem elég a követelések teljesítésére a Shapley-érték segítségével osszuk szét igazságosan a 800 eurós összeget a jogosultak között.
4. fejezet Hálózatok elemzése
Számos fontos optimalizálási probléma grafikus vagy hálózati szemléltetéssel elemezhet˝o a legkönnyebben. Ebben a fejezetben az alábbi speciális hálózati modellekkel foglalkozunk: a minimális feszít˝ofa problémával; a legrövidebb út problémával; maximális folyam problémával; az utazó ügynök problémával;
4.1.
Alapfogalmak
Egy gráfot vagy hálózatot szimbólumok két halmaza értelmez, ezek elemeit csúcsoknak, illetve éleknek nevezzük . Az él egy rendezett pár, amely megadja a két csúcspont közötti mozgás vagy áramlás lehetséges irányát. Egy hálózatban szerepl˝o (j, k) él azt mutatja, hogy elmozdulás történhet a j csúcspontból a k csúcspontba. A továbbiakaban egy hálózat csúcspontjainak halmazát V -vel éleinek halmazát pedig E-vel jelöljük. Például az alábbi hálózatnál (4.1. ábra) a V = {1, 2, 3, 4} és az E = {(1, 2) , (1, 4) , (2, 3) , (4, 3) , (4, 5) , (3, 5)} . halmazokat.
4.1. ábra. Hálózati alapfogalmak 91
92
4. Hálózatok elemzése
Számos feladatnál csak az élek bizonyos csoportjára van szükség. Erre különböz˝o elnevezéseket használunk. Az i és a j csomópont közötti lánc olyan élsorozat, amely összeköti ezeket a csomópontokat. Például az 4.1. ábrán az 1 és 5 csomópontokat összeköt˝o lánc: (1, 2) , (2, 3) , (3, 5) . Ha a lánc mentén a haladás irányát is megadjuk, akkor irányított útról beszélünk. Az 4.1. ábrán az (1, 2) , (2, 3) , (3, 5) lánc egy irányított út. A kör olyan lánc, amely egy csomópontot saját magával köt össze. Az 4.1. ábrán, ha a (4, 5) él irányítását megcseréljük, akkor a (4, 3) , (3, 5) , (5, 4) lánc egy kör lesz. A gráf összefügg˝o, ha bármely két különböz˝o csomópontja között halad lánc. Az 4.1 gráf összefügg˝o. Az olyan összefügg˝o gráfot, amely nem tartalmaz kört fának nevezzük. Valamely gráfot irányítottnak nevezzük, ha az élekhez irányítást rendelünk. Ilyen gráf az 4.1. Egy hálózatnak nem feltétlenül kell irányítottnak lennie, mivel esetleg megengedhetjük, hogy az áramlás mindkét irányba történjen. Az ilyen gráfot irányítatlan gráfnak nevezzük.
4.2.
Minimális feszít˝ ofa probléma
4.1. mintapélda. Egy bank rövidesen számítógépes hálózattal akar kapcsolatot létesíteni összes fiókja és a központi hivatalban lev˝o számítógépe között, különleges telefonvonalakkal és távközlési eszközök felhasználásával. Nem szükséges, hogy a fiókoktól a központhoz közvetlenül csatlakozzanak a telefonvonalak: közvetve is csatlakozhatnak úgy, hogy egy másik fiókhoz csatlakoznak, amely (közvetve vagy közvetlenül) csatlakozik a központhoz. Az egyetlen követelmény, hogy minden fiók valamilyen útvonalon keresztül csatlakozzék a központhoz. A speciális telefonvonalak díja egyenesen arányos a távolsággal. Az alábbi táblázat km-ben kifejezve megadja a távolságokat. 1. központ 1. 2. 3. 4. 5. 6.
központ fiók fiók fiók fiók fiók
190 70 115 270 160
2. fiók 190 100 240 215 50
3. fiók 70 100 140 120 220
4. fiók 115 240 140 175 80
5. fiók 270 215 120 175
6. fiók 160 50 220 80 310
310
A feladat: meghatározandó, hogy mely bankfiók-párokat kell összekötni a speciális telefonvonallal, hogy minden fiók (közvetve vagy közvetlenül) össze legyen kötve a központtal, a költség pedig a lehet˝o legkisebb legyen. Megoldás. Az ilyen típusú feladatokat minimális feszít˝ofa problémáknak nevezzük. Ebben az összefüggésben a minimális feszít˝ofa problémája úgy fogalmazható meg, hogy mely szállítóútvonalak szolgálják ki az összes helyet, a lehet˝o legkisebb összköltséggel. A feladat megoldása nagyon egyszer˝ u, mivel ez az egyike azon operációkutatási problémáknak, ahol ha mohók vagyunk a megoldási folyamat minden lépésében, akkor optimális megoldást kapunk. Az els˝o lépésben kiválasszuk a legrövidebb élt, azaz a mátrix legkisebb számához tartozó élt: (2, 6). Ennek értéke 50. Ezt az 50-es értéket kiválasztottnak tekintjük és úgy a második sorban mint az hatodik sorban kijelöljük. Ezután meg kell határozni azt a legközelebbi csomópontot, amely még nincs az eddigiekkel összekötve, azaz 2-es és 6-os sorokból kiválasztjuk a legkisebb ki nem választott elemet. Ez a 80 és a hozzá tartozó
4. Hálózatok elemzése
93
él (4, 6). Folytatjuk az algoritmust. Most már a 2-es, 4-es, 6-os sorokból kell kiválasztani a legkisebb ki nem választott elemet. A mi esetünkben ez 100. A hozzá tartozó él pedig (2, 3). Ezután ki kell választani a 2-es, 3-as, 4-es és 6-os sorokból a legkisebb még ki nem választott elemet. Ez a 70 és az él (1, 3). Maradt még a 5-ös csomópont, amely 3-as csomóponthoz van a legközelebb, ennek az értéke 120. Az összes csomópont ki van választva és a keresett minimális feszít˝ofa: (2, 6), (4, 6), (2, 3) , (1, 3) , (3, 5) . Ennek összértéke: 50+80+100+70+120 = 420.
4.2. ábra. Minimális feszít˝ofa kezd˝otáblája A feladat a WinQSB hálózatok modellezése (Network Modeling) eszköztárával is megoldható. Itt a kezd˝otáblából kiválasztjuk a Minimális feszít˝ofa probléma típust (Minimal Spanning Tree). Ezután megadjuk a csomópontok számát (Number of Nodes). A mi esetünkben 6. Ha irányítatlan gráfról van szó jó, ha be van jelölve, hogy szimmetrikus a mátrix (Symmetric Arc Coefficients), mert ebben az esetben csak a f˝oátló feletti részt kell kitölteni, a f˝oátló alatti együtthatók automatikusan megjelennek az adatbevitel után (4.2. ábra). Az OK gombra kattintva betölt˝odik az adattábla, amelyet a táblázatban megjelen˝o adatokkal fel kell tölteni (4.3. ábra).
4.3. ábra. A minimális feszit˝ofa adattáblája. Az síz˝o emberke ikonra kattintva a WinQSB meghatározza a minimális feszít˝ofát és betölti az alábbi táblázatot (4.4. ábra):
4.4. ábra. Minimális feszít˝ofa eredménytáblája
94
4. Hálózatok elemzése
A táblázatból leolvasható, hogy a minimális feszít˝ofa: (3, 2) , (1, 3) , (6, 4) , (3, 5) , (2, 6) lánc és az összhossz 420 km. A feszít˝ofát a WinQSB ki is rajzolja, ha a hálózat ( ) ikonra kattintunk.
4.3.
Legrövidebb út probléma
A legrövidebb út problémája egy hálózatban egy adott csomópontból kiindulva a többi csomópontba vezet˝o legrövidebb út meghatározását jelenti. Ennek megoldására alkalmas a Dijkstra algoritmus, amennyiben minden él hossza nemnegatív szám: Lássuk el az els˝o csomópontot az állandó 0 címkével. Minden olyan i csomópontot lássunk el ideiglenesen az (1, i) él hosszával mint címkével, amelyhez vezet él az els˝o csomópontból. Minden más csomópont (az els˝o kivételével) kapja ideiglenesen az ∞ címkét. A legkisebb címkéhez tartozó egyik csomópont címkéjét állandónak min˝osítjük. Tegyük fel, hogy az i volt az utolsó, a (k +1)-edik csomópont, amely állandó címkét kapott. Akkor i a k-adik legközelebbi csomópont az els˝ohöz. Az ideiglenes címkével rendelkez˝o j csomópontok címkéit módosítsuk az (i címkéje + az (i, j) él hosszúsága) értékre, ha ez kisebb, mint j eddigi ideiglenes címkéje. Ezután ismét adjunk végleges címkét egy olyan csomópontnak, amelynek címkéje a maradék ideiglenes címkék legkisebbike. Folytassuk az eljárást, amíg minden csomópont állandó címkét nem kap. Ha minden csomópontnak végleges címkéje van, akkor az els˝o csomópontból egy j csomópontba vezet˝o legrövidebb utat a j csomópontból visszafelé haladva olyan csomópontokon keresztül jutunk el az els˝o csomópontba, amelyekt˝ol a rákövetkez˝obe vezet˝o él hossza épp a két címke különbsége. 4.2. mintapélda (Alpinista). Egy alpinista a 4.5. ábrán megadott vázlatos térkép alapján el kell jusson az 1-essel jelölt alaptáborból a 7-essel jelölt hegycsúcsra. A hálózat élein a különböz˝o pihen˝ok közti utak megtételéhez szükséges átlagos id˝otartamok vannak megadva. Milyen útvonalon haladjon ahhoz, hogy a legrövidebb id˝o alatt felérjen a hegycsúcsra.
4.5. ábra. Az alpinista mintapélda úthálózata. Megoldás. A legrövidebb utat az el˝obb vázolt Dijkstra algoritmussal határozzuk meg. 1. lépés. Címkézés. Az els˝o csomópontból a 2., 3., és 4. vezet él, ezért kezdetben a csomópontok címkéi: [0∗ , 45, 40, 60, ∞, ∞, ∞] .
4. Hálózatok elemzése
95
2. lépés. Kiválasztjuk a legkisebb nullától különböz˝o címkét: [0∗ , 45, 40∗ , 60, ∞, ∞, ∞] . 3. lépés. Választjuk 3. csomóponthoz legközelebbi csomópontot, ez az 5. csomópont. Tehát ennek megfelel˝o címke min {∞, 40 + 30} = 70. Az új címkék: [0∗ , 45, 40∗ , 60, 70, ∞, ∞] . 4. lépés. Kiválasztjuk a legkisebb nullától különböz˝o még nem jelzett címkét. Ez a 2-es csomópont címkéje a 45, majd a 2-es csomóponthoz legközelebbi csomópontot. Ez a 4-es. Így a négyes csomópont új címkéje min {60, 45 + 35} = 60. Tehát az új címkék: [0∗ , 45∗ , 40∗ , 60, 70, ∞, ∞] . 5. lépés. Folytatjuk a 4. lépésben bemutatott címkézési eljárást. A legkisebb nem jelzett címke a 4-es csomóponté, értéke 60. A 4. csomóponthoz legközelebbi csomópont a 6-os. Ennek új címkéje min {∞, 60 + 25} = 85. Az új címkék: [0∗ , 45∗ , 40∗ , 60∗ , 70, 85, ∞] . 6. lépés. A legkisebb nem jelzett címke az 5-ös csomóponté, a 70. Az 5-höz legközelebbi csomópont a 7-es. Ennek új címkéje min {∞, 70 + 50} = 120. Tehát az új címkék: [0∗ , 45∗ , 40∗ , 60∗ , 70∗ , 85, 120] . 7. lépés. Most a legkisebb címke a 6-os csomóponté, a 85. A hozzá legközelebbi csomópont a 7-es. Ennek új címkéje min {120, 85 + 30} = 115. Az új címkék: [0∗ , 45∗ , 40∗ , 60∗ , 70∗ , 85∗ , 115∗ ] . 8. Még csak a 7. címke nincs kijelölve, ezt is jelöljük és befejezzük a kiválasztási algoritmust. A végs˝o címkék: [0∗ , 45∗ , 40∗ , 60∗ , 70∗ , 85∗ , 115∗ ] . 9. Visszafele haladva a címkék különbségéb˝ol megkapjuk annak az élnek az értékét, amelyen keresztül eljutunk a kiindulási csomópontba. Mivel 115 − 85 = 30, ezért a 7-b˝ol a 6-ba kell lépjünk. A 6-ból csak a 4-esbe léphetünk. A 4-es címkéje 60, ami megfelel a 60 − 0 = 60 különbségnek, következésképpen innen az 1-es csomópontba jutunk. Összefoglalva, a legrövidebb útvonal az 1-b˝ol a 7-be az 1 → 4 → 6 → 7. Az alpinista ezen az útvonalon 110 perc alatt éri el a hegycsúcsot. Ezt az algoritmust használja a WinQSB hálózati modelezés (Network Modeling) eszköztára is . Itt a kezd˝oablakban ki kell választani a legrövidebb út problémáját (Shortest Path Problem) feladattípust. Mivel irányítatlan gráfunk van, ezért az adatbevitelt megkönnyíti a szimmetrikus mátrix (Symmetric Arc Coefficients) bejelölése. Ekkor az adattáblának csak
96
4. Hálózatok elemzése
a f˝oátló feletti részét kell kitölteni.A f˝oátló alatti együtthatók automatikusan megjelennek az adatbevitel után (4.6. ábra). Az alpinista mintapéldában a csomópontok száma 7. Ezt a Number of Nodes mez˝oben adjuk meg.
4.6. ábra. A legrövidebb út probléma kezd˝otáblája. Az OK-ra kattintva megjelenik a feladat adattáblája, amelyet háló élein lev˝o értékekkel fel kell tölteni. Megjegyezzük, ha két csomópont között nincs él, akkor a megfelel˝o mez˝ot üresen hagyjuk (4.7. ábra).
4.7. ábra. Az alpinista mintapélda adattáblája. A síz˝o emberke ikonra kattintva a WinQSB meghatározza az adott két csomópont között a legrövidebb utat és betölti az 4.8. eredménytáblát. A táblázatból kiolvasható, hogy a legrövidebb út: 1. csomópont (Node 1) → 4. csomópont (Node 4) → 6. csomópont (Node 6) → 7. csomópont (Node 7). Az össztávolság (Distance/Cost) 115.
4.8. ábra. Az alpinista mintapélda eredménytáblája. A hálózat ikonjára ( ) kattintva a WinQSB megjeleníti a legrövidebb utat. Az eredmények (Results) menüpontjának paraméteres elemzés (Perform Parametric Analysis) eszköztáblája segítségével érzékenységvizsgálatot és paraméteres elemzést végezhetünk. Itt
4. Hálózatok elemzése
97
meghatározhatjuk valamelyik él hosszának függvényében a legrövidebb út hosszának változását.
4.4.
Maximális folyam probléma
Egyes döntési helyzetekben olyan hálózatot kell vizsgálni, amelyben az éleknek kapacitások feleltethet˝ok meg. A kérdés az, hogy az egyik kitüntetett csúcsból, a forrásból egy másikba, a nyel˝obe mi a maximális eljuttatható mennyiség a hálózat és a kapacitások figyelembevételével. Ezt a feladatot nevezzük maximális folyam problémának. A maximális folyam problémáját megoldó algoritmus: 1. lépés. Keressünk egy (szigorúan) pozitív áramlási kapacitású útvonalat a forrástól a nyel˝oig. Ha ilyen nincs, akkor a már kiosztott nettó áramok egy optimális folyamot alkotnak, és vége az algoritmusnak. 2. lépés. Keressük meg ebben az útvonalban a legkisebb megmaradó áramlási kapacitást. Jelöljük ezt a kapacitást c∗ -gal, és növeljük meg ezen útvonalon az áramot c∗ -gal. 3. lépés. Csökkentsük c∗ -gal az útvonal minden egyes élén a megmaradó áramlási kapacitást. 4. lépés. Térjünk vissza az els˝o lépéshez. 4.3. mintapélda (Katasztrófa terv). Az alábbi táblázat megmutatja, hogy egy város öt csomópontja között vezet˝o utaknak mekkora az átereszt˝o képessége, azaz id˝oegység alatt a két csomópont között maximálisan hány járm˝u haladhat át. Ezeket az értékeket csúcsforgalom idején statisztikai elemzéssel határozták meg. A város vezetése katasztrófa tervet dolgoz ki, ezért szeretné megtudni az 1-es és 5-ös csomópontok között id˝oegység alatt maximálisan áthaladható járm˝uvek számát. Kezd˝ opont 1 2 3 4
2 20
Végpont 3 4 30 10 5 0 0 14 0
5 0 27 15 19
Megoldás. El˝oször is a táblázat alapján megrajzoljuk a hálózat 4.9.ábráját.
4.9. ábra. A katasztrófa terv mintapélda úthálózata. Amit látható, ez a (4.9.) hálózat már irányított és az éleken megjelen˝o számok azt mutatják meg, hogy id˝oegység alatt a csomópontok között, a megadott irányba maximálisan
98
4. Hálózatok elemzése
4.10. ábra. Az algoritmus lépései.
hány autó haladhat át. A feladat megoldásához a paragrafus elején bemutatott algoritmust alkalmazzuk. 1. lépés. Választjuk az 1 → 3 → 5 útvonalat. Itt a legkisebb kapacitás a 15. Ezt rendeljük hozzá az 1 → 3 → 5 útvonalhoz. Ezután az útvonal mentén a kapacitásokból levonjuk a 15-öt és az ellenkez˝o élen feltüntetjük a levont értéket. Így a 4.10. ábra els˝o grafikonján megadott folyamot kapjuk. 2. lépés. Választjuk az 1 → 2 → 5 útvonalat. Itt a legkisebb kapacitás a 20. Ezt rendeljük hozzá az 1 → 2 → 5 útvonalhoz. Ezután az útvonal mentén a kapacitásokból levonjuk a 20-at és az ellenkez˝o élen feltüntetjük a 20-at. Így a 4.10. ábra második grafikonján mutatott folyamot kapjuk. 3. lépés. Választjuk az 1 → 4 → 5 útvonalat. Itt a legkisebb kapacitás a 20. Ezt rendeljük hozzá az 1 → 2 → 5 útvonalhoz. Ezután az útvonal mentén a kapacitásokból levonjuk a 10-et és az ellenkez˝o irányba feltüntetjük ezt. Így a 4.10. ábra harmadik grafikonja által mutatott folyamot kapjuk. 4. lépés. Figyelmesen elemezve a 4.10. ábra harmadik hálózatát láthatjuk, hogy nem kapunk egyetlen utat sem az 1-t˝ol az 5-ig. Tehát a maximálisan áthaladható járm˝ uvek száma 45 és az úthálózat legjobban ki van használva, ha 1 → 3 → 5 útvonalon 15, az 1 → 2 → 5 útvonalon 20 és az 1 → 4 → 5 útvonalon id˝oegység alatt 10 járm˝ u halad át. Nagy hálózatok esetén elégé bonyolult a maximális folyam meghatározása, de a hálózat maximálisfolyam értékét megkaphatjuk az úgynevezett minimális vágás segítségével. A vágás az irányított élek egy olyan halmaza, amely minden a forrástól a nyel˝oig vezet˝o útvonalból tartalmaz legalább egy élt. Ha vágáshoz tartozó éleket töröljük a hálózatból, akkor a forrástól nem lehet eljutni nyel˝oig. A vágás értéke a vágáshoz tartozó élek kapacitásainak az összege. Maximális folyam - minimális vágás tétele azt mondja ki, hogy bármely hálózatra, amelyben egyetlen forrás és egyetlen nyel˝o van, a forrástól a nyel˝oig haladó maximális folyam értéke megegyezik a hálózat összes vágása értékének minimumával. A katasztrófa terv mintapéldában íme néhány vágás és értéke:
V1 = {1 → 2, 1 → 3, 1 → 4} , N (V1 ) = 20 + 30 + 10 = 60, V2 = {2 → 5, 3 → 5, 4 → 5} , N (V2 ) = 27 + 15 + 19 = 61, V3 = {1 → 2, 1 → 4, 3 → 5} , N (V3 ) = 20 + 10 + 15 = 45.
4. Hálózatok elemzése
99
Mivel a V3 vágás értéke megegyezik a maximális folyam értékével, mindkett˝o 45, ezért a maximális folyam-minimális vágás tétele alapján biztosak lehetünk, hogy az általunk meghatározott folyam valóban maximális. A bemutatott algoritmust használja a WinQSB hálózati modellezés (Network Modeling) maximális folyam (Maximal Flow Problem) eszköztárára is. Itt a kezd˝otáblában ki kell választani a maximális folyam problémát (Maximal Flow Problem), és meg kell adni a csomópontok számát (Number of Nodes), ami ebben a feladatban 5 (4.11. ábra). Vigyázni kell, hogy mivel ennek a feladatnak a gráfja irányítótt nem legyen bejelölve a szimmetrikus mátrix (Symmetric Arc Coefficients) opció.
4.11. ábra. A maximális folyam probléma kezd˝otáblája. Az OK-ra kattintva a WinQSB betölti az adattábláját, amit a mintapélda adataival fel kel tölteni (4.12. ábra).
4.12. ábra. A katasztrófa tervezés mitapélda adattáblája. A síz˝o emberke ikonra kattintva a WinQSB meghatározza a maximális folyamot a forrás (1-es csomópont) és a nyel˝o (5-ös csomópont) között, és betölti az 4.13. eredménytáblát. A táblázatból kiolvasható, hogy az egyes éleken id˝oegység alatt hány járm˝u kell haladjon, hogy a hálózaton id˝oegység alatt legtöbb járm˝u eljusson az 1-b˝ol az 5-be.
4.13. ábra. A katasztrófa terv mintapélda eredménytáblája.
100
4. Hálózatok elemzése
A hálózat ikonjára ( ) kattintva a WinQSB grafikusan is megjeleniti az eredményt. Az eredmények (Results) menüpontjának paraméteres elemzés (Perform Parametric Analysis) eszköztáblája segítségével érzékenységvizsgálatot és paraméteres elemzést végezhetünk. Itt meghatározhatjuk valamelyik él kapacitásának függvényében a maximális folyam értékének változását.
4.5.
Utazó ügynök probléma
Az utazó ügynök problémát a nemzetközi szakirodalom traveling salesman problémának (TSP) nevezi. Az elnevezés eredete azokra a kereskedelmi ügynökökre vezethet˝o vissza, akik azt a feladatot kapták, hogy meghatározott számú ügyfelet keressenek fel, majd térjenek vissza kiinduló állomásukra. Az ügynök nyilvánvalóan arra törekszik, hogy lehet˝oség szerint a legrövidebb út megtételével hajtsa végre a feladatot. Kés˝obb a szállítási és anyagmozgatási területen is alkalmazták a problémát és megoldását. Adva van n számú város. Jelöljön ezek közül kett˝ot i és j. Ekkor ismert ezek cij távolsága. A feladat egy adott városból kiindulva a legrövidebb úton bejárni valamennyit úgy, hogy mindegyiket csak egyszer érintsük és utunkat a kezd˝opontban fejezzük be. Analóg módon, ha egy gépen az adott id˝oszakra (pl. egy m˝uszakra) úgy akarjuk az elvégzend˝o munkák sorrendjét meghatározni, hogy az átállási id˝ok összege minimális legyen. Ebben az esetben cij az i-edik és j-edik munkadarab közötti átszerszámozási id˝o. Egy másik alternatíva, amikor pl. a megmunkálási id˝oket is figyelembe vesszük, és egy harmadik, amikor a cél a határid˝ok betartása (több berendezésre készül˝o együttes program esetén). 4.4. mintapélda (Árukihordó). Egy tehergépkocsival árukihordást végeznek, az A pontból indulva kell bejárni a hat eladóhelyet (B, C, D, E, F, G) és vissza kell érni az A-ba de úgy, hogy mindegyik helységet csak egyszer lehet érinteni. A köztük lév˝o távolságokat km-ben megadva az alábbi táblázat tartalmazza: A A B C D E F G
10 12 15 17
B 10 8 3
C 12 8
D 3 7
7
2 3
E 15
2 8 5
F 17 2
2
8
1
4
G
3 5 1 4
Milyen útvonalat kell választani, hogy az útvonal hossza a lehet˝o legkisebb legyen. Jelöljük xij -vel azt, hogy az i. helységb˝ol megy-e a j. helységbe az árukihordó. Ha igen, akkor xij = 1, ha pedig nem, akkor xij = 0. Ekkor a z = 10x12 + 12x13 + 15x15 + 17x16 +10x21 + 8x23 + 3x24 + 2x26 +12x31 + 8x32 + 7x34 + 3x37 +3x42 + 7x43 + 2x45 + 8x46 + 5x47 +15x51 + 2x54 + x57 +17x61 + 2x62 + 8x64 + 4x67 +3x73 + 5x74 + x75 + 4x76
4. Hálózatok elemzése
101
függvény adja meg a megtett út hosszát. Mivel minden helységb˝ol csak egy olyan másik helységbe mehet az árukihordó, amelyhez vezet út, ezért az xij döntési változók kell teljesítsék az alábbi feltételeket: x12 + x13 + x15 + x16 x21 + x23 + x24 + x26 x31 + x32 + x34 + x37 x42 + x43 + x45 + x46 + x47 x51 + x54 + x57 x61 + x62 + x64 + x67 x73 + x74 + x75 + x76
= = = = = = =
1, 1, 1, 1, 1, 1, 1.
Teljesen hasonlóan, minden helységbe csak egy másik olyan helységb˝ol jöhet az árukihordó, amelyb˝ol vezet út, ezért az xij döntési változók kell teljesítsék az alábbi feltételeket: x21 + x31 + x41 + x51 x12 + x32 + x42 + x62 x31 + x32 + x34 + x37 x24 + x34 + x54 + x64 + x74 x15 + x45 + x75 x16 + x26 + x46 + x76 x37 + x47 + x57 + x67
= = = = = = =
1, 1, 1, 1, 1, 1, 1.
E két feltétel teljesülése esetén még el˝ofordulhat, hogy a kapott útvonal különálló körutakból áll, ami a feladat eredeti megfogalmazásának nem felel meg. Ha lenne olyan zárt körút, amely nem tartalmazza az összes csomópontot, akkor az ehhez tartozó városok alkotta I halmazra xij = 0 i∈I j∈{1,2,3,4,5,6,7}I
Tehát annak feltétele, hogy az árukihordó visszaérjen a kezd˝opontba és minden helységen csak egyszer menejen át: xij ≥ 1, minden I ⊂ {1, 2, 3, 4, 5, 6, 7} , I = ∅. (4.1) i∈I j∈{1,2,3,4,5,6,7}I
Mivel az {1, 2, 3, 4, 5, 6, 7} halmaznak 27 − 1 = 127 nem üres részhalmaza van, ezért ez utóbbi feltétel 127 egyenl˝otlenséget tartalmaz. Egy példa egy ilyen egyenl˝otlenségre. Ha I = {1, 2, 3}, akkor xij ≥ 1, i∈{1,2,3} j∈{4,5,6,7}
azaz
x15 + x16 + x24 + x26 + x34 + x37 ≥ 1. Így a hét helységes utazó ügynök feladat lineáris programozási modelljében összesen 7 + 7 + 127 = 141 feltétel van. Ezek felírása és számítógépes megoldása is nagyon id˝oigényes
102
4. Hálózatok elemzése
feladat. A. Tucker 1960-ban segédváltozók bevezetésével kevesebb feltétellel fogalmazta újra a feladatot. Nála a 4.1. feltétel így írható: ui − uj + (n − 1) xij ≤ n − 2, ahol 2 ≤ i = j ≤ n. xii = 0, ui ≥ 0, ui egész szám. A mintapéldában n = 7. Összefoglalva, a mintapélda Tucker féle lineáris programozási modellje :
z = 10x12 + 12x13 + 15x15 + 17x16 + 10x21 + 8x23 + 3x24 + 2x26 +12x31 + 8x32 + 7x34 + 3x37 + 3x42 + 7x43 + 2x45 + 8x46 + 5x47 +15x51 + 2x54 + x57 + +17x61 + 2x62 + 8x64 + 4x67 +3x73 + 5x74 + x75 + 4x76 → min, x12 + x13 + x15 + x16 = 1, x12 + x13 + x15 + x16 = 1, x31 + x32 + x34 + x37 = 1, x42 + x43 + x45 + x46 + x47 = 1, x51 + x54 + x57 = 1, x61 + x62 + x64 + x67 = 1 x73 + x74 + x75 + x76 = 1, x21 + x31 + x41 + x51 = 1, x12 + x32 + x42 + x62 = 1, x31 + x32 + x34 + x37 = 1, x24 + x34 + x54 + x64 + x74 = 1, x15 + x45 + x75 = 1, x16 + x26 + x46 + x76 = 1, x37 + x47 + x57 + x67 = 1 ui − uj + 6xij ≤ 5, ahol 2 ≤ i = j ≤ 7 minden a célfüggvényben el˝oforduló döntési változóra. xij ∈ {0, 1} ui ≥ 0, ui egész szám.
Az utazó ügynök feladat nagyszámú feltételére, és a nagy m˝ uveletigényére tekintettel a feladatot szokás egyrészt korlátozás és szétválasztás módszerével (Branch and Bound Method) megoldani, másrészt gyors, heurisztikus közelít˝o eljárásokat alkalmazni. Kis számú csomópont esetén a korlátozás és szétválasztás módszerét javasolt használni, mert ez a pontos megoldást adja, nagyszámú csomópont esetén pedig heurisztikus eljárásokkal közelít˝o megoldást keresni. A WinQSB utazó ügynök (Traveling Salesman Problem) eszköztára négy eljárást tartalmaz: a korlátozás és szétválasztás módszerét, valamint a legközelebbi helység hozzáadása (Nearest Neighbor Heuristic), a legolcsóbb beszúrás (Cheapest Insertion Heuristic) és a választás két él cseréje közül (Two-way Exchange Improvement Heuristic) heurisztikus közelít˝o módszereket. A heurisztikus módszer lényege, hogy egy véletlenszer˝ u választással a kezdetben véletlenszer˝uen megadott útvonalból a körutakat feloldja. A továbbiakban WinQSB utazóügynök eszköztárának korlátozás és szétválasztás módszerét alkalmazzuk a mintapélda megoldására. A hálózatok modellezése (Network Modeling) kezd˝oablakjában kiválasztjuk az utazó ügynök (Traveling Salesman Problem) feladattípust és megadjuk a csomópontok (Number of Nodes) számát (4.14. ábra). Mivel irányítatlan gráfunk van, ezért az adatbevitelt megkönnyíti a szimmetrikus mátrix (Symmetric Arc Coefficients) bejelölése.
4. Hálózatok elemzése
103
4.14. ábra. Az utazó ügynök eszköztár kezd˝otáblája.
Az OK-ra kattintva betölt˝odik a feladat adattáblája, amelyet a távolságokat tartalmazó táblázat szerint fel kell tölteni (4.15. ábra). A táblázatban a csomópontok újranevezését az Edit menüpont Node Names táblájában végezhetjük el.
4.15. ábra. Az árukihordó mintapélda adattáblája.
A síz˝o emberke ikonra kattintva megjelenik a módszert kiválasztó abalak (4.16. ábra).
4.16. ábra. Az utazóügynök feladat módszereit kiválasztó tábla.
Mivel nincs sok csomópontunk, használhatjuk a korlátozás és szétválasztás módszerrét (Branch and Bound Method). Ezt kiválasztva, és a megoldás (Solve) gombra kattintás után a WinQSB megolja a problémát és betölti az 4.17. eredménytáblát.
104
4. Hálózatok elemzése
4.17. ábra. Az árukihordó mintapélda eredménytáblája.
A táblázatból kiolvasható, hogy a legrövidebb útvonal: A → C → G → E → D → F → B → A. Ennek az útvonalnak a hossza 38 km. Az eredmények (Results) menüpontjának paraméteres elemzés (Perform Parametric Analysis) eszköztáblája segítségével érzékenységvizsgálatot és paraméteres elemzést végezhetünk. Itt meghatározhatjuk valamelyik él hosszának függvényében az utazó ügynök probléma legrövidebb útvonalhosszának a változását valamely él hosszának függvényében.
4.6.
Kit˝ uzött feladatok
1. Csíkszereda város öt negyede között telefonvonalakat akarnak telepíteni úgy, hogy a hálózatban mind az öt negyed elérhet˝o legyen. A negyedek közötti távolságokat méterben az alábbi táblázat tartalmazza:
1. 2. 3. 4. 5.
negyed negyed negyed negyed negyed
1. negyed 140 220 264 60
2. negyed 140 290 201 80
3. negyed 220 290 113 300
4. negyed 264 201 113 400
5. negyed 60 80 300 400 -
Tudjuk azt is, hogy az 1-es és a 4-es negyed között közvetlen kapcsolat nem létesíthet˝o és a telepítés költsége arányos a távolságokkal. Hogyan járjanak el, hogy a kiépítés költsége a legkisebb legyen 2. Egy település utcahálózatának keresztez˝odései legyenek a pontok, az összeköt˝o szakaszok az élek (4.18. ábra). Az önkormányzat a jelenlegi utcahálózat bizonyos szakaszain (mindkét irányban használható) kerékpárutat akar kiépíteni. A kiépítés költsége a hálózat minden szakaszára ismert. Mely szakaszokon építsenek kerékpárutat, ha be kell tartani az alábbi követelményeket: a. Minden pontból minden pontba el lehessen jutni, csak a kerékpárutak használatával is. b. A kiépítés költsége a lehet˝o legkisebb legyen.
4. Hálózatok elemzése
105
4.18. ábra. A 2. feladat ábrája.
3. Egy elektromos áramkör tervezésekor 5 darab IC-t használnak. Mindegyik IC-nek egy bemeneti és egy kimeneti portja van és bármelyikkel össze lehet kötni. Az alábbi táblázat megadja a többréteg˝u nyákon elhelyezet IC-k közti távolságokat mm-ben megadva. IC-k 1 2 3 4 5
1 5 7 2 5
2 5 6 3 1
3 7 6 2 2
4 2 3 2 3
5 5 1 2 3 -
Határozzuk meg a legrövidebb huzalozási lehet˝oséget. 4. Egy k˝oolaj társaságnak öt lel˝ohelye van. A lel˝ohelyek földrajzi koordinátáit az alábbi táblázat tartalmazza Koordináták (fokban) Földrajzi szélesség Földrajzi hosszúság
Bázis 15 35
Lel˝ ohelyek 1 2 3 4 80 10 60 30 95 15 70 10
5 85 75
A lel˝ohelyek közötti távolság jól becsülhet˝o a koordináták különbségének összegével. Például az 1-es és 2-es lel˝ohely közti távolság: (80 − 10) + (95 − 15) = 150 fok. Az igazgatóság repül˝ovel utazva, ellen˝orzést szeretne tartani úgy, hogy egy lel˝ohelyre csak egyszer megy. A bázisról indul és oda is érkezik vissza. Milyen sorrendben keressék fel a lel˝ohelyeket ahhoz, hogy a megtett útjuk a legrövidebb legyen?
106
4. Hálózatok elemzése
8
3
5 7
4
5
2 7
1
7
4
8
3 8
5
9
2
6 4
4.19. ábra. A 6. feladat ábrája. 5. Egy helység vízvezetékének csomópontjai között az alábbi táblázatban megadott távolságok vannak: Élek A—>B B—>C A—>E B—>D C—>D D—>E D—>F C—>F
Távolságok (km) 7 8 4 6 3 5 1 2
Rajzoljuk meg a hálózatot és határozzuk meg az A és F csomópontok között a legrövidebb útat, valamint a hálózat minimális feszít˝ofájának hosszát. 6. Egyetemünknek 7 db. számítógépet egy föld alatti kábelhálózattal kell összekötni. Az alábbi ábra mutatja a gépek összekötéséhez szükséges kábelek hosszát méterben. Ha két csúcs között nem megy él, az azt jelenti, hogy a két helyszín között kábel nem fektethet˝o. Minimálisan milyen hosszúságú kábelre van szükség (minimális kifeszít˝o fa probléma). Keressük meg az alábbi gráfban az 1-es pontból a 7-es pontba vezet˝o legrövidebb utat! 7. Egy technológiai m˝uveletsor elvégzéséhez a megmunkálandó tárgyat egy üzem A pontjából át kell vinni egy másik B pontjába. Az alábbi táblázat megadja a mozgatás során bizonyos fixpontok közötti távolságokat méterben kifejezve. AC 80
AD 70
CE 25
DE 23
EG 50
EF 45
FH 15
HG 10
HB 40
GB 20
Rajzoljuk meg a hálózatot és határozzuk meg a legrövidebb utat az A és B pontok között. Végezzünk parametrikus elemzést annak megállapítására, hogyan függ a legrövidebb út hossza az AC él hosszától.
4. Hálózatok elemzése
107
8. Egy mobiltelefon 40 euróba kerül. Tegyük fel, hogy legfeljebb öt évig tudunk egy telefont használni, továbbá, hogy a becsült fenntartási költségek: Év 1. 2. 3. 4. 5.
Fenntartási költség 20 euró 30 euró 40 euró 60 euró 70 euró
Éppen most vettünk egy telefont. Feltéve, hogy egy használt telefont már nem tudunk értékesíteni, határozzuk meg, hogyan minimalizálhatjuk az elkövetkez˝o hat évre a telefonnal kapcsolatos vételi és fentartási költségeinket. Fogalmazzuk meg ezt a problémát, mint egy legrövidebb út feladatot! A feladat megoldásához használjuk a WinQSB programcsomagot! 9. A barátunk most vett egy új autót 11000 Euróért. Az autó éves fenntartási költsége az autónak az évkezdettel számított korától függ, ahogyan az alábbi táblázat mutatja. Hogy elkerülje az id˝ovel növekv˝o fenntartási költségek túl magasra emelkedését, a korosodó autót újra kell cserélje. A régi autó a második táblázatban feltüntetett áron számítják be a cserénél. Az egyszer˝uség kedvéért tegyük fel, hogy az új autó ára a teljes id˝oszakban 11 000 Euró. Cél a nettó költséget=új autó ára+fenntartási költségek-lecserélt autó ára minimalizálása a következ˝o öt évre vonatkozóan. a. Fogalmazzuk meg a problémát mint egy legrövidebb út feladatot és rajzoljuk meg a hálóját. b. Alkalmazva a legrövidebb út meghatározásához a WinQSB programot határozzuk meg az autó lecserélésének optimális id˝opontját. Az autó kora (év) 0 1 2 3 4
Éves fenntartási költség (Euró) 2000 4000 5000 9000 12000
Az autó kora (év) 1 2 3 4 5
Eladási ár (Euró) 8000 6000 3000 2000 1000
10. Lehetséges-e olyan 7 csomópontból felépül˝o fát szerkeszteni, amelyek közül 4 csomóponthoz 3 él, 3 csomóponthoz 4 él tartozik. 11. Az A kiköt˝oben 35 hajó található, és el akarnak jutni a B kiköt˝obe. Id˝oközben meg kell álljanak a C, D, E, F, G, H, I, J kiköt˝ok valamelyikében élelmiszer és üzemanyag felvételre.
108
4. Hálózatok elemzése
Az alábbi táblázatban adjuk meg az egyes kiköt˝ok fogadási képességét a többi kiköt˝o irányából. Fogalmazzuk meg a problémát maximális folyam problémaként és határozzuk meg maximálisan hány hajó tud elérni a B kiköt˝obe és milyen útvonalakat válasszanak ennek érdekében. A C D E F G H I J B
A 0 -
C 12 0 -
D 3 0 -
E 20 0 -
F 4 5 0 -
G 6 4 0 -
H 5 3 0 -
I 5 3 0 -
J 10 3 0 -
B 13 10 12 0
12. A Csíkszeredából (Cs) Bukarestbe (B) men˝o telefonhívások el˝oször vagy Szebenbe (Sz), vagy Brassóba (Br) mennek, majd vagy Plojesten (Pl), vagy Pitesten (Pi) keresztül jutnak el Bukarestbe. Az alábbi táblázat mutatja, hogy az egyes városok között egy adott id˝opontban hány telefonvonal szabad. Városok Cs-Br Cs-Sz Br-Sz Br-Pl Sz-Pi Pl-Pi Pl-B Pi-B
Telefonvonalak száma 700 700 500 200 800 400 200 700
Adjunk meg egy maximális folyam feladatot, annak eldöntésére, hogy maximálisan hány telefonhívás kezdeményezhet˝o ebben az id˝opontban Csíkszeredából Bukarestbe. 13. Egy olajtársaság nyersolajat szivattyúz 3 kútból: K1, K2, K3 a T központi tárolóhelyre. Mindegyik kút kapacitása 15 m3 /perc. Az olaj a vezetékek hálózatán folyik át. Szivattyúzó állomások vannak mindhárom kútnál, és az 5 közbels˝o állomásnál. Ezen hálózat gráfja, a kapacitásokkal (m3 /perc) ellátva a következ˝o
4.20. ábra. A 13. feladat ábrája.
4. Hálózatok elemzése
109
Határozzuk meg, hogy percenként mekkora mennyiségeket kell pompálni a vezetékekbe ahhoz, hogy a lehet˝o legnagyobb mennyiség˝u olaj érkezzék a T-be. 14. Tegyük fel, hogy óránként legfeljebb 200 gépkocsi közlekedhet az 1,2 és 3 városok közül bármelyik kett˝o között. Adjon meg egy maximális folyam feladatot, amellyel meg lehet határozni, hogy a következ˝o két órában maximálisan hány gépkocsi küldhet˝o az 1-városból a 3-as városba. 15. A Sándor, Todor, Balázs és Kis családok közös piknikre mennek. Négy autójuk van, ezek kapacitása a következ˝o: Autó 1. (Trabant) 2. (Volvo) 3. (Suzuki) 4. (Jeep)
Hány személyes? 3 5 4 5
Mindegyik család öttagú és kett˝onél több személy egyik családból sem ülhet ugyanabba az autóba. Legtöbben hányan mehetnek piknikre? Fogalmazza meg a problémát maximális folyam feladatként! 16. Az eljövend˝o három hónap alatt egy vállalatnak két projektet kell befejeznie. Az 1-es projekt két hónap alatt befejezhet˝o és még 4 havi munkát igényel. A második projekt három hónap alatt fejezhet˝o be és még 6 havi munkát igényel. Mindegyik hónapban 5 munkás áll rendelkezésre, de egyetlen hónapban sem dolgozhat 3-nál több munkás ugyanazon a projekten. Adjon meg egy maximális folyam feladatot, annak eldöntésére, hogy befejezhet˝o-e id˝oben mind a két projekt. 17. Egy utazó ügynök feladata, hogy az 1, 2, ...8-al jelölt városokat meglátogassa, de úgy hogy a legkisebb út megtételével mindegyik városon csak egyszer menjen át. Az alábbi táblázat tartalmazza a városok közti távolságokat (km-ben). Városok 1 2 3 4 5 6 7 8
Városok 1 2 150 150 180 120 300 180 200 250 50 200 290 150 350 250
3 180 120 150 150 120 150 200
4 300 180 150 300 320 25 60
5 200 250 150 300 100 300 350
6 50 200 120 320 100 300 350
7 290 150 150 25 300 300 90
8 350 250 200 60 350 350 90 -
Rajzoljuk meg a feladathoz rendelt hálózatot és határozzuk meg az optimális útvonalat. 18. A fagylaltoskocsi az A helyszínr˝ol indul, és a B, C, D és E helyszínekre fagylaltot kell vinnie, miel˝ott visszatérne az A helyszínre. Az egyes helyszínek közötti távolságokat az alábbi táblázat mutatja: A B C D E
A 10 4 5 20
B 10 5 15 12
C 4 5 5 4
D 5 15 5 7
E 20 12 4 7 -
110
4. Hálózatok elemzése
A fagylaltoskocsi minimalizálni szeretné a megteend˝o össztávolság összegét. Milyen sorrendben keresse fel a helyszíneket? 19. Egy városnak öt kerülete van. Az alábbi táblázat mutatja, hogy hány percig tart, amíg egy reklámautó az egyik kerületb˝ol a másikba ér: K1 K2 K3 K4 K5
K1 10 30 5 20
K2 10 5 10 10
K3 30 5 15 5
K4 5 10 15 7
K5 20 10 5 7 -
A reklámautó bejárja a város összes kerületét. M˝uködtet˝oje minimalizálni szeretné a megteend˝o összid˝otartamot. Honnan induljon és milyen sorrendben keresse fel a helyszíneket? 20. A k˝onigsbergi Pregel folyót hét híd íveli át a következ˝o módon:
4.21. ábra. A 20. feladat ábrája. A XVIII. század végén a k˝onigsbergi polgárok vetették fel a következ˝o problémát. Lehet-e olyan sétát tenni, hogy közben mind a hét hídon (a, b, c, d, e, f, g) pontosan egyszer haladjunk át és visszaérjünk a kiinduló pontba?
5. fejezet Projektek ütemezése
Az összetett munkafolyamatok rögzített befejezési id˝oponttal való teljesítése gondos tervez˝omunkát igényel. Ennek része az összefügg˝o események sorrendjének, id˝ozítésének vizsgálata hálózati modellek segítségével. Ezeknek a feladatoknak a megkönnyítésére az 1950-es évek végét˝ol kezd˝od˝oen kifejlesztettek a hálózatokon és a hálózati módszereken alapuló formális eljárásokat. Ezek közül az eljárások közül a legkiemelked˝obbek a CPM (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). Számos nagy projekt tervezésekor használták ezeket a módszereket, pl. nagy szoftver rendszerek határid˝os kidolgozásánál, ˝urkutatá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 (mint az 1. mintapéldánál adott táblázat). A projektet akkor tekintjük befejezettnek , ha minden részfeladata befejez˝odött. Minden tevékenységnek lehetnek el˝ozményei, olyan munkafolyamatok, amelyeknek el˝obb be kell fejez˝odni ahhoz, hogy az adott tevékenység elkezd˝odhessen. 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. Az ilyen projekt-hálózatot AOA (Activity On Arc) hálózatnak nevezzük.
5.1.
Kritikus út modszere, CPM
A CPM módszert akkor alkalmazzák, amikor a munkafolyamat tevékenységeinek végrehajtási ideje biztosan tudható. 5.1. mintapélda (Faház építése). Egy lakás építése több elemi m˝uveletb˝ol tev˝odik össze, amelyek az alábbi táblázatban vannak összefoglalva. Ismerjük mindegyiknek az id˝otartamát (munkahétben kifejezve) és a közvetlen el˝otte lév˝o m˝uveleteket. 111
112
5. Projektek ütemezése
Tevékenységek Terület vásárlása (A) Építkezési engedély kiváltása (B) Épít˝oanyagok beszerzése (C) Építészek alkalmazása (D) Az épít˝otelep megszervezése (E) Az alap ásása (F) Vakolat a falazáshoz (G) Falak megépítése (H) Ajtó-ablak tokok összeállítása (I) A tokok beszerelése (J) A tet˝ozet megépítése (K) Szobák plafonozása (L) Villanyáram bevezetése (M) Víz bevezetése (N) Küls˝o vakolás (O) Bels˝o vakolás (P) Padló lerakása (Q) Meszelés és festés (R) Ajtók és ablakszemek összeállítása (S) Ajtók és ablakszemek beszerelése (T) Az épület átadása (U)
Id˝ otartam 3 1 5 3 1 4 1 6 2 1 5 3 2 2 3 4 4 3 10 1 1
El˝ oz˝ o tevékenységek A B B D E F, I F, I C F,I G, H, J K K K K L, M, N P Q F, I S O, R, T
a. Rajzoljuk meg a munkálathoz tartozó gráfot. b. Határozzuk meg a projekt végrehajtásának minimális id˝otartamát. c. Határozzuk meg a legkorábbi és legkés˝obbi kezdési id˝opontokat. d. Számoljuk ki a tevékenységek t˝urési értékeit. e. Határozzuk meg a kritikus útvonalat. f. Rajzoljuk meg a m˝uveletek Gantt diagramját. Megoldás. a. Figyelembe véve a táblázatban megadott tevékenységi sorrendet az 5.1. ábrán bemutatott hálózathoz jutunk. A hálózatban az élek jelentik a tevékenységeket . Mindegyik él mellett zárójelben feltüntettük a tevékenység id˝otartamát is. A szaggatott vonallal jelölt éleket vakélekneknevezzük, mivel ezek csak sorrendiséget mutatnak és nem jelentnek tevékenységet. Például a (8, 9) vakél azt mutatja, hogy a K tevékenység kezdeti csomópontja (kezdeti id˝opontja) az L tevékenység befejezési csomópontja (befejezési id˝opontja után jön). A vakél id˝otartama 0. b. Egy tevékenység kezdésének legkorábbi id˝opontja, az az id˝opont, amikor minden a tevékenységet közvetlen megel˝oz˝o tevékenység már befejez˝odött. Kiszámítását az alábbi táblázatban mutatjuk be:
5. Projektek ütemezése
5.1. ábra. Az 5.1. mintapélda projekthálózata.
Tevékenység A B C D E F G H I J K L M N O P Q R S T U
Közvetlenül megel˝ oz˝ o tevékenységek A B B D E F, I F, I C F, I G, H, J K K K K L, M, N P Q F, I S O, R, T
A legkorábbi id˝ o + a tevékenységek id˝ otartama 0+3=3 3+1=4 3+1=4 4+3=7 7+1=8 8+4=12, 9+2=11 8+4=12, 9+2=11 4+5=9 8+4=12, 9+2=11 12+1=13, 12+6=18, 12+1=13 18+5=23 18+5=23 18+5=23 18+5=23 23+3=26, 23+2=25, 23+2=25 26+4=30 30+4=34 8+4=12, 9+2=11 12+10 23+3=26, 34+3=37, 22+1=23
Maximum a legkorábbi id˝ o 0 3 4 4 7 8 12 12 9 12 18 23 23 23 23 26 30 34 12 22 37
113
114
5. Projektek ütemezése
Tehát az U tevékenység legkorábban a 37 héten kezd˝odhet el és 1 hetet tart. Így a projekt legkorábban a 38. hét végén fejezhet˝o be. c. Egy tevékenység kezdésének legkés˝obbi id˝opontja, az a legkés˝obbi id˝opont, amikor tevékenységet még elkezdhetjük, anélkül, hogy a projekt legkorábbi befejezési id˝opontját késleltetnénk. Kiszámítását az alábbi táblázatban mutatjuk be:
Tevékenység U T S R Q P O N M L K J I H G F E D C B A
Közvetlenül rákövetkez˝ o tevékenységek U T U R Q U P P P L, M, N, O K G, H, J, S K K G, H, J, S F E I C, D B
A legkés˝ obbi id˝ o a tevékenység id˝ otartama 37-1=36 36-10=26 37-3=34 34-4=30 30-4=26 37-3=34 26-2=24 26-2=24 26-3=23 23-5=18, 24-5=19, 24-5=19, 34-5=29 18-1=17 17-2=15, 12-2=10, 17-2=15, 26-2=24 18-6=12 18-1=17 17-4=13, 12-4=8, 17-4=13, 26-4=22 8-1=7 7-3=4 10-5=5 5-1=4, 4-1=3 3-3=0
Minimum a legkés˝ obbi id˝ o 37 36 26 34 30 26 34 24 24 23 18 17 10 12 17 8 7 4 5 3 0
d. Egy tevékenység t˝urése a legkés˝obbi és a legkorábbi kezdési id˝opontjai 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˝urése megmutatja, hogy a tevékenység elvégzésében mekkora késés engedhet˝o meg, amely még nem késlelteti a projekt legkorábbi befejezésének id˝opontját. Kiszámításához készítsük el az alábbi táblázatot:
5. Projektek ütemezése
Tevékenység A B C D E F G H I J K L M N O P Q R S T U
Legkés˝ obbi kezdési id˝ opont 0 3 5 4 7 8 17 12 10 17 18 23 24 24 34 26 30 34 26 36 37
Legkorábbi kezdési id˝ opont 0 3 4 4 7 8 12 12 9 12 18 23 23 23 23 26 30 34 12 22 37
115
T˝ urés 0 0 1 0 0 0 5 0 1 5 0 0 1 1 11 0 0 0 14 14 0
e. Azokat a tevékenységeket, amelyek t˝urése nulla kritikus tevékenységeknek nevezzük. Egy projektben a kritikus útvonal egy olyan a hálózat kezd˝opontjától a befejezési pontig tartó útvonal, amelyen a tevékenységek t˝urése nulla. Ebben a mintapéldában a kritikus útvonal: A → B → D → E → F → H → K → L → P → Q → R → U. A legkorábbi és a legkés˝obbi id˝opontokra, a t˝urésekre és a kritikus útvonalra vonatkozó információk nagyon értékesek a projektvezet˝o számára, mert lehet˝ové teszik, hogy meghatározza, hol kell különleges er˝ofeszítéseket kifejteni ahhoz, hogy ne késsünk, és hogy felbecsülje az ütemezéshez képest végbemen˝o csúszások hatását. f. A feladatot meg lehet oldani a WinQSB PERT/CPM eszköztára segítségével is. Ekkor a kezd˝o ablakban ki kell választani a CPM módszert (Deterministic CPM), meg kell adni a tevékenységek számát (Number of Activities). Ebben feladatban ez 21. Vigyázni kell, hogy ennél a feladattípusnál csak a normál id˝o (Normal Time) legyen kijelölve (lásd a 5.2. ábrát). A feladatban az id˝o egysége a hét (Time Unit: week). Az OK gombra kattintva megjelenik a feladat adattáblája. Itt a második oszlopban (Activity Name) meg kell adni a tevékenységek elnevezését. Ha a tevékenységeket az ABC nagy bet˝uivel jelöljük, úgy mint a feladatban, akkor a program felajánlja ezen elnevezéseket. A második oszlopban (Immediate predecessor) a tevékenységet közvetlen megel˝oz˝o tevékenységeket kell felsorolni. Ha több van, akkor az elválasztó a vessz˝o. A harmadik oszlopba (Normal Time) a tevékenységek id˝otartamát kell beírni (lásd a 5.3. ábrát).
116
5. Projektek ütemezése
5.2. ábra. A CPM módszer kezd˝otáblája.
5.3. ábra. Az 5.1. mintapélda adattáblája. A síz˝o emberke ikonra kattintva megjelenik a feladat 5.4. eredménytáblája. A táblázatból kiolvasható, hogy a projekt legkorábbi befejezésének id˝opontja (Project Completion Time) 38 hét, és a feladatban van egy kritikus útvonal (Number of Critical Path(s)=1). Az els˝o oszlop (Activity Name) a tevékenységek elnevezését tartalmazza. A második oszlop (On Critical Path) azt mutatja meg, hogy a tevékenység a kritikus útvonalon van-e (Igen=Yes, Nem=No). A harmadik oszlop (Activity Time) a tevékenység id˝otartamát, a negyedik oszlop (Earliest Start) a legkorábbi kezdési id˝opontot, az ötödik oszlop (Earliest Finish) a legkorábbi befejezési id˝opontot, a hatodik oszlop (Latest Start) a legkés˝obbi kezdési id˝opontot, a hetedik oszlop (Latest Finish) a legkés˝obbi befejezési id˝opontot, a nyolcadik oszlop (Slack LS-ES) pedig a t˝urési értékeket mutatja.
5. Projektek ütemezése
117
5.4. ábra. Az 5.1. mintapélda eredménytáblája. A vezet˝o számára a legfontosabb a Gantt diagram, ami grafikusan szemlélteti az eredménytábla adatait. Ezt a WinQSB-ben a diagram ( ) ikonra kattintva érjük el (lásd a 5.5. ábrát):
5.5. ábra. Az 5.1. mintapélda Gantt diagramja.
118
5. Projektek ütemezése
Az ábrán különböz˝o színekkel vannak megjelenítve a tevékenységek id˝otartamai. Egy tevékenységnél a fels˝o téglalapok a legkorábbi kezdés-befejezést, az alsók pedig a legkés˝obbi kezdés-befejezést szemléltetik. Ha a két téglalap kezdeti- és végpontja egybeesnek, akkor az illet˝o tevékenység kritikus. Habár egy projekt-hálózatban a kritikus út megkeresése könnyen programozható, a CPM módszer lineáris programozási feladattal is modellezhet˝o. Ennek érdekében jelölje xj a jcsúcsponthoz tartozó esemény bekövetkezésének id˝opontját. Minden (i, j) tevékenységre igaz, hogy a j esemény el˝ott minden (i, j) tevékenységnek be kell fejez˝odnie. Ezért a projekthálózat minden (i, j) élére igaz: xj ≥ xi + tij , ahol tij jelöli az (i, j) tevékenység hosszát. Célunk az,hogy a befejezés-kezdés id˝otartam-különbséget minimalizáljuk. A mintapéldához tartozó lineáris programozási modell:
z = x19 − x1 → min, x2 ≥ x1 + 3, x3 ≥ x2 + 1, x4 ≥ x3 + 5, x5 ≥ x3 + 3, x6 ≥ x4 + 2, x6 ≥ x7 + 4, x7 ≥ x5 + 1, x8 ≥ x6 + 1, x 9 ≥ x6 + 6, x10 ≥ x6 + 1, x11 ≥ x6 + 10, x12 ≥ x8 + 5, x12 ≥ x9 + 5, x12 ≥ x10 + 5, x12 ≥ x11 + 5, x13 ≥ x12 + 3, x14 ≥ x12 + 2, x15 ≥ x12 + 2, x16 ≥ x13 + 4, x16 ≥ x14 + 4, x16 ≥ x15 + 4, x17 ≥ x16 + 4, x18 ≥ x17 + 3, x18 ≥ x12 + 3, x ≥ x11 + 1, x19 ≥ x18 + 1, 18 xj ≥ 0, j = 1, 2, ..., 19.I
5.2.
Id˝ o-költség diagramon alapuló CPM módszer
Gyakran el˝ofordul, hogy a projektet hamarabb be kell fejezni, mint amennyi a kritikus út hossza. Ilyenkor pótlólagos er˝oforrások bevezetésével megpróbálják leszorítani a befejezési határid˝ot. Mindezt persze a lehet˝o legkisebb költséggel szeretnék elérni. Ilyenkor minden egyes (i, j) tevékenységhez hozzárendeljük a 5.6. ábrán bemutatott úgynevezett id˝o-költség diagramot . Az ábrán a tnij a normális id˝otartamot, a tcij a gyorsított id˝otartamot, a pnij a normál id˝otartamhoz tartozó költséget és pcij a gyorsított id˝otartamhoz tartozó költséget jelentik. A grafikon azt mutatja meg, hogy az id˝otartam növekedésével hogyan esik a költség. c n A feladat az, hogy határozzuk meg a tevékenységek tij ∈ tij , tij id˝otartamát úgy, hogy a befejezési határid˝o az el˝ore ismert T id˝otartamnál kisebb és az összköltség pedig minimális legyen.
5. Projektek ütemezése
119
5.6. ábra. Id˝o-költség diagram 5.2. mintapélda (Auditálás). Egy vállalat auditálásának els˝o fázisában a könyvvizsgáló cégnek el˝oször “meg kell tanulnia az ügyfelét”. Ez a folyamat az alábbi táblázatban felsorolt tevékenységeket jelenti:
A. B. C. D. E. F. G.
Tevékenységek A vizsgálat feltételeinek meghatározása Az auditálhatóság felbecslése A tranzakció típusok és hibalehet˝oségek azonosítása A rendszer leírása A rendszerleírás ellen˝orzése A bels˝o ellen˝orzés értékelése Az auditálás menetének megtervezése
Id˝ otartam (nap) 3 6 14 8 4 8 9
El˝ oz˝ o tev. A A C D B, E F
a. Rajzoljuk meg a projekt-hálózatot, keressük meg a kritikus utat, határozzuk meg az egyes tevékenységek t˝uréshatárait! b. Tegyük fel, hogy a projektnek 30 nap alatt be kell fejez˝odnie. Bármelyik tevékenység hossza rövidíthet˝o Az alábbi táblázat mutatja a normál és gyorsított id˝otartamokhoz tartozó költségeket euróban kifejezve. WinQSB segítségével határozzuk meg a minimális összköltséghez tartozó tevékenységi id˝otartamokat. Tev. A. B. C. D. E. F. G.
Normál id˝ o (tnij ) 3 6 14 8 4 8 9
Normál költs.. (pnij ) 100 300 500 400 200 300 400
Gyors. id˝ o (tcij ) 1 4 8 4 2 4 4
Gyors. költs.(pcij ) 200 500 1000 700 400 600 800
c. Írjuk fel a feladat lineáris programozási modelljét. Megoldás. a. Az 5.1. mintapéldában leírtak alapján járunk el. Figyelembevéve a táblázatban megadott tevékenységi sorrendet az 5.7. ábrán bemutatott hálózathoz jutunk: Alkalmazva a WinQSB PERT/CPM eszköztárát az alábbi t˝uréshatár-táblázatot kapjuk:
120
5. Projektek ütemezése
5.7. ábra. Az 5.2. mintapélda projekthálózata.
Tevékenység A B C D E F G
Legkés˝ obbi kezdési id˝ opont 0 3 3 17 25 29 37
Legkorábbi kezdési id˝ opont 0 23 3 17 25 29 37
T˝ urés 0 20 0 0 0 0 0
A kritikus út: A → C → D → E → F → G. A projektet leghamarabbi befejezési id˝otartama 46 nap b. A WinQSB PERT/CPM eszköztárát alkalmazzuk (lásd a 5.8. ábrát). Ekkor a kezd˝o ablakban ki kell választani a CPM módszert (Deterministic CPM), meg kell adni a tevékenységek számát (Number of Activities). Ebben feladatban ez 7. Ennél a feladattípusnál az adatmez˝ob˝ol (Select CPM Data Field) ki kell választani a normál id˝ot (Normal Time), a gyorsított id˝ot (Crash Time), a normál-költséget (Normal Cost) és a gyorsított id˝o költségét (Crash Cost). A feladatban az id˝o egysége a hét (Time Unit: day).
5.8. ábra. Az 5.2. mintapélda kezd˝otáblája.
5. Projektek ütemezése
121
Az OK gombra kattintva megjelenik a feladat adattáblája. Itt a második oszlopban (Activity Name) meg kell adni a tevékenységek elnevezését. Ha a tevékenységeket az ABC nagy bet˝uivel jelöljük, úgy mint a feladatban, akkor a program felajánlja ezen elnevezéseket. A második oszlopban (Immediate Predecessor) a tevékenységet közvetlen megel˝oz˝o tevékenységeket kell felsorolni. Ha több van, akkor az elválasztó a vessz˝o. A harmadik oszlopba (Normal Time - tnij ) a tevékenységek normál id˝otartamát, a negyedik oszlopba a gyorsított id˝otartamot (Crash Time - tcij ), az ötödik oszlopba a a normál költségeket (Normal Cost - pnij ), a hatodik oszlopba pedig a gyorsított id˝o költségét (Crash Cost - pcij ) kell beírni (lásd a 5.9. ábrát).
5.9. ábra. Az 5.2. mintapélda adattáblája. A síz˝o emberke kattintva megjelenik a feladat eredménytáblája (5.10. ábra)
5.10. ábra. Az 5.2. mintapélda eredménytáblája. A táblázatból kiolvasható, hogy a projekt legkorábbi befejezésének id˝opontja (Project Completion Time) 46 hét, és a feladatban van egy kritikus útvonal (Number of Critical Path(s)=1). Az els˝o oszlop (Activity Name) a tevékenységek elnevezését tartalmazza. A második oszlop (On Critical Path) azt mutatja meg, hogy a tevékenység a kritikus útvonalon van-e (Igen=Yes, Nem=No). A harmadik oszlop (Activity Time) a tevékenység id˝otartamát, a negyedik oszlop (Earliest Start) a legkorábbi kezdési id˝opontot, az ötödik oszlop (Earliest Finish) a legkorábbi befejezési id˝opontot, a hatodik oszlop (Latest Start) a legkés˝obbi kezdési id˝opontot, a hetedik oszlop (Latest Finish) a legkés˝obbi befejezési id˝opontot, a nyolcadik oszlop (Slack LS-ES) pedig a t˝urési értékeket mutatja. Kiolvasható az is, hogy a a projekt költsége (Total Cost of Project) normál id˝otartamok esetén 2200 euró. Ahhoz, hogy a projektet 30 nap alatt befejezzük, bizonyos tevékenységeket fel kell gyorsítani. Hogy melyikeket és mennyivel megkapjuk, ha az eredmények (Results) menüpontból kiváikont). A lasztjuk a gyorsítási analízis eszköztárat (Perform Crashing Analysis- vagy az
122
5. Projektek ütemezése
megjelent táblából (5.11) kiolvasható, hogy normál id˝otartamok (Project Completion time and cost based on normal time) esetén a projekt 46 nap alatt 2200 eurós költséggel végezhet˝o el és ha minden tevékenységet a lehet˝o legkisebb id˝otartam alatt végeznek el, akkor 23 nap szükséges, ekkor a költség pedig 4200 euró. Tehát a projekt 23 nap és 46 nap közötti id˝otartamban fejezhet˝o be. A feladatban a projektet 30 nap alatt kell befejezni. Ezt a szükséges id˝otartam (Desired completion time) mez˝oben adjuk meg a programnak. Az OKra kattintva megkapjuk az eredménytáblát.
5.11. ábra. A gyorsítási eszköztár vezérl˝oablaka.
5.12. ábra. A gyorsítási analízis eredménytáblája. Az 5.12. eredménytáblából kiolvasható, hogy ha 30 nap alatt akarjuk befejezni a projektet, az nekünk 3383.33 euróba kerül. A tevékenységek javasolt id˝otartami (Suggested Time) a 6. oszlopból olvashatók ki. A pluszköltségeket (Suggested time) a 7. oszlop mutatja. A projekt Gantt diagramját tartalmazza a 5.13. ábra.
5.13. ábra. A projekt Gantt diagramja.
5. Projektek ütemezése
123
c. Jelöljük tA , tB , ..., tG -vel az A − G tevékenységhez szükséges a normál id˝otartamtól eltér˝o többlet id˝otartamokat. El˝oször is meghatározzuk az egyes tevékenységek napi többletköltségeit a pcij − pnij mij = n tij − tcij képlettel: 100 2 500 = 6 200 = 2 400 = 5
mA = mC mE mG
200 = 100, 2 300 = 83.33, mD = = 75, 4 300 = 100, mF = = 75, 4 = 50, mB =
= 80,
Célunk az, hogy a teljes többletköltséget: z = 50tA + 100tB + 83.33tC + 75tD + 100tE + 75tF + 80tG minimalizáljuk. Ha xj a j-csúcsponthoz tartozó esemény bekövetkezésének id˝opontja, akkor az (i, j) élre vonatkozó feltétel: xj ≥ xi + tnij − tij , ahol tij az (i, j) éllel megadott tevékenység id˝otartama. Tehát, a feladat LP modellje: z = 50tA + 100tB + 83.33tC + 75tD + 100tE + 75tF + 80tG → min, x2 ≥ x1 + 3 − tA , x 3 ≥ x2 + 6 − tB , x4 ≥ x2 + 14 − tC , x5 ≥ x4 + 8 − tD , x6 ≥ x3 + 8 − tF , x7 ≥ x6 + 9 − tG , xj ≥ 0, j = 1, 2, ..., 7, tA , tB , ..., tG ≥ 0.
5.3.
Program kiértékelés és áttekintés módszere, PERT
A CPM feltételezi, hogy a tevékenységek id˝otartama nagy biztonsággal ismert. Ez a feltétel nagyon sok esetben nem teljesül. A CPM-nek ezt a hiányosságát kisérli meg feloldani a program kiértékelés és áttekintés módszer (Program Evaluation and Review Technique PERT ) azzal, hogy a tevékenységek id˝otartamát valószín˝uségi változónak tekinti. A WinQSB 16 különböz˝o valószín˝uségi eloszlás esetén képes elemezni a problémát: béta, binomiális, Erlang, exponenciális, geometriai, hipergeometriai, normál, pareto, Poisson, háromszög˝ u, egyenletes, Weibull, hatvány, lognormal, Laplace, gamma. A leggyakrabban a béta eloszlást alkalmazzák. Ekkor a PERT az egyes tevékenységekkel kapcsolatban a következ˝o három adatot igényli:
124
5. Projektek ütemezése
a — optimista becslés: a tevékenység id˝otartamának becslése a legkedvez˝obb feltételek mellett; b — pesszimista becslés: a tevékenység id˝otartamának becslése a legkevez˝otlenebb feltételek mellett; m — legvalószín˝ubb becslés: a tevékenység id˝otartamának legvalószín˝ubb értéke. A három adat között mindig érvényesek az a ≤ m ≤ b egyenl˝otlenségek. Ha a tevékenységek béta eloszlást követnek, akkor az (i, j) tevékenység id˝otartamának várható értéke: 2 1 aij + bij M (tij ) = + mij (5.1) 3 2 3 és varianciája:
(bij − aij )2 , 36 ahol aij az (i, j) élhez tartozó tevékenység id˝otartamának optimista, bij az (i, j) élhez tartozó tevékenység id˝otartamának pesszimista és mij pedig az (i, j) élhez tartozó tevékenység id˝otartamának legvalószín˝ubb becslése. A PERT feltételezi, hogy a tevékenységek id˝otartamai egymástól független valószín˝uségi változók és hogy a kritikus út kell˝oen sok tevékenységb˝ol áll ahhoz, hogy a centrális határeloszlás tétele alkalmazható legyen.Ebben az esetben a kritikus út várható hossza a kritikus úton elhelyezked˝o tevékenységek várható id˝otartamainak az összege. A kritikus utat alkotó tevékenységek teljes varianciája megegyezik a kritikus úton lev˝o tevékenységek varianciáinak összegével. Feltételezve, hogy a várható id˝otartamokkal számított kritikus út lesz a tényleges kritikus út, továbbá, hogy alkalmazható a centrális eloszlás tétele és a kritikus út normális eloszlásúnak tekinthet˝o M (CP ) várható értékkel és V (CP ) varianciával, ahol M (CP ) = M (tij ) és V (tij ) =
(i,j)∈kritikus ˝ut
V (CP ) =
V (tij ) .
(i,j)∈kritikus ˝ut
A CP - kritikus út szórása σ=
V (CP ).
Annak valószín˝usége, hogy egy projekt T id˝otartam alatt befejez˝odik: T − M (CP ) T − M (CP ) CP − M (CP ) P (CP ≤ T ) = P ≤ =Φ , σ σ σ ahol Φ = Φ (x) a standard normális elosztást jelöli: x 2 Φ (x) = e−t dt −∞
és a standard normális eloszlás táblázatából olvasható ki.
5. Projektek ütemezése
125
5.14. ábra. Az 5.3. mintapélda projekthálózata.
5.3. mintapélda (Rockkoncert). Egy rockkoncert szervez˝ojének a következ˝o táblázatban felsorolt teend˝oi vannak:
A. B. C. D. E. F. G. H. I J.
Tevékenységek Helyszín keresése Mérnökök toborzása El˝ozenekar biztosítása Rádió és tv-hirdetések el˝okészítése Jegyárusítás megszervezése Hangosítás el˝okészítése Plakátok nyomtatása Szállítás megszervezése Próbák Utolsó simítások
Id˝ otartam (nap) a b m 2 4 3 2 10 5 2 10 6 1 3 2 1 5 3 2 4 3 3 7 5 1 3 2 1 4 2 1 3 2
El˝ oz˝ o tevékenységek A A C A B C C F, H I
a. Rajzoljuk meg a projekt-hálózatot. b. Határozzuk meg a kritikus utat. c. Ha a szervez˝o 99%-os eséllyel június 30-ig kész akar lenni minden el˝okészülettel, mikor kell elkezdenie a koncert helyszínének keresését? Megoldás. a. Figyelembevéve a táblázatban megadott tevékenységi sorrendet az 5.14. ábrán bemutatott hálózathoz jutunk. b. A kritikus út meghatározása a CPM módszernél leírtak alapján történik úgy, hogy a tevékenységek id˝otartamának a várható értékeket tekintjük. A várható értékeket a 5.1. képlettel számoljuk ki és az alábbi táblázatba foglaltuk össze:
126
5. Projektek ütemezése
5.15. ábra. A PERT módszer kezd˝otáblája.
Tevékenységek A. B. C. D. E. F. G. H. I J.
Id˝ otartam (nap) a b m 2 4 3 2 10 5 2 10 6 1 3 2 1 5 3 2 4 3 3 7 5 1 3 2 1 4 2 1 3 2
Várható érték (nap) 3 5.33 6 2 3 3 5 2 2.16 2
A továbbiakban a WinQSB PERT/CPM eszköztárát alkalmazzuk (lásd a 5.15. ábrát). Ekkor a kezd˝oablakban ki kell választani a PERT módszert (Probabilistc PERT) és meg kell adni a tevékenységek számát (Number of Activities). Ebben feladatban ez 10. A feladatban az id˝o egysége a hét (Time Unit: day). Az OK gombra kattintva megjelenik a PERT adattáblája, amit az adatlista alapján ki kell tölteni (5.16. ábra). Itt a második oszlopban (Activity Name) meg kell adni a tevékenységek elnevezését. Ha a tevékenységeket az ABC nagy bet˝uivel jelöljük, úgy mint a feladatban, akkor a program felajánlja ezen elnevezéseket. A harmadik oszlopban (Immediate Predecessor) a tevékenységet közvetlen megel˝oz˝o tevékenységeket kell felsorolni. Ha több van, akkor az elválasztó a vessz˝o. A negyedik oszlopba (Opimistic time - a) a tevékenységek optimista id˝otartam becslése, az ötödik oszlopba a legvalószín˝ubb becslése ( Most likely time - m), a hatodik oszlopba pedig a pesszimista becslése (Pessimistic time - b) kerül.
5. Projektek ütemezése
127
5.16. ábra. Az 5.3. mintapélda adattáblája.
A síz˝o emberke ikonra kattintva a WinQSB betölti az 5.17. eredménytáblát. Innen leolvasható, hogy a projekt befejezésének várható legkorábbi id˝opontja (Project Completion Time) 15.5 nap és a projektnek egy kritikus útja van (Number of Critical Path(s) = 1). A második oszlop (On Critical Path) megadja a kritikus útvonalon lev˝o tevékenységeket ( A → B → F → I → J). A harmadik opszlop (Activity Mean Time) a tevékenységek várható id˝otartamát ( M (tij ) értékeket) tartalmazza. A negyedik oszlop (Earliest Start) a tevékenységek legkorábbi kezdési, az ötödik oszlop (Earliest Finish) a legkorábbi befejezési, a hatodik oszlop (Latest Start) a legkés˝obbi kezdési, a hetedik oszlop (Latest Finish) a legkés˝obbi befejezési id˝opontokat mutatja. A nyolcadik (Slack LS-ES) oszlopban vannak feltüntetve a tevékenységek t˝urései. A kilencedik oszlop azt mutatja, hogy a három becslésen alapuló eljárást alkalmaztuk, a tízedik oszlop pedig megadja a σ (tij ) = V (tij ) szórásokat.
5.17. ábra. Az 5.3. mintapélda eredménytáblája.
c. Ha meg akarjuk tudni, hogy a 15.5 nap várható id˝otartam milyen valószín˝uséggel teljesül az eredmények (Results) menüpontból kiválasztjuk a valószín˝uségi elemzés (Perform Probability Analysis, vagy a %-jel ikont) eszköztárat (5.18. ábra), ahol a szükséges id˝otartam (Desired Completion Time) mez˝oben beírjuk a 15.5-öt. A szamítsd a valószín˝uséget (Compute Probability) gombra kattintva kiolvasható, hogy a kritikus útvonal (Critical Path): A → B → F → I → J. A standard szórás (Standard deviation): 1.5366, és a 15.5 nap várható id˝otartam 50% valószín˝uséggel (Probability %) teljesül.
128
5. Projektek ütemezése
5.18. ábra. A PERT valószín˝ uségi elemzés eszköztára.
Ha növeljük a szükséges id˝otartamot mondjuk 18 napra, és újra kiszámoltatjuk a valószín˝uséget, akkor erre már 94.81% kapunk, 19 napra pedig 98.86%-ot. Végül 20 napra 99.82% valószín˝uség jön ki. Tehát, ha alkalmazható a centrális eloszlás tétele és a kritikus út normális eloszlásúnak tekinthet˝o, akkor június 30-adika el˝ott 20 nappal, azaz június 9-én kell elindítani a koncert szervezését. Legtöbb esetben nehéz eldönteni, hogy a centrális eloszlás tétele alkalmazható-e? Annak ellen˝orzésére, hogy valóban a 20 nap 99.86% valószín˝uséggel teljesül-e használjuk a PERT szimulációs eszköztárát (Results-Perform Simulation, vagy a dobókocka ikon). A megjelent ablakban (5.19. ábra) a szükséges id˝otartamot 20-ra állítva és a szimuláció (Simulate) gombra kattintva a szükséges id˝otartam relatív gyakorisága (% to finish in desired completion time) mez˝oben megjelenik a 99.8%, ami nagy közelítéssel megegyezik a 99.82% valószín˝uséggel. A relatív gyakoriságot a beállítás alapján (Number of simulated observations) a program 1000 megfigyelésb˝ol számolja ki.
5.19. ábra. A PERT szimulációs eszköztára.
Érdemes megfigyelni a relatív gyakoriságok és a valószín˝uségek közötti eltéréseket. Ennek érdekében a szükséges id˝ot 15, 16, 17, 18, 19, 20, 21 napra állítjuk, mint a valószín˝ uségi elemzés, mint a szimulációs eszköztárnál és kiszámoljuk a valószín˝ uségeket valamint a relatív gyakoriságokat. Az alábbi táblázat összefoglalja a kapott eredményeket:
5. Projektek ütemezése
Id˝ otartam 15 16 17 18 19 20 21
Valószín. 37.24% 62.75% 83.55% 94.81% 98.86% 99.82% 99.98%
129
Rel. gyak 20.7% 44.4% 74.9% 92.5% 98.7% 99.8% 99.99%
Látható, hogy amint az id˝otartam n˝o a relatív gyakoriság és a valószín˝ uség közelít egymáshoz és, hogy a 20 nap valóban egy jó becslésnek tekinthet˝o.
5.4.
Kit˝ uzött feladatok
1. A helyi kábel-TV társaság néhány izgalmas csatornával akarja b˝ovíteni TV-szolgáltatását itt Csíkszeredában. A teend˝oket az alábbi táblázat tartalmazza: Tevékenység A B C D E F
Leírás Csatornák kiválasztása B˝ovítés engedélyeztetése Jeler˝osít˝ok megrendelése Új parabola üzembe helyezése Jeler˝osít˝ok üzembe helyezése Számlázási rendszer átalakítása
Közvetlen el˝ ozmények A B B C, D B
Id˝ otartam (hét) 2 4 3 2 10 4
a. Rajzoljuk meg a projekthálózatot, keressük meg a kritikus utat, határozzuk meg az egyes tevékenységek t˝uréshatárát. b. Mennyi id˝o szükséges a tervezet elkészítéséhez? 2. A következ˝o táblázat egy kisebb projekt tevékenységeit tartalmazza:
Tevékenység A B C D E F G H
Id˝ otartam (hét) 3 1 2 7 8 3 1 2
Közvetlen el˝ ozmények A B A, D B E, F A, D
Rajzoljuk meg a hálódiagramot. Adjuk meg a projekt elkészülésének legrövidebb id˝otartalmát és a kritikus útvonalat. Határozzuk meg az egyes tevékenységek t˝uréshatárát is.
130
5. Projektek ütemezése
3. Tekintsük egy faház építésének tevékenység listáját. Tevékenység A B C D E F G
Leírás Alapozás Falak Tet˝ofedés Villanyszerelés Nyílászárok Küls˝oburkolat Festés
El˝ ozmények A B B B E C, F
Id˝ otartam 5 8 10 5 4 6 3
Rajzoljuk meg a projekthálózatot és határozzuk meg az egyes tevékenységek t˝ uréshatárát! 4. Tekintsük az alábbi ütemezési feladatot: Tevékenység A B C D E F G H
El˝ ozmények A A, B C, D C E G, F
Id˝ otartam 2 3 4 3 8 3 2 3
Rajzoljuk meg a feladat ütemezési hálózatát és határozzuk meg a kritikus tevékenységeket, a tevékenységek legkorábbi és a legkés˝obbi kezdési id˝opontjait. Jelenítsük meg a feladat Gantt diagramját. 5. Egy projekt 11 tevékenységb˝ol áll (1, 2, 3, ..., 11). A tevékenységek id˝otartalmát és a közvetlenül megel˝oz˝o tevékenységeit az alábbi táblázat adja meg. Rajzoljuk meg a hálódiagramot, és határozzuk meg a kritikus útvonalat.
Tevékenység 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Közvetlen el˝ ozmények 1 2 2 2 4 3 6 6 5, 7, 8 9, 10
Id˝ otartam (hét) 1 3 2 2 4 1 4 2 1 8 2
5. Projektek ütemezése
131
6. Egy új termék piacra dobásához az alábbi el˝okészít˝o tevékenységeket végzik: Tevékenység 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Leírás A termék megtervezés A csomagolás megtervezés A termék anyagszükségletének megrendelés A csomagolás anyagszükségletének megrendelés A termék prototípusának elkészítése A csomagolás prototípusának elkészítése A csomagolás optimalitásának vizsgálata Piackutatás A termék végs˝o tervének elkészítése A csomagolás végs˝o tervének elkészítése A termék bemutatása a döntéshozó testülethez
Id˝ otartam 6 2 3 2 4 1 1 6 3 1 1
A tevékenységek sorrendiségét az alábbi táblázat tartalmazza: Tevékenység 1. 2. 3. 4. 5. és 6. 7. 8. 8. 9. és 10.
Megjegyzés tevékenységet tevékenységet tevékenységet tevékenységet tevékenységet tevékenységet tevékenységet tevékenységet tevékenységet
be be be be be be be be be
kell kell kell kell kell kell kell kell kell
fejezni fejezni fejezni fejezni fejezni fejezni fejezni fejezni fejezni
Tevékenység sorszáma 3. tev. megkezdése el˝ott 4. tev. megkezdése el˝ott 5. tev. megkezdése el˝ott 6. tev. megkezdése el˝ott 7. tev. megkezdése el˝ott 8. tev. megkezdése el˝ott 9. tev. megkezdése el˝ott 10. tev. megkezdése el˝ott 11. tev. megkezdése el˝ott
Rajzoljuk meg a feladat ütemezési hálózatát és határozzuk meg a kritikus tevékenységeket, a tevékenységek legkorábbi és a legkés˝obbi kezdési id˝opontjait. Jelenítsük meg a feladat Gantt diagramját. 7. Tekintsük az alábbi ütemezési feladatot: Tevékenység A B C D E F G H
El˝ ozmények A B, C C A, D E, F
Id˝ otartam 5 7 6 3 4 2 6 5
Rajzoljuk meg a feladat ütemezési hálózatát és határozzuk meg a kritikus tevékenységeket, a tevékenységek legkorábbi és a legkés˝obbi kezdési id˝opontjait. Jelenítsük meg a feladat Gantt diagramját. Mi történik, ha az E vagy az F tevékenység 3 nappal csúszik? Befolyásolja-e ez az eredeti befejezési id˝opontot?
132
5. Projektek ütemezése
8. Barátai és Ön közösen lassagne vacsorához készül˝odnek. A teljesítend˝o feladatok, a hozzájuk szükséges id˝otartamok (percben), valamint a „megel˝ozési kényszerek” a következ˝ok:
Tevékenység A B C D E F G H I J K L
Leírás Vásárold meg a mozzarella sajtot Szeleteld fel a mozzarellát Verj fel 2 tojást Keverd el a tojásokat túróval Vágj fel hagymát és gombát F˝ozd meg a paradicsomszószt Forralj egy nagy fazék vizet F˝ozd meg a lassagne tésztát Csöpögtesd le a lassagne tésztát Gy˝ujtsd össze a hozzávalókat Melegítsd be a süt˝ot Süsd meg a lassagne tésztát
El˝ ozmények A C E G H B, D, F, I J, K
Id˝ otartam 30 5 2 3 7 25 15 10 2 10 15 30
a. Fogalmazzuk meg ezt a problémát CPM-típusú rendszerként, és rajzoljuk meg a tervezeti hálózatot! b. Határozzuk meg minden egyes események kezdésének legkorábbi id˝opontját, és a t˝ urési határát. Határozzuk meg a kritikus útvonalat is! c. Telefonhívás miatt 6 percre félbeszakították, amikor a hagymát és a gombát kellett volna felvágnia. Mennyivel fog kés˝obb elkészülni a vacsora? Ha használja a robotgépet amely a vágási id˝ot 7 percr˝ol 2 percre csökkenti, még akkor is a tervezettnél kés˝obb fog elkészülni a vacsora? 9. A következ˝o táblázat egy kisebb projekt tevékenységeit tartalmazza:
Tevékenység 1→2 1→3 1→4 2→5 3→6 4→6 5→7 6→7 7→8
Id˝ otartam (hét) 2 3 2 3 7 5 4 9 3
A 7. tevékenységet csak az 5. tevékenység befejezése után lehet elkezdeni. Adjuk meg a projekt elkészülésének legrövidebb id˝otartalmát és a kritikus útvonalat.
5. Projektek ütemezése
133
10. A következ˝o táblázat egy kisebb projekt tevékenységeit tartalmazza:
Tevékenység 1→2 1→3 2→4 3→4 3→5 4→5 5→6 4→6 6→7 4→7
Id˝ otartam (hét) 2 4 7 3 7 3 4 6 2 7
Az 5. tevékenységnek csak három héttel az 1. tevékenység befejezése után lehet neki kezdeni. Adjuk meg a projekt legrövidebb id˝otartalmát és a kritikus útvonalat. Mi történik, ha: a 8. tevékenység id˝otartamát 3 hétre csökkentjük? a 4. tevékenység id˝otartamát 2 héttel meghosszabbítjuk? a 7 tevékenység id˝otartamát 2 héttel csökkentjük? 11. Egy vállalat egy olyan termék gyártását készíti el˝o, amelyet három részb˝ol (A, B és C) szerelnek össze. Azzal számolnak, hogy 4 hetet vesz igénybe a három alkotóelem megtervezése és összeszerelésük mikéntjének kidolgozása. Az A gyártásának id˝oigényét 3 hétre, a B-ét 5 hétre, a C-ét pedig 4 hétre becsülik. Elkészülte után az A részt tesztelni kell, ez 1-ét hétbe telik. Az összeszerelési folyamat ezután a következ˝o: egybeépítik az A és B részeket (3-ét hét), majd hozzárögzítik a C részt (2 hét). Végül a terméket 2 hétig tesztelik. Rajzoljuk meg a projekthálózatot és határozzuk meg a kritikus utat, valamint az egyes tevékenységek t˝uréshatárát. A feladat megoldásához használjuk a WinQSB programcsomagot! 12. Egy kockázati ellen˝orzés az alábbi táblázatban felsorolt tevékenységeket jelenti: Tevékenység A B C D E F G
Leírás A feltételek meghatározása A kockázat felbecslése A hibalehet˝oségek azonosítása A rendszer leírása A rendszerleírás ellen˝orzése Az ellen˝orzés értékelése Az ellen˝orzés megtervezése
El˝ ozmények A A C D B, E F
Id˝ otartam 3 6 14 8 4 8 9
a. Rajzoljuk meg a projekthálózatot, keressük meg a kritikus utat és határozzuk meg az egyes tevékenységek t˝uréshatárait!
134
5. Projektek ütemezése
b. Tegyük fel, hogy a projektnek 30 nap alatt be kell fejez˝odnie. Bármelyik tevékenység hossza rövidíthet˝o, de ennek ára van. A költségeket az alábbi táblázatban találhatók: Tevékenység A B C D E F G
Lerövidítés költsége 100 80 60 70 30 20 50
Lerövidítés ideje 2 4 5 2 3 4 4
Milyen minimális költséggel érhet˝o el, hogy a projekt 30 nap alatt befejez˝odjön? 13. Egy új termék bevezetése el˝ott az alábbi táblázatban felsorolt lépéseket kell megtenni: Tevékenység A B C D E F G H
Leírás Termék megtervezése Piackutatás Alapanyagok megrendelése Alapanyagok bevételezése Prototípus elkészítése Reklám megszervezése Tömegtermelés beindítása Termék kiszállítása a boltokban
El˝ ozmények A C A, D B E G, F
Id˝ otartam 6 5 3 2 3 2 4 2
a. Rajzoljuk meg a projekt-diagrammot. b. Határozzuk meg az összes kritikus utat és tevékenységeket. c. Számoljuk ki az egyes tevékenységek t˝uréshatárát. d. Bármelyik tevékenység hossza legfeljebb 2 héttel csökkenthet˝o. Az egyes tevékenységek egy héttel történ˝o lerövidítésének költsége a következ˝o: A 80 euró, B 60 euró, C 30 euró, D 60 euró, E 40 euró, F 30 euró, G 20 euró. Milyen minimális költséggel érhet˝o el, hogy a termék két héttel korábban a boltokba kerüljön. 14. Egy cég megtudja, hogy konkurense újfajta termékkel készül kijönni a piacra, amely iránt valóban nagy lesz a kereslet. Ez a cég is dolgozott egy hasonló terméken, és a kutatással már majdnem készen vannak. Most gyorsan piacra akarják dobni a terméket, hogy felvegyék a versenytársukkal a versenyt. Még négy, egymást át nem fed˝o fázist kell befejezniük, beleértve a kutatásból hátra maradt részt, amelyek jelenleg normális ütemben folytatnak. Azonban minden fázis végezhet˝o prioritással vagy — gyors befejezés érdekében — sürg˝osséggel. Az egyes szinteken szükséges id˝otartamokat (hónap) és költségeket az alábbi táblázat tartalmazza: Tevékenység Hátralév˝o kutatás Fejlesztés Gyártórendszer megtervezése Termelés megkezdése
Normál id˝ o 4 3 5 2
Sürg˝ oségi id˝ o 2 2 3 1
Normál költség 6 6 9 3
Sürg˝ oségi költség 9 9 12 6
5. Projektek ütemezése
135
Tudva, hogy a cégnek 30 millió eurója van a négy fázisra, milyen gyorsassággal kell egyes fázisokat elvégezniük, hogy a lehet˝o legrövidebb id˝o alatt a termék piacra kerüljön az adott költségvetési korlát mellett. 15. Tegyük fel, hogy egy tervezetet az alábbi háló reprezentál. Alkalmazva az id˝o-költség diagramon alapuló CPM-módszert határozzuk meg, hogy milyen minimális költséggel lehet 100 hét alatt a tervezetet befejezni.
Tevékenység 1→2 1→3 2→6 3→4 3→5 3→6 4→5 5→6 5→7 6→7
Sürg˝ oségi id˝ o 28 22 26 14 28 40 12 16 26 12
Normál id˝ o 36 32 46 18 36 74 24 20 34 16
Normál költség 10 12 1 5 4 8 24 123 11 45
Sürg˝ oségi költség 20 22 11 15 14 18 34 133 21 55
16. A Jó Közkapcsolat cég projekt menedzsere az alábbi tervezetet nyújtotta be egy reklámkampány el˝okészületeihez (az id˝ok napokban vannak megadva).
Tevékenység A B C D E F G H I J K
Id˝ otartam a m b 8 10 12 5 8 17 9 10 11 1 2 3 8 10 12 5 6 7 1 3 5 2 5 8 2 4 6 4 5 8 2 2 2
Közvetlen el˝ ozmények B A, C D, E D, E F, G G H H
Rajzoljuk meg a hálódiagramot. Mi a valószín˝usége annak, hogy a projekt 35 nap alatt elkészül?
136
5. Projektek ütemezése
17. Tekintjük az alábbi projekthálózatot Tevékenység A B C D E F G H I J K L M N O P Q
Közvetlen el˝ ozmények B A A A, C A, C A, C D I F G E M K L, H J
Id˝ otartam a m b 2 5 8 2 5 8 1 2 3 2 3 4 1 3 5 3 6 10 4 6 7 3 4 6 1 2 3 3 5 6 2 4 5 2 4 5 4 6 11 4 5 7 2 5 6 5 6 9 2 3 4
Határozzuk meg a kritikus tevékenységeket, a tevékenységek legkorábbi és a legkés˝obbi kezdési id˝opontjait. Jelenítsük meg a feladat Gantt diagramját. Mi a valószín˝ usége, hogy a projektet 26 nap alatt befejezik. 18. Egy szerelési munkákkal foglalkozó Kft. versenytárgyalásra készül. A kiírás tárgya egy betonlapra elhelyezett motor felszerelése és beüzemelése. A Kft. vezetése szeretné meghatározni a munka várható átfutási idejét úgy, hogy azt a legrövidebb id˝o alatt végezhesse azt el. Az egyes résztevékenységek és az elvégzéshez szükséges becsült id˝otartamokat (napban kifejezve) az alábbi táblázat tartalmazza: Tevékenység A B C D E F G H I J
Leírás Fémlap elkészítése Fémlap helyszínre szállítása Alapárok ásása Zsalu készítése Zsalu kiöntése betonnal Beton kezelése Motor szállítása Fémlap elhelyezése Motor felszerelése Motor beüzemelése
Közvetlen el˝ ozmények A C D E B, F H, G I
Id˝ otartam a m b 10 14 20 1 2 3 1 3 7 2 3 5 2 3 5 6 8 11 2 3 5 3 4 6 1 2 5 1 3 7
Rajzoljuk meg a feladat ütemezési hálózatát és határozzuk meg a kritikus tevékenységeket, a tevékenységek legkorábbi és a legkés˝obbi kezdési id˝opontjait. Jelenítsük meg a feladat Gantt diagramját. Adjuk meg 99%-os valószín˝uséggel mennyi a munka várható átfutási ideje.
5. Projektek ütemezése
137
19. Tekintsük az alábbi táblázatban megadott projekt-hálózatot. a. Határozzuk meg a kritikus utat valamint a tevékenységek t˝uréshatárát. b. Mennyi a valószín˝usége, hogy a projekt 40 nap alatt befejez˝odik? Tevékenység 1→2 1→3 2→4 3→4 3→5 3→6 4→7 5→7 6→8 7→9 8→9
a 4 2 1 6 5 7 5 1 2 10 6
b 8 8 7 12 15 18 12 3 6 20 11
m 6 4 3 9 10 12 9 2 3 15 9
20. Egy számítástechnikai cég egy új, komplett informatikai rendszer telepítését vállalta el. Mivel azonban ilyen munkát még nem végeztek, ezért az egyes résztevékenységek átfutási id˝oire vonatkozóan csak becsült adatokkal rendelkeznek. Az egyes résztevékenységek és az elvégzéshez szükséges becsült id˝otartamokat (napban kifejezve) az alábbi táblázat tartalmazza: Tevékenység 1→2 1→3 1→4 2→5 2→6 3→6 4→6 5→8 6→7 7→8 8→9 9 → 10
Leírás Rendszerterv elkészítése Gépi konfiguráció kiválasztása Tanfolyam a rendszermérnököknek Program megírása, fejlesztése Bemen˝o adatrendszer el˝oállítása Számítógépek leszállítása Rendszermérnökök vizsgáztatása Programrendszer tesztelése Konfigurálás Ellen˝orzés Futtatás éles adatokkal Ellen˝orzés, átadás
Id˝ otartam a m b 1 4 7 3 6 10 4 5 6 10 14 20 4 6 10 1 2 4 1 1 1 10 12 20 2 4 7 5 8 12 2 3 5 1 2 4
A versenyképes ajánlat megadása érdekében határozzuk meg azt a legrövidebb átfutási id˝ot, amely mellett a cég a rendszer telepítését vállalni tudja és 98% valószín˝uséggel be is fejezi azt. Határozzuk meg a kritikus tevékenységeket, a tevékenységek legkorábbi és a legkés˝obbi kezdési id˝opontjait. Jelenítsük meg a feladat Gantt diagramját.
II. rész GAZDASÁGI DÖNTÉSEK MATEMATIKAI MODELLEZÉSE
6. fejezet Komplex döntések
6.1.
Döntési fák
Gyakran el˝ofordul, hogy az embereknek különböz˝o id˝opontokban döntések sorozatát kell meghozniuk. Ekkor az optimális döntés meghozatalához alkalmazhatók az úgynevezett döntési fák, amik lehet˝ové teszik, hogy egy komplex döntési problémát néhány egyszer˝ ubb problémára bontsuk fel. 6.1. mintapélda (Piackutatás). Egy vállalatnak el kell döntenie, hogy végezzen-e piackutatást az egyik új terméke (kódneve M997) piacra dobása el˝ott. A piackutatás költsége 100000 euró, a régebbi tapasztalatok alapján a vállalat tudja, hogy a termékeknek csak 30% sikeres egy ilyen piackutatás esetén. Ha az M997 termék sikeresen helytáll a piackutatás során, akkor a vállalat el kell döntse, hogy a termékét milyen méret˝u telephelyeken állítja el˝o. Egy kicsi telephely kiépítése 150000 euróba kerül és évi 2000 darab M997-es termék el˝oállítását teszi lehet˝ové. Ha nagy telephelyen állítanák el˝o a terméket akkor az 250000 euróba kerülne de évente 4000 darab M997 terméket állíthatnának el˝o. A marketing osztály becslései szerint 40% az esélye annak, hogy a konkurencia is el˝oáll egy hasonló termékkel, és így az ár amit egy M997 termékért kérhetnek a következ˝ok szerint alakulhat:
Konkurencia közbelép Konkurencia nem reagál
Nagy telep 20 euró darabja 50 euró darabja
Kicsi telep 35 euró darabja 65 euró darabja
a. Érdemes-e a cégnek piackutatást végeznie a M997 terméken? b. Mennyi az a legnagyobb összeg, amit a cégnek érdemes kifizetni ezért a piackutatásért? c. Mennyi az a legnagyobb összeg, amit a cégnek érdemes kifizetni azért, hogy megtudja a konkurencia belép vagy sem a piacra?
141
142
6. Komplex döntések
6.1. ábra. A piackutatás mintapélda döntési fája. Megoldás. a. A probléma megoldására döntési fát használunk. Tulajdonképpen a cég vezetésének két döntést kell meghoznia. Az egyik, hogy végezzen-e piackutatást vagy sem? A másik, hogy ha piackutatás azt mutatja érdemes piacra dobni a terméke, akkor milyen méret˝ u telephelyet építsen: kicsit vagy nagyot? A döntések és a különböz˝o véletlenszer˝ u események id˝obeli sorrendjében rajzoljuk meg a döntési fát. A döntési csomópontokat négyzettel, a véletlenszer˝u események bekövetkezését pedig körrel ábrázoljuk. Egy döntési csomópont az id˝oben olyan pontot képvisel, amikor a cég vezet˝oségének döntést kell hoznia. Minden ág, amelyik egy döntési csomópontból ered, egy lehetséges döntést jelképez. Egy esemény csomópontot akkor rajzolunk, amikor küls˝o tényez˝ok határozzák meg, hogy a véletlenszer˝ u események közül melyik következik be. Egy esemény csomópontból kiinduló ágak a lehetséges eseményeket mutatják, és az ágakon feltüntetett számok az események bekövetkezésének valószín˝uségét jelentik. A döntési fának egy olyan ágát, ahonnan már nem indul ki ág, levélnek nevezzük. A leveleken feltüntetjük a különböz˝o kimenetelekhez tartozó vagyoni helyzetet (nyereséget). Amint a feladatból is kiderül természetes, hogy egyszer a piackutatásra vonatkozó döntést hozzuk meg, aminek két kimenetele lehet: igen, vagy nem. Ha a döntésünk az, hogy nem, akkor nem is dobjuk piacra a terméket. Így nyereségünk nulla. Ha pedig piackutatás mellett döntünk, akkor egy véletlenszer˝u esemény következik be: 30% eséllyel sikert fognak jósolni, és 70% eséllyel bukást. Ha bukást jósolnak, akkor nem dobjuk piacra a terméket, így nyereségünk a piackutatásra kiadott összeg ellentétje, azaz −100000 euró. Ha sikert jósolnak, akkor a második döntésünk, hogy milyen méret˝ u telephelyet építsünk. Ha a kicsi mellett döntünk és a konkurencia is közbelép, aminek 40% az esélye, akkor nyereségünk hét évre számolva: 35 × 2000 × 7 − 150000 − 100000 = 240 000. Ha pedig konkurencia nem lép közbe, aminek 40% az esélye, akkor nyereségünk hét évre számolva: 65×2000×7−150000−100000 = 660 000. Másik lehet˝oség, hogy a nagy mellet döntünk. Ekkor a nyereség a konkurencia közbelépésekor 20 × 4000 × 7 − 250000 − 100000 = 210 000, a konkurencia közbelépése nélkül pedig 50 × 4000 × 7 − 250000 − 100000 = 1050 000. A leírtak alapján a 6.1. ábrán bemutatott döntési fa rajzolható meg. A döntési fa kiértékelése a várható érték elve alapján történik. Kezdjük a leveleket összefogó 6. és 7. csomópontokkal. A 6-odik csomóponthoz tartozó várható érték: v6 = 240000 · 0.4 + 660000 · 0.6 = 492000, a 7-edikhez pedig: v7 = 210000 · 0.4 + 1050000 · 0.6 = 714000. Ezeket az értékeket feltüntetjük a csomópontok alatt.
6. Komplex döntések
143
6.2. ábra. A piackutatás mintapélda EVWSI-je. Most kiértékeljük az 5. csomóponthoz tartozó döntési helyzetet. A kicsi telephely megépítése várhatóan v6 = 492000 euró, a nagy telephely megépítése pedig várhatóan v7 = 714000 euró nyereséget eredményez. A várható érték elve alapján azt a kimenetet választjuk, ahol nagyobb a várható érték. Ebben az esetben a nagy telephely megépítését. Ezt úgy jelöljük, hogy az 5 csomóponthoz beírjuk a v7 értékét. Továbblépünk a 3. csomópont kiértékeléséhez. Ez egy véletlenszer˝u eseményt jelképez, tehát a csomópontból kimen˝o ágak várható értékét kell meghatározni: v3 = −100000 · 0.7 + 714000 · 0.3 = 144200, és a csomópont alatt feltüntetni. Ezután már csak az marad hátra, hogy meghatározzuk a helyes döntést az 1. csomópontban. Mivel a hármas csomópontban lév˝o érték nagyobb mint a Nem kimenetelhez tartozó érték, ezért döntésünk a hármas csomópontra esik, azaz a piackutatás mellett döntünk. Tehát, a piackutatás mellett döntünk és, ha az sikert fog jósolni, akkor a nagy telephelyet építsük meg. Ez a stratégia várhatóan 144200 euró jövedelmet fog eredményezni. b. A döntési fák arra is felhasználhatók, hogy megmérjük a mintavételb˝ol (piackutatásból) származó információ értékét. Kezdjük azzal, hogy meghatározzuk a cég nyereségét abban az esetben, ha a piackutatás nem kerülne semmibe. Ezt a nyereséget (végs˝o vagyoni helyzetet) úgy nevezzük, hogy várható érték mintainformációval (Expected Value with Sample Information: EV W SI). Kiszámítása ugyanúgy történik, mint az el˝obbi esetben, csak itt a piackutatás költsége nulla, azaz a fa leveleinek értékei a piackutatás ágon 100000 euróval nagyobbak lesznek (6.2. ábra). A piackutatás döntés várható értéke a 3. csomópontnál van feltüntetve. Tehát, az EV W SI = 244200. Ezután meghatározzuk azt a vagyoni helyzetet (nyereséget), amelyet a cég akkor érne el, ha nem végez piackutatást. Ezt úgy nevezzük, hogy várható érték az eredeti információ alapján (Expected Value with Orginal Information: EV W OI). Ezt az értéket a piackutatás csomópontnak arról az ágáról olvashatjuk le, amelyikhez a Nem döntéshez tartozik. A mi esetünkben ez nulla. Tehát az EV W OI = 0. Így a piackutatásból nyerhet˝o információ várható értéke, melynek elnevezése a mintanformáció várható értéke (Expected Value of Sample Information: EV SI) így adható meg: EV SI = EV W SI − EV W OI. Ebben a példában az EV SI = 244200.
144
6. Komplex döntések
Az EV SI az a legnagyobb pénzösszeg amit a cég a piackutatásból származó információért fizethet, mert ha ennél többet fizet, akkor a várható nyeresége piackutatás nélkül nagyobb lesz, mint piackutatással. c. Az EVSI meghatározására alkalmazott elemzést kiterjeszthetjük a tökéletes információ meghatározására is. Tökéletes információn azt értjük, hogy bár a konkurencia belépése a piacra ugyanúgy 40% valószín˝uséggel következik be, de a marketing osztály valamilyen küls˝o információ alapján már el˝ore, a telephely megépítése el˝ott megmondja, hogy a konkurencia belép a piacra vagy sem. Ez az információ aztán felhasználható a vállalat optimális marketing stratégiájának meghatározására. A tökéletes információval kapott várható érték (Expected Value with Perfect Information: EV W P I) kiszámítható úgy, hogy rajzolunk egy döntési fát, ahol a döntéshozónak a döntéshozás el˝ott tökéletes információja van arról, hogy melyik állapot fog bekövetkezni (6.3. ábra). Ebben az esetben a kiinduló csomópont egy véletlenszer˝u esemény, amelynek az ágain a konkurencia belépésének valószín˝uségeit tüntetjük fel. Majd mind a két esetben jön egy döntés, ami a telephelyek kiválasztására vonatkozik. A döntési csomópont ágain a nulla piackutatási költséggel számított nyereségeket tartalmazó levelek vannak. A döntési fát az el˝obbiekben leírtak alapján értékeljük ki. Az EVWPI a végs˝o várható anyagi helyzet. Ebben a feladatban EV W P I = 826000.
6.3. ábra. A piackutatás mintapélda EVWPI-je. Ezután a tökéletes információ várható értéke (Expected Value of Perfect Information: EV P I) az EV P I = EV W P I − EV W OI képlettel számítható ki. A tanulmányozott példában EV P I = 826000 euró. A marketing osztály maximálisan ezt az összeget adhatja egy olyan információért, ami egyértelm˝ uen megmondja, hogy a konkurencia belép vagy sem a piacra.
6.2.
A döntési fa elemzése a WinQSB segítségével
6.2. mintapélda (Pályázat) Egy cég el kell döntse, hogy megpályázza-e az állam által kiirt MS1 és MS2 eszközbeszerzési projekteket. A cégnek több lehet˝osége van: csak az egyik projektet pályázza meg, vagy mindkett˝ot egy pályázatban vagy egyáltalán nem készít pályázatot. A cégnek csak egy pályázat benyújtására van lehet˝oségé. A pályázati anyag összeállítása, ha csak az MS1 projektre pályáz 50000, ha csak az MS2-re pályáz 14000, ha mindkett˝ore, akkor 55000 euróba kerül. Sikeres pályázás esetén pluszkiadások lépnek fel: az MS1 pályázat esetén 18000 euró, az MS2 pályázat esetén 12000 euró és mindkét projekt elnyerése esetén 24000 euró. Az egyes projekt eszközbeszerzésére felajánlott összegek és ezen értékek mellett a projektek elnyerési valószín˝uségét a következ˝o táblázat adja meg.
6. Komplex döntések
Lehet˝ oségek csak MS1-re csak MS2-re
MS1 és MS2
Kiirások költsége 130000 115000 70000 65000 60000 190000 140000
145
Szez˝ odéskötés valószín˝ usége 20% 85% 15% 80% 95% 5% 65%
Ha az MS1 és MS2 projektet egybe pályázzák, akkor vagy mindkett˝ot elnyerik vagy egyiket sem. a. Hogyan kellene eljárjon a cég, hogy lehet˝o legnagyobb nyereségre tegyen szert? b. Ha volna lehet˝oség egy szakért˝o véleményét kikérni 20000 euróért, amely segítségével, ha csak az MS2 projekt 60000 eurós összegének megpályázása esetén garantáltan nyer˝o lenne, érdemes lenne-e igénybe venni a segítségét? Megoldás. a. A cégnek két döntést kell meghoznia a felsorolt sorrendben: I. hogy pályázzon-e, és ha igen, akkor melyik projektre? II. mekkora összegre pályázzon? Ha nem pályázik, akkor vagyoni helyzete nem változik, azaz nyeresége nulla. Ha pályázik, akkor három változat közül választhat: csak az MS1-re, vagy csak az MS2-re, vagy mindkett˝ore. Ezeket szemléltetik a 6.4. döntési fa 1 csomópontjából kiinduló ágak. Ha az MS1-re pályázik, akkor két döntése lehet, vagy a 130000 euróra, vagy a 115000 euróra pályázik. Ezt a döntést mutatják a döntési fa 2 csomópontjából kiinduló ágak. Ha a 130000 euróra pályázik, akkor döntési fa 6 csomópontjával jelzett véletlenszer˝u esemény alapján 20% az esélye, hogy megnyerje a pályázatot és 80% az esélye, hogy ne nyerje meg. Ha megnyeri, akkor a nyeresége: 130000−50000−18000 = 62 000 euró. Ha nem nyeri meg, akkor nyeresége: 0 − 50000 = −50 000 euró. Ez a két érték szerepel a 6 csomópontból kimen˝o ágakon. A 2-es döntési csomópontból kiinduló másik ág a 115000 eurós pályázat melletti döntést szemlélteti. Ebben az esetben 85% az esélye, hogy megnyerje a pályázatot. Ezt a véletlenszer˝ uséget a 7-es csomópont beiktatásával szemléltetjük. Ennek két kimen˝o ága van: ha elnyeri a pályázatot, ekkor nyeresége: 115000 − 50000 − 18000 = 47 000 euró, ellenkez˝oleg pedig: −50000 euró. Ezen értékeket a 7. csomópontból kimen˝o ágakon tüntetjük fel. Hasonló meggondolások alapján rajzoljuk meg a döntési fa 3-as és 4-es csomópontjaiból kiinduló ágait. A döntési fa alakját papíron vázoljuk, majd a fa alapján kitöltjük a WinQSB döntéselemzési (Decision Analysis) eszköztára által igényelt adattáblázatot. Az ábrán a csomópontok alatti a várható értékeket a WinQSB jeleníti meg. Ezeket a vázlatra nem kell beírjuk, csak a levelek értékeit kell kiszámoljuk. A 6.5. kezd˝otáblában kiválasztjuk a Döntési fa elemzése (Decision Tree Analysis) feladat típust és megadjuk a csomópontok és levelek számát (Number of Nodes/Events (Including Terminals)). Ebben a feladatban ez 26.
146
6. Komplex döntések
6.4. ábra. A 6.2. mintapélda döntési fája.
6.5. ábra. A döntési fa kezd˝otáblája. Az OK-ra kattintás után betölt˝odik a döntési fa 6.6. adattáblája. A táblázat els˝o oszlopában (Node/Event Number) a csomópontok számai szerepelnek. Az els˝o négyet döntési csomópontnak tekintjük, a 6-12. pedig az eseménycsomópontnak. Az 5-ös és a 13-26. a leveleket jelentik. A második oszlopban (Node Name or Description) a csomópontok jelentését adjuk meg. A harmadik oszlopban (Node Type) a csomópont típusát jegyezzük meg. Ha döntési, akkor D-t, ha véletlenszer˝u esemény, akkor C-t írunk, a levelek esetén pedig üresen hagyjuk a mez˝ot. A negyedik oszlopban (Immediate Following Node, number separated by ’,’) megadjuk a csomópontra rákövetkez˝o csomópontokat. Az elválasztó jel a vessz˝o. Például: a 2-es rákövetkez˝oi a 6, 7; a 6-os rákövetkez˝oi a 13, 14. A leveleknek nincs rákövetkez˝o csomópontjai, ezért a mez˝ojüket üresen hagyjuk. Az ötödik oszlopban (Node Payoff (+profit, -cost)) a levelek értékeit adjuk meg. Plusz el˝ojellel a nyereséget és mínusz el˝ojellel a veszteséget. A hatodik oszlopba (Probability (if available)) a csomópon-
6. Komplex döntések
147
6.6. ábra. A6.2. mintapélda adattáblája. thoz tartozó valószín˝uségeket írjuk be, ha a csomópont el˝otti ág egy véletlenszer˝u esemény kimenetele. Például a 13. csomópont a 6. csomópont egy kimenetele és tudjuk, hogy a 6-os egy véletlenszer˝u esemény, amelynek a 13. csomóponthoz vezet˝o ága 20% valószín˝ uséggel következik be. Ezért a 13 csomópont valószín˝ uségi (Probability) mez˝ojébe 0.2 írunk. A síz˝o emberke ikonra kattintva a WinQSB az el˝oz˝o feladatnál leírtak szerint kiértékeli a feladatot, majd a döntési fa ( ) ikont kiválasztva kirajzolódik a 6.4. ábrán bemutatott döntési fa. Ahhoz, hogy a csomópontok alatt megjelenjenek a várható értékek az ( ) ikon kiválasztása utáni ablakban be kell jelölni a kiértékelés (Display the expected values for each node or event) mez˝ot. Ebben az ablakban lehet méretezni a csomópontokat és az éleket is. A döntési fa 1 csomópontja alatti érték megadja a végs˝o várható nyereséget. Ez a mintapéldában 32450 euró. Továbblépve a döntési fán, láthatjuk, hogy a 32450 érték a 2-es csomópont alatt szerepel. Tehát els˝o döntés, hogy a 2-est, azaz az MS1 projektet választja a cég. A második döntés, hogy a 115000 eurós pályázatot célozza meg, mert ebben az esetben a várható nyeresége (32450) nagyobb, mint a 130000 eurós pályázat esetén (−27600). b. Ha a várható érték elve alapján gondolkodik a cég vezet˝osége, azaz a hasznosságfüggvénye kockázat semleges, akkor nem érdemes szakért˝ot felfogadnia, mert ebben az esetben a nyeresége: 34000 − 20000 = 14000 kisebb, mint 32450. Egy ilyen szakért˝onek a tökéletes információért maximálisan EV P I = 34000 − 32450 = 1550 eurót érdemes fizetnie. Ha a hasznosság függvénye pedig kockázat elutasító, akkor el˝ofordulhat, hogy a biztos 14000 eurót választja a p ∈ [0.15, 0.85] valószín˝uséggel elérhet˝o 32450 eurós jövedelem helyett.
6.3.
Bayes-féle döntési fák
6.3. mintapélda (Hulladéktároló). A környezetvédelmi minisztériumnak el kell döntenie, hogy Csíkszentsimonban vagy Maksán építsen-e hulladéktárolót. A hulladéktároló építési költsége 10 millió euró Csíkszentsimonban és 20 millió euró Maksán. Ha Csíkszentsi-
148
6. Komplex döntések
monban épít, és ott a következ˝o öt év alatt valamikor földcsuszamlás lesz, akkor az építkezés megsemmisül, és a veszteség 10 millió euró, és akkor mégis meg kell építeni a tárolót Maksán. A minisztérium úgy gondolja, hogy 20 % esélye van annak, hogy a k˝ovetkez˝o öt évben Csíkszentsimonban földcsuszamlás legyen. Egy millió euróért alkalmazhatnak egy geológust, aki kielemzi a Csíkszentsimoni földcsuszamlás esélyeit. A geológus el˝orejelzése vagy az, hogy lesz földcsuszamlás, vagy az, hogy nem. A geológus eddigi tevékenységére vonatkozó adatok azt mutatják, hogy amikor földcsuszamlás volt, az ilyen esetek 95% - ában ˝o is azt mondta el˝ore, hogy földcsuszamlás lesz. Másrészt 90% - ban nem jelzett el˝ore földcsuszamlást, amikor a valóságban sem volt földcsuszamlás. a. Alkalmazza-e a minisztérium a geológust? b. Mennyi az a legnagyobb összeg, amit a minisztériumnak érdemes kifizetni az elemzésért (azaz, mennyi az EVSI)? c. Mennyi az a legnagyobb összeg, amit a minisztériumnak érdemes kifizetni egy olyan geológusnak, amely pontosan megmondja lesz-e földcsuszamlás (azaz, mennyi az EVPI)? Megoldás. a. Az el˝oz˝o döntési fa példákban a döntéshozónak kísérletezés nélkül kellett eldöntenie, hogy egy bizonyos esemény milyen valószín˝uséggel következett be. Ha azonban lehetséges bizonyos kísérletezés, esetleg némi költség árán, a kísérlettel kapott adatokat be kell építeni a döntés fába. A feladat megoldása két lépésb˝ol tev˝odik össze. I. lépés (Bayes analízis). A mintapéldában a kísérletezést a geológus végzi 1 millió euróért. A döntéshozónak ki kell számolnia a geológus által adott becslések valószín˝ uségét. Jelöljük A1 -gyel azt az eseményt, hogy földcsuszamlás lesz és A2 -vel azt az eseményt, hogy nem lesz földcsuszamlás, illetve B1 -gyel azt az eseményt, hogy a geológus földcsuszamlást fog jelezni, és B2 -vel azt az eseményt, hogy a geológus nem fog földcsuszamlást jelezni. Két dolog ismert: I. amikor földcsuszamlás volt, az ilyen esetek 95% - ában a geológus is azt mondta el˝ore, hogy földcsuszamlás lesz; II. másrészt a geológus 90% - ban nem jelzett el˝ore földcsuszamlást, amikor a valóságban sem volt földcsuszamlás. Az általunk bevezetett jelölésekkel ez így írható: I. P (B1 |A1 ) = 0.95, azaz annak valószín˝usége, hogy az A1 esemény bekövetkezése mellett a B1 is bekövetkezik 0.95; II. P (B2 |A2 ) = 0.90, azaz annak valószín˝ usége, hogy az A2 esemény bekövetkezése mellett a B2 is bekövetkezik 0.90. A minisztérium úgy gondolja, hogy a földcsuszamlás esélye 20%, azaz: P (A1 ) = 0.2. Mivel A2 az A1 ellentettje, ezért: P (A2 ) = 0.8. Ezeket a valószín˝uségeket el˝ozetes (priori) valószín˝uségeknek nevezzük. A döntési fa megrajzolásához szükség van, a P (B1 ), P (B2 ) valószín˝uségekre és az alábbi feltételes valószín˝uségekre: 1. a geológus földcsuszamlást jelez és bekövetkezik a földcsuszamlás, azaz P (A1 |B1 ) ; 2. a geológus földcsuszamlást jelez és nem következik be a földcsuszamlás, azaz P (A2 |B1 ) ; 3. a geológus nem jelez földcsuszamlást és bekövetkezik a földcsuszamlás, azaz P (A1 |B2 ) ; 4. a geológus nem jelez földcsuszamlást és nem következik be a földcsuszamlás, azaz P (A2 |B2 ) ;
6. Komplex döntések
149
A valószín˝uségszámításban azt a feltételes valószín˝uséget, amely megadja egy eseményre vonatkozó el˝orejelzés találati valószín˝uségét az esemény bekövetkezésének feltétele mellett likelihoodoknak nevezik. Ebben a feladatban két likelihood ismert: P (B1 |A1 ) a találati valószín˝usége annak, hogy amikor földcsuszamlás volt, az ilyen esetek 95% - ában a geológus is azt mondta el˝ore, hogy földcsuszamlás lesz; P (B2 |A2 ) a találati valószín˝usége annak,hogy a geológus nem jelzett el˝ore földcsuszamlást, amikor a valóságban sem volt földcsuszamlás. A P (Ai |Bj ) (i, j = 1, 2) valószín˝uségeket a szakirodalomban utólagos vagy posteriori valószín˝uségeknek nevezik, mivel ezek az értékek csak a geológus utólagos becslése alapján tudjuk kiszámolni Bayes-tétele segítségével. Bayes-tétele. Legyenek A1 , A2 , ..., An olyan események, amelyekre igaz az, hogy egyszerre ezen események közül mindig pontosan egy következik be, vagy más szóval teljes eseményrendszert alkotnak. Legyen továbbá B egy tetsz˝oleges esemény, ekkor P (B) = P (B|A1 ) · P (A1 ) + P (B|A2 ) · P (A2 ) + ... + P (B|An ) · P (An ) és
P (B|A1 ) · P (A1 ) . (6.1) P (B) Ebben a feladatban A1 és A2 teljes eseményrendszer, mivel csak két eset lehetséges, vagy lesz földcsuszamlás vagy nem. Ezért Bayes-tétele alapján: P (A1 |B) =
P (B1 ) = = = P (B2 ) = = = P (A1 |B1 ) = P (A2 |B1 ) = P (A1 |B2 ) = P (A2 |B2 ) =
P (B1 |A1 ) · P (A1 ) + P (B1 |A2 ) · P (A2 ) P (B1 |A1 ) · P (A1 ) + (1 − P (B2 |A2 )) · P (A2 ) 0.95 · 0.2 + 0.1 · 0.8 = 0.27; P (B2 |A1 ) · P (A1 ) + P (B2 |A2 ) · P (A2 ) (1 − P (B1 |A1 )) · P (A1 ) + P (B2 |A2 ) · P (A2 ) 0.05 · 0.2 + 0.9 · 0.8 = 0.73; P (B1 |A1 ) · P (A1 ) 0.95 · 0.2 = = 0.704; P (B1 ) 0.27. P (B1 |A2 ) · P (A2 ) 0.1 · 0.8 = = 0.296; P (B1 ) 0.27. P (B2 |A1 ) · P (A1 ) 0.05 · 0.2 = = 0.014; P (B2 ) 0.73. P (B2 |A2 ) · P (A2 ) 0.9 · 0.8 = = 0.986. P (B2 ) 0.73.
II. lépés (Döntési fa elemzés). Elkészítjük a feladat döntési fáját. Két döntést kell meghozni: fogadjon vagy sem geológust? hová építse a hulladéktárolót? A döntési fa els˝o csomópontja az a döntés, hogy fogadjon vagy sem geológust. Ha nem fogad geológust, akkor a geológusra leírtakat nem kell figyelembe venni. Így a második döntési csomópontban azt kell eldöntse, hogy Maksára, vagy Csíkszentsimonba építse
150
6. Komplex döntések
6.7. ábra. A 6.3. mintapélda kezd˝otáblája.
meg a hulladéktárolót. Ha Maksára építi, akkor a költsége 20000000 euró, ha pedig Csíkszentsimonba, akkor egy olyan 3-assal jelzett eseménycsomópontot kell berajzolni, amelynek két kimenetele lehetséges. 20% valószín˝uséggel földcsuszamlás lesz és így a költsége 20000000 + 10000000 = 30000000 euró vagy 80% valószín˝uséggel nem lesz földcsuszamlás és ekkor a költsége 10000000 euró. Az els˝o csomópont másik döntési ága: alkalmaz egy geológust 1000000 euróért. Ekkor a geológus tevékenységére vonatkozó adatok alapján tudja, hogy a geológus P (B1 ) = 0.27 földcsuszamlást fog jósolni és P (B2 ) = 0.73 valószín˝ uséggel nem. Ezt a véletlenszer˝u elágazást 4-es csomópont jelzi. Mind a két esetben el kell döntse, hogy hová építi a tárolót. Abban az esetben, ha a geológus földcsuszamlást jelez, akkor az 5-ös döntési csomópontban két döntés hozható. Ha Maksát választja, akkor költsége 20000000 + 1000000 = 21 000 000 euró, ha pedig Csíksentsimonba építi meg a tárolót, akkor a fa a 6-os csomóponttal folytatódik. Ennek két kimenete van. Mivel a földcsuszamlást josoló ágon van ezért, a földcsuszamlás bekövetkezése ág valószín˝ usége P (A1 |B1 ) = 0.704 és költsége: 20000000 + 10000000 + 1000000 = 31 000 000 euró, a fölldcsuszamlás nem következik be ág valószín˝usége pedig P (A2 |B1 ) = 0.296 és költsége: 10000000 + 1000000 = 11 000 000 euró. Másik lehet˝oség, hogy a geológus nem jelez földcsuszamlást. Ekkor a 7-es csomópontban is két döntés hozható. Ha Maksát választja, akkor költsége 20000000 + 1000000 = 21 000 000 euró, ha pedig Csíksentsimonba építi meg a tárolót, akkor a fa a 8-as csomóponttal folytatódik. Ennek két kimentele van. Mivel ebben az esetben a nem jeleztek földcsuszamlást, ezért a földcsuszamlás bekövetkezése ág valószín˝usége P (A1 |B2 ) = 0.014 és költsége 20000000 + 10000000 + 1000000 = 31 000 000 euró, a földcsuszamlás nem következik be ág valószín˝usége pedig P (A2 |B2 ) = 0.986 és költsége 10000000 + 1000000 = 11 000 000 euró. A leírt döntési fát papíron vázoljuk és WinQSB döntéselemzési (Decision Analysis) eszköztára segítségével értékeljük ki. A kezd˝otáblában (6.7 .ábra) kiválasztjuk a Döntési fa elemzése (Decision Tree Analysis) feladat típust és megadjuk a csomópontok és levelek számát (Number of Nodes/Events (Including Terminals)). Ebben a feladatban ez 17. Majd az OK-ra kattintás után betölt˝odik a döntési fa adattáblája (6.8. ábra.). A táblázat els˝o oszlopában (Node/Event Number) a csomópontok számai szerepelnek. Az 1,2,5 és 7 döntési csomópontok, a 3,4, 6 és 8 az eseménycsomópontok, a 9-17 pedig a levelek. A
6. Komplex döntések
151
6.8. ábra. A 6.3. mintapélda adattáblája.
második oszlopban (Node Name or Description) a csomópontok jelentését adjuk meg. A harmadik oszlopban (Node Type) a csomópont típusát jegyezzük meg. Ha döntési, akkor D-t, ha véletlenszer˝u esemény, akkor C-t írunk, a levelek esetén pedig üresen hagyjuk a mez˝ot. A negyedik oszlopban (Immediate Following Node, number separated by ’,’) megadjuk a csomópontra rákövetkez˝o csomópontokat. Az elválasztó jel a vessz˝o. Például: a 2-es rákövetkez˝oi a 9, 3; a 4-es rákövetkez˝oi a 5, 7. A leveleknek nincs rákövetkez˝o csomópontjai, ezért a mez˝ojüket üressen hagyjuk. Az ötödik oszlopban (Node Payoff (+profit, -cost)) a levelek értékeit adjuk meg. Plusz el˝ojellel a nyereséget és mínusz el˝ojellel a kiadást. A hatodik oszlopba (Probability (if available)) a csomóponthoz tartozó valószín˝ uségeket írjuk be, ha a csomópont el˝otti ág egy véletlenszer˝u esemény kimenetele. Például a 5. csomópont a 4. csomópont egy kimenetele és tudjuk, hogy a 4-es egy véletlenszer˝u esemény, amelynek az 5. csomóponthoz vezet˝o ága 27% valószín˝uséggel következik be. Ezért az 5. csomópont valószín˝uségi (Probability) mez˝ojébe 0.27 írunk. A síz˝o emberke ikonra kattintva a WinQSB a döntési fáknál leírtak szerint kiértékeli a feladatot, majd a döntési fa ( ) ikont kiválasztva kirajzolódik a 6.9. ábrán bemutatott döntési fa. Ahhoz, hogy a csomópontok alatt megjelenjenek a várható értékek az ( ) ikon kiválasztása utáni ablakban be kell jelölni a kiértékelés (Display the expected values for each node or event) mez˝ot. Ebben az ablakban lehet méretezni a csomópontokat és az éleket is. A döntési fa 1 csomópontja alatti érték megadja a végs˝o várható kiadást. Ez a mintapéldában 13904400 euró. Továbblépve a döntési fán, láthatjuk, hogy a 13904400 érték a 4-es csomópont alatt szerepel. Tehát els˝o döntés, hogy alkalmazni kell a geológust. Ekkor két lehet˝oség van. Ha a geológus földcsuszamlást jósol, akkor az 5-ös csomópont irányába lépünk tovább. Az 5-ös csomóponthoz tartozó várható érték −21000000. Tehát ebben az esetben a minimális várható kiadás 21000000 euró, ami úgy érhet˝o el ha hulladéktárolót Maksán építik meg. Ha pedig a geológus nem jósol földcsuszamlást, akkor a 7-es csomópont irányába haladunk. Itt a várható érték −11280000. Így ebben az esetben a minimális várható kiadás 11280000 euró. Ez úgy érhet˝o el, hogy a telephelyet Csíkszentsimonba építik meg. Összefoglalva, tehát ha a minisztérium a várható érték elve alapján hozza meg a döntését és
152
6. Komplex döntések
6.9. ábra. A 6.3. mintapélda döntési fája. magatartása kockázattal szembe semleges, akkor geológust alkalmaz és ha az földcsuszamlást jósol, akkor Maksán, ellenkez˝o esetben pedig Csíkszentsimonba építi meg a tárolót. b. Kezdjük azzal, hogy meghatározzuk a kiadást abban az esetben, ha a geológus nem kerülne semmibe, azaz a várható értéket mintainformációval (EV W SI). Kiszámítása ugyanúgy történik mint az el˝oz˝o pontban, csak itt a geológus költsége nulla, azaz a fa leveleinek értékei a geológust alkalmaz ágon abszolút értékben 1000000 euróval n˝onek (6.2. ábra). A geológust alkalmaz ág várható értéke a 4. csomópontnál van feltüntetve. Ez lesz az EV W SI = −12904400. Ezután meghatározzuk azt a vagyoni helyzetet, amelyet akkor érnének el, ha nem alkalmaznak geológust, vagyis a várható értéket az eredeti információ alapján (EV W OI). Ez az érték a 2-es csomópont várható értéke, azaz EV W OI = −14000000. Tehát, a geológus által adott információ várható értéke: EV SI = EV W SI − EV W OI = −12904400 + 14000000 = 1095 600 Az EV SI az a legnagyobb pénzösszeg amit a geológusért érdemes kifizetni. Mert ennél nagyobb összeg esetén a kiadás a geológus alkalmazása nélkül kisebb lesz. c. Bár a földcsuszamlás 20% valószín˝uséggel következik be, ha találnának egy olyan geológust aki 100%-ban megjósolja földcsuszamlás bekövetkezését vagy elmaradását, akkor egyértelm˝u, hogy érdemes elfogadniuk a geológus becslését. Éspedig, ha földcsuszamlást jósol, akkor Maksán, ellenkez˝oleg pedig Csíkszentsimonba építik meg a tárolót. Így a tökéletes információval kapott várható érték EV W P I = − (0.2 · 20000000 + 0.8 · 10000000) = −12000000.
6. Komplex döntések
153
6.10. ábra. A 6.3. mintapélda EVSI-je. Ezután a tökéletes információ várható értéke EV P I = EV W P I − EV W OI = −12000000 + 14000000 = 2000000 képlettel számítható ki. Ez az a maximális összeg, amit még érdemes kifizetni egy olyan geológusnak, amely pontosan megmondja lesz-e földcsuszamlás. 6.4. mintapélda (Pékség). Egy újonnan alakult pékség friss árujának napi kétszeri kiszállítását tervezi a város 11 boltjába. Tervének megvalósítása el˝ott azonban szeretne meggy˝oz˝odni arról, hogy szolgáltatása nem lesz-e veszteséges, ezért döntése el˝ott elvégezné az igények felmérését. Korábbi tapasztalatok alapján az alábbi információk állnak rendelkezésére: amennyiben csupán két bolt igényli a szállítást, akkor új gépkocsi beszerzése nem szükséges, ebben az esetben csak havi fuvaróra-növekményt kell figyelembe venni, ami 500 euró; amennyiben csak három négy vagy öt bolt igényli az új szolgáltatást, akkor ez már új gépkocsijárat beszerzését teszi szükségessé, melynek havi fuvaróra díja 300 euró, a gépkocsi havi hiteldíja pedig 400 euró; amennyiben legalább öt bolt igényli a kiszállítást, akkor két járatot kell beindítani. Mindkett˝onek külön-külön havi 300 euró a fuvaróra díja és 350 euró a hiteldíja; a szolgáltatás teljes árbevétele az igényl˝ok számától függ. El˝ozetes számítások alapján, megbecsülték a szóbajöhet˝o jövedelmeket és ennek megvalósulási valószín˝uségeiket:
154
6. Komplex döntések
Boltok száma 1-2 bolt 3-5 bolt 6-11 bolt
Várható jöved. (euró) 1000 2000 5000
Valószín. 60% 70% 70%
Várható jöved. (euró) 700 1500 2500
Valószín. 30% 20% 10%
Várható jöved. (euró) 300 700 1000
Valószín. 10% 10% 20%
Mivel az esetleges új, a célnak megfelel˝o gépkocsi beszerzése id˝ot igényel, ezért a döntést id˝oben kell meghozni. A járm˝uveket még a szolgáltatás bevezetése el˝ott meg kell vásárolnia, hogy igény esetén az ügyfelek kiszolgálása azonnal megtörténjen. El˝ozetes felmérés hiányában a vállalkozó hajlik arra, hogy 60% valószín˝uséggel két és 20% valószín˝uséggel pedig egy gépkocsit vásároljon. A döntéshozatalai kényszer válságos pillanatában egy Sapientiás hallgató jelentkezett, hogy csekély 100 eurós térítés ellenében elvállal egy tájékoztató felmérést. A felmérés díja azon tapasztalati tudás ellenértéke, amelynek birtokában a hallgató megmondja, hogy ha a szolgáltatást a boltok meghatározott száma veszi igénybe, akkor milyen valószín˝uséggel találja is azt el. Az alábbi táblázat ezeket a valószín˝uségeket foglalja össze: A hallgató becslései becslés: 1- 2 bolt becslés: 3-5 bolt becslés: 6-11 bolt
Az igénybevétel mértéke 1-2 bolt 3-5 bolt 6-11 bolt 65% 15% 15% 25% 70% 30% 10% 15% 55%
a. Mit tegyen a vállalkozó, ne vásároljon gépkocsit, egy vagy két gépkocsit vásároljon, megbízza-e a hallgatót a felmérés elvégzésére? b. Mennyi az a legnagyobb összeg, amit a hallgatónak a felmérésért érdemes kifizetni? c. Mennyit érdemes fizetnie egy olyan tökéletes információért, amely pontosan megmondja, hogy hány bolt veszi igénybe a szolgáltatást? Megoldás a. Els˝o lépésként a vállalkozó el kell végezze a hallgató által szolgáltatott adatok Bayes elemzését. Bevezeti az alábbi jelöléseseket: A1 az az esemény, hogy 1-2 bolt veszi igénybe a szolgáltatást; A2 az az esemény, hogy 3-5 bolt veszi igénybe a szolgáltatást; A3 az az esemény, hogy 5-11 bolt veszi igénybe a szolgáltatást; B1 az az esemény, hogy a hallgató becslése: 1-2 bolt veszi igénybe a szolgáltatást; B2 az az esemény, hogy a hallgató becslése: 3-5 bolt veszi igénybe a szolgáltatást; B3 az az esemény, hogy a hallgató becslése: 6-11 bolt veszi igénybe a szolgáltatást; A hallgatóra vonatkozó táblázatban megvannak adva a P (Bj |Ai ) (i, j = 1, 2, 3) találati valószín˝uségek (likelihoodok). Ki kell számítani a P (Ai |Bj ) bekövetkezési valószín˝ uségeket a Bayes-tétele segítségével. Ezt a WinQSB döntéselemzési (Decision Analysis) eszköztárának Bayes-elemzés (Bayesian Analysis) segítségével végezzük. Itt meg kell adni a lehetséges kimeneteli események számát (Number of the States of Nature) és a felmérés által adott
6. Komplex döntések
155
6.11. ábra. A Bayes-elemzés kezd˝otáblája. lehetséges becslések (Number of Survey Outcomes (Indicators)) számát. Ebben a feladatban mind a kett˝o 3. A Bayes-elemzés eszköztár kezd˝otábláját mutatja az 6.11. ábra. Az OK ikonra kattintva betölt˝odik az 6.12. adattábla. Itt els˝o lépésként megadjuk az elnevezéseseket. Ennek az érdekében az Edit menüpontból kiválasztjuk a lehetséges események (State of Nature Name) eszköztáblát, ahol az eseményeket (State) átnevezzük az igénybevétel mértéke alapján, majd ugyancsak az Edit menüpont becslések (Survey Outcome/Indicator Name) eszköztáblát, ahol a becsléseket (Indicators) átnevezzük a hallgató becslései alapján. A táblázat els˝odleges valószín˝ uségek (Prior Probability) sorába be kell írni a vállalkozó valószín˝uségi eloszlását az események bekövetkezésére vonatkozóan. Ez tudjuk, hogy 60%-ban 6-11 bolt (két gépkocsit vásárol), 20%-ban 3-5 bolt (egy gépkocsit vásárol), a megmaradt 20%, hogy 1-2 bolt (nem vásárol gékocsit). A táblázat mez˝oibe beírjuk a hallgató becsléseire vonatkozó találati valószín˝ uségeket. A táblázat helyes kitöltése esetén a találati valószín˝uségek összege az oszlopok mentén egy.
6.12. ábra. A 6.4. mintapélda Bayes-elemzési adattáblája. A síz˝o emberke ikkonra kattintva betölt˝odik a 6.13. Bayes-elemzés eredménytáblája. Ennek a mez˝oi tartalmazzák az utólagos P (Ai |Bj ) (i, j = 1, 2, 3) valószín˝ uségeket, amelyet a WinQSB a (6.1) képlet segítségével számolt ki. Hogyan is kell ezt a táblázatot értelmezni? Például a táblázat els˝o eleme azt mutatja, hogy ha a hallgató becslése 1-2 bolt, akkor annak valószín˝usége, hogy valóságban is 1-2 bolt fogja a szolgáltatást megrendelni 0.52. Teljesen hasonlóan, ha a táblázat második sorának harmadik eleme azt mutatja, ha a hallgató bec-
156
6. Komplex döntések
6.14. ábra. Marginális eloszlások a 6.4. mintapéldában slése 3-5 bolt, akkor annak valószín˝usége, hogy a valóságban legalább hat bolt megrendelje a szolgáltatást 0.4865.
6.13. ábra. A 6.4. mintapélda Bayes-elemzés eredménytáblája. Ezek az értékek megmutatják a döntési fa leveleit tartalmazó elágazások bekövetkezésének valószín˝uségeit. Annak utólagos valószín˝ uségei, hogy mi lesz a hallgató becslése az eredmények (Results) menüpont marginális eloszlások (Show Marginal Probability) eszköztára adja meg (6.14. ábra). A táblázatból kiolvasható, hogy a hallgató P (B1 ) = 0.25 valószín˝ uséggel 1-2 boltot, P (B2 ) = 0.37 valószín˝ uséggel 3-5 boltot és P (B3 ) = 0.38 valószín˝uséggel 6-11 boltot jósol. Második lépésként meg kell rajzolni a feladat döntési fáját. Mindenekel˝ott nézzük meg milyen döntési lehet˝oségei vannak a vállalkozónak. I Igénybe vegye-e a hallgató szolgáltatását? II. Hány autót vegyen (nulla, egy vagy kett˝ot)? I.1. Ha nem veszi igénybe a hallgató szolgáltatását, akkor döntenie kell, hogy hány járm˝uvet vásároljon. Mind a három kimeneti lehet˝oséghez egy véletlenszer˝ u esemény tartozik, amelynek szintén három elágazása lehet: 0.2 valószín˝ uséggel 1-2 bolt rendel, 0.2 valószín˝uséggel 3-5 bolt rendel és 0.6 valószín˝uséggel pedig legalább 6 bolt. Mindegyik kimenethez megint egy véletlenszer˝u eseményt jelképez˝o csomópont kapcsolódik, amelynek a maga során a várható jövedelem alapján szintén három kimenetele van. Ezek a kimenetelek tartalmazzák a nyereségeket mutató leveleket. II.1. Abban az esetben, ha nem vásárol járm˝uvet, és 1-2 bolt rendel árút, akkor a várható jövedelme rendre: 0.6 valószín˝uséggel 1000 − 500 = 500, 0.2 valószín˝ uséggel 700 − 500 = 200 és 0.2 valószín˝uséggel 300 − 500 = −200. Ekkor a várható jövedelme: 0.6 · 500 + 0.2 · 200 + 0.2 (−200) = 300. Ha legalább 3 bolt rendel, akkor mivel nincs autója, csak 1-2 boltot tud ezekb˝ol a kérésekb˝ol felvállalni, így várható jövedelme rendre szintén: 0.6 valószín˝uséggel 1000 − 500 = 500, 0.2 valószín˝uséggel 700 − 500 = 200 és 0.2 valószín˝ uséggel 300 − 500 = −200. Így, mindkét esetben a várható érétk 300. Tehát, ha nem vásárol járm˝ uvet, akkor a várható jövedelme: 0.6 · 300 + 0.2 · 300 + 0.2 · 300 = 300, II.2. Egy járm˝u vásárlása esetén, ha csak 1-2 bolt rendel, akkor várható jövedelme rendre: 0.6 valószín˝uséggel 1000 − 300 − 400 = 300, 0.2 valószín˝ uséggel 700 − 300 − 400 = 0 és 0.2
6. Komplex döntések
157
valószín˝uséggel 300 − 300 − 400 = −400. Ekkor a várható jövedelme: 0.6 · 300 + 0.2 · 0 + 0.2 (−400) = 100. Ha legalább 3 bolt rendel, akkor mivel csak egy gépkocsija van, ezért legtöbb 3-5 bolt rendelését tudja vállalni. Így várható jövedelme rendre: 0.7 valószín˝uséggel 2000 − 300 − 400 = 1300, 0.2 valószín˝uséggel 1500 − 300 − 400 = 800 és 0.1 valószín˝uséggel 700 − 300 − 400 = 0. Ekkor a várható jövedelme: 0.7 · 1300 + 0.2 · 800 + 0.1 · 0 = 1070. Tehát, egy járm˝u vásárlása esetén, a várható jövedelme: 0.6 · 1070 + 0.2 · 1070 + 0.2 · 100 = 876. II.3. Két gépkocsi vásárlása esetén, ha csak 1-2 bolt rendel, akkor legfeljebb egyik gépkocsiját m˝uködteti, mert ennek a fuvardíja kisebb, mint ha gépkocsit bérelne, de mindkett˝onek a hiteldíját fizetnie kell. Ekkor várható jövedelme rendre: 0.6 valószín˝uséggel 1000−300−700 = 0, 0.2 valószín˝uséggel 700 − 300 − 700 = −300 és 0.2 valószín˝uséggel 300 − 300 − 700 = −700. Ebben az esetben a várható jövedelem: 0.6 · 0 + 0.2 · (−300) + 0.2 · (−700) = −200. Ha 3-5 bolt rendel, akkor is elég ha csak az egyik gépkocsiját használja. Ebben az esetben várható jövedelme rendre: 0.7 valószín˝uséggel 2000 − 300 − 700 = 1000, 0.2 valószín˝uséggel 1500 − 300 − 700 = 500 és 0.1 valószín˝ uséggel 700 − 300 − 700 = −300. Ekkor a várható jövedelem: 0.7 · 1000 + 0.2 · 500 + 0.1 · (−300) = 770. Ha legalább 6 bolt rendel, akkor már mind a két gépkocsiját kell használja. Ekkor a várható jövedelme rendre: 0.7 valószín˝uséggel 5000 − 600 − 700 = 3700 0.1 valószín˝uséggel 2500 − 600 − 700 = 1200 és 0.2 valószín˝uséggel 1000−600−700 = −300. Így, ekkor a várható jövedelem: 0.7·3700+0.1·1200+0.2·(−300) = 2650. Összefoglalva, két gépkocsi vásárlása esetén a várható jövedelem: 0.6 · 2650 + 0.2 · 770 + 0.2 · (−200) = 1704. I.2. A kezd˝o döntési csomópont másik ága, hogy alkalmazza a hallgatót. Ekkor az ág végz˝odésén lev˝o csomópont azt a véletlenszer˝u eseményt jelképezi, amelynek három kimenetele lehet. A hallgató P (B1 ) = 0.25 valószín˝ uséggel 1-2 boltot, P (B2 ) = 0.37 valószín˝uséggel 3-5 boltot és P (B3 ) = 0.38 valószín˝ uséggel 6-11 boltot jósol. Mind a három esetben a kimentelek végz˝odésén egy döntési csomópont van. Itt a vállalkozó el kell döntse hány darab gépkocsit vásárol. A továbbiakban a II.1-II.3. bekezdéseknél leírtak szerint épül fel a fa, csak a nyereségek mindenütt 100 euróval kisebbek lesznek, hiszen ezt az összeget a vállalkozó ki kell fizesse a hallgatónak. Szintén mások lesznek a valószín˝uségek az árut igényl˝o boltok számánál, mivel itt a 0.2, 0.2, 0.6 valószín˝ uségeket helyettesíteni kell az utólagos valószín˝uségekkel. A fa teljes felépítését tartalmazza az 6.15. ábra. Miután lapon vázoltuk a döntési fát, összeszámláljuk a csomópontok és a levelek számát. Ennek 45-öt kapunk. Ezekután a WinQSB döntéselemzés kezd˝otáblájának csomópontok száma mez˝ojébe beírjuk a 45-öt és az OK gombra kattintunk. A megjelent adattáblát az el˝oz˝o feladatban leírtak alapján töltjük ki. A fa elemzése után látható, hogy nem érdemes a hallgatót alkalmaznia, mivel ebben az esetben a várható jövedelme 1606.8 euró, és ha nem alkalmazza, csak magára hoz döntést, akkor várható jövedelme 1704 euró. Tehát kockázat semleges magatartás esetén, a várható érték elve alapján hozható optimális döntés: nem alkalmazza a hallgatót és vásárol 2-ét gépkocsit. b. Ha még egyszer a WinQSB segítségével elemzzük a döntési fát, de úgy, hogy a nyereségb˝ol nem vonjuk le a hallgató díját, akkor a döntési fa várható értéke az EVWSI=1706.8. Az EVWOI pedig a 2. csomópont várható értéke, azaz 1704. Következésképpen az EV SI = 1706.8 − 1704 = 2.8.
158
6. Komplex döntések
6.15. ábra. A 6.4. mintapélda döntési fája. Tehát a hallgató által nyújtott információért maximálisan 2.8 eurót érdemes kifizetni. c. A tökéletes információ várható értékét megkapjuk, ha feltételezzük, hogy bár a vállalkozó most is hajlik arra, hogy 60% valószín˝ uséggel két és 20% valószín˝ uséggel pedig egy gépkocsit vásároljon, de valaki pontosan megmondja, hogy 1-2, vagy 3-5, vagy 6-11 bolttól kap megrendelést. Ha ezt ˝o tudja, akkor a maximális várható nyereségei rendre: m1 = 0.6·1000+0.2·700+0.2·300−500 = 300.0, m2 = 0.7·2000+0.2·1500+0.1·700−700 = 1070, m3 = 0.7 · 5000 + 0.1 · 2500 + 0.2 · 100 − 600 − 700 = 2470.0. Tehát az EV W P I = 0.2 · 300 + 0.2 · 1070 + 0.6 · 2470 = 1756 Következésképpen az EV P I = EV W P I − EV W OI = 1756 − 1609 = 147. Ez az összeg, amit maximálisan érdemes kifizetnie bármilyen felmérésért.
6. Komplex döntések
6.4.
159
Kit˝ uzött feladatok
1. Egy vállalat fontolgatja, hogy ajánlatot tegyen-e egy nemzetközi cégnek egy megbízatási szerz˝odés megkötésére. Az el˝ozetes becslések alapján úgy vélik, hogy az ajánlat el˝okészítése 10000 euróba fog kerülni, annak az esélye, hogy az ajánlatukat a cég fontolóra veszi 50%. Ebben az esetben a vállalat újabb adatokat kell szolgáljon, amely költsége 5000 euróra becsülhet˝o. Ha az ajánlatuk ebben az esetben is meggy˝oz˝o volt, csak akkor kapják meg a megbízatást. A feladat teljesítéséhez szükséges agyagi és laboratóriumi költségek 127000 euróba kerülnek. Az ajánlatba három árat tüntethetnek fel 155000, 170000 és 190000 eurót. Annak a valószín˝uségé, hogy ezen árajánlatok mellett a szerz˝odés megköttetik 0.90, 0.75 illetve 0.35. Határozzuk meg a vállalat optimális cselekedeteinek sorozatát! 2. Egy vállalat el kell döntenie, hogy végezzen-e olajfúrást a Fekete tenger mélyén. A költség 100.000 euró, és ha olajat találnak, becslések szerint annak értéke 600.000 euró lesz. Jelenleg a vállalat úgy gondolja, 45% esélye van annak, hogy olajat találjanak. A fúrás el˝ott a vállalat alkalmazhat egy geológust (10.000 euróért), hogy több információt kapjon. 50% az esélye annak, hogy a geológus kedvez˝o jelentést ad, és 50% a kedvez˝otlen esélye is. Ha kedvez˝o egy ilyen jelentés, akkor 80% az esély arra, hogy a kiszemelt helyen olaj található. Kedvez˝otlen jelentés esetén az olaj ottlétének valószín˝usége 0,1. Határozzuk meg a vállalat optimális cselekedeteinek sorozatát! 3. Nyáron Péter minden nap úszik. Napsütéses nyári napokon egy szabadtéri uszodába jár, ahol ingyen úszhat, es˝os napokon viszont fedett uszodába kell mennie. A nyár kezdetén lehet˝osége van arra, hogy egy 15 eurós bérletet vegyen a fedett uszodába, és ez egész nyárra érvényes. Ha nem veszi meg a bérletet, akkor minden alkalommal, amikor a fedett uszodába megy 1 euró kell fizetnie. Múltbeli meteorológiai jelentések azt mutatják. Hogy 60% esélye van annak, hogy a nyár napos lesz (átlagosan 6 es˝os nap) és 40% esélye annak, hogy a nyár es˝os lesz (átlagosan 30 es˝os nap). Péternek, lehet˝osége van a nyár elején egy hosszú távú id˝ojárási el˝orejelzés vásárlására 1 euró-ért. Az el˝orejelzés az id˝o 80%-ában napos nyarat jósol, és az id˝o 20%-ában es˝ost. Ha az el˝orejelzés napos nyár, akkor 70% az esélye annak, hogy valóban napsütéses lesz a nyár. Ha az el˝orejelzés es˝os nyár, akkor 80% az esélye annak, hogy a valóságban is es˝os nyár lesz. Feltéve, hogy Péter célja a nyári várható költség minimalizálása, mi legyen a stratégiája? 4. Egy mez˝ogazdász azon gondolkozik, hogy kössön-e biztosítást búzaterületére jéges˝o ellen. Az eddigi tapasztalatai alapján annak valószín˝ usége, hogy a jéges˝o elverje a búzáját 3%. Ha ez bekövetkezne, akkor 0.3, 0.3 illetve 0.4 valószín˝ uséggel az ˝o vesztesége 2000, 4000 illetve 8000 euró lenne. A biztosítás az A biztosító társaságnál 200 euróba kerül, és teljes veszteségét fedezné, a B biztosítónál pedig 100 euró, de a veszteségeinek csak 50%-át állná jéges˝o esetén. Rajzoljuk meg a mez˝ogazdász döntési hálóját és adjuk meg az optimális döntését. Ha sikerülne találnia egy olyan id˝ojóst, amely pontosan megmondaná, hogy lesz-e jéges˝o, akkor ezért az információért mennyit érdemes kifizetnie. 5. Az EMTE Gazadaság- és Humántudományok kara megpróbálja eldönteni, hogy két másológép közül melyiket vegye meg. Mind a két gép kielégítené a kar igényeit a következ˝o öt évre. Az 1-es gép 2000 euróba kerül, és van hozzá egy karbantartási megállapodás, melynek értelmében évi 150 euróért minden javítást elvégeznek. A 2-es gép 3000 euróba kerül. Jelenleg a kar úgy gondolja, hogy 40% esély van arra, hogy a 2-es gép évi karbantartási költsége 0 euró, egy újabb 40% esély van arra, hogy ez a költség évi 100 euró, és 20% eséllyel a költség évi 200 euró. A kar még felkérhet egy szakembert, hogy értékelje a
160
6. Komplex döntések
2-es gép min˝oségét. Ha a szerel˝o úgy gondolja, hogy a 2-es gép kielégít˝o, akkor 60% esély arra, hogy az évi karbantartási költség 0 euró lesz, és 40% az esélye az évi 100 eurós költségre. Ha a szerel˝o úgy gondolja, hogy a 2-es gép nem kielégít˝o, akkor az évi karbantartási költség 20% eséllyel 0 euró lesz, 40%-os eséllyel ez a költség évi 100 euró és 40% eséllyel 200 euró. Ha a szerel˝o 50% eséllyel ad a 2-es gépr˝ol kielégít˝o jelentést és a vizsgálatért 40 eurót kér, mit tegyen a Kar döntéshozó testülete? 6. Erika 2009. augusztus 5.-én Londonba repül és augusztus 20.-án tér haza. Most 2009. február elején vehet egy csak egyik útra szóló jegyet (350 euró), vagy egy retúrjegyet (660 euró). Megteheti azt is, hogy vár 2009. augusztus elsejéig a jegyvásárlással, de akkor egy útra szóló jegy 370 euróba kerül, a retúrjegy pedig 730 euró. Lehetséges azonban, hogy július 1. és augusztus 1. között Erika n˝ovére (aki a repül˝otársaságnál dolgozik) tud szerezni egy egyirányú szabad jegyet. Annak a valószín˝usége, hogy a n˝ovér szerez egy jegyet 0,3. Ha Erika megveszi februárban a retúrjegyet és a n˝ovére szerez egy ingyen jegyet, akkor Erika visszaadhatja a retúrjegynek felét a repül˝otársaságnak. Ebben az esetben teljes költsége 330 euró plusz 50 euró büntetés lesz. Hogyan járjon el Erika? 7. A kormánybizottság gazdasági haszon érdekében influenzaoltás programot szeretne kidolgozni. Ha az oltásokat nem osztja ki a kormány a várható vesztesége, ha egy influenzajárvány kitörik 7 millió euró 0.1 valószín˝uséggel, 10 millió euró 0.3 valószín˝ uséggel és 15 millió euró 0.6 valószín˝uséggel. Egy ilyen program 7 millió euróba kerül és annak a valószín˝usége, hogy egy influenzajárvánnyal kell számolni a jöv˝o évben 0.75. A kormánynak lehet˝osége van arra, hogy létrehozzon egy felügyel˝o bizottságot 3 millió euróért amely, figyeli az influenza kitörésének veszélyét, és így meg marad id˝o az oltások kiosztásához, de ebben az esetben a gyorsított eljárás miatt az oltások kiosztása 10 millió euróba kerülnek. Határozzuk meg a kormány optimális cselekedeteinek sorozatát! Számítsuk ki az EVSI és EVPI értékeit! 8. Egy lakástulajdonos azon gondolkozik, hogy kössön-e lakásbiztosítást egy évre betörések ellen. A tulajdonos lakásban található tárgyak értékét 20000 euróra becsüli. A helyi rend˝orség statisztikái alapján annak valószín˝usége, hogy nála tényleg betörés történjen 3%. Ha ez bekövetkezne, akkor 0.5, 0.35 illetve 0.15 valószín˝uséggel az ˝o vesztesége 10%, 20% illetve 40% lenne. A lakásbiztosítás az A cégnél 150 euróba kerül, és a veszteségeit fedezné. A lakásbiztosítás a B cégnél 100 euróval olcsóbb de a veszteségeinek csak 50%-át állná betörés esetén. C cégnél kötött lakásbiztosítás is 75 euróval olcsóbb, mint az els˝o cégnél de ebben az esetben a veszteségek 60%-át fizetné ki a biztosító. Feltételezve, hogy évente legfeljebb egy betörést˝ol kell tartani, rajzold meg a lakástulajdonos döntési hálóját. 9. Egy kanadai vállalat földterületek geológiai feltérképezését végzi, megvizsgálja, hogy milyen fémlel˝ohelyek (réz, arany, ezüst) találhatók a területen. Jelenleg a vállalat azon gondolkozik, hogy 3 millió euróért megvásároljon-e egy földterületet. Ha a vállalat megveszi a területet, akkor geológiai kutatásokat végezne rajta, ami 1 millió euróba kerülne. Régebbi tapasztalatok alapján a vállalat úgy véli, hogy 1% annak a valószín˝usége, hogy a területen rezet találnak, 0.05% hogy aranyat és 0.2% a valószín˝ usége, hogy ezüstöt. A három fém közül egyszerre csak egy lehet jelen. Ha a földterületen rezet találnak, akkor a vállalat 30 millió euróért, ha aranyat 250 millió euróért és ha ezüstöt 150 millió euróért adhatja tovább a területet.
6. Komplex döntések
161
A vállalatnak meg van adva az a lehet˝oség, hogy 750000 euróért három napos keresést végezzen a területen, miel˝ott megvenné a földet. Három nap alatt nem lehet egyértelm˝ uen eldönteni, hogy a földterületen található-e nemesfémlel˝ohely. A régebbi tapasztalatok alapján a vállalat tudja, hogy a három napos teszt költsége 250000 euró és csak 50% valószín˝uséggel határozható meg a fémek jelenléte. Ha a három napos keresés lényeges mennyiség˝u fém jelenlétét mutat ki, akkor annak a valószín˝ usége, hogy tényleg van ott réz, arany vagy ezüst 3%, 1% illetve 2% növekszik. Ha a három napos próba alatt a vállalat nem talál fémlel˝ohelyet, akkor annak a valószín˝ usége, hogy mégis van ott réz, arany vagy ezüst 0.75%, 0.04% illetve 0.175%-ra csökken. Hogyan járjon el a vállalat vezet˝osége? Ha egy másik hasonló profilú vállalat fele arányba (kiadás és bevétel) beállna a földterület vásárlásba, akkor a vállalatnak érdemes-e bevenni társnak? 10. Egy magyar sakkmester egy svéddel játszik egy-két játszmából álló bemutató mérk˝ozést. Minden megnyert mérk˝ozés egy pontot hoz a játékosnak és minden döntetlen fél pontot. A mérk˝ozést az a játékos nyeri, akinek a két játszma után több pontja van. Ha a két játszma után a játékosok döntetlenre állnak, akkor továbbjátszanak addig, amíg valamelyikük megnyeri egy játszmát, ekkor ez els˝o olyan játékos, amelyik nyer egy játszmát, megnyeri a mérk˝ozést. Minden játszma folyamán a magyar játékosnak két lehetséges stratégiája van: vakmer˝o játékot játszani vagy konzervatívat. Stratégia vakmer˝ o konzervatív
Nyer 0.45 0.1
Veszít 0.55 0
Döntetlen 0 0.9
Mit tegyen a magyar sakkmester, ha maximalizálni akarja a mérk˝ozés megnyerésének valószín˝uségét? 11. Egy kertésznek el kell döntenie, hogy 1000 db piros vagy sárga rózsatövet vásároljon. 1000 db piros rózsat˝o vásárlási értéke 15000 lej, 1000 db sárga rózsat˝oé viszont csak 10000 lej. A piros rózsa a vizet kedvel˝o virágfajták közé tartozik, a sárgát nem befolyásolja az id˝ojárás. A piros rózsat˝on term˝o rózsák eladási ára 2.5 euró, azonban ha abban az évben szárazság lesz, a rózsáknak csak 40%-a vészeli túl. A sárga rózsat˝on term˝o rózsák eladási ára 1.5 euró, és szárasság esetén is 95%-uk életben marad. Az el˝oz˝o évek id˝ojárás jelentései alapján a kertész úgy feltételezi, hogy 40% a valószín˝ usége, hogy a jöv˝o évben szárazság lesz. A kertész lehet˝osége van arra, hogy alkalmazzon egy id˝ojóst 250 euróért, aki megállapíthatja az elkövetkez˝o év id˝ojárását. Ha a szóban forgó év id˝ojárása es˝os, akkor a szakért˝o el˝orejelzése is 80%-ban es˝ost is jósol. A valóságban bekövetkez˝o meleg éveknél a szakért˝o el˝orejelzése is 75%-ban szárazságot jósol. Alkalmazzon-e a kertész id˝ojárás szakért˝ot? 12. Egy ügyfél bemegy a bankba, hogy egy évre 50.000 euró kölcsönt kapjon 12% kamatra. Ha a bank nem adja meg a kölcsönt, akkor az 50.000 eurót kötvényekbe fekteti, ahol az évi megtérülés 6%. Minden további információ nélkül a bank úgy gondolja, hogy 4% esélye van arra, hogy az ügyfél egyáltalán nem fizeti vissza a kölcsönt. 500 euró költség fejében a bank alaposan át tudja vizsgálni az ügyfél hitelekkel kapcsolatos el˝oéletét, és a vizsgálat eredményekét egy kedvez˝o vagy egy kedvez˝otlen javaslatot tesz. A múltbeli tapasztalatok
162
6. Komplex döntések
alapján úgy találják, hogy P(kedvez˝o javaslat | az ügyfél rendesen fizet) = 77/96 P(kedvez˝o javaslat | az ügyfél nem fizet) = 1/4. Rajzoljuk meg a bank döntési fáját. Hogyan tudja a bank maximalizálni várható profitját? Számítsuk ki az EVSI és EVPI értékeit is! 13. Egy mez˝ogazdásznak el kell döntenie, hogy búzát vagy kukoricát ültessen. Ha kukoricát ültet és meleg az id˝o, akkor 8000 eurót keres; ha kukoricát ültet és hideg az id˝o, akkor 5000 eurót keres. Ha búzát ültet és meleg az id˝o, akkor 7000 eurót keres; ha búzát ültet és hideg az id˝o, akkor 6500 eurót keres. A múltban 40%-ban hideg évek voltak, 60%-ban pedig az évek melegek. Miel˝ott ültetne, a mez˝ogazdász megvehet egy szakért˝oi-id˝ojárás el˝orejelzést 600 euróért. Ha a szóban forgó év a valóságban is hideg, olyankor 90% valószín˝uséggel az el˝orejelz˝o specialista is hideget jósolt. A valóságban bekövetkez˝o meleg éveknél az el˝orejelz˝o specialista az esetek 80%-ban meleg évet jósolt. Maximalizáld a várható profitot! Határozd meg az EVSI és EVPI értékeket! 14. Egy pár vidám kedv˝u fiatal alakítottak egy együttest. Egy éve eljárnak rendszeresen próbákra, és keményen dolgoznak azért, hogy elkészítsék els˝o lemezüket. Miután elkészültek a felvételek, az egyik énekes úgy dönt, hogy neki egyáltalán nem tetszik, és kiszáll a csapatból. El kell dönteniük a többieknek, hogy kiadják a lemezt vagy sem. Ha a felvételek alapján készült lemez sikeres lesz, akkor várható jövedelmük 5000 euró, ha viszont nem, akkor veszítenek 1000 eurót. Az eddigi koncertek utáni visszajelzések alapján úgy gondolják, hogy a siker esélye 70%. Beszéltek egy rádiós DJ-vel, aki felajánlotta, hogy 1000 euróért mintavételezi a nagyközönség véleményét. A DJ eddigi tevékenysége azt mutatja, hogy ha egy lemez sikeres volt, akkor ezt ˝o is 70% pontossággal becsülte meg, ha meg nem volt sikeres, akkor ezt ˝o 80%-ban meg is jósolta. Megéri-e alkalmazni DJ-t és ez mennyiben folyásolja be a döntésüket? Kiadják a lemezt vagy sem? 15. Janinak egy kocka van a bal kezében és egy másik a jobb kezében. Az egyik kocka mind a hat oldalára hat pont van festve. A másik kocka két oldalára egy pont van festve és a többi négy oldalára hat pont. Zsuzsi éppen most választ egy kockát és a kiválasztott kockára festett pontok mindegyikéért 10 eurót kap. Miel˝ott kiválasztja a kockát, Zsuzsi fizethet Janina 15 eurót, amiért Jani földobja a bal kezében lév˝o kockát és megmondja Zsuzsinak, hogy a fels˝o oldalára hány pont van festve. Maximalizájuk Zsuzsi profitját! Határozzuk meg az EVSI és EVPI értékeket! 16. Egy szekrénynek két fiókja van. Az egyik fiókban három aranyérem van a másikban egy arany- és két ezüstérem. Választhatunk egy fiókot, és 500 eurót kapunk minden aranyéremért és 100 eurót minden ezüstéremért, amely a kiválasztott fiókból van. Miel˝ott választanánk, fizethetünk valakinek 200 eurót, amiért ˝o véletlenszer˝uen kiválaszt egy érmét (mind a hat érme kiválasztásának ugyanakkora a valószín˝usége) és megmondja nekünk, hogy az arany vagy ezüst és, hogy melyik fiokból választotta. Például az illet˝o azt mondhatja, hogy egy aranyérmét választott az 1-es fiókból. Fizessünk-e neki 200 eurót? Mennyi lesz az EVSI és EVPI értéke? 17. Egy üzem memóriachipeket gyárt tízes tételekben. Múltbeli tapasztalatokból tudják, hogy a tételek 80%-ban 10% selejt chip van, a tételek 20%-ban 50% selejt található. Ha jó egy tétel 1000 euró a gyártási költsége, ha rossz, akkor 4000 euró a gyártási költsége. Az
6. Komplex döntések
163
üzemnek van egy olyan lehet˝osége, hogy átdolgozzon egy tételt 1000 euró költséggel. Egy átdolgozott tétel biztosan jó. A másik lehet˝oség az, hogy 100 euróért az üzem megvizsgálhat egy chipet minden tételb˝ol, így megkísérelve eldönteni, hogy egy tétel selejtes-e? Az üzem hogyan minimalizálhatja a várható összköltségét? Számítsuk ki az EVSI és EVPI értékeit! 18. Egy frissen végzett Sapientiás közgazdász úgy gondolja, hogy saját vállalkozásba kezd. Mivel azonban nincs sok pénze, nem akar kockáztatni, ezért felfrissíti operációkutatási ismereteit, és inkább alaposan átszámolja az esélyeit. Úgy gondolja, hogy számítástechnikai céget alapít és kereskedelmi tevékenységet fog folytatni. Figyelembevéve a beruházási és üzemeltetési költségeket, valamint a várható árbevételt a tiszta haszon a következ˝oképpen prognosztizálja: siker esetén a várható jövedelem 10000 euró, bukás esetén pedig -5000 euró. Annak esélye, hogy sikeres lesz a tevékenység 0.8, hogy bukás 0.2. Megbízható eredményre azonban úgy t˝ unik csak akkor számíthat, ha el˝ozetesen felmérést végez. Az eddigi tapasztalatai alapján tudja, hogy az egyetemi évei alatt végzett ilyen típusú felméréseinél ha valami jól m˝ uködött, akkor ezt ˝o 95%-ban meg is jósolta, ha pedig valami bebukott, akkor ezt ˝o 85%-ban el is találta. Felkéri egyik barátját, hogy segítsen a felmérés lebonyolításában. Úgy egyeznek, ha becslésük sikert jósol és valóban a vállalkozás sikeres is lesz, akkor a barátja segítségét 100 euróval honorálja. Ha becslésük bukást jósol és valóban bukás lesz, akkor a barátjának fizet egy vacsorát 10 euró költséggel. Ha pedig tévednek, akkor nincs tartozása a barátja felé. Hogyan járjon el, végezzen-e felmérést és elindítsa-e a vállalkozását? Számítsuk ki az EVSI-t és az EVPI-t. 19. Az MDA Rt. Dacia személygépkocsik forgalmazását és szervizelését latolgatja a 40000 lakosú Csíkszeredában. Jelenleg a város lakosai a szomszédos Sepsiszentgyörgyön lev˝o szerviz szolgáltatásait veszik igénybe. Az Rt vezetése a Sepsiszentgyörgyi kiszolgálás színvonalát elemezve megállapította, hogy sem Sepsiszentgyörgy sem Csíkszereda lakosainak nem tud a jelenlegi módon kielégít˝o színt˝u szolgáltatást nyújtani, mert a szerviz zsúfolt, hosszú a várakozási id˝o és Csíkszeredától elégé messze van. A fejlesztési döntés el˝ott azonban az Rt szeretne meggy˝oz˝odni arról, hogy a beruházásával nemcsak a kiszolgálás színvonalát tudja növelni, hanem a befektetés megtérülése után a tevékenység nyereségesé is válik. A beruházási- és üzemeltetési költségeket, valamint a várható árbevételt alapul véve a tiszta nyereség az autóvásárlási kedv valamint a szervízszolgáltatás igénybevételének függvényében az alábbi négy csoportba foglalható: A Kapacitás kihasználása 75%-100% 45%-75% 45% alatt
Min˝ osítés jó közepes rossz
Tiszta nyereség 120000 euró 60000 euró -20000 euró
Az Rt. el˝ozetes felmérés nélkül Csíkszereda szervizszolgáltatási igényét 0.4 valószín˝uséggel jónak, 0.4 valószín˝uséggel közepesnek, 0.2 valószín˝ uséggel rossznak gondolja. Mivel az Rt. számításokkal megalapozottan kívánja meghozni döntését, ezért a döntéshozatal el˝ott felmérés végeztetne az igények felmérésére. Természetesen ez a felmérés költséggel jár, és a vizsgálat eredménye nem pontos. Egy kéthetes felmérés az Rt. -nek 5000 eurójába kerül. Az igények felmérése alapján az el˝orejelzés eredménye tükrözi az
164
6. Komplex döntések
egyes kihasználási arányok bekövetkezési valószín˝uségeit: A felmérés eredménye jó rossz
A kapacitás kihasználása jó közepes rossz 0.95 0.8 0.3 0.05 0.2 0.7
Vizsgáljuk meg a fejlesztés következményeit, és tegyünk javaslatot az Rt. vezetésének arra vonatkozóan, hogy végezzen-e felmérést, és végrehajtsa-e a fejlesztést. Számítsuk ki az EVSI és az EVPI értékeit. 20. Egy illatszereket forgalmazó magánkereskedés tulajdonosa egy újfajta, székelyföldön még nem forgalmazott illatszer folyamatos beszerzésére elég kedvez˝o ajánlatott kap. A terméket jó lenne miel˝obb forgalomba hozni. A bolt elég kicsi, és a tulajdonos áruba fektetend˝o t˝okéje sem túl sok, ezért az újfajta illatszer beszerzését és árusítását csak akkor tudja megoldani, ha valamelyik termékét nem árulja tovább. Számításai szerint a forgalomból kivont termék eddig hónaponként 1000 euró tiszta hasznot hozott. El˝ozetes becslések alapján azonban az új termék forgalmazása jó keresleti viszonyok esetén 1800 euró, rossz keresleti viszonyok esetén pedig várhatóan 500 eurót hasznot eredményez. A tulajdonos úgy ítéli meg, hogy az új termék iránti magas kereslet valószín˝usége 70%. Az ügyben természetesen gyorsan kell dönteni. Bár a piackutatást két cég is vállalta, a keresked˝o mégis tanácstalan, hiszen az ajánlott feltételek nagyon különböz˝oek. Az I. cég gyors felmérés eredményét el˝oreláthatóan két min˝osítéssel fogja ellátni, kedvez˝o ill. kedvez˝otlen kategóriába sorolja. Számításainak, becslésének megbízhatósága (likelihood) 90%-os, a piackutatásért pedig kedvez˝otlen eredmény esetén 100 eurót, kedvez˝o esetben pedig 50 eurót kért. A II. cég a keresleti viszonyok el˝orejelzését három részre bontja: jó, közepes vagy gyenge. Megbízhatóságukat az alábbi táblázat tartalmazza: Kereslet jó gyenge
El˝ orejelzés jó közepes 0.8 0.2 0.05 0.15
gyenge 0 0.8
A cég jó kereseti viszonyok esetén 150 eurót, közepes becslés esetén 50 eurót, gyenge min˝osítés esetén pedig 20 eurót kér a munkájáért. Adjunk javaslatot a keresked˝onek, hogy igénybe vegye-e valamelyik piackutató cég szolgáltatását, ha igen akkor melyiket, és bevezesse-e az új terméket vagy ne? Számítsuk ki az EVSI-t és az EVPI-t.
7. fejezet Többcélú döntéshozatal
Az els˝o fejezetben tárgyalt lineáris programozási feladatok esetében a döntéshozó a lehetséges tevékenységeknek egyetlen tényez˝ore kifejtett hatását vizsgálta és célját meg tudta fogalmazni egyetlen célfüggvény segítségével. Akkor a cél az volt, hogy a z = cx kifejezés értékét maximalizálja, vagy minimalizálja az Ax ≤ b, x ≥ 0 feltételek mellett, ahol az x1 , ...xn döntési változókat az x vektor, az er˝oforrásokból rendelkezésre álló mennyiségeket a b vektor, a egységnyi mennyiségek profitját, vagy el˝oállítási költségét a c vektor és az er˝oforrásokból felhasznált aij mennyiséget az A mátrix jelöli. Sok valóságos helyzetben azonban a döntés nem csak egy tényez˝o alapján történik, hanem több tényez˝o figyelembevételével. Felmérések alapján a vállalatvezet˝ok döntésük meghozatalakor több célra is összpontosítanak, mint például: a profit, piaci részesedés, az árak stabilitása stb. Ekkor számukra lehet több cél (tényez˝o) is fontos, maximalizálni szeretné például a z1 = cx profitot és minimalizálni a z2 = px kiadást az Ax ≤ b, x ≥ 0 feltételek mellett. A célprogramozás lehet˝ové teszi, hogy egyidej˝uleg több cél elérésére törekedjünk. Az alapötlet az, hogy minden egyes célt számszer˝ usítünk, mindegyik célhoz felírjuk a célfüggvényt, majd egy olyan megoldást keresünk, amelyben e célfüggvényeknek a megfelel˝o céloktól való eltéréseinek a súlyozott összeg minimális. Két esetet vizsgálunk meg. Amikor mindegyik cél nagyjából egyforma fontosságú. Ez a nemhierarchikus célprogramozás. A másikban a célok fontosságuk szerint bizonyos sorrendbe vannak helyezve. Ez a hierarchikus célprogramozás. Mind a két esetben nagyon fontos megvizsgálni a tényez˝ok preferencia-függetlenségét, mert a kölcsönös preferencia függetlenség a feltétele annak, hogy a döntéshozó értékel˝o függvénye additív, sajátos esetben pedig, hogy lineáris legyen. A továbbiakban mindig feltételezzük a célok preferencia-függetlenségét.
7.1.
Nemhierarchikus célprogramozás
7.1. mintapélda (Felvételi). A 2008-as felvételin a Sapientia-EMTE hérom célt t˝ uzött ki a jövend˝o els˝oévesekre vonatkozóan: 1. cél. A felvételt nyert hallgatók száma legyen legalább 600. 2. cél. A felvételt nyert hallgatók száma ne legyen több mint 700. 165
166
7. Többcélú döntéshozatal
3. cél. A felvételt nyert hallgatók legalább 60% érjen el minimum 70 pontot a felvételi teszten. 4. cél. Legalább 100 felvételt nyert hallgató jó matematikai képességgel kell rendelkezzen. Az alábbi táblázat a felvételi adatokat tartalmazza: Teszt pontszámok 100-70 pont között 50-69 pont között
Teszt eredmény 401 f˝o 452 f˝o
Jó matematikai képesség˝ u amib˝ol 78 f˝o amib˝ol 65 f˝o
a. Írjuk fel a feladat nemhierarchikus célprogramozási modelljét. b. A normatív finanszírozási rendszerben legfeljebb 700 hallgatót támogatnak 1200 euró/hallgató összeggel. Minden egyes 700-as létszám felett felvett hallgató 300 euró veszteséget eredményez az egyetemnek. Ha felvételt nyert hallgatók 60%-a nem éri el a 70 pontot, akkor minden egyes százalék hiányra az egyetem elveszít 800 euró támogatást. A finanszírozó 500 euró plusz támogatást biztosít minden jó matematikai képességgel rendelkez˝o felvett hallgatóra. Ezen információk alapján határozzuk meg a célok fontossági sorrendjét, majd írjuk fel és oldjuk meg a feladat lineáris programozási modelljét. Megoldás. a. A döntési változók: x1 a jó matematikai képességgel rendelkez˝o legalább 70 pontot elért felvételt nyert hallgató; x2 a gyengébb matematikai képességgel rendelkez˝o legalább 70 pontot elért felvételt nyert hallgató; x3 a jó matematikai képességgel rendelkez˝o 70 pont alatt teljesít˝o felvételt nyert hallgató; x4 a gyengébb matematikai képességgel rendelkez˝o 70 pont alatt teljesít˝o felvételt nyert hallgató. A célok matematikai megfogalmazása: 1. cél: x1 + x2 + x3 + x4 ≥ 600, 2. cél: x1 + x2 + x3 + x4 ≤ 700, 3. cél: x1 + x2 ≥ 0.6 (x1 + x2 + x3 + x4 ) , 4. cél: x1 + x3 ≥ 100. Most már fel tudunk írni egy többcélú programozási feladatot, amelynek lényege, hogy a céloktól való eltérést minimalizáljuk. Mindössze be kell vezessük az úgynevezett eltérésváltozókat. Mivel nem tudjuk, hogy a célokat alul- vagy felülteljesítsük, ezért az eltérésváltozók: s+ u értéke (többletváltozó); i − az i-dik cél felülteljesítésének számszer˝ s− u értéke (hiányváltozó). i − az i-dik cél alulteljesítésének számszer˝ Az eltérésváltozókat felhasználva a célok így írhatók: + 1. cél: x1 + x2 + x3 + x4 + s− 1 − s1 = 600, + 2. cél: x1 + x2 + x3 + x4 + s− 2 − s2 = 700, + 3. cél: x1 + x2 + s− 3 − s3 = 0.6 (x1 + x2 + x3 + x4 ) , azaz + 0.4x1 + 0.4x2 − 0.6x3 − 0.6x4 + s− 3 − s3 = 0,
7. Többcélú döntéshozatal
167
+ 4. cél: x1 + x3 + s− 4 − s4 = 100.
Az eltérésváltozók megmutatják, hogy mennyivel teljesítsük felül illetve alul a feltétel korlátját. Közülük egyik mindig nulla. Például az els˝o célnál, ha x1 = 300, x2 = 70, x3 = 300, x4 = 10,akkor x1 + x2 + x3 + x4 = 680. Mivel felülteljesítés van az s+ 1 = 680 − 600 = 80 és − s1 = 0. Ha pedig x1 = 200, x2 = 70, x3 = 300, x4 = 10,akkor x1 + x2 + x3 + x4 = 580. Ez − alulteljesítés és ezért s+ 1 = 0, s1 = 600 − 580 = 20. A döntéshozó célja, hogy a felsorolt 4 négy célt a lehet˝o legnagyobb mértékbe teljesítse, vagyis a ≥ feltételek esetén minimalizálni kell a feltétel hiányváltozóját (s− i → min), és a ≤ + feltételek esetén pedig minimalizálni kell a feltétel többletváltozóját (si → min). Egyenl˝oségi + feltételek esetén a feltétel hiány és többletváltozójának összegét kell minimalizálni (s− i +si → min). Tehát, a feladat célprogramozási modellje:
z1 = s− 1 → min, z2 = s+ 2 → min, z3 = s− 3 → min, z4 = s− 4 → min, + x1 + x2 + x3 + x4 + s− 1 − s1 = 600, − + x1 + x2 + x3 + x4 + s2 − s2 = 700, + 0.4x1 + 0.4x2 − 0.6x3 − 0.6x4 + s− 3 − s3 = 0, − + x1 + x3 + s4 − s4 = 100, x1 ≤ 78, x2 ≤ 323, x3 ≤ 65, x4 ≤ 387, − + + xi , si , si ≥ 0, xi , s− i , si ∈ Z, i = 1, 2, 3, 4.
b. Az els˝o célnál azt kell meghatározzuk, hogy mekkora veszteséget generál a cél alulteljesítése. Minden egyes hallgató a 600-as létszám alatt 1200 euró támogatás elvesztését jelenti. Mivel s− 1 számú hallgatóval van kevesebb, ezért ennek a feltételnek a nem teljesítése − 1200s1 veszteséget jelent. A 700-as létszám feletti pedig 300 euró többletköltséget, vagyis + s+ 2 számú hallgató esetén 300s2 hiányt eredményez. A harmadik cél alulteljesítése 1% -al 800 − 600 = 6 hallgatót jelent. Tehát a harmadik cél nem teljesítése s− 3 hallgató esetén 6 s3 100 − jövedelemkiesést okoz. A negyedik cél s− u támogatás 4 értékkel alulteljesítése 500s4 összeg˝ elvesztését okozza. + − 800 − Az egyetemnek az az érdeke, hogy z = 1200s− 1 + 300s2 + 6 s3 + 500s4 összveszteségét minimalizálja. Ebb˝ol a felírásból látható, hogy a veszteség generálásában azok a tényez˝ok a mérvadóak, amelyeknek legnagyobb az együtthatójuk. Az els˝o célhoz rendelt súly 1200, a másodikhoz 300, a harmadikhoz 800 , a negyedikhez pedig 400. Ez azt jelenti, hogy az els˝o 6 1200 cél 1200 = 4-szer fontosabb mint a második, = 9-szer fontosabb mint a harmadik és 300 800/6 1200 = 2.4-szer fontosabb mint a negyedik. Ezért a célok fontossági sorrendje: 1. cél, 4. cél, 500
168
7. Többcélú döntéshozatal
2. cél és 3. cél. Az optimális megoldást a + − 800 − z = 1200s− 1 + 300s2 + 6 s3 + 500s4 → min, + x1 + x2 + x3 + x4 + s− 1 − s1 = 600, + x1 + x2 + x3 + x4 + s− 2 − s2 = 700, + 0.4x1 + 0.4x2 − 0.6x3 − 0.6x4 + s− 3 − s3 = 0, + x1 + x3 + s− 4 − s4 = 100, x1 ≤ 78, x 2 ≤ 323, x3 ≤ 65, x4 ≤ 387, + − + xi , s− , s ≥ 0, x i , si , si ∈ Z, i = 1, 2, 3, 4. i i
(7.1)
lineáris programozási feladat megoldása adja. WinQSB lineáris programozási eszköztárát használva az alábbi megoldásokhoz jutunk: x1 = 78, x2 = 321, x3 = 23, x4 = 243, s− 1 = 0, + − + − + − + s1 = 65, s2 = 35, s2 = 0, s3 = 0, s3 = 0, s4 = 0, s4 = 1. A minimális veszteség zmin = 0. Az egyetem az összes célt 100%-ban teljesíteni tudja. Összesen 665 hallgatót kell felvegyen, amib˝ol pontosan 60% érte el a minimum 70 pontot a felvételi teszten és amib˝ol 101 hallgató jó matematikai képességgel rendelkezik.
7.2.
Hierarchikus célprogramozás
A felvételi mintapéldában a kit˝uzött célok fontosságát a 7.1. lineáris programozási modell célfüggvényében az együtthatók sorrendje dönti el. Ebben az esetben a döntéshozó pontosan meg tudta határozni a célok relatív fontosságát. Gyakran el˝ofordul azonban, hogy a döntéshozó nem képes a célok relatív fontosságának precíz meghatározására. Ha ez a helyzet, akkor a célprogramozás hierarchikus modellje hasznos eszköznek bizonyulhat. Ebben az esetben a döntéshozónak rangsorolnia kell a célokat az általa legfontosabbnak tartott céltól (ez általában az els˝o cél) a legkevésbé fontos célig (ez általában az utolsó cél). Tehát az 1. cél súlya nagyobb lesz a második cél súlyánál, a második cél súlya nagyobb a harmadik cél súlyánál és így tovább az utolsó célig. Ezután a döntéshozó az 1. célt kielégít˝o pontok halmazán megprobál olyan közel kerülni a második cél teljesítéséhez, amennyire az csak lehetséges. Az így kapott pontok halmazán meg olyan közel kerülni a harmadik célhoz, amennyire csak lehet és így tovább. Addig folytatjuk ezt az eljárást, amíg valamely célhoz csak úgy tudnánk közel kerülni, ha egy magasabb fontosságú céltól való eltérést növelnénk. 7.2. mintapélda (Asztalos). Egy asztalos kétfajta terméket gyárt: székeket és asztalokat. Összesen 30 munkaóra ráfordítása lehetséges. A piackutatók szerint az asztalokból legalább 10-et, a székekb˝ol pedig legalább 15 darabot kell termeljen. A termelés jellemz˝oit tartalmazza az alábbi táblázat:
Munkaid˝ o szükséglet (óra/darab) Nyereség (Euró/darab)
Asztalok 5 12
Székek 3 8
Az asztalos céljai fontossági sorrendben (a legfontosabbal kezdve): 1. cél. A 100 euró profit elérése.
7. Többcélú döntéshozatal
169
2. cél. Az asztalok keresletének kielégítése. 3. cél. A székek keresletének kielégítése. 4. cél. Ne legyen túlóra. a. Írjuk fel és oldjuk meg a feladat hierarchikus célprogramozási modelljét. b. Tudjuk, hogy a túlórázás büntet˝oköltsége 0.2 euró óránként, valamint azt, hogy ha valamelyik termék gyártása a megkívánt kereslet alá esik, akkor a büntet˝oköltsége 0.4 euró és minden egyes eurónyi alulteljesítésnek 1 euró a büntet˝oköltsége. Írjuk fel és oldjuk meg a feladat lineáris programozási modelljét. Megoldás. a. A döntési változók: x1 a legyártott asztalok száma darabszámba megadva; x2 a legyártott székek száma darabszámba megadva; A célok matematikai leírása: 1. cél. A profit összesen: 12x1 + 8x2 ≥ 100. 2. cél. Az asztalok mennyisége: x1 ≥ 10. 3. cél. A székek mennyisége: x2 ≥ 15. 4. cél. A munkaórák száma: 5x1 + 3x2 ≤ 30. Az eltérésváltozókat felhasználva, a célok az alábbi korlátozó feltételeket kell teljesítsék: 12x1 + 8x2 + s− 1 −s − x1 + s2 − s+ 2 − x2 + s3 − s+ 3 − 5x1 + 3x2 + s4 − s+ 4
= = = =
100; 10; 15; 30.
A döntéshozó célja, hogy a felsorolt négy célt a lehet˝o legnagyobb mértékbe teljesítse, vagyis a ≥ célok esetén minimalizálni kell a feltétel hiányváltozóját (s− i → min), és a ≤ + célok esetén pedig minimalizálni kell a feltétel többletváltozóját (si → min). Tehát, a feladat célprogramozási modellje: z1 = s− 1 → min, z2 = s− 2 → min, − z = s 3 3 → min, z4 = s+ 4 → min, + 12x1 + 8x2 + s− (7.2) 1 − s1 = 100, − + x1 + s2 − s2 = 10, + x2 + s− 3 − s3 = 15, + 5x1 + 3x2 + s− 4 − s4 = 30, + − + x1 , x2 , s− i , si ≥ 0, xi , si , si ∈ Z, i = 1, 2, 3, 4.
Jelöljük az egyes célok súlyait rendre P1 -gyel, P2 -vel, P3 -mal és P4 -gyel. A megadott fontossági sorrend alapján P1 ≥ P2 ≥ P3 ≥ P4 .
170
7. Többcélú döntéshozatal
7.1. ábra. A célprogramozási eszköztár kezd˝otáblája. − A feladat hierarchikus célprogramozási modelljét a (7.2)-ból az új z = P1 s− 1 + P2 s2 + − + P3 s3 + P4 s4 célfüggvény beiktatásával kapjuk: − − + z = P1 s− 1 + P2 s2 + P3 s3 + P4 s4 → min, 12x1 + 8x2 + s− 1 − s = 100, − x1 + s2 − s+ 2 = 10, − x2 + s3 − s+ 3 = 15, − + 5x + 3x + s 1 2 4 − s4 = 30, + − + x1 , x2 , s− i , si ≥ 0, xi , si , si ∈ Z, i = 1, 2, 3, 4.
A feladatot a célprogramozási szimplex módszer segítségével lehet megoldani. Ez az algoritmus van beépítve a WinQSB célprogramozási (Linear and Integer Gool programming) eszköztárába. A továbbiakban ezt használjuk a hierarchikus célprogramozási feladatok megoldására. El˝oször is az eszköztár 7.1. kezd˝otáblájában megadjuk a célok számát (Number of Goals), majd az ismeretlenek számát (Number of Variables) és a feltételek számát (Number of Constraints). Ebben a feladatban ezek rendre 4, 10 és 4. Vigyázni kell, hogy a célfüggvényeket minimalizálásra állítsuk (Default Goal Criteria-Minimization). Mivel a döntési változók pozitív egész számok a változók (Default Variable Type) mez˝ob˝ol a nemnegatív egészet (Nonegative Integer) kell kiválasztani. Az OK gombra kattintva betölt˝odik a célprogramozás 7.3. adattáblája, amelyet a (7.2) modell alapján kell kitölteni. Itt el˝oször is az Edit menüpont változók elnevezései (Variable Names) ablakában megadjuk a döntési változók elnevezéseit: X3-at átnevezzük s− 1 -ra, X4-et + s1 -ra és így tovább a többi eltérésváltozót is beírjuk (7.2. ábra). Ezek után már csak az adattáblát kell kitölteni úgy, hogy a táblázat mez˝oibe a megnevezések alapján a megfelel˝o együttható kerüljön (7.3. ábra). A síz˝o emberke ikonra kattintva betölt˝odik az eredménytábla. Innen a Solution Value + oszlopból kiolvashatók a döntési változók értékei: x1 = 10, x2 = 15, s− 1 = 0, s1 = 140, − + − + − + s2 = 0, s2 = 0, s3 = 0, s3 = 0, s4 = 0, s4 = 65. A célfüggvények (Goal Value) minimális
7. Többcélú döntéshozatal
171
7.2. ábra. A döntési változók elnevezéseit ebben az ablakban lehet megváltoztatni.
7.3. ábra. A 7.2. mintapélda adattáblája. értékei: z1 = 0, z2 = 0, z3 = 0, z4 = 65. Látható, hogy az utolsó célt nem lehet teljesíteni, ennek következtében az asztalosnak 65 euró túlóra költsége van. Megjegyezzük, ha megváltoztatjuk a fontossági sorrendet, akkor az 7.2. adattáblában is a Min:G1 -Min:G4 sorokat a megfelel˝o módon kell változtatni. + b. A túlórázás büntet˝oköltsége 0.2 euró óránként, ezért s+ 4 túlóra költsége 0.2s4 . Az − asztalok száma s− 2 , a székek száma pedig s3 egységgel esik a kereslet alá, ezért a bün− − − tet˝oköltség 0.4s2 illetve 0.4s3 . Az s1 eurónyi alulteljesítésb˝ol ered˝o veszteség 1s− 1 . Tehát az − − + összveszteség z = s− + 0.4s + 0.4s + 0.2s . A súlyok alapján a fontossági sorrend azonos 1 2 3 4 az a. pontban megadottal. A feladat lineáris programozási modellje:
− − + z = s− 1 + 0.4s2 + 0.4s3 + 0.2s4 → min, + 12x1 + 8x2 + s− 1 − s1 = 100, + x1 + s− 2 − s2 = 10, − x2 + s3 − s+ 3 = 15, − 5x1 + 3x2 + s4 − s+ 4 = 30, − + − + x1 , x2 , si , si ≥ 0, xi , si , si ∈ Z, i = 1, 2, 3, 4.
A WinQSB lineáris programozási eszköztára segítségével a következ˝o megoldásokat kapjuk:
172
7. Többcélú döntéshozatal
+ − + − + − + x1 = 0, x2 = 13, s− 1 = 0, s1 = 4, s2 = 10, s2 = 0, s3 = 2, s3 = 0, s4 = 0, s4 = 9 és zmin = 6.6 euró.
7.3.
Kit˝ uzött feladatok
1. Egy vállalat kutatási és fejlesztési osztálya három új terméket fejlesztett ki. Az egyes termékek az alábbi táblázatban megadott szinten teljesítik a felsorolt tényez˝oket: Tényez˝ o Hosszútávú profit Munkaer˝ oszint Jöv˝ o évi nyereség
Termék 1 2 3 20 15 25 10 8 10 7 6 8
egység millió euró száz alkalmazott millió euró
A vezetés három célt t˝uz ki a következ˝o prioritási sorrendben: 1. cél hosszútávú profit legyen legalább 100 millió euró; 2. cél a munkaer˝oszint legyen legfennebb 5000 alkalmazott; 3. cél a vállalat jöv˝o évi nyeresége legalább 75 millió euró legyen. Alkalmazzuk a hierarchikus célprogramozás módszerét és adjuk meg, hogy a három terméket milyen arányban kell gyártani. 2. Egy üzlet meg akarja határozni a színes tv-k és videók raktárkészletének nagyságát. Az üzletnek 300 euróba kerül egy színes tv és 200 euróba egy videó beszerzése. A színes tvnek 3 egységnyi, a videónak egy egységnyi raktározási tér szükséges. Egy tv eladásán az üzlet 150 eurót, egy videó eladásán 100 eurót keres. Az üzlet célja fontossági sorrendben a következ˝ok: 1. cél Maximum 20.000 euró költhet˝o el színes tv-re és videó készülékre. 2. cél Az üzlet legalább 11.000 euró profitot akar realizálni tv és videó eladásból. 3. cél A színes tv-k és videók nem foglalhatnak el többet a raktárban 200 egységnél. Fogalmazzuk meg azt a hierarchikus célprogramozási modellt, amelynek segítségével az üzlet meg tudja határozni a színes tv és videó rendelések számát! Hogyan változik meg a modell, ha az üzlet pontosan 11.000 euró profitot szeretne elérni? 3. Egy játékgyár három típusú robotjátékot gyárt. Az els˝o típusú játék gyártása 10 perc, a másodiké 12 perc, a harmadiké pedig 15 perc. Az els˝o típusú játékhoz 2 kg, a másodikhoz 3 kg, a harmadikhoz pedig 4 kg m˝uanyag szükséges. A játékok utáni nettó jövedelmek rendre 2, 5 illetve 7 euró. Hogy a rendeléseket teljesítse a gyár mindegyik termékb˝ol legalább 10 darabot kell gyártson. A gyár céjai, sorrendben: 1. cél legalább 200 euró nettó jövedelmet érjen el; 2. cél maximum napi 8 órát dolgozhatnak a játékok el˝oállításánál; 3. cél legfennebb 200 kg m˝uanyagot fordítson a játékok gyártásához. Fogalmazzunk meg egy hierarchikus célprogramozási feladatot és adjuk meg az optimális döntéseket. Mi történik, ha a gyár vezet˝osége fordított prioriritási sorrendet választ? 4. A Csíki sörf˝ozde világos és barna sört gyárt árpából, komlóból és malátából. Jelenleg 4 tonna árpa, 3 tonna komló rendelkezésre. Egy hordó világos sört 45 euróért lehet eladni, el˝oállításához 1 kg árpa, 1 kg komló és 1.8 kg maláta szükséges. Egy hordó barna sört 50 euróért lehet eladni, el˝oállításához 2 kg árpára, 1 kg komlóra és 1.5 kg malátára van
7. Többcélú döntéshozatal
173
szükség. A sörf˝ozde el tudja adni az általa gyártott világos és barna sört. A sörf˝ozde céljai prioritási sorrendben: 1. cél az összbevétel legalább 120000 euró legyen; 2. cél maximum 4 tonna malátát használjon fel a gyártásnál. a. Fogalmazzunk meg egy hierarchikus célprogramozási feladatot és adjuk meg az optimális döntéseket. b. Milyen termelési tervet válasszanak ha tudják, hogy a sörf˝ozde vesztesége minden egységnyi bevételkiesés miatt 1 euró és minden plusz tonna felhasznált maláta a sörf˝ozdének 30 euró veszteséget generál. 5. Csíkszereda önkormányzatának jöv˝ore a város területén újrafelhasználható hulladékgy˝ujt˝o lerakatokat kell elhelyeznie. Egy lerakat éves költségvetése 5.000 euró. Mindegyik lerakatot hozzá kell rendelni a város keleti vagy nyugati részéhez. Legyen x1 a keleti részben és x2 a nyugati részben kialakított lerakatok száma. A munkásoknak a keleti részben naponta átlagosan 40 − 3x1 óra szükséges a hulladék begy˝ ujtéséhez, nyugati részben pedig 50 − 4x2 óra. A város önkormányzatának három célja van: 1. cél A keleti részben a begy˝ujtési id˝o legfeljebb 5 óra legyen. 2. cél A nyugati részben a begy˝ujtési id˝o itt is legfeljebb 5 óra legyen. 3. cél A lerakatok éves költségvetése 100000 euró. A város önkormányzata úgy gondolja, hogy (bármely rész esetén) az 5 órás célkit˝ uzés egy órával történ˝o túllépésének kára 10.000 euró költséggel egyenl˝o és minden eurónyi költségkeret-túllépés költsége 1 euró. a. Írjuk fel és oldjuk meg az LP modellt, amelyik azt határozza meg, hogy hány lerakatot kell az egyes részekben telepíteni! b. A következ˝o prioritási rangsorok közül mindegyik esetében alkalmazzuk a célprogramozási szimplex módszert a lerakatoknak a város részekhez rendelésére: 1.cél>2.cél>3.cél; 2.cél>1.cél>3.cél; 3.cél>1.cél>2.cél. 6. Egy számítástechnikai vállalat fel kívánja adni éves chiprendelését. A vállalat a chipeket (100-as egységekben) három szállítótól vásárolhatja meg. Mindegyik chip kiváló, jó vagy közepes min˝osítés˝u. A jöv˝o évben a vállalatnak 5.000 kiváló, 3.000 jó és 1.000 közepes min˝osítés˝u chipre lesz szüksége. Az egyes szállítóktól érkez˝o chipek tulajdonságait a következ˝o táblázat mutatja.
1. szállító 2. szállító 3. szállító
Chiprendelés Kiváló Jó 60 20 50 35 40 20
Ára Közepes 20 15 40
400 300 250
A vállalat minden évben 28.000 euró költ ezekre a számítástechnikai alkatrészekre. Ha a vállalat az adott min˝oség˝u chipb˝ol nem rendelkezik elegend˝o mennyiséggel, pótrendelést adhat le, amelyeknek többletköltsége a kiváló min˝oség˝u chipeknél 10 euró, a jóknál 6 euró, a közepeseknél pedig 4 euró. A vállalat 1 euró büntet˝o költséget rendel minden egyes euróhoz, amely az 1.-3. szállítóknak kifizetend˝o költségkeretet meghaladja. Fogalmazzuk és oldjuk meg a vállalat számára azt az LP modellt, amellyel az éves chipszükséglet kielégítése minimális büntet˝oköltséggel történik! Alkalmazzuk a hierarchikus célprogramozási modellt
174
7. Többcélú döntéshozatal
a beszerzési stratégia meghatározására! Legyen a költségkeret a legmagasabb prioritású cél, amelyet a kiváló, a jó és a közepes chiprendelések kielégítésének céljai követnek. 7. Egy vállalat négyféle terméket gyárt: a T1 és T2 típusokat házi használatra és a T3 és T4 típusokat ipari célokra. A termékek elkészítéséhez három különböz˝o integrált áramkörre és munkaer˝ore van szüksége. Az A és B áramköröket importálják, a C áramkört a vállalat maga állítja el˝o. Az alábbi táblázat az egyes gépekhez felhasznált áramkörök számát, a munkaer˝o szükségletet (órában) és a nyereséget (ezer euróba) tartalmazza: A B C Munkaer˝ o Nyereség
T1 5 0 1 2 10
T2 3 0 4 3 30
T3 2 3 6 4 50
T4 0 8 2 6 100
A termeléshez minden periódusban 240 A és 320 B áramkör áll rendelkezésre. A munkaer˝o fels˝o korlátja 180 óra. A vállalat céljai fontossági sorrendben: 1. cél a nyeresége legalább 2 millió euró legyen; 2. cél a házi használatra készült termékek száma legyen legalább 60; 3. cél a saját el˝oállítású felhasznált C áramkörök száma legyen legalább 270. Írjuk fel azt a hierarchikus célprogramozási modellt, amely alapján meghatározható egy hatékony termelési terv. 8. Egy vállalat egy új ötvözetet kíván gyártani. Az új ötvözet a táblázatban látható összetétel˝ u ötvözetek összeolvasztásával szeretnék el˝oállítani: Tulajdonság Óntartalom (%) Cinktartalom (%) Ólomtartalom (%) Ár (euró/kg)
Ötvözet 1 2 3 60 25 45 10 15 45 30 60 10 19 17 23
A vállalat céljai fontossági sorrendben: 1. cél az ötvözet 40% ónt, 35% cinket és 25% ólmot tartalmazzon; 2. cél 1kg ötvözet el˝oállítási költsége ne legyen több mint 20 euró. Milyen arányban kell az egyes ötvözeteket összeolvasztani? Mennyi lesz a minimális el˝oállítási költség? Az ötvözetben valamelyik összetev˝onek 1%-os eltérése a megadott aránytól 2 eurós többletköltséget jelent a vállalatnak, minden egységnyi bevételkiesés miatt pedig 1 euró veszteség éri a vállalatot. Írjuk fel azt a nemhierarchikus lineáris programozási modellt, amellyel a vállalat meghatározhatja, hogy milyen arányban kell az egyes övözeteket összeolvasztani, ahhoz, hogy vesztesége minimális legyen. 9. Egy gazda búzát és zabot termeszt saját 50 holdas földjén. Legfeljebb legfeljebb 25000 kg zabot tud eladni. Egy beültetett holdon vagy 2300 kg búza, vagy pedig 1800 kg zab terem. A búza eladási ára 0.5 euró/kg a zabé pedig 0.8 euró/kg. Egy hold búza aratásához
7. Többcélú döntéshozatal
175
2.5 munkaóra, egy hold zab aratásához 3 munkaóra szükséges. A gazda céljai prioritási sorrendben: 1. cél nyeresége legalább 35000 euró legyen; 2. cél legtöbb 70 munkaórát vehet igénybe, 60 euró/óra költséggel. Fogalmazzunk meg egy hierarchikus célprogramozási feladatot és adjuk meg az optimális döntéseket. 10. Jancsi mobil boltja jelenleg 4 f˝oállású alkalmazottal és 2 részmunkaid˝os alkalmazottal rendelkezik. A teljes munkaid˝os alkalmazott munkaideje napi 8 óra azaz heti 40 óra, a részmunkaid˝osöké pedig napi 4 azaz heti 20 óra. A teljes munkaid˝os alkalmazottak órabére 5 euró és átlagban 3 mobil tudnak eladni, a részmunkaid˝osök órabére 3 euró és átlagban 1 mobil tudnak eladni óránként. Ha a teljes munkaid˝os alkalmazottak túlóráznak akkor óránként 10 euró kell fizetni nekik. Jancsi a mobilokat átlag 15 euróért veszi, és 20 euró adja el ˝oket. A havi fix költsége 1200 euró. Jancsi a következ˝o célokat t˝uzte ki magának (a fontosság sorrendjében): 1. cél legalább heti 1800 euró profitot érjen el; 2. cél legalább heti 700 mobiltelefont adjon el; 3. cél a teljes munkaid˝os alkalmazottak legfeljebb heti 50 túlórát vállalhatnak. Írjuk fel azt a hierarchikus célprogramozási modellt, amely alapján meghatározhatjuk a f˝oállású alkalmazottak túlóráinak számát! 11. A Gunya Kft. alkalmi ruhákat forgalmaz. Az alábbi táblázat mutatja a ruhák heti eladásainak adatait: Hét 1 2 3 4
Mennyiség 45 123 86 103
A Gunya Kft. heti 90 n˝oi és férfi ruhát tud rendelni, és raktáron 20 ruhát tud tárolni. Minden további plusz ruha raktározási költsége heti 2 euró többletköltséggel jár. Minden keresletbeli hiány átlagosan 10 euró veszteséget jelent. Határozzuk meg, hogy a Gunya Kft. hetente hány ruhát kell rendeljen ahhoz, hogy az összes rendelést teljesítse a lehet˝o legkevesebb többletköltség mellett. 12. Egy cip˝ogyár el˝orejelzése szerint a kereslet a következ˝o negyed évre így alakul: Hónap 1. 2. 3.
Cip˝ o 150 pár 190 pár 210 pár
Egy pár cip˝o elkészítése 5 euróba kerül rendes munkaid˝oben, túlórában pedig 7 euró. Minden hónapban legtöbb 180 cip˝ot képesek el˝oállítani rendes munkaid˝oben, túlórával pedig még 80-at. Ha egy pár cip˝o a raktárban marad, 1 euróba kerül a tárolása. A cip˝ogyár vezet˝osége a következ˝o célokat t˝uzte ki magának (a fontosság sorrendjeben): 1. cél teljes termelési költség legfeljebb 2800 euró legyen; 2. cél a havi raktárban maradt készlet ne haladja meg az 5 darabot.
176
7. Többcélú döntéshozatal
Írjuk fel azt a hierarchikus célprogramozási modellt, amely alapján meghatározhatjuk a negyed évi termelési tervet! 13. Egy asztali számítógépeket forgalmazó vállalkozáson belül a következ˝o divíziók vannak: beszerzés, összeszerelés és értékesítés. A divíziók profit centerként m˝ uködnek. Legyen a, b, c az egyes divíziók árrése százalékban. A vállalkozás alacsony-, közepes- és fels˝o árkategóriás gépeket forgalmaz, amelyek az alkatrészek min˝oségében különböznek. Ha minden divízió 10%-os árrést határoz meg, akkor a jelenlegi forgalom mellett, összvállalati szinten a következ˝o nyereségek valósulnak meg (géptípusra lebontva, ezer euró): AK KK FK
a 90 120 100
b 300 400 250
c 90 100 95
A vállalat megfelel˝o m˝uködése érdekében a következ˝o feltételeknek kell teljesülniük. A közepes árkategóriás gépeken megvalósított nyereség legalább 600 ezer euró kell legyen. A magas árkategóriájú gépeken megvalósított nyereség legalább 400 ezer euró kell legyen. A vállalat összes nyereségének nagyobbnak kell lennie mint 1.5 millió dollár. Az értékesítés árrése legalább 5%, maximum 10% kell legyen. A vállalat stratégiája a következ˝o célokat határozza meg: 1. cél Az alacsony árkategóriájú gépeken megvalósított nyereség legalább 400 ezer euró kell legyen; 2. cél Az összeszerelés nyeresége nem lehet nagyobb mint 800 ezer euró, adózási megfontolásokból; 3. cél Az értékesítés nyeresége legalább 300 ezer euró kell legyen. Mekkora árrés alkalmazását javasolja a fels˝o vezetés az egyes divízióknak, ha a célok prioritása: 1. cél ≥ 2. cél ≥ 3. cél, illetve ha 2. cél ≥ 1. cél ≥ 3. cél. 14. Csíkszereda polgármesterének ki kell dolgoznia a város adózási politikáját. Ötféle adót kell kivetni: Tulajdoni adó. Legyen p a tulajdoni adó százalékos mértéke. Fogyasztási adó, amelyet minden termékre kivetnek, kivéve az élelmiszereket, a gyógyszereket és a tartós fogyasztási cikkeket. Legyen s a kereskedelmi adó százalékos mértéke. A tartós fogyasztási cikkek adója. Jelölje d a tartós fogyasztási cikkek százalékos adókulcsát. A benzin fogyasztási adója. Jelölje g a benzin fogyasztási adójának százalékos mértékét. Az élelmiszerek és gyógyszerek fogyasztási adója. Jelölje f ezen termékek fogyasztási adókulcsát. A városban alacsony jövedelm˝u (AJ), közepes jövedelm˝u (KJ) és magas jövedelm˝u (MJ) emberek élnek. Az egyes jövedelmi csoportoktól az egyes adófajták 1%-os mérték˝ u kivetése révén beszedett összegek (millió euróban) a következ˝ok: AJ KJ MJ
p 90 120 100
s 30 40 25
d 12 10 6
g 3 2 1
f 9 6 4
7. Többcélú döntéshozatal
177
Ha tehát a tartós fogyasztási cikkekre 3%-os adót vetnek ki, akkor az alacsony jövedelm˝ u csoporttól 36 millió euró folyik be. Az adózási politikának a következ˝o feltételeket kell kielégítenie: A közepes jövedelm˝u csoporttól beszedett összeg nem haladhatja meg a 280 millió eurót. A magas jövedelm˝uek adóterhe nem haladhatja meg a 240 millió eurót. Az összes adóbevételnek meg kell haladnia a jelenlegi 650 millió eurós összeget. Az s értékének 1% és 3% között kell lennie. Mindezeket figyelembevéve a polgármester három célt jelöl meg: 1. cél A tulajdoni adó kulcsa legyen 3% alatt. 2. cél Az alacsony jövedelm˝uek adóterhét tartsuk 200 millió euró alatt. 3. cél Ha az adóteher túlságosan nagy, akkor az alacsony jövedelm˝ uek 20%-a, a közepes jövedelm˝uek 20%-a és a magas jövedelm˝uek 40%-a fontolóra veszi, hogy a küls˝o kerületekbe költözzön. Ennek a hatásnak az ellensúlyozására a küls˝o kerületek célja az, hogy a jelzett arányú népesség összes adóterhét 150 millió euró alatt tartsa. Alkalmazzuk a célprogramozás módszerét az optimális adópolitika kialakítására, miközben a polgármester céljainak prioritási kapcsolatai a következ˝ok: a. 2. cél ≥ 1. cél ≥ 3. cél. b. 1. cél ≥ 2. cél ≥ 3. cél. c. 3. cél ≥ 2. cél ≥ 1. cél. Van-e valami közös a három prioritási sorrend esetén kapott megoldásokban? 15. Egy vállalat az elkövetkez˝o 3 hónapban raktártér bérlésére kényszerül. Csak azt ismerik, mekkora raktárterületre lesz szükség az egyes hónapokban. Mivel azonban ezek az igények igencsak eltér˝oek, talán az lenne a legkifizet˝od˝obb, ha minden hónapra kibérelnék a megfelel˝o nagyságú területet. Másrészr˝ol viszont, egy terület bérletének egy további hónapra történ˝o meghosszabbítása az els˝o hónapi díjnál sokkal kisebb többletköltséggel jár, vagyis talán olcsóbb lenne a maximális területet kibérelni a teljes 3 hónapra. Egy közbüls˝o megoldás lehetne, ha id˝oközben legalább egyszer, megváltoztatnák a bérleti terület nagyságát (további területet bérelnének). Az egyes id˝oszakokra szükséges raktárterület nagysága ( m2 ) és a bérleti díjak a következ˝ok: Hónap 1 2 3
Szükséges terület 300 200 400
Bérleti id˝ oszak (hónap) 1 2 3
Bérleti díj (euró/m2 ) 65 100 135
A vállalat céljai fontossági sorrendben: 1. cél bérleti díj ne legyen több mint 45000 euró; 2. cél a raktári szükségletek biztosítása. Írjuk fel azt a hierarchikus célprogramozási modellt, amely alapján meghatározható egy hatékony bérlési terv. Tudva azt, hogy minden 45000 euró feletti bérleti díj 1 euró hiányt és minden négyzetméter bérleti terület hiánya 2 euró veszteséget jelent a vállalatnak, írjuk fel azt a nemhierarchikus lineáris programozási modellt. Mekkora lesz a vállalat minimális vesztesége.
8. fejezet Hierarchikus elemz˝ o módszer
Az el˝oz˝o fejezetben olyan problémákat tárgyaltunk, amikor a döntéshozó a lehetséges megoldások közül úgy választ, hogy azok mennyire elégítenek ki különböz˝o célokat. Ha a döntéshozónak egyszerre több cél is fontos, akkor a választás nem könny˝ u feladat. A Thomas 1 Saaty által kifejlesztett hierarchikus elemz˝o mószer (Analytic Hierarchy Process-AHP) egy jó lehet˝oség a többcélú feladatokat megoldani kívánó döntéshozó számára. 8.1. mintapélda (Házvásárlás). Egy átlagos jövedelm˝ u család, házat szeretne vásárolni. Döntése meghozatala el˝ott négy tényez˝ot mérlegel: 1. tényez˝ o: a ház mérete (négyzetméterben megadva); 2. tényez˝ o: általános feltételek (szükséges javítások, falak, tisztaság, tet˝o, víz és elektromos vezetékek); 3. tényez˝ o: a kert tágassága (els˝o, hátsó és, és a szomszédoktól való távolság); 4. tényez˝ o: finanszírozás (felvállalandó teher, banki finanszírozás). Három ház közöl választhat. Az “A” ház a három közül a legnagyobb. Habár az általános feltételek nem épp a legjobbak, kitakarításra és festésre szorul. A “B” és “C” ház kertjéhez viszonyítva aránylag nagyobb kertje van. A finanszírozása sem épp a legmegfelel˝obb mivel banki kölcsön szükséges hozzá elég magas kamatláb mellett. A “B” ház egy kicsit kisebb, mint az “A” ház. A kert elég kicsi és a ház nem rendelkezik modern berendezéssel. Másfel˝ol az általános feltételek elég jók. Elfogadható jelzálog szerezhet˝o, tehát elég jónak mondható a pénzügyi része. A “C” ház nagyon kicsi és kevés a modern felszerelése. Jó állapotban van, és biztonságosnak t˝unik. A kertje nagyobb, mint a “B” házé, de nem lehet összemérni az “A”-val. Finanszírozási szempontból jobb, mint “A”, de rosszabb, mint a “B”. Alkalmazva az AHP-t segítsünk a döntés meghozatalában. Megoldás. 1. lépés. Meghatározzuk a tényez˝ok fonossági sorrendjét. Ehhez elkészítjük az úgynevezett páros összehasonlítási mátrixot, amelynek ai,j elemei azt mutatják meg, hogy az i-edik cél hányszor fontosabb a j-edik célnál. A fontosságot az egész számokból álló 1-9-ig terjed˝o skálán mérjük, ahol az egyes számértékek jelentését az alábbi táblázat mutatja: 1
T. L. Saaty, The Analytic Hierarchy Process, McGraw-Hill (1980).
179
180
8. Hierarchikus elemz˝o módszer aij értéke 1 3 5 7 9 2, 4, 6, 8
Értelmezés Az i-edik cél és a j-edik cél egyformán fontos Az i-edik cél enyhén fontosabb a j-edik célnál Az i-edik cél fontosabb a j-edik célnál Az i-edik cél jóval fontosabb a j-edik célnál Az i-edik cél határozottan jóval fontosabb a j-edik célnál Közbees˝o értékek: például a 4 azt jelenti, hogy az i-edik cél valahol félúton enyhén fontosabb − fontosabb mint a j-edik cél
Tegyük fel, hogy a család összehasonlítja a tényez˝oket és az alábbi páros összehasonlítási mátrixot kapja: 1. 2. 3. 4.
1. 1 1/2 2 3
2. 2 1 3 4
3. 1/2 1/3 1 1
4. 1/3 1/4 1 1
A mátrix átlóján lev˝o elemekre aii = 1. Ha mondjuk a negyedik tényez˝o enyhén fontosabb mint az els˝o tényez˝o, azaz a41 = 3, akkor a következetesség (konzisztencia) biztosítása érdekében a14 = 13 . Általában is érvényes az aij · aji = 1 tulajdonság. Egy tökéletesen következetes döntéshozó páros összehasonlítási mátrixa az 1.
2.
w1 w1 w2 w1
w1 w2 w2 w2
... ... ... .. .
n.
1. 2. .. . n.
wn w1
wn w2
...
wn wn
.. .
.. .
alakba írható. Megmutatható, hogy az w1
w1 w2 w2 w2
... ... ...
w1 wn w2 wn
wn w1
wn w2
...
wn wn
w1
w2 w1 .. .
.. .
.. .
x1 x2 .. . xn
w1 wn w2 wn
.. .
= λ
x1 x2 .. . xn
egyenletrendszernek egyetlen nem nullától különböz˝o megoldása a λ = n és x = (w1 , w2 , ..., wn ) . Legyen A egy nem tökéletesen következetes döntéshozó páros összehasonlítási mátrixa. Jelöljük λmax -al azt a legnagyobb számot, amelyre az x1 x1 x2 x2 A .. = λ .. . . xn xn
egyenletrendszernek van (x1 , x2 , ..., xn ) = (0, 0, ..., 0) megoldása. Ha a döntéshozó összehasonlításai nem térnek el nagyon a tökéletes következetesség esetét˝ol, akkor azt várnánk, hogy
8. Hierarchikus elemz˝o módszer
181
a λmax közel legyen az n-hez és (x1 , x2 , ..., xn ) a (w1 , w2 , ..., wn )-hez. Saaty igazolta, hogy valóban ez a meglátás helyes. Ezért a döntéshozó következetességének mértékéül az n és λmax távolságát tekintjük. A következ˝okben bemutatjuk a λmax , az (x1 , x2 , ..., xn ) , valamint a következetesség kiszámítására alkalmazható eljárást. I. Normalizált páros összehasonlítási mátrix meghatározása. Kiszámoljuk minden oszlop összegét: 1
1. 2. 3. 4. Összeg
1 2
2 3 13/2
2 1 3 4 10
1 2 1 3
1 1 17/6
1 3 1 4
1 1 31/12
és minden oszlop elemeit elosztjuk az oszlop összegével: 2 1 3 4 Anorm
=
13 1 13 4 13 6 13
5 1 10 3 10 2 5
17 2 17 6 17 6 17
31 3 31 12 31 12 31
.
II. A λmax -hoz tartozó x = (x1 , x2 , ..., xn ) megoldások becslése. Az xi értékét nagyon jól közelíti az Anorm mátrix sora elemeinek a számtani középarányosa: x1 = x2 = x3 = x4 =
2 13 1 13 4 13 6 13
3 4 + 51 + 17 31 = 0.16483, 4 1 2 3 + 10 + 17 + 31 = 0.09785, 4 3 6 12 + 10 + 17 + 31 = 0.33693, 4 6 + 52 + 17 + 12 31 = 0.40039. 4
III. A következetesség ellen˝orzése. A. Számoljuk ki az AxT szorzatot. A mintapéldában ez 1 2 21 13 0.16483 0.66246 1 1 1 1 0.09785 2 3 4 0.39267 AxT = 2 3 1 1 0.33693 = 1.3605 3 4 1 1 0.40039 1.6232 B. Számítsuk a λ-át.
n
.
1 az AxT i-edik eleme λ = n i=1 az xT i-edik eleme 1 0.66246 0.39267 1.3605 1.6232 = + + + 4 0.16483 0.09785 0.33693 0.40039 = 4.031.
182
8. Hierarchikus elemz˝o módszer
C. A következetességi mutató (KM): λ−n n−1 4.031 − 4 = = 0.0103. 3
KM =
D. A következetességi mutató összehasonlítása a véletlenszer˝u következetességi mutatóval (VKM). Tekintünk egy olyan döntéshozót, aki teljesen véletlenszer˝uen tölti ki a páros összehasonlító táblázatot de úgy, hogy az átlón lév˝o elemek értékei 1 és aij · aji = 1. Kiszámoljuk erre a KM-et. Sokszor elvégezve ezt a számítást és átlagolva a KM értékeket kapjuk a véletlenszer˝u következetességi mutatót az VKM-et. Az alábbi táblázat az n különböz˝o értékeire megadja a VKM értékeit. n 2 3 4 5 6 7 8 9 10
VKM 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.51
(8.1)
Gyakorlatban a következetesség akkor tekinthet˝o elfogadhatónak, ha KM ≤ 0.1 V KM Ellenkez˝o esetben komoly következetlenségek léphetnek fel. Ekkor az AHP végeredménye megkérd˝ojelezhet˝o. A mintapéldában VKM = 0.0103 = 0.011 ≤ 0.1, vagyis a család célokat KM 0.9 összehasonlító mátrixa nem tartalmaz komoly következetlenségeket. Tehát a tényez˝ok súlyainak elfogadhatók az x elemei. Ezért T1 = 0.16483, T2 = 0.09785, T3 = 0.33693, T4 = 0.40039. Megállapítható, hogy a családnak a legfontosabb tényez˝o a finanszírozás, majd a kert tágassága, a ház mérete és legvégül az általános feltételek. 2. lépés. Most minden tényez˝o szempontjából összehasonlítsuk a választási lehet˝oségeket. Alkalmazzuk az 1. lépésben bemutatott módszert, összehasonlítva a házakat a tényez˝ok alapján. 1. tényez˝o. A ház nagysága. A leírtak alapján készíthet˝o a B1 páros összehasonlítási mátrix: A B C
A 1 1 3 1 5
B 3 1 1 3
C 5 3 1
2. tényez˝o. Általános feltételek. A leírtak alapján a B2 páros összehasonlítási mátrix:
8. Hierarchikus elemz˝o módszer
A B C
A 1 5 6
B
C
1 5
1 6 1 2
1 2
183
1
3. tényez˝o. A kert nagysága. A B3 páros összehasonlítási mátrix: A B C
A 1 1 7 1 5
B 7 1 3
C 5 1 3
1
4. tényez˝o. Finanszírozás. A B4 páros összehasonlítási mátrix: A B C
A 1 7 3
B
C
1 7
1 3
1 1 3
3 1
Hasonlóan, mint az A mátrixra a B1 , B2 , B3 és B4 mátrixokra itt is kiszámoljuk a következetességi mutatókat. A számításokat az Excel táblázatkezel˝o program segítségével végezzük. B1. Els˝o lépésként feltöltjük az Excel els˝o mez˝oit a B1 értékeivel: 1 2 3
A 1 0.3333 0.2
B 3 1 0.3333
C 5 3 1
majd összegezünk az oszlopok mentén: 1 2 3 4
A 1 0.3333 0.2 1.53333
B 3 1 0.3333 4.33333
C 5 3 1 9
Ezután a 4. sor elemeivel elosztjuk a megfelel˝o oszlop elemeit, az eredményt a 6 sortól kezd˝od˝oen írjuk, azaz az A4 mez˝obe beírjuk az "=A1/A$4" képletet és a + jellel széthúzzuk a mez˝ot az C8-as mez˝oig: 1 2 3 4 5 6 7 8
A 1 0.33333 0.2 1.53333
B 3 1 0.33333 4.33333
C 5 3 1 9
0.65217 0.21739 0.13043
0.69230 0.23076 0.07692
0.55555 0.33333 0.11111
184
8. Hierarchikus elemz˝o módszer
A 6., 7. és 8. sor elemeit átlagoljuk (AVERAGE) és az eredményt az E6 mez˝ot˝ol kezd˝od˝oen írjuk a táblába. Kapjuk 1 2 3 4 5 6 7 8
A 1 0.33333 0.2 1.53333
B 3 1 0.33333 4.33333
C 5 3 1 9
D
E
0.65217 0.21739 0.13043
0.69230 0.23076 0.07692
0.55555 0.33333 0.11111
x1 = x2 = x3 =
0.63336 0.26049 0.10615
Az x1 , x2 és x3 értékeit az E6, E7 illetve E8 mez˝okb˝ol olvashatjuk ki: x1 = 0.63336, x2 = 0.26049, x3 = 0.10615. A következetességi mutató kiszámításához szoroznunk kell az eredeti A1:C3 mátrixot az E6:E8 mátrixszal. Ennek érdekében válasszuk ki az E1 mez˝ot, és az MMULT függvény meghívása után az els˝o ablakba jelöljük ki az A1:C3, a másikba pedig az E6:E8 mátrixot. Kiszámítás után kijelöljük az E1:E3 mez˝oket, majd F2 funkcióbillenty˝u és a CTRL+SHIFT+ENTER billenty˝uk segítségével a szorzás eredményét megjelenítjük a kijelölt mez˝okben: 1 2 3 4 5 6 7 8
A 1 0.33333 0.2 1.53333
B 3 1 0.33333 4.33333
C 5 3 1 9
D
E 1.94562 0.79008 0.31965
0.65217 0.21739 0.13043
0.69230 0.23076 0.07692
0.55555 0.33333 0.11111
x1 = x2 = x3 =
0.63334 0.26049 0.10615
Ezek után elvégezzük az E1/E6, E2/E7 és E3/E8 osztásokat. Az eredményeket a G1:G3 mez˝okben jelenítjük meg: 1 2 3 4 5 6 7 8
A 1 0.33333 0.2 1.53333
B 3 1 0.33333 4.33333
C 5 3 1 9
D
E 1.94562 0.79008 0.31965
0.65217 0.21739 0.13043
0.69230 0.23076 0.07692
0.55555 0.33333 0.11111
x1 = x2 = x3 =
0.63334 0.26049 0.10615
F
G 3.07197 3.03296 3.01120
8. Hierarchikus elemz˝o módszer
185
A λ értékét megkapjuk, ha a G1:G3 oszlop elemeit összeadjuk és elosztjuk 3-mal. Ezt a G4 mez˝obe írjuk:
1 2 3 4 5 6 7 8
A 1 0.33333 0.2 1.53333
B 3 1 0.33333 4.33333
C 5 3 1 9
D
E 1.94562 0.79008 0.31965
0.65217 0.21739 0.13043
0.69230 0.23076 0.07692
0.55555 0.33333 0.11111
x1 = x2 = x3 =
F
λ=
G 3.07197 3.03296 3.01120 3.03871
0.63334 0.26049 0.10615
A következetességi mutatót a G5 mez˝oben számoljuk a (G4 − 3) /2 képlettel:
1 2 3 4 5 6 7 8
A 1 0.33333 0.2 1.53333
B 3 1 0.33333 4.33333
C 5 3 1 9
D
E 1.94562 0.79008 0.31965
0.65217 0.21739 0.13043
0.69230 0.23076 0.07692
0.55555 0.33333 0.11111
x1 = x2 = x3 =
F
λ= KM=
G 3.07197 3.03296 3.01120 3.03871 0.0193
0.63334 0.26049 0.10615
Háromszor hármas mátrixok esetén beírjuk a V KM = 0.58 az G6 mez˝obe, és kiszámoljuk a KM/VKM arányt a G7 mez˝oben:
1 2 3 4 5 6 7 8
A 1 0.33333 0.2 1.53333
B 3 1 0.33333 4.33333
C 5 3 1 9
D
0.65217 0.21739 0.13043
0.69230 0.23076 0.07692
0.55555 0.33333 0.11111
x1 = x2 = x3 =
E 1.94562 0.79008 0.31965
0.63334 0.26049 0.10615
F
λ= KM= VKM= KM/VKM=
G 3.07197 3.03296 3.01120 3.03871 0.0193 0.58 0.03337
Mivel KM/VKM<0.1 a család következtetése elfogadható. Az elkészített Excel tábla segítségével a B2 , B3 és B4 mátrixokra a súlyokat és a következetességi mutatót könnyen kiszámíthatjuk, csak az eredeti mátrixban az (A1:C3) mez˝oket kell kicserélni szerre a B2 , B3 és B4 -el. A súlyokat az E6:E8 mez˝okb˝ol olvashatjuk ki, a KM értékét és az összehasonlítást a G5 és G7 mez˝ok mutatják. A tényez˝ok szerint a házak összehasonlításának súlyait, következetességi mutatóit és a KM/VKM arányt az alábbi táblazat tartalmazza:
186
8. Hierarchikus elemz˝o módszer
A ház B ház C ház
x1 = x2 = x3 = KM = KM V KM = Tényez˝ok súlyai:
1. 0.63336 0.26049 0.10615 0.0193 0.03337 0.16483
Tényez˝ok 2. 3. 0.08195 0.72351 0.34305 0.08331 0.575 0.19318 0.014579 0.03290 0.02513 0.05674 0.09785 0.33693
4. 0.08821 0.66869 0.24310 0.00351 0.00606 0.40039
3. lépés. Válasszuk ezek után a legmagasabb összérték˝u ajánlatot. Az egyes ajánlatok összértéke a tényez˝ok súlyaival számított átlag:
Az "A" ház összértéke
A "B" ház összértéke
A "C" ház összértéke
= 0.63336 · 0.16483 + 0.08195 · 0.09785 + 0.72351 · 0.33693 + 0.08821 · 0.40039 = 0.39151, = 0.26049 · 0.16483 + 0.34305 · 0.09785 + 0.08331 · 0.33693 + 0.66869 · 0.40039 = 0.37231, = 0.10615 · 0.16483 + 0.575 · 0.09785 + 0.19318 · 0.33693 + 0.24310 · 0.40039 = 0.23618.
Az AHP alapján a családnak az "A" házat kell választania.
8.1.
Kit˝ uzött feladatok
1. Egy vizsgáztató tanárt a diákok tesztelni akarják, hogy elégé következetes-e az értékelésében, ezért négy névtelen dolgozatot adnak a tanárnak, hogy hasonlítsa össze ˝oket. A tanár páros összehasonlítási mátrixa: 1. 2. 3. 4.
1. 1 1 2 1 3 1 4
2. 2 1 1 3 1 2
3. 3 3 1 1 3
4. 4 2 3 1
Határozzuk meg a tanár következetességi mutatóját és hasonlítsuk össze ezt a véletlenszer˝ u következetességi mutatóval. 2. Tömeg alapján hasonlítsuk össze azt az öt ezüsttömböt, amelyek tömegei rendre: 5 kg, 1 kg, 8 kg, 2 kg, illetve 15 kg. Helyes összehasonlítás esetén mennyi lesz a következetességi mutató? Határozzuk meg a tömbök súlyértékeit. 3. Egy XII. diák el szeretné dönteni, hogy tanulmányait hol folytassa tovább. A SapientiaEMTE csíkszeredai (Cs) és marosvásárhelyi (Mv) karai közül szeretné kiválasztani a neki legjobban megfelel˝ot. Négy szempontot választ ki a döntése meghozatalához:
8. Hierarchikus elemz˝o módszer
1. 2. 3. 4.
tényez˝ o. tényez˝ o. tényez˝ o. tényez˝ o.
187
Szakok. Költség. Távolság. A kar légköre.
Az AHP módszer alapján a négy tényez˝ot összehasonlította és az alábbi páros összehasonlítási mátrixot kapja: 1. 1
1. 2. 3. 4.
1 5 1 7 1 8
2. 5 1
3. 7 4 1
1 4 1 6
4. 8 6 2 1
1 2
Ezután minden tényez˝o alapján a karokat is összehasonlította és preferenciáit a következ˝o táblázatban foglalta össze: Szakok Cs Mv
Cs 1 2
Mv 1 2
Cs 1
1
Költség Cs Mv
Távolság Cs Mv
Cs 1
Mv 5 1
Légkör Cs Mv
Cs 1
1 5
1 4
1 2
Mv 4 1 Mv 2 1
Határozzuk meg a páros összehasonlítási mátrixok következetességi mutatóit és ha elfogadhatóak, akkor tegyünk javaslatot a diák döntésére vonatkozóan! 4. Egy fels˝ofokú oktatási intézményben az oktatók fizetésemelését három területen elért teljesítmény alapján határozzák meg: oktatás, kutatás, adminisztratív teend˝ok. Az intézmény vezetése megállapította, hogy ezek a tényez˝ok mekkora fontossággal bírnak az egyetem akkreditációja szempontjából. Értékelésüket az alábbi páros összehasonlítási mátrixban foglalták össze . Oktatás Kutatás Admin
Oktatás 1 2
Kutatás
1 7
1 7
1 2
1
Admin. 7 7 1
A vezetés, hogy kipróbálja az AHP alkalmazását a fizetések megállapításánál, az el˝oz˝o évre vonatkozó önértékelési lapokban foglaltak alapján elkészítette két azonos oktatói fokozattal rendelkez˝o tanárjának a felsorolt tényez˝ok szerinti összehasonlítását. Az I. tanárt az eredményesebb kutatói tevékenység, a II. oktatót pedig a hatékonyabb oktatói és adminisztratív tevékenység jellemzi. Az értékeléseket az alábbi táblázatok tartalmazzák: Oktatás I II
I 1 3
II
Kutatás I II
1 3
1 Admin I II
I 1 3
II 1 3
1
I 1 1 5
II 5 1
188
8. Hierarchikus elemz˝o módszer
Ellen˝orizzük a páros összehasonlítási mátrixok következetességét! Az AHP alapján melyik oktató kell nagyobb fizetésemelésben részesüljön? 5. A Hallgatók névtelenül értékelik tanáraikat a következ˝o szempontok alapján: 1. tényez˝ o. Következetesség. 2. tényez˝ o. Érthet˝oség. 3. tényez˝ o. Pontosság. 4. tényez˝ o. Igazságosság. Az alábbi táblázat a felsorolt tényez˝ok páros összehasonlításait tartalmazza. 1. 1
1. 2. 3. 4.
2. 2 1
1 2 1 3
3. 3 5 1 7
1 5
2
4
4. 1 2 1 4 1 7
1
Az alábbi táblázatok a Döntéselméleti tanszék négy oktatójának, a négy tényez˝o szerinti páros összehasonlításait mutatják. 1. I II III IV
I 1
3. I II III IV
I 1 2 1 1
1 4 1 3 1 2
II 4 1 1 3 1 2
II 1 2
1 1 1
III 3 3 1 1
IV 2 2 1 1
2. I II III IV
I 1 5
II
1 4
1 3 1 5
III 1 1 1 1
IV 1 1 1 1
4. I II III IV
I 1
II 2 1 2 6
1
1 2
4 8
1 4
1
III 2 3 1 1 2
IV 1 5 2 1
III
IV
1 4 1 2
1 8 1 6 1 5
1 5
1
Ellen˝orizzük az összehasonlítások következetességét és határozzuk meg az oktatók sorrendjét. 6. Egy üzletbe két személy jelentkezik az elárusítói állásra. A két jelentkez˝o közül csak az egyiket alkalmazzák. Az üzletvezet˝o döntéseit befolyásoló szempontok fontossági sorrendben: megbízhatóság, küls˝o megjelenés, kommunikációs készség. Az alábbi páros összehasonlítási táblázatok mutatják az állásinterjú eredményeit. Megbizh. I II
I 1 1 5
II 5 1
Megjel. I II
Komm. I II
I 1
I 1 7
II 1 7
1
II 4 1
1 4
Az üzletvezet˝o melyik jelentkez˝ot fogja választani, ha a tényez˝okre vonatkozó páros összehasonlítási mátrixa: 1. 2. 3.
1. 1 1 2 1 3
2. 2 1 1 5
3. 3 5 1
8. Hierarchikus elemz˝o módszer
189
Vizsgáljuk meg az üzletvezet˝o következetességét is. 7. A gólyabálon a zs˝uri négy pár teljesítményét értékeli. Döntését befolyásoló szempontok fontossági sorrendben: leleményesség, ügyesség és megjelenés. Minden zs˝uritag ebb˝ol a három szempontból összehasonlítsa a négy pár teljesítményét. Az egyik zs˝uritag pontozólapján az alábbi páros összehasonlítási mátrixok találhatók: Lelm. I II III IV
I 1 1 2 1 3 1 3
II 2 1
III 3 3 1 1 2
IV 3 4 2 1
Megj. I II III IV
I 1 1 2 7
1 3 1 4
II 1 1 1 4
Ügyes. I II III IV
I 1 2 3 5
III
IV
1 2
1 7 1 4
1 1 1
II
III
IV
1 2
1 3 1 4
1 5 1 5
1 4 5
1 1
1 1
1 1
a. Következetes volt-e a zs˝uritag? b. Az alábbi táblázat a zs˝uri értékelését tartalmazza a tényez˝okre vonatkozóan: Lelm. Ügyes. Megj.
Lelm. 1 1 2 1 5
Ügyes. 2 1 1 2
Megj. 5 2 1
Határozzuk meg a tényez˝ok páros összehasonlítási mátrixának következetességét és adjuk meg az el˝oz˝o pontban bemutatott zs˝uritag által javasolt sorrendet. 8. A befektetési döntéseknél két tényez˝o: a várható megtérülés és a kockázat mértéke egyformán fontosnak számít. Egy cég két beruházás közül az egyiket szeretné megvalósítani, ezért elkészíti az alábbi páros összehasonlítási mátrixokat: Megtérülés I II
I 1 2
II 1 2
1
Kockázat I II
I 1
II 3 1
1 3
a. Hogyan rangsorolhatjuk a beruházásokat? b. Id˝oközben egy újabb beruházási lehet˝oség is számításba jön. A három beruházásra vonatkozó páros összehasonlítási táblázatok a következ˝ok: Megtérülés I II III
I 1 2
II
1 4
1 8
1 2
1
III 4 8 1
Kockázat I II III
I 1 1 3
2
II 3 1 6
III 1 2 1 6
1
Figyeljük meg, hogy az els˝o két beruházás egymás közötti páros összehasonlításai nem változtak. Mi lesz most a beruházások rangsora? Hasonlítsuk össze az eredményt az a. pontban kapottal.
190
8. Hierarchikus elemz˝o módszer
9. Egy vállalat új számítógépek beszerzésén gondolkodik. A beszerzend˝o számítógép három tulajdonságát tartják fontosnak, ezek: felhasználóbarát m˝uködés (1), szoftverek elérhet˝osége (2) és a költségek (3). Ezekre a tényez˝okre vonatkozóan a következ˝o páros összehasonlítási mátrixot dolgozták ki: 1. 2. 3.
1. 1 2
2.
1 4
1 5
1 2
1
3. 4 5 1
A vásárlásnál három számítógéptípus jöhet szóba. Az egyes típusoknak az egyes tényez˝okre vonatkozó páros összehasonlítási mátrixok: 1. I II III
I 1 1 3 1 5
II 3 1 1 2
III 5 2 1
3. I II III
I 1 2 7
2. I II III II
III
1 2
1 7 1 5
1 5
I 1 3 2
II
III
1 3
1 2
1 1 5
5 1
1
Ellen˝orizzük a páros összehasonlítási mátrixok következetességét. Melyik számítógéptípust kell megvásárolni? 10. Egy család nyári szabadságára készülve ki szeretné választani a számára legkedvez˝obb országot. A szempontjai: távolság (minél messzebb, annál jobb), a látnivalók és a költségek (minél olcsóbb, annál jobb). A lehetséges célországok: India, Olaszország és Egyiptom. A szempontok fontosságára vonatkozó adatok: a látnivalók 5-ször fontosabbak a távolságnál, a költségek 7-szer fontosabbak a távolságnál, a költségek 2-szer fontosabbak a látnivalóknál. Néhány utazási iroda ajánlatának tanulmányozása után megállapították, hogy az egyes alternatívák páros összehasonlításai a következ˝ok: Táv. India Olaszo. Egyipt.
India 1 1 6 1 4
Olaszo. 6 1 2
Egyipt. 4
Költs. India Olaszo. Egyipt.
India 1 7 3
Látv. India Olaszo. Egyipt.
1 2
1 Olaszo.
Egyipt.
1 7
1 3
1 1 2
India 1 2
Olaszo.
1 2
1 5
1 2
1
Egyipt. 2 5 1
2 1
Melyik országba utazzon a család? Írjuk fel az alternatívák rangsorát meghatározó súlyokat és határozzuk meg az összehasonlítások következetességét.
9. fejezet MEGOLDÁSOK, ÚTMUTATÁSOK
9.1.
Lineáris programozási feladatok
1. Matematikai modell:
z = 20x1 + 40x2 → max, 4x1 + 2x2 ≤ 240, 4x2 ≤ 160, 2x 1 + 3x2 ≤ 180, x1 + x2 ≤ 100, x1 , x2 ∈ N.
A maximális árbevételt biztosító termelési programot akkor érhetjük el, ha 30 darab terméket állítanak el˝o az els˝o termékb˝ol, 40 pedig a másodikból. Árnyékárak: (0, 2.5, 10, 0). A második és a harmadik er˝oforrások kapacitási feltételei az éles feltételek. 2. Matematikai modell:
z = 180x1 + 160x2 → min, 6x1 + x2 ≥ 12, 3x1 + x2 ≥ 8, 4x1 + 6x2 ≥ 24, x1 , x2 ∈ N.
Heti 2 illetve 3 napot kell dolgozni az egyes bányákban, hogy minimális költség mellett a tervet teljesíteni tudják. 3. Matematikai modell:
z = 2x1 + 2.5x2 → min, 0.15x1 + 0.24x2 ≥ 0.024, 0.24x1 + 0.24x2 ≥ 0.036 0.04x1 + 0.02x2 ≥ 0.004 x1 + x2 ≤ 0.5, x1 , x2 ≥ 0.
A nyulak etetését akkor tudjuk minimális költség mellett elérni, ha naponta 133 grammot adunk nekik az els˝o takarmányból és 16.7 grammot a másodikból. 191
192
9. MEGOLDÁSOK, ÚTMUTATÁSOK
4. A primál és duál matematikai modellek: w = 90y1 + 80y2 + 50y3 → min, z = 2x1 + 3x2 + 2x3 + 2x4 → max, y1 + y3 ≥ 2, x1 + 2x2 + x4 ≤ 90, 2y1 + y2 + y3 ≥ 3, x2 + x3 + x4 ≤ 80, , y2 + y3 ≥ 2, x1 + x2 + x3 ≤ 50, y1 + y2 ≥ 2, x1 , x2 , x3 , x4 ∈ N. y1 , y2 , y3 ∈ N.
A primál feladat optimális megoldása: (30, 0, 20, 60). A duál feladat optimális megoldása: (1, 1, 1) . 5. Matematikai modell:
z = x1 + 5x2 + 6x3 → max, 10x1 + 12x2 + 15x3 ≤ 480, 2x1 + 3x2 + 4x3 ≤ 200, x1 , x2 , x3 ≥ 10, x1 , x2 , x3 ∈ N.
A maximális nettó jövedelem a robotjátékok eladása után 165 lej. Az árnyékárak (2, 83). 6. Matematikai modellek, maláta-lik˝or gyártásával illetve nélküle. Maláta-lik˝ or gyártása nélkül z = 45x1 + 50x2 → max, x1 + 2x2 ≤ 4000, x1 + x2 ≤ 2000, , 2x1 + x2 ≤ 5000, x1 , x2 ∈ N.
or gyártásával Maláta-lik˝ z = 45x1 + 50x2 + 60x3 → max, x1 + 2x2 + 0.5x3 ≤ 4000, x1 + x2 + 3x3 ≤ 2000, . 2x1 + x2 + 3x3 ≤ 5000, x1 , x2 , x3 ∈ N.
A maximális bevételek mind a két esetben 100000, amelyet akkor kapunk, ha csak barna sört gyártunk, tehát nincs értelme bevezetni a maláta lik˝or gyártását. 7. Csak a második terv valósítható meg az els˝o terv esetében a második feltétel nem teljesül. Az egyes termékek el˝oállítási költségei rendre: 76, 104, 67, 55. Matematikai modell: z = 24x1 + 46x2 + 13x3 + 15x4 → max, 2x1 + 3x2 + 2x4 ≤ 2000, x1 + 2x2 + 4x3 + x4 ≤ 1900, 3x1 + 2x2 + x3 ≤ 1250, x1 , x2 , x3 , x4 ∈ N. A maximális nyereséget biztosító termelési program: t = (0, 3, 1, 5).
8. Matematikai modell:
z = 260x1 + 350x2 → max, 0.8x1 + x2 ≤ 98, 0.6x1 + 0.7x2 ≤ 73, 2x1 + 3x2 ≤ 260, x1 ≥ 88, x2 ≤ 26, x1 , x2 ∈ N.
9. MEGOLDÁSOK, ÚTMUTATÁSOK
193
A cég 90 személygépkocsi és 26 teherautó gyártása mellett éri el a maximális profitot. Ha a személygépkocsi gyártásából származó nyereség 310 euró, akkor a profit 900 euróval növekedne. Egy újabb 1. típusú gép bérléséért legfeljebb egy személygépkocsi árából származó nyereséget érdemes fizetni, mivel ezáltal eggyel több személygépkocsit tudnánk gyártani. 9. Matematikai modell:
z = 12x1 + 8x2 + 10x3 → max, 15x1 + 10x2 + 8x3 ≤ 18000, 15x1 + 15x2 + 4x3 ≤ 18000, 3x1 + 4x2 + 2x3 ≤ 9000, x2 ≥ 1000, x1 , x2 , x3 ∈ N.
A maximális haszon 15500 euró, amelyet a (0, 1000, 750).termelési terv mellett lehet elérni. +10 perc mintázási kapacitás mellett még két spirál mintás abroszt lehet elkészíteni. Ha a rombusz mintás abroszokra vonatkozó korlátot 100-zal növeljük, a cég bevétele csökken. 10. Matematikai modell:
z = 0.4x1 + 0.6x2 → max, x2 − 2x1 ≥ 0, x2 ≤ 6400000, x1 ≥ 3000000, x1 , x2 ≥ 0.
A bevétel akkor lesz maximális, ha gázolajból 3200000 litert míg benzinb˝ol 6400000 litert állítanak el˝o. 11. Matematikai modell:
z = 30x1 + 10x2 → max, 6x1 + 3x2 ≤ 40, x1 ≥ 3x2 , 4x1 + x2 ≤ 18, x1 , x2 ∈ N.
Az ács 2 asztalt és 9 széket kell elkészítenie, hogy a hasznát maximalizálja. 12. Matematikai modell:
z = 20x1 + 23x2 + 14x3 − 1400 → max, x1 + x2 + x3 ≤ 600, x1 ≤ 250, x2 ≤ 200, x3 ≤ 250, x1 , x2 , x3 ∈ N.
A kiadó maximális profit melletti termelési terve: (250, 200, 150). 13. Matematikai modell:
z = 22x1 + 12x2 → max, 0.52 · 3x1 + 0.38 · 2x2 ≤ 480, 0.48 · 3x1 + 0.62 · 2x2 ≤ 720, x1 , x2 ∈ N.
194
9. MEGOLDÁSOK, ÚTMUTATÁSOK
Maximális profitot 57 Kasszandra és 514 Kleopátra baba gyártása mellett lehet elérni. 14. Matematikai modell: z = 0.2x1 + 0.3x2 + 0.5x3 + 0.1x4 → max, 0.5x1 + x2 + 1.5x3 + 0.1x4 ≤ 3.1, 0.3x1 + 0.8x2 + 1.5x3 + 0.4x4 ≤ 2.5, 0.2x1 + 0.2x2 + 0.3x3 + 0.1x4 ≤ 0.4, x1 , x2 , x3 , x4 ∈ {0, 1} .
A 3. és 4. projekteket kell választani. 15. Matematikai modell:
z = 0.75x1 + 1.33x2 → max, x1 + x2 ≤ 5000, 90x1 + 200x2 ≤ 720000, x1 , x2 ≥ 0.
A maximális várható profit 5174 euró. Mind a két feltétel éles. 16. Matematikai modell:
z = 2775x1 + 780x2 + 457.5x3 → max, 13000x1 ≥ 500000, 14000x2 ≥ 500000, 2500x3 ≥ 500000, 13000x + 14000x 1 2 + 2500x3 ≤ 5000000, x2 ≤ 100, x1 , x2 , x3 ≥ 0.
A maximális elvárt hozam 973203.8 euró. Az árnyékárak (0, 0.1577, 0.0305, 0.2135, 0).
17. Matematikai modell: z = 0.14x1 + 0.09x2 + 0.11x3 + 0.14x4 → max, x1 + x2 + x3 + x4 = 1000000, 0.05x1 + 0.06x2 + 0.08x3 + 0.09x4 ≥ 60000, 2x1 + 5x2 + 6x3 + 8x4 ≤ 6000000, x1 , x2 , x3 , x4 ≤ 300000, x1 , x2 , x3 , x4 ≥ 0.
A befektetés maximális várható nyeresége 126000. Az éles feltételek a harmadik követelménynél jönnek be, amely kimondja, hogy egyféle kötvénybe, legfeljebb a teljes összeg 30%-a fektethet˝o be. Egyedül a második kötvénybe fektethetünk volna több pénzt.
18. Matematikai modell:
z = 1000x1 + 1230x2 → max, x1 + x2 ≤ 50, 2300x1 ≤ 30000, 1800x2 ≤ 25000, 2.5x1 + 3.5x2 ≤ 400, x1 , x2 ≥ 0.
9. MEGOLDÁSOK, ÚTMUTATÁSOK
195
A gazda maximális nyeresége 30126.81 euró. Nem érdemes fizetni sem +1 munkaóráért sem +1 hold bérléséért, mivel ezen feltételek nem élesek, a búza illetve zab utáni keresett az ami a gazda hasznát meghatározza. Ha a búza ára visszaesik 0.3-ra, akkor a maximális haszon 24126.81 euróra esik vissza. 19. Matematikai modell: z = x1 + x2 + x3 + x4 + x5 + x6 → min, x1 + x6 ≥ 14, x 1 + x2 ≥ 13, x2 + x3 ≥ 18, x3 + x4 ≥ 15, x4 + x5 ≥ 17, x5 + x6 ≥ 10, x1 , x2 , x3 , x4 , x5 , x6 ∈ N.
Legkevesebb 19 rend˝or alkalmazására lesz szükség.
20. Matematikai modell: z = x1 + x2 + x3 + x4 + x5 + x6 + x7 → min, x1 + x4 + x5 + x6 + x7 ≥ 14, x1 + x2 + x5 + x6 + x7 ≥ 13, x1 + x2 + x3 + x6 + x7 ≥ 18, x1 + x2 + x3 + x4 + x7 ≥ 15, x1 + x2 + x3 + x4 + x5 ≥ 17, x2 + x3 + x4 + x5 + x6 ≥ 10, x3 + x4 + x5 + x6 + x7 ≥ 12, x1 , x2 , x3 , x4 , x5 , x6 , x7 ∈ N.
A legkevesebb teljes munkaid˝os alkalmazottak száma 21, ezt a következ˝o munkálatba állítási tervvel érhetjük el: (9, 0, 5, 0, 3, 2, 2). A szerdai, pénteki, szombati és vasárnapi szükségletek befolyásolják legjobban az összmunkaer˝o szükségletet.
21. Matematikai modell: z = 300x1 + 325x2 + 360x3 + 360x4 + 360x5 + 360x6 + 335x7 → min, x1 + x4 + x5 + x6 + x7 ≥ 20, x1 + x2 + x5 + x6 + x7 ≥ 18, x1 + x2 + x3 + x6 + x7 ≥ 16, x1 + x2 + x3 + x4 + x7 ≥ 12, x1 + x2 + x3 + x4 + x5 ≥ 10, x2 + x3 + x4 + x5 + x6 ≥ 13, x3 + x4 + x5 + x6 + x7 ≥ 20, x1 , x2 , x3 , x4 , x5 , x6 , x7 ∈ N.
A minimális bérköltség 7625 lej, ezt a következ˝o munkába állítási tervvel valósítható meg: (2, 0, 2, 1, 5, 5, 7).
196
9. MEGOLDÁSOK, ÚTMUTATÁSOK
22. Matematikai modell: z = 0.3x11 + 0.3x12 + 0.3x13 + 0.5x21 + 0.5x22 + 0.5x32 + 0.2x44 → max, x11 + x21 ≤ 10000, x12 + x22 + x32 + x11 + x21 ≤ 10000, x + x12 + x22 + x32 − 0.3x11 + x21 ≤ 10000, 13 x44 + x13 − 0.3x12 + x22 + x32 − 0.3x11 − 0.5x21 ≤ 10000, x11 , x12 , x13 , x21 , x22 , x32 , x44 ≥ 0.
ahol x11 , x12 , x13 az A lehet˝oségbe befektetett összegek az els˝o, második illetve harmadik év elején, x21 , x22 a B lehet˝oségbe befektetett pénzösszeg az els˝o és második év elején, x32 , x44 a C illetve D lehet˝oségekbe lekötött pénzek a második illetve a negyedik év elején. Az ajánlott befektetési terv: (0, 0, 0, 10000, 0, 0, 15000) azaz az els˝o év elején a B lehet˝oségbe kell befektesse az összes pénzét a befektet˝o, majd a negyedik év elején a jövedelemmel együtt a D lehet˝oségbe.
23. Matematikai modell: z = 187.5x1 + 180x2 + 172.5x3 + 165x4 + 157.5x5 + 150x6 − 77500 → min, x1 ≥ 3000, x 2 + x1 ≥ 9000, x3 + x2 + x1 ≥ 15500, x4 + x3 + x2 + x1 ≥ 22500, x5 + x4 + x3 + x2 + x1 ≥ 27500, x6 + x5 + x4 + x3 + x2 + x1 ≥ 35000, x1 , x2 , x3 , x4 , x5 , x6 ≤ 6000, x1 , x2 , x3 , x4 , x5 , x6 ≥ 0.
Minimális költség eléréséhez a cég az els˝o hónapban 5000, a többi hónapokban meg 6000 hl vizet kell palackozzon.
24. Matematikai modell: z = 3x1 + 2x2 + 2x3 + x4 + 2x5 + 3x6 + x7 → max, x1 + x2 + x3 + x4 + x5 + x6 + x7 = 5, x1 + x3 + x5 + x7 ≥ 3, x3 + x4 + x5 + x6 + x7 ≥ 2, x2 + x4 + x6 ≥ 1, 3x1 + 2x2 + 2x3 + x4 + x5 + 3x6 + 3x7 ≥ 10, 3x1 + x2 + 3x3 + 3x4 + 3x5 + x6 + 2x7 ≥ 10, x1 + 3x2 + 2x3 + 3x4 + x5 + 2x6 + 2x7 ≥ 10, x3 + x6 ≤ 1, x1 − x4 ≤ 0, x1 − x5 ≤ 0, x2 + x3 ≥ 1, x1 , x2 , x3 , x4 , x5 , x6 , x7 ∈ {0, 1} .
A kezd˝o csapatban az els˝o, második, negyedik, ötödik és hetedik játékosok kell kezdjenek, ekkor a csapat védekezési képességének átlaga 1,8.
9. MEGOLDÁSOK, ÚTMUTATÁSOK
197
25. Matematikai modell: z = 10x1 + 15x2 + 22x3 + 17x4 → max, x1 − 0.9x4 ≥ 0, x1 − 1.15x4 ≤ 0, 2x + 2x + x3 + x4 + u1 − u2 ≤ 160, 1 2 2x1 + 2x2 + x3 + 2x4 + u2 − u3 ≤ 200, 3x1 + 6x2 + x3 + 5x4 + u3 − u1 ≤ 80, x1 ≤ 50, x2 ≤ 60, x3 ≤ 85, x4 ≤ 70, u1 ≤ 48, u2 ≤ 40, u3 ≤ 8, x1 , x2 , x3 , x4 , u1 , u2 , u3 ∈ N.
ahol az u1 , u2 , u3 változók adják meg, hogy az egyes részlegek hány munkaórát adnak át egy másik részlegnek. Maximális profitot akkor szerezhet a cég, ha 5, 5 pár cip˝ot készít az els˝o és a negyedik fajta cip˝ob˝ol, 85 párat a másodikból, és a harmadik fajta lábbelit nem gyártja. Ebben az esetben az els˝o részleg 45 munkaórát át kell adjon a hármas részlegnek. 26. Matematikai modell: z = 40x11 + 40x12 + 40x13 + 20x21 + 20x22 + 20x23 → max, x11 + x21 ≤ 90, x12 + x22 ≤ 30, x13 + x23 ≤ 45, 0.85x12 − 0.15x11 − 0.15x13 ≥ 0, 0.75x22 − 0.25x21 − 0.25x23 ≥ 0, 0.7x23 − 0.3x21 − 0.3x22 ≥ 0, x11 , x12 , x13 , x21 , x22 , x23 ≥ 0.
A maximális bevétel: 6600 cent. Csak csokoládé gyártásával kapjuk meg a maximumot. 27. Matematikai modell: z = 3x1 + 5x2 → min, 0.3x1 + 0.35x2 ≤ 5, 2x1 + 5x2 ≥ 25, x1 + x2 = 10, x1 , x2 ≥ 0.
A minimális költséget biztosító termelési programot akkor érhetnek el, ha minden 10 üdít˝oital 8.33 deka ízesítettet-szódából és 1.66 deka almaléb˝ol állítják el˝o.
28. Matematikai modell: z = 60x11 + 58x12 + 20x21 + 18x22 → max, x11 + x21 ≤ 800000, x12 + x22 ≤ 600000, 0.52x 12 − 0.48x11 ≥ 0, 0.6x21 − 0.4x22 ≥ 0, x11 , x12 , x21 , x22 ≥ 0.
A maximális bevétel 82.8 millió. Az árnyékárak: (60, 58, 0, 0) azt mutatják meg, hogy ha a szilíciumot el akarná adni, akkor legalább 60 euró/kg árat, a nitrogénért pedig legalább 58 euró/kg árat kell kérjen, hogy a bevétele legalább a jelenlegi 82.8 milliós szinten maradjon.
198
9. MEGOLDÁSOK, ÚTMUTATÁSOK
29. Matematikai modell: z = 610x11 + 655x12 + 720x21 + 765x22 + 780x31 + 850x32 → max, x11 + x12 ≤ 20, x21 + x22 ≤ 31, x31 + x32 ≤ 42, x11 + x21 + x31 ≤ 46, x12 + x22 + x32 ≤ 56, x11 , x12 , x13 , x21 , x22 , x23 ≥ 0.
A maximális profit felvásárlási és szállítási terve: az összes almát fel kell vásárolni, az els˝o fajtát mind az els˝o raktárhoz kell szállítani, a második fajtából 17 tonnát az els˝o, 14 tonnát a második raktárba kell vitetni, a harmadik fajta almát mind a második feldolgozási helyre kell szállítani. Az árnyékárak (610, 720, 805, 0, 45). Az els˝o három érték azt mutatja meg, ha az egyes almafajtákat eladná, akkor annak ára legalább (610, 720, 805) euró/tonna, az utolsó érték pedig, hogy ha a raktárát kiadná, akkor annak ára legalább 45 euró/tonna kell legyen ahhoz, hogy a nyeresége a jelenlegi szinten maradjon.
30. Matematikai modell: z = 10x11 + 8x12 + 6x13 + 1821 + 20x22 + 15x23 +15x31 + 16x32 + 13x33 → max, 5x11 + 6x21 + 13x31 ≤ 2100, 7x12 + 12x22 + 14x32 ≤ 2100, 4x13 + 8x23 + 9x33 ≤ 2100, x11 + x12 + x13 ≥ 100, x21 + x22 + x23 ≥ 150, x 31 + x32 + x33 ≥ 100, x11 , x12 , x13 , x21 , x22 , x23 , x31 , x32 , x33 ∈ N.
A legnagyobb profitot akkor kapjuk, ha az els˝o vezérl˝ob˝ol csak a harmadik részlegben gyártanak 100 darabot, a második vezérl˝ob˝ol mindegyik részlegen gyártanak rendre 350, 175, illetve 100 darabot, míg a harmadik vezérl˝ob˝ol ugyancsak a harmadik részlegen gyártanak 100 darabot.
31. Matematikai modell: z = 6x11 + 5x12 + 8x13 + 7x21 + 6x22 + 7x23 + +2x 31 + 5x32 + 3x33 + 8x41 + 4x42 + 7x43 → min, x11 + x12 + x13 ≤ 70, x21 + x22 + x23 = 60, x 31 + x32 + x33 ≤ 70, x41 + x42 + x43 ≤ 20, x11 + x21 + x31 + x41 ≥ 80, x12 + x22 + x32 + x42 ≥ 70, x13 + x23 + x33 + x43 ≥ 40, x13 = 0, x32 = 0, x11 = 40, x11 , x12 , x13 , x21 , x22 , x23 , x31 , x32 , x33 , x41 , x42 , x43 ∈ N.
9. MEGOLDÁSOK, ÚTMUTATÁSOK
Az optimális megoldás:
199
40 20 0 0 50 10 40 0 30 . 0 0 0
32. Matematikai modell: z = 10.5x11 + 7x21 + 9.5x31 + 9x41 +12.5x 12 + 9x22 + 11.5x32 + 11x42 − 945 → min, x11 + x12 ≥ 115, x21 + x22 + x11 + x12 ≥ 195, x31 + x32 + x21 + x22 + x11 + x12 ≥ 320, x41 + x42 + x31 + x32 + x21 + x22 + x11 + x12 ≥ 515, x11 + x12 ≤ 185, x21 + x22 + x11 + x12 ≤ 265, x31 + x32 + x21 + x22 + x11 + x12 ≤ 390, x11 , x21 , x31 , x41 ≤ 100, x11 , x21 , x31 , x41 , x12 , x22 , x32 , x42 ∈ N.
ahol x11 , x21 , x31 , x41 normál m˝uködés mellett el˝oállított egységek az egyes hónapokban, az x12 , x22 , x32 , x42 túlórával el˝oállított egységek. Minimális költség eléréséhez a cég a következ˝o termelési tervet kell kövesse: (100, 100, 100, 100, 15, 50, 0, 50) .
33. Matematikai modell: z = 450x11 + 150x12 + 350x13 + 250x14 + 300x21 + 200x23 + 100x24 + 200x31 − 100x32 + 100x33 → max, x11 + x21 + x31 ≤ 3000, x12 + x22 + x32 ≤ 2000, x13 + x23 + x33 ≤ 4000, x14 + x24 + x34 ≤ 1000, 0.7x11 − 0.3x12 − 0.3x13 − 0.3x14 ≤ 0 0.6x12 − 0.4x11 − 0.4x13 − 0.4x14 ≥ 0 0.5x13 − 0.5x12 − 0.5x11 − 0.5x14 ≤ 0 0.5x21 − 0.5x22 − 0.5x23 − 0.5x24 ≤ 0 0.9x22 − 0.1x21 − 0.1x23 − 0.1x24 ≥ 0 0.3x31 − 0.7x32 − 0.7x33 − 0.7x34 ≤ 0 x31 + x32 + x33 + x34 ≥ 3000 x11 , x12 , x13 , x14 , x21 , x22 , x23 , x24 , x31 , x32 , x33 , x34 ≥ 0. A maximális jövedelmet biztosító termelési program: 0 1733 1600 1000 900 267 1500 0 . 2100 0 900 0
200
9. MEGOLDÁSOK, ÚTMUTATÁSOK
34. Matematikai modell: z = 2.5x11 − 0.5x12 + 1.5x13 + 0.5x14 + 1.5x21 − 1.5x22 + 0.5x23 − 0.5x24 + 0.5x31 − 2.5x32 − 0.5x33 − 1.5x34 → max, x11 + x21 + x31 ≤ 3000, x12 + x22 + x32 ≤ 2000, x13 + x23 + x33 ≤ 4000, x14 + x24 + x34 ≤ 1000, 0.7x11 − 0.3x12 − 0.3x13 − 0.3x14 ≤ 0 0.6x12 − 0.4x11 − 0.4x13 − 0.4x14 ≥ 0 0.5x13 − 0.5x12 − 0.5x11 − 0.5x14 ≤ 0 0.5x21 − 0.5x22 − 0.5x23 − 0.5x24 ≤ 0 0.9x22 − 0.1x21 − 0.1x23 − 0.1x24 ≥ 0 0.3x31 − 0.7x32 − 0.7x33 − 0.7x34 ≤ 0 x11 , x12 , x13 , x14 , x21 , x22 , x23 , x24 , x31 , x32 , x33 , x34 ≥ 0.
Maximális heti hasznot akkor érnek el ha az els˝o termékb˝ol 3667kg-ot állítanak el˝o (367, 1467, 1833, 0) összetétel mellett, a második termékb˝ol 5333kg-ot (2633, 533, 2167, 0) összetétel mellett, míg a harmadik termék gyártásáról lemondanak. 35. Matematikai modell:
z = 350x11 + 350x12 + 350x13 + 300x21 + 300x22 + 300x23 +400x31 + 400x32 + 400x33 + 300x41 + 300x42 + 300x43 +250x51 + 250x52 + 250x53 → max, x11 + x12 + x13 ≤ 12, x21 + x22 + x23 ≤ 16, x31 + x32 + x33 ≤ 20, x41 + x42 + x43 ≤ 13, x51 + x52 + x53 ≤ 8, x11 + x21 + x31 + x41 + x51 ≤ 10, x12 + x22 + x32 + x42 + x52 ≤ 13, x13 + x23 + x33 + x43 + x53 ≤ 8, 37.5x11 + 31.25x21 + 32.5x31 + 23.08x41 + 50x51 ≤ 5000, 37.5x12 + 31.25x22 + 32.5x32 + 23.08x42 + 50x52 ≤ 8000, 37.5x13 + 31.25x23 + 32.5x33 + 23.08x43 + 50x53 ≤ 4000, x11 , x12 , x13 , x21 , x22 , x23 , x31 , x32 , x33 , x41 , x42 , x43 , x51 , x52 , x53 ≥ 0.
A legnagyobb profitot akkor kapjuk, ha az els˝o rakodótérbe az els˝o rakományból 3 tonnát a harmadik rakományból 7 tonnát teszünk, a középs˝o rakodótérbe a harmadik rakományból rakunk 13 tonnát, a hátsó rakodótérbe pedig az els˝o rakományból teszünk 8 tonnát. A legnagyobb profitot jelent˝o rakományt a középs˝o rakodótérben szállítja a repül˝ogép.
9. MEGOLDÁSOK, ÚTMUTATÁSOK
9.2.
201
Szállítási és hozzárendelési feladatok R1 0 6 0
1. feladat F1 F2 F3 R1 0 3
3. feladat F1 F2
R2 0 8 0
R2 3 1
5. feladat Eladói csekk Fizetési csekk Személyi csekk
R3 0 0 5
R4 3 4 4
2. feladat I II III
R3 2 0
4. feladat 1. földterület 2. földterület
1. helyszín 0 5000 5000
2. helyszín 5000 0 0
A 3 0 1
Ervin 20000 20000
B 0 2 1
C 2 0 0
D 0 1 0
Barna 0 80000
Péter 80000 0
6. feladat Szállítási költségek 1. 2. 3. 4. 5. 125 190 89 175 131
7. feladat
A körzet B körzet
F1 F2 F3 F4
A körzet C1 C2 200 0 0 0 0 200 0 200
B körzet C3 C4 C5 100 0 0 0 300 0 0 0 0 0 0 200
A körzet B körzet
F1 F2 F3 F4
A körzet C1 C2 200 100 0 300 0 0 0 0
B C3 0 0 0 100
körzet C4 C5 0 0 0 0 200 0 100 200
A minimális szállítási költség 11700-ról 12000-ra növekedik. Elárusítóhelyek A1 A2 A3 A4 0 0 400 0 300 0 0 0 0 200 0 250
8. feladat Elosztók E1 E2 E3
9. feladat Bázisok B1 B2 B3 B4
Építési munkálatok E1 E2 E3 E4 E5 25 30 45 0 0 0 0 0 70 0 15 0 0 30 0 0 0 0 0 60
10. feladat F1 F2 F3
R1 20 0 0
11. feladat 1. raktár 2. raktár fiktív raktár
R2 0 0 20
R3 0 5 30
1. vev˝ o 0 30 0
13. feladat 1. takarítón˝o 2. takarítón˝o 3. takarítón˝o 4. takarítón˝o
R4 20 25 0
Igen.
2. vev˝ o 30 0 0
3. vev˝ o 10 0 20
porszivózás X
feltörlés X -
F1 F2 F3
R1 16 0 4
R2 0 0 20
R3 0 9 26
12. feladat G1 G2 G3 fiktív raktár fürd˝ oszoba X -
R4 24 21 0 T1 0 0 35 10
T2 0 30 0 0
rendrakás X -
T3 20 0 0 5
202
9. MEGOLDÁSOK, ÚTMUTATÁSOK 1 hely X -
14. feladat 1. autó 2. autó 3. autó 4. autó 5. autó 15. feladat 1. munka 2. munka 3. munka 4. munka 5. munka
A gép X -
2 hely X B gép X -
3 hely X -
C gép X -
D gép X -
4 hely X E gép X
16. feladat Legjobb húzás A B C D
Tétel I. II. - - - X X -
III. X -
IV. -
V. X -
Rossz húzás A B C D
VI. -
Tétel I. II. - - - - X
III. X -
IV. X -
V. -
VI. X -
A legszerencsésebb húzás esetén a hallgatók osztályzatának átlaga 8.75. Lehetséges, hogy minden hallgató azt a tételt húzza, amelyb˝ol a legjobban felkészült A legszerencsétlenebb húzás esetén az egyik hallgató 4-est kap. 17. feladat 1. személy 2. személy 3. személy 4. személy 5. személy
1. munka X 18. feladat T1 T2 T3 T4
2. munka X C1 X -
C2 X -
3. munka X C3 X -
4. munka X -
C4 X
Matematikai modell: z = 3x11 + 6x12 + 7x13 + 10x14 + 5x21 + 6x22 + 3x23 + 8x24 +2x31 + 8x32 + 4x33 + 16x34 + 4x41 + 7x42 + 5x43 + 9x44 → min, x11 + x12 + x13 + x14 ≤ 1, x21 + x22 + x23 + x24 ≤ 1, x31 + x32 + x33 + x34 ≤ 1, x41 + x42 + x43 + x44 ≤ 1, x11 + x21 + x31 + x41 ≥ 1, x12 + x22 + x32 + x42 ≥ 1, x13 + x23 + x33 + x43 ≥ 1, x14 + x24 + x34 + x44 ≥ 1, x11 , x12 , x13 , x14 , x21 , x22 , x23 , x24 , x31 , x32 , x33 , x34 , x41 , x42 , x43 , x44 ∈ {0, 1} .
9. MEGOLDÁSOK, ÚTMUTATÁSOK 19. feladat Cs S T O 20. feladat Kászon Csernáton Kézdivásárhely Csíkszereda
Kézdivásárhely 120 10 -
21. feladat Telephelyek, raktárok T1 T2 T3 R1 R2 R3
9.3.
T 800 200 -
R1 5 0 0 -
O 0 1000 -
Sz 800 0
Csíkszereda 200 -
Gy 200 400
203
K 0 600
Brassó 270 20 -
Marosvásárhely 110 200
Raktárok, megrendel˝ ok R2 R3 M1 M2 M3 M4 0 3 5 0 0 3 0 0 0 5 0 2 3 0 4 0 0 0
M5 0 0 2
Játékelméleti feladatok
1. Mindkét kereskedelmi láncnak a B faluban kell üzletet nyitnia 2. A játék mátrixa János bal jobb
Laci bal jobb -2 3 3 -4
Mindkét játékos optimális kevert stratégiái (0.58, 0.42) . A játék értéke 0.08. A játék Lacinak kedvez. 3. Mindkett˝o kevert optimális stratégiája ( 12 , 12 ). A játék értéke nulla. A játék igazságos. 4. Jelöljük x és y-al azon pontok koordinátáit, ahová a két fagylaltos el akarja helyezni bódéját. Az egyszer˝uség kedvéért feltételezzük, hogy x ≤ y. Ekkor az a partszakasz, x+y amely az x-ben lev˝o bódéhoz megy 0, x+y , és akik az y-ba lev˝ o bódéhoz mennek , 1 . Tehát 2 2 az els˝o bódé tulajdonosa meg kell oldja a → max, z1 = x+y 2 x − y ≤ 0, 0 ≤ x, y ≤ 1, LP feladatot, a második bódé tulajdonosa pedig a → max, z2 = 1 − x+y 2 x − y ≤ 0, 0 ≤ x, y ≤ 1,
204
9. MEGOLDÁSOK, ÚTMUTATÁSOK
A partszakasz hossza 1 és a játék szimmetrikussága miatt z1 max = z2 max , azaz xmax = 1 − ymax . Ez azt jelenti, hogy úgy kell elhelyezniük bódéjukat, hagy az egyiknek a nullától mért távolsága egyenl˝o legyen a másiknak az egyt˝ol mért távolságával. 5. A Ruby áruház optimális stratégiája (0.75; 0.25), a Swamp áruház optimális stratégiája (0.5; 0.5) és a játék értéke 5000. 6. A négy ezredb˝ol álló hadsereg stratégiái: (0, 4), (1, 3), (2, 2), (3, 1), (4, 0), ahol a számok azt jelöli, hogy a hadsereg hány ezredet küldött az els˝o illetve a második városban. A három ezredb˝ol álló hadsereg stratégiái: (0, 3), (1, 2), (2, 1), (3, 0). A játék értéke 1.56, a négy ezredb˝ol álló hadsereg javára. A seregek optimális stratégiái: (0.44; 0; 0.11; 0; 0.44) illetve (0.08; 0.36; 0.53; 0.03). 7. A játék mátrixa: II I 0 1 2 3 4 5
0 0 1 2 3 4 5
1 -1 0 1 2 3 -5
2 -2 -1 0 1 -5 5
3 -3 -2 -1 -5 5 -5
4 -4 -3 -5 5 -5 5
5 -5 -5 5 -5 5 -5
Az els˝o játékos kevert stratégiája: (0, 0, 0.09, 0.1, 0.44, 0.37) A második játékos kevert stratégiája: (0, 0.25, 0.43, 0.28, 0.04, 0) Mindkét játékos 0-választási stratégiáját dominálja az 1-et választó stratégia. 8. A parancsnok 10-10 katonát a négyzet alaprajzú vár négy sarkába kell állítson. Ha 10 embert elvesztett a parancsnok, akkor a vár ellentétes sarkaiba 7-7 illetve 8-8 katonát kell állítson, ahhoz, hogy az ellenség, még mindig ne támadja meg. 9. Mindkét játékos kevert stratégiája: (0.47; 0.22; 0.31). 10. A játék értéke 500 és az els˝o vállalat optimális stratégiája (0.67; 0.33), míg a második vállalaté (0.5; 0.5). 11. A játék egyensúlypontban, akkor van amikor mindketten azt a szabadid˝os programot választják, amit kedvelnek. 12. A játék egyensúlypontja: egyik vezet˝o sem tér ki a másik útjából. 13. A játékosok halmaza N = {1, 2, 3}, a karakterisztikus függvény: v (∅) = v ({1}) = v ({2}) = v ({3}) = 0, v ({1, 2}) = v ({2, 3}) = v ({1, 3}) = 1, v ({1, 2, 3}) = 1.
9. MEGOLDÁSOK, ÚTMUTATÁSOK
205
Jelöljük a szétosztást (x1 , x2 , x3 ) vektorral. Ekkor a feltételek xi ≥ 0, x1 + x2 ≥ 1, x2 + x3 ≥ 1, x1 + x3 ≥ 1, x1 + x2 + x3 = 1.
Az egyenl˝otlenség-rendszernek 1 1 1 nincs megoldása. Tehát a játék magja az üres halmaz. A Shapley-érték: S = 3 , 3 , 3 . 38 37 14. Shapley-érték: S = 39 , , . 6 6 6 15. Jelöljük a szétosztást (x1 , x2 , x3 ) vektorral. Ekkor a feltételek x1 ≥ 1, x1 + x2 ≥ 6, x2 + x3 ≥ 10, x1 + x3 ≥ 8, x1 + x2 + x3 = 11. Az x3 = 11 − x1 − x2 ismeretlent a harmadik és negyedik egyenl˝otlenségbe helyettesítve kapjuk x1 ≥ 1, x1 + x2 ≥ 6, −x1 ≥ −1, x2 ≤ 3.
Innen következik, hogy x1 = 1 és x2 ≤ 3, ami nem teljesíti a második egyenl˝otlenséget. Legyen y az a legkisebb mennyiség, ami már szétosztható. Ekkor x1 ≥ 1, x 1 + x2 ≥ 6, x2 + x3 ≥ 10, x1 + x3 ≥ 8, x1 + x2 + x3 = y.
Az x3 = y − x1 − x2 ismeretlent a harmadik és negyedik egyenl˝otlenségbe helyettesítve kapjuk x1 ≥ 1, x1 + x2 ≥ 6, x 1 ≤ y − 10, x2 ≤ y − 8.
A két utolsó egyenl˝otlenség alapján 2y − 18 ≥ x1 + x2 ≥ 6. Ahonnan kapjuk, hogy y ≥ 24 = 12. Tehát a legkisebb csoki mennyiség amit a mikulás a feltételek alapján szét tud 2 osztani 12. Ekkor a helyes szétosztás (2, 4, 6) . 16. A játékosok halmaza N = {1, 2, 3} . Egy olyan koalíciónak az értéke, amely lehet˝ové teszi a vállalkozás elindítását 1. A játék karakterisztikus függvénye: 1, ha A = {1, 2} , vagy A = {1, 3} , vagy A = {1, 2, 3} , v (A) = 0, ellenkez˝oleg.
206
9. MEGOLDÁSOK, ÚTMUTATÁSOK
A Shapley-értéket az alábbi táblázatban számítsuk ki Érkezési A sorrend sorrend valószín˝ usége (1, 2, 3) 1/6 (1, 3, 2) 1/6 (2, 1, 3) 1/6 (2, 3, 1) 1/6 (3, 1, 2) 1/6 (3, 2, 1) 1/6 Összesen:
A szerepl˝ ok határhozzájárulása 1 2 3 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 4 1 1
Tehát a nyereség igazságos szétosztási arányai (Shapley-értéke):
4
1 1 , , . 6 6 6
17. Öt játékos által meghatározott halmaznak összesen 25 részhalmaza van. Az üreshalmaztól eltekintve így összesen 25 − 1 kolalíciót képezhetnek. Ebb˝ol 16 többségi koalíció. Egy koalíciónak az értéke 1, ha többségi és nulla ha nem. Minden egyes többségi koalícióban megnézzük, hogy az egyes pártok hozzájárulása lényeges (azaz ha kilépnek akkor a koalíció már nem lesz többségi), vagy nem és azt találjuk, hogy AP BP CP DP EP
-lényeges -lényeges -lényeges -lényeges -lényeges
10 többségi koalícióban 6 többségi koalícióban 6 többségi koalícióban 2 többségi koalícióban 2 többségi koalícióban
Mivel 31 koalíciós lehet˝oség van, ezért a Shapley-érték: 10 6 6 2 2 , , , , . S= 31 31 31 31 31 Tehát a pártok az alábbi költségvetési összegeket felügyelhetik: Pártok Összeg (millió euró)
AP 200
BP 120
CP 120
DP 40
EP 40
18. Jelölések 1-természettudományi Kar, 2-Gazadaságtudományi Kar, 3-Adminisztráció. Az igazságos szétosztás a Shapley érték alapján történik. A számítást az alábbi táblázatba foglaltuk össze: Érkezési A sorrend sorrend valószín˝ usége (1, 2, 3) 1/6 (1, 3, 2) 1/6 (2, 1, 3) 1/6 (2, 3, 1) 1/6 (3, 1, 2) 1/6 (3, 2, 1) 1/6 Összesen:
A szerepl˝ ok határhozzájárulása 1 2 3 400 200 100 400 100 200 0 600 100 100 600 0 200 100 400 100 200 400 1200 1800 1200
9. MEGOLDÁSOK, ÚTMUTATÁSOK
207
Tehát a Shapley-érték szerinti szétosztás: 1200 1800 1200 , , = (200, 300, 200) . 6 6 6 19. A játékosok halmaza N = {A, B, C}, a karakterisztikus függvény (1000 lejes egységekben felírva): v (∅) = 0, v ({A}) = 75, v ({B}) = 85, v ({C}) = 62, v ({A, B}) = 200, v ({A, C}) = 177, v ({B, C}) = 187, v ({A, B, C}) = 302. Jelöljük a szétosztást (x1 , x2 , x3 ) vektorral. Ekkor a feltételek x1 ≥ 75, x2 ≥ 85, x3 ≥ 62, x1 + x2 ≥ 200, x2 + x3 ≥ 177, x1 + x3 ≥ 187, x1 + x2 + x3 = 302.
Kifejezve az x3 -at az utolsó egyenl˝oségb˝ol és a 3. egyenl˝otlenségbe helyettesítve kapjuk: x1 ≥ 75, x2 ≥ 85, x1 + x2 ≤ 102, x1 + x2 ≥ 200.
A 3. és 4. feltételek ellentmondásosak. Tehát a játék magja üres. A játék Shapley 670 532 értéke: S = 610 , , . A költségek igazságos szétosztása arányos kell legyen a Shapley6 6 6 értékkel. A javasolt szétosztás: 40000 610 670 532 , , ∗ = (13466, 14790, 11744) . 6 6 6 302
20. Egy 800 eurós összegre hárman jogosultak: az els˝o 150, a második 400, a harmadik 500 euróra. Mivel a teljes összeg nem elég a követelések teljesítésére a Shapley-érték segítségével osszuk szét igazságosan a 800 eurós összeget a jogosultak között. Érkezési A sorrend sorrend valószín˝ usége (1, 2, 3) 1/6 (1, 3, 2) 1/6 (2, 1, 3) 1/6 (2, 3, 1) 1/6 (3, 1, 2) 1/6 (3, 2, 1) 1/6 Összesen:
A szerepl˝ ok határhozzájárulása 1 2 3 150 400 250 150 150 500 150 400 250 0 400 400 150 150 500 0 300 500 600 1800 2400
Tehát a jogosultak közötti szétosztás: (100, 300, 400) .
208
9. MEGOLDÁSOK, ÚTMUTATÁSOK
9.1. ábra. 3. feladathoz.
9.4.
Hálózatok elemzése
1. Minimálisan 454 hosszúságú telefonhálózatra lesz szükség. 2. A minimális kifeszít˝ofa a település utacahálózatára: a→b→f→i→g→c→j→d→h→k→e→s→u→v→w→m→o→p→q→l→n→r→t. 3. A legrövidebb huzalozási hossza 7 mm (lásd a 9.1. ábrát). 4. Legrövidebb útvonal a köolaj lel˝o helyekk között: B→2→4→3→5→1→B. 5. A legrövidebb út az A és B pontok között: A→D→E→G→B. A legrövidebb út hossza megváltozik, ha az AC él hossza 68-nál kisebb lesz. 6. Minimálisan 25 hosszúságú kábelre van szükség. Az 1-es pontból a 7-es pontba vezet˝o legrövidebb út: 1→3→4→5→7. 7. Az A és F csomópontok között a legrövidebb út: A→B→D→F. A hálózat minimális feszít˝ofájának hossza 18. 8. A telefont három évenként kell lecserélni. 9. 0 1 2 3 4 5
0 -
1 4000 -
2 11000 4000 -
3 19000 11000 4000 -
4 29000 19000 11000 4000 -
4 1 1 1 -
6 1 1 1 1
Az autót évente kellene lecserélni. 10. Igen. 1 2 3 4 5 6 7
1 1 1 1 -
2 1 1 1 -
3 1 1 1 1
5 1 1 1 1
7 1 1 1 -
5 42000 29000 19000 11000 4000 -
9. MEGOLDÁSOK, ÚTMUTATÁSOK
209
9.2. ábra. A 11. feladathoz. 11. Maximálisan 28 hajó tud elérni a B kiköt˝obe (lásd a 9.2. ábrát). 12. Maximálisan 900 telefonhívás kezdeményezhet˝o Csíkszeredából Bukarestbe. 13. Percenként 31 m3 olajat kell pompálni a vezetékekbe ahhoz, hogy a lehet˝o legnagyobb mennyiség˝u olaj érkezzék a T-be. A feladat megoldásakor egy segéd csomópontot kell beiktatni a gráf elejére. 14. A következ˝o két órában maximálisan 800 gépkocsi küldhet˝o az 1-városból a 3-as városba. 15. Maximálisan 17-en mehetnek piknikre. 16. Id˝oben befejezhet˝o mind a két projekt. Maximális folyam feladat mátrixa:
K 1ho 2ho 3ho 1pr 2pr V
K -
1ho 5 -
2ho 5 -
3ho 5 -
1pr 3 3 3 -
2pr 3 3 3 -
V 6 9 -
17. Az optimális útvonal: 1→6→5→3→2→7→4→8→1. 18. A fagylaltos kocsi útvonala: A→C→E→D→B→A. 19. A reklámautó útvonala: A→D→E→C→B→A. 20. Minden hídra 3 csomópontot tekintünk. Kett˝o a két végén és egy középen. Így összesen 21 csomópontunk lesz. A gráf minden élének a hossza 1. A WinQSB utazó ügynök feladat eszköztárának korlátozás és szétválasztás módszerét használva a számítógép ellen˝orzi az összes lehetsége utvonalat. Eredmény, hogy nem lehet olyan sétát tenni, amilyent a feladat megkövetel.
210
9. MEGOLDÁSOK, ÚTMUTATÁSOK
9.5.
Projektek ütemezése
1. A kritikus út: A→B→C→E. A D és F tevékenységek t˝ uréshatára 1 illetve 9 hét. A tervezet elkészítéséhez 19 hét szükséges. A hálódiagramot az 9.1 táblázat tartalmazza. Tevékenység A 1→2 B 2→3 C 3→4 D 3→5 Vak él 4→5 E 5→6 F 3→6
Tevékenység A. 1→2 B. 2→3 C. 3→5 D. 3→6 E. 3→4 F. 4→5 G. 5→6
9.1 Táblázat
T˝ uréshatár 0 0 3 8 0 0 0
Tevékenység A. 1→2 B. 2→5 C. 2→3 D. 3→4 E. 4→5 F. 5→6 G. 6→7
9.2 Táblázat
T˝ uréshatár 0 20 0 0 0 0 0
9.3 Táblázat
2. A projekt elkészülésének legrövidebb id˝otartama 16 hét, és a kritikus útvonalat: D→E→G. A hálódiagramot és a tevékenységek t˝uréshatárát az 9.4 táblázat tartalmazza. Tevékenység A. 1→2 B. 2→3 C. 3→6 D. 1→4 E. 4→5 F. 3→5 G. 5→6 H. 4→6 Vak él 2→4
T˝ uréshatár 4 8 10 0 0 8 0 7 -
9.4 Táblázat
Tevékenység A. 1→2 B. 1→3 C. 1→4 D. 2→5 E. 3→6 F. 4→6 G. 5→7 H. 6→7 Vak él 4→3
Tevékenység A. 1→2 B. 1→3 C. 2→4 D. 3→5 E. 5→6 F. 4→7 G. 6→7 H. 7→8 Vak élek 2→3 4→5
9.5 Táblázat
9.6 Táblázat
Tevékenység A. 1→2 B. 2→6 C. 1→3 D. 3→4 E. 4→5 F. 5→6 G. 1→7 H. 6→7 I. 7→8 J. 8→9
9.7 Táblázat
3. A hálódiagramot és a tevékenységek t˝ uréshatárát az 9.2 táblázat tartalmazza. 4. A hálódiagramot az 9.6 táblázat tartalmazza.
9.3. ábra. A 4. feladathoz. 5. A hálódiagramot az 9.8 táblázat tartalmazza. A kritikus útvonal: 1→2→3→4→7→8→9.
9. MEGOLDÁSOK, ÚTMUTATÁSOK
211
6. A hálódiagramot az 9.10 táblázat tartalmazza. Tevékenység 1. 1→2 2. 2→3 3. 3→4 4. 3→5 5. 3→7 6. 5→6 7. 4→7 8. 6→7 9. 6→8 10. 7→8 11. 8→9
9.8 Táblázat
Tevékenység 1→2 A 1→3 B 2→4 C 3→4 D 3→5 E 3→6 F 4→7 G 5→7 H 6→8 I 7→9 J 8→9 K
T˝ urésh. 4 0 4 0 5.83 8.5 0 5.83 8.5 0 8.5
9.9 Táblázat
9.4. ábra. A 6. feladathoz. 7. A hálódiagramot az 5.5 táblázat tartalmazza. Ha az E vagy az F tevékenység 3 nappal csúszik, az eredeti befejezési id˝opontot is 3 nappal csúszik.
9.5. ábra. A 7. feladathoz.
212
9. MEGOLDÁSOK, ÚTMUTATÁSOK
8. A hálódiagramot az egyes események kezdésének legkorábbi id˝opontját, és a t˝ urési határát az 9.11 táblázat tartalmazza. A kritikus útvonal: A→B→J→L. Telefonhívás miatt a vacsora 3 perccel kés˝obb fog elkészülni. Ha használja a robotgépet, akkor a vacsora a tervezett id˝oben fog elkészülni. Tevékenység 1. 1→2 2. 1→3 3. 2→4 4. 3→5 5. 4→6 6. 5→6 7. 6→7 8. 7→8 9. 8→9 10. 8→10 11. 10→11 Vak él 9→10
Tevékenység A. 1→2 B. 2→7 C. 1→3 D. 3→7 E. 1→4 F. 4→7 G. 1→5 H. 5→6 I. 6→7 J. 7→8 K. 1→8 L. 8→9
9.10 Táblázat
Kezdés 0 30 0 2 0 7 0 15 25 35 0 45
T˝ urésh. 0 0 30 30 3 3 8 8 8 0 30 0
9.11 Táblázat
9. A projekt elkészülésének legrövidebb id˝otartama 22 hét, és a kritikus útvonal: 1→3→6→7→8. 10. A projekt legrövidebb id˝otartama 18 hét és a kritikus útvonal: 1→2→4→5→6→7. Ha a 8. tevékenység id˝otartamát 3 hétre csökkentjük, nem történik változás a projekt id˝otartamát illet˝oen. Ha a 4. tevékenység id˝otartamát 2 héttel meghosszabbítjuk, nem történik változás a projekt id˝otartamát illet˝oen. Ha a 7 tevékenység id˝otartamát 2 héttel csökkentjük, akkor 1 héttel csökkenhet a projekt id˝otartama. 11. A hálódiagramot és az egyes tevékenységek t˝uréshatárát az 9.13 táblázat tartalmazza. A kritikus út: A→C→F→G→H. Tevékenység A 1→2 B 2→3 C 2→4 D 2→5 E 3→4 F 4→5 G 5→6 H 6→7
Leírás tervezés A gyártása B gyártása C gyártása A tesztelése A, B egybeépítése C rögzítése tesztelés
9.12 Táblázat
T˝ uréshatár 0 1 0 4 1 0 0 0
Tevékenység A. 1→2 B. 1→3 C. 2→4 D. 4→5 E. 5→6 F. 3→7 G. 6→7 H. 7→8
T˝ uréshatár 0 11 0 0 0 11 0 0
9.13 Táblázat
12. A kritikus út: A→C→D→E→F→G. A projektet 30 nap alatt lehet befejezni 160 egység minimális többletköltséggel. A hálódiagramot és a tevékenységek t˝uréshatárát az 9.3 táblázat tartalmazza.
9. MEGOLDÁSOK, ÚTMUTATÁSOK
213
13. A kritikus út: A→C→D→E→G→H. A termék elkészítése két héttel korábban 40 eurós plusz költséggel jár. A hálódiagramot és a tevékenységek t˝uréshatárát az 9.13 táblázat tartalmazza. 14. Leghamarabb 10 hónap múlva kerülhet a termék a piacra. 15. A tervezetet befejezni 100 hét alatt 256.53 minimális költséggel lehet. 16. A hálódiagramot az 9.14 táblázat tartalmazza. 99.5% a valószín˝usége annak, hogy a projekt 35 nap alatt elkészül. Tevékenység A. 1→2 B. 1→3 C. 1→4 D. 3→5 E. 4→5 F. 5→6 G. 5→7 H. 6→8 I. 7→10 J. 8→9 K. 8→10 Vak élek 2→4 7→6 9→10
9.14 Táblázat 17. 98.9% a valószín˝usége, hogy a projektet 26 nap alatt befejezik.
9.6. ábra. A 17. feladathoz. 18. A hálódiagramot az 9.7 táblázat tartalmazza. A munka várható átfutási ideje 99%-os valószín˝uséggel 33 nap.