Operációkutatás 9789630580472, 9630580470

701 195 18MB

Hungarian Pages 370 [348] Year 2014

Report DMCA / Copyright

DOWNLOAD FILE

Operációkutatás
 9789630580472, 9630580470

Citation preview

Varró Zoltán-Temesi József

Operációkutatás

Lektorálta Komlósi Sándor

© Temesi József, Varró Zoltán, 2007 © Akadémiai Kiadó, 2014 ISSN 2061-6430 ISBN 978 963 05 9475 2 Kiadja az Akadémiai Kiadó, az 1795-ben alapított Magyar Könyvkiadók es Könyvterjesztők Egyesülésének tagja 1117 Budapest, Prielle Kornélia u. 21-35. www.akademiaikiado.hu

Jelen kiadás az Aula Kiadó Kft. 2009-es kiadása alapján készült. A kiadásért felelős az Akadémiai Kiadó igazgatója Felelős szerkesztő: Laskó Judit Termékmenedzser: Kiss Zsuzsa Fedélterv: Markó Natália Nyomdai munkálatok: Akadémiai Nyomda Felelős vezető: Nagy Miklós

Kiadványszám: BB130041 Megjelent 33,24 (A/5) ív terjedelemben Minden jog fenntartva, beleértve a sokszorosítás, a nyilvános előadás, a rádió- és televízióadás, online digitális publikálás, valamint a fordítás jogát, az egyes fejezeteket illetően is.

Printed in Hungary

Temesi József lrιιιrsι József egyetemi tanár, a Budapesti Corvinus Egyetem t ipeiációkutatási tanszékének vezetője. Doktori és habilitációs i ih kczését operáeiókutatási és döntéselméleti témákból írta, l*nι ∣vvci, eikkei is elsősorban ezeken a területeken születtek. Az M IΛ (Jpcrációkutatási Bizottságának tagja, 2006-ban megválasz­ ollak a Magyar Operációkutatási Társaság elnökének. Oktatói munkásságát mintegy 30 éve a Közgazdaságtudományi Egyete­ men és jogutódain folytatja, ahol jelentős egyetemvezetői pozíci­ ók al is betöltött: 1992 és 1995 között a Közgazdaságtudományi kai dékánja, 1995-1998, valamint 2000-2004 között oktatási és ludományos rektorhelyettes volt. Kutatói pályafutása során első­ inban az alkalmazások állnak érdeklődése előterében, operációkuialási tankönyvei - melyek között e könyv a legutóbbi - is ezt támasztják alá.

Varró Zoltán l)r. Varró Zoltán a Pécsi Tudományegyetem Gazdaságmóds/ertani Intézetének adjunktusa. 1974-ben szerzett programterve­ ző matematikus diplomát a Szegedi Tudományegyetemen, azóta a PIT oktatója. 1982-ben doktorált a Budapesti Corvinus Egyete­ men. Jelentős szakmai tapasztalattal rendelkezik, melyet külföldi lanuImányutakon gyarapítóit (Aachen, Amszterdam, Bayreuth, I .ondon, Rotterdam). Számos egyetemi jegyzet és egyéb tananyag társszerzője. Operációkutatást, játékelméletet és termelésmenedzsmentet oktat magyar és angol nyelven.

Tartalom I

Lineáris algebrai alapfogalmak ..............................................................................................

II.

Vektorok, műveletek vektorokkal, lineáris függetlenség, bázis, lineáris tér, bázistranszformáció ......................................................................... Mátrixok, műveletek mátrixokkal, rang, inverz ................................................ A bázistranszformáció alkalmazásai:lineáris egyenletrendszerek megoldása ............................................................................................................... A bázistranszformáció alkalmazásai:mátrixok invertálása ............................. Konvex halmazokról ............................................................................................

20 28 32

Az operációkutatásról ............................................................................................................

35

Az operációkutatás fogalma ................................................................................ Operációkutatási modellezés .............................................................................. 2.2.1. A probléma verbális megfogalmazása .............................................. 2.2.2. A probléma matematikai formába öntése........................................ 2.2.3. Megoldó algoritmus keresése és alkalmazása.................................. 2.2.4. Ervényességvizsgálat, érzékenységvizsgálat: az eredmények elemzése ................................................................................................ 2.2.5. Visszacsatolás ......................................................................................

37 38 39 41 42 43 44

Lineáris programozás: a szimplex módszer...........................................................................

45

3.1. 3.2.

A lineáris programozási modell: egy termelésprogramozási probléma........ A lineáris programozás elméleti alapjai............................................................. 3.2.1. LP feladatok ekvivalens alakjai ......................................................... 3.2.2. LP feladatok grafikus megoldása ....................................................... 3.2.3. LP feladatok algebrai és geometriai háttere .................................... 3.3. A szimplex módszer .............................................................................................. 3.3.1. LP feladatok osztályozása ................................................................. 3.3.2. A normál feladat megoldása ............................................................. 3.3.3. Minimumfeladatok megoldása ........................................................... 3.3.4. Degeneráció.......................................................................................... 3.3.5. Alternatív optimumok ....................................................................... 3.3.6. A módosított normál feladat megoldása .......................................... 3.3.7. Az általános alakú feladat megoldása .............................................. 3.3.8. A szimplex módszer geometriai háttere .......................................... 3.4. A hiperbolikus programozási feladat megoldása szimplex módszerrel ........ Gyakorló feladatok .........................................................................................................

47 51 51 54 56 62 62 62 71 72 73 75 80 82 84 88

Lineáris programozás: dualitás ............................................................................................

97

1.2. 1.3. 1.4. 1.5.

7

2.1. 2.2.

3.

4.

11

4.1.

Dualitási 4.1.1. 4.1.2. 4.1.3.

13 17

tételek .................................................................................................... 99 A duál feladat fogalma ........................................................................ 99 Dualitási tételek .................................................................................. 102 A duál feladat optimális megoldásának leolvasása ........................ 104

Tartalom

H

4.2. Árnyékárak ................................................................................................................ 105 1.3. Duál szimplex módszer .............................................................................................117 < gyakorló feladatok ............................................................................................................120

ft

Lineáris programozás: érzékenységvizsgálat............................................................................ 123 *>.l.

Az érzékenységvizsgálat célja ................................................................................. 125 5.1.1. A jobboldal változása ............................................................................ 126 5.1.2. A célfüggvény együtthatóinakmegváltozása........................................128 5.1.3. LP feladat bővítése új változóval ......................................................... 129 Y/. Parametrikus programozás .................................................................................... 131 5.2.1. Paraméter a célfüggvényben .............................................................. 131 5.2.2. Paraméter a kapacitásvektorban ......................................................... 139 (íyakorló feladatok ............................................................................................................143

A

Lineáris programozásra vezető gazdasági feladattípusok ......................................................... 147

Termelésprogramozási feladat .............................................................................. 149 Munkaerő-ütemezési feladat ................................................................................. 150 I .cszabási és pakolási feladat ................................................................................. 151 lobbpcriódusú pénzügyi tervezési feladat .......................................................... 153 Keverési feladat ........................................................................................................ 154 (íazdasági egységek relatív hatékonysága: a Data Envelopment Analysis............................... 156 < íyakorló feladatok ............................................................................................................171

(»1 (» h V (i I hY

/

Optimalizálás hálózatokon ........................................................................................................ 173

∕ I.(íráfelmélcti alapfogalmak ......................................................................................... 175 / 2. A minimális élsúlyú feszítőfa probléma ..................................................................181 ∕ V Minimális költségű hálózati folyam probléma (MKHF) ...................................... 182 ∕ I. A szállítási feladat ..................................................................................................... 193 / Y Hozzárendelési feladat ............................................................................................... 205 / 6. Maximális folyam probléma ...................................................................................... 211 (íyakorló feladatok ........................................................................................................... 218 II

További hálózati feladatok ........................................................................................................ 223 Hl. A legrövidebb út probléma .................................................................................... 225 H 2 Γgy gyakorlati alkalmazás: a kritikus út meghatározása (CPM) ..................... 230 H I Többperiódusú termeléstervezés .......................................................................... 240 < íyakoi ló feladatok ........................................................................................................... 243

U

Többcélú lineáris programozás

................................................................................................249

9|. A többcélú lineáris programozási feladat ........................................................... 251 9 2. I llicicns pontok előállításának módszerei ......................................................... 258 9 t Az cllicicns halmaz előállításáról ........................................................................... 263 9-1 ( clpiogiamozás .......................................................................................................................................267 (íyakoi ló feladatok ............................................................................................................................................ 275

9

10. Egészértékű programozás ....................................................................................................... 279 10.1. Modellezés egészértékű változókkal ....................................................................281 10.1.1. Fix költségek modellezése ....................................................................281 10.1.2. „Vagy-vagy” logikai feltétel modellezése .......................................... 284 10.1.3. „Ha - akkor” logikai feltétel modellezése .......................................... 285 10.1.4. Diszkrét értékeket felvevő változó helyettesítése bináris változókkal ............................................................................................... 286 10.2. Lineáris egészértékű programozásifeladatok ...................................................... 286 10.3. A szétválasztás és korlátozásmódszere .................................................................293 10.3.1. A szétválasztás és korlátozás módszerének alapgondolata ............. 293 10.3.2. A lineáris egészértékű programozási feladat megoldása ................. 296 10.4. Metszési módszer..................................................................................................... 304 10.5. Egészértékű modellre vezetőspeciális alkalmazási feladatok ........................... 308 10.5.1. Halmazlefedési feladat .......................................................................... 308 10.5.2. Halmazfelbontási feladat ......................................................................309 10.5.3. Hátizsák feladat...................................................................................... 310 10.5.4. Utazó ügynök probléma ........................................................................ 316 Gyakorló feladatok ........................................................................................................... 321

11. Játékelmélet............................................................................................................................ 325 11.1. Alapfogalmak ........................................................................................................... 327 11.2. Dominancia ............................................................................................................. 330 11.3. Nash egyensúly ......................................................................................................... 332 11.4. Kevert bővítés ......................................................................................................... 333 11.5. Mátrixjátékok ........................................................................................................... 337 (íyakorló feladatok ........................................................................................................... 343

felhasznált irodalom

...................................................................................................................... 347

feladatmegoldások .......................................................................................

349

Lineáris algebrai alapfogalmak

1.1.

Vektorok, műveletek vektorokkal, lineáris függetlenség, bázis lineáris tér, bázistranszformáció :

1.2.

Mátrixok, műveletek mátrixokkal, rang, inverz

1.3.

A bázistranszformáció alkalmazásai: lineáris egyenletrendszerek megoldása

A bázistranszformáció alkalmazásai: mátrixok invertálása 1.5.

Konvex halmazokról

1.1. Vektorok, műveletek vektorokkal, lineáris függetlenség, bázis, lineáris tér, bázistranszformáció Az operációkutatási modellek ebben a kötetben tárgyalt megoldási módszereinek megér­ téséhez elsősorban lineáris algebrai ismeretekre van szükség. Ez a fejezet röviden össze­ foglalja a legfontosabb fogalmakat és összefüggéseket mindazok számára, akik még nem ta­ lálkoztak ezek mindegyikével vagy ismereteik nem kellően alaposak. Egy matematikai modell felírásához általában igen sok adatra van szükség. Ezek az adatok gyakran már eleve táblázatos formában adottak, vagy célszerű őket ilyen formában elrendez­ ni. A táblázatokkal is lehet műveleteket végezni, akárcsak a számokkal, ezért először ezeket a műveleteket és legfontosabb tulajdonságaikat tekintjük át.

Vektor alatt a továbbiakban egy rendezett szám n-est értünk. Az összes H-komponensü vektor halmazát Λ,,-nel jelöljük. A kitevőben lévő n arra utal, hogy ez a halmaz a valós számok R halmazának n tényezős Descartes-szorzata. A vektorokat félkö­ vér szedéssel jelöljük, kézírással az aláhúzás a szokásos jelölésmód. Megkülönböztethetünk sor- és oszlopvektorokat, ezekre azonban nem vezetünk be külön jelölést. Ha az Rn halmazon műveleteket vezetünk be meghatározott tulajdonságokkal, akkor egy al­ gebrai struktúrát kapunk. A számunkra legfontosabb egyik algebrai struktúrához úgy jutunk, hogy két műveletet értelmezünk, az egyik a vektorok összeadása, a másik a számmal skalárral - való szorzás.

Két vektor összegét úgy képezzük, hogy a vektorok megfelelő komponenseit összeadjuk. Az a = [al,a2,...,all] és b = [δ1,δ2,...,⅛J

vektorok összegén az a + b = [α, + bl,a2+b2,...,an+bn]

vektort értjük. Két vektort akkor adhatunk össze, ha mindkettő sorvektor, vagy mindkettő osz­ lopvektor, és komponenseik száma is azonos.

A vektorok összeadása kommutatív, tehát egy összeg tagjai felcserélhetők. Érvényes az aszszociativitás is, tehát egy három- vagy többtagú összeg kiszámítását bármely két szomszédos tag összeadásával megkezdhetjük, sőt a kommutativitás miatt a tagoknak nem is kell szom­ szédosaknak lenni.

1. Lineáris algebrai alapfogalmak

14

Egy vektort valós számmal úgy szorzunk meg, hogy minden komponensét megszorozzuk az adott számmal, a szorzás eredménye tehát egy vektor lesz: λa = [λα1,λα2,...,λαπ].

A számmal való szorzás is kommutatív és asszociatív, továbbá teljesül a disztributivitás is, azaz (α + β)a = αa + βa és α(a + b) = aa + ab.

Az Ft1 halmazt a rajta értelmezett két fenti művelettel lineáris vektortérnek nevezzük. Az Rn halmaz valódi részhalmazai is alkothatnak vektorteret, ha a fenti két műveletre vonat­ kozóan zártak, tehát a részhalmaz bármely két vektorának összege és bármely vektorának tet­ szőleges számszorosa is eleme a részhalmaznak. Az ilyen vektorteret az Rn felett értelmezett vektortér alterének nevezzük.

Az olyan algebrai kifejezést, amely több vektor számszorosának összegéből áll, az adott vektorok lineáris kombinációjának nevezzük. Λ131 + ^2^2 ÷ .. . ÷ Λf3f •

Könnyen belátható az is, hogy az ab a2,. . ., a* ∈ Rn vektorok összes lehetséges lineáris kom­ binációinak halmaza is vektortér. Ehhez elegendő megmutatni azt, hogy ha az x és az y vektor is az adott k számú vektor lineáris kombinációja, akkor összegük és tetszőleges számszorosuk is felírható ezen vektorok lineáris kombinációjaként.

Ha az ab a2, . . . , a* vektorok összes lehetséges lineáris kombinációinak halmaza valódi rész­ halmaza Á”-nek, akkor az ab a2, . . . , ⅝ vektorok által generált vektorteret az Rn felett értel­ mezett vektortér valódi alterének nevezzük. 1.1. PÉLDA. Tekintsük T?3-nak azt a részhalmazát, amelynek vektorai a háromdimenziós geo­ metriai tér egy origón áthaladó síkjának pontjaiba mutatnak. Ezek a vektorok az összes R3beli vektorból álló vektortérnek alterét képezik. Ennek az állításnak a helyessége a szemlélet alapján könnyen belátható, ha arra gondolunk, hogy az origóból ennek a síknak a pontjaiba mutató vektorok összege és bármely vektor akármilyen számszorosa is ennek a síknak valamely pontjába mutat. A vektortér néhány speciális vektora fontos szerepet játszik, ezeknek külön nevet adunk. A nullvektor minden komponense nulla:

o = [θ,0,...,θ]. Az z-edik egységvektor z-edik komponense 1, a többi 0. Az index mutatja, hogy melyik kom­ ponens 1-es:

1.1. Vektorok, műveletek vektorokkal, lineáris függetlenség, bázis, lineáris tér, bázistranszformáció

15

Ha egy sorvektort oszlopvektorrá, vagy egy oszlopvektort sorvektorrá alakítunk, akkor transzponálásról beszélünk. Ezt a kitevőbe írt nagy „T” betű jelöli (ami elhagyható): 3 a = 2 , akkor ar=[3,2, 8].

8 Ha az Rn halmazon egy további műveletet értelmezünk, akkor újabb algebrai struktúrát ka­ punk, amelyet euklideszi térnek nevezünk. Ez a művelet a síkgeometriából jól ismert skaláris szorzás általánosítása, amely lehetővé teszi, hogy értelmezzük egy vektor hosszát és két vek­ tor távolságát. Az euklideszi tér tehát egy olyan vektortér, amelyben távolságfogalom - más elnevezéssel metrika - is értelmezett. Az euklideszi tér elemeit vektor helyett gyakran pont­ nak nevezzük.

Két vektor skaláris szorzatát úgy képezzük, hogy a vektorok megfelelő komponenseit összeszoroz­ zuk, és a kapott szorzatokat összeadjuk: ab = a1∂1 +a2b2 +...+aπbπ. Két vektor skaláris szorzata kommutatív, az asszociatív tulajdonság azonban nem teljesül, tehát általában (ab)c ≠ a(bc). Ezt könnyen beláthatjuk, ha arra gondolunk, hogy a bal oldal a c vektor, a jobb oldal viszont az a vektor skalárszorosa. A disztributivitás viszont fennáll, mivel (a + b)c = ac + be. I⅛y vektor önmagával alkotott skaláris szorzatát a szokásos négyzetre emeléssel jelöljük: a2 = aa.

Egy vektor hosszán - azaz az a pontnak az origótól való távolságán - az önmagával alkotott skalá­ ris szorzat négyzetgyökét értjük:

Az a és b vektorok (vagy pontok) d(a, b) távolsága a két vektor különbségének hossza: d(a,b)= √(Γbj∖ Iízt az euklideszi teret továbbiakban ^,,-nel jelöljük. Rn tehát nem csupán egy halmaz, hanem egy algebrai struktúra a fentiekben értelmezett műveletekkel.

I la vektorok egy összességére halmaz helyett azt mondjuk, hogy vektorrendszer, akkor ezzel azt kívánjuk kiemelni, hogy bizonyos vektorok több példányban is előfordulhatnak benne. Vektorok egy halmaza mindig különböző vektorokból áll, két vektorrendszert azonban külön­ bözőnek tekintünk akkor is, ha ugyanazokból a vektorokból áll, de az egyikben egy vektor csak egyszer, míg a másikban kétszer vagy többször szerepel. I .gy vektorrendszemek fontos tulajdonsága az, hogy a benne szereplő vektorok lineáris kom­ binációjaként a nullvektor milyen együtthatókkal állítható elő. Ebből a szempontból a vektor­ rendszerek kétfélék lehetnek. Vannak olyan vektorrendszerek, amelyek vektoraival a null-

16

1. Lineáris algebrai alapfogalmak

vektort az együtthatók többféle választásával is megkaphatjuk, míg más vektorrendszereknél az egyedüli lehetőség az, hogy minden vektort nullával szorzunk.

Egy a1, a2,..., a * ∈ FT vektorokból álló vektorrendszert lineárisan függetlennek nevezünk, ha vek­ torainak lineáris kombinációjaként a nullvektor csak triviálisan - azaz csak nulla együtthatókkal állítható elő. Ha léteznek olyan nem csupa nulla együtthatók, amelyekkel a lineáris kombináció nullvektort eredményez, akkor a vektorrendszert lineárisan összefüggőnek nevezzük. Bármely nullvektort tartalmazó vektorrendszer lineárisan összefüggő, mivel a nullvektort egy nemnulla skalárral, a többi vektort pedig nullával szorozva nemtriviális lineáris kombináció is előállítja a nullvektort. Fontos tétel, hogy egy vektorrendszer akkor és csak akkor lineárisan összefüggő, ha legalább egy vektora kifejezhető a többi vektor lineáris kombinációjaként.

1.2.PÉLDA. Legyenek adottak az a = [3, 1, 0], b = [9, 3, 0] és c = [0, 0, 5] e R3 vektorok. Ez a három vektor lineárisan összefüggő rendszert alkot, mivel a 3∙a - l∙b + 0∙c = o lineáris kombináció nem triviális. Az egyenlet átrendezésével könnyen meggyőződhetünk róla, hogy az a és a b vektor előállítható a másik két vektor lineáris kombinációjaként, c azonban nem. Egy lineárisan független vektorrendszerből bármelyik vektort is hagyjuk el, az továbbra is lineárisan független marad. Ez indirekt úton mutatható meg. Ha egy lineárisan független vektorrendszert egy újabb vektor hozzávételével bővítünk, akkor könnyen el tudjuk érni, hogy a bővített rendszer összefüggő legyen, mégpedig oly módon, hogy a nullvektort vagy a rendszer valamely vektorát vesszük hozzá. Nem biztos azonban, hogy egy újabb vektor hozzávételével meg tudjuk tartani a lineárisan független tulajdonságot. Rn összes egységvektora például lineárisan független rendszert alkot, bárhogyan is bővítjük azonban ezt a rendszert, mindenképpen összefüggő lesz, hiszen bármely b∈ Rn vektor kifejez­ hető az egységvektorok lineáris kombinációjaként.

Egy lineárisan összefüggő rendszert bárhogyan is bővítünk újabb vektorral, az továbbra is lineárisan összefüggő marad. Lehetséges azonban, hogy egy alkalmas vektor elhagyása után a vektorrendszer lineárisan függetlenné válik.

1.3. PÉLDA. Az 1.2. példában szereplő a, b és c vektorokból álló vektorrendszert bárhogyan is bővítjük újabb vektorok hozzávételével, összefüggő marad, hiszen a nullvektort megkap­ hatjuk úgy, hogy (3a - b)-hez a többi vektor 0-szorosát adjuk. Ha a három vektorból álló rendszerből a-t vagy b-t hagyjuk el, akkor lineárisan függetlenné válik, c elhagyásakor azonban továbbra is összefüggő marad.

A vektorrendszerből kiválasztható maximális számú vektort tartalmazó lineárisan független rendszer vektorainak számát a vektorrendszer rangjának nevezzük.

17

1.2. Mátrixok, műveletek mátrixokkal, rang, inverz

A vektorrendszerek rangjához szorosan kapcsolódik a dimenzió fogalma.

Az Rl euklideszi tér egy részhalmaza k dimenziós altér, ha e részhalmaz vektoraiból kiválasztható k vektorból álló lineárisan független rendszer, azonban bármely k + 1 vektorból álló rendszer már lineárisan összefüggő. Ha egy vektorrendszer rangja k, akkor az általa generált - azaz vektorainak összes lehetséges lineáris kombinációiból álló - vektortér dimenziója is k.

Az ff7 euklideszi térből kiválasztott bármely n vektorból lineárisan független vektorrendszert a tér bá­ zisának nevezzük. /?"-ben kitüntetett szerepet játszik az eb e2,..., en egységvektorokból álló bázis.

A bázisok fontos tulajdonsága, hogy vektoraik lineáris kombinációjaként a vektortér bármely vektora előállítható, méghozzá egyértelműen. Az előállításban szereplő kombinációs együtt­ hatókat a kérdéses vektor bázisra vonatkozó koordinátáinak nevezzük. Az egységvektorok­ ra vonatkozó koordináták éppen a vektor komponensei.

1.4. PÉLDA. R2 két vektora akkor alkot bázist, ha e vektorok nem egy origóra illeszkedő egyenes két pontjának koordinátái. R3 három vektora akkor alkot bázist, ha a vektorok nem egy origóra illeszkedő sík pontjainak koordinátái. ft3-nak kétdimenziós alterét alkotják azok a vektorok, amelyek egy origóra illeszkedő sík pontjainak koordinátái. Ennek az altémek bázisa bármely két olyan vektor, amely nem e sík valamely origóra illeszkedő egyenese pontjainak koordinátái.

1.2. Mátrixok, műveletek mátrixokkal, rang, inverz Mátrixnak nevezzük azokat a számtáblázatokat, amelyeknek legalább két sora és legalább két oszlopa van. a./ ∕',' αn . ••

A=

íz2]

α22



∙∙

‰ ∖

am2

• ∙∙

*.

amn

A mátrix ij indexű eleme a mátrix z-edik sorának ésy-edik oszlopának kereszteződésében áll. Ha egy mátrix sorainak és oszlopainak száma azonos, akkor a mátrixot kvadratikusnak (négyzetesnek) nevezzük. A sorok és oszlopok közös száma a kvadratikus mátrix rendje.

Egy kvadratikus mátrixnak azok az elemei, amelyeknek két indexe megegyezik, a mátrix fődiagonálisát alkotják. Ezek az elemek a mátrix bal felső és jobb alsó sarkát összekötő átlón helyezkednek cl.

1. Lineáris algebrai alapfogalmak

18

Ha egy mátrixnak a fődiagonálistól különböző elemei mind nullák, akkor a mátrixot diagonális mátrixnak hívjuk.

A diagonális mátrixok között kitüntetett szerepet játszik az egységmátrix, amelynek a fődiagonálisában minden elem 1-es. Az egységmátrix indexe a mátrix rendjét mutatja. 1

0 0

0

1

0

0

0

1

Két mátrixot úgy adunk össze, hogy megfelelő indexű elemeiket összeadjuk.

Két mátrix akkor adható össze, ha mind a soraik, mind az oszlopaik száma azonos. A mátri­ xok összeadása kommutatív és asszociatív. E tulajdonságok érvényessége a valós számok öszszeadásának kommutativitásából és asszociativitásából következik.

Mátrixot valós számmal úgy szorzunk, hogy a mátrix minden elemét megszorozzuk a kérdéses va­ lós számmal. λa1

λα11

λα,2

¼ι

λα22

. ..

λαm2

• ∙∙ ¼

λα

Ez a művelet is kommutatív és asszociatív.

Két mátrixot úgy szorzunk össze, hogy az első tényező minden sorvektorának képezzük a skaláris szorzatát a második tényező minden oszlopvektorával. Az A és B mátrixok AB = C szorzatának ij indexű eleme tehát Cij = ai∖b∖j + ai2^2j ÷ • ’ * + aiJjrj



A definícióból következik, hogy két mátrix szorzatát csak abban az esetben értelmezzük, ha az első tényező oszlopainak száma megegyezik a második tényező sorainak számával. A C szorzatmátrix sorainak száma A sorainak számával, oszlopainak száma B oszlopainak számá­ val egyezik meg.

19

1.2. Mátrixok, műveletek mátrixokkal, rang, inverz

. p 1.5. Példa. Ha

4 0 7

a=

5

1

4 0

7^

3

és

'2

6

-1 4

5

0

7

2

1

-3

5

0

b=

akkor a szorzatmátrixnak két sora

és négy oszlopa lesz:

3

5

1

'2

6

-1

4“

5

0

7

2

1

-3

5

0

15

3

31

16

32

15

37

22

A szorzatmátrix első sorának elemeit úgy kapjuk, hogy a A mátrix első sorvektorát rendre skalárisán megszorozzuk a B mátrix oszlopvektoraival.

A mátrixok szorzása nem kommutatív művelet. Ha ugyanis B oszlopainak száma nem azo­ nos A sorainak számával, akkor a BA szorzat nem is értelmezett. Ha B oszlopainak száma megegyezik A sorainak számával, akkor az AB és BA kvadratikus mátrixok rendje csak akkor azonos, ha A és B azonos rendű kvadratikus mátrixok, azonban az AB és BA szorzat általában ekkor is különböző. A mátrixok szorzása asszociatív és mindkét oldalról disztributív, tehát két mátrix összegét úgy is megszorozhatjuk egy harmadik mátrixszal, hogy mindkét tagot megszorozzuk és a kapott szorzatokat összeadjuk.

A(BC) = (AB)C A(B+C) = AB+AC, (B+C)D = BD+CD. Elméleti összefüggések felismerését és megértését elősegíti ha tudjuk, hogy a szorzatmátrix oszlopvektorai előállíthatok az első tényező oszlopvektorainak lineáris kombinációjaként. A szorzatmátrix y-edik oszlopvektorához a kombinációs együtthatókat a második tényező y-edik oszlopa adja:

c√ = a A/ + a2⅞y∙ + ∙ ∙ ∙+ a A; A szorzatmátrix sorvektorai a második tényező sorvektorainak lineáris kombinációi. Az í-edik sorvektor előállításakor a kombinációs együtthatók az első tényező í-edik sorának elemei.

1.6. PÉLDA. Az 1.5. példában szereplő C mátrix első oszlopvektora az alábbi módon állítha­ tó elő A oszlop vektoraival: ~15~

_32_

= 2-

4^

_3_

÷5∙

V _5_

+ 1-

T _1_

Bármely mátrix sorvektor-rendszerének rangja megegyezik oszlopvektor-rendszerének rangjával. Ezt a közös rangszámot a mátrix rangjának nevezzük és p-val jelöljük. Nyilvánvaló, hogy ha A m×n típusú mátrix, akkor p(A) ≤ min (m, n).

1. Lineáris algebrai alapfogalmak

20

Egy A mátrix oszlopvektorainak összes lehetséges lineáris kombinációiból álló vektorteret A oszlopvektorterének nevezzük. A sorvektorok által generált vektortér neve sorvektortér. Mivel a sorvektorrendszer és az oszlopvektorrendszer rangja egyenlő, ezért az oszlopvektortér és a sorvektortér dimenziója is azonos.

A valós számok halmazában a nulla kivételével bármely a számhoz létezik olyan szám, amellyel íz-t megszorozva 1-et kapunk. Ezt az 1/a-val jelölt számot az a szám reciprokának nevezzük. Felvetődik a kérdés, hogy általánosítható-e ez a fogalom a kvadratikus mátrixok körére, tehát van-e bármely kvadratikus mátrixhoz olyan mátrix, amellyel megszorozva egy­ ségmátrixot kapunk eredményül. A válasz tagadó, mivel könnyű példát adni olyan mátrixra, amelynek egyetlen eleme sem nulla, mégsem található hozzá olyan mátrix, hogy szorzatuk egységmátrix lesz.

1.7. PÉLDA. Az A =

3

1

mátrixhoz nem létezik olyan mátrix, amellyel megszorozva 6 2 egységmátrixot kapunk. Ha ugyanis a keresett mátrix oszlopvektorait Xi-gyel és x2-vel je­ löljük, akkor az Axj ≈ ei és Ax2 ≈ e2 lineáris egyenletrendszereket kell megoldanunk, azon­ ban ezeknek az egyenletrendszereknek nincs megoldásuk mivel a második egyenlet bal oldala kétszerese az elsőének, jobb oldala azonban nem.

Ha egy A négyzetes mátrixhoz létezik olyan B mátrix, hogy AB = E, akkor ezt a B mátrixot az A mát­ rixinverzének nevezzük, és A'1-gyel jelöljük. Ha AA”1 = E, akkor A-1 A = E is teljesül, tehát egy mátrix és inverze a szorzásra nézve mindig felcserélhető annak ellenére, hogy a mátrixok szorzása általában nem kommutatív. Megmu­ tatható, hogy ha egy mátrixnak van inverze, akkor az egyértelmű. Egy mátrixnak akkor és csak akkor van inverze, ha rangja egyenlő a rendjével, tehát mind sorvektorai, mind oszlopvektorai lineárisan független rendszert alkotnak. Az inverz numerikus meghatározására a lineáris egyenletrendszerek tárgyalása után visszatérünk.

1.3. A bázistranszformáció alkalmazásai: lineáris egyenletrendszerek megoldása A lineáris egyenletrendszer általános alakja:

1.3. A bázistranszformáció alkalmazásai: lineáris egyenletrendszerek megoldása

21

A lineáris egyenletrendszer egy megoldása n olyan valós számból áll, amelyek egyidejűleg kielégítik az összes egyenletet. Ezeket az xi számokat ismeretleneknek vagy változóknak ne­ vezzük.

A lineáris egyenletrendszer általános alakját a fenti „skalár” szemléletmód helyett az alábbi tömörebb, „vektoros” formában is megfogalmazhatjuk: a1x1 + a2x2 +... + aπxπ = b.

Az xi változó együtthatóit egy ai oszlopvektorban, a jobb oldalon szereplő konstansokat pedig egy b oszlopvektorban foglaltuk össze. E megközelítés szerint a feladat az, hogy a b vektort előállítsuk az a, (í = 1, 2,. . ., rí) vektorok lineáris kombinációjaként. I la az az (i = 1, . . . , rí) oszlopvektorokból egy A mátrixot képezünk, akkor az egyenletrend­ szert még tömörebben írhatjuk:

Ax = b. A lineáris egyenletrendszerek megoldására először egy vektoros szemléletmódon alapuló eljá­ rást tárgyalunk, amelynek neve elemi bázistranszformáció.

Az elemi bázistranszformációs eljárás kezdetén ismerjük az a, (z = 1, . . . , rí) vektoroknak, és a b vektornak az egységvektorokból álló bázisra vonatkozó koordinátáit, amelyek a vektorok komponensei. Az elemi szó arra utal, hogy az egységvektorokból álló kiinduló bázisból az eljárás minden lépésében eltávolítunk egy egységvektort és helyére olyan a, vektort viszünk, amely a bázis m - 1 megmaradt vektorával továbbra is bázist alkot. Ezt az eljárást mindaddig folytatjuk, amíg meg nem találjuk a b vektor előállítását kizárólag A oszlop vektoraival, vagy kiderül, hogy b nem eleme A oszlopvektorterének. Úgy is fogalmazhatunk, hogy a kérdésünk az, vajon a b vektor benne fekszik-e az A mátrix oszlopvektorterében: ez a kompatibilitási probléma.

A számítások elvégzéséhez az alábbi koordinátatáblának nevezett táblázatot használjuk. Az változó oszlopában a hozzá tartozó ar vektornak az egységvektorokra vonatkozó koordiná­ tái állnak. A tábla első oszlopában az egységvektorok szerepelnek, azonban a megoldás során az egységvektorok jelét nem írjuk ki, hiszen tudjuk, hogy az z-edik sor elején e, áll, hacsak nem vontuk be a helyére A oszlopvektorainak valamelyikét. Ha ar-t az ek egységvektor helyé­ re a bázisba visszük, akkor ezt úgy jelöljük, hogy a £-adik sor elejére xr-t írunk.

ei

a↑↑

Xr a↑r

e*

Qk\

βkr

Xj

ewι

ml

atnr

■.

xn

• •

Ct\n

b by

Clkn

b.k

Qmn

bm

• •

l együk lel, hogy az elemi bázistranszformációk sorozatának első lépésében az ar vektort az e∣c egységvektor helyére kívánjuk a bázisba vinni. Ezt csak akkor tudjuk megtenni, ha ar-nek az cA-ra vonatkozó akr koordinátája nem nulla, mert egyébként a, előállítható lenne az e^-tól kü­ lönböző bázisvektorokkal, és emiatt nem alkothatnának bázist.

1. Lineáris algebrai alapfogalmak

22

Az új bázisra vonatkozó koordináták meghatározását röviden pivotálásnak is szokás nevezni. Az új koordináták kiszámításánál kulcsfontosságú szerepet játszó akr koordináta neve pivot elem, de szokásos a generáló elem elnevezés is. Legyen az ar vektor előállítása az egységvektorokból álló bázissal ar = a↑rei + . . . + akrek + . . . + amrem, ahol akr≠0. A fenti egyenletből fejezzük ki ert: —

1

n — ^lr

i

_ ak-∖,r

_ ttk + ∖.r

ej ^L.. .

θΛ akr

akr

akr

_ amr

_

Cjt+i Ukr

... ttkr

Az az∙ (∕ ≠ r) és b vektor előállítása az egységvektorokkal az = a↑je↑ + . .. + akjek + . . . + amjem

és b = bie↑ + ... + bkek + ... + bmem.

Ha az e*-ra kapott kifejezést behelyettesítjük az-be (j = 1, 2, . . . , n, j ≠ r) és b-be, akkor az alábbi kifejezéseket kapjuk:

Az ay∙ és a b vektor új bázisra vonatkozó koordinátáit a koordinátatáblába írva az alábbi táblát kapjuk:

1.3. A bázistranszformáció alkalmazásai: lineáris egyenletrendszerek megoldása

23

Az új bázisra vonatkozó koordináták meghatározásakor célszerű először a pivot elem sorában levő δz∙ = akj∕akr hányadost kiszámítani, mivel ez a hányados minden koordinátában szerepel. Iinnék felhasználásával az új koordináták az i ≠ r esetben aij -airδj képlettel számíthatók ki.

A transzformáció után az ar vektornak az új bázisra vonatkozó koordinátáiból álló oszlopot elhagyhatjuk, mivel ez az oszlop triviális információt tartalmaz. Az ar vektornak önmagára vonatkozó koordinátája 1, a többi bázisvektorra vonatkozó viszont 0.

Az elemi bázistranszformációk sorozata kétféleképpen fejeződhet be: • az A mátrix összes oszlopvektorát bevittük egységvektorok helyére a bázisba, • a bázisba be nem vitt oszlopvektoroknak minden még a bázisban lévő egységvektorra vo­ natkozó koordinátája nulla. A következő lépés annak eldöntése, hogy van-e megoldása az egyenletrendszernek? Ha az utolsó koordinátatáblához tartozó bázis kizárólag A oszlopvektoraiból áll, akkor az egyenlet­ rendszernek biztosan van megoldása, ellenkező esetben azonban lehet, hogy nincs.

Kgy lineáris egyenletrendszernek • nincs megoldása, ha a bázisvektorok között van olyan egységvektor, amelyre vonatkozóan b koordinátája nem nulla, • van megoldása, ha b-nek a bázisban lévő egységvektorokra vonatkozó koordinátái mind nullák vagy a bázisban már nincs egységvektor. Ha A minden oszlopvektorát sikerült be­ vinni a bázisba egységvektorok helyére, akkor egy megoldása van az egyenletrendszernek, egyébként végtelen sok. Az Ax = b egyenletrendszer általános megoldásának előállításához tekintsük az egyenlet­ rendszert az alábbi particionált formában adottnak:

AnXi + Aι2x2 = bι A2ιXι + A22X2 = b2

feltételezzük, hogy Au A:-adrendü kvadratikus blokk, amelynek rangja is k. Ez egyúttal azt is jelenti, hogy az Au blokk invertálható. A feladathoz tartozó koordinátatábla: X1 An A2i

x2 Ai2 A22

b1 b2

Mivel az Au blokk oszlopvektorai lineárisan függetlenek, így az bevihetők az első k egységvektor helyére a bázisba. A kiinduló egységvektorokból álló bázis particionált alakban

A„

Al.

blokké is azok, és így

1. Lineáris algebrai alapfogalmak

24

Ha az első k egységvektor helyére az A mátrix első k oszlopát vonjuk be a bázisba, akkor az alábbi B bázishoz jutunk:

Ennek a mátrixnak az inverzét úgy határozzuk meg, hogy megoldjuk a BX = E mátrixegyen­ letet: Ei

O

A szorzások elvégzése után az alábbi mátrixegyenleteket kapjuk: AiiXn = Ejt A11X12 = O A21Xn + En-jtX21 = O A2]X12 ÷ Ew-jtX22 = Ew-jfc

Az első egyenletből X1ι = A^1, a másodikból X∣2 = O. Ezek felhasználásával kapjuk, hogy X2ι = - A21 A'1 és X22 = En-jt∙ A B mátrix inverze így Aü*

B 1

-a21a-,

Ha kiinduló egyenletrendszerünket az A mátrix blokkokra bontásával az A∩

A12

∖^

b.

_A2i

A22_

_X2_

b2

formában íijuk fel, majd mindkét oldalát balról megszorozzuk B inverzével, akkor az alábbi ekvivalens egyenletrendszerhez jutunk:

X 0

X|l=

A^1 A

A

^22

-A 2* 21 2A^ 11 1 2A * *12

J _X2_

A-'b, _b2_A21Anbl_

Ehhez az egyenletrendszerhez az alábbi koordinátatábla tartozik: x2

Xi

A11 A12

Aπ1bι

A22- A21A111A12

b2-A21 A111b]

Ebben a táblában az első k egységvektor helyett az A mátrix első k oszlopvektora a bázisvek­ tor. Mivel feltételeztük, hogy az A mátrixnak csak az első k vektora vihető be az egységvekto­ rokból álló bázisba, ezért A22 - A2ιA∩1 Aj2 = O. Emiatt az egyenletrendszernek csak akkor

1.3. A bázistranszformáció alkalmazásai: lineáris egyenletrendszerek megoldása

25

van megoldása, ha b2 - A2ιA111bι = o. A fentiek miatt egyenletrendszerünk a B bázisban az alábbi alakba írható:

X 0

A2 ∕A ⅜-H-1∕Y∣

V

^A-'b,^

O

.x2.

0

A szorzások elvégzése után az

Xi ÷ A11 A12x2 — A11b1 és 0= 0

egyenletekhez jutunk. Az első egyenletből xret kifejezve megkapjuk az egyenletrendszer ál­ talános megoldását:

Xi — A11b1 — A11 A12x2 Az általános megoldás egy olyan összefüggés a bázisvektorokhoz tartozó bázisváltozók és a nembázis vektorokhoz tartozó nembázisváltozók között, amely lehetővé teszi, hogy a nembázisváltozók megválasztásával kiszámítsuk a bázisváltozók értékét, és így megkapjuk az egyenletrendszer egy partikuláris megoldását.

Ha a nembázisváltozók mindegyikének értékét nullának választjuk, akkor egy speciális partikuláris megoldáshoz jutunk, amelynek neve bázismegoldás. I gy bázismegoldás az A mátrix oszlopvektoraiból kiválasztott bázis vektorainak lineáris kombinációjával állítja elő a b vektort. Ha egy bázismegoldásban legalább egy bázisváltozó értéke is 0, akkor a bázismegoldást degeneráltnak nevezzük.

1.8. PÉLDA. Oldjuk meg az alábbi egyenletrendszert: 2xι + x2 + xj + 3x4 ” 3x5 = 16 x1 - 4x2 ÷ 5x3 + 6x4 + 3x5 - 17 4xi + 3x2 + x3 + 5x4 - 7x5 - 30

Az egyenletrendszer induló koordinátatáblája az alábbi: Xi

2 1 4

*2

1 1 -4 3

*3

X4

1 5 1

3 6 5

x$ -3 3 “7

16 17 30

Az első elemi bázistransz formációval az al vektort az e2 egységvektor helyére visszük a bá­ zisba. A számítások során a pivot elemet bckeretezéssel jelöltük.

26

I.

AA

A'2

1 •V|

9 1 4 19

Lineáris algebrai alapfogalmak

\.|

9

9

5 19

18 17 38

9

3

6

19

19

Második lépésben az ei egységvektort az a2 egységvekloi ral cseréljük fel.

.v2

A'i

A" 3

a∙4

As

- 1 1 0

- 1 2 0

1 1

2 9

0

0

Az elemi bázistranszformációk sorozata nem folytatható mixel az c egységvektor helyére az a,. a - es a; vektorok egyike sem vihető be a bázisba. Ezek a vektorok ugyanis mind ki fe­ jezhetők már bázisban léxő a∣ és a2 vektorok lineáris kombinációjaként, és így az a1 és a vektorokkal együtt mindegyikük lineárisan összefüggő rendszeri alkot.

Az egyenletrendszer megoldható, mivel b előállítható A oszlopvektorainak linearis kom­ binációjaként (b benne fekszik A oszlopvektorterében). Nem sikerült azonban A minden oszlopv eklorál a bázisba \ inni. így a megoldások (az előállítások) száma végtelen.

így az egyenletrendszer általános megol­

dása

r_< I “ I 9

-1 -1 1

2

-1

v.

.v4

.V

Az .v2, .v4 ~ a'5 ---= 0 választással az x [9. - 2, 0, 0. 0] bázismegoldást kapjuk. Mivel A bár­ mely két oszlopvcktora lineárisan független rendszert alkot, ezért az egyenletrendszernek összesen 10 különböző bázismegoldása van.

A lineáris egyenletrendszerek megoldása nemcsak a vektoros szemléletmódon alapuló elemei bázistranszformációval végezhető el, hanem az úgynevezett Gauss-Jordan-féle eliminációs módszerrel is, amelynek alapgondolata az, hogy az egyenletrendszert az ismeretlenek kiküsz­ öbölésével olyan alakra hozzuk, hogy minden egyenletben legyen egy olyan változó 1-es együtthatóval, amely csak abban az egyenletben szerepel. Ekkor ugyanis az egyenletrendszer bármely megoldását könnyen előállíthatjuk, ha konkrét értéket adunk azoknak a változóknak, amelyek több egyenletben szerepelnek.

Az eliminációs módszer ismeretének fontosságát aláhúzza az a tény, hogy a megoldás ugyanazon koordinátatáblák sorozatával végezhető, mint amelyeket az elemi bázis­ transzformációnál használtunk, csak a hozzáfűzött magyarázat más.

∕.3. A bázistranszformáció alkalmazásai: lineáris egyenletrendszerek megoldása

27

1 »9. PÉLDA. Oldjuk meg most az 2x∣ + xi + x$ ÷ 3x4 “ 3xs = 16 X] - 4x2 + 5x3 + 6x4 ÷ 3xs ≈ 17 4xi + 3x2 + X3 ÷ 5x4 ~ 7x5 - 30

egyenletrendszert Gauss-Jordan-féle eliminációval. A egyenletrendszerhez tartozó tábláza­ tot ugyanúgy írjuk fel, ahogy azt az elemi bázistranszformációnál tettük.

X2 1 “4 3

X1

2 1 4

X3

X4

1 5 1

3 6 5

*5 -3 3 ~7

16 17 30

Alakítsuk át először az egyenletrendszert oly módon, hogy Xi csak a második egyenletben maradjon meg 1-es együtthatóval, tehát elimináljuk (küszöböljük ki) xi-et az 1. és 3. egyen­ letből.

Ha xi együtthatója a 2. egyenletben nem 1 lenne, akkor 2. egyenletet először el kellene osz­ tani X] együtthatójával, de ez a lépés most elhagyható. Ezután a 2. egyenlet (~2)-szereset az I., (~4)-szereset a 3. egyenlethez adva xret kiküszöböljük a többi egyenletből. Az új táblá­ zatban Xj oszlopát elhagyjuk, és xret annak a sornak az elejére írjuk, amelyik egyenletben meghagytuk. Az átalakított egyenletrendszernek az alábbi táblázat felel meg: x2 9 ~4 19

x3 -9 5 ~ 19

X4

~9 6 “19

X$ -9 3 - 19

- 18 17 -38

Bármely lépés után a táblázat sorait egyenletekké alakíthatjuk. A 2. sornak megfelelő egyenletet úgy kapjuk, hogy leírjuk xret, majd az első függőleges vonalat átlépve „+” jelet írunk és az együtthatókat rendre megszorozzuk a felette álló változóval, a kapott tagokat összeadjuk, majd a második függőleges vonalhoz érve egy egyenlőségjelet írunk, és az egyenlőség jobb oldalára az utolsó oszlopban álló számot írjuk. Második lépésben úgy alakítjuk át az egyenletrendszert, hogy x2 csak az 1. egyenletben ma­ radjon meg. Először az 1. egyenlet mindkét oldalát elosztjuk 9-cel, majd a kapott egyenlet 4-szeresét a 2., (-19)-szeresét a 3. egyenlethez adjuk. Az x2 eliminációja után kapott egyen­ letrendszerhez az alábbi táblázat tartozik:

*2 X|

x3 “1 1 0

X4

*5

-1 2 0

-1 “1 0

“2 9 0

1. Lineáris algebrai alapfogalmak

28

Az eliminációk sorozata nem folytatható, mert a 3. egyenlet mindkét oldala nullává vált, az első két egyenletnek pedig mindegyikében van olyan változó, amelyik csak abban szerepel. Ha táblázat sorait egyenletekké írjuk át és átrendezzük, akkor az általános megoldásnak ugyanazt az alakját kapjuk, mint elemi bázistranszforrnációval, csak skalár alakban: X2 = — 2 + Xy + 9

X1 ==

Λ'4 +

Xy “ 2λ^4 ÷ A's

A magyarázatban szereplő műveleteket elemi sorműveleteknek nevezzük. Az egyenlet­ rendszer megoldása ekkor tehát elemi sorműveletek elvégzésének sorozatát jelenti - ugyanab­ ban a táblázatos formában, amelyet a bázistranszformációs eljárásnál bevezettünk.

1.4. A bázistranszformáció alkalmazásai: mátrixok invertálása Az elemi bázistranszformáció egy másik fontos alkalmazása a mátrixok inverzének meghatá­ rozása. Mint ahogyan azt az inverz definíciójának megadásakor láttuk, egy A kvadratikus mátrix inverzének meghatározásához az AX = E mátrixegyenletet kell megoldani, ahol E az A-val azonos rendű egységmátrix. Ez a mátrixegyenlet felírható

[Axi, Ax2, ..., Axzι] = [ eb e2,..., e„] alakban, ahol az xb x2,..., x„ vektorok a keresett inverz oszlopvektorai. Ezeket a vektorokat úgy kaphatjuk meg, hogy rendre megoldjuk az Ax1= eb Ax2 = e2,..., Ax„ = e„

egyenletrendszereket.

Mivel ezeknek az egyenletrendszereknek az együtthatómátrixa azonos, ezért egyszerre is megoldhatók oly módon, hogy minden koordinátatáblában az összes egységvektomak az ak­ tuális bázisra vonatkozó koordinátáit szerepeltetjük. Az induló koordinátatábla az alábbi: ei

aj an

ek



. ..

ar a↑r

..

.. [⅛ ■ amr

••

aπ a↑n

ei

e*

1

0

Qkn

0

1

0

^mn

0

0

1

en .

0

Ha az akr ≠ 0 elemet pivot elemnek választjuk és az ar vektort az e* egységvektor helyére a bázisba visszük, akkor az alábbi koordinátatáblát kapjuk:

29

1.4. A bázistranszformáció alkalmazásai: mátrixok invertálása

A bázisba lépő ar vektor oszlopát - akárcsak az egyenletrendszerek megoldásakor - elhagy­ juk, hiszen nyilvánvaló információt tartalmaz. Vegyük észre, hogy az első lépésben csak an­ nak az egységvektomak a koordinátái változnak, amelyik távozik a bázisból. A későbbi lépé­ sek során is csak azoknak az egységvektoroknak koordinátái változhatnak meg, amelyek helyére már bevontuk A valamely oszlopvektorát.

1.10. PÉLDA. Legyen adott az alábbi mátrix: 4

1

3

2

4

0 7

l'kkor az induló koordinátatábla a következő:

e2 e3

ai 4 7 3

a2 1 2 0

1

a3

Cl

θ2

1 3

1 0 0

0 1 0

4 7

e3 0 0 1

A törtek elkerülése érdekében először az a2 vektort az ei egységvektor helyére visszük a bázisba. Két további transzformáció után megkapjuk az egységvektorok A oszlopaira vo­ natkozó koordinátáit:

1. Lineáris algebrai alapfogalmak

30

a2 ai a3

ej -37 14 “6

e2 19 “7 3

5 -2 1

A fenti koordinátatábla már tartalmazza az A mátrix inverzének elemeit, azonban az oszlo­ pokban nem helyes az elemek sorrendje. Mivel minden oszlopban a legfelső elem az A mát­ rix második, az következő elem pedig az első oszlopvektorra vonatkozó koordinátát tartal­ mazza, ezért a táblázat első két sorát fel kell cserélni. Az A mátrix inverze tehát az alábbi: -7

-2~

-37

19

5

—6

3

1

’ 14

Az invertálás még gazdaságosabban elvégezhető, ha kihasználjuk azt, hogy minden lépésben csak azoknak az egységvektoroknak a koordinátái változhatnak meg, amelyek már a korábbi lépések során megváltoztak, továbbá az éppen bázisba lépő egységvektoré. Emiatt az invertálást célszerű egy redukált koordinátatáblában elvégezni, amely az eljárás kezdetben nem tartalmazza az egységvektoroknak a kiinduló - egységvektorokból álló - bázisra vonat­ kozó koordinátáit. Ha valamely lépésben az ar vektort az ek egységvektor helyére visszük a bázisba, akkor az ek vektor most először megváltozó koordinátáit írjuk abba az oszlopba, amelyben ar koordinátái voltak. A kiinduló, úgynevezett redukált koordinátatábla az alábbi: ei

ai a↑↑

ek

ak↑

®m

eimi

. ..

ar a ↑r

.. | α*r

••

amr

an

. .

• ∙

&\n

| .

• •

&kn

&mn

Ha az akr ≠ 0 elemet pivot elemnek választjuk és az ar vektort az e⅛ egységvektor helyére a bázisba visszük, akkor az ar vektor új bázisra vonatkozó triviális koordinátái helyére ek új ko­ ordinátáit írjuk. Az A mátrix többi oszlopvektorának az új bázisra vonatkozó koordinátáit a korábban megismert módon számítjuk ki.

31

1.4. A bázistranszformáció alkalmazásai: mátrixok invertálása

A pivot elem - vagyis az a, vektor - oszlopába kerülő koordináták kiszámítási módját tömören a következőképpen fogalmazhatjuk meg: • a pivot elem helyére a reciprokát írjuk, • a pivot elem oszlopának többi elemét elosztjuk a pivot elemmel, és vesszük az ellentettjét (-1szeresét). 1.11. PÉLDA. A redukált koordinátatábla az alábbi: *1

ei ©2 e3

4 7 3

I1

ao i

2 0

1

a3 3 4 7

I löször az a2 vektort az ej egységvektor helyére visszük a bázisba. Két további transzfor­ máció után megkapjuk az egységvektorok A oszlopaira vonatkozó koordinátáit:

a3 3 “2 7

a2 e2 e3

ai 4 1 -1 3

a2 *1 e3

e2 4 -1 3

a3 Cl -7 ”5 2 2 -6 | 1

a2 ai a3

e2 19 -7 3

~37 14 ”6

1 1 ~2 0

1

e3 5 -2 1

Az utolsó koordinátatáblából A inverze most sem olvasható le közvetlenül. A tábla sorait és oszlopait úgy kell átrendezni, hogy az indexek felülről lefelé, és balról jobbra növekvő sorívűdben következzenek, tehát a tahi a első két sorát és oszlopát is fel kell cserélni.

1. Lineáris algebrai alapfogalmak

32

Ha olyan koordinátatáblához jutunk, amelyben a bázisba még be nem vitt minden A-beli osz­ lop vektornak a bázisban lévő egységvektorokra vonatkozó koordinátája nulla, akkor az eljárás nem folytatható, emiatt az A mátrixnak nincs inverze. Az egyenletrendszerek megoldására és az inverz előállítására vonatkozó eljárásoknak az el­ méleti háttér bemutatásán kívül a kézi számolások elvégzésénél van jelentősége. Ezek az eljá­ rások (némileg módosított formában) főleg tankönyvünknek a lineáris programozással foglal­ kozó részében jelennek meg. Természetesen ma már a legtöbb esetben nem kézzel, hanem számítógépes programok segítségével számolunk: ezen programok speciális, kimondottan a számítógép előnyeit kihasználó algoritmusokat is tartalmazhatnak. E tankönyv függelékében több olyan programcsomagot is bemutatunk, amelyek ezen fejezet elveire támaszkodva dol­ goznak. Akármilyen algoritmussal is számolunk azonban, az eredmények elemzéséhez ismer­ nünk kell azok korrekt matematikai értelmezését, azaz a legtöbb esetben a lineáris algebra alapvető összefüggéseit.

1.5. Konvex halmazokról A továbbiakban szükségünk lesz egyes geometriai fogalmakra is.

Az x1, x2∈fl"pontokat összekötő szakaszon az

X = { x | x = λx1 + (1 - λ)x2, 0 < λ ≤ 1 } halmazt értjük. Azt is mondhatjuk, hogy az Xi és x2 pontok konvex kombinációinak halmaza sza­ kaszt alkot.

∕∖Ccff halmazt konvexnek nevezzük, ha bármely x1 ∈C, x2 ∈C esetén a két pontot összekötő sza­ kasz teljes egészében C-ben fekszik.

1.1. ÁBRA. Konvex és nem konvex halmazok

33

1.5. Konvex halmazokról

Az a) sokszög, b) félsík, c) szögtartomány és a d) körlap konvex halmazok. Az e) halmaz két pontját összekötő szaggatott vonal nem fekszik teljes egészében a halmazban, ezért ez a hal­ maz nem konvex.

Legyen adott c ∈ Rn, c ≠ o és egy b skalár. A W = { x∣ cx = 6,x∈ Rπ} ponthalmazt hipersíknak nevezzük. I íz a fogalom a síkbeli egyenes és a térbeli sík fogalmának általánosítása az Rn, n dimenziós euklideszi térre. A hipersík akkor és csak akkor illeszkedik az origóra, ha b = 0. Ekkor H az Rn tér n - 1 dimenziós altere. A ex = b hipersík az Rn teret három páronként diszjunkt részhalmazra bontja:

H∖ ={ x∣ cx, x∈ Rn}, H2 ={ x∣ cx = b, x∈ Rn}, Hí = { x | ex > b, x ∈ Rn}. A //i és Hí nyílt halmazokat nyitott féltereknek nevezzük. A H↑u H2={ x | ex ≤ Z>, x ∈ Rn},

és H2 0, x2 ≥ 0, x2 > 0 egyenlőtlenségek által meghatározott L halmazt. Geometriailag ez a halmaz egy olyan tetraéder, amelynek csúcsai az aj - [10, 0, 0], a2 = [0, 10, 0], a3 ~ [0, 0, 10] és az a4 = [0, 0, 0] pontok.

Az L halmaz konvex poliéder, mivel négy zárt féltér metszete. Korlátos is, ennek következté­ ben politop. Az X] + x2 = 10 egyenletet kielégítő pontok halmaza olyan hipersík, amely tá­ maszsíkja az L halmaznak. A közös pontok az a1 = [10, 0,0] és a2 = [0, 10, 0] pontokat öszszekötő szakasz pontjai. Mivel ez az oldal egy dimenziós, ezért az L halmaznak éle.

Az operációkutatásról

2.1.

Az operációkutatás fogalma

⅝,⅜,∙⅝

Operációkutatási modellezés

2.1. Az operációkutatás fogalma A magyar anyanyelvű olvasó számára némileg furcsának hangzik az operációkutatás kifeje­ zés. Nem véletlenül, hiszen eredetileg a második világháborút megelőzően, majd a háború alatt működött Angliában egy olyan kutatócsoport, amelynek az volt a feladata, hogy speciális katonai problémák gyakorlati megoldásában segédkezzen a hadvezetésnek. Hadi szállítmá­ nyok leggyorsabb eljuttatása egy megadott helyre, tengeralattjáró bázisok optimális telepítése, légvédelmi rakétaegységek hatékony elhelyezése - csak néhány azok közül a feladatok közül, amelyekkel foglalkoztak. A csoport nevében és munkájában a hadműveleti elemzés (operational analysis) jelent meg, s ez vált a későbbiekben kialakuló izgalmas kutatási terület (operational research) elnevezésévé is, ekkor azonban már az „operational” szó „tevékenység, művelet” fordítása jellemezte jobban a mögöttes tartalmat.

A kutatások ugyanis a háború után is folytatódtak. Kiderült, hogy a hadi problémák esetében alkalmazott modellezési és matematikai megoldások békeidőben is nagyszerűen felhasználha­ tók, hiszen a feladatok átfogalmazhatok (termékek eljuttatása a fogyasztóhoz, raktárbázisok optimális elhelyezése, és így tovább), a matematikai eszköztár pedig nyilvánvalóan eléggé általános a tetszőleges területen történő alkalmazáshoz. Kialakult tehát egy speciális tudo­ mányterület, az operációkutatás. Az operációkutatás a kezdetektől fogva néhány olyan vonással rendelkezett, amely megkü­ lönböztette egyéb területektől. Egyrészt erőteljesen alkalmazásorientált volt és mindmáig az maradt. A módszertani fejlődést a felmerülő gazdasági, mérnöki, társadalomtudományi prob­ lémák irányították, s nem arról volt szó, hogy a módszerekhez keressenek alkalmazási terüle­ teket. Másrészt - mint az előző felsorolásból látszik - erősen interdiszciplináris: mindazon tudományterületekhez és alkalmazási területekhez köthető, ahol a modellezés során gyakorlati megoldások, döntések segítéséről van szó. Végül érdemes azt is megjegyezni, hogy az operációkutatás magán viseli kialakulásának tör­ téneti jegyeit is. Vannak „hagyományos” operációkutatási területek. Ilyenek például a lineáris programozás, a készletgazdálkodás vagy a hálózati problémák megoldása. Ugyancsak ha­ gyományosnak tekinthető az a szemlélet is, amely a kezdetektől fogva elsősorban az alkalma­ zok sajátja volt: optimális megoldásokat kerestek a felmerülő problémákra. Ezért lehetséges az, hogy sokan a matematikai programozást szinte azonosnak tekintették az operációkutatás­ sal. I íz nem fedi a valós helyzetet. Az operációkutatásnak vannak olyan (akár hagyományos­ nak is nevezhető) területei, ahol a normativitás helyett a leírás a fontosabb, illetve a matema­ tikai programozás determinisztikus modelljei mellett megjelentek a valószínűségszámítás eszközeit felhasználó modellek is. Ilyenek például a sorbanállási és tömegkiszolgálási prob­ lémák, de tekinthetjük úgy, hogy egy új módszertani eszköz, a szimuláció is az operációkuta­ tás fegyvertárának egyik lényeges elemévé vált. Az operációkutatás a múlt század ötvenes éveiben indult el igazán hódító útjára, s a hetvenes években ért el kifejlett állapotába. Kutatócsoportok, tanszékek alakultak. Az operációkutatási modellezés nem csak az egyetemekre vonult be, hanem a nagyvállalatok kutatási részlegeibe is, A vállalati és kormányzati megbízások nyomán a módszertan is virágzott: a legtöbb ma is használt modell ekkor alakult ki és vált matematikailag precízzé. Operációkutatási tanköny­ vek és kézikönyvek sora jelent meg, folyóiratok indultak el.

2. Az operációkutatásról

38

Az operációkutatás talán a legnagyobb hatással a közgazdaságtani és üzleti tudomány terüle­ tekre volt. A szintén ebben az időszakban virágzásnak induló vezetéstudomány (management science) vezető szerepet játszó módszertani apparátusát jelentette. Nem véletlen, hogy pl. az Egyesült Államokban a két terület egyesített tudományos társaságot működtetett. Az operá­ ciókutatási modellezést megtermékenyítő feladatok zöme a termelésirányítás, a vállalati stra­ tégia, a pénzügyi irányítás vagy a vállalati műszaki fejlesztés területéről érkezett. A múlt század végén az operációkutatásra egyre nagyobb hatással volt a számítástudomány fejlődése és a hatékony, szupergyors számítógépek megjelenése. Míg addig a hatékony algo­ ritmusok kialakítása, javítása, a számítógépek memóriájával és gyorsaságával való küzdelem szinte egyenrangú szerepet játszott a matematikai modellezéssel, az utóbbi időben (egyes fel­ adattípusokat kivéve) ez némileg háttérbe szorult. Még mindig igaz azonban, hogy az operá­ ciókutatás és az informatika az alkalmazások szintjén egymástól elválaszthatatlan és egymást inspiráló szerepet tölt be. Ha tehát visszatérünk arra az alapkérdésre, hogy mi is az operációkutatás, akkor az eddig el­ mondottak jól körülírják ugyan, de látható, hogy rövid, frappáns definíciót adni nehéz - ezt még az operációkutatási társaságok és az operációkutatással foglalkozó kézikönyvek sem tud­ ják megtenni: egy-egy vonást a fentiekből kiemelve különböző meghatározások léteznek egy­ más mellett.

Az operációkutatás egyes területein kulcsszerepet játszó kutatók listája igen hosszú, itt most meg sem próbáljuk felsorolni őket. A tankönyv egyes fejezeteiben, algoritmusok elnevezésé­ ben, az irodalomjegyzékben felbukkannak majd a meghatározó nevek. Feltétlenül meg kell azonban említenünk, hogy a magyar operációkutatás múltja is gazdag, a módszertan fejlődé­ séhez sok magyar tudós járult hozzá pl. a gráfelmélet speciális alkalmazási modelljeinek ma­ tematikai megalapozása, a lineáris programozás számítástechnikai realizációinak kifejlesztése, a készletgazdálkodás, a játékelmélet vagy a sztochasztikus programozás területén. 1967-ben Prékopa András szervezésében már operációkutatási konferenciát rendeztek Magyarországon és megalakult a Magyar Operációkutatási Társaság, amely azóta is fontos missziót tölt be, be­ vonva működésébe az országban található számos műhelyt. Az MTA Operációkutatási Bizott­ sága is elismert, sikeres tevékenységet folytat.

2.2. Operációkutatási modellezés Az operációkutatás lényegi jellemzője a modellező megközelítés. Sok esetben éppen úgy tud­ juk megmondani, hogy valamely kutatási-tudományos témakör beletartozik-e az operációku­ tatásba, ha átgondoljuk, hogy mennyire komplex módon nyúl a problémához, illetve az alkal­ mazás igényével teszi-e azt.

Egyes szerzők, tankönyvek az operációkutatásban használt modellezési eljárást különböző­ képpen tagolják, azonban lényegében mindegyik leírás tartalmazza az alábbi lépéseket:

/. A probléma verbális megfogalmazása. 2. A probléma matematikai formába öntése.



2. 2. Operációkutatási modellezés

39

. 0.

A másik fontos alak a kanonikus alak, amelyre szintén bármely LP feladat átalakítható.

53

. 1500 teljesül. Mivel az origó koordinátáit behelyettesítve a 0 < 1500 igaz egyenlőtlenséghez jutunk, ezért az egyenesnek az origóval megegyező oldalán lévő pon­ tok koordinátái elégítik ki a szigorú egyenlőtlenséget. I lasonlóképpen a (ii) és (iii) feltételnek megfelelő egyeneseknek is az origóval megegyező oldalán fekvő pontjai elégítik ki a szigorú egyenlőtlenségeket. A feltételrendszert tehát azon pontok koordinátái elégítik ki, amelyek mindhárom ponthalmazban benne vannak. Fzck a pontok alkotják a feltételrendszer megoldáshalmazát. A megoldáshalmaz első síknegyedbe eső pontjai reprezentálják a lehetséges megoldásokat. A lehetséges (más el­ nevezéssel megvalósítható vagy megengedett) megoldások tehát nemcsak a feltételrend­ szert, hanem a nemnegativitási kikötéseket is kielégítik.

A lehetséges megoldások halmazát a 3.2. ábrán vastagon kihúzott szakaszok határolják. I átható, hogy a második feltétel redundáns (felesleges), tehát bármely termelési program esetén marad fel nem használt gépóra.

A lehetséges megoldások halmazának egyik legfontosabb tulajdonsága, hogy konvex. Ez azt jelenti, hogy tetszőleges két pontját összekötő szakasz pontjai is mind benne vannak a hal­ mazban, tehát azok is lehetséges megoldások. Másik fontos tulajdonsága a lehetséges megoldások halmazának, hogy véges sok csúcspontja van. Könnyen látható, hogy ezek a tulajdonságok érvényben maradnak akkor is, ha a feltéte­ lek számát növeljük. I'Kifordul, hogy a lehetséges megoldások halmaza üres, tehát nincs olyan pont, amelynek koordinátái egyidejűleg kielégítik az összes feltételt. Van olyan LP feladat is, hogy a lehetsé­ ges megoldások halmazának az origótól bármilyen messze is vannak pontjai, azaz a lehetsé­ ges megoldások halmaza nem korlátos.

A grafikus megoldás második lépése a maximális célfüggvényértéket adó pont(ok) megkere­ sése. Először azokat a pontokat keressük meg, amelyekben a célfüggvény egy adott értéket vesz fel. Például a z = 800 000 Ft fedezeti nyereséget adó pontok a 4000xi + 7300x2 = 800 000 egyenesen helyezkednek el. Ezt az egyenest a célfüggvény z = 800 000 értékhez tartozó szintvonalának nevezzük. Könnyen látható, hogy ha ezt a szintvonalat az ábrán látható nyíl irányában önmagával párhuzamosan eltoljuk, akkor egyre nagyobb célfüggvényértékeket adó pontokon halad át. Ezért az eltolást mindaddig folytatjuk, amíg a szintvonal még éppen metszi ii lehetséges megoldások halmazát. Utoljára az x = [100, 200] pontban van a szintvonalnak a lehetséges megoldások halmazával közös pontja, ezért x1 = 100 és x2= 200 a feladat optimális megoldása, és a maximális fedezeti nyereség 1 860 000 Ft.

3. Lineáris programozás: a szimplex módszer

56

A grafikus megoldás azt sugallja, hogy • a lehetséges megoldások halmazának egyetlen belső pontja sem lehet optimális, • ha egy LP feladatnak van optimális megoldása, akkor a lehetséges megoldások halmazának legalább egy csúcspontja is optimális pont.

Ennek következtében, ha célunk csupán egyetlen optimális megoldás előállítása, akkor ele­ gendő a lehetséges megoldások halmazának csúcspontjait vizsgálnunk. Előfordulhat, hogy a célfüggvény szintvonala a lehetséges megoldások halmazát határoló sza­ kaszok valamelyikével párhuzamos, és így ennek a szakasznak minden pontja optimális. Ek­ kor két csúcspont is optimális.

Látni fogjuk, hogy a csúcspontoknak megfelelő lehetséges megoldásokat algebrai úton is elő tudjuk állítani, azonban egy olyan megoldási stratégia, ahol az összes ilyen megoldást előállít­ juk, majd közülük kiválasztjuk az optimálisát, a csúcspontok nagy száma miatt a gyakorlati méretű feladatok esetén kivitelezhetetlen. A következő alfejezetben tárgyalásra kerülő szimplex módszer alapgondolata az, hogy a lehetséges megoldások halmazának valamely pontjából (pl. az origóból) kiindulva mindig az eddiginél nem kisebb célfüggvényértékü szomszédos csúcspontra lépünk át, mindaddig, amíg az optimális csúcspontba nem jutunk.

Kétváltozós feladatokat vizsgálva ez az ötlet nem látszik ígéretesnek, mivel (ahogyan ez ilyen feladatok vizsgálata alapján kiderült) átlagosan a lehetséges megoldások halmaza csúcspontja­ inak felét meg kell vizsgálni. Kiderült azonban, hogy a valós gyakorlati alkalmazások esetén (néhány ezer feltétel és néhány tízezer változó) általában a csúcspontoknak csak egy töredé­ kén kell áthaladni az optimális csúcspont eléréséig. Mivel nagyméretű feladatok megoldásakor a szimplex módszerrel is igen sok csúcsponton kell áthaladni az optimális csúcspont eléréséig, ezért jelentős erőfeszítések történtek olyan eljárások kidolgozására, amellyel nagy méretű feladatok is hatékonyan megoldhatók. Ezeknek a módszereknek a többsége az ún. belső pontos eljárásokat alkalmazza, és több százezer vál­ tozót tartalmazó feladatok esetén hatékonyabb a szimplex módszernél, de kisebb méretű fel­ adatok megoldására továbbra is a szimplex módszer alkalmasabb.

3.2.3. LP feladatok algebrai és geometriai háttere Mielőtt a szimplex módszer tárgyalására rátérnénk, megismerkedünk néhány fontos foga­ lommal és összefüggéssel. Ebben a fejezetben az LP feladat kanonikus alakját használjuk, ezért először a standard és a kanonikus alak összefüggéseivel foglalkozunk.

Az Ax = b feltételt kielégítő x vektort a kanonikus alakú feladat megoldásának nevezzük. Ha teljesül rá az x ≥ o nemnegativitási kikötés is, akkor x lehetséges megoldás. A lehetséges megoldások halmazának jele L: L - { x | Ax =- bxx ≥ o }.

57

.i.2. A lineáris programozás elméleti alapjai

Egy x lehetséges megoldás akkor optimális, ha nincs nála nagyobb (minimumfeladat esetén ki­ sebb) célfüggvényértékű lehetséges megoldás. Az optimális megoldások halmazának jele Lq: Lq= { x0 I cx0>cx;x, x0 ∈ L }. Nem minden LP feladatnak van optimális megoldása. Előfordul, hogy egy LP feladatnak nincs lehetséges megoldása és vannak olyan LP feladatok is, amelyeknek a célfüggvénye a lehetséges megoldások halmazán tetszőlegesen nagy értéket is felvesz, tehát nem korlátos.

3.1. TÉTEL. Egy LP feladat standard alakjának és kanonikus alakjának lehetséges megoldásai kölcsönösen egyértelmű módon megfeleltethetők egymásnak. Bizonyítás. A standard feladat egy lehetséges megoldását a feltételekbe helyettesítve rendre egyértelműen ki tudjuk számítani az ui kiegészítő és vi többlet változók értékét. I la viszont a kanonikus alak egy lehetséges megoldását ismerjük, akkor a kiegészítő és a több­ let változók értékét elhagyva szintén egyértelmű módon megkapjuk a standard feladat egy le­ hetséges megoldását.

Mivel egy LP feladat standard alakjának és kanonikus alakjának célfüggvénye azonos, ezért, ha meghatároztuk a kanonikus alakú feladat egy optimális megoldását, akkor az optimális megoldása lesz a standard feladatnak is, és fordítva. Az A mátrix oszlopvektorainak összes lehetséges lineáris kombinációi lineáris teret alkotnak, amelyet A oszlopvektorterének nevezünk. Az alábbiakban feltesszük, hogy az A mátrix m×n típusú és teljes sorrangú, azaz p(A) = m. Ekkor A oszlopvektorai közül kiválasztható egy mcdrendű B mátrix, amelynek oszlopvektorai A oszlopvektorterének bázisát alkotják.

Az általánosság csorbítása nélkül feltehetjük, hogy éppen A első m oszlopvektora alkotja ezt a B bázist, így A a következő módon particionálható: A = [B, NJ. Ennek megfelelően írhatjuk, hogy x = [xB, Xn], ahol xB az x vektor első m komponenséből áll. A kanonikus alakú feladat Ax b feltételrendszere ezért a következőképpen is felírható: Bxb + Nxn = b. Mivel B bázismátrix, ezért létezik inverze, amellyel balról az egyenlet mindkét oldalát meg­ szorozhatjuk. Felhasználva, hogy B^1B = E, (amit nem szükséges kiírni), az xb

+ B 1Nxn = B ,b

xb

= B 1b-B 1Nxn.

egyenlőséget kapjuk, amelyből

I / az Ax = b egyenletrendszer általános megoldása, amelyből xN komponenseinek konkrét rí léket adva egy x [x∣0 , így —-------—< 0, amiből az következik, hogy a G,ir

^kr

&kr

kívánt egyenlőtlenség minden külön feltétel nélkül teljesül. Ha air = 0, akkor ∕>znem változik. I In (∣l, > 0, akkor a

szorzat nemnegativitásához az első tényező nemnegativitása

szükséges. Az ezt biztosító — ≥- egyenlőtlenség minden pozitív air-re pontosan akkor “ír

akr

h l∣csiil, ha

aλr

'∙^>° air ’

I /1 a pivot elem választási stratégiát a szűk keresztmetszet szabályának nevezzük. A pivot elem kiválasztása egy adott oszlopban tehát úgy történik, hogy az oszlop pozitív ele­ me ivei rendre elosztjuk az utolsó oszlop megfelelő elemeit, és a legkisebb hányados sorában \ nlnsztunk pivot elemet. Ha a választás nem egyértelmű, akkor tetszőlegesen választhatunk. Most már tudjuk, hogy egy vektort melyik bázisvektor helyére (sor) kell a bázisba vinnünk, lι 0, és az akr pivot elem is pozitív, ezért a z = —k—c akr célfüggvényérték akkor lesz nagyobb az előző bázishoz tartozó z = 0 célfüggvényértéknél, ha cr pozitív. A szimplex tábla célsorába azonban a célfüggvény együtthatóit ellentett előjellel írjuk be, ezért a célfüggvény értéke akkor növekszik, ha a bázisba lépő vektor oszlopában a célsorban negatív szám áll. Ez nemcsak az induló táblára, hanem bármely transzformált táblára is igaz. Ha ugyanis a pivot elem akr, a pivot elem sorában az utolsó oszlopban bk, a pivot elem oszlopában a cél­ sorban cr áll, akkor az elemi bázistranszformáció szabálya szerint a régi célfüggvényértékből

ki kell vonni —c -t. Mivel ak > 0 és bk > 0, ezért a célfüggvényérték akkor fog növekedni,

ha cr < 0.

Ha bk = 0, akkor az új bázishoz is ugyanaz a bázismegoldás tartozik, mint a régihez, és a cél­ függvény értéke is változatlan marad. Ebben az esetben tehát a bázismegoldás továbbra is megengedett marad, de a célfüggvény értékét nem tudjuk növelni, bármilyen akr > 0 elemet is választunk pivot elemnek.

A pivot elem kiválasztásának szabálya összefoglalva a következő: 1. Olyan oszlopban válasszunk pivot elemet, amelyben a célsor eleme negatív. 2. Pozitív számot válasszunk pivot elemnek. 3. A kiválasztott oszlop pozitív elemeivel osszuk el az utolsó oszlop megfelelő elemeit, és azt a szá­ mot válasszuk pivot elemnek, amelyre a hányados a legkisebb. Azt az elemi bázistranszformációt, amelynél a pivot elemet a fenti szabállyal választjuk ki szimplex transzformációnak nevezzük. A pivot elem kiválasztásának szabálya nem csak az induló, hanem bármely előzőleg transzformált táblára is érvényes.

A következő tételek arra válaszolnak, hogy milyen feltételek esetén fejezhetjük be a transz­ formációk sorozatát. Ehhez szükség van a többlépéses elemi bázistranszformáció ismeretére, amelynek levezetése az 1.4. fejezetben található. Legyen adott a max z = ex Ax + Eu = b x ≥ o, u ≥ o

kanonikus alakú feladat. Ennek a feladatnak az adatait beírhatjuk az induló szimplex táblába: z u

X -c A

0 b

67

I I /1 szimplex módszer

I ∙∣ιhez a táblához az

1

o

o

E

bázis tartozik.

Az | A, E] mátrix oszlopvektorai közül válasszunk ki egy B bázist, a többi oszlopvektort foglaljuk ihs/.c egy N mátrixban. Particionáljuk a c és az x vektort is ennek megfelelően: x = [xB, Xn] és 0 valós szám. Ekkor ∣x∣l, Xn] a kanonikus alakú feladat lehetséges megoldása, nicil √az * o miatt

3. Lineáris programozás: a szimplex módszer

68 xb

= B *12b - B 1Nxn = B 1b - d * j ≥ o.

Ugyanakkor az [xB, xN] lehetséges megoldás célfuggvényértéke

z = CβB ⅛ - (⅛B 1N — Cn)xn = cbB ⅛ - d Cj, ami bármilyen nagy lehet, mivel dcj < 0. (Jegyezzük meg, hogy a fenti két tétel bizonyításánál nem volt szükségünk a b ≥ o feltételre).

A normál feladatot a szimplex algoritmussal az alábbi módon oldjuk meg: 1. írjuk fel az induló szimplex táblát. 2. Válasszunk pivot elemet negatív célelem oszlopában a szűk keresztmetszetnél, és hajtsunk végre elemi bázistranszformációt. Folytassuk a transzformációk sorozatát mindaddig, amíg az alábbi két eset valamelyike be nem következik: • Ha a tábla célsorában van negatív szám, de alatta nincs pozitív szám, akkor a célfüggvény nem korlátos a lehetséges megoldások halmazán. • Ha a tábla célsorában nincs negatív szám, akkor a tábla tartalmaz egy optimális bázismegoldást. A pivot elem kiválasztásának szabálya nem ad útmutatást arra, hogy több negatív célelem ese­ tén melyik oszlop mellett döntsünk. Nincs olyan elméleti eredmény, amely az algoritmus bá­ ziscseréinek számát minden esetben minimalizálni tudná, ezért csak a tapasztalatra támasz­ kodhatunk. A gyakorlatban alkalmazott szabályok közül az alábbiak közül célszerű valamelyiket választani:

• Mivel Cj a célfüggvénynek xj egységnyi növekedésére eső változásával egyenlő, ezért vá­ lasszuk a legkisebb negatív célelemü oszlopot. • Minden negatív célelemü oszlopban határozzuk meg a pivot elemet, és számítsuk ki a célfüggvényérték növekedését. Válasszuk azt az oszlopot, amelynél a növekedés a legna­ gyobb. • A könnyebb számolás érdekében célszerű elkerülni a törteket. Ilyenkor, ha lehetséges, olyan oszlopot válasszunk, ahol a pivot elem 1 -nek adódik. Ha az induló szimplex tábla utolsó oszlopában minden elem pozitív, és ezt a tulajdonságot minden táblától megköveteljük, akkor az algoritmusban szerepet játszó lehetséges bázismeg­ oldások közül a degeneráltakat kizárjuk, és biztosítjuk, hogy minden transzformációval a megelőzőnél jobb célfüggvényértéket kapjunk. Emiatt ugyanaz a bázismegoldás és bázis nem ismétlődhet. Mivel a bázisok száma véges, ezért korlátos célfüggvény esetén véges számú lé­ pésben el kell jutnunk egy optimális bázismegoldáshoz. Ezzel beláttuk a következő tételt: 3.7. TÉTEL. Ha degeneráció nem fordul elő, akkor a normál feladat induló táblájából az is­ mertetett algoritmussal véges számú lépésben elő lehet állítani azt a szimplex táblát, amely vagy tartalmaz egy optimális megoldást, vagy jelzi, hogy a célfüggvény nem korlátos a lehel séges megoldások halmazán.

69

* ∙ /Í szimplex módszer

3.3. PÉLDA. Bemutatjuk egy véges optimumhellyel rendelkező normál feladat megoldását. max z = 3xj + 4x2 + x3 2xι + x2 - x3 ≤ 20 x1 ÷ x2+2x3 0 \ leiadat kanonikus alakja a nemnegativitási kikötések nélkül: maxz - 3xi - 4x2 - ×3 + z 2xi + x2 - X3 + «1 + «2 X1 + X2 + 2x⅛ + W3 2xi - 3x2 + X3 \ induló szimplex tábla:

x3 x2 - 1 -4 -3 2 rn -1 1 2 1 1 2 -3

= 0 = 20 = 26 = 18

Xj

z u2 U3

0 20 26 18

A táblából leolvasható bázismegoldás: [x, u] = [0, 0,0,20, 26, 18]. A célfuggvényérték: z = 0.

áblához tartozó bázis: δ1 = [e1,e

1

0 0“

0

10.

0 0

1

1 ki ni bázistranszformációval áttérünk egy új bázisra. Pivot elemet bármely oszlopból váh∙ *1 hatunk, mivel a célsor minden eleme negatív. A legkisebb célelemhez tartozó második • topot vonjuk be a bázisba. A szűk keresztmetszet elvét alkalmazva a második oszlop> I hn az első bázisvektor helyére kerül. Ugyanakkor a bázisból kikerülő egységvektor új 1 ∙√∣s∣a vonatkozó koordinátáit a második oszlopba, a bázisba került vektor koordinátáinak h∙ ∣'λ,γc írjuk.

z •V2

u2 U3

X\

Wi

5 2 -1 8

4 1 -1 3

x3 -5 -1

-2

A táblához tartozó bázismegoldás: [x, u] = [0, 20, 0, 0, 6, 78 ] z = 80.

80 20 6 78

\ 1 il»l;ihoz tartozó egyenletrendszer: 5xi + 4wi -- 5x3 + z 2x∣ + u\ X3 3.V∣ -.v∣ ,h 8xl ♦ h/|

+ *2

Hh

1*2

÷ m3

= 80 = 20 = 6 = 78

3. Lineáris programozás: a szimplex módszer

70

0 0

1 Az újabb bázistranszformáció során a harmadik oszlopvektor kerül a bázisba. Az új bázis már optimális, mert a célsorban nincs negatív szám. X1

z *2

*3 w3

10/3 5/3 -1/3 22/3

u↑ 7/3 2/3 -1/3 7/3

U2 5/3 1/3 1/3 2/3

Az optimális bázis B3 = [a2, a3, d=

A kanonikus alakú feladat optimális bázismegoldása: *, tι [x ]≈[0, 22, 2, 0, 0, 82] * z* = 90.

90 22 2 82

" 1 1

-1

0

2

0

1

1

-3

2/3 A táblából leolvasható a bázismátrix inverze is: BJl*=

1/3

0

-1/3

1/3

7/3

2/3

0 1

Az inverz oszlopvektorait Ui oszlopai adják, illetve, ha ui bázisváltozó, akkor a neki megfe­ lelő oszlop egységvektor lesz. Könnyen ellenőrizhető, hogy az optimális tábla egyszerűen előállítható az induló adatokból és BJ 1-bol a korábban megismert XN cliB iN - cN B“'N

z ⅞

⅛B1b B lb

tábla alapján, ahol "2 b-b3,

n

=

1

0 ,

cn=[3,0,0],cb≈[4,

1,0],

71

I 1 A szimplex módszer

3 4. PÉLDA. Oldjuk meg a következő feladatot: max z ≈ 3xι + 2x2 ÷ 3x3 5xt-2x2 + X3 0 értékekkel az xi ≈ 0, x2 = 28 + 3d, X3 - dt uγ = 76 + 5di u2 = 0 ∣∙ ∣h -i séges megoldást kapjuk, a célfüggvény értéke pedig z = 56 + 9d lesz. Látható, hogy ha x, akkor mindig lehetséges megoldást kapunk, és célfüggvény értéke minden hatáH∙ll Ilii nő.

3.3.3. Minimumfeladatok megoldása Λ léhulut induló tábláját ugyanúgy írjuk fel, mint maximumfeladat (azaz standard feladat) ese­ tén, azonban a bázisba belépő vektor kiválasztása, és az optimalitási kritérium megváltozik. Mivel továbbra is lehetséges bázismegoldások sorozatát kívánjuk előállítani, ezért a szűk keIWM/tinctszet szabályát továbbra is be kell tartani. legyük fel, hogy az induló táblában bk > 0. Ha az akr elemet választjuk pivot elemnek, akkor M í(| brtzismcgoldás z≈ ⅛-c célfüggvényértéke akkor lesz kisebb az előző bázishoz tartozó

3. Lineáris programozás: a szimplex módszer

72

z = 0 célfüggvényértéknél, ha cr negatív. Mivel a célsorba az együtthatókat ellentett előjellel újuk be, ezért pozitív célelein oszlopában kell pivot elemet választani. Ez a szabály bármely más bázis esetén is igaz. Mivel akr> 0 és bk> 0 és az elemi bázistranszformáció következtében a célfüggvényérték — cr -vei csökken, ez akkor fog való 0.

Egy minimumfeladat XN 1N — cN B^1N

z

cljB^,b B^1b

cbB



szimplex táblája akkor optimális, ha cbB 1N - cn ≤ o és B 1b ≥ o. 3.5. PÉLDA. Oldjuk meg a következő feladatot:

min z = 3xι - 6x2 Xi ÷ 2x2 + X3 ≤ 50 3xι + x2 + X3 < 60 xh x2, X3 > 0 X1

z u↑ U2

-3 1 | 3

x2 6 2 1

X1

X3

1

1 1 1

0 50 60

z x2 U2

-6 ⅛ 5/2

Ui -3 ⅛ -½

x3 -2 ½ ½

- 150 25 35

Mivel a tábla célsorában nincs pozitív elem, ezért megkaptuk a feladat optimális megoldá­ sát: x* = [0,25,0], z* = - 150.

Természetesen a minimumfeladat úgy is megoldható, hogy a célfüggvény (-l)-szeresét vesszük és azt maximalizáljuk, alkalmazva az előző alfejezet algoritmusát. Ekkor figyel­ nünk kell arra, hogy az optimum helye ugyanaz lesz, azonban az eredeti célfüggvény értékét a táblázatban kapott érték ellentettjeként kapjuk meg.

3.3.4. Degeneráció Degenerációról akkor beszélünk, ha a nembázis-változókon kívül még legalább egy bázisvál­ tozó is nulla értékű, tehát a szimplex tábla utolsó oszlopában van legalább egy nulla. Degenerált bázismegoldás már az induló szimplex táblában is előfordulhat, de megjelenhet később is, ha a kiválasztott oszlopban a pivot elem nem választható ki egyértelműen. Ilyenkor a transz­ formáció elvégzése után a tábla utolsó oszlopába legalább egy nulla kerül.

73

i I I szimplex módszer

ll∣∣ egy tábla degenerált bázismegoldást tartalmaz, akkor könnyen előfordulhat, hogy a pivot • Imi abban a sorban adódik, ahol az utolsó oszlop eleme nulla. Ekkor a transzformációval ∣∣∣∣v∣∣∏ áttérhetünk egy új bázisra, de a bázismegoldás és a célfüggvényérték változatlan ma­ iiul. akár több lépésen keresztül is.

k iinstruáltak olyan maximumfeladatot, hogy mindig a legkisebb célelem felett választva pivot • l∙met, néhány lépés múlva visszajutunk a kiinduló bázishoz, és így végtelen ciklusba kerü­ lünk. aminek következtében nem kapjuk meg a feladat optimális megoldását. Ennek ellenére I • /1 számolásaink esetében a bázisba kerülő oszlopvektor alkalmas megválasztásával sem ∣∙ hellénül szükséges elkerülni azt, hogy degenerált bázismegoldást kapjunk, vagy azt, hogy a ∣∙∣∖ ni elem olyan sorban adódjon, ahol az utolsó oszlop eleme nulla. A szimplex algoritmussal /• i/dt évtizedes, különböző méretű feladatok révén keletkezett nagyszámú tapasztalat szé­ liül ugyanis a gyakorlatban ilyen feladatok csak rendkívül ritkán fordulnak elő. Megnyugtató ∣'∣ Hu a mesterséges változó sorában van pivot elemnek választható nullától különböző nem le hói lenül pozitív szám, akkor elemi bázistranszformációval a mesterséges változót a iicnibázisváltozók közé visszük. Hu a mesterséges változó sorában csak nullák vannak, akkor a sorhoz tartozó feltétel re­ dundáns, ezért elhagyható. Il\énképpen az első fázis végén a mesterséges változók már nem bázisváltozók, ami azt jelzi, Imgv a tábla utolsó oszlopából leolvasható .r, értékek kielégítik a kiinduló feladat feltételrendt/t lel

3. Lineáris programozás: a szimplex módszer

78

A szűk keresztmetszet elvének betartása most is kötelező, ezért előfordulhat, hogy az első fázisban nem minden alkalommal tudunk valamely mesterséges kiegészítő változó sorában pivot elemet választani. Ha min z > 0, akkor nincs lehetséges megoldása a feladatnak. Ez a másodlagos célsorból olvasható le, ahol már nincs pozitív célelem, ugyanakkor a cél függvényérték nem zérus. A megoldás második fázisában a normál feladat megoldásánál megismert módon alkalmazzuk a szimplex algoritmust. 3.9. PÉLDA. Oldjuk meg a következő feladatot:

max z = 4x1 + 2x2 + 3x3 + x4 4xj - x2 + x4 ≤ 50 x2 + x4 = 14 x3 ÷ x4 = 20 X∣, *2, *3 , X4≥ 0

Az induló szimplex tábla a másodlagos célfüggvénnyel, amelyet a mesterséges kiegészítő változók sorainak összeadásával nyertünk: *2

*3

*4

-2 -1 1

-3 0 0

-1 1

Ü2

Xi -4 4 0

0 50 14

^3

0

0

1

1

20

Z

0

1

1

2

34

z ιιλ

A másodlagos célsor legnagyobb eleme felett választunk pivot elemet, és a transzformáció után a mesterséges változó oszlopát elhagyjuk. Ezt követően a második mesterséges kiegé­ szítő változót is ki tudjuk vinni a bázisból.

x3 14 -4 - 1 -3 4 0 36 -2 1 0 0 14 0 -1 I1 L 6 L _ L «. MM. . 0 ~-7' 1 6 X}

z

χ4 -5z

*2

z

z

X2 X1 -4 -4 4 -2 o | 1 | 0 -1 0

0

32 36 14 6

0

Mivel z ~~ 0, ezért a táblából leolvasható a megoldandó feladat egy lehetséges megoldása: X] = 0, x2 == 0, x3 = 6, x4 == 14.

I s implex módszer

11 >vf∣bbi két transzformációval megkapjuk a célfüggvény optimumhelyét.

z U↑ x2 x3

X4 xi 4 -4 τπ 2 0 1 1 0

z

88 64 14 20

x2

X3

W1

X4

1 1/4 0 0

6 1/2 1 1

152 16 14 20

ptimális megoldás: x1* = 16, x;>14, x* = 20, X4 = 0 z = 152.

110. PÉLDA. Változtassuk meg a 3.9. példa harmadik feltételében x3 előjelét, és oldjuk meg i -∣ιιιc1 a feladatot.

z Wj

⅝ Z

x1 -4 4 0

*2

*3

-2 -1 1

-3 0 0

0

0

-1

0

1

-1

X3

z ul x4

x1 -4 4 0

*2

0 50 14

~1 -2 1

-3 0 0

14 36

1

20

u3

0

-1

-1

6

2

34

z

0

-1

-1

6

x4 -1 1

14

6, és értéke nem csökkenthető, mert z sorában nincs pozitív célelem. Következésképp film s lehetséges megoldása a feladatnak. ________________________________________ _

.111. PÉLDA. Ismét változtassunk a 3.9. példán, és a harmadik feltétel jobb oldali konstansát • • ∙kkentsük 20-ról 14-re. Az induló táblából egy lépésben a következőt nyerjük: z λ4

z

x1 -4 4 0 0

*2

-1 -2 1 -1 ~ 0 ~ -1'

*3

-3 0 0

14 36 14 0

1

’ 0“

Bár egy mesterséges kiegészítő változó még a bázisváltozók között szerepel, a táblából már leolvasható a feladat egy lehetséges megoldása. Újabb transzformációval u3 és ¾ felcserélhetők.

3. Lineáris programozás: a szimplex módszer

80

3.12 PÉLDA. A 3.9 példa feltételrendszerét bővítsük a 2x2 ⅛ + 3x4 = 48 feltétellel, a többi adat változatlan.

3.3.7. Az általános alakú feladat megoldása Tekintsük az általános alakú feladatot az alábbi formában adottnak: max z = ex A1x≤bι ,bι ≥o A2x = b2, b2 ≥ o A3x ≥ b3, b3 ≥ o x ≥ o.

E feladattípus kanonikus alakjának feltételrendszerét úgy kapjuk, hogy a ≤ feltételek bal olda­ lához ui > 0 kiegészítő változókat adunk, a ≥ feltételek bal oldalából pedig vi ≥ 0 többletválto­ zókat vonunk ki. A feladat kanonikus alakja a következő lesz:

max z = ex Aιx + E]U]=bι, A2x = b2, A3x - E3v3= b3, X ≥ O, U1 ≥ o, v3 ≥ o ahol v3 a többlet változókból álló vektor.

bi ≥o b2≥o b3≥o

81

I I. Λ szimplex módszer

Az eredetileg is egyenlőségként megadott feltételek, továbbá a ≥ feltételekből kapott egyenle­ tek bal oldalához is mesterséges kiegészítő változókat adunk, hogy birtokunkban legyen a triviális bázis. Ezek után az alábbi koordinátatáblát írhatjuk fel:

Hm ii mesterséges kiegészítő változókat tartalmazó egyenletek összegét hozzáadjuk a másodIn∣∣on célfüggvénynek megfelelő egyenlethez, akkor ü2 és ü3 oszlopában már egységvekto-

h ik fognak állni, így felírhatjuk az alábbi redukált táblát:

A vjváltozókat ugyanúgy kezeljük,

mint az xj -két.

A megoldást most is két fázisban végezzük. 3 13. PÉLDA. Oldjuk meg a következő feladatot:

min z - xi + 2x2 + X3 Xi + χ2 ÷ 4x3 > 10 Xi + 3x2 ÷ X3 = 8 xb x2, x3 ≥ 0 .síik be az

többletváltozót és alakítsuk át az első feltételt is egyenletté:

x∣ + χ2 + 4x3- v1 - 10

3. Lineáris programozás: a szimplex módszer

82

A megoldás a kétfázisú módszerrel: z

Xl

X2

-1 1

-2 1

m 3 2 4

ü2 z

X2

z

Z

1 -2/3 1 11/3 1 0

0 10

z ιii

x2 1 -2

x3 0 3

0 -1

8 2

8 1 0 ~ 5 ~ -1" *"18

x1

3

1

0

8

z

-2

3

-1

2

x3 -1 4

V1 0 -1/3 1/3 0

V1

0 -1

8 2/3 22/3 0

z x3 X2

xi -3/11 2/11 3/11

Vi

V1 -1/11 -3/11 1/11

6 2 2

Az optimális megoldás x* ≈ [0,2, 2], az optimális célfüggvény érték z* = 6.

3.3.8. A szimplex módszer geometriai háttere A szimplex módszerrel a kanonikus alakú feladat lehetséges bázismegoldásainak egy olyan sorozatát állítjuk elő, hogy a megfelelő célfiiggvényértékek sorozata maximumfeladat esetén monoton nemcsökkenő, minimumfeladat esetén monoton nemnövekvő. Az egymást követő bázisok csak egy vektorban különböznek egymástól. Mivel a kanonikus alakú feladat lehetséges bázismegoldásainak a lehetséges megoldások L halmazának csúcspontjai felelnek meg, ezért maximumfeladatra a szimplex módszer a követ­ kezőképpen is megfogalmazható:

Az L konvex poliéder csúcspontjain mozgunk. Mindig olyan szomszédos csúcspontra igyekszünk átlépni, amelyben a célfüggvény értéke nagyobb, de legalábbis nem kisebb az előzőnél. Az eljárás akkor fejeződik be, ha már nincs nagyobb célfüggvényértéket adó szomszédos csúcspont, vagy nyilvánvaló, hogy a célfüggvény £-n nem korlátos. A kanonikus alakú feladat lehetséges megoldásai L halmazának pontjaihoz kölcsönösen egy­ értelmű módon hozzárendelhetők a megoldandó standard alakban megadott LP feladat lehet séges megoldásai halmazának pontjai, és csúcspontnak csúcspont felel meg.

3.14. PÉLDA. Oldjuk meg szimplex módszerrel a max z = 2xt + 6x2 + lθx3 + 12x2 ÷ I8x3 ≤ 57 3x2 I- 8x3 < 16 x1 < 3 x∣, x?, X3 a 0

83

U. 4 szimplex módszer

I l, feladatot, és eközben kísérjük figyelemmel, hogyan haladunk az P3 tér konvex poliéde­ rnek csúcspontjain az optimumhely felé. A kanonikus alakú feladat lehetséges megoldásaiiink L halmazát ugyan nem tudjuk szemléltetni, hiszen ez hat dimenziós konvex poliéder, «i/ónban ennek három dimenzióba eső vetületét - a megoldandó feladat lehetséges megol»1 ∣∙..∣inak halmazát - már igen, amely szintén konvex poliéder.

\ megoldandó feladat lehetséges megoldásai halmazának csúcspontjai: A[0,0, 0], P2[0, 0,2], P3[0,4, 1/2], P4[3, 0,2], P5[3,0,0], P6[3, 3,0], P7[0, 57/12,0].

\ 1« ládát első két szimplex táblája: *1

z ll↑ "2

-2 7 0 1

x3 *2 -6 -10 12 18 1 § 1 3 0 0

0 57 16 3

z Uχ *3 u3

-2

7 1

0 1

x2 «2 5/4 -9/4 121/41 - 9/4 3/8 1/8 0 0

20 21 2 3

\ bul oldali induló táblához az ≈ x2 ~ *s ≈ 0 megoldás tartozik, azaz a Pi csúcspont. Há• • *1 11 lehetőség nyílik a bázistranszformációra, amelyek rendre a P5, P7és P2 csúcspontokhoz ■ « nick. Ha x3 oszlopát választjuk, akkor a jobb oldali szimplex táblát kapjuk, és a P2 ∣∙*nlba μιtuιιk.

84

3. Lineáris programozás: a szimplex módszer

A Pi csúcspontból P3 -ba vagy P4 -be léphetünk át. Ha P3 mellett döntünk, akkor a második oszlopból kell pivot elemet választanunk, és az alábbi táblát kapjuk. X]

z *2 x3 ll3

1 4/3 - 1/2 1

u↑ 3/7 4/21 - 1/14 0

1/2

2/7 -3/7 2/7 0

29 4 1/2 3

Ez a tábla már optimális. Az optimális megoldás x* - [0, 4, ½], amely az ábrán a P3 pont. Ha a második táblában az első oszlopból választunk pivot elemet, akkor az optimális meg­ oldást négy transzformációval kapjuk meg P↑P2P4P3 útvonalon.

3.4. A hiperbolikus programozási feladat megoldása szimplex módszerrel A gazdasági folyamatok vizsgálatánál gyakran felmerülnek olyan hatékonysági kérdések, amelyekre közvetlenül a lineáris programozás felhasználásával nem tudunk választ adni, mi­ vel a célfüggvény a változók lineáris függvényeit tartalmazó hányados formájában írható fel.

Tegyük fel példáiul, hogy egy vállalatnál az egységnyi munkaórára eső nyereség maximálása a cél. A feltételi rendszert a termelésprogramozási probléma ismert egyenlőtlenségei alapján írjuk fel. A vállalat n terméket állít elő m erőforrás felhasználásával. Adottak az aij ráfordítási együtthatók. Az erőforrás-szükségletek az x1,...,xπ termékmennyiségek lineáris függvényeként fejezhetők ki. Az z-edik erőforrás rendelkezésre álló mennyisége bi. így a feltételrendszer: Ax≤b x≥o.

A fajlagos nyereséget jelölje cjt a termelési szinttől független fix nyereséget c0. Legyen dj a munkaigényességi együttható (dimenziója óra/db), dQ pedig a fix időszükséglet. A célfügg­

vény a nyereség és az időráfordítás hányadosa:

,

Keressük z(x) maximumát. Az ilyen feladatokat hiperbolikus programozási feladatoknak nevezzük. Az elnevezést az indokolja, hogy a célfüggvény egyváltozós esetben a jól ismert hiperbola.

• 7 /1 hiperbolikus programozási feladat megoldása szimplex módszerrel

85

I Imcbocsátjuk, hogy a lehetséges megoldások L halmazáról mindvégig feltételezzük a korlátosságot, a célfüggvény nevezőjéről pedig a pozitivitást (illetve azt, hogy a nevező az L hiihnaz egyetlen pontjában sem válik 0-vá). Ilyen feltételek mellett megmutatható, hogy a hi­ perbolikus feladat is megoldható a szomszédos csúcspontok vizsgálatának optimalizációs el­ ül felhasználó szimplex módszerrel. A hiperbolikus feladatra egy megfelelő algoritmust doly∏∕olt ki például Martos Béla magyar matematikus. Itt most más eljárást választunk. Megmutatjuk, hogy a hiperbolikus feladat ekvivalens LP feladattá alakítható. A célfüggvényt • pv t változóval bővítjük, majd megköveteljük, hogy az új nevező 1 legyen. Ekkor

z(x)

7(cx + c0) _ c(7x) + c07 i(dx÷J0)

d(7x) + τ∕07

uhui | x, 7] olyan értékei jöhetnek szóba, ahol d(7x) + dQt= 1. Iln ii feltételi egyenlőtlenség mindkét oldalát megszorozzuk 7-vel, majd elvégezzük a teljes Irliulatban a tx = y helyettesítést, akkor a következőt kapjuk:

max z = cy + c01 Ay- 7b ≤ o dy+ J07 = l

(P)

y ≥ o, t ≥ 0 A / re vonatkozó nemnegativitási kikötés helyett egy szigorúbb megkötést is tehetünk: I.H. Tl 11/6

1

t 1

0

12 --3 - 15 1

0 0 0 1

1

1

«3 11/6

3/2 7/6 Az LP feladat optimális megoldása: 4/5 5/6 yι ≈ 0,y2 = 5/6, t - 1/6. t 1/6 i bhől a hiperbolikus feladat optimális megoldása: U\ U2

1 ^ 0 ^

^0^

1/6 _5/6_

_5_

„ 3 •' optimális célfuggvényérték pedig z = ~.

116. PÉLDA. Az előző példa minden elméleti előkészítés nélkül is megoldható grafikusan. \ » 6 ábrán a lehetséges megoldások halmaza, továbbá a célfüggvény z ≈ 0, 1,3/2 értékeih • /1 a rtozó szintvonalai láthatók.

z = 0

1 6. kι∣RΛ. Hiperbolikus feladat grafikus megoldása

3. Lineáris programozás: a szimplex módszer

88

Mivel a célfüggvény nevezőjének nincs nemnegatív zérushelye, ezért az

xi ÷ 2x2 -1 _ 2xl + x2 +1 egyenlet ekvivalens az

(1 - 2z) xi + (2 - z) x2 = z + 1 egyenlettel az L halmazon. Ebből látható, hogy a szintvonalak egyenesek. Behelyettesítéssel ellenőrizhető, hogy ezt az egyenletet bármely z esetén kielégíti az Xi =r - 1, x2 ≈ 1 számpár, így a szintvonalak átmennek a [-1, 1] ponton.

Grafikus úton a feladat optimális megoldását úgy határozhatjuk meg, hogy a szintvonalakat a z paraméter növekvő értékeinek megfelelő irányba elforgatjuk. Könnyen látható, hogy az optimum helye az x* = [0, 5] pont lesz.

Gyakorló feladatok 3.1. Egy autógyárban személy- és teherautókat gyártanak. A gyár két nagy részlegből áll, az egyikben a járművek összeszerelése a másikban festése folyik. Ha csak személyautókat szerelnek össze, akkor 50 darabot tudnak készíteni naponta. Ha csak személyautókat fes­ tenek, akkor a napi termelés 60 darab. Ha valamely napon csak teherautó gyártása folyik, akkor 50-et tudnak összeszerelni és 40-et festeni. Egy személyautó értékesítése 20 ezer, míg egy teherautóé 30 ezer forint nyereséget jelent. Mennyit gyártsanak az egyes jármű­ vekből naponta, hogy a nyereség maximális legyen ? írjuk fel a feladat LP modelljét! 3.2. Egy üzemben kétszemélyes vitorlásokat gyártanak, de főbb egységeit külön is árusítják. A fedezeti nyereségek a következők: komplett vitorlás kormánylapát fedélzet árboc

12 000 Ft/db 1 000 Ft/db 4 000 Ft/db 2 000 Ft/db

Az üzem dolgozóinak heti összes munkaideje 2000 óra. Egyéb termékek gyártása miatt hetente a fűrészgépeken csak 100, az esztergákon csak 80 óra használható fel vitorlások előállítására. A fajlagos ráfordítási együtthatókat órában az alábbi táblázat mutatja:

kormánylapát fedélzet árboc hajótest

élőmunka 4 10 6 25

fűrészgép 1 2 0 2

eszterga 0 0 2 0

Egy vitorlás végső összeszerelése 5 munkaórát igényel. Miből mennyit gyártson az üzem hetente, hogy a fedezeti nyeresége maximális legyen?

89

< ivakorló feladatok

3.3. Egy vegyészeti termékeket gyártó vállalatnál növényvédő szereket is készítenek, a eszek poralakban kerülnek forgalomba. A vállalat ötféle növényvédő szert állít elő. Ezek a kö­ vetkezők: BCM, Fundasol SOWP, Chinofurgin, Fundasol 25EC és Furoxon. A termé­ kek előállítása az alap- és segédanyagokból ugyanazon a keverőgépen történik. A fajla­ gos időnorma a keverőgépen termékenként 2,5; 1,5; 3; 4 és 4 óra/tonna. A keverőgép kapacitása 1000 óra. A termékek előállításához tízféle ható- és segédanyag szükséges. Ezekből négy anyag felhasználása korlátozott (A, Bt C, és D). A növényvédő szerek faj­ lagos igénye ezekből az anyagokból (kg/tonnában), valamint a rendelkezésre álló menynyiségek (tonnában) a következő táblázatban adottak: Anyagok

A B C D

BCM 500 0 50 0

Növényvédő szerek | FSOWP 1 CHF | F25EC 1 0 0 0 50 500 0 0 50 25 25 5 50

FX 0 500 50 0

Felhasználható mennyiség 65 000 60 000 12 000 6 000

Az egyes termékeken a tonnánkénti nyereség rendre: 60 000, 20 000, 25 000, 40 000, il­ letve 35 000 Ft. Hány tonnát állítsanak elő az egyes növényvédő szerekből, ha a maxi­ mális nyereség a cél?

3.4. Egy vállalkozó két terméket gyárt, amelyeket darabonként 16 illetve 8 ezer forintért ad cl. A fajlagos erőforrásigény:

nyersanyag gépidő (óra) élőmunka (óra)

A termék 2 egység 1,5 0,75

B termék 1 egység 0,8 0,5

Négy dolgozót foglalkoztat, akik egyenként 40 órát dolgoznak hetente. Fizetésük a fix költségek közé sorolható. Túlórában is hajlandók dolgozni, ekkor bérük óránként 600 Ft. Hetente 320 gépóra áll rendelkezésre. Nyersanyagból hetente legfeljebb 400 egysé­ get tudnak beszerezni 3500 Ft-os egységáron. Reklámozás nélkül 50 ill. 60 terméket tudnak értékesíteni hetente. Minden reklámra költött ezer forint az A termék keresletét 10, a B termék keresletét 15 darabbal növeli. Reklámra havonta legfeljebb 100 ezer fo­ rint költhető.

Mennyit gyártson a vállalkozó az egyes termékekből, hogy bevétele maximális legyen ? Mennyit költ ekkor reklámra? .1 fi

Egy kohászati üzem 100 tonna acél legyártására kapott meg-rendelést, 20 000 Ft ton­ nánkénti áron. A leszállítandó mennyiségben legalább 3,5 tonna nikkelnek, legfeljebb 3 Ionná szénnek és pontosan 4 tonna mangánnak kell lenni. Az acélt négy ötvözetből állít­ ják elő, amelyek nikkelt, szenet és mangánt az alábbi arányban tartalmaznak:

3. Lineáris programozás: a szimplex módszer

90

nikkel (%) szén (%) mangán (%) ár (Ft/tonna)

1 6 3 8 12 000

Ötvözetek 2 3 3 2 2 5 2 2 10 000 8 000

4 1 6 1 6 000

Hány tonnát használjanak az egyes ötvözetekből, hogy a nyereség maximális legyen? ír­ juk fel az LP modellt! 3.6. A következő 4 hónapban egy gépkocsitípus iránt a kereslet 4, 2, 5 és 1 ezer db. Az első hónap elején 300 autó van raktáron és a termelési kapacitások legfeljebb havi 3000 autó előállítását teszik lehetővé. A gyár minden hónap elején növelni tudja termelési kapaci­ tásait és abban a hónapban már a megnövelt kapacitással képes termelni. A kibocsátás egy autóval történő növelése 10 000, a megnövelt kapacitás fenntartása - még ha ki­ használatlan is - 5000 Ft-ba kerül havonta. Egy autó előállításának változó költsége 500 000 Ft, a raktározási költség pedig autónként 15 000 Ft/hó. A gyár célja, hogy termelési kapacitását a negyedik hónap végére havi 4000 darabra növelje.

Elégítsük ki a következő 4 hónap keresletét és bővítsük a kapacitást a kívánt szintre mi­ nimális költséggel ! 3.7. Egy megyében a felépítendő tűzoltóság helyét kívánják meghatározni. Négy jelentősebb város van a megyében, amelyeket ha egy derékszögű koordináta-rendszerben helyezünk el, akkor az alábbi koordinátájú pontokba esnek: A[10, 20], B[60, 20], C[40, 30], D[80, 60]. Az egyes városokban évente átlagosan 20, 30, 40 és 50 tüzeset fordul elő. A tűzol tóságot olyan helyre kívánják telepíteni, ahonnan a tűzesetekhez való kivonulás évi át­ lagos össztávolsága minimális. Mivel a domborzati viszonyok miatt az utak közelítőleg észak-déli és kelet-nyugati irányban futnak, feltételezzük, hogy a létesítendő tűzoltóság­ tól a városokba csak a koordináta-tengelyekkel párhuzamosan haladva juthatunk el.

Határozzuk meg a tűzoltóság helyét! 3.8. Oldja meg grafikusan a következő kétváltozós feladatokat:

max z = x2 2xι + x2 < 8 -3xι + x2 ≤ 3 Xl + X2 ≥ 1 X1 - X2 ≤ 1 Xi, x2 ≥ 0

b. max z = 4xι + 6x2 Xi + 3x2 ≥ 9 - Xi + x2 ≤ 5 2xι + 3x2 < 24 Xi - 3x2 ≤ 6 Xi, x2 ≥ 0

max z = -2xι + x2 4xι - 5x2 ≤ 20 Xi + x2 >3 -5xι + 3x2 ≤ 15 Xi, x2 > 0

d. max z = 8 Xi + 7x2 2xι + 3x2 > 6 4xι - x2 ≥ 4 2xι - 3x2 < 12 -Xi + x2 ≤ 3 Xi, x2 ≥ 0

> 3 -3xι + 2x2 ≤ 9 xb x2 ≥ 0

max z\ = 7xi + 8x2 max z2 = 8x1 + 7x2 max z3 = 8x1 + 8x2 ti +x2 >2 Xi +x2 ≤4 Λ | + X2 ≤ 8 X| -x2 ≤2 x, ≤4 *1. v2 ≥0

í 10. Adott a következő LP feladat: max z = 6x1 + 1 lx2 -2xι + x2 ≤ 2 3xι + 4x2 ≤ 30 -xι + x2 ≤4 xb x2 ≥ 0

Oldja meg a feladatot grafikusan! írja fel a feladat kanonikus alakját! Határozza meg a kanonikus feladat bázisait és bázismegoldásait! Válassza ki a bázismegoldások közül a lehetséges bázismegoldásokat. Van-e közöt­ tük degenerált? . (. . max z = 3xj + 4x2 + 2x3 + 3x4 + 4x5 2xι -2x2 + x3 - x4 + x5 0 Határozza meg szimplex módszerrel a feladat optimális megoldását!

3.22. Mit tud mondani a max z = ex Ax < b x≥o

feladat optimális megoldásainak halmazáról, ha A > 0 és c elemei között negatív és po zitív elemek egyaránt előfordulnak? 3.23. Adja meg az alábbi módosított normál feladatok optimális megoldását! a. max z = 4xj + 3x2 + 5x3 + 6x4 Xi + 2x2 + 3x3 + X4 = 14 x2 + x3 + x4 ≤ 8 Xi, x2, x3, x4 ≥ 0

b. max z = 6x1 + 8x2 + 3x3 + 5x4 2xι + 4x2 + 2x3 + x4 = 10 3xι + x2 - x3 + x4 = 7 xi, * 2, x3, X4 ≥ 0

3.24. Oldja meg a következő módosított normál feladatokat: a. max z = 2xi - 2x2 - x3 + x4 3xι + 4x2 + 6x3 + x4 ≤ 300 x2 + 4x3 + 2x4 = 200 Xi ÷ x2 + x4 = 150 X1,X2, x3 ,x4≥0

b. max z = Xi + x2 + x3 + X4 xi + 2x2 - x3 + 4x4 = 6 2xι + 4x2 + x3 + 7x4 = 12 xi, x2, x3, x4 ≥ 0

95

Évakorló feladatok

c. max z = 3xι+ 5x2 Xi + 2x2 < 10 -Xi + x2 = 3 Xi + 2x2 = 5 xι,x2 ≥ 0

d. min z = 2xι + x2 - x3 2xι + 2x2 + 3x3 = 6 Xi - 2x2 + x3 = 4 xbx2, x3≥0

e. max z = xj + 4x2 + 2x3 Xi + x2 + x3 ≤ 160 -3xι + x2 + x3 ≤ 40 Xi - x2 + x3 = 40 - Xj + x3 = 40 x1,x2, x3 ≥0

12S. Oldja meg a következő általános alakú feladatokat: a. min z = 2xι + x2 + x3 2xι + 2x2 + x3 ≥ 21 Xi -x3= 5 -Xi + 2x2 — x3 = 12 xhx2, x3≥0

b. max z = 2xι - x2 + 4x3 Xi + 2x2 + x3 ≤ 30 Xi + x2 = 10 Xi + x2 ÷ x3 ≥ 8 Xi, x2, x3 ≥ 0

ize. Határozzuk meg grafikus módszerrel az alábbi hiperbolikus feladatok optimális megol­ dását:

2x1 - x7 a. max z =-----!----- — X1 + x2 +1

Xi + 2x2 3χ1 + 2x2 2χ1 + χ2 xι,x2≥o

≤ 12 ≤ 16 ≤ 10

f x1 + 2x7 - 3 b. max z = —!------ -----2x1 + x2 +1

Xi + x2 ≤ 5 3χι + x2 ≥ 4 Xi + 5x2 ≥ 4 0≤χι≤3,0≤x2≤3

3 27. ()ldjuk meg a következő hiperbolikus feladatokat szimplex módszerrel:

x1 ÷ 3x7 + x, -1 2≥3. A legjobb felső korlátot úgy kapjuk meg, hogy megkeressük 10y∣ + 30y2 minimumát a fenti feltételek mellett, ami ekvivalens azzal, hogy meg kell oldanunk az alábbi LP feladatot:

min w = 10yι + 30y2 yι + 3y2≥4 4yι - y2 ≥ 1 y2≥3 yι,y2≥0∙

Ezt a feladatot nevezzük kiinduló prímái feladatunk duáljának.

A standard alakú feladat duálját a következőképpen definiáljuk: maxz = cx Ax3 2jι + 3jp2 + Ja ≥ 7 2yι + 3y2 > 1 yby2,y3≥0.

max z ≈ 3xt + 7x2 + x3 xi + 2x2 + 2x3 ≤ 80 Xi + 3x2 ≤ 90 x2 + 3x3 ≤ 60 xbx2,x3≥0,

Könnyen kimutatható, hogy a (D) duál feladat duálja a kiinduló (P) prímái feladat. Hozzuk a (D) feladatot standard alakra, és írjuk fel a duálját: max - w = - by - Aτy ≤ - c y ≥ o,

duálja

min - z = x(-c) x(- Aτ) ≥ - b x ≥ o.

Ha a jobb oldali feladatot standard alakra hozzuk, akkor a kiinduló prímái feladathoz jutunk Ehhez az x(- Aτ) ≥ - b feltétel mindkét oldalát transzponálni kell, majd meg kell sr,u∏) ∣∣∣ (-l)-gyel, ezek sorrendje fel is cserélhető.

4, /. Dualitási tételek

101

A fentiekből következik, hogy a (P) és (D) feladat egymás duáljai, ketten egy primál-duál feladatpárt alkotnak. A primal és duál feladat közötti kapcsolatot az alábbi táblázatban fog­ lalhatjuk össze: maximumfeladat fel­ ≤bi téte­ = bl lek ≥bi vál­ xi≥ 0 to­ előjelkötetlen zók xz≤0

θ θ

θ

minimumfeladat vál­ J',>O to­ előjelkötetlen zók yi 0

h,l∣csiil. Ellenkező esetben prímái szimplex transzformációval xn+ι-et a bázisba visszük, és ∣∙∙∣ .∕ιιkscgcs további transzformációkat hajtunk végre.

8.3. PÉLDA. A Komód Kft. az eddigi három termék mellett szekrények gyártásának bevezeté­ séi mérlegeli. A becslések alapján egy szekrény előállításához 20 folyóméter fűrészáru, 30 yepóra és 50 munkaóra szükséges, így egy szekrény változó költsége 180 000 forint. A piac kimérése alapján megállapították, hogy a szekrények 206 000 forintos áron értékesíthetők, ι∣,∖ .i fedezeti nyereség előrelát halólap, ?6 000 forint lesz. Gyártsanak-e szekrényeket?

5. Lini áris programozás: érzékenységvizsgálat

130

Az eredeti feladat optimális táblája:

z *2

u2

«3

w}

70 - 1/10 - 1/5 1/5

1100 1/3 -1 -1/3

1800 1 2 3

1 860 000 200 50 100

Az Cair'a^i - cn+ι > 0 feltétel példánkban azt jelenti, hogy ha az egy szekrény előállításá­ hoz szükséges erőforrásokkal elérhető fedezeti nyereség - amit a hatámyereség jelentésű ámyékárakkal számítunk ki - nagyobb, mint a szekrény fedezeti nyeresége, akkor nem gazdaságos az erőforrásokból szekrény gyártására fordítani. Az erőforrások árnyékára

cbB~1

= [1100, 0, 70], így '20’

cBB_laM+1 - c„+1 = [1100, 0, 70] 30 -26000 = -500 50

Mivel szekrény gyártásával a fedezeti nyereség növelhető, ezért szükségünk van az előállí­ tandó szekrények számát jelölő x4 változó oszlopának további elemeire is, amelyet a B~⅛+ι képlettel számíthatunk ki: ^ 1/3

0

-l∕10^ "20’

-1

1

-1/5

-1/3 0

30

1/5 _ 50

’5/3’

0

10/3

A kibővített, de nem optimális tábla az alábbi: z x2 X1

U3

Uj

70 -1/10 - 1/5 1/5

1100 1/3 -1 -1/3

x3 x4 1800 -500 1 5/3 0 2 1... ≡... I 3

186 000 200 50 100

Egy elemi bázistranszformációval a következő optimális megoldást kapjuk: x* = [0, 150, 0, 30],

z = 1 875 000.

Ha tehát a fenti feltételekkel lehetőség van szekrények gyártására is, akkor a székek gyárt á sa nem gazdaságos, és asztalból is 50-nel kevesebbet kell gyártani. Ha a 150 asztal mellen még 30 szekrényt is gyártanak, akkor a fedezeti nyereség 15 ezer forinttal több lesz, mint, eredetileg.

,

131

Parametrikus programozás

5.2. Parametrikus programozás_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Λ∕ 5.1. és 5.2. alfejezetekben vizsgált eseteket általánosan is vizsgálhatjuk. A max z = c x Ax ≤ b x≥o

h-tudatot akkor nevezzük parametrikus programozási feladatnak, ha az A, b, és c elemei hízóit vannak olyanok, amelyek egy vagy több paraméternek a függvényei. Ha ezek az ele∣∣∣∙,k csak egyetlen paramétertől függenek, akkor a feladatot egyparaméteresnek nevezzük, ∣∣∙ι ii feladatban több paraméter is szerepel, akkor többparaméteres programozásról beszé­ lőnk Nyilvánvaló, hogy a parametrikus programozási feladatok optimális megoldása a para∣∣ιrtcr(ek) függvénye. A feladat tehát az, hogy megállapítsuk, miként függ az optimális prog»mi struktúrája a paraméterektől. Ebben az értelemben tehát az 5.1. és 5.2. alfejezetekben •n» )• fogalmazott kérdések általános keretben történő tárgyalásáról van szó. A 9. fejezetben • iim fogjuk a parametrikus programozási feladat egy másik lehetséges alkalmazását is. \ továbbiakban csak olyan egyparaméteres programozási feladatokkal foglalkozunk, ame­ lyekben egy paraméter szerepel, és ez is csak az első hatványon. Idetartozik az a két feladattí∣∣∣∙⅛. ahol a célfüggvény együtthatóiról, illetve a kapacitásvektor elemeiről tételezzük fel, hogy »yv / paraméter lineáris függvényei. Ezekkel a feladatokkal részletesen foglalkozunk. Nem mipvaljuk azt az esetet, amikor az A együtthatómátrix elemei paraméteresek, mivel a legtöbb ∙M∙ιhc∏ az ilyen modellek megoldása lényegesen nehezebb. Ha például a feltételek együttha∣∙∙ι i lineáris függvényei, akkor ugyan a módszer az itt leírtakkal alapvetően azonos, a 1 ”i/itranszformációk után azonban megjelenhetnek t törtfüggvényei, amelyekben a számláló • - nevező fokszáma folyamatosan növekedhet. > ∣∣vakorlati célú felhasználások érzékenységvizsgálatában is leggyakrabban az általunk rész∣∙ h’M’bbcn megvizsgálandó két modellt alkalmazzák.

?. 1. Paraméter a célfüggvényben I

∣ι leladat a következőképpen írható fel: max z = (c + r/)x Ax ≤ b x≥o

\11ii keresünk választ, hogyan változik az optimális megoldás, miközben a t paraméter egy ∣∣∣∙v megadott [a, β] intervallum értékeit veszi fel. Tételezzük fel, hogy az induló feladathoz • iihi/íi első szimplex táblázat a feladatnak egy lehetséges nemnegatív bázismegoldását adja, 0

c

t1 =

min —-

-rj t\ vagy rj = 0-hoz - cj < 0 tartozik. A keresett [z0, 6] megoldáshalmazt a táblához tartozó karakterisztikus intervallumnak nc∙ vezzük, amely lehet (-oc, 6] vagy [Z0, ∞) alakú is, ha - rj mindeny-re csak negatív vagy csak pozitív. A tQ, t↑ határokat nevezzük karakterisztikus pontoknak. (Előfordulhat, hogy z0 = 6» ekkor a karakterisztikus intervallum egyetlen pontból áll.) Ha az induló táblához nem tartozik karakterisztikus intervallum (azaz a t-re vonatkozó meg oldáshalmaz üres), akkor a prímái szimplex algoritmussal állítsunk elő egy konkrét t értékhez tartozó optimális táblát, amelyhez nyilván meghatározható egy nem üres [Zo, Zj intervallum. Ha Z-vel kilépünk a [Zo, Zj intervallumból, akkor megváltozik a program struktúrája is. Kilép hetünk az intervallumból úgy, hogy t > t↑ (ekkor azt mondjuk, hogy „felfelé” léptünk ki az intervallumból), és úgy is, hogy Z < t↑ legyen (ekkor viszont „lefelé” léptünk ki az interval lumból).

Legyen t

-

'0 ~

-⅛-

t -

>

-⅛

‘1 rs

az optimális tábla pedig

133

Parametrikus programozás

Hogyan transzformáljuk ezt a táblát, hogy egy felülről csatlakozó karakterisztikus intervallu­ mot nyerjünk? Vizsgáljuk meg az s-edik oszlop célelemének előjelét t\ környezetében. ~cs~ rst = ~t^St + —) = ~rs(t - tl ) >

t∣lιonnan - rs < 0 felhasználásával

pozitív, ha t tx.

Iln pivot elemet az s-edik oszlopban választunk, akkor transzformáció után a célelem negatív, ha t < t}, 1 / —(-ς - r∕) = í

0, ha t = tx ,

pozitív, ha t > tx. I iillialjuk, hogy a t > ti esetben a vizsgált célelem előjelet vált, ezért tl az új karakterisztikus mlci vallum alsó határpontja lehet. A transzformált táblához tartozó egyenlőtlenségrendszer megoldásával ellenőrizhető, hogy a keletkező Z2 karakterisztikus pont nem kisebb ti -nél, tehát p,. i J létezik. Az is megállapítható, hogy a t = t↑ értéknél - degenerációmentes esetben - a ∣∙ Indáinak alternatív optimuma van.

V aktuális táblában (a megfelelő feltételek fennállása mellett) ismét választhatunk olyan P∣∖o∣ elemet, amellyel felülről csatlakozó karakterisztikus intervallumot tudunk előállítani. Mι∖ cl a bázisok száma véges, ezért a ∕0 ≤ Λ ≤ ti ≤ • • • karakterisztikus pontok száma is az. Ilii a kiinduló íq = - oo, akkor a feladatot befejeztük. Ha a ∕0 értéke véges szám, akkor lehető• punk van arra, hogy lefelé lépjünk ki a [r0, Λ] intervallumból. Ekkor visszatérünk a [í0, Zj micivallumot előállító táblához és az alsó határ oszlopában választunk pivot elemet. Ezáltal ♦liiliol csatlakozó karakterisztikus intervallumokat kapunk (az előző gondolatmenetnek megh le lóén véges számosságát). Ez a lépés is addig ismételhető, amíg a keletkező karakterisztitm» intervallumnak van véges alsó határa, és a karakterisztikus ponthoz tartozó oszlopban van ρ∙∙∕ιιιv pivot elem, vagy a legutolsó karakterisztikus pontból nem tudunk továbblépni. ∣∣"pvun oldjuk meg tehát az egyparaméteres feladatot?

i h∣∣ιk (el az induló táblát és állítsuk elő a hozzá tartozó karakterisztikus intervallumot. ÷ Ha ez üres, akkor ez azt jelenti, hogy nincs olyan t paraméter, amellyel az adott táblázat (az adott Inllotséges megoldás) optimális lenne. Ha még az is igaz, hogy bármely t értéknél van a célsorl∣aιι olyan elem, amely a szóban forgó t értéknél negatív és az alatta lévő oszlopban nincs pozitív t∣l∏ιιι, akkor a feladatnak nincs optimális megoldása. (A célfüggvény a t bármilyen értékére nem k∣∣∣k,ιtos.)

5. Lineáris programozás: érzékenységvizsgála i

134

Ha ez nem áll fenn, akkor egy szokásos módon végrehajtott elemi bázistranszformációval át tu­ dunk térni egy újabb lehetséges bázismegoldást adó táblázatra. Ezt az eljárást addig folytatjuk, amíg egy olyan [ζ, f1] intervallumot nem kapunk, amely optimális. 3. A nagyobb karakterisztikus pontot előállító oszlopban válasszunk pivot elemet a primál szimplex

transzformáció szabálya alapján. Ha nem tudunk pivot elemet választani, ez azt jelzi, hogy az utolsó karakterisztikus pontnál nagyobb t értékekre a célfüggvény nem korlátos. Ha sikerrel jár­ tunk, akkor a transzformált táblához egy felülről csatlakozó karakterisztikus intervallum tartozik. Ha a legutolsó karakterisztikus intervallum felülről nem korlátos, akkor nem lehetséges több felül­ ről csatlakozó karakterisztikus intervallumot előállítani. 4. Ha a [í0, fj intervallum alulról nem korlátos, akkor a feladat megoldása véget ért.

5. Ha nem ez a helyzet, akkor a kisebb karakterisztikus pontot előállító oszlopban válasszunk pivol elemet a primál szimplex transzformáció szabálya alapján. Ha nem tudunk pivot elemet választa­ ni, ez azt jelzi, hogy az utolsó karakterisztikus pontnál kisebb t értékekre a célfüggvény nem kor­ látos. Ha sikerrel jártunk, akkor a transzformált táblához egy alulról csatlakozó karakterisztikus in­ tervallum tartozik. Ha a legutolsó karakterisztikus intervallum alulról nem korlátos, akkor nem lehetséges több alulról csatlakozó karakterisztikus intervallumot előállítani. Vegyük észre, hogy a belső karakterisztikus pontok mindegyikéhez - degenerációmentc * esetben - legalább két különböző optimális program tartozik. Igaz az is, hogy egy /, karakté risztikus ponthoz több optimális bázismegoldás tartozhat akkor, ha a célsor több eleme is zé russá válik a t = ^paraméter értéknél. 5.4. PÉLDA.

max z = (5 + t)x↑ + (-2 + t)xz + (2 + 5t)xy + (3 + 8i)x4 2x3 + 5x4 ≤ 50

xj +

x∣ + x2 + 3x3 + 2x4 < 80 2x2 +

7

X3------ X4 ≤ 70

2 xι,x2 ,X3 ,X4≥ 0

Mivel í-nek nincs nulla együtthatója, ezért az induló táblához tartozó karakterisztikus intcr∙ vallum határait következőképpen nyerjük: c t0 = max —-, -ri>Q j

v j

c t, = min —J~rj 25 értékekre a feladatnak nincs megengedett megoldása, mert xj sorában nincs negatív szám.

A második tábla a - 35/11 ≤ t < - 1 alulról csatlakozó karakterisztikus intervallumot állítja elő, s azt is leolvashatjuk, hogy t < - 35/11 értékekre nincs megengedett megoldás.

5. Lineáris programozás: érzékenységvizsgálat

142

karakterisztikus pontok -∞ -35/11 - 1 -35/11 25 - 1 X 25

Z(/)

Ág

.V;

Ag

•V.i

U\

390t34/ 370 H4/ -

50-2/ 50-2/

nincs 35 fi 1/ 3(H6r nincs

0 0

0 0

0 0

∕∕3

5-5/ 0

0 *10/ 10

Az 5.2. alfejezetben megvizsgáltuk, hogy a kapacitásvektor komponensei egyenként milyen határok között mozoghatnak úgy, hogy az erőforrások árnyékára változatlan maradjon. Felvető­ dik azonban a kérdés, hogy mennyi lesz egy erőforrás árnyékára, ha a felhasználható mennyiség kívül esik ezen a tartományon, azaz hogyan függ az ámyékár a kapacitások változásától?

5.7.Példa. v∣∕sgi 'i!∣uk mcg a icdc/cn nyereség maximumának változását a Komód Kit. bútorgv éitási problémájában. ha a munkaórák i- számát O-lol 4000-i a nö\eljük. miközben a többi ereim ras mennyisége \ álto/atkin. Az induló táblából egv transzformációval előállít­ sam a dual Kiadat eev lehetséges bazismcvmldása. ∖l

a

4000

m

.,)

a it 1

5 !ö A> .53u(∣

l∣∖ If > A?

A

b

o

L VJ

... 3 1

A

7300 ∕∖ a

ÍZIUJ

V:

U75OO ’5 ^' s

40

0 1500 2150 1'

ti ;

74() 0.6 o.s 04

f 1700 9 -■

74)/. 1 500 ■ 0.6/; 2150 0.14;

4

04/,

teltétel alapján azt kapjuk, hog\ ez. a bázis akkor optimális, ha 0 < 6 < 2500.

A tábla célsorából leolvasható, hogy 2500 munkaóráig a fedezeti nyereség óránként 730 ló rinttai nő.

Újabb optimális bázishoz úgy juthatunk, ha U\ sorában pivot elemet választva duál szimp lex transzformációt hajtunk végre.

•V]

A'.’

li↑ J 100 - 1 3 -1 1 1 /3

z/3

70 0.2 ’ -0,2 |

04

V'.

1800 3

1

1650000 - 7006 - 500 - 0.2/; 650 - 0.2/i 500 04 v

143

5.2. Parametrikus programozás

Λ táblához tartozó bázis akkor optimális, ha 2500 ≤ ⅛ < 3250. Ebben az újabb karakterisz­ tikus intervallumban minden újabb munkaóra már csak 70 forinttal növeli a fedezeti nyere­ séget.

I la ⅛ > 3250, akkor u2 negatívvá válik, ezért báziscserét hajtunk végre és az alábbi táblához jutunk: Ml

z Xi X2

750 -4/3 5 5/6

u2 350 1 -1/2 -1/2

*3

2500 5 -10 0

1 877 500 150 — 3250 + 4 175

I / a bázis már bármilyen t3 > 3250 értékre optimális. Az élőmunka árnyékára tehát 3250 munkaórától kezdődően 0, nem gazdaságos további mennyiséget felhasználni belőle.

Az 5.7. példa jól szemlélteti a csökkenő hozadék törvényét, amely azt állítja, hogy ha egy erőforrásból egyre többet használunk fel, miközben a többi mennyisége változatlan, akkor ennek az erőforrásnak a határhozama csökken. Pontosabban megfogalmazva, legyen adott a max z = ex Ax ≤ b + tkek x≥o

alakú LP feladat, amelyben a £-adik feltétel bk + tk jobb oldala függ a tk paramétertől, míg a többi feltétel jobb oldala konstans. Jelölje z∖tk) a feladat optimális célfuggvényértékét tk függvényében. Ekkor érvényes a következő tétel: M. TÉTEL. Ha egy LP feladat kapacitásvektora b + tkek, akkor a z*(r jt) optimális cél függvényérték

• maximumfeladat esetén trnak folytonos, szakaszonként lineáris és konkáv függvénye, • minimumfeladat esetén 4-nak folytonos, szakaszonként lineáris és konvex függvénye.

Gyakorló feladatok 8.1. Tekintsük ismét a 3.2. feladatot. a. Célszerű lenne-e további gépórákat bérelni, és ha igen, mennyiért? b. Változatlan maradna-e az optimális termelési program, ha a termékek nyereségét 10%kal sikerülne növelni ?

Í.2. Tekintsük ismét a 3.4. feladatot. a. Alkalmazná-e a dolgozókat túlórában ha óránként csak 400 forintba kerülne ? b. Milyen határok között változtathatjuk a termékek árait, hogy az optimális termelési terv változatlan maradjon ? c. Legfeljebb mennyit lenne hajlandó fizetni • egy további egység nyersanyagért, • egy további gépóráért ?

5. Lineáris programozás: érzékenységvizsgálat

144

5.3. Tekintsük ismét a 3.5. feladatot. a. Hogyan változik a nyereség, ha • külön-külön növelik a nikkel, szén és mangán mennyiségét? • növelik a rendelés nagyságát ? b. Végezzük el a feltételek jobb oldalának érzékenységvizsgálatát! Milyen határok között érvényesek a nyereség növekedési (csökkenési)rátái?

5.4. Tekintsük a 3.6. feladatot. Optimális marad-e a terv, ha a 2. hónaptól kezdve sikerül a változó költséget darabonként 20 ezer forinttal csökkenteni? 5.5. Tekintsük a 3.7. feladatot. a. Tegyük fel, hogy D város növekedésével a tüzesetek száma is megnő. Évente hány tűz­ esetig marad a tűzoltóság eddigi helye optimális ? b. Ha a tüzesetek száma tovább nő, akkor hol van a tűzoltóság optimális helye ?

5.6. Legyen adott az alábbi LP feladat: max z = x↑+ 5x2 + 3x3 Xj + X2 + X3 =3 2xι — x2 =4 xbx2, x3≥0

Vizsgáljuk meg, hogy növekszik-e az optimális célfuggvényérték, ha egy új változót ve­ zetünk be, amelynek feltételi és célegyütthátója a. 2, 2 és 5

b. 1, 1 és 4.

5.7. Határozzuk meg az alábbi modellel adott termelésprogramozási probléma optimális meg­ oldását. A cél a maximális árbevétel elérése.

max z = 600xι + 300x2 + 200x3 8xι + 6x2 + x3 ≤ 480 8xι + 3x2 + 3x3 ≤ 400 4xι + 3x2 + x3 ≤ 160 Xi, x2, x3 ≥ 0 A feladat optimális tábláját felhasználva vizsgáljuk meg, hogy gazdaságos lenne-e annak a terméknek az előállítása, amelynek fajlagos ráfordítási együtthatói rendre 1, 2 és 2 egy­ ség és 300 forintos egységáron értékesíthető!

5.8. Oldjuk meg a következő parametrikus feladatokat! Határozzuk meg • a karakterisztikus pontokat és intervallumokat, • az egyes karakterisztikus intervallumok prímái és optimális megoldásait, • és ábrázoljuk a célfüggvényt a paraméter függvényében.

' 2. Parametrikus programozás

145

a. max z = (-2 + r)xj + (-3 + t)x2 + (-1- ∕)χ3 2xι + x2 - x3 ≤ 24 Xi +x2 ≤ 10 x2 + x3 < 8 xbx2,x3≥0

b. max z = t xj + (t + l)x2 + (t + 2)x3 2xι +x2 - 2x3 ≤ 10 Xi - x2 + x3 ≤ 4 xbx2,x3>O

c. min z = 2xι + x2 + x3 xi - x2 + x3 ≥ 4 -1 -2xι +x2 -x3 ≥ t - 10 xbx2,x3≥0 d. min z = 20x,ι + 10x2 + 30x3 2xι + x2 + x3 ≥ 5 - 2t Xi - x2 + 2x3 ≥ 2 + 2í xbx2,x3≥0

B.9. Vizsgáljuk meg, hogy a Komód kft. problémájában hány folyóméter fűrészárun felül nem növekszik már a fedezeti nyereség. Ábrázoljuk a maximális fedezeti nyereség változását a felhasznált fűrészáru függvényében!

Lineáris programozásra vezető gazdasági feladattípusok

t⅜M

Többperiódusú pénzügyi tervezési feladat

κ≡

Keverési feladat

∣τ≡

Gazdasági egységek relatív hatékonysága: a Data Envelopment Analysis

6.1. Termelésprogramozási feladat A termelésprogramozási feladatra jó példa a Komód Kft. bútorgyártási problémája, amelyet a fejezet elején mutattunk be. Az alábbiakban a termelésprogramozási problémát általánosan fogalmazzuk meg.

í gy cég a rendelkezésére álló m erőforrás (anyagok, gépek, munkaerő) felhasználásával n különböző terméket képes gyártani. Az egyes erőforrásokból bl (i = 1, 2, . . . , m) mennyiség nil rendelkezésére. Az alkalmazott technológia szerint ay-edik termék egy darabjának előállí­ tásához az z-edik erőforrásból aij mennyiség szükséges. Ezért az aij számot ay-edik termék (te­ vékenység) egységnyi kibocsátási szintjére vonatkozó (azaz fajlagos) ráfordítási együtthatójá­ nak is szokás nevezni. Az egyes termékek cj (j = 1, 2, . . . , n) egységáron korlátlan mennyiségben értékesíthetők. Mennyit állítson elő az üzem a termékekből, hogy árbevétele maximális legyen? Jelöljék xb x2,. . ., xn rendre a termékekből előállítandó mennyiséget. Tegyük fel, hogy ezek­ nek a változóknak bármely nemnegatív értéke értelmezhető, azaz kössük ki, hogy xj ≥ 0 (∕ I,- ,∏).

Mivel az első erőforrásból az első termék x1 darabjának előállításához a↑↑x∖ egységnyi, a má­ sodik termék x2 darabjához αj2x2 egységnyi szükséges, ezért az xb x2 ,. . . , xn mennyiségekkel jellemzett termelési program megvalósításához összesen α1ιXι +tzι2x2 + • . . + αιzjx∏

egység szükséges az első erőforrásból, amely nem lehet több, mint b\. Minden erőforrás eselen fenn kell állni egy ilyen feltételnek, tehát teljesülni kell az αi∙ιXι + α,2x2 + . . . + ainxn ≤bi

i = 1, 2,..., m

egyenlőtlenségeknek. Mivel ay-edik termékx7darabjának eladásából származó árbevétel cjxy∙, ezért a cél a Z = CjXi + c2x2 + . . . + cnxn

lineáris függvény maximumának megkeresése. Kérdésünkre a választ tehát az alábbi LP feladat megoldása adja: max z = clxi + C2X2 + ... + cnxn ailxi+ai2x2 +■ ■ ■+ainxn adik összetevőnek ay-edik keverékben legfeljebb, pontosan vagy legalább tkj -ed részben kell jelen lenni. A változók mindegyikére megköveteljük a nemnegativitást, a célfüggvényben pedig az árbevétel és a kiadások különbsége szerepel: m

n

m

n

max z = ∑∑cjxij -∑∑Pixii ■ í=l 7=1

/=1 7=1

6.6. Gazdasági egységek relatív hatékonysága: a Data Envelopment Analysis Hasonló működést folytató, hasonló erőforrásokat felhasználó és hasonló termékeket vagy szolgáltatásokat kibocsátó gazdasági egységek esetében felmerül a kérdés, hogy miképpen lehet őket hatékony sági szempontból összehasonlítani? A gazdálkodástani szakirodalomban egyre inkább elterjedő módszer az úgynevezett benchmarking, azaz a legjobb teljesítményi nyújtó egységek meghatározása, és a többi egység hozzájuk viszonyított értékelése. Sokféle technikát dolgoztak ki erre a feladatra, a versenytársak véleményének formalizálásától kezdve a vállalat önmagáról alkotott képének elemzéséig. A „best practice”, a legjobb gyakorlat fel­ derítése és követése persze nem csak a különböző termelő egységek számára lényeges, más területeken is hódít ez a szemléletmód, például a közigazgatásban, az egészségügyben, u bankszektorban vagy az oktatási intézmények értékelésénél is.

A szakirodalomban az utóbbi húsz évben egyre több olyan publikáció jelent meg, amelyek erre a feladatra egy speciális modellt fogalmaznak meg. Mivel az értékelések egyik legnehe­ zebb problémája a sokszor egymással is ellentétes célok kielégítésének mértékéül szolgáló mutatószámok közös nevezőre hozása, a több tényező alapján történő összehasonlítás, olyan módszer kialakítása és alkalmazása indult el, amely végső soron egyetlen tulajdonságot, a ha tékonyságot állítja a középpontba. Ez a módszertan - az ebben a fejezetben bemutatásra kerü lő Data Envelopment Analysis - a gazdasági egységek közül kiválasztja azokat, amelyek a súlyozott output/input arány szempontjából a leghatékonyabbak, s a többi gazdasági egységei ezekhez a (bizonyos értelemben legjobb, „hatékony”) egységekhez viszonyítja. Először a módszer elméleti hátterével foglalkozunk a Fülöp-Temesi cikk alapján, majd egy ismert példát mutatunk be az alkalmazási lehetőségek illusztrálására Callen nyomán. Mini látni fogjuk, a módszer egyszerű hiperbolikus programozási feladat lineáris programozási fel adattá történő átírásával operál, és a duális feladat változóinak és együtthatóinak jelentése lón tos szerepet játszik az eredmények értékelésében - ezért tárgyaljuk ezt a módszert ebben n fejezetben.

λ

6 Gazdasági egységek relatív hatékonysága: a Data Envelopment Analysis

157

Hatékonyság-elemzés a DEA módszertannal A hatékonyság-elemzés olyan társadalmi-gazdasági egységek hatékonyságának vizsgálatával foglalkozik, amelyek tevékenységük során egy vagy több input felhasználásával egy vagy főbb outputot hoznak létre. Ilyenek nemcsak cégek és termelőegységek lehetnek, hanem ban­ kok, iskolák, stb. Ezeket az egységeket Decision Making Unit (DMU, döntéshozó egység) cl nevezéssel látjuk el. I gyeden inputtal és egyetlen outputtal leírható döntéshozó egységek hatékonyságának leírásá­ ul elfogadott technikai mérőszám az output/input hányados. Több input vagy output esetén H/ outputok súlyozott összegének és az inputok súlyozott összegének a hányadosa hasz­ nálható ilyen célból, a megfelelő súlyok meghatározása azonban nem magáról értetődő, ha­ nem fontos módszertani kérdés.

lek intsünk döntéshozó egységeket, amelyek két inputból (*i és x2) egyetlen outputot (y) hoznak léire. Feltesszük, hogy konstans skálahozadékkal (CRS, constant return to scale) számolhatunk,

i∣∕∣ι∕ pl. kétszeres input mennyiségek esetén kétszeres output keletkezik. Egy egységet akkor te­ kintünk hatékonynak, ha nem létezik egy másik olyan egység, melynek legalább az egyik egység­ nyi outputra eső input értéke kisebb, de a másik sem nagyobb, mint a vizsgáké. Az input­ ot leutalt technológiai hatékonysági mérték tehát arra ad választ, hogy mennyire lehet az input mennyiségeket arányosan csökkenteni az output mennyiségek változatlanul hagyása mellett. I ckintsük a 6.1. ábrát. Ezen az ábrán az SS’ görbe a fenti értelemben vett hatékony termelési leliilet, vagyis az isoquant görbén elhelyezkedő Q pontnak megfelelő input-felhasználással operáló vállalatot hatékonynak tekintjük, míg a görbén kívül elhelyezkedő pontokkal, pl. a P ponttal jellemzett vállalat nem hatékony. Ezen utóbbi vállalat technológiai „hatékonytalanMiipának” nagyságát könnyen beláthatóan a PQ távolság jelenti, egy hatékonysági mértékül pedig a QP/OP hányados szolgálhat, amely éppen azt mutatja meg, hogy az inputokat milyen Hiányban lehet ennél a vállalatnál csökkenteni úgy, hogy az output mennyisége ne változzon ♦S ii vállalat a technológiailag hatékony felületen termeljen tovább.

(». I. ÁBRA. A hatékony termelési /elíilet

6. Lineáris programozásra vezető gazdasági feladattípusok

158

Magának a vállalati technológiai hatékonyságnak (technical efficiency) a mérőszáma: TE = OQ/OP, amely könnyen beláthatóan az 1 - QP/OP kifejezéssel egyenlő. A TE értéke 0 és 1 közé esik, ha TE = 1, akkor a vállalat technológiailag hatékony (esetünkben a Q ponttal jellemzett vál­ lalat).

(Ha ismerjük az input árakat, akkor ugyanezen az ábrán a vállalat költséghatékonyságát is vizsgálni tudjuk. Legyen az input árak vektora w, és x jelölje a P pontbeli input mennyisége­ ket, valamint x és x jelölje a technológiailag hatékony Q és a költségminimumot jelentő Q’ pontokhoz tartozó ráfordítási vektorokat. A Q’ pont az input árak hányadosának meredeksé­ gével rendelkező AA, isocost egyenes és az SS’ isoquant érintési pontja. Ekkor a vállalati költséghatékonyság a P és Q’ pontokhoz tartozó input költségek hányadosa, ce

= wx'.or

wx

OP

Az ábra alapján is látható, hogy a technológiai hatékonyság és az R pont segítségével az allo­ kációs hatékonyság (AE) szintén meghatározható az isocost felhasználásával. AE =

* wx

OR

wx

OQ wx _ OQ

WX

OP

Az allokációs és költséghatékonysággal a továbbiakban nem foglalkozunk.) Az input-orientált mérték természetesen felmerülő alternatívájául szolgál az output-orientált mérték, amely azt méri, hogy mennyire lehet az output mennyiségeket arányosan növelni az input mennyiségek megváltoztatása nélkül.

A technológiai hatékonyság meghatározásánál felmerülő elvi problémákat tekintsük át egy példán, amelyet a 6.2. ábra szemléltet (Coelli et al.). Legyen öt vállalatunk, amelyek két in­ puttal egyetlen outputot állítanak elő. Az adatokat táblázatunk tartalmazza: Vállalat

Output (y)

1. input (χι)

2» input (χz)

χ√ y

χ√ y

Λ 6. Gazdasági egységek relatív hatékonysága: a Data Envelopment Analysis

159

A technológiailag hatékony felületet a vállalatok adataiból tudjuk felépíteni. Ez egy szakau/.onként lineáris függvény lesz, a 6.2. ábrán ismét SS’-vel jelölve. A hatékony felületet a 2-es és 5-ös számú vállalatok jelölik ki (lásd az ábrán a pontok melletti számokat).

6.2. ÁBRA. Szakaszonként lineáris hatékony felület

A/ 1,3, és 4-es számú vállalatok technológiailag nem hatékonyak. Ha a nekik megfelelő pon­ túkat levetítjük a hatékony felületre, akkor az Γ, 3’ és 4’ pontokat kapjuk (az ábrán üres kari­ kákkal jelölve). Azt látjuk, hogy míg a 2-es és a 3-as vállalat esetében az input-redukció a masimális output-mennyiséget fogja szolgáltatni, az 1-es vállalat esetében (amely a •/tikászonként lineáris függvény függőleges szakaszára lett vetítve) még további inputifiliikciót hajthatunk végre azáltal, hogy az x2 input mennyiségét a 2-es vállalaténak megfele­ lnie állítjuk be, s még mindig ugyanazt az output mennyiséget képes termelni - vagyis tudtuk ti hatékonyságot növelni. Az ábrán az Γ és 2 pontok közötti x2-beli input-különbséget input⅜lni'k-nck (input-tartaléknak) nevezzük. A szerzők többsége megegyezik abban, hogy egy vál­ la la lot akkor tekint hatékonynak, ha az input-slack is eltűnik, azaz olyan pontba transzformál­ ni ti lenne lést, ahol ennek az értéke 0.

\/ ábra azt mutatja, hogy példánkban a 3-as vállalat technológiai hatékonysága a vetítés alap­ ion kiszámolva 0,833, amit elérhetne úgy is, hogy mindkét input felhasználását 16,7%-kal • ∣ pont. Ez éppen az ábra 3’ pontja. Az 1-es vállalat célvektora viszont - az előzőekben elmondottak szerint - nem a az Γ pont koordinátáiból áll, hiszen az 2. inputból ott még csökh iiirsi lehetősége van anélkül, hogy az output változna. Tehát az 1-es vállalat célvektora megegyezik a 2-cs pont koordinátáival, azaz [1, 2]. Ezt úgy kapjuk meg, hogy a 0,5×[2, 5] rí lékel (mindkét inputot 50%-kal csökkenteni kell), a 2. inputnál még további 0,5 egységgel lHz ábrán látható I ’I függőleges szιιkιιs∕ nagyságával, a slack értékével) csökkenteni kell.

6. Lineáris programozásra vezető gazdasági feladattípusok

160

Az ábrából az is leszűrhető, hogy a nem-hatékony vállalatokat egy hozzájuk hasonló termelési körülmények között dolgozó vállalattal is érdemes lehet összehasonlítani az efficiens felületre történt vetítés után. Az 1-es vállalatnak a „példaképe” a 2-es vállalat lehet, míg a 3-as és a 4-es vállalatok a 2-es és 5-ös vállalatokhoz állnak közel. Tehát mivel például a 3’ pont a 2-es és 5ös pont között fekszik, gondolkodhatunk úgy, hogy a 3’ helyzetét két működő és hatékony vállalat példája alapján „keverjük ki”, azaz a példaképekhez (peer) viszonyítunk. Ekkor 0,833× [2, 2] = 2∕3× [1, 2] + 1∕3× [3, 1]. A súlyok aránya mutatja, hogy a két példavállalathoz képest milyen input arány változással lehet őket „beérni”. Az 1-es vállalat technológiai haté­ konysága 0,5. A 0,5×[2, 5] = [1; 2,5] pontot (Γ) azonban nem tekintjük hatékonynak, ezért most azt mondjuk, hogy az 1-es vállalatnak a példaképéhez képest mindkét inputból 0,5-ször annyit kell felhasználni, ám a 2. inputot még a slack mennyiségével is csökkenteni kell.

A több inputtal és outputtal leírható döntéshozó egységek fent értelmezett technológiai haté­ konyságának numerikus meghatározására ad eljárásokat a Data Envelopment Analysis (DEA) módszertan. Lényege az, hogy az adatokból kiindulva lineáris programozási technikával tudja előállítani a hatékony pontok többdimenziós, részenként lineáris felületét, majd egy adott pont hatékony sági mutatóját e felülethez viszonyítva határozza meg.

DEA modellek és értelmezésük Ebben a részben a DEA-szakirodalom jelöléseit alkalmazzuk, hogy az érdeklődő olvasó könynyebben utána tudjon nézni az egyes területeken végbemenő modell-fejlesztéseknek. Tegyük fel, hogy a hatékonyság-elemzésben szereplő N döntéshozó egység mindegyike K számú in­ puttal és M számú outputtal írható le. Az í-edik döntéshozó egység legyen az inputok xi osz­ lopvektorával és az outputok yi oszlopvektorával reprezentálva. Az egyszerűség kedvéért fel tesszük, hogy az input és output mennyiségek nemnegatívak, és hogy legalább egy pozitív input és output adat szerepel minden egység esetén. Az összes N egységre vonatkozó input óm output adatokat egymás mellé írva elkészíthetjük az input adatok K×N-es X mátrixát és a/ output adatok M×N-es Y mátrixát.

A DEA alapötlete az úgynevezett hányados formán keresztül érthető meg legkönnyebben Egyetlen input és output esetén azt az egységet tekintenénk hatékonynak, amelynél az óul put/input hányados maximális. Több input és output esetén az outputok valamilyen súlyozol! összegét kell az inputok valamilyen súlyozott összegével osztani, és ezeket a hányadosokul kellene összehasonlítani. A súlyokról egyelőre feltesszük, hogy azok nemnegatívak. Végtelen sokféleképpen választhatunk súlyokat, és a súlyok különböző megválasztása különböző fon tosságot rendel az egymással nem összehasonlítható input és output értékekhez. Azonban any nyit elvárhatunk egy magát hatékonynak tekintő döntéshozó egységtől, hogy tudjon olyan súlyokat mondani, hogy azokkal véve a súlyozott összegek hányadosát, ő legyen a legjobb Amennyiben tehát létezik olyan u AZ-elemü és v ÁT-elemü nemnegatív súlyvektor, amelyre uy, ∕ vx,. = max {uyy ∕ vx,.: j = 1,.. ., N},

(I)

akkor az z-edik döntéshozó egységet hatékonynak tekintjük. (Az y i és az xj olyan megfelelő

ló.) Ha egy döntéshozó egységre (1) semmilyen u és v esetén nem érhető el, azaz az egység

6 6. Gazdasági egységek relatív hatékonysága: a Data Envelopment Analysis

161

nem hatékony, akkor is fontos kérdés, hogy (1) baloldala mikor lesz relatíve legközelebb (1) inhboldalához. Ez a >∙y√vxi max ------ < '/------- ~i------- ÍJT u≥o.v≥o max{uyy∕vxy: y =1,...,7V}

zox '2-,

optimalizálási feladat megoldását jelenti. A (2) feladat optimum-értéke 0 és 1 közé esik, és ezt it/ értéket tekintjük az í-edik döntéshozó egység technológiai hatékonysági mértékének.

Mivel bármely u, v és pozitív a esetén au és v az u és v által adott hányados értékek ai/orosát adja, a hányadosok értékét korlátozhatjuk 0 és 1 közé. A (2) feladatot tehát átírhatjuk it/ ekvivalens maχu,v * y∙), ,0 √v

(uyy∕vx,)≤l,

j = ∖,...,N,

(3)

u ≥ 0, v ≥ 0 niiilematikai programozási feladatra. Az eddigi feladatok hiperbolikus programozási feladaink. amelyek megoldása azonban visszavezethető lineáris programozásra.

A 0) feladatnak is végtelen sok optimális megoldása van még, és mivel a számlálókról felté­ telezzük, hogy nem nullák, az általánosság megszorítása nélkül elég az optimális megoldást a vx 1; feltételnek eleget tevő pontok között keresni. Ezért a (2) feladat az ekvivalens maxμ,v μy vxz. = 1.,

μyy - χ.≤0,

√ = 1,...,7V,

(4)

μ ≥ 0, v ≥ 0

u∣l∣kιa hozható. Ez (2)-től eltérően már egy lineáris programozási feladat, és ezt az új μ0s v változók bevezetésével is hangsúlyozzuk. Ennek a feladatnak is jól interpretálható közgaztl∣rd∣gi jelentés adható. A (4) feladatot szokták szorzó alakú DE A lineáris programozási hinduinak is nevezni, egyrészt mivel itt az inputoknak és az outputoknak az /-edik döntésho∏ egység értékeléséhez szükséges optimális súlyait, szorzóit határozzuk meg, másrészt ez az •• I nevezés a (3)-ra használt hányados alak elnevezésnek mintegy az ellentéte.

\ lineáris programozás dualitás elméletét használva, (4) duál feladatát a következő alakban ∣∣lι∣∣ι∣ιιk fel: minι9λ 9,

-y,+Yλ≥0,

∣9x, - Xλ > 0, λ≥0,

(5)

162

6. Lineáris programozásra vezető gazdasági feladattípusok

ahol 19 egy skalár változó, λ pedig változóknak egy 7V-elemü vektora. Az elméletből tudjuk, hogy (5) optimum-értéke azonos az (l)-(4) feladatok mindegyikének optimum-értékével, te­ hát szintén 0 és 1 közé esik, és az optimum-érték az z-edik döntéshozó egység technológiai hatékonysági mértéke. Hangsúlyozzuk, azonban hogy minden döntéshozó egység számára egy önálló (4) vagy (5) feladatot kell megoldani, tehát összesen N számút.

Az Xλ és Yλ vektorokat geometriailag tekinthetjük úgy, mint a vizsgált döntéshozó egysé­ gekből λ -beli nemnegatív súlyokkal vett lineáris kombinációval előállított képzetes döntés­ hozó egységet, amelynek Xλ az input, Yλ pedig az output vektora. Csak olyan képzetes döntéshozó egységek érdekelnek minket, amelyek legfeljebb annyi inputból legalább annyi outputot állítanak elő, mint az z-edik döntéshozó egység, azaz χ. ≥ Xλ és Yλ ≥ y.. Ilyen nyilván van, például amikor λ éppen az z-edik egységvektor, tehát a képzetes és az z-edik döntéshozó egység azonos. A kérdés most az, hogy van-e olyan képzetes döntéshozó egység, amelyre χ. > Xλ és Yλ ≥ y., azaz amelynél az input-felhasználás határozottan kisebb. Ilyen pontosan akkor van, ha az xi vektort egy 1-nél kisebb , *

x,-Xλ>0, λ>0.

(M)

Azt már tudjuk, hogy van olyan képzett döntéstámogató egység, melyre χ. ≥ Xλ 6 Yλ ≥ y. teljesül, pl. amikor λ az z-edik egységvektor. Az output-orientáció esetén a kérdd * az, hogy van-e olyan is, melyre χ. ≥ Xλ és Yλ > y i, és ha igen, akkor az yi output vek lóri mennyire tudjuk radiálisán növelni úgy, hogy még Yλ ≥ φyi teljesüljön. A (8) feladat éppv’li erre ad választ, az optimális φ értékre 1 ≤ φ < ∞ teljesül, és azt jelzi, hogy (φ -1 )-szcres iu output értékek arányos növelésének a lehetősége az input értékek változatlanul hagyása ind lett.

Output orientáció esetén is bevezethető a változó skálahozadékú DEA modell, amely

ma⅝λ φ,

-φih + Yk≥Q, xj-Xk≥ 0, lλ = l, λ>0

(U)

«

λ

(iazdasági egységek relatív hatékonysága: a Data Envelopment Analysis

165

,∣l∣ιkιi. A konstans skálahozadékú modellekre vonatkozó összefüggések itt már nem érvénye­ ik. \ lobbkritériumú döntéshozatalban megszokott módon az z-edik döntéshozó egységet akkor i» kintjük hatékonynak, ha bármely λ-val képzett mesterséges döntéshozó egységre az i * Xλ és yz ≤ Yλ egyenlőtlenségek teljesüléséből χ. = Xλ és y. = Yλ következik. Ez

«i/i jelenti, hogy csak úgy tudnánk valamelyik input mennyiséget csökkenteni, vagy valame­ lyik output mennyiséget növelni, ha közben valamelyik másik inputot növelnénk, vagy vala­ melyik másik outputot csökkentenénk.

Iln egy döntéshozó egység technológiai hatékonysági mutatója nem 1, azaz őt radiális vetítés­ en! ∣avitani lehet, akkor a fenti értelemben biztosan nem hatékony. A technológiai hatékony­ áéi mérték 1 értékéből azonban még nem következik a fenti értelmű hatékonyság. A hatékonyság ellenőrzésének, illetve a hatékony pontba való lépésnek több módja is van, az ∣∙∣∣v∣k a holtjátékok (slackek) összegének a maximalizálása, amint arról a 6.2. ábrán lévő pél∣l∣∣ kapcsán beszéltünk. Tekintsük a következő lineáris programozási feladatot:

max,λ,s 1 ,s o 1so +1si ,

(10) hIioI



az output slack változók Af-elemü vektora, s1 az input slack változók Á?-elemü vek-

»mn. l v és 1aγ pedig a csupa 1 elemből álló Af, illetve X'-elemü vektor. A (10) modellben & »i» in változó, hanem konstans. A (10) modell az (5) konstans skálahozamú input-orientált hl A modellhez tartozó kiegészítő, második fázisú feladat. Az z-edik döntéshozó egység ∣m∣ι∣osan akkor hatékony, ha • ∩) optimum-értéke, azaz a döntéshozó egység technológiai hatékonysági mértéke 1, és • (10) optimum-értéke 0. V is igaz, hogy a (10) optimális megoldásából nyert (Xλ, Yλ) pont mindig hatékony.

\ \ ti hozó skálahozadékú esetre vonatkozó (6) input-orientált modellre hasonló állítás érvé­ nyes. csak most a (10) feladatot is ki kell egészíteni a lλ = 1 konvexitási feltétellel.

A (K), konstans skálahozadékú output-orientált modellhez tartozó második fázisú lineáris ∣∣∣∙»i’iamozási feladat az alábbi: max,λ,s,s , o lso+ls1’, - y,+Yλ-so=0, xi -Xλ-s, =0, λ > 0, s* , ≥ 0, s' ≥ 0.

(11)

166

6. Lineáris programozásra vezető gazdasági feladattípusod

Az állítás hasonló. Az f-edik döntéshozó egység pontosan akkor hatékony, ha

• (8) optimum-értéke, azaz a döntéshozó egység technológiai hatékonysági mértéke 1, és • (11) optimum-értéke 0. A változó skálahozadékú környezetre vonatkozó (9) output-orientált modell esetén hasonló állítás érvényes, mindössze a (11) feladatot ki kell egészíteni a lλ = 1 konvexitási feltétellel,

Hangsúlyozzuk, hogy mind a konstans, mind pedig a változó skálahozadékú környezel ben a fent bemutatott input- illetve output-orientált technika ugyanazokat a döntési egy ségeket minősíti hatékonynak. A két orientáció közötti választás függ a konkrét elemzéstől, aszerint, hogy az input csökkentése vagy pedig az output növelése kézenfekvőbb az adott elemzési feladatnál. Változó skálahozadék esetén gyakran mindkét orientációval elvégzik «/ elemzést.

A két fázis feladatát egyetlen feladatban végzik el a továbbiakban bemutatandó DEA model lek. Nagyon sok ilyen modellvariáns található ma már az irodalomban különféle jelzőkkel (CCR, BCC, input-orientált, output-orientált, prímái, duál) ellátva, lásd az irodalomjegyzék ben pl. Banker-Charnes-Cooper, Charnes-Cooper-Lewin-Seiford, Coelli-Prasada Ran Battese-O ’Donnell. Hangsúlyozzuk azonban, hogy mind levezethető az egyszerű, geometrinl lag is könnyen értelmezhető (2) illetve (3) hányados modellből. Tekintsük először az input-orientált CCR (Charnes-Cooper-Rhodes) modellt: min5,λ,s',so ∙9-f ls° ~ε ls’’ -yi+Yλ-so=0,

i9x; - Xλ - s1 =0, λ≥0,so ≥0,s, ≥0,

(IJi

ahol ε egy megfelelően választott kis pozitív konstans. Könnyen látható, hogy (12) tulajdon képpen az (5) és (10) feladatokból van összerakva. Az eddigiekhez hasonlóan látható, ho∣μ (12) optimum-értéke nem vehet fel 1-nél nagyobb értéket. Megmutatható, hogy van olym∣ < 0, hogy bármely 0 < ε < ⅛ esetén (12) optimum-értéke pontosan akkor 1, ha ε - I s° =0 és s1 =0. Ez pedig azzal ekvivalens, hogy (5) optimum-értéke 1, és (10) optimum értéke 0. Tehát kellően kicsi, de pozitív ε esetén az Z-edik döntéshozó egység pontosan akkut hatékony, ha (12) optimum-értéke 1. Nem hatékony döntéshozó egység esetén az (5) állni szolgáltatott technológiai hatékonysági mérték eltérhet (12) optimum-értékétől, de mivel ∕., ∣* gyakorlatban kicsi, az eltérés elfogadható.

Az output-orientált CCR modell a következő:

max,. 1 o φ + ε∙lso+ε∙lsz, -fai. + Yλ-so =0, xi - Xλ-s, = 0, λ≥0,so ≥0,sl ≥0.

(|b

ħ.6. Gazdasági egységek relatív hatékonysága: a Data Envelopment Analysis

167

Λ párhuzam megint nyilvánvaló, (13) a (8) és (11) feladatokból van összerakva. Továbbá kel­ lően kicsi, de pozitív ε esetén az z-edik döntéshozó egység pontosan akkor hatékony, ha (13) optimum-értéke 1. A (12) és (13) modellek nyilván konstans skálahozadékú környezetben használhatók, akár­ csak a (5), (8), (10) és (11) feladatok, amelyekből összerakhatok. Szokás még a (12) és (13) feladatok duálját is felírni, de ezektől itt eltekintünk, mert semmilyen lényeges geometriai vagy közgazdasági jelentéstöbblettel nem rendelkeznek.

A következő, BCC (Banker-Charnes-Cooper) rövidítésű modellek szintén közvetlenül le­ vezethetők a korábban a változó skálahozadékú esetre bemutatott kétfázisú modellekből. Az input-orientált BCC modell az alábbi: min5,Ml,so θ-θ∙lso-ε∙lsl, -y,+Yλ-so=0,

x-Xλ-s, =0, lλ = l, λ ≥ 0, so ≥ 0, s, ≥ 0,

(14)

a/ output-orientált BCC változat pedig

max^,λ,s j. 1 ,sou φτ + ε∙lso + ε∙ls1, - y,.+Yλ-so=0,

x-Xλ-s, =0, lλ = 1, λ ≥ 0, so ≥ 0, s1 ≥ 0.

(15)

I átható, hogy akárcsak a kétfázisú modelleknél, a változó skálahozadék esetére vonatkozó BCC modelleket a konstans skálahozadék esetére vonatkozó CCR modellekből nyerhetjük az I λ = 1 konvexitási feltétel csatolásával. De levezethetjük a BCC modelleket közvetlenül a megfelelő kétfázisú modellekből is. Az állítás a változó skálahozadékú BCC modellek esetén is hasonló. Eszerint kellően kicsi, de pozitív ε esetén az z-edik döntéshozó egység pontosan akkor hatékony, ha (14) illetve (15) optimum-értéke 1. A CCR és BCC modelleken alapuló DEA elemzés kulcskérdése az, hogy miként válasszuk meg az elég kicsi, de még pozitív ε értékét. Elméletileg létezik olyan ε0 >0, hogy bármely 0∙ εt vagy csúcspontot mondunk, míg vonalak helyett a továbbiakban élekről beszélünk.

\ pontokkal jelölt objektumok közötti kapcsolat pontosabb leírása céljából egy gráf csúcs(•"ni∣aihoz és éleihez is rendelhetünk valós számokat. A csúcspontokhoz rendelt számok pl. ∣∙ l< Hihetnek keresletet vagy kínálatot, míg az élek esetében gyakori a távolság vagy költség ∣∙ 1« illés.

II i a/ élek valamilyen tevékenységet reprezentálnak, akkor az élekhez nemnegatív valós értéi H ∖.∣hozókat is rendelünk, amelyek e tevékenység erősségét (intenzitását) mutatják. Mivel a •• \« kenységek gyakran valaminek az áramlásával kapcsolatosak, ezért mondhatjuk, hogy a ilin/ók a folyam erősségét mutatják a hozzájuk tartozó élen. Feltételezzük, hogy bármely •»it .pontban a kimenő folyam erőssége a csúcspont kínálatával nagyobb (illetve keresletével i "∙ l»h) a beérkező folyam erősségénél.

∖ lozett párok halmaza. 1/ elemeit a gráf csúcsainak (vagy csúcspontjainak), E elemeit a gráf éleiimk nevezzük. Ilii /■/ elemei rendezett párok, akkor irányított gráfról beszélünk. Egyébként - ha a sorrend nem adott - röviden a gráf szót használjuk. Irányított gráfban az E halmaz elemei (vi, v7) alakú h’iidczctt párok, ahol vrt az él kezdőpontjának, v7-t pedig az él végpontjának nevezzük. Ha • μv élnek a kezdő és végpontja azonos, akkor hurokélről beszélünk, a további tárgyalásban a «uicspontokat önmagukkal összekötő hurokéleket kizárjuk.

I p.v irányított gráf valamely csúcspontja forrás, ha egyetlen élnek sem végpontja, és nyelő, hu egyetlen élnek sem kezdőpontja. A forrásból tehát csak indulnak élek, a nyelőbe viszont • fH∣k érkeznek.

A (i' (V',E') gráfot a G = (1/, E) gráf részgráfjának nevezzük, ha l∕'⊂ V és E' ⊂ E, továbbá egy i micspont és egy él pontosan akkor illeszkednek egymásra G'-ben, ha G-ben is illeszkedők. I leknek egy (v1, v2), (y2, v3), . . . , (⅛-ι, Vk) sorozatát élsorozatnak nevezzük. Az lÜMiiozatban az egymást követő élek közös csúcsra illeszkednek.

\/ íil olyan élsorozat, amelyben a csúcsok mind különbözők. Ha az út kezdő és végpontja nnψ.egyezik, akkor kőrútról beszélünk. Ihinvílott gráfokban beszélhetünk irányított útról és irányított körről (vagy más néven iráIH∣∣oll kőrútról). Ekkor az egymást követő élek egyikének a kezdőpontja, a másiknak a vég∣∣∣∣ιιl|ii illeszkedik a közös csúcsra.

IM 0 esetén yi - yj = cij teljesül.

∖ I c yA)x = 0 feltétel ugyanis azt követeli meg, hogy két nemnegatív vektor skaláris szór­ ón n nulla legyen. Ha xij > 0, akkor ez csak úgy teljesülhet, ha a másik vektor megfelelő kom­ ponense nulla. Ez azt jelenti, hogy (ylyj - c⅛)-nek nullának kell lenni, ha xij > 0, ami ekviva∣∙ ír. ;i tételben szereplő feltétellel.

\ pumái feladat egy lehetséges megoldása tehát akkor és csak akkor optimális, ha a pozitív Hh kíi primál változókhoz tartozó duál feltételek egyenlőség formában teljesülnek, és a duál x iilio/óknak ez az értékrendszere kielégíti a többi duál feltételt.

i uy prímái lehetséges megoldás optimalitásának szükséges és elegendő feltétele az, hogy minden * iinmbázisváltozóra cl∣=yi-yi-cii≤o

∣∣∙l∣ιr∙ιιljon. ∖ I ni/is változóknál természetesen c. =0, hiszen azy, értékeket erre a feltételre támaszkodva

•hiiiiio/tuk meg.

∣I∙∙Pvnn alkalmazzuk ezt a kritériumot a primál feladat egy lehetséges bázismegoldása * P11111 i 11 i I ásának eldöntésére? V uliipöllct az, hogy a komplementaritási feltételekre támaszkodva meghatározzuk a duál ihozók egy értékrendszerét, majd ellenőrizzük, hogy ez az értékrendszer kielégíti-e a duál lm Ini feltételrendszerét. Ha igen, akkor birtokunkban van mind a primál, mind a duál feladat m\ optimális megoldása. Ha nem, akkor a primál feladat lehetséges bázismegoldását javítjuk. I • nk lel, hogy ismerjük az MKHF feladat egy lehetséges bázismegoldását, amelyet a hálói∣∣h∣∣∣ egy feszítőfa reprezentál. A feszítőfa éleihez tartozó folyamértékek a bázisváltozók 4iiiiihs értékei. Ekkor a feszítőfa éleinek megfelelőyl 0 esetén cij - ui - v. = 0. I m \ dycn x lehetséges megoldást a komplementaritási feltételre támaszkodva próbálunk megi • n un Legyen xij = 1 ott, ahol cij - ui - vj = 0, és legyen xij = 0 egyébként. Ha sikerül a re-

∣t∣hd∣ költségmátrix nulla elemei közül n számút úgy kiválasztani, hogy a nekik megfelelő xij dui/óknak az 1 értéket adva lehetséges megoldást kapunk, akkor ez a lehetséges megoldás • ι∣∙∣ Imid is. Mivel minden z-rc ésy-re csak egy xii vehet fel 1-es értéket, ezért a kiválasztott nulla ‘ I* m-rel jelölünk. A Gr javító hálózatban egy (z,y) él csak abban az esetben szerepel, ha a/ eredeti G hálózatnak az (Z,√) és (/, z) élek közül legalább az egyik éle. Természetesen a G há­ lózatban az (z,y) és (/, z) egyszerre is előfordulhatnak, akár különböző kapacitásokkal. Ha rij= 0, akkor a Gr javító hálózatban nincs (z,y) él, mivel a maradék kapacitás nulla, és n nulla kapacitású éleket nem tüntetjük fel a hálózatban. Szerepelni kell azonban Gr-ben egy (/, z) élnek kij kapacitással, ami azt jelenti, hogy a folyam erőssége a G hálózat (z,√) élén leg feljebb kij-∖Q∖ csökkenthető.

Ha rij = kij - xij> 0, akkor a Gr javító hálózatban az (z,√) él kapacitása rij. Ebben az esetben u Gr javító hálózat (j; i) élének kapacitása xij. Ez ekvivalens azzal, hogy a G hálózat (z,y) élén n folyam erőssége legfeljebb xiy-vel csökkenthető.

A javító hálózatban az s-ből í-be vezető irányított utakat növelő utaknak hívjuk. Egy növelő út legki­ sebb kapacitású élének kapacitását kritikus kapacitásnak nevezzük. Tegyük fel, hogy G hálózatban ismert egy f folyam, amely az eljárás kezdetén lehet akár az / = 0 folyam is. Ekkor a Ford-Fulkerson módszer az alábbi lépések ismétléséből áll:

1. Készítsük el az ismert folyamhoz a Gr javító hálózatot és keressünk benne egy növelő utat. Hu már nincs növelő út, akkor megtaláltuk a maximális folyamot. 2. Határozzuk meg a növelő út r* kritikus kapacitását, és növeljük a folyam erősségét G-ben a nö velő útnak megfelelő éleken r* -gal. 3. A Gr javító hálózatban a. a növelő út minden élének kapacitását csökkentsük r* -gal, b. a növelő út csúcspontjait összekötő ellentétes irányítású élek kapacitását növeljük r* -gal. Könnyen beláthatjuk, hogy ha a G hálózat minden élének a kapacitása egész, akkor a maxi mális folyam értéke is egész. Tételezzük fel, hogy adott egy / folyam, amelynek erőssége 0, akkor bármely rákövetkező esemény legalább ennyi ideig várakozhat, ez a befejezést nem késlelteti.

235

fi. 2. Egy gyakorlati alkalmazás: a kritikus út meghatározása (CPM)

Esetünkben:

Esemény 1 2 3 4 5 6 7 8 9

Legkésőbbi idő: LT(i) 0 20 20 20 35 45 47 60 90

Legkorábbi idő: ET(i) 0 7 7 20 35 45 50 60 90

Esemény tűrése: T(i)=LT(i)-ET(i) 0 13 13 0 0 0 3 0 0

A konkrét példában az 5-ös, a 6-os vagy a 8-as eseményekből kifutó tevékenységek közül leg­ alább egyet azonnal indítanunk kell - látni fogjuk, hogy ezeket az azonnal indítandó tevé­ kenységeket fogjuk kritikus tevékenységeknek nevezni. Az 5-ös vagy a 8-as csúcspontból egy tevékenység vezet ki, tehát azt azonnal indítani kell. A 6-os csúcspontban a J (sütő bemelegí­ tése) tevékenységet kell azonnal indítani, ha nem akarjuk a befejezést hátráltatni. A 7-es szá­ mú esemény tűrése azt mondja, hogy az innen kiinduló tevékenységet (mivel csak egy van, ez az összetevők előkészítése lesz) 3 percig késleltethetjük.

Egyszerűbb lenne azonban azonnal a tevékenységekre vonatkozó értékekkel dolgozni. Az ET(i) és LT(i) értékek segítségével ki tudjuk számolni az egyes tevékenységek tűréshatárát is! Egy tevékenység tűréshatára, amit TH(ii∕)-vel jelölünk, a következő módon számolható ki: TH(ij)=LT(j)-ET(i)-t ij

Egy tevékenység tűréshatára az a szám, amennyivel az adott tevékenység elkezdése eltolódhat anélkül, hogy a projekt egészének befejezése késedelmet szenvedne. Ha a tevékenység tűrés­ határa 0, akkor nincs lehetőség a késleltetésre. Ha TH(i,j) > 0, akkor van ilyen lehetőség. Számoljuk ki a példában a tevékenységek tűréshatárait! Tevékenység

A (1,2) B(l,4) C(l,3) Fiktív 1 (2,3) Fiktiv2 (3,4) D(4,7) E(2,7) F(3,7) G(4,5) H (5,6) I (6,7) J (6, 8) K ((7,8) L (8,9)

Tűréshatár LT(j) -ET(i) -t,i 20-0-7 20-0-20 20-0-2 20-7-0 20-7-0 50-20-25 50-7-5 50-7-3 35-20- 15 45-35- 10 50 - 45- 2 60-45- 15 60-47- 10 90 - 60 - 30

TH(ij)

13 0 18 13 13 5 38 40 0 0 3 0 3 0

8. További hálózati feladatok

236

Azokat a tevékenységeket, amelyek tűréshatára 0, kritikus tevékenységeknek nevezzük. A kri­ tikus út a kezdés csúcspontból a befejezés csúcspontba vezető olyan út, amely kizárólag kriti­ kus tevékenységekből áll. Példánkban a kritikus út a

B (1,4) - G (4,5) - H (5,6) - J (6,8) - L (8,9) tevékenységekből áll (és mint láttuk, a hossza 90 perc). Az ábrában ezt az utat vastagabban húztuk ki. Ezeket a tevékenységeket tehát haladéktalanul el kell kezdeni. Vagyis a hagyma és gomba előkészítésének végeztével azonnal indítjuk a vízforralást és tésztafőzést, majd hala­ déktalanul melegíteni kezdjük a sütőt, hogy a bemelegedés után azonnal megkezdődhessen a sütés. Sok olyan tevékenység van viszont, amelynek elkezdésével Játszani” lehet: akár késhe­ tünk is 13 percet a boltba való elindulással, vagy a paradicsomszósz elkezdése is kezdődhet 5 perccel később. (Ez úgy is realizálódhat, hogy 5 perccel tovább tart ez a művelet.)

Egy tevékenység mozgáshatára, amit MH(íJ)-nq\ jelölünk, az a maximális időtartam, amennyivel a tevékenység elkezdését várakoztathatjuk, ha a befutó eseményből azonnal to­ vább akarunk indulni, amint lehet.

MH(ij)=ET(j)-ET(i)-tij Számoljuk ki a példában a tevékenységek mozgáshatárait!

Tevékenység

A(1,2) B(l,4) C(l,3) Fiktív 1 (2,3) Fiktiv2 (3,4) 0(4,7) E (2,7) F(3,7) 0(4,5) H (5,6) I (6,7) J (6, 8) K((7,8) L(8,9)

Mozgáshatár ET(∕) —ET(i)-t„ 7-0-7 20-0-20 7-0-2 7-7-0 7-7-0 50 - 20- 25 47-7-5 47-7-3 35-20- 15 45-35- 10 47-45-2 60-45- 15 60-47- 10 90-60-30

MH(ij) 0 0 5 0 0 5 35 37 0 0 0 0 3 0

Az egyes jellemzők közötti összefüggés könnyen megadható és ez az értelmezést is megkönnyíti:

T(j) = T(i,j) - M(iJ), ugyanis a jobboldalon a tevékenység tűréshatárának és a mozgáshatárának képletét behelyet­ tesítve

T(i,j) - M(i,j) = LT(j) - ET(i) - tij - (ET(j) - ET(i) - tiJ = LT(j) - ET(j)= T(j) vagyis a tevékenység beérkezési eseményének tűréshatárát kapjuk.

8.2. Egy gyakorlati alkalmazás: a kritikus üt meghatározása (CPM)

237

Tehát például az összetevők összerakását jelentő K tevékenység a 8-as eseménybe fut be, ahol nincs várakozási lehetőség, ezért a tűréshatár és a mozgáshatár megegyezik: 3 perc lesz. Eb­ ből egyrészt azt is látjuk, hogy a tevékenység nincs a kritikus úton, másrészt pedig azt is tud­ juk, hogy a beérkezéskor azonnal tovább kell indulni, mert az esemény tűrése 0. Az I tevé­ kenységnél viszont a tűréshatár 3 perc, a mozgáshatár azonban 0: a tevékenység nincs ugyan a kritikus úton (a tűréshatár nem 0), ám akár a beérkezéskor is lehet várakozni, mivel az ese­ mény tűrése 3. Végül ha a C eseményt nézzük, ott a tűréshatár 18, a mozgáshatár pedig 5 perc: ez azt jelenti, hogy akár 18 perccel a legkorábbi kezdés után is indíthatjuk a 2 perces tevékenységet, vagy azt is megtehetjük, hogy legkésőbb 5 perccel a legkorábbi kezdés után indítunk és 13 percet a kész művelet után, a sajtvásárlást is befejezve, várakozunk. A fenti eredményeket a legszemléletesebben az ún. Gantt-diagram mutatja. A diagram az egyes tevékenységek legkorábbi és legkésőbbi idejét és a tartalékidőket illusztrálja egy idő­ tengely mentén. Példánk Gantt-diagramja a 8.5. ábrán látható.

A nem a kritikus úton lévő tevékenységek esetében az ábra a legkorábbi és legkésőbbi kezdé­ seket szemléletesen mutatja be. A kritikus úton természetesen ez a két időpont egybeesik. Megjegyezzük, hogy az általunk bemutatott tárgyalásban a tevékenységeket az élek reprezen­ tálják. Az angol terminológiában ez az AOA (activity on arc) megközelítés. Úgy is megfo­ galmazható a feladat, hogy a tevékenységeket a csúcspontok reprezentálják. Ezt a módszert követi például a QSB programcsomag.

8. További hálózati feladatok

238

A kritikus utat megkereshetjük lineáris programozás segítségével is. írjuk fel a mintafcla datunkhoz tartozó LP-modellt!

Legyen xj a y-edik csúcsponthoz tartozó esemény bekövetkezésének időpontja. Mivel minden (i,j) tevékenységre igaz az, hogy a y-edik esemény bekövetkezte előtt az z-edik eseménynek be kell következnie és az (ij) tevékenységnek is be kell fejeződnie (lásd a hálózat megkonsl ruálására vonatkozó szabályokat), ezért a hálózat mindegyik élére vonatkozóan igaz, hogy Xj>Xi + tij

Lsetünkben

x2 ≥X1 + 7 x3 ≥xι + 2 x4 ≥xι + 20 X3≥X2 X4≥X3

x7 ≥ X2 x7 ≥X3 X5 ≥ X4 x6 ≥xs x7 ≥x6 x7 ≥ X4 xg ≥xβ xs ≥X7 X9 ≥x8

÷5 +3 + 15 + 10 +2 + 25 + 15 ÷ 10 + 30

min z = X9 - xj (1,2 élhez tartozó feltétel) (1,3 élhez tartozó feltétel) (1,4 élhez tartozó feltétel) (2,3 élhez tartozó feltétel) (3,4 élhez tartozó feltétel) (2,7 élhez tartozó feltétel) (3,7 élhez tartozó feltétel) (4,5 élhez tartozó feltétel) (5,6 élhez tartozó feltétel) (6,7 élhez tartozó feltétel) (4,7 élhez tartozó feltétel) (6,8 élhez tartozó feltétel) (7,8 élhez tartozó feltétel) (8,9 élhez tartozó feltétel)

Az LP-feladat megoldása: z = 90, xj = 0, x2 = x3 = X4 = 20, x5 = 35, x6 = 45, x7 = 50, x8 = 60, .∖., 90. Most is megkaptuk tehát a 90 perces optimumot. A kritikus úton fekvő tevékenységek esetében a feltételek egyenlőség formájában teljesülnek, azaz a komplementaritási tétel és az árny ékárak jelentésére vonatkozó 4.2. fejezetbeli gondo latmenctünk értelmében a kritikus tevékenységeknél a duál változók értéke -1. Feladatunkban az (1,4), (4,5), (5,6), (6,8), (8,9) élekkel jellemzett tevékenységekre teljesül ez, összhangban 11 hálózati algoritmussal kiszámított megoldással. A kritikus útra vonatkozó feladatnak alterna tív optimális megoldásai is lehetnek (mintapéldánknak nincs alternatív optimuma).

A projekttervezés és megvalósítás folyamatában megeshet az, hogy a projektet le szeretnénk rövidíteni. Valós gazdasági folyamatoknál a lerövidítés akkor lehetséges, ha az eddigi teve kény ségek időtartamát bizonyos költségek vállalásával csökkenteni tudjuk. Ebben az esetben nem csak az a kérdés tehát, hogy mi lesz a legrövidebb út, hanem az is, hogy miképpen tudjuk ezt a legrövidebb utat a legkisebb költségráfordítással elérni. Ha tehát példánkban az ételkészítés időtartamát 80 perc alá szeretnénk csökkenteni, akkor a/ egyes tevékenységeket végző családtagok számára prémiumokat tűzhetünk ki - miközben szeretnénk a kifizetendő prémium teljes összegét a legalacsonyabban tartani. Az egyes teve kenységekre kitűzött prémiumokat szelet csokoládéban adjuk meg: minden perc nyereségei egy szelet csokoládéval jutalmazunk, kivéve az étel összerakását, ahol 2 szelet ajutalom pei venként. Természetesen a csökkentésnek vannak korlátái is. I’zekel figyelembe véve a hagy

8.2. Egy gyakorlati alkalmazás: a kritikus út meghatározása (CPM)

239

ma és gomba előkészítését 15 percre lehet lecsökkenteni, a paradicsomszósz elkészítését 20 percre, a sajtszeletelést 3 percre és az étel sütés előtti összerakását 8 percre. Kérdésünk az, hogy le tudunk-e menni 80 perc alá, változik-e a kritikus út és ha igen, mi lesz az - és persze az is érdekel bennünket, hogy hány szelet csokoládét kell „kifizetnünk”? Mindezen kérdéseket legegyszerűbben a lineáris programozási feladattal tudjuk megválaszol­ ni. Új változókat vezetünk be: yB, yD, yε, és yκ a lerövidítendő tevékenységekhez tartozik és azt jelenti, hogy hány perccel rövidítjük le az indexben jelölt tevékenységet. (Ha tehát az op­ timális megoldásban yB a 2 értéket venné fel, akkor a hagyma és gomba előkészítésének 25 perc helyett 23 perc alatt kell megtörténnie, és ez 2 szelet csokoládénkba kerül).

Hogyan változik meg az LP-feladat?

min z=yB+yD+yE + 2yκ yBX6 + 2 Xi ≥X4 + 25-yD *8 ≥X6 + 15 *8 >X7 + 10-γκ X9 ≥X8 + 30 X9 - xi:

Xi ≥X3

(1,2 élhez tartozó feltétel) (1,3 élhez tartozó feltétel) (1,4 élhez tartozó feltétel) (2,3 élhez tartozó feltétel) (3,4 élhez tartozó feltétel) (2,7 élhez tartozó feltétel) (3,7 élhez tartozó feltétel) (4,5 élhez tartozó feltétel) (5,6 élhez tartozó feltétel) (6,7 élhez tartozó feltétel) (4,7 élhez tartozó feltétel) (6,8 élhez tartozó feltétel) (7,8 élhez tartozó feltétel) (8,9 élhez tartozó feltétel) (a rövidítés)

Ha valamelyik LP-megoldó programmal dolgozunk, hamar kiderül, hogy ennek a feladatnak nincs lehetséges megoldása, azaz nem lehet 80 perc alá szorítani az ételspecialitás elkészíté­ sének „projektjét”. Ha viszont az X9 -X∖ < 85

korlátot szeretnénk érvényesíteni, akkor ez már lehetséges. A kritikus út változatlan marad, azonban a gomba és hagyma előkészítésének rövidítési lehetőségét teljes egészében igénybe kell venni 5 szelet csokoládé fejében. A tervezési folyamat valósághűségének másik modellezési fogása az lehetne, ha feladjuk a tevékenységek elvégzési idejére vonatkozó feltevésünket, miszerint ezek az adatok jól megha­ tározott, determinisztikus értékek. Sokszor előfordul, hogy egy tevékenység időtartamára csak optimista, pesszimista és legvalószínűbb értékünk van, s ezek segítségével próbáljuk az idő­ tartamot megbecsülni. Az is lehetséges, hogy az időtartamra vonatkozó értékeket adott való­ színűségi eloszlásból vett valószínűségi változóként kezeljük (ahol pl. ismert a várható érték

240

8. További hálózati feladatok

és szórás, vagy egyéb jellemzők). Erre az esetre dolgozták ki a CPM-modell sztochasztikus változatát, a PERT technikát. Itt tehát az időtartamok nem előre megadott fix értékek, ha­ nem éppen ezek lesznek a változók. Terjedelmi okokból a PERT-módszerrel nem foglalko­ zunk.

8.3. Többperiódusú termeléstervezés Egy üzemben a következő év termelési tervét kívánják elkészíteni. Egyik termékük iránt az előrejelzések szerint az egymást követő negyedévekben rendre 3, 7, 9 és 2 ezer db lesz a ke­ reslet. A termék fajlagos előállítási költsége az egyes negyedévekben rendre 22, 23, 25 és 26 ezer forint. A gyártás negyedévében nem értékesített termékmennyiséget raktározzák. A rak­ tározási költség csak a negyedév végi készletszinttől függ és minden negyedévben 3 ezer Ft/db. Az év eleji nyitókészlet és az év végi zárókészlet is nulla. Mennyi terméket állítsanak elő az egyes negyedévekben (azaz mekkora legyen a termelési sorozat), hogy a kereslet kielé­ gítésének összköltsége minimális legyen?

A fenti termeléstervezési probléma az alábbi hálózattal (8.6. ábra) modellezhető.

8.6. ÁBRA. Termeléstervezési probléma hálózata

A többperiódusú termeléstervezési probléma olyan speciális MKHF probléma, amelynek for­ rása a termelést reprezentálja. Kínálatát az összkereslettel tesszük egyenlővé. A hálózat többi csúcspontja a negyedéveknek felel meg. A lefelé haladó éleken a folyam intenzitása termelési szintet mutatja, a vízszintes éleken a készlet áramlik a negyedévek között.

Az LP modell felírásához az alábbi változókat vezetjük be: .∖z - a z-edik negyedévben előállított termékmennyiség 1000 db-ban. /, - kcszletszint a Z-edik negyedév végén 1000 db-ban.

A modell feltételrendszere a hálózat csúcspontjaira felírt mérlegegyenletekből áll. Mivel az ilyen módon felírt feltételrendszer egy felesleges egyenletet is tartalmaz, ezért a forrásra vo­ natkozó .r∣ ♦ .r2 ÷ x∖ ÷ .r4 = 21 egyenletet nem írjuk fel. Az LP modell így a következő lesz:

8.3. Többperiódusú termeléstervezés

241

min z = 22xi + 23x2 + 25x3 + 26x4 + 37] + 372 + 3∕3 Xi = 3 + A /i + x2 = 7 + ∕2 ∕2 + x3 = 9 ÷ Z3 ∕3 + x4 = 2 Xi, x2, x3, x4≥ 0; /i, ∕2, ∕3 ≥ 0. Megfogalmazzuk a modellt általánosan is arra az esetre, ha a termelési kapacitások nem szű­ kösek és a készletszintre sincsenek korlátok. Tegyük fel, hogy egy termék iránti kereslet az következő időszak (pl. 1 év) t = 1, . . . , T peri­ ódusaiban (pl. hónapjaiban) d↑, ⅛ , . . . , dτ. A Z-edik periódus fajlagos termelési költségét ct, fajlagos raktározási költségét ht jelöli. A modell változói:

xt = a Z-edik periódusban előállított termékmennyiség, /, = készletszint a Z-edik periódus végén.

Mivel minden periódusban megköveteljük a kereslet kielégítését, ezért az It változók is csak nemnegatív értékeket vehetnek fel. Legyen a nyitó készletszint az első periódus elején, azaz a nulladik periódus végén Z0∙ Ekkor a modell:

Az optimális megoldás feszítőfa tulajdonsága azt jelenti, hogy a feladatnak van olyan optimá­ lis megoldása, hogy bármely periódus keresletét vagy teljesen készletből, vagy teljesen a kér­ déses periódus termeléséből elégítjük ki. Ha ugyanis valamely periódus keresletét részben készletből, részben a kérdéses periódusbeli termelésből elégítjük ki, akkor a pozitív intenzitá­ sú élek biztosan körutat alkotnak. A fenti tulajdonságból következik, hogy van olyan optimális megoldása a feladatnak, hogy bármely periódusban vagy nincs termelés, vagy bizonyos számú egymást követő periódus termelését kell megtermelni.

E tulajdonságokat tömören az alábbi formában fogalmazhatjuk meg:

A termeléstervezési probléma LP modelljének mindig van olyan optimális megoldása, hogy ∙∕∕, = 0 (t = 1,2....... 7) • ha x, > 0, akkor x, = d, + dM + ... + dM valamely /-re (0 ≤ i < T -1).

Termeléstervezés túlóra esetén l együk fel, hogy a termeléstervezési problémában törvényes munkaidőben az első két ne­ gyedévben legfeljebb 4000 db, az utolsó két negyedévben 5000 db terméket tudnak előállíta­ ni. Lehetőség van negyedévenként további 2000 db termék előállítására túlórában, ekkor

8. További hálózati feladatok

242

azonban a termék fajlagos termelési költsége rendre 26, 27, 30 és 32 ezer forint. Hayia Z-edik negyedévben túlórában előállított termékmennyiséget jelöli 1000 db-ban, akkor az alábbi LP feladatot fogalmazhatjuk meg a minimális költségű termelési terv meghatározására:

min z = 22xι ÷ 23x2 + 25x3 + 26x4 + 26yι + 27y2 + 30y3 + 32y4 + 3Zj + 3∕2 + 3∕3 xi +j>ι =3 + /j 1∖ + x2 + y2 = 7 + I2 Z2 +x3 + y3 = 9 + /3 I3+x4+y4 =2 0 ≤ xi , x2≤ 4; 0 ≤ x3, x4≤ 5; 0 ≤yt ≤ 2, (t = 1, 2, 3, 4); ∕b ∕2,13 ≥ 0. Ez a feladat olyan hálózattal modellezhető, hogy a forrásból a többi csúcspont mindegyikébe két él megy, amelyek kapacitása korlátos. A túlórának megfelelő élen a termék áramlása költ­ ségesebb.

Az optimális megoldásnak ekkor is megvan a feszítőfa tulajdonsága, de vegyük figyelembe, hogy egy felső korlátja értékét felvevő változó degenerációmentes esetben ugyanúgy nem bázisváltozó, mint egy nulla értékű változó, emiatt e változónak megfelelő él nem tartozik a feszítőfához. Csak azok a változók biztosan bázisváltozók, amelyek az alsó és felső korlátjuk közötti értéket vesznek fel.

A fenti termeléstervezési feladat megfogalmazható szállítási feladatként is. A telephelyek sze­ repét a nyitókészlet, továbbá az egyes periódusok normál (törvényes) munkaidei és túlórái termelése veszi át. A megrendelők a periódusok és egy fiktív megrendelő, amelyre a feladat kiegyensúlyozása céljából van szükségünk. A táblázatban alkalmazott jelölések: c,t = a Z-edik periódus fajlagos termelési költsége normál munkaidőben,

max z2 =t x2 xi + βx2< 108 Xi ÷ 2x2 ≤ 40 Xi + x2 ≤ 24 3%i + x2 ≤ 42 4x∣ ÷ x2< 52 Xι>0,0≤x2≤ 17,5

A 9.4. és 9.5. ábrák az L és az Lc halmazt mutatják. Az efficiens pontokat, illetve a nekik megfelelő céltérbeli pontokat a vastagon kihúzott szakaszok jelölik. Az ábrán bejelöltünk néhány Z-beli ponthoz tartozó C" halmazt is. Az L halmaz határpontjainak vizsgálata révén megfigyelhetjük, hogy a z↑ a (8; 16) és (9; 15) pontok által meghatározott szakaszon, a zz pedig a (0; 17.5) és (3; 17,5) pontok által meghatározott szakaszon optimális (mindkét egyedi célfüggvénynek alternatív optimumai vannak). A több célfüggvényes feladatnak azonban például a (9; 15) pontnak a céltérben a (24, 15) pont felel meg, ezt azonban domi­ nálja a (8, 16) pontnak megfelelő (24; 16) célvektor, tehát sem a (9; 15), sem a (0;17,5) egyedi optimum nem efficiens pont (az utóbbiról is egyszerűen meggyőződhetünk).

256

9. TÖBBCÉLÚ LINEÁRIS PR∞RAMOZλS ⅞⅞⅜⅞¾K →

⅛⅛

ft

⅛ •? if .⅛i £-

£

í 1 Is:

⅛ 9.4. ábra. Az L halmaz

9.5. ÁBRA. Az Le halmaz

257

V. /. A többcélú lineáris programozási feladat

lígy lineáris több célfiiggvényes feladat összes efficiens pontjának meghatározása túlmegy könyvünk keretein. Sok esetben elegendő azonban annak ellenőrzése, hogy egy adott pont efficiens-e, illetve döntésünk meghozatalához megelégedhetünk egyetlen, vagy csak néhány efficiens pont meghatározásával. Annak megválaszolása, hogy egy adott lehetséges megoldás efficiens-e, a definíciókon alapu­ ló efficiencia tesztek segítségével lehetséges. Egy ilyen efficiencia teszt például a következő. I így x pont a TLP feladat efficiens megoldása, ha a

max z = lε Cx-Cx≥ε ε ≥ 0, x ∈ L feladatban az optimum értéke 0.

Vannak olyan esetek is azonban, amikor egy megoldásról eleve tudjuk, hogy efficiens. Q.2. TÉTEL. Az x ∈ L efficiens pontja a TLP feladatnak, ha létezik egy p ∈ Rn, p ≥ 0, I p = 1 nemnegatív súlyrendszer, amellyel az x optimális megoldása a max z = (pC)x Ax ≤ b x≥o

un. paraméteres vagy súlyozott feladatnak, és a következő két feltétel egyike teljesül:

(i) Pj > 0 mindeny indexre, (ii) x a paraméteres feladat egyetlen megoldása. Bizonyítás. Legyen x a paraméteres feladat optimális megoldása és teljesüljön az (i) feltétel. Ikkor

p(Cx - Cx) ≥ 0 minden x ∈ L esetén.

l együk fel, hogy x nem efficiens. I kkor létezik olyan x ∈ £, amelyre Cx≥Cx (Cx≠Cx) teljesül. Ha viszont p > 0, akkor ebből pC x > pC x UZIIZ

p(C x - C x) > 0 következik, ami ellentmond annak, hogy x a súlyozott feladat optimális megoldása. Tehát x efficiens, ha (i) teljesül. I együk fel, hogy az (ii) feltétel teljesül. I kkor a

p(C x - Cx) > 0

9. TÖBBCÉLÚ LINEÁRIS PROGRAM... > Pi+↑. Ezt a feladatot lexikografikus célprogra­ mozási feladatnak is nevezik, mivel a megoldást a prioritási faktorok sorrendjében, szekven­ ciálisán végezzük.

A 9.9. - 9.11. ábrák a grafikus megoldás menetét szemléltetik. Az ábrákon a nyilak és a di , d*

feliratok jelzik az adott eltérés változó növekedési irányát.

9.9. ÁBRA. Célprogramozási feladat grafikus megoldása

Az első és a második prioritást figyelembe véve a 9.9. ábrán szürkével jelölt tartományt kap juk. A harmadik célfeltétel által meghatározott halmaznak az előzővel nincs közös pontja, amint azt 2l9.10. ábra mutatja.

Ha meg akarjuk tartani a d~ és d* zéró értékét, miközben a J3"a lehető legkisebb értékel veszi fel, meg kell határoznunk a szürke tartománynak a vele nem kapcsolódó halmazhoz legközelebbi pontjait. Ezek a PQ szakaszon vannak. A következő lépésben (9.11. ábra) iι∣ι∣∣ olyan feltételünk van, amely az eddigiekkel együtt nem kielégíthető: a PQ szakasznak nine * olyan pontja, ahol a d~ értéke 0 lenne.

9.4. Célprogramozás

271

9.10. ÁBRA. Célprogramozási feladat grafikus megoldása

9.11. ÁBRA. Célprogramozási feladat grafikus megoldása

Az utolsó ábráról leolvasható, hogy a feladat megoldása a Q pont, mert itt kapjuk a legkisebb

1 1

10.5. Egészértékű modellre vezető speciális alkalmazási feladatok

309

10.14. PÉLDA. Legyen a települések halmaza M ≈ {1, 2, 3, 4, 5, 6, 7, 8} és legfeljebb 6 helyszínen kívánunk mentőállomást telepíteni. A telepítési költségek rendre 700, 600, 500, 800, 600 és 900 millió forint. Tegyük fel, hogy az egyes helyszínekről az alábbi települések érhetők el az előírt szintidőn belül: ≈{1,3,5, 6,7}, M2≈{ 3,4, 6,8}, Mi≈{ 2, 3,4,8},

Λ∕4={ 1,2, 3, 5, 7}, Mi={ 1,4, 5, 8}, M6={2,3,4, 6,7}.

Ekkor a megoldandó bináris EP modell:

Mivel az együtthatómátrix y-edik oszlopában lévő 1-esek mutatják, hogy ay-cdik potenciá­ lis helyszínről mely települések érhetők el szintidőn belül, ezért az oszlopvektoroknak egy olyan részhalmaza ad lehetséges megoldást, amelyben minden Lre legalább egy oszlopvek­ tor z-edik komponense 1 -es.

Könnyen ellenőrizhető, hogy a fenti feladatnak pl. az x = [1, 0, 1, 0, 0, 0] vektor egy lehet­ séges megoldása, mivel az együtthatómátrix első és harmadik oszlop vektorának legalább egyikében minden z-re van 1 -es komponens, sőt z = 3 esetén mindkettő 1 -es.

10.5.2. Halmazfelbontási feladat Egy több ezer dolgozót foglalkoztató vállalat a megye m számú településéről bérelt buszokkal kívánja beszállítani dolgozóit a műszakok kezdetére. Hogyan történjék a szállítás az egyes településekről, ha a cél szállítási költségek összegének minimalizálása? A probléma egyik lehetséges megoldási módja az, hogy a buszok befogadóképessége és az egyes településekről beszállítandó dolgozók számának ismeretében n számú járatot alakítunk ki. A járatokat úgy állítjuk össze, hogy a felvett dolgozókkal minél jobban megteljenek. Mivel sok a zsáktelepülés, ezért minden települést csak egy járattal gazdaságos felkeresni. A járatok költsége a busz típusától és a megtett távolságtól függ.

10. Egészértékű programozás

310

A települések M halmazát most közös elem nélküli részhalmazokra kívánjuk felbontani. Az egy járattal felkeresett települések tartoznak egy részhalmazba. A modell felírásához szüksé­ günk van az alábbi m×n típusú A mátrixra. Legyen 1, 0

ha az i - edik települést a j - edik járat keresi fel, egyébként.

Legyen továbbá 1,

ha a j- edik járat közlekedik,

0 egyébként. Ekkor a probléma az alábbi EP modellel oldható meg: n

min z = ∑cyxy í=l

'an

al2

a2∖

a22



am2



ain

Xj

1

*1

x2

amn

xn

=

1

1

∈ {o, 1},

ahol Cj ay-edik járat költsége.

10.5.3. Hátizsák feladat A hátizsák feladat olyan speciális EP feladat, amelynek feltételrendszere - a változók esetle­ ges egyedi alsó vagy felső korlátáitól eltekintve - egyetlen feltételből áll. A bináris hátizsák feladatban a változók csak 0 vagy 1 értéket vehetnek fel. Általános alakja a következő: max z = cjXι + c2*2 + ∙ ∙ ∙ + cnxn aix↑ + a2X2 + . . . + anxn ≤ b xbx2,. . . ,x„ ∈{0, 1}, n

ahol feltételezzük, hogy aj és cj mindeny-re pozitív, és ∑aj > b . 7=1

A hátizsák feladat elnevezés onnan származik, hogy egy turistának is ezt a feladatot kell meg oldani, amikor eldönti, hogy mit visz magával a hátizsákjában. A szóba jöhető n tárgy közül választja ki felszerelését, amelyeknek ismeri ai súlyát, és mindegyiknek valamilyen ci szül) jektív használati értéket tulajdonít. A hátizsák b teherbírását figyelembe véve a turista maxi mális használati értéket kíván magával vinni. Ha mindegyik tárgyból legfeljebb egyet vilid magával, akkor bináris hátizsák feladatról van szó,

311

10.5. Egészértékű modellre vezető speciális alkalmazási feladatok

A bináris hátizsák feladat egy beruházási probléma modelljének is tekinthető, amelyben n projekt közül kell kiválasztani azokat, amelyek az adott b nagyságú összegből megvalósítha­ tók és jelenértékre diszkontált összhozamuk maximális. A hátizsák feladat jelentősége nem elsősorban közvetlen alkalmazásában rejlik, hanem abban, hogy számos probléma megoldása során részproblémaként fordul elő.

A hátizsák feladat megoldása Tekintsük először a

max z = c∖X∖ + c2x2 + . . . + cnxn a↑x∖ + a2x2 + . . . + anxn < b ×∖,xι,... ,x„ ∈{0,1} n

bináris hátizsák feladatot, ahol aj, cj > 0 minden√-re, és ∑ aj > b . A feladat LP lazítása 7=1

max z = cm + c2x2 + . . . + cnxn ajXi + a2x2 + . . . + anxn ≤ b 0≤xj≤ lj= 1,2,... ,n.

Az LP lazítás optimális megoldása a szimplex módszer alkalmazása nélkül explicit módon is megadható. Ehhez először a változók sorbarendezésével és átindexelésével el kell érni, hogy

ax

a2

aln

teljesüljön. Ekkor a bináris hátizsák feladat LP lazításának optimális megoldása a következő: r-l

és a. r-l

ahol r az az index, amelyre ∑aj≤ b és ∑aj> b . 7=1

7=1

A gyakorlat nyelvén megfogalmazva ez azt jelenti, hogy a tárgyakat a cj∕aj hányadosok csök­ kenő sorrendjében tesszük a hátizsákba. Ha az r-edik tárgy már nem fér teljesen a hátizsákba, akkor annyiad részét tesszük bele, hogy a hátizsák pontosan tele legyen. A sorrendben ezután következő tárgyak kimaradnak. A bináris hátizsák feladat LP lazításának optimális megoldásában mindig csak legfeljebb egy változó értéke tört, így a felbontás egyértelmű, erre a tört értékű változóra szabunk alsó és felső korlátokat. Mivel az LP lazításban minden változóra érvényes a 0 ≤ xj < 1 kikötés, ezért az Xj < 0 és Xj ≥ 1 korlátok helyett egyszerűen az xj = 0, illetve az xj = 1 feltételek csatolásával képezünk két részfeladatot.

10. Egészértékű programozás

312

Tekintsük most a nem-bináris hátizsák feladatot, amelyben a változók nemnegatív egész értékeket vehetnek fel.

max z = C]X∣ + c2*2 + ∙ ∙ ∙ + cr^xn *1 k↑, akkor második tárgyból is kerül a háti­ zsákba legalább egy tört rész. A nem-bináris hátizsák feladat felbontásakor ugyanúgy alsó és felső korlátokat kötünk ki az egyetlen tört értékű változóra, mint az általános EP modell megoldásakor. 10.15. PÉLDA. Oldjuk meg az alábbi bináris hátizsák feladatot a legjobb korlát stratégiával: max z = 60xi + 60x2 + 40x3 + 10x4 + 20x5 + 10x6 + 3x1 30.Y] + 50x2 + 40x3 + 10x4 + 40x5 + 30x6 ÷ lθx7 118.

‘ A (P) feladat optimális megoldását a (P7) részfeladat optimális megoldása szolgáltatja. Az 1 alábbi keresőfán követhetjük a feladat megoldását.

A fenti példa megoldása is jól mutatja, hogy milyen fontos minél előbb egy jó egészértékű megoldást találni. Ha a feladatot a LIFO stratégiával úgy oldjuk meg, hogy a tört értékű változót először mindig 0 értéken rögzítjük, akkor korábban kapjuk meg a (P) feladat első x ≈ o-tól különböző egészértékű megoldását. A 10.12. ábrán a keresőfa csúcsainak sorszá- I mozása a LIFO stratégiának felel meg. Először mindig a baloldali ágat képeztük.

10.5. Egészértékű modellre vezető speciális alkalmazásifeladatok

315

A hátizsák feladat egyszerű feltételrendszere lehetővé teszi, hogy még a (P) feladat felbontása előtt mohó algoritmussal egy jó egészértékű megoldás birtokába jussunk.

Mohó algoritmus a bináris hátizsák feladatra:

A ci∕ai hányadosok csökkenő sorrendjében kíséreljük meg a tárgyakat a hátizsákba tenni. Ha egy tárgy nem fér bele, akkor áttérünk a következőre. A fenti feladat esetén a mohó algoritmussal megkapjuk a feladat optimális megoldását. Ez általában nincs így, mint az alábbi példa is mutatja.

10.16. PÉLDA. Tekintsük az alábbi bináris hátizsák feladatot: max z = 5x{ + 8x2 ÷ 6x3 + 7x4 3xι + 5x2 ÷ 4x3 + 6x4 ≤ 11 xi ∈ {θ, 1}, i = 1,2, 3,4.

A ci!αl hányadosok csökkenő sorozatot alkotnak, így rendezésre nincs szükség. Mohó algo­ ritmussal először az első, majd a második tárgyat tesszük a hátizsákba, és ezzel készen is vagyunk, mert a másik kettő már nem fér bele. A feladat optimális megoldása ezzel szem­ ben x*=≈[0, 1,0, 1].

Hiába jutunk mohó algoritmussal vagy más módon egy jó, vagy akár az optimális megoldás birtokába, az egészértékű programozásban nincs a komplementaritási tételhez hasonló tétel, amely lehetővé tenné egy lehetséges megoldás optimalitásának ellenőrzését. A 10.15. példá­ ban szereplő feladatban a mohó algoritmussal megkaptuk a feladat optimális megoldását, azonban nincs egyszerű eljárás az optimalitás ellenőrzésére, kénytelenek vagyunk a korlátozás és szétválasztás módszerének gyakran hosszadalmas eszközéhez folyamodni. Mivel ez a példa mindössze négy változót tartalmaz, ezért lehetőségünk van arra, hogy meg­ nézzük, milyen algoritmussal lehetne az összes lehetséges megoldás ellenőrzésével eljutni az optimális megoldáshoz. A változók mindegyike 0 vagy 1 értéket vehet fel, tehát az összes szóba jöhető vektor száma 24 = 16. Ezek közül a vektorok közül kell kiválogatni azokat, ame­ lyek az összes feltételt kielégítik, majd az így kapott lehetséges megoldásokat a célfüggvény­ be behelyettesítve kiválasztani a legnagyobb értékűt.

Ez a megoldás (az explicit leszámlálás módszere) először a számnégyesek egy „ügyes” fel­ írását követeli meg. Választhatjuk például azt az utat, hogy a [0,0,0,0] vektorral kezdünk. Ezután hátulról előre haladva a következő eljárást alkalmazzuk: - ha 0-t találunk, kicseréljük egyesre, a többi szám változatlan, - ha 1-est találunk, akkor azt és a következő egyeseket mindaddig 0-ra cseréljük, amíg el nem érünk az első nullához és azt 1 -re cserélve a többi számot változatlanul hagyjuk.

10. Egészértékű programozás

316

Esetünkben a következő eredményt kapjuk: [0,0,0,0] [0,0,0, 1] [0,0, 1,0] [0,0, 1, 1] [0, 1,0,0] [0,1,0,1] [0,1,1,0] [0,1,1,1]

0 7 6 13 8 15 14 -

[1,0,0,0] [1,0,0,1] [1,0,1,0] [1,0,1,1] [1,1,0, 0] [1,1,0,1] [1,1, 1,0] [1,1,1,1]

5 12 11 13 -

Az első oszlopok (hasábonként) a változók értékeit (számnégyesek) sorolják fel a fenti mó­ don. A második oszlopban a célfüggvény értéke szerepel. Csak azok a számnégyesek érde­ kelnek bennünket, amelyek a feltételeket kielégítik: a hátizsák feladatnál ez egyszerű, hiszen csak egyetlen feltételt kell ellenőriznünk. Ha a változókat behelyettesítve a feltétel nem telje sül, akkor a célfüggvény értékét kihúzzuk a táblázatban, ha pedig lehetséges megoldást talál tünk, akkor a célfüggvény értékét beírjuk. Például az [1,0,1,1] számnégyes nem lehetséges megoldása a feladatnak, míg a [0,1,1,0] lehetséges megoldás, amelynek a célfüggvényérte ke 14. A 16 lehetséges számnégyesből 11 volt lehetséges. A táblázatból kiolvashatóan a feladat optimális megoldása az x = [0,1,0,1] vektor, az opti mális célfüggvényérték 15. Az explicit leszámlálásnak ez a módja nagyobb változószám ese tében a számnégyesek exponenciális növekedése miatt még szuperszámítógépekkel sem kivi telezhető. Az összes eset vizsgálata helyett tehát ki kellett találni olyan módszereket, amelyek a mi táblázatunkból is kiolvasható szabályszerűségeket figyelembe tudják venni, s ezáltal a számítások méretét lecsökkentik. A szétválasztás és korlátozás módszere az egyik ilyen stra tégiát jelentette: itt nem csak a feltételekkel operáltunk (tehát az olyan észrevételekkel, hogy ha az [1,1,1,0] nem volt lehetséges, akkor az első három helyen egyest tartalmazó vektorok bármelyike sem lesz az, akármi is legyen az egyesek után), hanem a célfüggvényre vonatko/ó korlátokat is bevontuk az eljárásba.

10.5.4. Utazó ügynök probléma Számos gyakorlati problémában a cél objektumok (városok, tevékenységek, stb.) valamilyen szempontból optimális sorrendjének megkeresése. Tekintsünk n számú várost, amelyeket ;i/ egyszerűség kedvéért jelöljünk az 1, 2, . . . , n számokkal. A városok közötti távolságokul ismertnek tételezzük fel, az z-edik városból ay-edikbe vezető út hossza legyen cij. Egy ügy nők feladata az, hogy az 1-essel jelölt városból indulva keresse fel pontosan egyszer az oss∕e∙. többi várost és térjen vissza úgy, hogy a megtett út összhossza minimális legyen. A további akban erre a problémára a szakirodalomban szokásos TSP (Traveling Salesman Problem) rövidítéssel hivatkozunk.

Ila városoknak egy hálózat pontjai, a városokat összekötő utaknak a pontokat összekötő élek felelnek meg, akkor egy olyan Hamilton kör megkeresése a feladat, amelyben az élek összhossza minimális. Emiatt a TSP-t szokás körutazási fehidat mik is nevezni.

10.5. Egészértékű modellre vezető speciális alkalmazási feladatok

317

A TSP jelentősége nagy, mivel számos közvetlen gyakorlati alkalmazása van:

• Ha egy munkadarab több pontján furatokat kell készíteni, és ismeretes, hogy a fúrófej egyik pontból a másikba mennyi idő alatt mozgatható el, akkor a fúrófej mozgatásához szükséges idő minimuma egy TSP megoldásával határozható meg. • Az általános célú gépeket át kell állítani, ha új termékfajta gyártására kerül sor. Az átállítás időtartama általában függ attól, hogy melyik termékfajtáról melyikre térünk át. Fontos cél olyan gyártási sorrend meghatározása, amelynél az átállítási idők összege minimális. Az összes városon áthaladó lehetséges körutak teljes leszámlálásával gyakorlati méretű TSPket nem tudnánk megoldani, hiszen 20 város esetén ezek száma már 19!, ami több, mint 1017. Ezért még ha másodpercenként 1 milliárd (!) körút hosszát számolnánk is ki, akkor is több mint 3 évig tartana a megoldás. Nagyméretű problémák megoldása csak egy alkalmas modell sajátosságait erősen kihasználó algoritmussal lehetséges. Az elmúlt évek kutatásainak ered­ ményeképpen ma már több, mint 20 ezer városból álló hálózatban is meghatározható a legrö­ videbb körút.

A TSP egészértékű programozási modelljét olyan G(V, E) irányított hálózat esetére fogalmaz­ zuk meg, amelynek I K∣ = n csúcspontja van. Az z-edik csúcspontból a y-edikbe vezető él hossza cij. A modell felírásához az alábbi kétindexes változókat vezetjük be: í 1,

ha az i - edik városból a j - edikbe megyünk

xij = 1

[0

egyébként

Ekkor a TSP egy lehetséges EP modellje a következő: n

n

min z = ΣΣ cΛ ∕=ι y=i n

∑x⅛=1-

i= 1,.. ., n

(i)

7 = 1,. . •,n

(ii)

y=i n

∑x⅛=1>

z=l

∑⅞≤l5∣-1

íJgS

minden 0 c Sc K esetén

(iii)

xij ∈ {0, 1},

ahol S befutja V minden valódi részhalmazát. Az (i)-(ii) feltételcsoport a hozzárendelési feladat feltételrendszere. Az (i) feltételcsoport egyenletei biztosítják, hogy az ügynök minden városból pontosan egyszer induljon el. Az (ii) feltételcsoportra azért van szükség, hogy az ügynök minden városba pontosan egyszer meg is érkezzen.

Ha csak e két feltételcsoport feltételei mellett határozzuk meg a célfüggvény minimumát, akkor előfordulhat, hogy az optimális megoldásnak nem egyetlen körút felel meg, hanem

10. Egészértékű programozás

318

kettő vagy több részkörút. Például hat város esetén lehetséges, hogy az optimális megoldás Xu = χ32 = X21 = 1, -χ46 = *65 = *54 = 1, és a többi változó értéke nulla. Ez azt jelentené, hogy a/ (1, 3, 2, 1) és (4, 6, 5, 4) részkörutakat kaptuk, és nem egy teljes körutat.

A (iii) feltételcsoportra azért van szükség, hogy kizárjuk a részkörutakat. Ha az S halmaz egy elemű, akkor az xii < 0 feltételeket kapjuk, tehát az ügynök nem mehet az z-edik városból az / edikbe, ami természetes követelmény.

Ha az S halmaz két városból áll, akkor kizárjuk a két városból álló részkörutakat az *//

^ji — 1

alakú feltételekkel. Ha | 51 = 3, akkor xij + xjk + xki ≤ 2 alakú feltételeket kapunk. Az összes részkörút kizárásához ezzel a módszerrel igen sok feltétel kell, de vannak sokkal kevesebb feltételből álló feltételrendszerek is a részkörutak kizárására.

A járatszervezési probléma a TSP egyik általánosítása. Az előző pontban egy vállalat dől gozóinak minimális költségű beszállítására halmazfelbontási feladatot fogalmaztunk meg. I probléma más módon is megközelíthető. Tegyük fel, hogy azonos befogadóképességű bus/o kát kíván a vállalat bérelni, és célja a buszok által megtett út minimalizálása. Ha egyetlen busszal be tudná szállítani a vállalat a dolgozókat, akkor egy TSP-t kellene meg oldani. Ha több buszra van szükség, akkor is vissza tudjuk vezetni TSP-re a feladatot. Tegyük fel, hogy ismert a megye úthálózatának megfelelő hálózat, amelyben a gyárnak a hálózni 1-es csúcspontja felel meg. Ezt a csúcspontot annyi új csúcsponttal helyettesítjük, ahány bus/ szükséges a szállítások lebonyolításához. Az új csúcspontokat összekötő éleket végtelen hosszú nak tekintjük, míg az új csúcspontokból a régiekbe vezető élek hossza azonos az 1-es csúcspontból a régi csúcspontokba vezető élek hosszával. Ennek a TSP-nek a megoldása megadja, hogy a bu szókkal mely településeket keressük fel, hogy a megtett út minimális legyen.

Az utazó ügynök probléma megoldása Az alábbiakban a korlátozás és szétválasztás módszerét alkalmazzuk az utazó ügynök prob léma (TSP) megoldására. Az algoritmus nagymértékben kihasználja a probléma EP modellje nek sajátosságait, ezért felidézzük a korábban már megfogalmazott modellt: n n min z = ∑∑cijxij /=1

J=l

n

y∑xij=λ>

i=

■, n

dl

7=1,.. ,,n

(ni

1, • ■

7=1

n z=l

Σ⅞≤ls∣-' iJeS xii ∈ {0, 1}.

minden 0 ⊂ S ⊂ V esetén

(III)

319

10.5. Egészértékű modellre vezető speciális alkalmazási feladatok

Mivel a TSP egészértékű modellje célfüggvényének a minimumát keressük, ezért a részfel­ adatok lazításának célfüggvényértéke mindig egy alsó korlát az optimális megoldás célfüggvényértékére. Ennél a modellnél az LP lazítás helyett másik lazítást célszerű alkalmazni. A változókra vonatkozó egészértékűségi kikötések helyett a részkörutakat kizáró (iii) feltételrendszert hagyjuk el. Ennek előnye az, hogy egy nagy méretű LP feladat helyett egy hozzárendelési feladatot kell megolda­ nunk, ami a magyar módszerrel könnyen elvégezhető. Mivel a lazítással kapott feladat hozzáren­ delési feladat, ezért ezt a lazítást a továbbiakban röviden HF lazításnak nevezzük. Ha a HF lazítás optimális megoldása teljes körutat eredményez, akkor megkaptuk a TSP op­ timális megoldását. Ellenkező esetben fel kell bontani a feladatot részfeladatokra.

A felbontást úgy végezzük el, hogy kiszemelünk egy a HF lazítás optimális megoldásában előforduló részkörutat és annyi részfeladatot képezünk, ahány éle van ennek a részkörútnak. A változókra olyan kikötéseket teszünk, hogy ez a részkörút egyik részfeladatnak se legyen lehetséges megoldása, és a részfeladatok lehetséges megoldásainak halmazai diszjunktak legyenek.

10.17. PÉLDA. Határozzuk meg az utazó ügynök probléma optimális megoldását korlátozás és szétválasztás módszerével, ha a hat város egymástól mért távolsága az alábbi: 1 0 52 70 42 105 101

1 2 3 4 5 6

2 42 0 42 35 63 93

3 62 49 0 56 81 111

4 53 29

ni 0 41 72

5 96 54 65 57 0 75

6 105 84 129 56 80 0

Először az egészértékű modell HF lazítását oldjuk meg. Ehhez a távolságmátrix főátlójában lévő nullákat nagy számokra cseréljük, hogy elkerüljük az xii = 1 (z = 1, . . . , n) optimális megoldást. Kézi számoláskor elegendő a nullák helyére Λf-et írni, míg számítógépes meg­ oldás esetén ebben a példában 1000 már elegendően nagy szám.

A HF lazítás optimális megoldása két részkörútból áll, így nem lehetséges megoldása a TSP egészértékű modelljének: *B =X32≈ 21 *

= 1

ÓS

X46=‰=X54= 1.

A HF lazítás optimális célfüggvényértéke 328, ez a lehetséges körutak hosszának egy alsó korlátja.

Válasszuk az 1-3-2-1 részkörutat és a változók alábbi lekötésével bontsuk fel a lehetséges körutak halmazát az alábbi három diszjunkt részhalmazra: (Pi): (P2): (P3):

x21 ≈ 0 x2∣

1 es.v∣ j ≈ 0

x2∣ =r 1 és xn = 1 és x32 = 0.

10. Egészértékű pr∞ramozAs

320

Ha egy részfeladatban az ¾ változóra a 0 kikötés érvényes, akkor a távolságmátrix cii eleme helyére nagy számot írunk. A (Pi) részfeladat HF lazításának megoldásakor az 52 helyére Λ√-et vagy pl. 1000-et írunk. Ezzel el tudjuk érni, hogy a HF lazítás optimális megoldásá­ ban Xjj = 0 lesz. Ha egy változóra az ⅞ = 1 kikötés érvényes, akkor a távolságmátrix f-edik sorát és y-edik oszlopát elhagyjuk, és ezzel a redukált távolságmátrixszal oldjuk meg a hozzárendelési fel­ adatot. Az Z-edik sort és ay-edik oszlopot azért hagyhatjuk el, mert ha olyan hozzárendelé­ sek közül keressük az optimálisát, ahol az f-edik várost ay-edikhez rendeljük, azaz az x-edik városból a y-edikbe megyünk, akkor lényegtelen, hogy az f-edik várostól milyen távol van a többi város, illetve a többi várostól a ay-edik. A (P3) részfeladat HF lazításának optimális megoldása lehetséges megoldása a megoldandó (P) feladatnak, ezért mostantól = 366 . Mivel az x2ι ≈≡s 0 ágon kaptuk a legkisebb korlátol és az optimális megoldás az 1 -3-2-4-1 és 5-6-5 részkörutakból áll, ezért a (Pj) részfeladatot bontjuk tovább.

Az 5-6-5 részkörút kizárása céljából a (Pi) részfeladatot két részfeladatra bontjuk. Az 5-ös csúcsponthoz tartozó részfeladat HF lazításának optimális megoldása körút, ezért ezt a részfeladatot lezárjuk. E körút hossza csak 350, ezért mostantól kezdve zp =350 . Mi­ vel zp =≈ 350 < 358 = ¾2, ezért (P2) lezárható. A megoldást (P4) felbontásával folytatjuk.

A legrövidebb körutat a (P5) részfeladat optimális megoldása adja, mivel a (P4) részfeladat felbontásával keletkező részfeladatok alsó korlátja nagyobb 350-nél.

A minimális hosszúságú körút: (1,2,3, 5, 6,4, 1), hossza 350.

A megoldás menete az alábbi keresőfán követhető:

l-2-4-6-5-3-l 10.14. ΛBRΛ. A TSP keresőfája HF lazítással

1-2-3-5-4-6-1

321

Gyakorló feladatok

Gyakorló feladatok 10.1. A FRIGÓ Kft hűtőpultokat gyárt. A kereslet negyedévenként rendre 60,40, 35 és 85 hűtő­ pult. Negyed év alatt a törvényes munkaidőben legfeljebb 50 hűtőpultot tudnak készíteni, egyenként 90 ezer Ft-os költséggel. Lehetőség van a termelés folytatására túlórában is, de ekkor egy hűtőpult költsége 120 ezer Ft. Túlóra felhasználásával legfeljebb 30 hűtőpult ké­ szíthető negyedévente. A termelés beindítása bármely negyedévben 500 ezer Ft fix költ­ séggel jár. Ha az igények kielégítése után a negyedév végén még maradnak a raktárban hű­ tőpultok, akkor azok raktározási költsége 10 ezer Ft darabonként. Tegyük fel, hogy a termelés beindítása bármely negyedévben 500 ezer Ft fix költséggel jár. írja fel minimális költségű termelési tervhez vezető modellt!

10.2. Egy tejüzemnek 4 teherautója van, hogy a tejet 5 üzletbe kiszállítsa. A teherautók ka­ pacitását és napi működtetési költségüket az alábbi táblázat tartalmazza: 1. teherautó 2. ” 3. ” 4. ”

kapacitás (liter) 400 500 600 1 100

működtetés (Ft) 4 500 5 000 5 500 6 000

Minden üzlet megrendelését egy teherautóval kell kielégíteni, de egy teherautó több üzletbe is szállíthat tejet. Az üzletek rendelése: 100, 200, 300, 500 és 800 liter. Melyik teherautóval melyik üzletekbe szállítsák a tejet, hogy a napi működtetési költség mi­ nimális legyen ?

10.3. A tornász válogatott keret 6 versenyzőből áll. A csapatversenyek első napján talajon és gyűrűn mutatnak be a csapatok gyakorlatokat. A keretből mindkét versenyszámra négyfős csapatot kell kiállítani, de úgy, hogy három versenyzőnek mindkét szeren indulni kell, a negyedik lehet különböző. A versenyzőktől az alábbi pontszámok várhatók: 1 tornász 2. ” 3. ” 4. ” 5. ” 6. ”

talaj 8,8 9,4 9,2 7,5 8,7 9,1

gyűrű 7,9 8,3 8,5 8,7 8,1 8,6

Hogyan állítsák össze a két szerre a csapatot, hogy a várható összpontszám maximális legyen?

10.4. Egy kertész öt különböző helyen fekvő földterületen almát termeszt, mégpedig Idaredet és Goldent. A gyengébb minőségű almát két üzembe szállítja, ahol almaié ké­ szül belőle. Mindkét üzemmel 150 tonna alma leszállítására van szerződése, amelynek legalább 20%-a Golden kell legyen. Egy területről csak egy üzembe célszerű szállítani. A várható termést, valamint az üzemektől való távolságot az alábbi táblázat mutatja:

322

10. Egészértékű programozás

1. 2. 3. 4. 5.

terület ” ’’ ” ”

Idared 80 tonna 70 90 50 60

Golden 30 tonna 5 10 40 30

1. üzem 10 km 5 8 13 15

2. üzem 20 km 17 8 4 6

Melyik területről melyik üzembe szállítsa az almát, hogy a szükséges tonnakilométer (szállított mennyiség tonnában, szorozva a megtett úttal) minimális legyen?

10.5. Egy vállalkozó három irodaház építésének sorrendjét kívánja eldönteni. Az építés idő­ tartama és a szükséges szakmunkások száma az alábbi táblázatban található: szakmunkások száma építési idő (év) 1. épület 2 30 2. ” 3. ”

2 3

20 20

Ha egy épület kész, akkor évente az alábbi nagyságú bérleti díjat hozza: 1. épület 5 millió Ft, 2. épület 3 millió Ft, 3. épület 4 millió Ft. A vállalkozónak az alábbi felté­ telekkel kell szembenéznie: a. minden évben legfeljebb 60 szakmunkás áll rendelkezésére, b. minden évben csak egy építkezés kezdődhet, c. a 2. épület építését a 4. év végéig be kell fejezni.

Milyen sorrend esetén lesz a 4. év végéig beszedett bérleti díj maximális?

10.6. Egy kosárlabda edző 7 játékosából kívánja kiválasztani a kezdő-csapatot alkotó ötöt. Az alábbi táblázat mutatja, hogy a játékosok milyen posztokon tudnak játszani (T = támadó, V = védő, C = center) és milyen teljesítmény elérésére képesek (3 = kivá ló, 2 = közepes, 1 = gyenge): játékos 1. 2. 3. 4. 5. 6. 7.

poszt V C V-T T-C V-T T-C V-T

labdakezelés 3 2 2 1 1 3 3

dobás 3 1 3 3 3 1 2

irányítás 1 3 2 3 1 2 2

védekezés 3 2 2 1 2 3 1

A kezdő csapatban pályára lépő öt játékosnak az alábbi feltételeket kell kielégíteni: a. legalább 4 játékosnak kell tudni játszani védőt, legalább kettőnek támadót és leg alább egynek centert. b. Az átlagos labdakezelő, dobó és irányítóképességüknek legalább 2-nek kell lenni. c. Ha a 3-as játékos pályára lép, akkor a 6-os nem játszhat. d. Ha az 1-es játszik, akkor a 4-esnek és az 5-ösnek is a pályán kell lenni. e. A 2-es és a 3-as közül legalább az egyiknek pályára kell lépni. Kikből álljon a csapat kezdéskor, ha a cél a védekezőképesség növelése?

323

Gyakorló feladatok

10.7. Egy autógyárban háromféle autót állítanak elő: terepjárót, mikrobuszt és teherautót. A szükséges acél fajlagos mennyiségét és munkaórák számát, továbbá az autónkénti nye­ reséget az alábbi táblázat mutatja: teherautó 5 40 400 000 Ft

mikrobusz 3 25 300 000 Ft

terepjáró 1,5 30 200 000 Ft

acél (tonna/autó) munkaóra/autó nyereség/autó

Jelenleg 6000 tonna acél és 60 ezer munkaóra áll rendelkezésre. Bármelyik járműfajtát csak akkor gazdaságos gyártani ha legalább ezer darabot állítanak elő belőle. Melyik­ ből hányat gyártsanak, hogy a nyereség maximális legyen?

10.8. Egy kórház sebészeti osztályának orvosai hatféle műtéti beavatkozást tudnak elvégez­ ni. Az alábbi táblázatban + jelöli, ha egy sebész egy műtétet végre tud hajtani:

A következő hét végén az egész város sebészeti ügyeletét ez az osztály látja el, ezért bármilyen típusú műtét elvégzésére készen kell állniuk. Legalább hány orvosnak kell egyszerre szolgálatban lenni, ha az A és B sebészt megromlott kapcsolatuk miatt nem célszerű egyszerre ügyeletbe osztani?

10.9. Egy megyében hat város van, amelyek közötti menetidőt az alábbi táblázat mutatja percekben:

1 2 3 4 5 6

1 0 10 20 30 30 20

2 10 0 25 35 20 10

3 20 25 0 15 30 20

4 30 35 15 0 15 25

5 30 20 30 15 0 14

6 20 10 20 25 14 0

Mely városokban létesítsünk tűzoltó állomásokat, ha minimális számú állomással kí­ vánjuk biztosítani, hogy minden város legalább egy állomástól negyed óra alatt elérhe­ tő legyen?

10.10. Oldja meg az alábbi IP feladatot korlátozás és szétválasztás módszerével: max z = 40xl + 90x2 9x∣ + 7x2 ≤ 56 7x∣ i 2()x2 ≤ 70 xl, x , > 0, egész

10. Egészértékű programozás

324

A modell LP lazításának optimális megoldása xi =4,81 , x2 = 1,82 és z = 355,89. Al­ kalmazza a LIFO stratégiát úgy, hogy először mindig felső korlátot köt ki a tört értékű változóra, az első lépésben az xj változót válassza! A döntési fa csúcspontjai mellett tüntesse fel sorszámukat!

10.11. Oldja meg az alábbi IP feladatot korlátozás és szétválasztás módszerével, LIFO straté­ giával oly módon, hogy a kiszemelt változóra először mindig alsó korlátot szab meg! Válassza először az x1 változót! A döntési fa csúcspontjai mellett tüntesse fel sorszá­ mukat! max z = 6x1 + 5x2 5x1 + 2x2 ≤ 20 4x1 + 7x2 ≤ 25

x1,x2 ≥ 0, egész 10.12. Oldja meg az alábbi bináris hátizsák feladatot a legnagyobb korlát stratégiával: max z = 15xι ÷ 16x2 + 12x3 ÷ 19x4 ÷ 17x5 + 6* 7xι + 8x2 + 6x3 + 10x4 + 9x5 + 4x6 ≤ 20 xy ∈{0, 1} 10.13. Egy utazó ügynök problémát megoldva az alábbi döntési fához jutunk. A döntési fn csúcspontjai mellett a részfeladat AP-lazításának optimális célfuggvényértéke látható A részfeladatok AP-lazításának optimális megoldása:

Po :xi5 = x24 = X31 = X42 = *56= *63 = h a többi változó értéke nulla. Pl :*14 = *23 = *31 = *42 = *56 = *65 = 1,



P2 :*15 = *24 = *31 = *46 = *53 = *62 = 1,



P3 :*14 = *21 = *36 = *42 = *43 = *65 = h



P4 :*14 = *25 = *31 = *42 = *56 = *63 = 1,



a. Rajzolja le a hálózatot és írja az egyes ágak mellé, hogy mely változók milyen értékkel kerültek eddig lekötésre! b. Le kell-e zárni valamelyik részfeladatot? Ha igen, miért? c. Melyik csúcsponthoz tartozó részfeladat felbontásával folytatódik az algoritmus? Rajzolja be a felbontásnak megfelelő ágakat, és írja mellé a változók lekötését!

Játékelmélet

∏E3

Kevert bővítés

no

Mátrixjátékok

11.1. Alapfogalmak A korábbi fejezetekben tárgyalt problémákban feltételeztük, hogy a döntéshozók statikus kör­ nyezetben hozzák meg döntéseiket. A lineáris programozásról szóló fejezetekben részletesen tárgyalt Komód Kft. termelésprogramozási feladatában például azzal a feltételezéssel éltünk, hogy a Kft-nek és a többi bútorgyártónak mindegyik termék piacán oly csekély a piaci része­ sedése, hogy termelési szintjük nincs hatással a kialakult árra, így egymástól függetlenül dönthetik el, hogy mennyit termeljenek. Sok döntési szituációban azonban a döntéshozók száma olyan kevés, hogy tekintettel kell lenni­ ük a többiek lehetséges döntéseire és azok kimenetelére is. Ilyen például a duopóliumok prob­ lémája, amelyben mindkét vállalat nyeresége függ a másik termelési szintjétől vagy árpolitikájá­ tól. Árveréseken a licitálóknak figyelembe kell venni a többiek licitjét. A játékelmélet az ilyen többszemélyes döntési problémákat vizsgálja matematikai modellek segítségével. Az elneve­ zésnek történeti okai vannak, eredményeit azonban ma már széleskörűen alkalmazzák - pl. a közgazdaságtanban, politikatudományban és biológiában - konfliktushelyzetek elemzésére. A játékelmélet nem a játékosok viselkedését írja le, hanem arra kíváncsi, hogy racionális dön­ tések következtében mi fog történni. Megközelítése tehát normatív, azaz előírja, hogy racio­ nális döntéshozóként mit kell tennünk, és ha minden szereplő racionális, akkor elörejelzi a játék kimenetelét.

Feltételezzük, hogy minden játékosnak van hasznossági függvénye, amely megadja, hogy a játék egyes kimenetelei esetén mennyi lesz a játékos kifizetése (nyeresége). Az a feltételezés, hogy a játékosok racionálisak azt jelenti, hogy maximális hasznosság elérésére törekszenek. A szűkre szabott keretek miatt csak a teljes információs statikus játékokkal foglalkozunk. A teljes információs jelző arra utal, hogy

• a játékosok halmaza, • a játékosok stratégiahalmaza, • a játék lehetséges kimeneteleihez tartozó kifizetések mind köztudás. A köztudás nemcsak azt jelenti, hogy a játékosok rendelkeznek a fenti információkkal, hanem azt is, hogy a játékosok tudják, hogy a többi játékos is rendelkezik a fenti információkkal, sőt azt is tudják, hogy minden játékos tudja, hogy a többi játékos tudja a fenti információkat, és így tovább a végtelenségig. A statikus játékokban a játékosok csak egyszer választanak stratégiáik közül, mégpedig anél­ kül, hogy ismernék a többi játékos döntését. Nem kell ugyanabban a pillanatban dönteniük, a lényeg az, hogy aki később dönt, az ne szerezzen tudomást azok döntéséről, akik ezt már ko­ rábban megtették. Miután minden játékos választott egy stratégiát, a játékosok megkapják kifizetésüket és ezzel a játék véget ér.

A játék kimenetelét egy olyan vektorral adhatjuk meg, amelynek elemei a játékosok által vá­ lasztott stratégiák. Ezt a vektort stratégiaprofilnak nevezzük, de kétszemélyes játék esetén szokásos a strategiapár elnevezés is.

11. JÁTÉKELMÉLET

A játékokat normálformában adjuk meg, amely a következő elemekből áll: • a játékosok halmaza, • a játékosok rendelkezésére álló stratégiák halmaza, • a játékosok kifizetései minden stratégiaprofil esetére. A játékosok halmazát TV-nel jelöljük, ennek elemei a játékosok, akik jelölésére az 1, 2, . . . , n természetes számokat használjuk, tehát A = {1, 2,. . ., n}. Az /-edik játékos lehetséges stratégiáinak halmazát Sz-vel jelöljük. Az z-edik játékos számára a játék lejátszása azt jelenti, hogy választ egy stratégiát az Si∙ halmazból. A játék egy kimenetelét íiz s (.s,∣, 52, . . . , 5„) stratégiaprofillal adhatjuk meg, amelynek elemei a játékosok által vá­ lasztott stratégiák. A játék kimeneteleinek halmaza a játékosok stratégiahalmazainak I )escartcs-szorzata:

S= × Si = {(51, 52,, 5zj) I 5/ ∈ Sli = 1,. . . , n} ieN

∖∕ /-edik játékos kifizetését az ui(s↑, s2, ... , sn) kifizetőfüggvény adja meg, amely a játék minden kimeneteléhez egy valós számot rendel. A tárgyalt játékok két- vagy többszemélyesek. A kétszemélyes játékok között igen fontosak a kétszemélyes véges játékok, amelyekben mindkét játékos stratégiahalmaza véges. A játéko­ sok kifizetéseit ekkor két mátrixszal (A, illetve B) adhatjuk meg. A két kifizetőmátrixból egy bimátrixot képezünk, amelynek elemei számpárok. A számpár első eleme az 1., második ele­ me pedig a 2. játékos kifizetését mutatja.

Az alábbiakban néhány fontos konfliktushelyzetet szemléltető játékot mutatunk be.

11.1. PÉLDA. Fogolydilemma. A rendőrség elfogott két személyt, akiket bűncselekmény elkövetésével gyanúsítanak. Letartóztatásuk után külön cellában helyezik el őket, hogy a kihall­ gatás előtt ne tudjanak egymással összebeszélni. Külön-külön mindkét gyanúsítottal közük, hogy ha társa tagad, de ő beismerő vallomást tesz, akkor őt elengedik, társa pedig 9 év börtönt kap. I íz az ajánlat azonban csak akkor érvényes, ha a másik gyanúsított nem vall, hiszen ekkor a beismerés már nem annyira értékes. Ha mindketten vallanak, akkor 6-6 év börtönbüntetést kap­ nak. Végül, ha egyikük sem vall, akkor egy kisebb vétségért 1-1 év börtönre ítélik őket. Mind­ egyikükkel közük azt is, hogy ezt az ajánlatot társának is megtették. Ezután megkérdezik őket, hogy lagadják-e a bűncselekményt vagy beismerő vallomást tesznek?

Mindkét gyanúsítottnak (játékosnak) két lehetséges stratégiája van: vagy tagad, vagy vall. A já­ tékosok kifizetéseit, azaz a börtönben letöltendő évek számát az alábbi bimátrix tartalmazza Mivel büntetésről (elveszített évekről) van szó, ezért a kifizetések negatív számok. Mindketten a nagyobb kiűzetést részesítik előnyben, hiszen az rövidebb idejű büntetést jelent. 2. gyanúsított Vall Tagad

Tagad

( - 9, 0 )

(-1,-1)

1. gyanúsított Vall

( 0,

9)

(

6,

6)

329

11.1. Alapfogalmak

Nagyon sok konfliktushelyzet stratégiai szempontból fogolydilemma, ilyen például az üzleti életben gyakran előforduló árverseny is.

11.2. PÉLDA. Duopol játék. Két konkurens cég ugyanazt a terméket gyártja. Mindketten egymástól függetlenül egyidejűleg döntik el, hogy milyen áron adják a terméket. Az egy­ szerűség kedvéért feltételezzük, hogy csak két lehetőségük van: vagy magas vagy alacsony árat szabnak meg. A cégek profitját százezer euróbán az alábbi táblázat tartalmazza. Mind­ két cég a maximális profit elérésére törekszik. Magas ár

Alacsony ár

Magas ár (4,4)

Alacsony ár

(5,1)

(2,2)

(1,5)

A magas ár kartellmegállapodást sejtet, és a fő kérdés az, hogy tartható vagy törékeny-e ez a megállapodás? A fogolydilemmában választható két stratégiára célszerű általános elnevezést bevezetni. Mivel a tagadás és a magas ár valójában együttműködést jelent, ezért ezt a stratégiát koope­ rációnak nevezzük és a továbbiakban A'-val jelöljük. Vallani és a megállapodást megszegve alacsony árat kérni viszont annyit jelent, mint versengeni, ezért erre a stratégiára a V jelö­ lést vezetjük be.

A fenti G = (N; Sl, S2; U∖, u2) duopol játékban az imént bevezetett jelölésekkel • • • A

a játékosok halmaza N = {1, 2}, a választható stratégiák halmaza Sj - S2~ {K, K}, a lehetséges kimeneteleké S - S1 ×¾ = {(A, A), (A, F), (F, K), d∖ ∏}∙ kifizető függvények értékei: wl(A,A) = 4, u2(K,K)-4,

ui(K, F)=l, u2(K,V)≈5,

ιιi(K F) = 2. w2( F, F)≈2.

w1(F,A) = 5, w2(F, A)=l,

Az 1. játékos számára a legjobb a (F, K) kimenetel, ezt követik a (K, K) és (F, F) kimenete­ lek, míg a legrosszabb a (A. F) stratégiaprofil.

Egy kétszemélyes játékot fogolydilemmának nevezünk, ha kifizetőmátrixa K

V

K

(b,b)

(d,a)

V

{a,d)

(c,c)

és a kifizetésekre teljesül, hogy a> b> c> d.

11. JÁTÉKELMÉLET

330

11.3. PÉLDA. Nemek harca. Egy fiatal pár nem tud megegyezni abban, hogy hol töltsék az estét. A fiú a bokszmeccset részesíti előnyben, a lány ezzel szemben a koncertet. Mindkét ten jobban szeretnék együtt tölteni az estét, mint külön-külön. A döntést estére halasztják, azonban nem tudnak egymással kapcsolatba lépni és így munkahelyükről kénytelenek meg­ állapodás nélkül valamelyik helyszínre elindulni. A kifizetések az egyes kimenetelek élve­ zeti értékét mutatják. Mindkét játékosnak két stratégiája van, B jelöli a bokszmeccset, K pedig a koncertet. Lány B

K

B (2,1)

M

K (0,0) ÍL2)

Mint belátható, nem csak akkor járnak mindketten rosszul, ha önző módon arra a helyre mennek, amelyiket jobban kedvelnek, hanem akkor is, ha a mindketten a másiknak ked­ vezve a másik által preferált helyet választják.

11.2. Dominancia_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ A továbbiakban sokszor lesz szükségünk arra a stratégiaprofilra, amelyből az z-edik játékos stratégiája hiányzik. Ezt a csonka stratégiaprofilt s_,-vei jelöljük, ahol S-l∙ - (Si , . . . ,

A csonka stratégiaprofilok halmazát

St-↑ , 51+ι

, . . . ,

Sn)

jelöli.

Az /-edik játékos egy s, ∈ S; stratégiája szigorúan dominálja a ti ∈ ^stratégiát, ha ui(si, sj > ui(ti, s,) minden s,i∈ S-7 esetén. A szigorú dominancia azt jelenti, hogy az z-edik játékos az si stratégiájával nagyobb kifizetést ér el, mint ti stratégiájával, bárhogyan is dönt a többi játékos. Bimátrix játékban az 1. játékos z-edikstratégiája szigorúan dominálja ay-edik stratégiáját, ha αik > aJk minden Á-ra (k = 1,2,..., n),

11.4. PÉLDA. A Fogolydilemma játékban a V stratégia szigorúan dominálja a K stratégiát mindkétjátékos esetében. A Nemek ∕zαrcα játékban egyik játékosnak sincs olyan stratégia ja, amely szigorúan dominál egy másik stratégiát.

Az z-edik játékos si stratégiája gyengén dominálja a ti stratégiáját, ha az z-edik játékos a többi játékos bármilyen választása esetén az si stratégiával legalább akkora kifizetést ér el, mint stratégiával, és legalább egy csonka stratégiaprofil esetén az si stratégiával még nagyobb is u kifizetése, mint ti stratégiával. Bimátrix játék esetén az 1. játékos z-edik stratégiája gyengén dominálja a y-edik stratégiáját, ha alk ≥ ajk minden Á-ra és aik > ajk legalább egy Á-ra (k = 1,2........ n).

11.2. Dominancia

HI

Az s, ∈ S, stratégia szigorúan domináns, ha szigorúan dominálja az összes többi sh.∣h∣u∣.∣∣.∣ιl ír. gyengén domináns, ha gyengén dominálja Sj összes többi stratégiáját. Egy szigorúan vagy gyengén domináns stratégia optimális a játékos számára, hámul r h∙∙.∕ ∏ többi játékos. Ha egy játékosnak van ilyen stratégiája, akkor nem kell törnie a fejel a∕oι∣, lu∣,∙∖ a többi játékos melyik stratégiáját választja, neki a domináns stratégiáját kell válaszúim. S∣∣∣ nos csak ritkán fordul elő, hogy egy játékban minden játékosnak van domináns stralegιa∣a, a Fogolydilemmában azonban a V stratégia szigorúan dominálja a K stratégiát, ezért a játék ki menetele (V,V) lesz. Racionális játékosok nem választanak szigorúan dominált stratégiát, ezért az ilyen stratégiákat kiküszöbölhetjük, azaz figyelmen kívül hagyhatjuk. Bimátrix játék esetén ez azt jelenti, hogy a szigorúan dominált stratégiáknak megfelelő sorokat vagy oszlopokat törölhetjük a kifizetési mátrixból. Mivel feltételezzük, hogy a játékosok racionalitása köztudás, a szigorúan dominált stratégiák kiküszöbölése után kapott redukált játékban ismét kereshetünk szigorúan dominált stratégiá­ kat. Ezt az eljárást a szigorúan dominált stratégiák iteratív kiküszöbölésének nevezzük. Ha az eljárás végén egyetlen kimenetelt kapunk, akkor a játékot dominanciával megoldhatónak nevezzük.

11.5. PÉLDA. Az alábbi bimátrix játék dominanciával megoldható.

F

B (2, 2)

K (1,1)

J (4, 0)

L

(1,2)

0,1)

0,5)

1. A 2. játékos racionális, ezért nem játssza a szigorúan dominált K stratégiát. Emiatt töröl­ hetjük a 2. oszlopot. 2. Az 1. játékos tudja, hogy a 2. játékos racionális, és így a 2. játékos nem fogja a K straté­ giát játszani. Mivel az 1. játékos racionális, ezért ő nem játssza a redukált mátrixban szi­ gorúan dominált L stratégiát, ennek következtében törölhetjük a redukált mátrix második sorát is. 3. A 2. játékos tudja, hogy az 1. játékos tudja, hogy a 2. játékos racionális. Mivel a 2. játé­ kos azt is tudja, hogy az 1. játékos racionális és emiatt nem választja az L stratégiát, kö­ vetkezésképp a 2. játékos nem választja a már kétszer redukált mátrixban szigorúan do­ minált J stratégiát. A fenti gondolatmenet alapján a játék kimenetele (F, B) lesz. Minél hosszabb az iterációs folyamat annál nagyobb fokú racionalitást követel a játékosoktól. A gyengén dominált stratégiák iteratív kiküszöbölése felvet néhány problémát. Mint azt némi gondolkodással be lehet látni pl. gyengén dominált stratégiák iteratív kiküszöbölésekor a sor­ rend is fontos, míg a szigorúan dominált stratégiáknál nem.

11. JÁTÉKELMÉLI I

332

11.3. Nash egyensúly_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ A dominancia elv csak akkor alkalmas egy játék kimenetelének előrejelzésére, ha az iterációs folyamatot minden játékosnak csak egy stratégiája éli túl. Ellenkező esetben a John Nash által bevezetett egyensúlyfogalom ad útmutatást a játékosok számára.

Az s' = (s1*........ sj stratégiaprofil Nash egyensúly, ha az /-edik játékos bármely s, stratégiája esetén s’ legalább akkora kifizetést ad az /-edik játékosnak, mint az (s„ sl,) stratégiaprofil, amely­ ben az /-edik játékos az s, stratégiát választja, míg a többi játékos stratégiáinak listája sl,. Tehát minden /-re ui(s) = ul( s’, sli)≥ul(sl, sí,)

az /-edik játékos bármely sl stratégiája esetén. A Nash egyensúlyt úgy is megfogalmazhatjuk, hogy egyik játékos sem tudja növelni kifizeté­ sét oly módon, hogy egyoldalúan eltér az egyensúlyi stratégiájától, miközben a többiek ra­ gaszkodnak ahhoz.

Ha egy játékban minden játékosnak van szigorúan domináns stratégiája, akkor a játéknak egyetlen Nash egyensúlya van. Az állítás megfordítása azonban nem igaz. Egy játéknak akkor is lehet Nash egyensúlya, ha nincs szigorúan domináns egyensúlya. Ilyen pl. a Nemek harca játék.

Az /-edik játékos azon stratégiáinak halmazát, amelyek a legjobb válaszok s√ csonka straté giaprofιlra, Bz(s√)-vel jelöljük. Az z-edik játékos számára a Bz∙(s√) halmaz bármely stratégiája legalább olyan jó válasz, mint bármely másik stratégia. Bi-t az z-edik játékos legjobbválaszlekcpezésének nevezzük. Az alábbi tétel lehetővé teszi, hogy a Nash egyensúly(oka)t az egyes stratégiákra adott leg jobb válaszok segítségével keressük meg.

11.1. TÉ TEL. Az s* = (sl* ),...,s stratégiaprofil akkor és csak akkor Nash egyensúly, ha minden játékos stratégiája a legjobb válasz a többiek által választott stratégiákra, azaz minden /-re < ∈ /? (s\ ).

11.6. PÉLDA. 1 ekintsük az alábbi Fogolydilemma játékot:

K

K (4,4)

(1,5)

V

(5, 1 )

(2,2)

V

333

11.4. Kevert bővítés

A játékosok legjobb válaszát a megfelelő kifizetések félkövér szedésével és aláhúzásával jelöltük. A játék egyetlen Nash egyensúlya a (E, V) stratégiaprofil, mert csak ezek a straté­ giák kölcsönösen legjobb válaszok egymásra. 11.7. PÉLDA. A Nemek harca játéknak két Nash egyensúlya van: (5, B) és (K, K). Ha bár­ melyikük egyoldalúan eltérne az egyensúlyi stratégiájától, akkor kifizetése nulla lenne. Lány

B

B

K

(2,1)

(0,0)

K

ÍL2)

M

11.8. PÉLDA. Az Érmepárosítás játékban két személy egyszerre egy érme fej (F) vagy írás (7) oldalát mutatja fel. Ha mindketten ugyanazt az oldalt mutatják fel, akkor a második személy 1 forintot fizet az elsőnek, míg ha különböző oldalt mutatnak fel, akkor az első személy fizet 1 forintot a másodiknak. Mindketten a maximális kifizetésre (nyereményre) törekszenek. A játék kifizetési mátrixa az alábbi:

F

/

F

(1,-1)

(-1,1)

I

(-1,1)

(1, -1)

Ennek játéknak nincs Nash egyensúlya, mivel nincsenek olyan stratégiák, amelyek kölcsönösen legjobb válaszok lennének egymásra.

11.4. Kevert bővítés Az előző pontban láttuk, hogy nem minden statikus játéknak van Nash egyensúlya, ezért az alábbiakban kibővítjük a játékosok lehetséges stratégiáinak halmazát. Megengedjük a játéko­ soknak, hogy stratégiáik közül véletlenszerűen válasszanak valamilyen valószínűségeloszlás szerint.

Egy játékos kevert stratégiája a játékos stratégiáinak halmazán értelmezett valószínűségeloszlás. Lehetséges az is, hogy egy játékos valamely stratégiáját 1 valószínűséggel választja. Az ilyen kevert stratégiára azt mondjuk, hogy tiszta stratégia.

11. JÁTÉKELMÉLET

334

Egy (xj,..., x * ) = (x', χv) stratégiaprofil kevert Nash egyensúly, ha bármely i esetén az /-edik

játékos számára az (x * , xl,) stratégiaprofil legalább akkora kifizetést biztosít mint az (x„ xl,.), azaz ui(χ∙, xj≥u,(x,, x:,)

az /-edik játékos tetszőleges x, kevert stratégiája esetén. Egy (A, B) bimátrix játéknak az (x *, y*)

stratégiaprofil kevert Nash egyensúlya, ha

• x* A y* ≥ xA y*

bármely x kevert stratégia (x ≥ o, lx = 1), és

• x* B y* ≥ x* By

bármely y kevert stratégia (y ≥ o, ly = 1) esetén.

Ha Bi(x-i) jelöli az i játékos x_z csonka stratégiaprofilra adott legjobb válaszainak halmazát, akkor a (x * , xV) stratégiaprofil pontosan akkor kevert Nash egyensúly, ha x* minden z-re a Bi( xV) halmazban van. A kevert bővítés jelentőségét az adja, hogy ennek a játéknak már biztosan van legalább egy kevert Nash egyensúlya.

11.9. PÉLDA. Legyen adott a Nemek harca játék a már korábban megismert kifizetésekkel.

Lány B

B (2,1)

K (0,0)

K

(0,0)

(1.2)

Legyük fel, hogy a fiú a bokszmeccset x, a koncertet 1 - x, míg a lány a bokszmeccset y, a koncertet 1 ~ y valószínűséggel választja. A fiú várható kifizetése a B stratégiával

2y ÷ 0(1 -~y) ≈ 2y,

a K stratégiával

Oy + 1(1 - y) = 1 -y.

Ha 2y > 1 - y, azaz y > 1/3, akkor a fiú egyedüli legjobb válasza a B stratégia, míg ha v • 1/3, akkui az egyedüli legjobb válaszai. Hay ≈ 1/3, akkor

1

2 OTl/31

2

0

3’

lj2∕3J

így a fiú összes kevert stratégiájával 2/3 egység kifizetést ér el, tehát bármely kevert straté­ giája legjobb válasz. A fiú legjobbválasz-leképezése tehát

335

11.4. Kevert bővítés

'{θ}

haj 1(F,5) + (l -y>1(F, J)] + (l -x)∖yux(L, B) + (l -y>1(Z,J)],

tehát az 1. játékos várható kifizetése a tiszta stratégiáival kapott kifizetéseinek súlyozott átla­ ga, ahol a súlyok pedig a kevert stratégiában szereplő valószínűségek.

Legyen egy kétszemélyes játék kevert egyensúlya (x * , y * ) és az 1. játékos várható egyensú­ lyi kifizetése u . Ekkor az 1. játékos egyetlen más stratégiájával sem érhet el nagyobb kifize­ tést, beleértve a tiszta stratégiákat is. u az 1. játékos azon tiszta stratégiáival kapott várható kifizetéseinek súlyozott átlaga, amelyek pozitív valószínűséggel szerepelnek x* kevert egyensúlyi stratégiájában. Az 1. játékos ezen tiszta stratégiáinak mindegyiken * várható kifize­ tést ad, hiszen ha valamelyik kevesebbet adna, akkor a súlyozott átlag is kisebb lenne u -nál. A fentiekből következik, hogy azok a stratégiák, amelyek az x* kevert stratégiában pozitív valószínűséggel szerepelnek u várható kifizetést adnak, a többi stratégia pedig legfeljebb u -ot. A fentiek alapján megfogalmazhatjuk a következő tételt: 11.2. TÉTEL. Egy kétszemélyes véges játékban az (x * , y * ) kevert egyensúlyi stratégiaprofil akkor és csak akkor kevert Nash egyensúly, ha mindkétjátékos esetén

• bármely tiszta stratégia, amelyhez a kevert egyensúlyi stratégiában pozitív valószínűség tartozik, ugyanakkora várható kifizetést ad, és • bármely tiszta stratégia, amelyhez a kevert egyensúlyi stratégiában nulla valószínűség tar­ tozik, legfeljebb akkora várható kifizetést ad, mint bármely olyan tiszta stratégia, amelyhez a kevert egyensúlyi stratégiában pozitív valószínűség tartozik. Iinnék az eredménynek a jelentősége az, hogy a kevert Nash egyensúlyra csupán a játékosok tiszta stratégiáinak várható kifizetésével ad feltételt. Ennek következtében az olyan játékok ban, amelyekben mindkétjátékosnak véges sok stratégiája van, könnyen eldönthető, hogy egy kevert stratégiaprofil Nash egyensúly-e vagy sem.

11.10. PÉLDA. Tekintsük az alábbi kifizető mátrixszal adott játékot. A „ - “jelek helyén álló kiűzetéseket nem adjuk meg.

F K L

B (™,2) (-,-) (-,4)

C (3,3) (0,“) (5,1)

J (1,1) (2,-) (0,7)

Megmutatjuk, hogy ennek a játéknak a ([3/4, 0, 1/4], [0, 1/3, 2/3]) kevert stratégiaprofil Nash egyensúlya. Ehhez elegendő megvizsgálni a játékosok tiszta stratégiáinak várható ki fizetését. Az I. játékos várható kifizetése az F stratégiával 5/3, a K stratégiával 4/3, az L stratégiával 5/3. Mivel az 1. játékos kevert egyensúlyi stratégiájában /'’és /, pozitív, K pedig nulla való­ színűséggel szerepel, ezért teljesülnek a tétel feltételei.

11.5. Mátrixjátékok

337

A 2. játékos mindhárom tiszta stratégiájának várható kifizetése 5/2. Abból, hogy a kevert egyensúlyi stratégiában nulla valószínűséggel szereplő B stratégia is akkora várható kifize­ tést ad, mint a pozitív valószínűségű stratégiák, nem jelenti azt, hogy a játéknak van olyan kevert egyensúlya, amelyben a 2. játékos a B stratégiát pozitív valószínűséggel játssza. Ez a meg nem adott kifizetésektől függ.

A dominancia tárgyalásakor láttuk, hogy a szigorúan dominált stratégiák iteratív kiküsz­ öbölésével gyakran csupán redukálni tudjuk a játékosok stratégiahalmazait. Felvetődik a kérdés, hogy ennek az eljárásnak nem esnek-e áldozatul Nash egyensúlyok, tehát a redukált játéknak ugyanazok-e a Nash egyensúlyai, mint az eredetinek. Megmutatható, hogy ettől nem kell tartani, a szigorúan dominált stratégiák iteratív eliminációját minden Nash egyen­ súly túléli, tehát az eljárás során nem vesznek el Nash egyensúlyok. A kevert stratégiák tárgyalásának lezárásaként röviden szólunk egy lehetséges értelmezé­ sükről. Mielőtt egy játékos meghozná döntését, ki kell alakítania egy vélekedést ellenfele stratégiaválasztásáról. Nash egyensúly esetén minden játékos olyan stratégiát választ, amely maximalizálja várható kifizetését a többi játékos stratégiájáról kialakított helyes vé­ lekedése alapján. A helyes vélekedés kialakításának egyik módja az, hogy a játékosok a já­ tékot különböző ellenfelekkel lejátsszák, és tapasztalatot gyűjtenek. A játékosok vélekedé­ sük kialakításakor összes addigi ellenfelük stratégiáját figyelembe veszik. Ha például az első tíz periódusban a 2. játékos (aki mindig más személy) ötször az A, két­ szer a B, háromszor a C stratégiát választotta, az 1. játékos joggal véli azt, hogy all. peri­ ódusban egy újabb 2. játékos az A stratégiát 0,5 , a B stratégiát 0,2 , a C stratégiát 0,3 való­ színűséggel fogja választani.

Minden kétszemélyes játékban, amelyben mindkét játékosnak két stratégiája van, a folyamat bármely kezdeti vélekedés esetén a kevert Nash egyensúlyhoz tart, tehát a stratégiák választá­ sának relatív gyakorisága a stratégiák kevert egyensúlybeli valószínűségéhez tart.

A kevert stratégia tehát nem azt jelenti, hogy a játékosok aktívan cselekedve véletlenszerűen választanak stratégiáik közül - pl. egy érme vagy kocka titokban történő feldobásával ha­ nem azt, hogy vélekedésük az ellenfél által választandó stratégiát illetően bizonytalan, és játékról-játékra változik. A játékosok azonban minden lejátszáskor a pillanatnyi vélekedésük alapján - amely az ellenfél kevert stratégiája - a legjobb választ adják, amelyik egy tiszta stratégia. Vegyük figyelembe, hogy statikus játékok esetén ugyanaz a kétjátékos csak egyszer játssza le a játékot, vagy ha már játszottak is egymással, akkor sem emlékeznek erre, így dön­ tésük nem függ attól, hogy ellenfelük korában melyik stratégiákat választotta.

11.5. Mátrixjátékok_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ A kétszemélyes véges - röviden bimátrix - játékoknak fontos osztályát képezik a mátrixjá­ tékok. Az elnevezés alapja az, hogy ezekben a játékokban elegendő megadni az egyik játékos kifizetéseit, mivel a kétjátékos kifizetéseinek összege nulla, azaz A + B = 0, és így A = - B.

11. JÁTÉKELMÉLI I

338

Az A kifizetőmátrix az 1. játékos kifizetéseit tartalmazza. Ha aij pozitív, akkor 1. játékos nyer a másodiktól, tehát a 2. játékos fizet az elsőnek, ha negatív, akkor 1. játékos veszít, tehát ö fizet a 2. játékosnak.

A konstans összegű játékokban a játékosok kifizetéseinek összege bármely tiszta stratégiák­ ból álló stratégiapár esetén egy konstans c érték. Konstans összegű játékkal modellezhetünk például egy olyan szituációt, amelyben két cég birtokol egy piacot, és a stratégiaválasztásuk tói függő piaci részesedésre tesznek szert. Ha a cégek kifizetése a százalékban kifejezett piaci részesedés, akkor a kifizetések összege a játék bármely kimenetele esetén 100. Minden konstans összegű játék stratégiailag ekvivalens egy mátrixjátékkal, amelyikben a kifi­ zetések összege nulla. Ha ugyanis egy konstans összegű játékban w(s) + v(s) = c bármely s kimenetel esetén, akkor a u, = 2u-c és v' = 2v-c kifízetőfüggvényekkel már u,(s) + v'(s) = 0 teljesül minden s kimenetelre. Mivel feltételeztük, hogy a kifizetések hasznos ságok, továbbá az u és u hasznossági függvények ugyanazokat a preferenciákat írják le, ha vannak olyan a > 0 és b valós számok, hogy bármely s kimenetel esetén w'(s) = αw(s) + />. ezért valóban elegendő a mátrixjátékokkal foglalkoznunk.

A mátrixjátékok alkalmazási lehetőségei természetesen nem olyan széleskörűek, mint a bimátrix játékoké, azonban fontos tulajdonságaik, továbbá szoros kapcsolatuk a lineáris prog ramozással indokolttá teszik, hogy röviden foglalkozzunk velük. Egy mátrixjátékot tekinthetünk bimátrix játéknak is, és ekkor a játék kimenetelének előrejcI zéséhez fordulhatunk a Nash egyensúly fogalmához. Kínálkozik azonban egy másik lehetőség, is, erről lesz szó a továbbiakban. Mátrixjátékok megoldásakor is az első lépés a szigorúan dominált stratégiák iteratív kikiis/ öbölése, amely most is rendszerint csak a kifizetőmátrix méretének csökkenéséhez vezet.

11.11. PÉLDA. Tekintsük az alábbi táblázattal adott mátrixjátékot. Az eddig elmondottaknak megfelelően a táblázat elemei az 1. játékos (akit soijátékosnak is szokás nevezni) szem pontjából nyereségeket jelentenek, míg a 2. játékos (az oszlopjátékos) szemszögéből nézve mindegyik értéket ellentétes előjellel kell értelmeznünk. Az 1. játékos F stratégiája szigu rúan dominálja a K stratégiáját, mivel az 1. játékos a 2. játékos bármely stratégiaválasztása esetén nagyobb kifizetést ér el az F stratégiával. Emiatt az 1. játékos nem fogja választani a K stratégiát.

F K L

B 4 3 9

K 8 5 3

J 11 7 1

A redukált játékban már egyik játékosnak sincs szigorúan dominált stratégiája, így további vizsgálatokra van szükség.

339

11.5. Mátrixjátékok

A mátrixjátékokban a játékosok érdekei szöges ellentétben állnak egymással, ezért célszerű megvizsgálni, hogy mekkora az a kifizetés, amelyet ellenfelük bármely játéka esetén el tud­ nak érni.

Az 1. játékos ezt a garantált kifizetést (nyereményt) úgy tudja meghatározni, hogy a kifizetőmátrix minden sorában megkeresi a legkisebb elemet, majd ezután ezeknek a sor­ minimumoknak a maximumát. Azt a stratégiát, amellyel ez a nyeremény elérhető maximin stratégiának nevezzük.

A 2. játékos a veszteségét igyekszik minimalizálni, ezért neki minden oszlopban a legna­ gyobb elemet kell megkeresni, mivel ezek mutatják meg, hogy az egyes stratégiákkal leg­ feljebb mennyit veszít. Ha az oszlopmaximumok közül kiválasztja a legkisebbet, akkor megtudja, hogy mekkora az a veszteség, amelynél nagyobbal biztosan el tud kerülni. A 2. játékos stratégiáját szokás minimax stratégiának nevezni, mivel a maximális veszteségei közül választja a minimálisát. A következő tétel azt állítja, hogy az 1. játékos garantált nye­ reménye nem nagyobb mint a 2. játékosnak az a vesztesége, amelynél nagyobbat biztosan el tud kerülni. 11.3. TÉTEL. Tetszőleges A kifízetömátrix esetén a sorminimumok maximuma legfeljebb akkora, mint az oszlopmaximumok minimuma:

m = ast = max { min aij}