You are on page 1of 636

WAYNE L.

W INSTON

OPERCIKUTATS
Mdszerek s alkalmazsok
1. ktet

Csodlatos csaldomnak,
Viviannek, Gregorynak s Jennifernek

WAYNE L. W INSTON

OPERCIKUTATS
Mdszerek s alkalmazsok

1. ktet

Aula, 2003

Az eredeti mu cme:
Operations Research. Applications and Algorithms, 3rd edition by Wayne L. Winston.
c 1994 by Wadsworth, Inc. All rights reserved.

International Thomson Publishing, Duxbury Press.
c 1997 kiadsa alapjn kszlt.
A fordts a Brooks Cole
Fordtottk:

Dobos Imre (1416. fejezet)


Fiala Tibor (5., 18. fejezet)
Flp Jnos (9., 10. fejezet)
Kdas Sndor (4. fejezet)
Medvegyev Pter (17. fejezet)
Solymosi Tams (78., 13. fejezet)
Szentpteri Szabolcsn (13., 6., 11. fejezet)
Temesi Jzsef (Elosz, 12. fejezet)
Temesi Pter (22. fejezet, Megoldsok)
Zaupper Bence (1921. fejezet)

A fordtst az eredetivel egybevetette: Forg Ferenc s Temesi Jzsef


Szakmai lektor: Temesi Jzsef
A knyv a Budapesti Kzgazdasgtudomnyi s llamigazgatsi Egyetem tmogatsval
jelent meg.
c Aula Kiad Kft., 2003
Hungarian edition
c Budapesti Kzgazdasgtudomnyi s llamigazgatsi Egyetem,
Hungarian translation
2003
ISBN 963 9478 59 8 (1. ktet)
ISBN 963 9478 60 1 (2. ktet)
ISBN 963 9478 61 X (kzs)

A kiadvny szerzoi jogi vdelem alatt ll, arrl msolat ksztse, ms formban (papr,
elektronikus stb.) val felhasznlsa a kiad elo zetes rsbeli engedlye nlkl tilos. A
kiadvny msolsa s jogosulatlan felhasznlsa buncselekmnynek min o sl.

Nyomdai elokszts: Typotex Elektronikus Kiad Kft.


Muszaki szerkeszto: Hesz Gbor

Az 1. ktet tartalma
1. Bevezets az opercikutatsba
2. A lineris algebra alapjai
3. Bevezets a lineris programozsba
4. A szimplex algoritmus
5. rzkenysgvizsglat s dualits
6. Szlltsi, hozzrendelsi s sszetett szlltsi feladatok
7. Hlzati modellek
8. Egszrtku programozs
9. A lineris programozs fejlettebb mdszerei
10.

Nemlineris programozs

A 2. ktet tartalma
11.

Dntsek bizonytalansg esetn

12.

Tbbcl dntshozatal

13.

Jtkelmlet

14.

Determinisztikus kszletezsi ttelnagysg-modellek

15.

Sztochasztikus kszletmodellek

16.

jabb fejlemnyek a kszletezselmletben

17.

Markov-lncok

18.

Determinisztikus dinamikus programozs

19.

Sztochasztikus dinamikus programozs

20.

Sorbanllsi elmlet

21.

Szimulci

22.

Elorejelzsi modellek

Az 1. ktet rszletes tartalma

Bevezets az opercikutatsba
1.1.

Az opercikutats mdszertana

1.2.

Az opercikutats sikeres alkalmazsai

1.3.

Nhny opercikutatsi olvasnival

1.4.

Nhny sz errol a knyvrol

6
7

A lineris algebra alapjai


2.1.

Mtrixok s vektorok

2.2.

Mtrixok s lineris egyenletrendszerek

2.3.

A lineris egyenletrendszerek megoldsnak GaussJordan


mdszere
21

2.4.

Lineris fggetlensg s lineris sszefggo sg

2.5.

Mtrix inverze

36

2.6.

Determinnsok

41

sszefoglals

9
18

44

ttekinto feladatok

47

Bevezets a lineris programozsba


3.1.

A lineris programozsi feladat

3.2.

A ktvltozs lineris programozsi feladat grafikus


megoldsa
59

3.3.

Specilis esetek

67

51

32

viii

Az 1. ktet rszletes tartalma

3.4.

Egy trendi feladat

3.5.

Egy munkaszervezsi problma

3.6.

Tokeallokci

3.7.

Rvidtv pnzgyi tervezs

3.8.

Keversi problmk

87

3.9.

Termelsi modellek

97

3.10.

Lineris programozs alkalmazsa tbbperidusos dntsi


problmk megoldsra: egy kszletezsi modell
103

3.11.

Tbbperidusos pnzgyi modellek

3.12.

Tbbperidusos munkaszervezs
sszefoglals

73
80

109
112

117

A szimplex algoritmus
4.1.

Hogyan alaktsunk t egy LP feladatot standard alakv?

4.2.

A szimplex algoritmus elozetes ttekintse

4.3.

A szimplex algoritmus

4.4.

A szimplex algoritmus alkalmazsa minimalizlsi feladatok


megoldsra
151

4.5.

Alternatv optimlis megoldsok

4.6.

Nemkorltos LP feladatok

4.7.

Degenerci s konvergencia a szimplex algoritmus esetn

4.8.

A nagy M mdszer

4.9.

A ktfzis szimplex mdszer

4.10.

Elojelkorltozatlan vltozk esete

4.11.

Karmarkar mdszere LP feladatok megoldsra


sszefoglals

131

134

141

154

156
164
171
176
182

183

ttekinto feladatok

84

116

ttekinto feladatok

77

186

rzkenysgvizsglat s dualits
5.1.

Grafikus bevezets az rzkenysgvizsglatba

5.2.

Nhny fontos kplet

197

191

160

Az 1. ktet rszletes tartalma

5.3.

rzkenysgvizsglat

205

5.4.

Az LP feladat dulisa

219

5.5.

A dulis feladat kzgazdasgi interpretcija

5.6.

A dualits-ttel s kvetkezmnyei

5.7.

rnykrak

5.8.

Dualits s rzkenysgvizsglat

5.9.

Komplementarits

5.10.

A dul szimplex mdszer

5.11.

Az rnykrak egy alkalmazsi pldja: a Data Envelopment


Analysis (DEA)
260
sszefoglals

247

250
254

268
273

Szlltsi, hozzrendelsi s sszetett szlltsi feladatok


6.1.

A szlltsi feladatok megfogalmazsa

6.2.

Lehetsges bzismegolds elolltsa a szlltsi


feladatban
296

6.3.

A szlltsi szimplex mdszer

6.4.

Szlltsi feladatok rzkenysgvizsglata

6.5.

Hozzrendelsi feladatok

6.6.

sszetett szlltsi feladatok


sszefoglals

285

306
314

318
325

329

ttekinto feladatok

229

240

ttekinto feladatok

227

333

Hlzati modellek
7.1.

Alapfogalmak

7.2.

A legrvidebb t problma

7.3.

A maximlis folyam problma

7.4.

CPM s PERT

7.5.

Minimlis kltsgu hlzati folyam problmk

7.6.

A minimlis fesztofa problma

7.7.

A hlzati szimplex mdszer

341
342
348

360
383
387

377

ix

Az 1. ktet rszletes tartalma

sszefoglals

395

ttekinto feladatok

Egszrtku programozs
8.1.

Bevezets az egszrtku programozsba

8.2.

Egszrtku programozsi feladatok felrsa

8.3.

A korltozs s sztvlaszts mdszere tiszta egszrtku


programozsi feladatok megoldsra
437

8.4.

A korltozs s sztvlaszts mdszere vegyes egszrtku


programozsi feladatok megoldsra
450

8.5.

Htizsk feladatok megoldsa a korltozs s sztvlaszts


mdszervel
451

8.6.

Kombinatorikus optimalizlsi feladatok megoldsa a korltozs


s sztvlaszts mdszervel
454

8.7.

Implicit leszmlls

8.8.

A metszosk algoritmus
sszefoglals

408

467
473
480

A lineris programozs fejlettebb mdszerei


9.1.

A mdostott szimplex mdszer

9.2.

Az inverz szorzatformja

9.3.

Az oszlopgenerls alkalmazsa nagymretu LP feladatok


megoldsra
497

9.4.

A DantzigWolfe dekompozcis algoritmus

9.5.

A felsokorltos szimplex mdszer

9.6.

Karmarkar mdszere LP feladatok megoldsra


sszefoglals

536

ttekinto feladatok

10

405

477

ttekinto feladatok

400

539

Nemlineris programozs

489

494

504

522
526

Az 1. ktet rszletes tartalma

10.1.
10.2.

Bevezeto jellegu fogalmak


541
Konvex s konkv fggvnyek
551

10.3.
10.4.

Egyvltozs NLP feladatok megoldsa


Az aranymetszs keress
566

10.5.
10.6.

Tbbvltozs felttel nlkli maximalizls s


minimalizls
572
A legmeredekebb nvekeds mdszere
578

10.7.
10.8.

Lagrange-szorzk
582
A KuhnTucker felttelek

10.9. Kvadratikus programozs


10.10. Szeparbilis programozs

588
598
605

10.11. A megengedett irnyok mdszere


sszefoglals
613
ttekinto feladatok

617

610

559

xi

Bevezets
j ignyek kielgtse
Az elmlt vek sorn mind a szemlyi szmtgpeken, mind a nagy szmtgpes rendszerekben rendkvl elterjedtt vlt az opercikutatsi szoftverek elrhet o sgnek biztostsa.
Ez a fejlods azonban csak akkor fejtheti ki hasznos hatst, ha a felhasznlk megfelel o
tudssal rendelkeznek a szoftverek cljairl s alkalmazhatsgrl. Biztosaknak kell lennik abban, hogy a modellek htterben meghzd matematikai felttelek pontosan megfelelnek az ltaluk megoldani kvnt vals problmknak, s hogy a szmszeru eredmnyek
is jl tkrzik a problmk megoldst. Mindezek tudatban ez a knyv a modellpts s
a modellek matematikai formulkba ntsnek krdseit lltja el o trbe, valamint az eredmnyek rtelmezsben nyjt eligaztst.

A felttelezett olvask
Ez a knyv azzal a szndkkal rdott, hogy az opercikutatssal, a vezetstudomny
kvantitatv eszkzeivel vagy a matematikai programozssal ismerked o k, illetve mr nmi
ismerettel rendelkezok tanulhassanak belole. A felsooktatsban haszonnal forgathatjk az
zleti kpzs kvantitatv mdszereit, az opercikutatst, vezetstudomnyt vagy rendszertervezst tanul alsbb vfolyamos dikok, azok az MBA hallgatk, akik alkalmazsorientlt kurzusokra jrnak, azok a felso bb ves egyetemistk, akik az opercikutats vagy
a vezetstudomny fobb trgykreiben szeretnnek tjkozdni, vgl pedig mindazok a
gyakorl kzgazdszok, akiknek egy j kziknyvre van ezen a terleten szksgk.

A knyv szerkezete
Ez a knyv hrom flvre elegendo tananyagot tartalmaz, ezltal a fo iskolai-egyetemi oktatknak kello rugalmassgot biztostva a cljaiknak megfelelo tantrgyak kialaktshoz.
Az albbi kurzusok knnyen felptheto ek a knyv bizonyos fejezeteit felhasznlva:
lineris programozs: a 2-tol 9-ig terjedo fejezetekbol,

az opercikutats determinisztikus modelljei: a 210., 1314. s 18. fejezetek anyaga,

az opercikutats valsznusgi modelljei: a 1113., 1517. s 1922. fejezetekb o l,

a modellptst elotrbe helyezo opercikutatsi vagy vezetstudomnyi tantrgy: a


34., 68., 1011. fejezetek egyes alfejezeteibo l, valamint a 12., 14., 15., 17. s 20. fejezetekbol, kiegsztve a 21. s 22. fejezet egyes rszeivel.

xiv

Bevezets

A tanulst s a tantst segto jellemvonsok


A knyvet a kvetkezo jellemzok felhasznlsval igyekeztnk felhasznlbartt tenni:
Mindegyik alfejezet vgn feladatok, a fejezetek vgn pedig ttekint o feladatok segtik
az olvast abban, hogy azonnali visszacsatolst kapjon a tanultak megrtsr o l s alkalmazsrl. Tbb mint 1400 feladat van a knyvben, s ezeket nehzsg szerinti csoportokba
rendeztk: az A csoportba az alapveto technikkat gyakoroltat feladatok kerltek, a B
csoport foleg elmleti krdseket tartalmaz, a C csoport pedig az elmlet tovbbgondolsra sztnzi az olvast.
A knyvben a kimerto matematikai trgyalssal szemben a pldkon keresztl trtn o
bemutatst, az alkalmazsorientlt megkzeltst helyeztk elo trbe. Tbb olyan feladatot
kzlnk, amelyek mr publiklt feladatokon alapulnak. Az egyes fejezetekben a mgoly
komplex tmkat is lpsrol lpsre, sok pldval megvilgtva vezetjk be s bontjuk ki.
Az opercikutats egyes algoritmusait ennek ellenre teljes rszletessggel trgyaljuk:
a lineris programozsi feladatokat megold Karmarkar-algoritmusnak pldul rszletes
lerst adjuk.
A dikokat a vizsgra val felkszlsben segtik a fejezetek vgn tallhat elmleti
sszefoglalk.
Mindegyik fejezetet gy prbltuk megrni, hogy a tbbi fejezett o l tbb-kevsb fggetlenl is rtheto legyen. Ez megerosti a knyvnek azt a jellegzetessgt, hogy ezekbo l a
fejezetekbol a tanrok klnbzo tantrgyakat tudnak sszerakni.
A knyv lineris programozssal foglalkoz 29. fejezetei nmagukban is teljes egszet
alkotnak, a szksges matematikai htteret a 2. fejezet adja meg. Ha az olvas legalbb a
mtrixok szorzsval tisztban van, mris olvasni tudja ezeket a fejezeteket. A fennmarad
fejezetek mr ennl tbb analzis- s valsznusgszmtsi tudst ignyelnek. Elegend o
azonban az, ha valaki egy-egy flvet tanulta ezeket a matematikai ismeretkrket.

Ksznetnyilvnts
Sokan vannak, akik jelentos szerepet jtszottak e knyv harmadik kiadsnak elkszltben. Az opercikutats oktatsrl vallott nzeteimet nagyban befolysoltk az olyan
kivl tanrok, mint Gordon Bradley, Eric Denardo, George Fishman, Gordon Kaufman,
Richard Larson, John Little, Robert Mifflin, Martin Shubik, Matthew Sobel, Arthur Veinott Jr., Harvey Wagner s Ward Whitt. Klnskppen ksznettel tartozom Wagner professzornak, akinek Principles of Operations Research cmu knyve tbbet tantott meg
nekem az opercikutatsrl, mint brmely egyb mu.
Ksznetet szeretnk mondani Ashok Soni kollgmnak a 23. fejezethez nyjtott kzremukdsrt.
A Lagrange-szorzknak s a KuhnTucker-feltteleknek az el o zo kiadsoktl eltro trgyalshoz szksges megjegyzseket John Hookernek, a Carnegie-Melon Egyetem professzornak kell megksznnm.
Vgl ksznettel tartozom mindazoknak, akik elolvasva a harmadik kiads szvegt,
szrevteleikkel javtottk a trgyals mino sgt: Esther Arkin, State University of New
York at Stony Brook; James W. Chrissis, Air Force Institute of Technology; Rebecca E.
Hill, Rochester Institute of Technology; James G. Morris, University of Wisconsin, Madison voltak ezek a kollgk.
Az elozo kiads lektorainak is hlval tartozom, o k: Sant Arora, Harold Benson, Warren
J. Boe, Bruce Bowerman, Jerald Dauer, S. Selcuk Erenguc, Yahya Fathi, Robert Freund,

Bevezets

xv

Irwin Greenberg, John Hooker, Sidney Lawrence, Patrick Lee, Edward Minieka, Joel A.
Nachlas, David L. Olson, Sudhakar Pandit, David W. Pentico, Bruce Pollack-Johnson, Michael Richey, Gary D. Scudder, Lawrence Seiford, Michael Sinchcomb s Paul Stiebitz.
A knyvben fellelheto minden hibrt azonban termszetesen magamnak kell vllalnom
a felelossget.

1
Bevezets az opercikutatsba
tudsokat s mrnkket klnbzo kaA msodik vilghbor alatt brit katonai vezetok
tonai problmk elemzsre krtek fel: radarok harcba vetse, konvojok irnytsa, bombzs, tengeralattjr-elhrts s aknaleraks szerepelt a feladatok kztt. A matematika
s a tudomnyos mdszerek katonai alkalmazst opercikutatsnak neveztk el. Manapsg az opercikutats (operations research), vagy ahogyan gyakran szintn nevezik:
menedzsment tudomny (management science), azt jelenti, hogy a dntshozatalt olyan tudomnyos mdszerekkel kzeltjk meg, amelyek segtsgvel meghatrozhat egy rendszer legjobb felptse s mukdtetse,

mgpedig rendszerint olyan krlmnyek kztt,


amikor a forrsok csak szuksen

llnak rendelkezsnkre.

1.1.

Az opercikutats mdszertana
Amikor egy szervezet problmit az opercikutats segtsgvel szeretnnk megoldani,
akkor a kvetkezo htlpses eljrst kell kvetnnk (1. bra).

1. lps. A problma megfogalmazsa


Az opercikutats (OR) segtsgvel dolgoz elemzo eloszr definilja a szervezet problmjt. Ennek a defincinak tartalmaznia kell a szervezet cljainak pontos megfogalmazst, valamint a szervezet (vagy rendszer) azon rszeit, amelyeket a problma megoldsa
elott rszletesen tanulmnyozni kell.
Bemutatunk egy pldt a problma megfogalmazsra. Tegyk fel, hogy egy bankmenedzser egy opercikutatsi elemzo t alkalmaz abbl a clbl, hogy a szolgltats megfelelo
sznvonalnak fenntartsa mellett cskkenteni lehessen a pnztrosok s ms, az ablakoknl
dolgoz alkalmazottak brkltsgt. A vezeto vel trtnt rszletes megbeszls utn hogyan
fogalmazza meg az elemzo a bank cljait? Hrom lehetosget sorolunk fel:
1. Lehetsges, hogy a bank azokat a heti kltsgeket szeretn minimalizlni, amelyek azt
biztostjk, hogy egy gyfl tlagosan legfeljebb 3 percig lljon sorban.
2. Az is megeshet, hogy a bank azon heti kltsgeket kvnja minimalizlni, amelyek azt
biztostjk, hogy az gyfeleknek csak 5%-a lljon 3 percnl hosszabb ideig sorban.
3. A bank esetleg hajland hetente legfeljebb 1000 dollrt klteni a pnztrosok s az ablakoknl dolgozk fizetsre az adott kereteken bell azrt, hogy minimalizlja az gyfelek
tlagos vrakozsi idejt.

1. fejezet Bevezets az opercikutatsba

1. B R A
Az opercikutats
mdszertana

2. lps
A rendszer
megfigyelse

3. lps
A problma
matematikai
modelljnek
megfogalmazsa

1. lps
A problma
megfogalmazsa

4. lps
A modell
igazolsa s
alkalmazsa
elrejelzsre

6. lps
Az eredmnyek
bemutatsa

5. lps
A megfelel
alternatva
kivlasztsa

7. lps
A javaslatok
megvalstsa
s rtkelse

Az elemzonek termszetesen a bank mukdsnek azokat a szempontjait is fel kell ismernie, amelyek a bank fent megfogalmazott cljainak elrst befolysoljk. Pldul:
1. tlagosan hny gyfl rkezik a bankba rnknt? Minl tbb az gyfl, annl tbb
alkalmazott szksges a megfelelo szolgltatshoz.
2.

rnknt tlagosan hny gyfelet tud egy alkalmazott kiszolglni?

3. Mi felel meg jobban a bank cljainak: egyetlen hossz sorban vrjanak-e az gyfelek,
vagy inkbb legyen tbb sor, tbb ablaknl?
4. Ha minden ablak elott ll egy sor, vajon az gyfelek mindig a legrvidebb sort vlasztjk-e? Hogyha egy vagy tbb sor nagyon hosszv vlik, vajon tmennek-e az gyfelek
egyik sorbl a msikba?

2. lps. A rendszer megfigyelse


Az elso lps utn az elemzo-szakrto adatokat gyujt abbl a clbl, hogy megbecslhesse
a szervezet problmjt befolysol paramterek rtkeit. Ezeket a becslseket hasznlja
majd a szakrto arra, hogy kialaktsa (a 3. lpsben) s rtkelje (a 4. lpsben) a szervezet
problmjnak matematikai modelljt.
Pldul a mi bankunkban az elemzo (egyebek kztt) a kvetkezo rendszer-paramterekre vonatkoz adatokat fogja gyujteni:

1.1. Az opercikutats mdszertana

1. tlagosan hny gyfl rkezik a bankba rnknt? Fgg-e az gyfelek rkezse a


napszaktl?
2. tlagosan hny gyfelet tud egy banki alkalmazott kiszolglni rnknt? Az gyfelekkel val foglalkozs sebessge fgg-e attl, hogy hnyan llnak a sorban?
3. Vajon az gyfelek mindig a legrvidebb sort vlasztjk-e? Ha egy gyfl egy hossz
sor vgn ll, tmegy-e egy rvidebb sorba?

3. lps. A problma matematikai modelljnek megfogalmazsa


Ebben a lpsben az elemzo megfogalmazza a problma egy matematikai modelljt (vagy
idealizlt reprezentcijt). Ebben a knyvben tbb olyan matematikai technikt is lerunk,
amelyek rendszerek modellezsre alkalmasak.
A mi bankpldnkban kialakthat egy matematikai modell, amely a kvetkez o rtkek
elorejelzst vgezheti:
Wq = az gyfl tlagos sorbanllsi ideje
P = annak a valsznusge, hogy egy gyfl legalbb 3 percet vrakozik a sorban
Ezek a kvetkezo paramterek ismeretn alapulnak:

= a bankba rnknt rkezo gyfelek tlagos szma,


= tlagosan ennyi gyfelet kpes az alkalmazott rnknt kiszolglni,
s = az alkalmazottak szma,
valamint az alkalmazottak s sorbanllsi helyek elhelyezkedse a bankban.
Azt a matematikai modellt, amelyik egyenlo sg tpus kapcsolatot teremt Wq , illetve P s
a fenti ngy paramter kztt, analitikus modellnek nevezzk. (A sorbanllsi problmk
analitikus modelljeit a 20. fejezetben trgyaljuk.)
Kimutathat pldul, hogy ha csak egy banki alkalmazott van, akkor bizonyos felttelek
mellett
Wq =

( )

(1)

gy az elemzo a paramterek ismeretben az (1) egyenlo sget alkalmazhatja annak meghatrozsra, hogy milyen jl kontrolllja a rendszer (a bank) Wq rtkt.
Mindazonltal nagyon sok valsgos helyzet olyan bonyolult, hogy nem tallhat szmra analitikus modell. Pldul, ha az gyfelek tjrklnak egyik sorbl a msikba, akkor
az esetek tbbsgben nincs olyan knnyen kezelheto matematikai egyenlosg, amelyet Wq ,
illetve P kifejezsre hasznlhatnnk a ngy paramter segtsgvel. Az olyan esetekben,
amikor nem ltezik jl kezelheto analitikus modell, a szimulcis modellekhez fordulunk
segtsgrt. Ezek a modellek kpess teszik a komputert arra, hogy kzeltst adjanak a
rendszer aktulis viselkedsrol (A szimulcis modelleket a 21. fejezetben trgyaljuk.)

4. lps. A modell igazolsa s alkalmazsa elorejelzsre


Az elemzo ebben a lpsben megprblja eldnteni, hogy a 3. lpsben kifejlesztett matematikai modell valban jl jellemzi-e a valsgot? Annak eldntshez, hogy mennyire
jl rja le a modell a valsgot, megvizsgljuk a jelenlegi helyzetre val rvnyessgt. A

1. fejezet Bevezets az opercikutatsba

bank pldjra gondolva tegyk fl, hogy a jelenlegi helyzet megfelel azoknak a feltteleknek, amelyek mellett az (1) egyenlo sg rvnyes. Ekkor a paramterek aktulis becslt
rtkeit behelyettestjk (1)-be, s megfigyelhetjk, hogy az (1) egyenl o sg milyen jl adja
vissza Wq megfigyelt rtkeit. Hogyha Wq -nak s P-nek a modellel elorejelzett rtkei nem
llnak kzel a valdi rtkekhez (melyeket a bank megfigyelse rvn ismernk), akkor
termszetesen j modellre van szksgnk. Ebben az esetben vissza kell trnnk vagy a 2.
vagy a 3. lpshez (ez jl lthat az 1. bra visszacsatolsi nyilain), s egy j modellt kell
megfogalmaznunk, amelyik jobban lerja az aktulis helyzetet. Ha az els o modell jl illeszkedik a vals helyzethez, mg akkor is tartzkodnunk kell attl, hogy krltekints nlkl
alkalmazzuk. Pldul fellltottunk egy banki modellt, amelyik nagyon jl megadja Wq s
P rtkeit, ha a bankban nincsenek sokan. Ha viszont a banknak egyre tbb s tbb gyfele lesz, s ezltal no a zsfoltsg, akkor az j helyzetben a modell rvnyessgt nagyon
alaposan ellenorizni kell.

5. lps. Megfelelo alternatva kivlasztsa


Adott modell s alternatvk ismeretben az elemzo kivlasztja azt az alternatvt (ha van
ilyen), amelyik a legjobban megfelel a szervezet cljainak. Pldul a mi bankunk esetben
az elemzo meghatrozhat egy olyan munkaadi politikt, amelyik minimalizlja a heti fizetsekre fordtott kltsget abbl a szempontbl, hogy biztostva legyen az, hogy egy gyfl
tlagosan legfeljebb hrom percet ll sorban.
Nha a rendelkezsre ll alternatvk halmazra bizonyos felttelek s megszortsok
rvnyesek. Tegyk fel pldul, hogy a bank felvehet teljes munkaid o s s rszmunkaidos
alkalmazottakat (ez utbbiak napi ngy rt dolgoznak egyfolytban). Tegyk fl, hogy a
rszidos dolgozk kevesebbe kerlnek, mint a teljes munkaido sek, de lassabban dolgoznak. Ekkor az gyfelek tlagos sorbanllsi idejt a kvetkez o felttelek mellett minimalizlhatjuk:
1.

A banki dolgozk fizetsre hetenknt legfeljebb 2000 dollrt klthetnk.

2. A rszidos dolgozk legfeljebb annyi munkart dolgozhatnak, amennyi az egsz heti


sszes munkara egynegyede.
Nagyon sok esetben a legjobb alternatva meghatrozsa esetleg lehetetlen, vagy tlsgosan kltsges. Pldul egy cg azon gondolkodik, hogy egy miniszmtgpet vsroljon, amelyik az albbi feltteleknek felel meg:
1.

a leggazdasgosabb,

2.

knnyen kezelheto,

3.

a legfontosabb szoftverek rendelkezsre llnak hozz,

4.

gyors.

Nagyon valsznu, hogy egyetlen szmtgp sem lesz minden szempontbl egyszerre
a legjobb. Tegyk fel, hogy a cg hrom szmtgp kzl hajt vlasztani. El o fordulhat,
hogy az A szmtgp a legjobb az 1. s 3. szempont szerint, de a legrosszabb a 2. s
4. szempontbl, a B szmtgp a legjobb a 2. s 4. felttel szerint, de egyebekben kevsb j, s a C szmtgp esetleg mindegyik szempontbl a msodik legjobb. Melyik
szmtgp felel meg legjobban a cg cljainak? Ez egy nagyon bonyolult krds, melynek
megvlaszolshoz a tbbcl dntshozatal elmletre van szksg (ezt a 12. fejezetben
trgyaljuk).

1.1. Az opercikutats mdszertana

Ha a legjobb alternatva esetleg ltezik is, nagyon gyakran tlsgosan kltsges lehet.
Tekintsk a Foodco nevu lelmiszer-feldolgoz vllalatot. Ez a cg konzervet gyrt s minimalizlni szeretn a raktrozs s eloszts kltsgeit. 200 helyszn ll rendelkezsre a
raktrak elhelyezsre. A Foodco cg clja az, hogy az sszraktrozsi kltsget minimalizlja (belertve az pletek felptst, fenntartst s mukdtetst), s egyttal minimalizlja a gyrtelepekrol a raktrakba, valamint a raktrakbl a fogyasztkhoz trtn o
szlltsi kltsgeket. Vilgos, hogy a Foodco a kvetkezo krdsekre keresi a vlaszokat:
1.

Hny raktrt kell pteni?

2.

Hov kell a raktrakat telepteni?

3.

Mekkork legyenek az egyes raktrak (azaz mekkora legyen a trolsi kapacitsuk)?

4.

Egy adott fogyaszt melyik raktrbl kapja majd a szlltmnyokat?

A Foodco problmjra nem tlsgosan nehz egy matematikai modellt fellltani (lsd
8. fejezet), de erre a problmra az egzakt megoldst megadni nha meghaladja a mai szmtgpek teljestokpessgt. Mindazonltal lteznek olyan megoldsi mdszerek, amelyek (sszeru szmtstechnikai kltsgek mellett) meghatrozzk azt a raktrozsi s elosztsi stratgit, amelyik elg kzel (1-2%-nyira) jr a lehetsges minimlis kltsgt o l.

6. lps. Az eredmnyek s a vizsglatokbl levont kvetkeztetsek


bemutatsa
Ebben a lpsben az elemzo bemutatja a modellt s az 5. lps alapjn tett javaslatokat a
dntshoz egyn vagy csoport szmra. Nhny esetben az elemz o tbb alternatvt is bemutathat, s a megrendelo szervezet (cg, vllalat) vlasztja ki a neki legjobban megfelel o
cselekvsi lehetosget.
Miutn az elemzo bemutatta az opercikutatsi vizsglat eredmnyeit a megrendel o nek, elofordulhat, hogy a szervezetnek nem felelnek meg a javaslatok. Ez az eset vagy
abbl addhat, hogy a szervezet problminak meghatrozsa nem volt j, vagy pedig abbl, hogy a dntshoz nem kapcsoldott be s nem vett rszt a folyamatban elejt o l a
vgig. Ilyen esetben az elemzo nek vissza kell trnie az 1., 2. vagy 3. lpshez (lsd 1.
bra).

7. lps. A javaslatok megvalstsa s rtkelse


Amennyiben a megrendelo szervezet elfogadta a tanulmnyt, az elemzo nek segtenie kell a
javaslatok megvalstsban. A rendszert llandan elleno rizni-felgyelni kell (dinamikusan naprakssz kell tenni aszerint, ahogyan a krnyezet vltozik). Ezltal lehet biztostani,
hogy a javaslatok valban kpess tegyk a szervezetet cljai elrsre. Pldul a bank esetben tegyk fel, hogy az a cl, hogy az gyfeleknek legfeljebb 5%-a vrakozzk 3 percnl
tovbb. Ttelezzk fel, hogy miutn az elemzo javaslatait elfogadtk s megvalstottk, az
gyfelek 80%-a tlt hrom percnl hosszabb ido t sorbanllssal. Ekkor a bank cljai nyilvnvalan nem valsultak meg, s az elemzo nek vissza kell trnie az 1., 2. vagy 3. lpshez
s t kell vizsglnia a modellt (lsd 1. bra).

1. fejezet Bevezets az opercikutatsba

1.2.

Az opercikutats sikeres alkalmazsai


Ebben a rszben felsorolunk nhny opercikutatsi alkalmazst. Ezek kzl sok esetben
az zleti let vagy az illetkes kormnyhivatal dollrmillikat takartott meg azzal, hogy
sikeresen alkalmazta az opercikutatsi modelleket.
1. Rendorjror szervezse San Franciscban. Taylor s Huxley (1989) kifejlesztett egy
mdszert a rendorjrork beosztsra a San Francisci rendo rsg szmra. Ebben lineris
programozst (lsd 3. fejezet), clprogramozst (lsd 12. fejezet) s egszrtku programozst (lsd 8. fejezet) hasznltak fel. Taylor s Huxley mdszert alkalmazva a rend o rsg
vente 11 milli dollrt takartott meg, 20%-kal javtotta a reakcisebessget, s vente 3
milli dollrral nvelte a kzlekedsi bntetsekbo l befolyt sszeget.
2. zemanyagkltsg cskkentse az elektromos energiaiparban. Sztochasztikus (valsznusgeken alapul) dinamikus programozs (lsd 19. fejezet) s szimulcis modell
(lsd 21. fejezet) segtsgvel Chao s msok (1989) 79 ramszolgltatnak takartottak
meg tbb, mint 125 milli dollrt a beruhzsok, a kszletezs s a hinygazdlkods terletn.
3. ntvnyformk lehjazsra ksztett konstrukci a Bethlehem Aclmuvek szmra.
Vasko s trsai (1989) egszrtku programozst (lsd 8. fejezet) hasznltak egy j konstrukcihoz az ntvnyformk lehjazsra. Az egszrtku programozsi modell a Bethlehem cgnek vi 8 milli dollr zemeltetsi kltsget takartott meg.
4. Benzinkevers a Texaco cgnl. A 3.8. alfejezetben trgyalt keversi modellt s a nemlineris programozst (lsd 10. fejezet) felhasznlva Dewitt s msok (1989) kifejlesztettek
egy modellt a Texaco olajfinomti szmra. Ebben a modellben meghatroztk a berkez o
nyersolaj keversnek azt a mdjt, hogy a vgtermk lmozott norml, lommentes norml, lommentes plusz s lommentes szuperbenzin legyen. Becslsek szerint ez a modell
a Texacnak vi 30 milli dollrnl is tbb megtakartst jelentett. A modell mg azt is
lehetov tette a Texaco szmra, hogy megvizsgljon bizonyos fajta mi lenne, ha tpus
krdseket. Pldul azt, hogy mennyivel vltozik a normlbenzin el o lltsi kltsge, ha a
normlbenzin kntartalmt 0.01%-kal emelik? Azt a mdszert, amelyik az ilyenfajta mi
lenne, ha krdseket vizsglja, rzkenysgvizsglatnak nevezzk s az 5. fejezetben
trgyaljuk.
5. Az szak-amerikai Teherfuvaroz cgnl a teherautk jratbeosztsa. Hlzati modellek (lsd 7. fejezet) s dinamikus programozs (lsd 18. fejezet) alkalmazsval Powell
s msok (1988) kifejlesztettek egy modellt. Ez kijelli az szak-amerikai Teherfuvaroz
soforjeinek jratbeosztst. A modell alkalmazsa jelento sen javtotta a fogyasztk kiszolglst s vi 2.5 milli dollrral cskkentette a kltsgeket.
6. Kszletezs menedzselse a Blue Bell cgnl. A Blue Bell farmernadrgokat s sportruhzati cikkeket gyrt tisztviselok szmra. Lineris programozs (lsd 3. fejezet) s sztochasztikus kszletezsi modellek (lsd 15. fejezet) felhasznlsval Edwards, Wagner s
Wood (1985) a Blue Bell tlagos kszletszintjt 31%-kal cskkentette.
7. Lineris programozs alkalmazsa ktvnyportflik kialaktsra. Lineris programozst (lsd 3. fejezet) tbben is alkalmaztak (pl. Chandy s Kharabe, 1986) arra, hogy
olyan ktvnyportflikat lltsanak ssze, amelyek a vrhat megtrlst a kockzati s
diverzifikcis szint bizonyos korltozsai mellett maximalizljk.
8. Lineris programozs alkalmazsa tejtermkek elolltsnak tervezsre. Sullivan
s Secrest (1985) lineris programozst (lsd 3. fejezet) alkalmaztak annak meghatrozsra, hogy egy tejtermk-elollt zem hogyan szervezze meg a termelsi folyamatokat,

a knyvrol

1.4. Nhny sz errol

amelyek rvn az rbl, nyers tejbo l, des savbl s tejsznbol krmsajtot, trt, tejflt s
tejsznkrmet llt elo. A modell alkalmazsa vi 48 000 dollrral nvelte az zem profitjt.
9. Gpjrmuvek cserje a Phillips Petroleum cgnl. Hny ves legyen egy aut vagy
teheraut, amikor a cgnek jat kell belltani az regek helyett? A Phillips Petroleum (lsd
Waddell, 1983) gpkocsi-lecserlsi modelleket (lsd a 7.2 s 18.5 alfejezeteket) hasznlt
e krds megvlaszolsra. A becslt megtakarts a modellek alkalmazsakor vi 90 000
dollr lett.
10. Hol legyen a vros j replotere? Egy j replo tr teleptsnl nagyon sok szempontot kell figyelembe venni, tbbek kztt a kvetkezo ket:
(a) A replotr ptsi kltsge.
(b) Mekkora kapacitsra van szksg?
(c) A replotrre val kijuts ideje.
(d) A rendszer biztonsga.
(e) A replotr ptse ltal okozott trsadalmi problmk.
(f) A replotr mukdtetse ltal keltett zajrtalom.
Ha nincs olyan lehetsges helyszn, amelyik minden clnak a legjobban megfelel, akkor
hogyan dntsn a vros az j replo tr elhelyezsrol? A tbbcl hasznossgelmlet (lsd
12.2 alfejezet) felhasznlsval Keeney (1973) segtsget nyjtott Mexikvrosnak az j
replotr helysznnek megtallsban.

1.3.

Nhny opercikutatsi olvasnival


Nagyon sok folyirat kzl opercikutatsi alkalmazsokrl s az elmletr o l szl cikkeket, egyebek kztt: Operations Research, Management Science, Interfaces, Mathematics
of Operations Research, Marketing Science, AIIE Transactions, Decision Sciences, Mathematical Programming, European Journal of Operations Research, Production and Inventory Management, Omega s a Naval Research Logistics. Az olyan olvas szmra, akit a
legmodernebb OR-alkalmazsok rdekelnek, melegen ajnljuk az Interfaces cmu folyiratot.

1.4.

a knyvrol

Nhny sz errol
Ebben a knyvben nagyon sok olyan matematikai modellt vizsglunk, amelyeket az opercikutatssal dolgoz elemzok a szervezetek s rendszerek modellezsnl alkalmaznak.
A fejezetek tbbsgben a matematikai modellek megfogalmazsnak tudomnyval legalbb annyit foglalkozunk, mint a matematikai modellek megoldsval (azaz a legjobb alternatva kivlasztsval). Mg abban az esetben is, ha az olvas a knyvnkben trgyalt
modellek tbbsgt nem alkalmazza, a matematikai modellek megfogalmazsnak hangslyozsa segtsgl szolgl szmra ms, kvantitatv jellegu tanulmnyokban s minden
olyan munknl, ahol fontos a kvantitatv gondolkods.
Megprbltuk ezt a knyvet nmagban annyira olvashatv tenni, amennyire csak lehetsges. Bizonyos fejezetekhez elemi analzis s valsznusgszmtsi ismeretek szksgesek. Az egyes trgykrkhz szksges lineris algebrai ismereteket a 2. fejezetben
tekintjk t.
Minden alfejezet vgn adunk megoldand feladatokat, ezekhez jrulnak mg a fejezetek vgn megadott ttekinto jellegu problmk. Javasoljuk, hogy az olvas oldjon meg

1. fejezet Bevezets az opercikutatsba

annyi feladatot, amennyit csak tud. A legjobb mdja annak, hogy ezt az anyagot elsajttsa
valaki az, hogy az egyetemi elo ads meghallgatsa utn megoldja a megfelelo alfejezet
vgn tallhat feladatokat. Ne feledjk, hogy a knyvben trgyalt anyag alapos megtanulsnak egyetlen mdja a feladatok megoldsa!

Irodalom
Chandy, P., and K. Kharabe. Pricing in the Government Bond Market, Interfaces 16(1986,
no. 1):6571.
Chao, H., et al. EPRI Reduces Fuel Inventory Costs in the Electric Utility Industry, Interfaces 19(1989, no. 1):4867.
Dewitt, C., et al. OMEGA: An Improved Gasoline Blending System for Texaco, Interfaces 19(1989, no. 1):85101.
Edwards, J., H. Wagner, and W. Wood. Blue Bell Trims Its Inventory, Interfaces 15(1985,
no. 1):3453.
Keeney, R. L. A Decision Analysis with Multiple Objectives: The Mexico City Airport,
Bell Journal of Economics and Management Science 4(1973):101117.
Powell, W., et al. Maximizing Profits for North American Van Lines Truckload Division:
A New Framework for Pricing and Operations, Interfaces 18(1988, no. 1):2141.
Sullivan, R., and S. Secrest. A Simple Optimization DSS for Production Planning at Dairymans Cooperative Creamery Association, Interfaces 15(1985, no. 5):4653.
Taylor, P., and S. Huxley. A Break from Tradition for the San Francisco Police: Patrol
Officer Scheduling Using an Optimization-Based Decision Support System, Interfaces
19(1989, no. 1):424.
Vasko, F., et al. Selecting Optimal Ingot Size for Bethlehem Steel, Interfaces 19(1989,
no. 1):6884.
Waddell, R. A Model for Equipment Replacement Decisions and Policies, Interfaces
13(1983, no. 4):17.

2
A lineris algebra alapjai
Ebben a fejezetben a lineris algebrbl azokat a tmakrket tanulmnyozzuk, amelyekre
a knyv htralvo rszben szksg lesz. A lineris algebrban hasznlatos szmtblzatok: mtrixok s vektorok vizsglatval kezdjk a trgyalst. Ezutn a mtrixok s vektorok
krben szerzett tudsunkat arra hasznljuk fel, hogy a lineris egyenletrendszerek megoldsra megtanuljuk a GaussJordan mdszert, amelyre a mtrixok invertlsa sorn is
szksgnk lesz. A fejezet vgn bevezetjk a determinns fogalmt.
Az ebben a fejezetben trgyalt tananyagot a lineris programozs, a nemlineris programozs s a Markov-lncok tanulmnyozsban fogjuk felhasznlni.

2.1.

Mtrixok s vektorok
Mtrixok

D EFINCI

A mtrix szmoknak egy tglalap alak elrendezse.


Pldul az



1 2
,
3 4


1 2 3
,
4 5 6


1
,
2

2 1

szmtblzatok mind mtrixok.


Ha egy A mtrixnak m sora s n oszlopa van, akkor A-t m n-es mtrixnak nevezzk.
Az m n szorzatot a mtrix tpusnak nevezzk. Egy ltalnos m n-es A mtrix a kvetkezokppen rhat fel:
a11
a21

A= .
..

am1

D EFINCI

a12
a22
..
.

am2

...
...

a1n
a2n

..
.

. . . amn

Az A mtrix i-edik sorban s j-edik oszlopban ll elem az A mtrix i j-edik eleme,


s jele ai j .

10

2. fejezet A lineris algebra alapjai

Pldul, ha

1 2 3
A = 4 5 6
7 8 9

akkor a11 = 1, a23 = 6 s a31 = 7.


Nha az A = [ai j ] jellst hasznljuk, azt jelezve, hogy A az a mtrix, melynek ij-edik
eleme ai j .

D EFINCI

Kt mtrix, A = [ai j ] s B = [bi j ] akkor s csak akkor egyenlok, ha A s B azonos


tpusak, s minden i-re s j-re ai j = bi j .
Pldul, ha


1 2
A=
3 4


x
B=
w


y
z

akkor A = B akkor s csak akkor teljesl, ha x = 1, y = 2, w = 3 s z = 4.

Vektorok
Brmely mtrix, amelynek csak egy oszlopa van (azaz brmely m 1-es mtrix) felfoghat
gy, mint egy oszlopvektor. Egy oszlopvektorban tallhat sorok szma az oszlopvektor
dimenzija. gy
 
1
2

egyrszt egy 2 1-es mtrix, msrszt egy ktdimenzis oszlopvektor. R m -mel jelljk az
sszes m-dimenzis oszlopvektor halmazt.
Hasonl mdon elkpzelhetnk olyan mtrixot, amelynek csak egy sora van (1 n-es
mtrix), ez egy sorvektor. Egy sorvektor dimenzija a vektor oszlopainak szma. gy
[9 2 3] tekintheto egy 1 3-as mtrixnak, vagy egy hromdimenzis sorvektornak. Ebben a knyvben a vektorokat vastagbetus rsmddal jelljk: pldul v vektor. Egy m-dimenzis sor- vagy oszlopvektort nullvektornak neveznk (jellse 0), ha minden eleme
nulla. gy
 


0
0 0
s
0

ktdimenzis nullvektorok.
Brmely m-dimenzis vektor megfeleltetheto egy irnytott egyenes szakasznak az mdimenzis trben. Pldul, a ktdimenzis trben (a skon) az
 
1
u=
2
vektorhoz az az irnytott egyenes szakasz tartozik, amelyik a
 
 
0
1
pontot az
0
2
ponttal kti ssze.

2.1. Mtrixok s vektorok

11

1. B R A
Vektorok, mint
irnytott egyenes
szakaszok

Az 1. brn bemutatjuk az
 
1
u=
,
2


1
v=
,
3


 
1
w=
2

vektorokat.

Kt vektor skalrszorzata
Nagyon fontos muvelet kt vektor skalris szorzata (vagy skalrszorzata). Kt vektor skalrszorzatnak defincijhoz tegyk fel, hogy van egy sorvektorunk u = [ u1 u2 . . . un ], s
egy oszlopvektorunk

v1
v 2

v= .
..
vn

ahol u s v azonos dimenzijak. Ekkor u s v skalrszorzata a kvetkez o szm: u1 v1 +


u 2 v2 + + u n vn .
Ahhoz, hogy kt vektor skalrszorzatt kpezzk, az els o vektornak sorvektornak, a
msodik vektornak oszlopvektornak kell lennie. Pldul, ha
u= 1 2 3



2
v = 1
2

12

2. fejezet A lineris algebra alapjai

akkor u v = 1(2) + 2(1) + 3(2) = 10. A skalrszorzat ilyen kiszmtsi szablya miatt, ha
 


1
u=
s
v= 2 3
2
akkor u v nincs definilva. Ugyancsak, ha


u= 1 2 3

 
3
v=
4

akkor u v nincs definilva a dimenzik klnbzo sge miatt.


Jegyezzk meg, hogy kt vektor akkor s csak akkor mer o leges, ha skalrszorzatuk 0.
gy pldul az [1 1] s [1 1] vektorok merolegesek. Megjegyezzk tovbb, hogy
u v = k u k k v k cos , ahol k u k az u vektor hossza, s az u s v vektorok ltal bezrt szg.

Muveletek

mtrixokkal
Ebben az alfejezetben a mtrixaritmetiknak azt a rszt rjuk le, amelyre a knyv tovbbi
fejezeteiben szksg lesz.
Mtrix szorzsa skalrral
Ha adott egy A mtrix s egy c szm (szm helyett gyakran skalr-t mondunk, runk),
akkor a cA mtrixot gy kapjuk meg, hogy A minden egyes elemt megszorozzuk c-vel.
Pldul, ha


1 2
,
A=
1 0
akkor

3 6
3A =
3 0


Ha c = 1, akkor az A mtrix 1-szerest A-nak rjuk.


Kt mtrix sszeadsa
Legyen A = [ai j ] s B = [bi j ] kt azonos tpus (mondjuk m n-es) mtrix. Akkor a C =
A+B sszegmtrix definci szerint az az mn-es mtrix, amelynek ij-edik eleme a i j +bi j .
gy kt adott A s B mtrix sszegt gy kapjuk meg, hogy rendre sszeadjuk A s B
megfelelo elemeit. Pldul, ha




1
2 3
1 2 3
A=
s
B=
0 1 1
2
1 1
akkor

 

11
22 33
0 0 0
A+B =
=
.
0 + 2 1 + 1 1 1
2 0 0


Ez a mtrix-sszeadsi szably felhasznlhat kt azonos dimenzij vektor sszeadsra is. Pldul, ha u = [1 2] s v = [2 1], akkor u + v = [1 + 2 2 + 1] = [3 3]. Ktdimenzis vektorok sszegt a parallelogramma szably segtsgvel geometriailag is bemutathatjuk (lsd 2. bra). A skalrral val szorzs s az sszeads muveleteinek felhasznlsval meghatrozhatjuk a szakasz fogalmt. Egy pillants az 1. brra meggy o zheti

2.1. Mtrixok s vektorok

2.

13

BRA

Vektorok
sszeadsa

az Olvast arrl, hogy az m-dimenzis tr brmely u pontja megfeleltethet o annak az mdimenzis u vektornak, amelyik az origt az u ponttal kti ssze. Az m-dimenzis sk
kt u s v pontja ltal meghatrozott szakasznak nevezzk (uv szakasz) az m-dimenzis
tr sszes olyan pontjainak halmazt, amelyek cu + (1 c)v alakban llthatk el o , ahol
0 c 1 (3. bra). Pldul, ha u = (1, 2) s v = (2, 1), akkor az uv szakasz olyan pontokbl ll, amelyek c[1 2] + (1 c)[2 1] = [2 c 1 + c] alakban rhatk, ahol 0 c 1.
c = 0-ra s c = 1-re az uv szakasz vgpontjait kapjuk, ha pedig c = 12 , akkor az uv szakasz
(0.5u + 0.5v) alakban felrhat felezo pontjt kapjuk.
Ha a parallelogramma szablyt alkalmazzuk, akkor az uv szakasz gy tekinthet o , mint
az u + c(v u) vektorokhoz tartoz pontok sszessge, ahol 0 c 1 (4. bra). Figyeljk
meg, hogy c = 0 esetn az u vektort kapjuk (az u pontnak megfelel o vektort), c = 1-re
pedig a v vektort kapjuk (a v pontnak megfelelo vektort).

3. B R A
Az u = (1, 2) s
v = (2, 1) ltal
meghatrozott
szakasz

4. B R A
Az uv szakasz
bemutatsa

14

2. fejezet A lineris algebra alapjai

Mtrix transzponltja
Egy adott m n-es

a11
a21

A= .
..

am1

a12
a22
..
.

am2

...
...

a1n
a2n

..
.

. . . amn

mtrix transzponltja (jellse AT , vagy A ) az n m-es

a11 a21 . . . am1


a12 a22 . . . am2

AT = .
..
..
..
.
.
a1n a2n . . . amn

mtrix.
Az AT teht gy kaphat meg A-bl, hogy az A elso sora lesz az AT elso oszlopa, A msodik sora lesz AT msodik oszlopa, s gy tovbb. Pldul,



1 4
1 2 3
ha
A=
,
akkor
AT = 2 5
4 5 6
3 6
Megfigyelhetjk, hogy (AT )T = A. Legyen B = [1 2]; akkor
 


1
T
s
(BT )T = 1 2 = B.
B =
2

Mtrixok szorzsa
Ha adott kt mtrix, A s B, akkor A s B mtrixszorzata (jellse AB) akkor s csak akkor
definilhat, ha
az A mtrix oszlopainak szma = a B mtrix sorainak szmval.

D EFINCI

(1)

Tegyk fel most, hogy A-nak r oszlopa s B-nek r sora van. Ekkor valamely m s n
pozitv egszekre A egy m r tpus mtrix, B pedig egy r n tpus mtrix.
A C = AB mtrixszorzat egy olyan m n-es C mtrix, melynek ij-edik elemt a
kvetkezokppen hatrozzuk meg:
C-nek az ij-edik eleme = az A i-edik sornak s a B j-edik
oszlopnak skalrszorzata

(2)

Ha az (1) egyenlosg teljesl, akkor A minden egyes sora ugyanannyi elemet tartalmaz,
mint B minden egyes oszlopa, gy a (2) egyenlo sgben szereplo skalrszorzat ltezik. A C =
AB szorzatmtrixnak ugyanannyi sora lesz, mint az A mtrixnak, s ugyanannyi oszlopa,
mint a B mtrixnak.

2.1. Mtrixok s vektorok

1.

PLDA

Szmtsa ki a C = AB szorzatot, ha


1 1 2
A=
2 1 3

Megolds

2.

PLDA

Megolds

15

1 1
B = 2 3
1 2

Mivel A egy 2 3-as mtrix s B egy 3 2-es mtrix, gy az AB szorzat rtelmezhet o , s C


egy 2 2-es mtrix lesz. A (2) egyenlo sgbol


 1
c11 = 1 1 2 2 = 1(1) + 1(2) + 2(1) = 5
1


 1
c12 = 1 1 2 3 = 1(1) + 1(3) + 2(2) = 8
2


 1
c21 = 2 1 3 2 = 2(1) + 1(2) + 3(1) = 7
1


 1
c22 = 2 1 3 3 = 2(1) + 1(3) + 3(2) = 11
2


5 8
C = AB =
7 11

Szmtsa ki AB-t, ha

 
3
A=
4



B= 1 2

Mivel A-nak egy oszlopa s B-nek egy sora van, C = AB ltezik. A (2) egyenl o sg alapjn
tudjuk, hogy C egy 2 2-es mtrix, ahol
c11 = 3(1) = 3
c12 = 3(2) = 6

c21 = 4(1) = 4
c22 = 4(2) = 8

gy
C=


3 6
4 8

16

2. fejezet A lineris algebra alapjai

3.

PLDA

Megolds

Szmtsa ki D = BA-t a 2. pldban szereplo A s B-re!


Ebben az esetben D egy 1 1-es mtrix (azaz egy skalr) lesz. A (2) egyenl o sgbol
 

 3
= 1(3) + 2(4) = 11
d11 = 1 2
4
gy D = [11]. Ebben a pldban a mtrixszorzat egy sorvektor s egy oszlopvektor skalrszorzata.
Emlkezznk arra, hogy ha kt vals szmot, a-t s b-t sszeszorzunk, akkor ab = ba.
Ez a jelensg a szorzs kommutatv tulajdonsga. A 2. s 3. plda azt mutatja, hogy mtrixszorzat esetn elofordulhat, hogy AB 6= BA. Mtrixok szorzsa nem szksgszeruen kommutatv. (Mindazonltal bizonyos esetben AB = BA fennllhat.)

4.

PLDA

Mutassa meg, hogy AB nincs definilva, ha

A=

Megolds

1 2
3 4

1 1
B = 0 1
1 2

Mivel A-nak kt oszlopa s B-nek hrom sora van, gy az (1) egyenl o sg nem teljesl.
Nagyon sok olyan szmtsi muvelet, amely az opercikutatsban (s a matematika
ms gaiban is) gyakran elofordul, rviden s tmren kifejezheto mtrixok szorzsnak
segtsgvel. Ennek bemutatsra tegyk fel, hogy egy olajfinomt cg hromfle benzint
llt elo: prmium lommentes, norml lommentes s norml lmozott benzint. Ezek az
zemanyagok ktfle tpus nyersolaj: az 1. nyersolaj s a 2. nyersolaj keversvel llthatk elo. Az 1. tblzatban megadjuk, hogy az egyes nyersolajfajtkbl mennyi szksges
1-1 liter benzin elolltshoz.
Ezen adatok segtsgvel ki tudjuk szmtani, hogy a kvnt benzinmennyisgek el o lltshoz mennyi szksges az egyes nyersolajokbl. Tegyk fel pldul, hogy a cg 10 litert
akar gyrtani a prmium lommentes benzinbo l, 6 litert a norml lommentesbol s 5 litert
a norml lmozottbl. Ebben az esetben a nyersolajigny a kvetkez o lesz:
szksges mennyisg az 1. nyersolajbl =
szksges mennyisg a 2. nyersolajbl =

1.

TBLZAT

Nyersolajszksglet 1 liter
benzin
elolltshoz,
literben

1. nyersolaj
2. nyersolaj

3
4 (10) +

1
4 (10) +

Prmium
lommentes

Norml
lommentes

Norml
lmozott

3
4
1
4

2
3
1
3

1
4
3
4

2
3 (6) +

1
3 (6) +

1
4 5 = 12.75 liter

3
4 5 = 8.25 liter

2.1. Mtrixok s vektorok

17

Kicsit ltalnosabban, vezessk be a kvetkezo jellseket:


pU = az elolltott prmium lommentes benzin mennyisge
rU = az elolltott norml lommentes benzin mennyisge
rL = az elolltott norml lmozott benzin mennyisge
c1 = szksges mennyisg az 1. nyersolajbl
c2 = szksges mennyisg a 2. nyersolajbl
gy a fenti vltozk kztt az sszefggsek kifejezheto k a



c1 = 34 pU + 23 rU + 14 rL



c2 = 14 pU + 13 rU + 34 rL
alakban.
Mtrixszorzs alkalmazsval pedig az sszefggs a

  " 3 2 1 # pU
c1

= 14 13 43 rU
c2
4
3
4
rL

alakban rhat.

Mtrixok szorzsnak tulajdonsgai


Ennek az alfejezetnek a lezrsaknt mg megtrgyaljuk a mtrixok szorzsnak nhny
fontos tulajdonsgt. Felttelezzk, hogy a kvetkezo kben szereplo mtrixszorzatok mind
lteznek.
1. Az AB i-edik sora egyenlo az A i-edik sornak a B-vel val szorzatval. Illusztrciknt legyen



1 1
1 1 2
A=
s
B = 2 3
2 1 3
1 2

gy a 2 2-es AB mtrix msodik sora:






 1 1
2 1 3 2 3 = 7 11
1 2

Ez az eredmny megfelel az 1. pldban kapott eredmnynek.


2. Az AB j-edik oszlopa egyenlo az A-nak a B j-edik oszlopval val szorzatval. gy az
adott A s B mtrixok esetben az elso oszlop

 

 1
5
1 1 2
2 =
7
2 1 3
1
Az 1. s 2. tulajdonsg nagyon hasznos akkor, amikor az AB mtrixnak csak egy rszt kell
kiszmtanunk.

18

2. fejezet A lineris algebra alapjai

3.

A mtrixok szorzsa asszociatv. Azaz A(BC) = (AB)C. Pldul legyen



2 3
,
B=
4 5




A= 1 2 ,

 
2
C=
1

Ekkor AB = [10 13] s (AB)C = 10(2) + 13(1) = [33]. Msrszt


BC =


7
13

gy A(BC) = 1(7) + 2(13) = [33]. Ebben az esetben valban fennll, hogy A(BC) = (AB)C.
4.

A mtrixok szorzsa disztributv. Azaz A(B +C) = AB + AC s (B +C)D = BD +CD.

Feladatok
A csoport

1 2 3
1. Legyen A = 4 5 6
7 8 9
Szmtsa ki a kvetkezoket:

(a)
(d)
(g)

A
AT
BA

(b)
(e)

3A
BT

1
s B = 0
1

(c)
(f)

A 2. srt ivk 30%-a ttr a 3. srre.


A 3. srt ivk 30%-a ttr a 2. srre.
A 3. srt ivk 10%-a ttr az 1. srre.

2
1 .
2

A + 2B
AB

2. A Metropolis nevu vrosban csak hromfle sr kaphat (1. sr, 2. sr, 3. sr). Idorol idore a lakosok kiprbljk
az egyik vagy a msik srt. Tegyk fel, hogy minden hnap
elejn az emberek a kvetkezok szerint vltoztatjk srivsi
szoksaikat:
Az 1. srt ivk 30%-a ttr a 2. srre.
Az 1. srt ivk 20%-a ttr a 3. srre.

2.2.

Jellje xi (i = 1, 2, 3) azoknak a szmt, akik az i-edik srt


isszk e hnap elejn, s jellje yi azoknak a szmt, akik az
i-edik srt isszk a kvetkezo hnap elejn. Mtrixszorzs
segtsgvel rtelmezze a kvetkezoket:

y1
x1
y2 , x2
y3
x3

B csoport
3.

Bizonytsa be, hogy a mtrixok szorzsa asszociatv!

4. Mutassa meg, hogy brmely kt A s B mtrixra igaz,


hogy (AB)T = BT AT !

Mtrixok s lineris egyenletrendszerek


Tekintsnk egy adott
a11 x1 + a12 x2 + + a1n xn = b1

a21 x1 + a22 x2 + + a2n xn = b2


..
..
..
..
.
.
.
.
am1 x1 + am2 x2 + + amn xn = bm

(3)

lineris egyenletrendszert. A (3) egyenlo sgekben x1 , x2 , . . . , xn -et vltozknak vagy ismeretleneknek nevezzk, az ai j -k s bi -k a konstansok. Egy ilyen egyenletrendszert, mint a
(3) alatti, n vltozs m egyenletbol ll lineris egyenletrendszernek neveznk.

2.2. Mtrixok s lineris egyenletrendszerek

D EFINCI

19

Egy n-vltozs, m egyenletbol ll lineris egyenletrendszer megoldsnak nevezzk az ismeretlenek rtkeinek azon halmazt, amelyek kielgtik a rendszer mind az
m egyenlett.
Ahhoz, hogy a lineris programozst megrtsk, sok mindent kell tudnunk a lineris egyenletrendszerek megoldsainak tulajdonsgairl. Erre gondolvn alaposan tanulmnyozzuk az ilyen rendszereket.
A (3) egyenletrendszer egy lehetsges megoldst az az n-elemu x oszlopvektor jelli,
amelyben az x i-edik eleme xi . A kvetkezo plda szemllteti a lineris egyenletrendszer
megoldsnak fogalmt.

5.

PLDA

Mutassa meg, hogy


x=
egy megoldsa az

lineris egyenletrendszernek, s az

 
1
2

x1 + 2x2 = 5
2x1 x2 = 0

(4)

 
3
x=
1

nem megoldsa a (4) egyenletrendszernek!


Megolds

Annak beltsra, hogy


x=

 
1
2

megoldsa a (4) egyenletrendszernek, helyettestsnk x1 = 1-et s x2 = 2-t mindkt egyenletbe, s ellenorizzk, hogy az egyenlosgek fennllnak-e: 1 + 2(2) = 5 s 2(1) 2 = 0.
Az
 
3
x=
1

vektor nem megoldsa (4)-nek, mert x1 = 3 s x2 = 1 nem elgti ki a 2x1 x2 = 0 egyenletet.

Ha mtrix-jellst alkalmazunk, sokkal egyszerubb formban tudjuk felrni magt az


egyenletrendszert s a megoldst is. Most megmutatjuk, hogyan rhat fel a (3) egyenletrendszer mtrixok segtsgvel. Legyen

b1
x1
a11 a12 . . . a1n
b2
x 2
a21 a22 . . . a2n

b= .
x = . ,
A= .
..
.. ,
..
..
..
.
.
am1

gy a (3) egyenletrendszer

am2

xn

. . . amn

Ax = b

bm

(5)

alakban rhat. Figyeljk meg, hogy az (5) egyenlet mindkt oldala m 1-es mtrix (vagy
m-elemu oszlopvektor). Ahhoz, hogy az Ax mtrix egyenl o legyen a b mtrixszal (illetve

20

2. fejezet A lineris algebra alapjai

az Ax oszlopvektor egyenlo legyen a b vektorral), megfelelo elemeiknek egyenloknek kell


lennik. Az Ax elso eleme nem ms, mint A elso sornak x-szel kpezett skalrszorzata. Ez
a kvetkezokppen rhat:

x1



x 2
a11 a12 . . . a1n . = a11 x1 + a12x2 + + a1nxn
..
xn

Ennek meg kell egyeznie b elso elemvel (azaz b1 -gyel). gy (5) magban foglalja azt
az lltst, hogy a11 x1 + a12 x2 + + a1n xn = b1 . Ez nem ms, mint a (3) rendszer elso
egyenlete. Hasonlan gondolkozva lthatjuk, hogy az (5) egyenl o sg tartalmazza azt is,
hogy A i-edik sornak az x-szel val skalrszorzata bi -vel kell hogy egyenlo legyen, ami
nem ms, mint a (3) rendszer i-edik egyenlo sge. Ez a gondolatmenetnk azt mutatja, hogy
(3) s (5) ugyanannak a lineris egyenletrendszernek kt klnbz o lersi vltozata. Azt
mondjuk, hogy (5) nem ms, mint a (3) mtrix formja. Pldul a (4) egyenletrendszer
mtrix formja:

   
1
2 x1
5
=
2 1 x2
0
Nha mg az (5) rsmdot is rvidtjk, gy:
A|b

(6)

Amennyiben A egy m n-es mtrix, akkor felttelezzk, hogy a (6)-ban szerepl o vltozk
x1 , x2 , . . . , xn . gy (6) is egy felrsi mdja a (3)-nak. Pldul az

1 2 3 2
0 1 2 3
1 1 1 1

mtrix jelli tmren az

x1 + 2x2 + 3x3 = 2
x2 + 2x3 = 3
x1 + x 2 + x 3 = 1
egyenletrendszert.

Feladat
A csoport
1. rja fel a kvetkezo egyenletrendszert mtrix jells
felhasznlsval kt klnbzo mdon:
x1 x 2 = 4

2x1 + x2 = 6
x1 + 3x2 = 8

2.3. GaussJordan mdszer

2.3.

21

A lineris egyenletrendszerek megoldsnak


GaussJordan mdszere
Ebben az alfejezetben megtanulunk egy igen hatkony mdszert (a GaussJordan mdszert) a lineris egyenletrendszerek megoldsra. A GaussJordan mdszer segtsgvel
megmutatjuk, hogy brmely lineris egyenletrendszer esetben a kvetkez o hrom eset
egyike llhat fenn:
1. eset A rendszernek nincs megoldsa.
2. eset A rendszernek egyrtelmu megoldsa van.
3. eset A rendszernek vgtelen sok megoldsa van.
A GaussJordan mdszer azrt is nagyon fontos, mert a megolds sorn alkalmazott lpsek tbbsgt akkor is hasznlhatjuk, amikor lineris programozsi problmkat oldunk
meg a szimplex mdszer segtsgvel (lsd 4. fejezet).

Elemi muveletek

sorokkal
Mielott tnylegesen hozzkezdnk a GaussJordan mdszerhez, definilnunk kell az elemi
sormuvelet

(esm) fogalmt. Egy esm egy adott A mtrixot egy A0 mtrix-ba visz t a kvetkezo 3 muvelet egyiknek segtsgvel.
1. tpus esm
A0 -t gy kapjuk, hogy A valamelyik sort egy nemnulla szmmal megszorozzuk. Pldul, ha

1 2 3 4
A = 1 3 5 6
0 1 2 3

akkor egy 1. tpus esm, amelyik A msodik sort 3-mal szorozza, az

1 2 3 4
A0 = 3 9 15 18
0 1 2 3

mtrixot adja.

2. tpus esm
Induljunk el gy, hogy A valamelyik sort (mondjuk, az i-ediket) megszorozzuk egy c nemnulla skalrral. Valamely j 6= i-re legyen az A0 j-edik sora egyenlo c-szer az A i-edik sora
plusz az A j-edik sora, s legyen az A0 sszes tbbi sora vltozatlanul az A sszes tbbi
sorval egyenlo. Pldul szorozzuk meg A msodik sort 4-gyel, s helyettestsk az A
harmadik sort a 4(A msodik sora) + (A harmadik sora) kifejezssel. gy az A 0 harmadik
sora:

 
 

4 1 3 5 6 + 0 1 2 3 = 4 13 22 27
s

1 2 3 4
A0 = 1 3 5 6
4 13 22 27

22

2. fejezet A lineris algebra alapjai

3. tpus esm
Felcserljk A kt tetszoleges sort. Pldul, ha az elso s a harmadik sort felcserljk,
akkor azt kapjuk, hogy:

0 1 2 3
A0 = 1 3 5 6
1 2 3 4
Az 1. s 2. tpus esm-ek gyakorlatilag a lineris egyenletrendszerek megoldsnl alkalmazott muveleteket formalizljk. Az
x1 + x 2 = 2
2x1 + 4x2 = 7

(7)

egyenletrendszer megoldsnl pldul a kvetkezo kppen dolgozunk. Eloszr a (7) alatti


msodik egyenlet helybe berjuk az elso egyenlet 2-szeresnek s a msodik egyenletnek
az sszegt. Ez a kvetkezo egyenletrendszert adja:
x1 + x 2 = 2
2x2 = 3

(7.1)

Ezutn a (7.1) alatti msodik egyenletet szorozzuk 21 -del, gy az


x1 + x 2 = 2
x2 =

3
2

(7.2)

egyenletrendszert kapjuk. Vgl, a (7.2) alatti egyenletrendszert gy vltoztatjuk meg,


hogy a (7.2) msodik egyenletnek 1-szerest hozzadjuk az els o egyenlethez. gy kapjuk
azt, hogy
x1 = 21
(7.3)
x2 = 32
A (7.3) egyenletrendszernek egyrtelmu megoldsa van, x 1 = 12 s x2 = 23 . A (7), (7.1),
(7.2) s (7.3) egyenletrendszerek ekvivalensek abban az rtelemben, hogy mindegyiknek
ugyanaz a megoldshalmaza. Ez azt jelenti, hogy x1 = 21 s x2 = 23 egyttal az eredeti, (7)
alatti egyenletrendszernek az egyrtelmu megoldsa.
Most az elozoekben alkalmazott technikt vgigvesszk a (7) egyenletrendszer megoldsra az (A|b) kibovtett mtrix formban. gy ltni fogjuk, hogy a (7) megoldsnl
alkalmazott lpsek valjban az A|b-re vonatkoz 1. s 2. tpus esm-ek. Kezdjk a (7)
rendszer kibovtett vltozatval:


1 1 2
(70 )
2 4 7
Most hajtsunk vgre egy 2. tpus esm-et gy, hogy (70 ) msodik sora helybe berjuk:
(2) (70 ) elso sora) + (70 msodik sora) kifejezst, azaz (70 )-ben az elso sort vltozatlanul
hagyjuk, a msodik sorhoz pedig hozzadjuk az elso sor 2-szerest:


1 1 2
(7.10 )
0 2 3

ami nem ms, mint (7.1) kibovtett formja. Ezutn a (7.10 ) msodik sort 12 -del szorozzuk
(1. tpus esm), gy a kvetkezo t kapjuk:


1 1 2
(7.20 )
0 1 32

2.3. GaussJordan mdszer

23

Ez nem ms, mint (7.2) kibovtett alakban. Vgl egy 2. tpus esm segtsgvel (7.20) elso
sora helybe berjuk a msodik sor 1-szeresnek s az elso sornak az sszegt. Eredmnynk
#
"
1 0 12
(7.30 )
0 1 32
s ez a (7.3) kibovtett alakja. Ezt lineris egyenletrendszerr visszaalaktva megkapjuk az
x1 = 12 s x2 = 23 eredmnyt, ami azonos (7.3)-mal.

Megolds GaussJordan mdszerrel


Az elozo alfejezetben trgyaltak azt mutatjk, hogy ha az A0 |b0 mtrix az A|b-bol egy
esm-mel jtt ltre, akkor az Ax = b s az A0 x = b0 rendszerek ekvivalensek. gy az esm
muveletek brmely, az A|b kibovtett mtrixon vgrehajtott sorozata az Ax = b lineris
egyenletrendszerrel ekvivalens lineris egyenletrendszert szolgltat.
A GaussJordan mdszer gy oldja meg a lineris egyenletrendszert, hogy az esm muveleteket egy bizonyos rendszerben alkalmazza. Illusztrciknt keressk a kvetkez o lineris egyenletrendszer megoldst:
2x1 + 2x2 + x3 = 9
2x1 x2 + 2x3 = 6

(8)

x1 x2 + 2x3 = 5

A kibovtett alak

2
2 1
A|b = 2 1 2
1 1 2

Tegyk fel, hogy (80 )-n az esm-k bizonyos


alakra tudtuk hozni:

1 0 0
0 1 0
0 0 1

9
6
5

(80 )

sorozatt vgrehajtva (80 )-t a kvetkezo

1
2
(90 )
3

Itt jegyezzk meg, hogy amikor egy esm-et vgrehajtunk egy egyenletrendszeren, akkor ugyanazt az eredmnyt kapjuk, mintha a lineris egyenletrendszer mtrix formjnak
mindkt oldalt egy bizonyos mtrixszal szoroztuk volna. Ez a magyarzata annak, hogy
az esm-ek mirt nem vltoztatjk meg az egyenletrendszer megoldshalmazt.
A (90 ) alatti mtrix a kvetkezo lineris egyenletrendszerhez tartozik:
x1

=1
x2

=2
x3 = 3

(9)

A (9) egyenletrendszer egyrtelmu megoldsa x1 = 1, x2 = 2, x3 = 3. Mivel (90 )-t a (80 )-bol


esm-ek egymsutnjval kaptuk, tudjuk, hogy (8) s (9) ekvivalens lineris egyenletrendszerek. gy x1 = 1, x2 = 2, x3 = 3 egyttal a (8) egyenletrendszer egyrtelmu megoldsa is.
Most megmutatjuk, hogy hogyan kell az esm-eket hasznlni ahhoz, hogy egy viszonylag
bonyolult egyenletrendszert, mint a (8), egy viszonylag egyszeru egyenletrendszerr tudjunk vltoztatni, mint amilyen (9). Ez a GaussJordan mdszer lnyege.

24

2. fejezet A lineris algebra alapjai

Azzal kezdjk hogy esm-ek segtsgvel a (80 ) elso oszlopt



1
0
0

alakra hozzuk. Ezutn esm-ek segtsgvel a kapott mtrix msodik oszlopt



0
1
0

alakra hozzuk. Vgl, esm-ek segtsgvel a kapott mtrix harmadik oszlopt



0
0
1

alakra hozzuk. Vgeredmnyl a (90 ) alatti alakhoz jutunk. Most rszletesen is bemutatjuk
a GaussJordan mdszert a (8) egyenletrendszer megoldsra. El o szr is, egy 1. tpus esm
segtsgvel a (80 ) elso sornak elso elemt 1-re vltoztatjuk. Ezutn az elso sor skalrszorzatt hozzadjuk eloszr a msodik sorhoz, azutn a harmadik sorhoz (ezek 2. tpus esmek). Ezeknek a 2. tpus esm-eknek az a cljuk, hogy az els o oszlop tbbi elemt nullv
vltoztassuk. Az esm-ek kvetkezo sorozata bemutatja, hogyan rjk el ezeket a clokat.
1. lps Megszorozzuk (80 ) elso sort 21 -del. Ez az 1. tpus esm a kvetkezo t adja:
1
1

A1 |b1 = 2 1

1 1

1
2

9
2

2. lps Az gy kapott A1 |b1 msodik sora helybe a kvetkezo t rjuk: (2)(A1 |b1 elso
sora) + (A1|b1 msodik sora). E 2. tpus esm eredmnye:

9
1
1 12
2

A2 |b2 = 0 3 1 3
1 1

0 2

3
2

3. lps Az A2 |b2 harmadik sora helybe (1)(A2 |b2 elso sora) + (A2 |2 harmadik sora)
kerl. Ennek a 2. tpus esm-nek az eredmnye:

9
1
1 21
2

A3 |b3 = 0 3 1 3
Ezzel a (80 ) elso oszlopt

alakra hoztuk.


1
0
0

1
2

2.3. GaussJordan mdszer

25

Ezzel az eljrssal biztostottuk, hogy az x1 vltoz csak egy egyenletben szerepel s ott
az egytthatja 1. Ezutn az A3 |b3 msodik oszlopt alaktjuk t gy, hogy az

0
1
0

legyen.
Azzal kezdjk, hogy egy 1. tpus esm-mel az A3 |b3 msodik oszlopnak msodik elemt 1-gy alaktjuk t. Ezutn az j msodik sort s 2. tpus esm-eket alkalmazva a msodik oszlop tbbi elemt nullv alaktjuk. A 46. lpsek segtsgvel rjk el a kvnt clt.
4. lps Az A3 |b3 msodik sort 31 -dal szorozzuk. Ez egy 1. tpus esm, eredmnye

1
9
1
1
2
2

A4 |b4 = 0
1 13 1
3
1
0 2
2
2

5. lps rjuk az A4 |b4 elso sornak helybe a (1)(A4 |b4 msodik sora) + (A4 |b4 elso
sora) kifejezst. Ez egy 2. tpus esm, eredmnye:

5
7
1
0
6
2

A5 |b5 = 0
1 13 1
3
1
0 2
2
2
6. lps Az A5 |b5 harmadik sornak helybe rjuk be a 2(A5 |b5 msodik sora) + (A5 |b5
harmadik sora) kifejezst. A 2. tpus esm eredmnye

7
5
1 0
6
2

A6 |b6 = 0 1 13 1
5
5
0 0
6
2
Ezzel a msodik oszlopot


0
1
0

alakra hoztuk.
Figyeljk meg, hogy a msodik oszlop talaktsa nem vltoztatta meg az els o oszlopot.
A GaussJordan mdszer befejezshez az A6 |b6 harmadik oszlopt

0
0
1

alakv kell tennnk. Eloszr egy 1. tpus esm-et alkalmazunk ahhoz, hogy A6 |b6 harmadik sornak harmadik eleme 1 legyen. Ezutn 2. tpus esm-eket hasznlunk arra, hogy a
harmadik oszlop tbbi eleme 0 legyen. A 79. lpsek mutatjk a teend o ket.
7. lps Az A6 |b6 harmadik sort megszorozzuk 56 -del. Ez 1. tpus esm, eredmnye

7
5
1 0
6
2

A7 |b7 = 0 1 13 1
0 0

26

2. fejezet A lineris algebra alapjai

8. lps A7 |b7 elso sora helybe ( 65 ) (A7 |b7 harmadik sora) + (A7 |b7 elso sora) kerl. A
2. tpus esm eredmnye

1 0
0 1

A8 |b8 = 0 1 13 1
0 0
1 3

9. lps A8 |b8 msodik sornak helybe ( 13 )(A8 |b8 harmadik sora) + (A8 |b8 msodik sora)
kerl. Ennek a 2. tpus esm-nek az eredmnye:

1 0 0 1
A9 |b9 = 0 1 0 2
0 0 1 3
A9 |b9 az

x1
x2

=1
=2

(9)

x3 = 3
egyenletrendszert kpviseli.
gy (9)-nek egyrtelmu megoldsa van: x1 = 1, x2 = 2, x3 = 3. Mivel (9)-et a (8)-bl esmek egy sorozatval nyertk, a (8) egyrtelmu megoldsnak is az x 1 = 1, x2 = 2, x3 = 3
rtkeknek kell lennik.
Az olvas elgondolkozhatott azon, vajon mirt definiltuk a 3. tpus esm-eket (sorok
cserje). Bemutatunk egy olyan pldt, ahol a 3. tpus esm-re szksg lehet. Tegyk fel,
hogy meg szeretnnk oldani a
2x2 + x3 = 6
(10)
x1 + x 2 x 3 = 2
2x1 + x2 + x3 = 4

egyenletrendszert. A GaussJordan mdszerrel val megoldshoz rjuk fel a kib o vtett mtrixot:

0 2
1 6
A|b = 1 1 1 2
2 1
1 4

Az elso sor elso helyn ll 0 azt jelenti, hogy 1. tpus esm-mel nem tudunk 1-et el o lltani az elso sor elso elemnek a helyn. Viszont, ha felcserljk az elso s msodik sort
(3. tpus esm), akkor a

1 1 1 2
0 2
1 6
(100 )
2 1
1 4

mtrixot kapjuk. gy mr folytathatjuk a GaussJordan mdszert a szoksos mdon.

Specilis esetek: nincs megolds, vagy vgtelen sok megolds van


Nhny lineris egyenletrendszernek nincs megoldsa, nhnynak azonban vgtelen sok
megoldsa van. A kvetkezo kt plda bemutatja, hogy a GaussJordan mdszerrel hogyan
ismerhetjk fel ezeket az eseteket.

2.3. GaussJordan mdszer

6.

PLDA

Keressk a kvetkezo lineris egyenletrendszer sszes megoldst:


x1 + 2x2 = 3

(11)

2x1 + 4x2 = 4
Megolds

27

Alkalmazzuk a GaussJordan mdszert az



1 2
A|b =
2 4

3
4

mtrixra! Kezdjk azzal, hogy a msodik sor helybe a (2)(A|b els o sora) + (A|b
msodik sora) kerl. Ennek a 2. tpus esm-nek az eredmnye:


1 2
0 0

3
2

(12)

Most szeretnnk a (12) msodik oszlopt talaktani gy, hogy


 
0
1
legyen, ez azonban nem lehetsges. A (12) rendszer ekvivalens a kvetkez o egyenletrendszerrel:
x1 + 2x2 = 3
0x1 + 0x2 = 2

(120 )

Brmilyen rtkeket adnnk x1 -nek s x2 -nek, a (120 ) msodik egyenlete nem elgtheto
ki. gy a (120 )-nek nincs megoldsa. Mivel (120 )-t a (11)-bol esm-ek segtsgvel kaptuk,
ezrt a (11)-nek sincs megoldsa.
A 6. plda a kvetkezo elvet illusztrlja: Ha a GaussJordan mdszert alkalmazzuk
egy lineris egyenletrendszer megoldsra, s kzben egy [0 0 . . . 0|c], (c 6= 0) alak
sorhoz jutunk, akkor az eredeti lineris egyenletrendszernek nincs megoldsa.

7.

PLDA

Alkalmazzuk a GaussJordan mdszert a kvetkez o lineris egyenletrendszerre:


x1 + x 2

=1

x2 + x 3 = 3
x1 + 2x2 + x3 = 4
Megolds

A (13) kibovtett formja


1 1 0
A|b = 0 1 1
1 2 1

1
3
4

(13)

28

2. fejezet A lineris algebra alapjai

Kezdjk azzal, hogy A|b harmadik sornak helyre (mivel a msodik sor els o eleme mr
eleve 0) a (1)(A|b elso sora) + (A|b harmadik sora) kifejezst rjuk. Ennek a 2. tpus
esm-nek az eredmnye:

1 1 0 1
(14)
A1 |b1 = 0 1 1 3
0 1 1 3
Ezutn A1 |b1 elso sort vltoztatjuk: (1)(A1 |b1 msodik sora) + (A1 |b1 elso sora) kerl a helybe. Ez egy 2. tpus esm, melynek eredmnye

1 0 1 2
A2 |b2 = 0 1
1
3
0 1
1
3
Most A2 |b2 harmadik sora helyre a (1) (A2 |b2 msodik sora)+(A2 |b2 harmadik sora)
kifejezst rjuk. Ennek a 2. tpus esm-nek az eredmnye:

1 0 1 2
1
3
A3 |b3 = 0 1
0 0
0
0
Most szeretnnk A3 |b3 harmadik oszlopt a kvetkezo formra hozni

0
0
1

ez azonban nem lehetsges. Az A3 |b3 a kvetkezo lineris egyenletrendszernek felel meg:


x1

x3 = 2

x2 + x 3 = 3
0x1 + 0x2 + 0x3 = 0

(14.1)
(14.2)
(14.3)

Tegyk fel, hogy x3 -ra kijellnk egy tetszoleges k rtket. Ebben az esetben (14.1)
teljesl, ha x1 k = 2, azaz x1 = k 2. Hasonl mdon lthatjuk, hogy (14.2) teljesl,
ha x2 + k = 3, azaz x2 = 3 k. Termszetesen a (14.3)-at brmely x1 , x2 , x3 rtkek kielgtik. gy, tetszoleges k szmra x1 = k 2, x2 = 3 k, x3 = k egy megoldsa (14)-nek.
Ezltal (14)-nek vgtelen sok megoldsa van (minden egyes k rtkhez egy-egy). Mivel
(14)-et a (13)-bl esm-ek segtsgvel kaptuk, (13)-nak is vgtelen sok megoldsa van.
Azokkal a lineris egyenletrendszerekkel, amelyeknek vgtelen sok megoldsuk van, mg
egyszer, formlisabban fogunk foglalkozni, elo bb azonban sszefoglaljuk a GaussJordan
mdszert.

A GaussJordan mdszer sszefoglalsa


1. lps Az Ax = b megoldshoz rjuk fel az A|b kibo vtett mtrixot.
2. lps Brmelyik helyzetben vagyunk, definiljunk egy aktulis sort, aktulis oszlopot
s aktulis elemet (az az elem, amelyik az aktulis sor aktulis oszlopban ll). Kezdjk
az elso sorral mint aktulis sor, az elso oszloppal mint aktulis oszlop, s a11 legyen az

2.3. GaussJordan mdszer

29

aktulis elem. (a) Ha a11 (az aktulis elem) nem nulla, akkor alkalmazzunk esm-eket gy,
hogy az elso oszlopot (az aktulis oszlop)

1
0

..
.
0

alakra hozzuk. Ezutn vlasszuk ki a kvetkezo aktulis sort, oszlopot s elemet gy, hogy
egy sorral lejjebb s egy oszloppal jobbra lpnk, majd folytassuk a harmadik lpssel.
(b) Ha a11 (az aktulis elem) nulla, akkor alkalmazzunk egy 3. tpus esm-et, amelyben az
aktulis sor az egyik szereplo, a msik pedig egy olyan sor, amelynek az aktulis oszlopban
van nemnulla eleme. Alkalmazzunk esm-eket gy, hogy az els o oszlopbl

1
0

..
.
0

legyen. Ezutn jelljk ki az j aktulis sort, oszlopot s elemet gy, hogy egy sorral lejjebb
s egy oszloppal jobbra lpnk. Lpjnk ezutn a harmadik lpsre. (c) Amennyiben az els o
oszlopban csak nullk llnak, keressnk egy j aktulis oszlopot s elemet gy, hogy egy
oszloppal jobbra megynk. Ezutn a harmadik lps kvetkezik.
3. lps (a) Ha az j aktulis elem nem nulla, akkor esm-ek segtsgvel alaktsuk t 1gy, s az aktulis oszlop tbbi elemt nullv. Ha ezzel kszen vagyunk, keressnk egy j
aktulis sort, oszlopot s elemet. Ha ez lehetetlen, akkor lljunk meg. Ha lehetsges, akkor
ismteljk a harmadik lpst. (b) Ha az aktulis elem nulla, akkor egy 3. tpus esm-et
hajtsunk vgre az aktulis s egy msik olyan sorral, amelyiknek az aktulis oszlopban nem
nulla eleme van. Ezutn esm-ek alkalmazsval vltoztassuk az aktulis elemet 1-gy s az
aktulis oszlop tbbi elemt nullv. Amikor ez megtrtnt, vlasszunk j aktulis sort,
oszlopot s elemet. Ha ez lehetetlen, lljunk meg. Ha lehetsges, ismteljk a harmadik
lpst. (c) Ha az aktulis oszlopnak csak nulla elemei vannak az aktulis sor alatt, vltsunk
t j aktulis oszlopra s elemre, s ismteljk a harmadik lpst. Ha ez lehetetlen, lljunk
meg. Ez az eljrs nha azzal jr, hogy tlpnk egy vagy tbb oszlopot anlkl, hogy
megvltoztatnnk o ket (lsd 8. feladat).
4. lps A harmadik lps befejezse utn rjuk le az A0 x = b0 egyenletrendszert, amelyik
az A0 |b0 mtrixhoz tartozik. gy az A0 x = b0 s az Ax = b egyenletrendszereknek ugyanaz a
megoldshalmaza.

Bzisvltozk s lineris egyenletrendszerek megoldsa


Ahhoz, hogy megfeleloen lerhassuk az A0 x = b0 (s az Ax = b) rendszer megoldsait, be
kell vezetnnk a bzisvltoz s a nembzis-vltoz fogalmakat.

D EFINCI

Lineris egyenletrendszerben bzisvltoznak nevezzk azt a vltozt, amelynek az


egyik egyenletben 1 az egytthatja, az sszes tbbi egyenletben pedig 0 az egytthatja.

30

2. fejezet A lineris algebra alapjai

D EFINCI

Brmely vltozt, amelyik nem bzisvltoz, nembzis-vltoznak neveznk.


Legyen BV az A0 x = b0 rendszer bzisvltozinak halmaza, s NBV az A0 x = b0 rendszer
nembzis-vltozinak halmaza. Az A0 x = b0 rendszer megoldsainak jellege attl fgg,
hogy a kvetkezo esetek kzl melyik fordul elo.
1. eset Az A0 x = b0 rendszernek van legalbb egy [0 0 . . . 0|c], (c 6= 0) alak sora.
Ilyenkor az Ax = b rendszernek nincs megoldsa (emlkeztetnk a 6. pldra). Az 1. eset
egy pldjaknt tegyk fel, hogy a GaussJordan mdszernek az Ax = b rendszerre val
alkalmazsakor a kvetkezo mtrixhoz jutottunk:

1 0 0 1
1
0 1 0 2
1

0
0
1
3
1
A0 |b0 =

0 0 0 0
0
0 0 0 0
2

Ebben az esetben az A0 x = b0 (s egyttal az Ax = b) rendszernek nincs megoldsa.

2. eset Tegyk fel, hogy az 1. eset nem ll fenn s a nembzis-vltozk NBV halmaza
res. Ilyenkor az A0 x = b0 (s egyttal az Ax = b) rendszernek egyrtelmu megoldsa van.
Ennek bemutatsra emlkeztetnk a
2x1 + 2x2 + x3 = 9
2x1 x2 + 2x3 = 6
x1 x2 + 2x3 = 5

egyenletrendszer megoldsra. A GaussJordan mdszerrel az

1 0 0 1
A0 |b0 = 0 1 0 2
0 0 1 3

mtrixhoz jutottunk. Ebben az esetben BV = {x1 , x2 , x3 } s NBV res halmaz. gy az A0 x =


b0 (s Ax = b) egyrtelmu megoldsa x1 = 1, x2 = 2, x3 = 3.
3. eset Tegyk fel, hogy az 1. eset nem ll fenn s NBV nem res halmaz. Ilyenkor az
A0 x = b0 (s Ax = b) rendszernek vgtelen sok megoldsa van. Ha a vgtelen sok megoldst
meg akarjuk kapni, akkor eloszr is mindegyik nembzis-vltoznak kijellnk valamely
tetszoleges rtket. Ezutn a nembzis-vltozkkal kifejezzk a bzisvltozkat. Pldul
tegyk fel, hogy

1 0 0 1 1 3
0 1 0 2 0 2

A0 |b0 =
(15)
0 0 1 0 1 1
0 0 0 0 0 0
Mivel az 1. eset nem ll fenn, s BV = {x1 , x2 , x3 } valamint NBV = {x4 , x5 }, a 3. esettel
van dolgunk: A0 x = b0 -nek (s Ax = b-nek) vgtelen sok megoldsa lesz. Nzzk meg,
milyenek ezek a megoldsok! rjuk le A0 x = b0 -t:
x1

+ x4 + x5 = 3

(15.1)

+ 2x4

=2
+ x5 = 1

(15.2)
(15.3)

0x1 + 0x2 + 0x3 + 0x4 + 0x5 = 0

(15.4)

x2
x3

2.3. GaussJordan mdszer



5. B R A
Az A0 |b0 -nek van 0 0 . . . 0
Szemlltets: a
IGEN
GaussJordan
mdszer
PSfrag
replacements Ax = b-nek
alkalmazsa
lineris egyenletnincs megoldsa
rendszerek
megoldsra


c c 6= 0 sora?

31

NEM

Keressk meg a BV
s NBV halmazt

Az NBV
halmaz res?
IGEN

NEM

Ax = b-nek egyetlen
megoldsa van

Ax = b-nek vgtelen
sok megoldsa van

Most adjunk az (x4 s x5 ) nembzis-vltozknak egy-egy tetszo leges rtket, legyen x4 = c


s x5 = k. A (15.1)-bol: x1 = 3ck. A (15.2)-bol lthatjuk, hogy x2 = 22c. A (15.3)-bl
x3 = 1 k. Mivel (15.4) a vltozknak minden rtkre fennll, x 1 = 3 c k, x2 = 2 2c,
x3 = 1k, x4 = c, s x5 = k lesz az A0 x = b0 (s Ax = b) megoldsa, c s k brmely rtkeire.
A GaussJordan mdszerrel foglalkoz, az eddigiekben trgyalt ismeretek jl sszefoglalhatk az 5. brban.
Azrt trgyaltuk ilyen rszletesen a GaussJordan mdszert, mert a lineris programozsi feladatok megoldsa sorn a 3. eset pldi (lineris egyenletrendszerek vgtelen sok
megoldssal) rendszeresen elofordulnak majd. Mivel ha a GaussJordan mdszert alkalmazzuk, akkor a vgeredmnynek az 13. esetek valamelyiknek kell lennie, megmutattuk, hogy brmelyik lineris egyenletrendszernek vagy nincs megoldsa, vagy egyrtelmu
megoldsa van, vagy vgtelen sok megoldsa van.

Feladatok
A csoport

4.

Alkalmazza a GaussJordan mdszert annak eldntsre,


hogy a kvetkezo lineris egyenletrendszereknek nincs
megoldsa, egyrtelmu megoldsa van, vagy vgtelen sok
megoldsa van! Keresse meg a megoldsokat (amennyiben
lteznek)!
1.

x1 + x2

x1

+
x2

x4 = 5

+ 2x4 = 5
x3 + 0.5x4 = 1
2x3 +

6.

x4 = 3

x2 x 3 = 0

=6

x1 + x2 = 1
2x1 + x2 = 3
3x1 + 2x2 = 4

2x2 + 2x3 = 4
x1 + 2x2 + x3 = 4

x1 + x2 + x3 = 4
x1 + 2x2

3.

5.

=4

=4

x1 + 2x2 + x3 + x4 = 8
2.

x1 + x 2 + x 3

+ x4 = 3

x2 + x 3

2x1 x2 + x3 + x4 = 6

7.

x1 + x2

=2

x2 + 2x3 = 3

x2 + x 3 = 3

32
8.

2. fejezet A lineris algebra alapjai


x1 + x2 + x3

B csoport

=1

x2 + 2x3 + x4 = 2

9. Tegyk fel, hogy az Ax = b lineris egyenletrendszerben tbb vltoz van, mint egyenlet. Mutassa meg, hogy
Ax = b-nek nem lehet egyrtelmu megoldsa!

x4 = 3

2.4.

Lineris fggetlensg s lineris sszefggosg


Ebben a rszben a vektorok linerisan fggetlen rendszernek fogalmt, a linerisan sszefggo rendszer fogalmt, valamint a mtrixok rangjt trgyaljuk. Ezek a fogalmak tbbek
kztt a mtrixok inverznek tanulmnyozshoz szksgesek.
Mielott a linerisan fggetlen vektorhalmazt (vagy vektorrendszert) definilnnk, meg
kell ismerkednnk a vektorok lineris kombincijval. Legyen V ={v1 , v2 , . . . , vk } azonos
dimenzij sorvektorok halmaza.

D EFINCI

A V -ben szereplo vektorok lineris kombincijnak nevezzk a c1 v1 +c2 v2 + +


ck vk alakban felrhat brmely vektort, ahol c1 , c2 , . . . , ck tetszoleges skalrok.
Pldul, ha V = {[1 2], [2 1]}, akkor

 
 

2v1 v2 = 2( 1 2 ) 2 1 = 0 3






v1 + 3v2 = 1 2 + 3( 2 1 ) = 7 5






0v1 + 3v2 = 0 0 + 3( 2 1 ) = 6 3

mind a V -beli vektorok lineris kombincii. A fenti definci ugyangy alkalmazhat oszlopvektorokra is.
Tegyk fel, hogy adott egy V = {v1 , v2 , . . . , vk } m-dimenzis vektorrendszer. Legyen
0 = [0 0 . . . 0] az m-dimenzis 0 vektor. Annak eldntsre, hogy V egy linerisan
fggetlen vektorrendszer-e, megprbljuk a V vektorainak egy olyan lineris kombincijt megtallni, amely a 0 vektort adja eredmnyl. Vilgos, hogy 0v1 + 0v2 + + 0vk a
V vektorainak egy olyan lineris kombincija, amelyik a 0-t adja eredmnyl. A V vektorainak olyan lineris kombincijt, amelyben c1 = c2 = = ck = 0, trivilis lineris
kombincinak nevezzk. E fogalom segtsgvel mr definilhatjuk a linerisan fggetlen
s a linerisan sszefggo vektorrendszereket.

D EFINCI

D EFINCI

m-dimenzis vektorok egy V halmazt (rendszert) linerisan fggetlennek nevezzk, ha az egyetlen lineris kombinci, amelyik V vektoraival el o lltja a nullvektort, a trivilis lineris kombinci.

m-dimenzis vektorok V rendszere linerisan sszefggo , ha a nullvektor nemtrivilis lineris kombinciknt is elollthat a V vektoraival.
A kvetkezo pldk megknnytik a defincik megrtst.
1 Ezen

alfejezet kihagysa nem szaktja meg a trgyals folytonossgt.


2.4. Lineris fggetlensg s lineris sszefggosg

8.

33

PLDA

Mutassuk meg, hogy minden olyan vektorrendszer, amelyik tartalmazza a nullvektort, szszefggo rendszer!

Megolds

Illusztrciknt megmutatjuk, hogy ha V = {[0 0], [1 0], [0 1]}, akkor V linerisan


sszefggo. Legyen pldul c1 6= 0, ezzel c1 ([0 0]) + 0([1 0]) + 0([0 1]) = [0 0]. Ez
pedig a V vektorainak egy olyan nemtrivilis lineris kombincija, amelyik a nullvektort
lltja elo.

9.

PLDA

Megolds

10.

PLDA

Megolds

Mutassuk meg, hogy a V = {[1 0], [0 1]} egy linerisan fggetlen vektorrendszer!
Keresnk egy olyan nemtrivilis lineris kombincit, amelyik a V vektorai segtsgvel a
0-t lltja elo. Ehhez olyan c1 s c2 skalrokat (melyeknek legalbb az egyike nem nulla)
kell tallnunk, amelyek kielgtik a c1 ([1 0]) + c2 ([0 1]) = [0 0] egyenlosget. gy,
mint lthat, c1 -re s c2 -re [c1 c2 ] = [0 0] kell, hogy legyen. Ez viszont azt mutatja,
hogy c1 = c2 = 0. Az egyetlen lineris kombinci teht, amelyik a V vektoraival el o lltja
a 0-t, a trivilis lineris kombinci. Ezltal V egy linerisan fggetlen vektorrendszer.
Mutassuk meg, hogy V = {[1 2], [2 4]} egy linerisan sszefggo vektorrendszer!
Mivel 2([1 2]) 1([2 4]) = [0 0], ezrt ltezik a vektoroknak olyan nemtrivilis lineris kombincija, amelyik elo lltja a 0-t c1 = 2 s c2 = 1 egytthatkkal. gy V egy
linerisan sszefggo vektorrendszer.
Gondoljuk meg, mit is jelent az, hogy egy vektorrendszer linerisan sszefgg o ! Ahhoz, hogy megrtsk a lineris fggo sg fogalmt, figyeljk meg, hogy egy V vektorrendszer (amelyik nem tartalmazza a nullvektort) akkor s csak akkor linerisan sszefgg o ,
ha V valamelyik (vagy nhny) vektora felrhat a V tbbi vektorainak nemtrivilis lineris kombincijaknt (lsd a 9. feladatot az alfejezet vgn). Pldul a 10. pldban
[2 4] = 2([1 2]). gy, ha egy V vektorrendszer linerisan sszefggo , akkor a V vektorai
bizonyos rtelemben nem mind klnbzo vektorok. A klnbzosg alatt azt rtjk,
hogy V valamelyik vektora ltal kijellt irny nem fejezheto ki gy, hogy V ms vektorainak tbbszrseit sszeadjuk. Pldul kt dimenziban knnyen kimutathat, hogy kt
vektor akkor s csak akkor linerisan sszefggo , ha ugyanazon az egyenesen fekszenek
(lsd a 6. brt).

Mtrixok rangja

D EFINCI

A GaussJordan mdszer felhasznlhat annak eldntsre, hogy egy vektorrendszer linerisan fggetlen vagy linerisan sszefggo . Mielott bemutatnnk az eljrst, definiljuk
a mtrix rangjnak a fogalmt.
Legyen A egy m n-es mtrix, s jelljk A sorait r1 , r2 , . . . , rm -mel. Tovbb legyen
R = {r1 , r2 , . . . , rm }.
A rangja az R legnagyobb olyan rszhalmazban tallhat vektorok szma, amely
vektorok mg linerisan fggetlenek.

34

2. fejezet A lineris algebra alapjai

6.

BRA

(a) Kt linerisan sszefggo vektor

(b) Kt linerisan fggetlen vektor

A kvetkezo hrom plda rmutat a mtrix rangjnak fogalmra.

11.

PLDA

Megolds

12.

PLDA

Megolds

13.

PLDA

Megolds

Mutassuk meg, hogy A rangja = 0 a kvetkezo mtrixra:




0 0
A=
0 0
Az R = {[0 0], [0, 0]} vektorrendszerben lehetetlen olyan rszhalmazt tallni, amelyik linerisan fggetlen volna (lsd a 8. pldt).
Mutassuk meg, hogy a kvetkezo A mtrix rangja = 1:


1 1
A=
2 2
Itt R = {[1 1], [2 2]}. Az {[1 1]} rszhalmaz az R-nek linerisan fggetlen rszhalmaza, gy A rangja legalbb 1. Ha azonban megprblunk R-ben kt linerisan fggetlen
vektort tallni, ez nem sikerlhet, mivel 2([1 1]) [2 2] = [0 0]. Ez azt jelenti, hogy A
rangja nem lehet 2. gy teht A rangja 1.
Mutassuk meg, hogy a kvetkezo A mtrix rangja = 2:


1 0
A=
0 1
Itt R = {[1 0], [0 1]}. A 9. pldbl tudjuk, hogy R egy linerisan fggetlen vektorokbl
ll halmaz. gy A rangja 2.
Ahhoz, hogy megtalljuk egy adott A mtrix rangjt, egyszeruen alkalmazzuk a Gauss

Jordan mdszert az A mtrixra. Jelljk a vgeredmnyt A-val.


Bizonythat, hogy ha egy


2.4. Lineris fggetlensg s lineris sszefggosg

35

mtrixon esm-ek valamely sorozatt hajtjuk vgre, az nem vltoztatja meg a mtrix rangjt.
Ez azt jelenti, hogy A rangja egyenlo A rangjval. Az is nyilvnval, hogy A rangja nem

ms, mint az A-ban


tallhat nemnulla sorok szma. Ezeket a tnyeket sszefoglalva mondhatjuk, hogy A rangja egyenlo A rangjval, s ez egyenlo A nemnulla sorainak szmval.

14.

PLDA

Keressk A rangjt, ha

1 0 0
A = 0 2 1
0 2 3

Megolds

A GaussJordan mdszer a mtrixok kvetkezo sorozatt adja:




1 0 0
1 0
1 0 0
1 0 0
A = 0 2 1 0 1 12 0 1 12 0 1
0 2 3
0 2 3
0 0 2
0 0
= A

1 0 0
1
0 1 0
2
0 0 1
1

gy teht A rangja = A rangja = 3.

Egy vektorrendszer lineris fggetlensgnek eldntse


Most lerunk egy mdszert, amelynek segtsgvel eldnthetjk, hogy a V = {v1 , v2 , . . . ,
vm } vektorrendszer linerisan fggetlen-e.
Alaktsunk a vektorrendszerbol mtrixot gy, hogy annak i-edik sora vi legyen. A-nak m
sora lesz. Ha A rangja = m, akkor a V egy linerisan fggetlen vektorrendszer, ha viszont
A rangja < m, akkor V egy linerisan fggo vektorrendszer.

15.

PLDA

Megolds

Dntsk el, hogy V = {[1 0 0], [0 1 0], [1 1 0]} linerisan fggetlen vektorok
halmaza-e?
A GaussJordan mdszer a mtrixok kvetkezo sorozatt adja:

1 0 0
1 0 0
1 0 0
A = 0 1 0 0 1 0 0 1 0 = A
1 1 0
0 1 0
0 0 0

gy A rangja = A rangja = 2 < 3. Ez azt mutatja, hogy V egy linerisan sszefgg o vektorokbl ll halmaz. Valban, az alkalmazott esm-ek azt mutatjk, hogy [1 1 0] =
[1 0 0] + [0 1 0], vagyis, hogy V egy linerisan sszefggo vektorrendszer.

36

2. fejezet A lineris algebra alapjai

Feladatok
A csoport

B csoport

Dntse el, hogy a kvetkezo vektorrendszerek linerisan


fggetlenek, vagy linerisan sszefggok!

7. Mutassa meg, hogy az Ax = b lineris rendszernek akkor s csak akkor van megoldsa, ha b elollthat A oszlopainak lineris kombincijaknt!

1.
2.
3.
4.
5.

6.

V = {[1

V = {[2

V = {[2

1], [1

1], [2

2]}

0], [1

0], [3

1]}

1], [1

2]}

V = {[2 0], [3 0]}



4
5
1
V = 2 , 5 , 7

3
6
9

0
1
1
V = 0 , 2 , 0

0
1
1

2.5.

8. Tegyk fel, hogy van egy ktdimenzis vektorokbl


ll, hrom vagy tbb vektorbl ll halmazunk. Mutasson
be olyan gondolatmenetet, amelynek eredmnye az, hogy e
vektorok linerisan sszefggok!
9. Mutassa meg, hogy egy V vektorrendszer (amely nem
tartalmazza a 0 vektort) akkor s csak akkor linerisan
sszefggo, ha V -ben tallhat nhny olyan vektor, amely
elollthat a V tbbi vektornak lineris kombincijaknt!

Mtrix inverze
Egy egyedlll lineris egyenlet, mint pldul 4x = 3 megoldsakor egyszeruen megszorozzuk az egyenlet mindkt oldalt a 4 multiplikatv inverzvel, azaz a 4 1 kifejezssel,
vagyis 14 -del. Ezzel 41 (4x) = (41 )3, azaz x = 34 . (Termszetesen ez a mdszer nem alkalmazhat a 0x = 3 egyenletre, mert a nullnak nincs multiplikatv inverze.) Ebben az
alfejezetben bemutatjuk ennek a techniknak egy olyan ltalnostst, amely jl hasznlhat kvadratikus (egyenletek szma = ismeretlenek szma) lineris egyenletrendszerek
megoldsra. Kezdjk nhny elo zetes defincival.

D EFINCI

D EFINCI

D EFINCI

Kvadratikus mtrixoknak (vagy ngyzetes mtrixoknak) nevezzk azokat a mtrixokat, amelyekben a sorok s oszlopok szma egyenlo .

A fotl elemei (vagy a fodiagonlis elemei) a kvadratikus mtrixoknak azon ai j


elemei, amelyekre i = j.

Egysgmtrixnak nevezzk azokat a kvadratikus mtrixokat, amelyekben a f o diagonlis minden eleme 1, s a mtrix sszes tbbi eleme 0.
Az m m-es egysgmtrixot Im -mel jelljk. gy



1 0 0
1 0
I2 =
,
I3 = 0 1 0 ,
0 1
0 0 1

...

Amennyiben az Im A s AIm mtrixszorzatok rtelmezhetok, akkor knnyen bizonythat,


hogy Im A = AIm = A. Ez azt jelenti, hogy az Im mtrix ugyangy egysgknt szerepel a
mtrixok szorzsnl, mint ahogy az 1-es szm a vals szmok szorzsnl az egysg.

2.5. Mtrix inverze

37

Emlkezznk arra, hogy 14 a 4 multiplikatv inverze. Ez azt jelenti, hogy 4( 41 ) = ( 14 )4 =


1. Ez motivlja a mtrixok inverznek kvetkezo defincijt.

D EFINCI

Egy adott m m-es A mtrixnak az m m-es B mtrix az inverze, ha


BA = AB = Im

(16)

(Bizonythat, hogy ha BA = Im , akkor AB = Im s fordtva.)


Nhny kvadratikus mtrixnak nincs inverze. Ha ltezik egy m m-es B mtrix, amelyik
kielgti a (16) egyenlosget, akkor gy rjuk: B = A1 . Pldul, ha

2 0 1
2
A= 3 1
1 0
1

akkor az olvas knnyen belthatja, hogy

1 0 0
1 0
1
2 0 1
3 1
2 5 1 7 = 0 1 0
0 0 1
1 0
2
1 0
1

1 0
1
2 0 1
1 0 0
5 1 7 3 1
2 = 0 1 0
1 0
2
1 0
1
0 0 1

gy

1 0
1
A1 = 5 1 7
1 0
2

Tegyk fel, hogy meg szeretnnk oldani az Ax = b lineris egyenletrendszert, amelyben


m egyenlet s m ismeretlen van. Ekkor jl ltjuk, hogy mirt is fontos a mtrix inverznek
a fogalma. Tegyk fel ugyanis, hogy A1 ltezik. Az Ax = b mindkt oldalt megszorozva
A1 -gyel, lthat, hogy Ax = b brmely megoldsa kielgti az A1 (Ax) = A1 b egyenlosget. Alkalmazva az asszociatv tulajdonsgot s a mtrix inverznek defincijt, azt
kapjuk, hogy
vagy

(A1 A)x = A1 b
Im x = A1 b

vagy

x = A1 b

Ez azt mutatja, hogy A1 ismeretben megtalltuk egy kvadratikus lineris egyenletrendszer egyrtelmu megoldst. Ez annak analgijra trtnt, hogy a 4x = 3 egyenlet
megoldsakor az egyenlet mindkt oldalt megszoroztuk 4 1 -gyel.
A GaussJordan mdszert felhasznlhatjuk A1 kiszmtsra (vagy annak bemutatsra, hogy A1 nem ltezik). Illusztrciknt alkalmazzuk a GaussJordan mdszert az
inverzmtrix kiszmtsra, ha


2 5
A=
1 3

38

2. fejezet A lineris algebra alapjai

Ez azt jelenti, hogy talljunk egy olyan A1 mtrixot:




a b
= A1
c d
amely kielgti a


2 5
1 3




 
1 0
a b
=
0 1
c d

(17)

egyenletet.
A (17) egyenletbol a kvetkezo szimultn egyenletrendszer-prt kapjuk, amelyeket a, b,
c s d-nek ki kell elgtenie:
   

   

0
2 5 b
1
2 5 a
=
;
=
1
1 3 d
0
1 3 c
Az

 
a
c

megtallshoz (azaz az A1 elso oszlopnak kiszmtshoz) alkalmazhatjuk a Gauss


Jordan mdszert a


2 5 1
1 3 0
kibovtett mtrixra.
Amint esm-ek segtsgvel

I2 -v alakul, akkor

2 5
1 3

 
1
0

talakul A1 elso oszlopv. A

 
b
d

megtallshoz (azaz az A1 msodik oszlopnak kiszmtshoz) esm-eket alkalmazunk a




2 5 0
1 3 1
kibovtett mtrixra. Amikor

I2 -v alakul, akkor

2 5
1 3

 
0
1

talakul A1 msodik oszlopv. Ezek szerint ahhoz, hogy A1 mindkt oszlopt megtalljuk, esm-ek olyan sorozatt kell vgrehajtanunk, amelyek a


2 5
1 3

2.5. Mtrix inverze

39

mtrixot I2 -v transzformljk. Mindezek egytt azt az tletet adjk, hogy A 1 -et gy tudjuk kiszmtani, hogy esm-eket alkalmazunk a 2 4-es


2 5 1 0
A|I2 =
1 3 0 1
mtrixra. Amikor

talakul I2 -v, akkor

2 5
1 3

 
1
0

tvltozik A1 elso oszlopv, s

 
0
1

tvltozik A1 msodik oszlopv. Ez azt jelenti, hogy amint A az I2 alakba transzformldik, I2 ezalatt A1 alakba megy t. Az A1 kiszmtshoz szksges szmtsok a
kvetkezok:
1. lps Szorozzuk meg A|I2 elso sort 12 -del. gy a kvetkezot kapjuk:
A0 |I20

"

5
2

1
2

2. lps Helyettestsk A0 |I20 msodik sornak helybe a kvetkezo t:


(1)(A0 |I20 elso sora) + (A0|I20 msodik sora).
gy a kvetkezo kifejezshez jutunk:
A00 |I200

"

1
0

5
2
1
2

1
2
12

0
1

3. lps Szorozzuk meg A00 |I200 msodik sort 2-vel. Ezltal:


"
#
5
1
1
0
2
2
A000 |I2000 =
0 1 1 2
4. lps Helyettestsk A000 |I2000 elso sora helybe ( 52 )(A000 |I2000 msodik sora) + (A000 |I2000
elso sora). Eredmnynk:


3 5
1 0
0 1 1
2
Mivel A az eljrs sorn I2 -v vlt, kszen vagyunk, I2 tvltozott A1 -gy. Ezltal


3 5
1
A =
1
2
Az olvas knnyen igazolhatja, hogy AA1 = A1 A = I2 .

40

2. fejezet A lineris algebra alapjai

Lehet, hogy egy mtrixnak nincs inverze


Vannak mtrixok, amelyeknek nincs inverzk. Illusztrciknt legyen




1 2
e f
1
A=
s
A =
2 4
g h

(18)

A1 kiszmtshoz meg kell oldanunk a kvetkezo szimultn egyenletrendszer-prt:



   
1 2 e
1
=
(18.1)
2 4 g
0
   

0
1 2 f
(18.2)
=
1
2 4 h
Amikor (18.1)-et a GaussJordan mdszerrel szeretnnk megoldani, azt talljuk, hogy


1 2 1
2 4 0
gy alakul t:


1 2
0 0

1
2

Ez azt mutatja, hogy (18.1)-nek nincs megoldsa, gy A1 nem ltezhet.


Figyeljk meg, hogy (18.1)-nek azrt nincs megoldsa, mert az A mtrixot a Gauss
Jordan mdszer olyann alaktja, hogy a mtrix als sora csupa nulla. Ez csak akkor trtnhet meg, ha A rangja < 2. Ha az m m-es A mtrix rangja < m, akkor A 1 nem ltezik.

A GaussJordan mdszer m m-es A mtrixok invertlsra

1. lps rjuk fel az m 2m-es A|Im mtrixot.

2. lps Alkalmazzunk esm-eket A|Im -nek Im |B alakv transzformlsra. Ez csak akkor


lehetsges, ha A rangja = m. Ebben az esetben B = A1 . Ha A rangja < m, akkor A-nak
nincs inverze.

Mtrix inverzek alkalmazsa lineris egyenletrendszerek


megoldsra
Ahogy korbban is lltottuk, mtrix inverzek segtsgvel megoldhatunk olyan Ax = b lineris rendszereket, amelyekben az egyenletek s a vltozk szma azonos. Egyszeruen
megszorozzuk az Ax = b mindkt oldalt A1 -gyel, hogy megkapjuk az x = A1 b megoldst. Pldaknt oldjuk meg:
2x1 + 5x2 = 7
(19)
x1 + 3x2 = 4
rjuk fl a (19) mtrix formjt:

   
2 5 x1
7
=
1 3 x2
4
Itt
A=

2 5
1 3

(20)

2.6. Determinnsok

41

Az elozoekben mr kiszmtottuk, hogy


A1 =


3 5
1
2

Szorozzuk meg (20) mindkt oldalt A1 -gyel, gy a kvetkezot kapjuk:




  
 
3 5 2 5 x1
3 5 7
=
1
2 1 3 x2
1
2 4
   
1
x1
=
1
x2
gy x1 = 1, x2 = 1 a (19) rendszer egyrtelmu megoldsa.

Feladatok
B csoport

A csoport
Szmtsa ki A1 -et (ha ltezik) a kvetkezo mtrixokra:

1.

3.

1
2

3
5

1
1
2

0
1
1

1
1
2

2.

1
4
3

0
1
1

4.

1
1
2

2
2
4

1
2
1

1
0
1

5. Az 1. feladat megoldst felhasznlva oldja meg a kvetkezo lineris egyenletrendszert:


x1 + 3x2 = 4

7. Mutassa meg, hogy egy kvadratikus mtrixnak akkor


s csak akkor van inverze, ha sorai linerisan fggetlen vektorrendszert alkotnak!
8. Tekintsk a B kvadratikus mtrixot, melynek inverze
az adott B1 .
(a) Fejezze ki a 100B mtrix inverzt B1 -gyel!
(b) Legyen B0 az a mtrix, amelyet B-bol a B elso
sora minden elemnek ktszeresvel kaptunk. Magyarzza meg, hogyan rhatjuk fl B0 inverzt B1 ismeretben!
(c) Legyen B0 a B-bol az elso oszlop minden elemnek
ktszeresvel kapott mtrix. rja fel B0 inverzt B1 ismeretben!

2x1 + 5x2 = 7

9. Tegyk fel, hogy A-nak s B-nek is van inverze. Keresse meg az AB mtrix inverzt!

6. A 2. feladat megoldst felhasznlva oldja meg a kvetkezo lineris egyenletrendszert:

10. Tegyk fel, hogy A-nak van inverze. Mutassa meg,


hogy (AT )1 = (A1 )T ! (tmutats: Alkalmazza azt az
sszefggst, hogy AA1 = I s transzponlja mindkt oldalt!)

x1 +

x3 = 4

4x1 + x2 2x3 = 0

3x1 + x2 x3 = 2

2.6.

11. Egy kvadratikus mtrixot ortogonlisnak neveznk, ha


AAT = I. Milyen tulajdonsgai vannak egy ortogonlis mtrix oszlopainak?

Determinnsok
Minden kvadratikus A mtrixhoz hozzrendelheto egy szm, amelyet A determinnsnak
neveznk (a rvidtse gyakran detA vagy |A|). A nemlineris programozsi tanulmnyainkban nagy segtsgnkre lesz, ha ismerjk a kvadratikus mtrixhoz tartoz determinns
kiszmtsnak mdjt.

42

2. fejezet A lineris algebra alapjai

Egy 1 1-es A = [a11 ] mtrixhoz tartoz determinns


detA = a11

(21)

Egy 2 2-es mtrixhoz


A=

a11
a21

a12
a22

detA = a11 a22 a21a12

(22)

determinns tartozik. Pldul


det



2 4
= 2(5) 3(4) = 2
3 5

Mielott megtanuljuk, hogyan kell nagyobb mretu kvadratikus mtrixok determinnst kiszmtani, definiljuk a minor mtrix fogalmt.

D EFINCI

Ha A egy m m-es mtrix, akkor brmely i s j rtkre az A ij-edik minor-nak nevezzk (jellse Ai j ) azt az (m 1) (m 1)-es mtrixot, amelyet A-bl gy kapunk,
hogy elhagyjuk az i-edik sort s a j-edik oszlopot.
Pldul
ha

1 2 3
A = 4 5 6,
7 8 9

akkor

A12 =


4 6
7 9

A32 =

1 3
4 6

Legyen A egy m m-es mtrix. A-t gy is felrhatjuk:

a11 a12 . . . a1m


a21 a22 . . . a2m

A= .
..
..
..
.
.
am1

am2

...

amm

Most kvetkezik det A kiszmtsa. Vlasszunk ki egy tetszo leges i rtket (i = 1, 2, . . . , m)


s szmtsuk ki det A-t:
det A = (1)i+1 ai1 (det Ai1 ) + (1)i+2ai2 (det Ai2 ) +
+ (1)i+maim (detAim )

(23)

A (23) formulra azt mondjuk, hogy ez a kifejezs a detA i-edik sor szerinti kifejtse.
A (23) elonye az, hogy a detA kiszmtshoz szksges szmolsokat (ahol A egy m mes mtrix) visszavezeti olyanokra, amelyekben mr csak (m 1) (m 1)-es mtrixok
szerepelnek. Alkalmazzuk a (23) formult addig, amg vgl det A kifejezhet o 2 2-es
mtrixokkal. Ezutn alkalmazzuk a (22) egyenlo sget a megfelelo 2 2-es mtrixokhoz
tartoz determinnsok kiszmtsra.
A (23) felhasznlsnak illusztrlsra kiszmtjuk det A-t a kvetkez o A mtrixra:

1 2 3
A = 4 5 6
7 8 9

2.6. Determinnsok

43

det A-t az elso sor szerinti kifejtssel szmtjuk ki. Ltjuk, hogy a11 = 1, a12 = 2, s
a13 = 3. Ezenkvl


5 6
A11 =
8 9
gy (22) segtsgvel: det A11 = 5(9) 8(6) = 3;


4 6
A12 =
7 9

gy (22) segtsgvel: det A12 = 4(9) 7(6) = 6; s




4 5
A13 =
7 8
gy (22) segtsgvel: det A13 = 4(8) 7(5) = 3. Ezutn (23) alkalmazsval:
detA = (1)1+1 a11 (det A11 ) + (1)1+2a12 (detA12 ) + (1)1+3a13 (det A13 )
= (1)(1)(3) + (1)(2)(6) + (1)(3)(3) = 3 + 12 9 = 0
Az rdeklodo olvas knnyen belthatja, hogy ha det A kiszmtst a msodik vagy a
harmadik sor szerinti kifejtssel csinltuk volna, ugyanerre az eredmnyre jutottunk volna.
A determinnsokra vonatkoz rvid trgyalsunkat azzal zrjuk, hogy megjegyezzk, hogy
a determinnsok felhasznlhatk kvadratikus mtrixok invertlsra s lineris egyenletrendszerek megoldsra is. Mivel mr megtanultuk, hogy a GaussJordan mdszerrel hogyan szmtsuk ki mtrixok inverzt s hogyan oldjunk meg lineris egyenletrendszereket,
a determinnsok ilyen irny felhasznlst nem trgyaljuk.

Feladatok
A csoport
1.

Igazolja, hogy

1
det 4
7

2
5
8

3
6 = 0
9

gy, hogy a msodik sor, majd a harmadik sor szerinti kifejtst alkalmazza!
2.

Szmtsa ki a kvetkezo determinnst:

1 0 0 0
0 2 0 0

det
0 0 3 0
0 0 0 5

3. Egy mtrixot felso hromszgmtrixnak neveznk, ha


minden i > j-re ai j = 0. Mutassa meg, hogy brmely 3 3as felso hromszgmtrix determinnsa egyenlo a mtrix
fodiagonlis elemeinek szorzatval! (Az eredmny brmely
felso hromszgmtrixra igaz.)

B csoport
4. (a) Mutassa meg, hogy brmely 1 1-es s 3 3-as
mtrixra: det(A) = det A!

(b) Mutassa meg, hogy brmely 2 2-es s 4 4-es


mtrixra: det(A) = det A!
(c) ltalnostsa az (a) s (b) alatti eredmnyeket!

44

2. fejezet A lineris algebra alapjai

sszefoglals
Mtrixok
Mtrixnak nevezzk szmok brmilyen tglalap alak elrendezst. Az A mtrixban a i j vel jelljk az A mtrix i-edik sornak s j-edik oszlopnak elemt.
Azokat a mtrixokat, amelyeknek csak egy soruk vagy egy oszlopuk van, vektoroknak nevezzk. A vektorokat flkvr betukkel (v) jelljk. Ha azonos dimenziszmmal
adott egy sorvektor: u = [u1 u2 . . . un ] s egy oszlopvektor:

v1
v 2

v = . ,
..
vn

akkor u s v skalrszorzata (jellse u v) az u1 v1 + u2v2 + + un vn szm.


Kt adott mtrix, A s B esetn a mtrixszorzat (jellse AB) akkor s csak akkor ltezik, ha A oszlopainak szma egyenlo B sorainak szmval. Tegyk fel, hogy ez teljesl s
A-nak m sora, B-nek pedig n oszlopa van. Ekkor az A s B mtrixok C = AB mtrixszorzata
az az m n-es C mtrix, amelynek ij-edik eleme a kvetkezo : C-nek az ij-edik eleme = A
i-edik sornak s B j-edik oszlopnak skalrszorzata.

Mtrixok s lineris egyenletrendszerek


A kvetkezo lineris egyenletrendszer
a11 x1 + a12 x2 + + a1n xn = b1
a21 x1 + a22 x2 + + a2n xn = b2
.
..
..
..
. = ..
.
.
am1 x1 + am2 x2 + + amn xn = bm
felrhat Ax = b vagy A|b alakban is, ahol
a11
a21

A= .
..

am1

a12
a22
..
.

am2

...
...

a1n
a2n

.. ,
.

. . . amn


x1
x 2

x = . ,
..
xn

b1
b2

b= .
..

bm

A GaussJordan mdszer
Elemi sormuveletek

(esm-ek) alkalmazsval brmilyen lineris egyenletrendszert megoldhatunk. Egy A mtrixbl egy esm egy j A0 mtrixot ad. Az esm-ek hromflk lehetnek.
1. tpus esm
A tetszoleges sort egy nemnulla szmmal szorozva kapjuk A0 -t.

sszefoglals

45

2. tpus esm
Szorozzuk meg A brmelyik sort (legyen pldul az i-edik sor) egy nemnulla c skalrral.
Valamely j 6= i-re legyen az (A0 j-edik sora) = c(A i-edik sora) + (A j-edik sora), s A0 ms
sorai vltozatlanul megmaradnak A-bl.
3. tpus esm
Cserljk fl A brmelyik kt sort.
A GaussJordan mdszer esm-eket alkalmaz a lineris egyenletrendszerek megoldsra.
Az eljrs lpsei a kvetkezok:
1. lps Ax = b megoldshoz eloszr rjuk fel az A|b kibovtett mtrixot.
2. lps Kezdjk az elso sorral mint aktulis sor, az elso oszloppal mint aktulis oszlop,
s a11 -gyel mint aktulis elem. (a) Ha a11 (az aktulis elem) nem nulla, akkor alkalmazzunk
esm-eket az elso oszlop (aktulis oszlop)

1
0

..
.
0
alakv alaktsra.
Ezutn vlasszunk j aktulis sort, oszlopot s elemet gy, hogy egy sorral lejjebb s egy
oszloppal jobbra lpnk. Ezutn a 3. lps kvetkezik. (b) Ha a 11 (az aktulis elem) 0, akkor egy 3. tpus esm-mel cserljnk sorokat gy, hogy az aktulis oszlopban egy nemnulla
elem legyen. Esm-ekkel tegyk az elso oszlopot

1
0

..
.
0

alakv, s haladjunk tovbb a 3. lpsre j aktulis sor, oszlop s elem vlasztsval.


(c) Ha az elso oszlopban nincs nemnulla elem, vlasszunk j aktulis oszlopot s elemet.
Lpjnk a 3. lpsre.

3. lps (a) Ha az aktulis elem nem nulla, esm-ekkel vltoztassuk 1-gy s az aktulis
oszlop tbbi elemt 0-v. Vlasszunk j aktulis sort, oszlopot s elemet. Ha ez lehetetlen, lljunk meg. Ha lehetsges, ismteljk a 3. lpst. (b) Ha az aktulis elem 0, akkor 3.
tpus esm-mel cserljnk sorokat gy, hogy az aktulis elem ne legyen 0. Transzformljuk az oszlopot esm-ekkel s lpjnk tovbb a kvetkezo aktulis elemre. Ha ez lehetetlen,
lljunk meg. Egybknt ismteljk a 3. lpst. (c) Ha az aktulis oszlopnak nincs nulltl
klnbzo eleme az aktulis sor alatt, vlasszunk j aktulis oszlopot s elemet, s ismteljk a 3. lpst. Ha ez lehetetlen, lljunk meg.
Ez az eljrs egy vagy tbb oszlopot vltoztats nlkl tlphet.
4. lps rjuk fel az A0 x = b0 mtrixhoz tartoz A0 |b0 egyenletrendszert a 3. lps befejezse utn. gy az A0 x = b0 rendszernek ugyanaz a megoldshalmaza, mint Ax = b-nek.
Brmely lineris egyenletrendszerben bzisvltoznak nevezzk azt a vltozt, amelyik egyetlen egyenletben 1-es egytthatval s az sszes tbbi egyenletben 0 egytthatval jelenik meg. Minden olyan vltozt, amelyik nem bzisvltoz, nembzis-vltoznak
neveznk.

46

2. fejezet A lineris algebra alapjai

Legyen BV az A0 x = b0 rendszer bzisvltozinak halmaza s legyen NBV az A0 x = b0


nembzis-vltozinak halmaza.
1. eset A0 x = b0 -nek van legalbb egy [0 0 . . .
Ax = b-nek nincs megoldsa.

0|c], (c 6= 0) sora. Ebben az esetben

2. eset Ha az 1. eset nem ll fenn, valamint NBV, a nembzis-vltozk halmaza res,


akkor Ax = b-nek egyrtelmu megoldsa van.
3. eset Ha az 1. eset nem ll fenn s NBV nem res, akkor Ax = b-nek vgtelen sok megoldsa van.

Lineris fggetlensg, lineris fggosg


s a mtrixok rangja
Az m-dimenzis vektorok egy V halmaza linerisan fggetlen, ha az egyetlen olyan lineris kombincija a V vektorainak, amely elo lltja a 0 vektort, a trivilis lineris kombinci. Az m-dimenzis vektorok egy V halmaza linerisan sszefgg o , ha a vektoroknak
van olyan nemtrivilis lineris kombincija, amelyik 0-t ad.
Legyen A egy m n-es mtrix s jelljk az A sorait r1 , r2 , . . . , rm . Legyen R = {r1 , r2 ,
. . . , rm }. Az A rangjnak nevezzk a maximlisan kivlaszthat linerisan fggetlen rszhalmaz szmossgt. A rangjnak kiszmtshoz alkalmazzuk a GaussJordan mdszert
Ekkor A rangja = A rangja = az A-ban

az A mtrixra. Legyen a vgeredmny mtrix A.


tallhat nemnulla sorok szmval.
Annak meghatrozsra, hogy a vektorok V = {v1 , v2 , . . . , vm } rendszere linerisan fggetlen-e, rjuk fel az A mtrixot gy, hogy az i-edik sor vi legyen. A-nak m sora lesz. Ha
A rangja = m, akkor V egy linerisan fggetlen vektorrendszer; ha A rangja < m, akkor V
egy linerisan sszefggo vektorrendszer.

Mtrix inverze
Egy adott (m m)-es kvadratikus A mtrix esetn B az A mtrix inverze (jellse B = A 1 ),
ha AB = BA = Im . A GaussJordan mdszerrel az (m m)-es A mtrix A1 inverznek
kiszmtsa a kvetkezokppen trtnik:
1. lps rjuk le az m 2m-es A|Im mtrixot.

2. lps Esm-ek alkalmazsval alaktsuk t A|Im -et Im |B-v. Ez csak akkor lehetsges,
ha A rangja = m. Ebben az esetben B = A1 . Ha A rangja < m, akkor A-nak nincs inverze.

Determinnsok
Minden (m m)-es kvadratikus A mtrixhoz hozzrendelheto egy szm, az A determinnsa (jellse detA vagy |A|). Egy 1 1-es mtrixnl detA = a11 . Egy 2 2-es mtrixra
detA = a11 a22 a21 a12 . Egy ltalnos m m-es mtrix esetn detA kiszmtsa a kvetkezo formula ismtelt alkalmazsval trtnhet (i = 1, 2, . . . , m):
detA = (1)i+1 ai1 (det Ai1 ) + (1)i+2ai2 (det Ai2 ) + + (1)i+m aim (det Aim )
Itt Aij az A mtrix i j-edik minora, amely A-bl az i-edik sor s a j-edik oszlop elhagysval
keletkezik.

ttekinto feladatok

47

ttekinto feladatok
A csoport

8.

1. Keresse meg a kvetkezo lineris egyenletrendszer


sszes megoldst:
x1 + x 2

=2

x2 + x 3 = 3

2.

x1 + 2x2 + x3 = 5

0 3
mtrix inverzt!
Szmtsa ki a
2 1


3. Minden vben az llami Egyetem (E) tanri karnak


szerzodses tagjai kzl 20% vlik llandstott (vglegestett) tanrr, 5% kilp s 75% szerzodses marad. Minden
vben az E vglegestett tanrainak 90%-a marad, 10%-a
kilp. Legyen Ut a szerzodses tanrok szma a t-edik v
elejn, s legyen Tt a vglegestett
szma.

 
 tanrok
Ut
Ut+1
vektornak az
Hasznljon mtrixszorzst az
Tt
Tt+1
vektorral val kapcsolatnak kifejezsre!
4. GaussJordan mdszerrel hatrozza meg a kvetkezo
lineris rendszer sszes megoldst:
2x1 + 3x2 = 3
x1 + x 2 = 1

5.

Szmtsa ki a

0
1

x1 + 2x2 = 2

2
mtrix inverzt!
3

2
Szmtsa ki a
3


3
mtrix inverzt!
5

9. Legyen Ct az Indiana llambeli gyermekek szma a tedik v elejn, s At legyen a felnottek szma Indianban
a t-edik v elejn. Egy adott vben a gyermekek 5%-a felnott vlik, s 1%-uk meghal. Egy adott vben a felnottek
3%-a meghal. Mtrixszorzs
alkalmazsval fejezze ki a

 
Ct
Ct+1
vektort
segtsgvel!
At
At+1

10. GaussJordan mdszerrel keresse meg a kvetkezo lineris egyenletrendszer sszes megoldst:
x2 + x 3 = 2
x1 + x 2

=5

11. GaussJordan mdszerrel szmtsa ki az

1 0 2
0 1 0
0 1 1

mtrix inverzt!

12. Egy adott vben a falusi lakossg 10%-a kltzik be


a vrosba s a vrosi lakossg 20%-a kltzik falura (ms
mindenki helyben marad!). Legyen Rt a falusi lakosok
szma a t-edik v elejn, s Ct legyen a vrosi lakosok
szma a t-edik
rja fel a kap v elejn. Mtrixszorzssal
 
Rt+1
Rt
csolatot az
vektor kztt!
vektor s az
Ct+1
Ct

6. Az llami Egyetem kt hallgatjnak elozo flvi osztlyzatait a 2. tblzat mutatja.

13. Dntse el, hogy a V = {[1 2 1], [2


torhalmaz linerisan fggetlen rendszer-e?

2.

14. Dntse el, hogy a

TBLZAT

1. hallgat
2. hallgat

1.

Tantrgy
2.
3.

4.

3.6
2.7

3.8
3.1

3.4
3.6

2.6
2.9

Az 1. s 2. tantrgy 4 kredites, a 3. s 4. tantrgy 3 kredites.


Legyen Ai az i-edik hallgat
tlaga. Mtrixszorzs al flvi

A1
kalmazsval fejezze ki a
vektort az adott informcik
A2
segtsgvel!
7. GaussJordan mdszerrel keresse meg a kvetkezo lineris egyenletrendszer sszes megoldst:
2x1 + x2 = 3
3x1 + x2 = 4
x1 x 2 = 0

V = {[1

0], [0

0], [1

0]} vek-

0]}

linerisan fggetlen vektorrendszer-e?

a 0 0 0
0 b 0 0

15. Legyen A =
0 0 c 0 .
0 0 0 d

(a) a, b, c, d milyen rtkeire ltezik A1 ?


(b) Ha A1 ltezik, szmtsa ki azt!

16. Mutassa meg, hogy a kvetkezo lineris egyenletrendszernek vgtelen sok megoldsa van:


1 1 0 0
x1
2
0 0 1 1 x2 3


1 0 1 0 x3 = 4
0 1 0 1
x4
1

48

2. fejezet A lineris algebra alapjai

17. A szvetsgi s llami adk, valamint az alkalmazottak jutalmainak kifizetse elott a vllalat profitja 60 000$.
Az alkalmazottak jutalma az adk kifizetse utn megmaradt profit 5%-a. Az llami ad a profit 5%-a (a jutalmak
kifizetse utn). Vgl a szvetsgi ad a profit 40%-a (a
jutalmak s az llami adk kifizetse utn). lltson fl egy
lineris egyenletrendszert abbl a clbl, hogy megllapthassa a kifizetett jutalmakat, az llami adt s a szvetsgi
adt!

2 4 6
18. Szmtsa ki az A = 1 0 0 mtrix determinnst!
0 0 1

19. Mutassa meg, hogy minden olyan 2 2-es A mtrixnak, amelyiknek nincs inverze, a determinnsa: det A = 0!

20. Legyen A egy m m-es mtrix.

(a) Mutassa meg, hogy ha A rangja = m, akkor Ax = 0nak egyrtelmu megoldsa van! Mi ez az egyrtelmu
megolds?
(b) Mutassa meg, hogy ha A rangja < m, akkor Ax = 0nak vgtelen sok megoldsa van!

21. A kvetkezo lineris egyenletrendszerrel fogunk tallkozni a Markov-lncokra vonatkoz tanulmnyainkban


(lsd 17. fejezet):

ahol

x2

s = az acltermels dollrban
c = az auttermels dollrban
m = a gptermels dollrban
Definilja azt a 3 3-as A mtrixot, amelyben az ij-edik
elem jelentse a kvetkezo: az i-edik termkbol mennyi
szksges dollrban szmolva egy dollrnyi j-edik termk
elolltshoz (acl = 1-es termk, aut = 2-es termk, gpek = 3-as termk).
(a) Hatrozza meg az A mtrixot!

B csoport

[x1

cent aut s 10 cent gp kell. (3) Egy dollrnyi gp szksglete 40 cent acl, 10 cent aut s 45 cent gp. A kvetkezo vben az iparg rtkben fel akar hasznlni ds dollrnyi aclt, dc dollrnyit autt s dm dollrnyi gpet.
A kvetkezo vre legyen

...

xn ] = [x1

p11
p21

P= .
..
pn1

p12
p22
..
.
pn2

x2
...
...

...

xn ]P

p1n
p2n

..
.
pnn

(b) Mutassa meg, hogy




s
s
ds
c = A c + dc
m
m
dm

(24)

(tmutats: Vegye szre, hogy a kvetkezo vi acltermels = (a jvo vi aclkereslet) + (a jvo vi acl elolltshoz szksges acl) + (a jvo vi autk elolltshoz szksges acl) + (a jvo vi acligny a gpek
elolltshoz).
(c) Mutassa meg, hogy a (24) egyenlosg trhat

s
ds
(I A) c = dc
m
dm
alakba!

Ha a P mtrix minden sorban az elemek sszege 1, akkor a


20. feladat segtsgvel mutassa meg, hogy ennek a lineris
egyenletrendszernek vgtelen sok megoldsa van!

(d) Ha ds , dc s dm rtkei adottak, magyarzza meg,


hogyan tudn felhasznlni az (I A)1 mtrixot annak
eldntsre, hogy az iparg ki tudja-e elgteni a jvo vi
fogyaszti ignyeket!

22.2 Egy orszg egyik iparga hromfle termket gyrt:


aclt, autkat s gpeket. (1) Egy dollr rtku acl elolltshoz 30 centnyi acl, 15 centnyi aut s 40 centnyi gp
szksges. (2) Egy dollr rtku authoz 45 cent acl, 20

(e) Tegyk fel, hogy a jvo vi acligny egy dollrral


nvekszik. Ez megnveli az acl, autk s gpek jvo vi
termelst. Fejezze ki (I A)1 segtsgvel a jvo vi
termelsi szksgleteket!

...

2 Leontief

(1966) alapjn. Lsd a fejezet vgn a hivatkozsokat.

Irodalom

49

Irodalom
A kvetkezo hivatkozsokban a lineris algebra magasabb szintu trgyalsa tallhat. Ahhoz, hogy megrtsk a lineris s nemlineris programozs elmlett, a kvetkezo knyvek
kzl legalbb az egyiket alaposan meg kell tanulni.
Dantzig, G. Linear Programming and Extensions. Princeton, N.J.: Princeton University
Press, 1963.
Hadley, G. Linear Algebra. Reading, Mass.: Addison-Wesley, 1961.
Strang, G. Linear Algebra and Its Applications, 3d ed. Orlando, Fla.: Academic Press,
1988.
Leontief, W. InputOutput Economics. New York: Oxford University Press, 1966.
Teichroew, D. An Introduction to Management Science: Deterministic Models. New York:
Wiley, 1964.

3
Bevezets a lineris
programozsba
A lineris programozs az optimalizlsi problmk megoldsnak egyik eszkze. George
Dantzig 1947-ben fejlesztette ki a szimplex algoritmust lineris programozsi feladatok (rviden LP) megoldsra. Ez a mdszer nagyon hatkonynak bizonyult. A szimplex mdszer

kifejlesztse ta az LP-t a gazdasg legklnbzobb


gazataiban hasznljk fel optimalizlsi feladatok megoldsra, pldul bankgyleteknl, az oktatsban, vagy erdszeti, olajipari, kzlekedsi problmk esetn. A Fortune cmu zleti jsg 500 cget rinto felmrsben a megkrdezettek 85%-a vlaszolta azt, hogy mr alkalmazott lineris programozsi
modellt. A lineris programozs fontossgt az opercikutatsban az is mutatja, hogy ennek a knyvnek krlbell a 40%-a lineris programozssal s az ehhez kapcsold optimalizlsi technikkkal foglalkozik.
A 3.1. alfejezetben lineris programozsi tanulmnyainkat azzal kezdjk, hogy lerjuk
azokat az ltalnos tulajdonsgokat, amelyek minden lineris programozsi feladatra jel A 3.2. s a 3.3. alfejezetekben megtanuljuk grafikusan megoldani a ktvltozs
lemzok.
lineris programozsi feladatokat. Ezeknek az egyszeru LP-knek a megoldsa hasznos tmutatsul szolgl bonyolultabb LP-k megoldshoz. A fejezet tbbi rsze a vals szitucikban felhasznlhat lineris programozsi modellekkel foglalkozik.

3.1.

A lineris programozsi feladat


Ebben a fejezetben bevezetjk a lineris programozsi modellt, s definilunk a lineris
programozsi feladatok tanulmnyozshoz szksges nhny fontos fogalmat.

1.

PLDA

Giapetto Fafarag Cge ktfajta fbl kszlt jtkot gyrt: katonkat s vonatokat. Egy
katont 27$-rt lehet eladni, s elo lltshoz 10$ rtku nyersanyag szksges. Minden
legyrtott katona 14 dollrral nveli Giapetto brben jelentkez o vltoz kltsgt s az
ltalnos kltsget. Egy vonat 21$-rt adhat el, elo lltshoz 9$ rtku nyersanyag szksges. Minden legyrtott vonat 10 dollrral nveli a vltoz- s ltalnos kltsgeket. A
fakatonk s favonatok gyrtsa ktfle szakkpzett munkt ignyel: fafarag s felletkezelo munkt. Egy katona elolltshoz 2 ra felletkezelo munka s 1 ra fafarag munka
szksges. Egy vonathoz 1 ra felletkezelo s 1 ra fafarag munka kell. Giapettnak minden hten korltlan mennyisgu nyersanyag ll rendelkezsre, de csak 100 felletkezel o
munkara s 80 fafarag munkara hasznlhat fel. A vonatok irnti kereslet korltlan,
katonkbl azonban legfeljebb csak 40-et vesznek meg hetente. Giapetto maximalizlni
szeretn a heti profitot (bevtelek kltsgek). Keressnk Giapetto helyzetnek lersra
egy olyan matematikai modellt, amely a heti profitot maximalizlja!

52

3. fejezet Bevezets a lineris programozsba

Megolds

Giapetto modelljnek kialaktsa sorn vgigmegynk azokon a jellemz o kn, amelyek


minden lineris programozsi feladatban elo fordulnak.
Dntsi vltozk. Kezdjk azzal a modellfelrst, hogy definiljuk a megfelel o dntsi
vltozkat. A dntsi vltozknak egy tetszo leges lineris programozsi modellben kpesnek kell lennik a jvoben meghozand dntsek lersra (ebben az esetben Giapetto
dntsrol van sz). Vilgos, hogy Giapettnak minden egyes htre vonatkozan el kell
dntenie, hogy hny katont s hny vonatot gyrtson. Ez az alapja annak, hogy
x1 = a hetente gyrtott katonk szma
x2 = a hetente gyrtott vonatok szma
legyen.
Clfggvny. Minden lineris programozsi feladatban a dntshoz vagy maximalizlni szeretn a dntsi vltozknak valamilyen fggvnyt (rendszerint jvedelmt vagy a
profitot), vagy minimalizlni szeretn azt (rendszerint a kltsgeket). A maximland vagy
minimland fggvnyt clfggvnynek nevezzk. A Giapetto problmban el o szr is
megjegyezzk, hogy a fix kltsgek (mint a brleti dj s a biztosts) nem fggnek x 1 s x2
rtkeitol. gy Giapetto arra koncentrlhat, hogy a (heti bevtelek) (nyersanyag vsrlsi
kltsgek) (egyb vltoz kltsgek) kifejezst maximalizlja.
Giapetto heti bevtelei s kltsgei kifejezheto k az x1 s x2 dntsi vltozk segtsgvel. Giapetto rszrol oktalansg volna tbb katont gyrtani, mint amennyit el tud adni,
gy felttelezhetjk, hogy az sszes legyrtott jtkot el tudja adni, s ezltal
heti bevtelek = heti bevtelek a katonk eladsa rvn
+ heti bevtelek a vonatok eladsa rvn



katona
dollr
=
katonk
ht


dollr
vonat 
+
vonat
ht
= 27x1 + 21x2
A trtekkel kifejezett kpletek itt s a tovbbiakban arra szolglnak, hogy lssuk: mindent a helyes mrtkegysgben adtunk meg.
Hasonl mdon felrva:
heti nyersanyagkltsg = 10x1 + 9x2
egyb heti vltoz kltsgek = 14x1 + 10x2
Giapetto ezek szerint a kvetkezo kifejezst szeretn maximalizlni:
(27x1 + 21x2) (10x1 + 9x2) (14x1 + 10x2) = 3x1 + 2x2
Ms mdon is megkzelthetjk a Giapetto ltal maximalizlni kvnt 3x 1 + 2x2 rtkt,
ha megfigyeljk, hogy

3.1. A lineris programozsi feladat

53

bevtelek = a katonk eladsbl szrmaz profit

mivel

(nem fix) kltsgek


+ a vonatok eladsbl szrmaz profit

 


katona
profit  vonat 
profit
+
=
katona
ht
vonat
ht

profit
= 27 10 14 = 3
katona
profit
= 21 9 10 = 2
vonat
gy, akrcsak az elobb, azt kapjuk, hogy
heti bevtelek heti (nem fix) kltsgek = 3x1 + 2x2
Ezltal Giapetto clja az, hogy gy vlassza meg x1 -et s x2 -t, hogy 3x1 + 2x2 maximlis
legyen. Brmelyik LP feladatban a z vltozt fogjuk hasznlni a clfggvny jellsre.
Giapetto clfggvnye
maximalizland z = 3x1 + 2x2
(1)
(A kvetkezokben maximalizland s minimalizland helyett a max s min rvidtseket hasznljuk.) Egy vltoznak a clfggvnyben szerepl o egytthatjt gy nevezzk: a vltoz clfggvny egytthatja. Pldul az x1 clfggvny egytthatja 3 s az x2
clfggvny egytthatja 2. Ebben a pldban (s mg sok msikban is) az egyes vltozk
clfggvny egytthatja egyszeruen nem ms, mint a vltoz ltal kpviselt hozzjruls
a vllalat profitjhoz.
Felttelek. Ahogy x1 s x2 nvekszik, Giapetto clfggvnye egyre nagyobb lesz. Ez azt
jelenti, hogy ha Giapetto teljesen szabadon vlaszthatna rtkeket x 1 -nek s x2 -nek, akkor
a vllalat tetszolegesen nagy profitot rhetne el azltal, hogy x1 -et s x2 -t nagyon nagynak
vlasztan. Sajnos azonban x1 s x2 rtkeit a kvetkezo hrom megszorts korltozza
(gyakran korltoz feltteleknek nevezik ezeket):
1. felttel Hetenknt legfeljebb 100 felletkezelo ra hasznlhat fel.
2. felttel Hetenknt legfeljebb 80 fafarag ra hasznlhat fel.
3. felttel A kereslet korltozottsga miatt legfeljebb 40 katont szabad gyrtani hetente.
Mivel feltteleztk, hogy korltlan nyersanyagmennyisg ll rendelkezsre, ebb o l nem
addnak korltoz felttelek.
A Giapetto problmhoz tartoz matematikai modell fellltsban a kvetkez o lps
az, hogy az 1., 2., 3. feltteleket felrjuk az x1 s x2 vltozk segtsgvel. Az 1. felttel
esetben ahhoz, hogy ezt x1 -gyel s x2 -vel kifejezhessk, vegyk szre, hogy



sszes felletkezels rkban
felletkezels rkban
kszre gyrtott katonk
=
ht
katona
ht



felletkezels rkban
kszre gyrtott vonatok
+
vonat
ht
= 2(x1 ) + 1(x2 ) = 2x1 + x2

54

3. fejezet Bevezets a lineris programozsba

gy most mr fel tudjuk rni az 1. felttelt:


2x1 + x2 100

(2)

Figyeljk meg, hogy a (2) minden tagjban az egysgek a felletkezel o rk hetenknt.


Ahhoz, hogy egy felttel sszeru legyen, a felttelben szereplo tagokat ugyanabban az egysgben kell kifejezni. Mskppen almkat s narancsokat adnnk ssze, s a felttelek nem
jelentennek semmit.
A 2. felttel x1 s x2 vltozkkal val kifejezshez figyeljk meg, hogy



katona
fafarag munka rkban
sszes fafarag munka rkban
=
ht
katona
ht


fafarag munka rkban  vonat 
+
vonat
ht
= 1(x1 ) + 1(x2) = x1 + x2
A 2. felttel teht gy rhat fel:
x1 + x2 80

(3)

Ismt felhvjuk a figyelmet arra, hogy (3)-ban minden tag azonos egysgben van felrva
(ebben az esetben fafarag munkark hetenknt).
Vgl fejezzk ki azt a tnyt, hogy hetenknt legfeljebb 40 katona adhat el. Korltozzuk teht a hetente gyrtott katonk szmt legfeljebb 40 katonra. Ez a kvetkez o felttelt
adja:
x1 40
(4)

gy most mr (2),(3),(4) az 13 korltoz feltteleket a dntsi vltozk segtsgvel


fejezi ki; (2),(3),(4) teht Giapetto lineris programozsi problmjnak a felttelei. A dntsi vltozknak a felttelekben szereplo egytthatit technolgiai egytthatknak nevezzk. Ennek az az oka, hogy a technolgiai egytthatk nagyon gyakran arra utalnak,
hogy milyen technolgit alkalmaznak a klnbzo termkek elolltsra. Pldul az x2
technolgiai egytthatja (3)-ban 1, s ez arra utal, hogy egy vonat el o lltshoz 1 fafarag
rra van szksg. Az egyes felttelek jobb oldaln szerepl o szmokat a felttelek jobb oldalnak nevezzk (rviden: j.o.). Leggyakrabban a felttelben szerepl o j.o. egy bizonyos
eroforrsbl rendelkezsre ll mennyisget jelenti.
Elojelkorltozsok. Egy lineris programozsi feladat felrsnak teljess ttelhez minden dntsi vltozra fel kell tennnk a kvetkezo krdst: csak nemnegatv lehet-e a dntsi vltoz, vagy pedig pozitv s negatv rtkeket egyarnt felvehet?
Ha egy xi dntsi vltoz csak nemnegatv rtkeket vehet fel, akkor mg hozztesszk
a felttelekhez az elojelkorltoz felttelt: xi 0. (Ezt ms szval nemnegativitsi felttelnek is nevezzk.) Ha egy xi vltoz felvehet pozitv s negatv rtkeket is (vagy nullt),
akkor azt mondjuk, hogy xi elojelkorltozatlan vagy ms szval elo jelktetlen (rvidtve
ekn). Giapetto problmjban vilgos, hogy x1 0 s x2 0. Mindazonltal ms problmkban elofordulhatnak ekn vltozk is. Pldul, ha xi egy cgnl a kszpnzllomnyt
jelenten, akkor xi negatvnak tekintheto abban az esetben, ha a cg tbb pnzzel tartozik,
mint amennyi kszpnze van. Ebben az esetben xi -t az elojelkorltozatlan vltozk osztlyba sorolnnk. Ms ekn vltozk elo fordulsrl a 4.10. alfejezetben lesz sz.
A teljes modell sszelltsban hrom csoportot klnbztetnk meg: vannak nemnegativitsi felttelek x1 0 s x2 0, clfggvny (1), s a (2)(3)(4) korltoz felttelek.
Ezek egyttese adja a kvetkezo optimalizlsi modellt:

55

3.1. A lineris programozsi feladat

max z = 3x1 + 2x2

(clfggvny)

(1)

(felletkezelo felttel)

(2)

x1 + x2 80

(fafarag felttel)

(3)

(a katonk irnti kereslet felttele)

(4)

x1

(nemnegativitsi felttel)1

(5)

(nemnegativitsi felttel)

(6)

a kvetkezo felttelekkel:
2x1 + x2 100
x1

40
0

x2 0

Mielott formlisan definilnnk a lineris programozsi feladatot, definiljuk a lineris


fggvny s a lineris egyenlotlensg fogalmt.

D EFINCI

Az f (x1 , x2 , . . . , xn ) akkor s csak akkor lineris fggvnye az x1 , x2 , . . . , xn vltozknak, ha valamely c1 , c2 , . . . , cn , konstansokra f (x1 , x2 , . . . , xn ) = c1 x1 + c2 x2 + +
cn xn .
Pldul f (x1 , x2 ) = 2x1 + x2 az x1 s x2 lineris fggvnye, de f (x1 , x2 ) = x21 x2 nem
lineris fggvnye x1 -nek s x2 -nek.

D EFINCI

Brmely f (x1 , x2 , . . . , xn ) lineris fggvny s tetszoleges b szm esetn f (x1 ,


x2 , . . . , xn ) b s f (x1 , x2 , . . . , xn ) b lineris egyenlotlensgek.
gy, 2x1 + 3x2 3 s 2x1 + x2 3 lineris egyenlotlensgek, de x21 x2 3 nem lineris
egyenlotlensg.

D EFINCI

A lineris programozsi feladat (LP) egy olyan optimalizlsi feladat, amelyben a


kvetkezok trtnnek:
1. Maximalizljuk (vagy minimalizljuk) a dntsi vltozk egy lineris fggvnyt. A maximalizland vagy minimalizland fggvnyt clfggvnynek nevezzk.
2. A dntsi vltozk rtkeinek ki kell elgtenik a korltoz feltteleket. Minden
felttelnek vagy lineris egyenletnek vagy lineris egyenlo tlensgnek kell lennie.
3. Minden vltozhoz tartozik egy elojelkorltozs (vagy annak hinya). Brmely
xi vltozra az elojelkorltozs vagy azt rja elo, hogy xi csak nemnegatv lehet (xi
0), vagy azt rja elo, hogy xi elojelkorltozatlan (ekn).
Mivel Giapetto clfggvnye x1 s x2 -nek lineris fggvnye, s Giapetto minden felttele lineris egyenlotlensg, gy Giapetto problmja egy lineris programozsi feladat.
Megjegyezzk, hogy a Giapetto problma a lineris programozsi feladatoknak egy nagyon
tg kategrijba tartozik, melyekben a dntshoz clja a profit maximalizlsa korltozott eroforrsok mellett.
1 A nemnegativitsi felttelek korltozzk ugyan a dntsi vltozk rtkeit, ltalban azonban mgis kln kezeljk ezeket a tbbi felttelto l. Ennek oka azonnal nyilvnval lesz, amikor a 4. fejezetben a szimplex algoritmust
fogjuk tanulmnyozni.

56

3. fejezet Bevezets a lineris programozsba

Arnyossgi s additivitsi feltevsek


Az a tny, hogy egy LP clfggvnynek a dntsi vltozk lineris fggvnynek kell
lennie, kt dolgot von maga utn.
1. A clfggvnynek minden egyes dntsi vltozhoz tartoz rsze arnyos a dntsi
vltoz rtkvel. Pldul a clfggvnynek a ngy katonbl szrmaz rsze (43 = 12$)
pontosan ngyszer akkora, mint a clfggvnynek az egy katona gyrtsbl szrmaz
rsze (3$).
2. A clfggvnynek brmelyik vltozbl szrmaz rsze fggetlen a tbbi dntsi vltoz rtkeitol. Pldul, teljesen mindegy, hogy az x2 vltoznak milyen rtke van, x1
darab katona gyrtsa mindig 3x1 dollrral jrul hozz a clfggvnyhez.
A fentiekhez hasonlan, az a tny, hogy minden LP felttel vagy lineris egyenl o tlensg,
vagy lineris egyenlosg, szintn kt dolgot jelent.
1. Minden egyes felttelben az egyes vltozk hozzjrulsa a felttel bal oldalhoz arnyos a vltoz rtkvel. Pldul hrom katona gyrtsa pontosan hromszor annyi felletkezelo rt ignyel (2 3 = 6 felletkezelo ra), mint ahny felletkezelo rra szksg
van egy katonhoz (2 felletkezelo ra).
2. Minden egyes felttel bal oldaln egy vltoz szerepe fggetlen a tbbi vltoztl.
Pldul, teljesen mindegy, hogy az x1 vltoznak milyen rtke van, x2 darab vonat legyrtsa x2 felletkezelo rt s x2 fafarag rt ignyel.
Mindkt felsorols elso megjegyzsben szereplo tulajdonsg a lineris programozs
arnyossgi feltevse. Az elso listban a 2. megllapts azt jelenti, hogy a clfggvny
rtke az egyedi vltozkbl szrmaz hozzjrulsok sszege. A msodik listban a 2.
megllapts azt jelenti, hogy mindegyik felttelben a bal oldal az egyes vltozkbl szrmaz rszek sszege. Ezrt mindkt felsorolsban a msodik megjegyzsben szerepl o tulajdonsgot a lineris programozs additivitsi feltevsnek nevezzk.
Ahhoz, hogy egy LP egy valdi letbo l szrmaz helyzetet megfeleloen rjon le, a dntsi vltozknak meg kell felelnik az arnyossgi s az additivitsi feltevseknek. Ezenkvl mg az oszthatsgi s bizonyossgi feltevseknek is meg kell felelnie egy vals
helyzetet ler LP-nek.

Oszthatsgi feltevs
Az oszthatsgi feltevs azt jelenti, hogy mindegyik dntsi vltoz felvehet trt rtkeket
is. Pldul Giapetto problmjban az oszthatsgi feltevs azt jelenti, hogy elfogadhatnak tekintjk 1.5 katona vagy 1.63 vonat gyrtst. Mivel a valsgban Giapetto nem tud
trtrsz katont vagy vonatot gyrtani, az oszthatsgi feltevs a Giapetto problmban
nem teljesl. Egy olyan lineris programozsi feladatot, amelyikben nhny, vagy minden vltoz csak nemnegatv egsz rtkeket vehet fel, integer programozsi feladatnak
(vagy egszrtku programozsi feladatnak) neveznk. Az integer programozsi problmkat a 8. fejezetben trgyaljuk.
Nagyon sokszor addik olyan helyzet, amikor az oszthatsgi feltevs nem teljesl, m
sszeru s j megoldst kaphatunk, ha az LP optimlis megoldsban a vltozk rtkeit
egsz szmm kerektjk. Tegyk fel, hogy egy LP optimlis megoldsnak az az eredmnye, hogy egy autgyr gyrtson 150 000.4 autt a vizsglt vben. Ilyen esetben nyugodtan
mondhatjuk az autgyrnak, hogy gyrtson 150 000 vagy 150 001 darab autt, s meglehetosen magabiztosak lehetnk abban, hogy ez sszeruen megkzelti az optimlis termelsi

3.1. A lineris programozsi feladat

57

tervet. Msrszt azonban, ha egy LP egyik vltozja azt jelenten, hogy hny raktakilv o
llomst hasznljon az Egyeslt llamok, s az LP optimlis megoldsban azt kapnnk,
hogy 0.4 raktakilvo llomst kell pteni, risi klnbsget jelentene, ha a szmot 0ra lefel vagy 1-re flfel kerektennk. Ebben az esetben a 8. fejezetben trgyalt integer
programozsi mdszereket kell alkalmaznunk, mivel a raktakilv o llomsok szma semmikppen sem oszthat trtrszekre.

Bizonyossgi feltevs
A bizonyossgi feltevs azt mondja ki, hogy minden paramter (a clfggvny-egytthatk, a jobb oldala, a technolgiai egytthatk) biztosan ismert. Ha nem lennnk biztosak
abban, hogy pontosan hny fafarag s hny felletkezel o ra szksges egy vonat gyrtshoz, akkor megsrtennk a bizonyossgi feltevst.

Lehetsges megoldsok halmaza s az optimlis megolds


A lineris programozsi feladathoz kapcsold kt legfontosabb fogalom a lehetsges megoldsok halmaza s az optimlis megolds. E kt fogalom definilshoz a pont kifejezst
hasznljuk: egy pontnak a dntsi vltozk valamely meghatrozott rtkt tekintjk.

D EFINCI

Egy LP lehetsges megoldsainak halmaza az sszes olyan pontok halmaza, amelyek kielgtik az LP valamennyi felttelt s az sszes elo jelkorltozst. (A lehetsges megoldsok halmaza helyett hasznlhatjuk mg a kvetkez o kifejezseket
is: megvalsthat megoldsok halmaza, megvalsthat tartomny, lehetsges tartomny.)
Pldul Giapetto problmjban az (x1 = 40, x2 = 20) pont a lehetsges megoldsok
halmazban van. Figyeljk meg, hogy x1 = 40 s x2 = 20 kielgti a (2)(4) korltoz
feltteleket s az (5)(6) nemnegativitsi feltteleket:
(2) felttel: 2x1 + x2 100, teljesl, mert 2(40) + 20 100.

(3) felttel: x1 + x2 80, teljesl, mert 40 + 20 80.


(4) felttel: x1 40, teljesl, mert 40 40.

(5) nemnegativitsi felttel: x1 0, teljesl, mert 40 0.

(6) nemnegativitsi felttel: x2 0, teljesl, mert 20 0.

Msrszt az (x1 = 15, x2 = 70) pont nincs benne a lehetsges megoldsok halmazban.
Igaz ugyan, hogy x1 = 15 s x2 = 70 kielgti a (2),(4),(5) s (6)-ot, de nem elgti ki (3)-at:
15 + 70 nem kisebb vagy egyenlo , mint 80. Minden olyan pont, amelyik nincs az LP lehetsges megoldsainak halmazban, egy nemlehetsges pont. A nemlehetsges pont egy
msik pldjaknt tekintsk (x1 = 40, x2 = 20)-at. Annak ellenre, hogy ez a pont kielgti az sszes korltoz felttelt s az (5) nemnegativitsi felttelt, mgsem lehetsges,
mert nem elgti ki a (6) nemnegativitsi (x2 0) felttelt. Giapetto problmjban a lehetsges megoldsok halmaza az olyan lehetsges gyrtsi tervek sszessge, amelyeket
Giapettnak figyelembe kell vennie, amikor az optimlis gyrtsi tervet keresi.

58

3. fejezet Bevezets a lineris programozsba

D EFINCI

Egy maximalizlsi problmban az LP optimlis megoldsa egy olyan pont a lehetsges megoldsok halmazban, amelyikhez a legnagyobb clfggvnyrtk tartozik.
Hasonl mdon egy minimalizlsi problmban az optimlis megolds egy olyan
pont a lehetsges megoldsok halmazban, ahol a clfggvny rtke a legkisebb.
A legtbb LP-nek csak egy optimlis megoldsa van. Mindazonltal bizonyos LP-knek
nincs optimlis megoldsa, msoknak pedig vgtelen sok optimlis megoldsuk is lehet
(ezeket az eseteket a 3.3 alfejezetben trgyaljuk). A 3.2 alfejezetben megmutatjuk, hogy a
Giapetto problmnak egyetlen optimlis megoldsa van (x1 = 20, x2 = 60). Ez a megolds a
z = 3x1 + 2x2 = 3(20) + 2(60) = 180$
clfggvnyrtket adja.
Amikor azt mondjuk, hogy (x1 = 20, x2 = 60) a Giapetto problma optimlis megoldsa,
akkor azt lltjuk, hogy a lehetsges megoldsok halmazban nincsen olyan pont, amelyhez
180-nl nagyobb clfggvnyrtk tartozna. Giapetto gy tudja maximalizlni a profitjt,
ha 20 katont s 60 vonatot gyrt hetenknt. Ha Giapetto elhatrozza, hogy minden hten 20
katont s 60 vonatot gyrt, akkor a heti profitja: 180$ mnusz a heti fix kltsgek. Pldul,
ha Giapetto egyetlen fix kltsge a 100$ heti brleti dj, akkor a heti profit 180 100 = 80$
lenne.

Feladatok
A csoport
1. Jones farmernek el kell dntenie, hogy ebben az vben
hny hold kukorict s hny hold bzt ltessen. Egy hold
hozama 25 mzsa bza, s ez az egy hold heti 10 ra munkt ignyel. Egy hold hozama 10 mzsa kukorica, s ez az
egy hold heti 4 ra munkt ignyel. A bza mzsnknt 4$rt adhat el, s a kukorica eladsi ra 3$ mzsnknt. A
farmernak ht hold fldje van s heti 40 munkara ll rendelkezsre. Kormnyzati elors rtelmben ebben az vben legalbb 30 mzsa kukorict kell termelni. Legyen x1 =
ahny hold kukorict ltet Jones farmer s x2 = ahny hold
bzt ltet. Ezeket a dntsi vltozkat hasznlva rja fel
azt az LP-t, amelynek megoldsa megadja Jones farmernek
a vlaszt arra, hogy hogyan maximalizlja a bzbl s kukoricbl szrmaz teljes jvedelmet!
2. Vlaszolja meg az 1. feladatra vonatkoz albbi krdseket!
(a) Benne van-e a lehetsges megoldsok halmazban
(x1 = 2, x2 = 3)?

3. Vezessk be Jones farmer problmjban a kvetkezo


vltozkat: x1 = ahny mzsa kukorict termel Jones farmer
s x2 = ahny mzsa bzt termel. rja t Jones LP-jt az j
vltozk segtsgvel!
4. A Truckco cg ktfle teherautt gyrt: 1-est s 2-est.
A gyrts sorn minden teherautnak vgig kell mennie a
festomuhelyen s az sszeszerelo muhelyen. Ha a festomuhelyben kizrlag csak 1-es tpus teherautkat festennek,
akkor naponta 800 teherautt lehetne befesteni, viszont ha
kizrlag csak 2-es tpus teherautkat festennek, akkor
napi 700-at lehetne megcsinlni. Ha az sszeszerelo muhely kizrlag csak 1-es tpus teheraut motorokat szerelne ssze, akkor naponta 1500 darabot tudnnak sszeszerelni, viszont ha az sszeszerelo muhely kizrlag 2-es tpus teherautkhoz val motorokkal dolgozna, akkor ebbol
naponta 1200-at lehetne sszeszerelni. Minden 1-es tpus
teheraut 300 dollrral jrul hozz a profithoz; minden 2-es
tpus teheraut 500 dollrral jrul hozz a profithoz. Fogalmazzon meg egy LP-t, amely maximalizlja a Truckco cg
profitjt!

(b) Benne van-e a lehetsges megoldsok halmazban


(x1 = 4, x2 = 3)?

B csoport

(c) Benne van-e a lehetsges megoldsok halmazban


(x1 = 2, x2 = 1)?

5. Mirt nem engedheto meg egy LP-ben < vagy > alak
felttel?

(d) Benne van-e a lehetsges megoldsok halmazban


(x1 = 3, x2 = 2)?

3.2. A ktvltozs lineris programozsi feladat grafikus megoldsa

3.2.

59

A ktvltozs lineris programozsi feladat grafikus


megoldsa
Brmely LP, amelyben csak kt vltoz van, megoldhat grafikusan. A vltozkat mindig
x1 s x2 -vel jelljk, s a koordinta tengelyeket x1 tengelynek s x2 tengelynek tekintjk.
Tegyk fel, hogy brzolni akarjuk azon pontok halmazt, amelyek kielgtik a kvetkez o
egyenlotlensget:
2x1 + 3x2 6
(7)
Ugyanezek az (x1 , x2 ) pontok kielgtik a

3x2 6 2x1
egyenlotlensget is. Ez utbbi egyenlotlensg trhat
x2 31 (6 2x1) = 2 32 x1

(8)

alakba is.
Mivel az brn lefel mozogva x2 rtkei cskkennek (lsd 1. bra), azon pontok, amelyek kielgtik (8)-at s (7)-et, az x2 = 2 32 x1 egyenesen vagy alatta fekszenek. A pontoknak ez a halmaza az 1. brn sttebbre rnyalva lthat. Megjegyezzk mindazonltal,
hogy x2 = 2 23 x1 , 3x2 = 6 2x1 s 2x1 + 3x2 = 6 mind ugyanazt az egyenest adjk. Ez azt
jelenti, hogy azok a pontok, amelyek kielgtik a (7) egyenl o tlensget, a 2x1 +3x2 = 6 egyenesen vagy alatta fekszenek. Hasonlan, azok a pontok, amelyek kielgtik a 2x 1 + 3x2 6
egyenlotlensget, a 2x1 + 3x2 = 6 egyenesen vagy fltte fekszenek. (Ez utbbi pontok az
1. brn vilgosabbra rnyalva lthatk.)
Tekintsnk egy lineris egyenlotlensggel adott felttelt az f (x1 , x2 ) b vagy f (x1 ,
x2 ) b formban. ltalban be lehet bizonytani, hogy kt dimenziban azon pontok
halmaza, amelyek kielgtenek egy lineris egyenlo tlensget, tartalmazza az f (x1 , x2 ) = b
egyenes pontjait, valamint az egyenes egyik oldaln levo pontokat.
1.

BRA

x2
5

Lineris
egyenlotlensg
brzolsa

A 2x1+3x26 pontjai
4

A 2x1+3x26 pontjai

3
x2=2- 23 x1
2

_2

(0, 0)

_1

_1

x1

60

3. fejezet Bevezets a lineris programozsba

Nagyon knnyen kitallhatjuk annak a mdjt, hogy megtalljuk az egyenesnek azt az


oldalt, amely az f (x1 , x2 ) b vagy f (x1 , x2 ) b feltteleknek felel meg. Egyszeruen vlasztunk egy tetszoleges P pontot, amelyik nincs rajta az egyenesen. Ezutn eldntjk, hogy
P kielgti-e az egyenlotlensgnket. Ha igen, akkor az egyenesnek ugyanezen az oldaln
levo minden pont kielgti az egyenlo tlensget. Ha P nem elgti ki a vizsglt egyenlo tlensget, akkor az f (x1 , x2 ) = b egyenes msik oldaln levo pontok (teht amelyik oldal nem
tartalmazza P-t) elgtik ki az egyenlotlensget. Pldul annak eldntsre, hogy vajon a
2x1 + 3x2 6 egyenlotlensget a 2x1 + 3x2 = 6 egyenes alatti vagy fltti pontok elgtik-e
ki, szrevesszk, hogy (0, 0) nem elgti ki a 2x1 + 3x2 6-ot. Mivel (0, 0) a 2x1 + 3x2 = 6
egyenes alatt van, a 2x1 + 3x2 6-ot kielgto pontok halmaza tartalmazza a 2x1 + 3x2 = 6
egyenes pontjait, valamint a 2x1 + 3x2 = 6 egyenes fltti pontokat. Ez megegyezik azzal,
amit az 1. brn ltunk.

A lehetsges megoldsok elolltsa


Egy ktvltozs LP megoldst Giapetto problmjval illusztrljuk. El o szr is grafikusan meghatrozzuk a lehetsges megoldsok halmazt. A lehetsges megoldsok halmaza
Giapetto problmjban az sszes olyan (x1 , x2 ) pontok halmaza, amelyek kielgtik a kvetkezo feltteleket:
2x1 + x2 100
x1 + x2 80
x1
40

x1

x2 0

(korltoz felttelek)

(2)
(3)
(4)

(nemnegativitsi felttelek)

(5)
(6)

Ahhoz, hogy egy (x1 , x2 ) pont a lehetsges megoldsok kztt legyen, (x1 , x2 )-nek ki
kell elgtenie a (2)(6) egyenlotlensgek mindegyikt. Figyeljk meg, hogy azok a pontok,
amelyek (5) s (6)-nak megfelelnek, az x1 x2 sk elso negyedben vannak. Ezt a 2. bra gy
szemllteti, hogy az x1 s x2 tengelyeken nyilak mutatnak az x2 tengelytol jobbra, illetve
az x1 tengelytol felfel.
gy azok a pontok, amelyek az elso negyeden kvl fekszenek, nem lehetnek benne a
lehetsges megoldsok halmazban. Ez azt jelenti, hogy a lehetsges megoldsok halmaza
azon pontok sszessge lesz az elso negyedben, amelyek kielgtik a (2)(4) feltteleket.
A lineris egyenlotlensgeket kielgto pontok halmaznak meghatrozsra szolgl
mdszernk segt abban, hogy megtalljuk a (2)(4)-et kielgt o pontokat. A 2. brbl
lthat, hogy a (2) felttel az AB egyenesen lvo s az alatta fekvo pontokra teljesl (AB a
2x1 + x2 = 100 egyenes). A (3) egyenlo tlensget a CD egyenes pontjai s az alatta fekvo
pontok elgtik ki (CD az x1 + x2 = 80 egyenes). Vgl, a (4) felttel minden olyan pontra
teljesl, amelyek vagy rajta vannak az EF egyenesen, vagy t o le balra helyezkednek el (EF
az x1 = 40 egyenes). Az egyeneseknek az egyenlo tlensgeket kielgto oldalait a 2. brn
kis nyilakkal jelezzk.
A 2. brbl lthatjuk, hogy azok a pontok az elso negyedben, amelyek kielgtik a (2),
(3) s (4)-et, a DGFEH tszg ltal hatrolt terleten helyezkednek el. Ennek az tszgnek
vagy a belsejnek minden pontja benne van a lehetsges megoldsok halmazban. Minden
ms pontja a sknak a (2)(6) felttelek kzl legalbb egynek nem felel meg. Pldul a
(40, 30) pont a DGFEH tszgn kvl fekszik, mert az AB egyenes szakasz fltt van.
gy a (40, 30) pont nem lehetsges megolds, mivel nem elgti ki a (2) felttelt.
Egy nagyon egyszeru mdszer a lehetsges megoldsok halmaznak meghatrozsra
az is, ha a nemlehetsges pontok halmazt keressk meg. Vegyk szre, hogy az AB egye-

3.2. A ktvltozs lineris programozsi feladat grafikus megoldsa

2.

BRA

Giapetto
problmjnak
grafikus
megoldsa

61

x2
100

B
(2)

80

Lehetsges tartomny

(4)

60

40
(40, 30)
z=100
(3)
20

F
z=60
z=180
E

10

20

40

A
50

C
60

80

x1

nes fltti pontok a 2. brn nem lehetsges pontok, mert nem elgtik ki (2)-t. Hasonl
mdon lthatjuk, hogy minden CD fltti pont nemlehetsges, mert nem elgtik ki (3)at. Tovbb az EF-tol jobbra fekvo pontok sem lehetsgesek, mert nem elgtik ki (4)-et.
Amint kizrtuk a nemlehetsges pontokat, megmarad a (DGFEH) alakzat, vagyis a lehetsges megoldsok halmaza.

Az optimlis megolds
Miutn a Giapetto problmban megtalltuk a lehetsges megoldsok halmazt, megkeressk az optimlis megoldst. Az optimlis megolds az a pont a lehetsges megoldsok
halmazban, amelyhez a z = 3x1 + 2x2 fggvny legnagyobb rtke tartozik. Ahhoz, hogy
az optimlis megoldst megtalljuk, be kell rajzolnunk az brba egy olyan egyenest, amelyen a rajta fekvo pontokhoz ugyanaz a z rtk tartozik. Egy max problmban egy ilyen
egyenest profit szintvonalnak neveznk (egy min problmban pedig kltsg szintvonalnak nevezzk). Egy profit szintvonal berajzolshoz kivlasztunk egy tetsz o leges pontot a
lehetsges megoldsok halmazbl, s kiszmtjuk a hozztartoz z rtket. Vlasszuk pldul a (20, 0) pontot. Ekkor z = 3(20) + 2(0) = 60. gy a (20, 0) pont a z = 3x 1 + 2x2 = 60
szintvonalon fekszik. Ha trjuk a 3x1 + 2x2 = 60 egyenletet x2 = 30 23 x1 alakba, ltjuk, hogy a 3x1 + 2x2 = 60 szintvonalnak 32 a meredeksge. Mivel minden szintvonal
3x1 + 2x2 = konstans alak, a profit szintvonalaknak (ebben a problmban) azonos irnytangensk van. Ez azt jelenti, hogy amint egyszer mr berajzoltunk egy profit szintvonalat,
az sszes tbbit gy tallhatjuk meg, hogy a berajzolt szintvonalat nmagval prhuzamosan eltoljuk.

62

3. fejezet Bevezets a lineris programozsba

Most mr vilgos, hogyan talljuk meg egy ktvltozs LP optimlis megoldst. Miutn berajzoltunk egyetlen profit szintvonalat, ltrehozunk ms szintvonalakat gy, hogy
a berajzolt profit szintvonalat prhuzamosan eltoljuk abba az irnyba, amerre z rtke n o
(egy max problmban). Egy bizonyos pont utn az eltolt szintvonal tbb mr nem metszi a lehetsges megoldsok halmazt. A legutols pont, ahol a szintvonal metszi (rinti) a
lehetsges halmazt, megadja a legnagyobb z rtket a lehetsges megoldsok halmaznak
pontjaihoz tartoz rtkek kzl. Ezzel egyttal megmutatja az LP optimlis megoldst.
A mi problmnkban a z = 3x1 + 2x2 clfggvny rtkei nonek, ha abban az irnyban
mozdulunk, amerre x1 is s x2 is nvekszik. gy most olyan jabb profit szintvonalakat
rajzolunk, amelyek prhuzamosak a 3x1 + 2x2 = 60-nal s attl szakkeletre vannak (azaz
flfel s jobbra mozgunk prhuzamosan). A 2. brbl lthatjuk, hogy a G ponton tmen o
szintvonal az utols, amelyiknek mg van kzs pontja a lehetsges halmazzal. gy G az
a pont a lehetsges megoldsok halmazban, amelyhez a legnagyobb z rtk tartozik, s
ezltal a Giapetto problma optimlis megoldsa. Figyeljk meg, hogy G a 2x 1 + x2 = 100
s az x1 + x2 = 80 egyenesek metszspontja. Az e kt egyenletbo l ll egyenletrendszert
megoldva azt kapjuk, hogy (x1 = 20, x2 = 60) a Giapetto problma optimlis megoldsa.
A z fggvny optimlis rtkt gy kapjuk, hogy x1 s x2 ezen rtkeit a clfggvnybe
helyettestjk. gy a z optimlis rtke z = 3(20) + 2(60) = 180.

Aktv s nemaktv felttelek


Amint megtalltuk egy LP optimlis megoldst, a felttelek osztlyozsa nagyon hasznos
(lsd 5. s 6. fejezet) abbl a szempontbl, hogy aktv vagy nemaktv felttelekr o l van-e
sz?

D EFINCI

Egy felttel aktv, ha a dntsi vltozknak az optimlis megoldshoz tartoz rtkeit


a felttelbe helyettestve a felttel bal oldala egyenlo a jobb oldallal.
gy (2) s (3) aktv felttelek.

D EFINCI

Egy felttel nemaktv, ha a dntsi vltozknak az optimlis megoldshoz tartoz


rtkeit a felttelbe helyettestve a bal oldal nem egyenlo a jobb oldallal.
Mivel x1 = 20 kisebb, mint 40, ezltal (4) egy nemaktv felttel.

Konvex halmazok, extremlis pontok s az LP


A Giapetto problma lehetsges megoldsainak halmaza a konvex halmazok egy pldja.

D EFINCI

Pontok S halmaza konvex halmaz, ha S brmely kt pontjt sszekt o szakasz teljes


egszben S-ben van.
A 3. bra erre a defincira mutat ngy pldt. A 3a s 3b brkban S brmely kt pontjt sszekto szakasz csak S elemeit tartalmazza. gy e kt brban S konvex halmaz. A
3c s 3d brkban S nemkonvex. Mindkt brban A s B benne vannak az S halmazban,
de az AB szakasznak vannak olyan pontjai, amelyek nem elemei az S halmaznak. A lineris programozsra vonatkoz tanulmnyainkban klnleges jelent o sge van egy konvex
halmaz bizonyos tpus pontjainak (amelyeket extremlis pontoknak neveznk).

63

3.2. A ktvltozs lineris programozsi feladat grafikus megoldsa

3. B R A
Konvex s
nemkonvex
halmazok

S=rnykolt terlet
A
A

C
(a)

D EFINCI

(b)

(c)

(d)

Egy konvex S halmaz egy P pontja az S extremlis pontja, ha a P vgpontja minden


olyan szakasznak, amelyik teljes egszben S-ben fekszik s tartalmazza a P pontot.
Pldul a 3a brn a kr kerletnek minden pontja a kr extremlis pontja. A 3b brn
A, B, C s D pontok extremlis pontjai S-nek. Br az E pont az S hatrn van a 3b brn,
E nem extremlis pontja S-nek. Mint lthat, E az AB szakaszon fekszik (AB teljes egszben S-ben van), de E nem vgpontja az AB szakasznak. Az extremlis pontokat nha
cscspontoknak is nevezik, mert ha S egy sokszg, akkor az S extremlis pontjai valban
a sokszg cscspontjai.
Giapetto problmjban a lehetsges megoldsok halmaza konvex halmaz. Ez nem vletlen: bizonythat, hogy brmely LP lehetsges megoldsainak halmaza konvex halmaz.
A 2. brn lthatjuk, hogy a lehetsges megoldsok halmaznak extremlis pontjai egyszeruen a D, F, E, G s H pontok. Bizonythat, hogy brmely LP lehetsges halmazban az
extremlis pontok szma vges. Figyeljk meg azt is, hogy a Giapetto problma optimlis
megoldsa (G pont) a lehetsges megoldsok halmaznak extremlis pontja. Bizonythat,
hogy minden olyan LP, amelynek van optimlis megoldsa, tartalmaz egy olyan extremlis
pontot, amelyik optimlis. Ez az eredmny nagyon fontos, mert gy elegend o az optimlis megoldst az extremlis pontok halmazban keresni (a lehetsges megoldsok halmaza
rendszerint vgtelen sok pontbl ll, mg az extremlis pontok halmaza vges sok pontot
tartalmaz).
Giapetto problmjban nagyon knnyu beltni, hogy az optimlis megolds szksgkppen a lehetsges halmaz egy extremlis pontja. szrevettk, hogy z rtke nvekszik,
amint a profit szintvonalat szakkeleti irnyba eltoljuk, ezltal biztos volt, hogy a legnagyobb z rtk egy olyan P ponthoz tartozik, amelyto l szakkeletre mr nincs pontja a
lehetsges halmaznak. Ez azt jelenti, hogy az optimlis megoldsnak valahol a DGFEH
lehetsges halmaz hatrn kell lennie. Az LP-nek szksgkppen kell hogy legyen egy optimlis pontja, mivel minden olyan szakaszra, amelyik a lehetsges halmaz hatrn fekszik,
a legnagyobb z rtk a szakasz valamelyik vgpontjhoz tartozik.
Ennek beltsra tekintsk a 2. brn az FG szakaszt. FG rsze a 2x 1 + x2 = 100 egyenesnek s a meredeksge 2. Ha FG mentn elmozdulunk s x 1 -et 1-gyel cskkentjk,
akkor x2 2-vel nvekedni fog. Egyttal z rtke a kvetkezo kppen vltozik: 3x1 rtke
3(1) = 3-mal cskken s 2x2 rtke 2(2) = 4-gyel nvekszik. gy sszessgben z rtke
4 3 = 1-gyel nvekszik. Ez azt jelenti, hogy FG mentn a cskken o x1 irnyba elmozdulva, z rtke nvekszik. gy a z rtknek a G pontban meg kell haladnia a z-nek az FG
szakasz brmely ms pontjban felvett rtkt.
Hasonl okoskodssal belthat, hogy tetszo leges clfggvny esetn z rtke egy adott
szakaszon a szakasz egyik vgpontjban lesz maximlis. Ezrt brmely LP esetn a lehetsges halmazhoz tartoz legnagyobb z rtk egy olyan szakasz valamelyik vgpontjban lesz

64

3. fejezet Bevezets a lineris programozsba

elrheto, amely szakasz ppen a lehetsges megoldsok halmazt hatrolja. Rviden, a lehetsges halmaz valamelyik extremlis pontjnak optimlisnak kell lennie. (Ha az olvas
ellenorizni szeretn az eddigiek megrtst, akkor mutassa meg, hogy ha Giapetto clfggvnye z = 6x1 +x2 lenne, akkor az F pont lenne az optimlis, mg ha Giapetto clfggvnye
z = x1 + 6x2 lenne, akkor a D pont lenne az optimlis.)
Annak a bizonytsa, hogy egy LP-nek mindig van optimlis extremlis pontja, nagyon
komolyan tmaszkodik arra a tnyre, hogy mind a clfggvny, mind pedig a felttelek
lineris fggvnyek. A 10. fejezetben megmutatjuk, hogy egy olyan optimalizlsi problmban, ahol a clfggvny, vagy nhny felttel nem lineris, az optimalizlsi problma
optimlis megoldsa esetleg nem extremlis pontban van.

Minimalizlsi problmk grafikus megoldsa

2.

PLDA

A Dorian Auto cg luxusautkat s teherautkat gyrt. A vllalat gy gondolja, hogy vsrli legnagyobb valsznusggel magas jvedelmu no k s frfiak. Ennek a fogyaszti
csoportnak a megnyersre a Dorian Auto egy komoly tv-hirdetsi kampnyt indtott s
elhatrozta, hogy 1 perces reklmhelyeket vsrol ktfle tpus tvmusorban: vidm musorokban s futballmeccsek alatt. Minden kabarbeli reklmot 7 milli magas jvedelmu
no s 2 milli magas jvedelmu frfi nz. Minden futballmeccs alatti reklmot 2 milli
magas jvedelmu no s 12 milli magas jvedelmu frfi nz. Az egyperces kabarbeli reklm 50 000 dollrba kerl, s az egyperces futballmeccs alatti reklm ra 100 000 dollr.
Dorian azt szeretn, ha hirdetseit legalbb 28 milli magas jvedelmu n o s 24 milli magas jvedelmu frfi ltn. Alkalmazzuk a lineris programozst arra, hogy a Dorian cg a
reklmcljait minimlis kltsgek mellett rje el!

Megolds

Dorian-nek el kell dntenie, hogy hny egyperces kabar- s futball-reklmot vegyen, gy


a dntsi vltozk:
x1 = a kabar alatti egyperces reklmok szma
x2 = a futballmeccs alatti egyperces reklmok szma
Dorian minimalizlni akarja a teljes reklmkltsget (ezer dollrban):
Teljes reklmkltsg = kabar alatti + futballmeccs alatti reklm kltsge



kltsg
sszes kabar
=
alatti reklm
kabar alatti reklm



kltsg
sszes futballmeccs
+
alatti reklm
futballmeccs alatti reklm
= 50x1 + 100x2
Ezltal Dorian clfggvnye
min z = 50x1 + 100x2
A felttelek a kvetkezok:
1. felttel A reklmokat lssa legalbb 28 milli magas jvedelmu n o .
2. felttel A reklmokat lssa legalbb 24 milli magas jvedelmu frfi.

(9)

3.2. A ktvltozs lineris programozsi feladat grafikus megoldsa

4.

BRA

65

x2

A Dorian
problma grafikus
megoldsa
14

12
10

(10)
8
6
4

(4, 4)
z=320

z=600
E

(11)

A
2

x1
4

10

12

14

Most az 1. s 2. felttelt kifejezzk x1 s x2 segtsgvel. MJN-nel jelljk azon magas


jvedelmu nok szmt, akik nznek reklmot, MJF pedig a reklmot nz o magas jvedelmu
frfiak szmt jelli (millikban).



MJN
sszes kabar
MJN =
alatti reklm
kabar alatti reklm



MJN
sszes futballmeccs
+
alatti reklm
futballmeccs alatti reklm
= 7x1 + 2x2



MJF
sszes kabar
MJF =
alatti reklm
kabar alatti reklm



MJF
sszes futballmeccs
+
alatti reklm
futballmeccs alatti reklm
= 2x1 + 12x2
gy most mr felrhatjuk az 1. felttelt:

s a 2. felttelt:

7x1 + 2x2 28

(10)

2x1 + 12x2 24

(11)

Az x1 0 s x2 0 nemnegativitsi felttelek is szksgesek, ezltal Dorian LP-je a


kvetkezo:
min z = 50x1 + 100x2
f.h.

7x1 + 2x2 28
2x1 + 12x2 24
x1 , x2 0

(MJN)
(MJF)

Ez a feladat az LP alkalmazsoknak egy igen szleskruen alkalmazott tpusa, amelyben


a dntshoz minimalizlni akarja a kltsgeket bizonyos adott felttelek mellett. Ennek az

66

3. fejezet Bevezets a lineris programozsba

LP-nek a grafikus megoldshoz elo szr is felrajzoljuk a lehetsges megoldsok halmazt


(4. bra).
Figyeljk meg, hogy a (10) felttelt kielgto pontok az AB egyenesen vagy fltte vannak (AB a 7x1 + 2x2 = 28 egyenes egy rsze), a (11) felttelt kielgto pontok pedig a CD
egyenesen vagy fltte vannak (CD a 2x1 + 12x2 = 24 egyenes rsze). A 4. brn lthatjuk,
hogy az elso sknegyednek csak azok a pontjai felelnek meg a (10) s (11)-nek egyszerre,
amely pontok halmazt az x1 tengely, CEB s az x2 tengely hatrolja. Ez rnykolva lthat.
Hasonlan a Giapetto problmhoz, a Dorian problmban is konvex a lehetsges megoldsok halmaza. Msrszt azonban a Dorian problmban, a Giapettval ellenttben, a
lehetsges megoldsok halmaza olyan, hogy legalbb egy vltoz tetsz o legesen nagy rtkeket vehet fel. Egy ilyen lehetsges halmazt nemkorltos lehetsges megoldshalmaznak neveznk.
Mivel Dorian minimalizlni akarja a teljes reklmkltsget, az optimlis megolds ebben a feladatban a lehetsges halmaznak az a pontja, amelyhez a legkisebb z rtk tartozik. Az optimlis megolds megtallshoz be kell rajzolnunk egy kltsg szintvonalat,
amely metszi a lehetsges megoldsok halmazt. Egy kltsg szintvonal egy olyan egyenes, amelynek mentn minden ponthoz ugyanakkora z rtk tartozik (vagyis ugyanakkora
kltsg). Vlasztunk egy tetszoleges pontot (x1 = 4, x2 = 4) s megrajzoljuk az ezen a
ponton tmeno szintvonalat. Mivel erre a pontra z = 50(4) + 100(4) = 600, a szintvonal a
z = 50x1 + 100x2 = 600 egyenes lesz.
Most tekintsk az 50x1 + 100x2 = 600 kltsg szintvonallal prhuzamos olyan szintvonalakat, amelyek az elobbitol dlnyugatra, azaz a cskkeno z irnyban vannak. A lehetsges megoldsok halmaznak utols olyan pontja, amely mg metszsben van egy szintvonallal, lesz a lehetsges halmaznak az a pontja, amelyhez a legkisebb z rtk tartozik. A
4. brbl lthatjuk, hogy E pont az, amelyikhez a legkisebb lehetsges z rtk tartozik; ez
a Dorian problma optimlis megoldsa. Vegyk szre, hogy az E pont a 7x 1 + 2x2 = 28
s 2x1 + 12x2 = 24 egyenesek metszspontja. E kt egyenletet egyenletrendszerknt megoldva kapjuk az optimlis megoldst (x1 = 3.6, x2 = 1.4). Az optimlis z rtket ezutn
megkapjuk, ha x1 s x2 -nek ezeket az rtkeit behelyettestjk a clfggvnybe. gy az optimlis z rtk z = 50(3.6) + 100(1.4) = 320 = 320 000$. Mivel az E pontnl az MJN s
MJF felttelek mindegyike egyenlosg formjban teljesl, mindkt felttel aktv.
Megfelel-e a Dorian modell a 3.1. alfejezetben vzolt ngy lineris programozsi feltevsnek?
Ahhoz, hogy az arnyossgi feltevs rvnyesljn, minden egyes kabarreklmnak 7
milli MJN-t s 2 milli MJF-et kell hoznia. Ez ellentmond a gyakorlati tapasztalatoknak, melyek azt mutatjk, hogy egy bizonyos ido utn a reklmok ltal nvelt fogyaszts
cskkeno tendencit mutat. Ha pldul 500 egyperces reklm lement a tvben, akkor az
emberek tbbsge mr ltott egyet, gy nem sok rtelme van annak, hogy tovbb sugrozzk a reklmokat. Ez pedig azt jelenti, hogy az arnyossgi feltevs nem teljesl.
A Dorian modell felrsakor alkalmaztuk az additivitsi feltevst a korltoz felttelek
rszletezsnl: (MJN nzok) = (MJN kabar-nzok) + (MJN futball-nzok). A valsgban
nagyon sok ember fogja ltni mindkt Dorian reklmot, a kabar alatt is s a futballmeccs
alatt vettettet is. Ezeket az embereket mi dupln szmoltuk, ezltal a Dorian reklmokat
ltott emberek sszltszmrl pontatlan kpet kaptunk. Az a tny, hogy egy szemly egynl tbb reklmot is lthat, azt jelenti, hogy pldul a kabarreklm hatkonysga fgg a
futballreklmok szmtl. gy az additivitsi feltevs nem teljesl.
Amennyiben csak egyperces reklmok llnak rendelkezsre, sszerutlen azt mondani,
hogy Dorian vegyen 3.6 kabarreklmot s 1.4 futballreklmot. gy az oszthatsgi feltevs

3.3. Specilis esetek

67

sem teljesl, s a Dorian problmt egszrtku programozsi feladatknt kell felfogni. A


8.3. alfejezetben megmutatjuk, hogy ha Dorian problmjt integer programozssal oldjuk
meg, a minimlis kltsg vagy az (x1 = 6, x2 = 1) vagy az (x1 = 4, x2 = 2) optimlis
megoldshoz tartozik. Brmelyik megolds esetn a minimlis kltsg 400 000$. Ez 25%kal tbb, mint amit az LP optimlis megoldsaknt kaptunk.
Mivel nincs r md, hogy bizonyossggal tudjuk azt, hogy a tvreklmokat hnyan
nzik, a bizonyossgi feltevs sem teljesl. gy arra jutottunk, hogy a Dorian Auto problmban a lineris programozs ngy feltevse kzl egyik sem teljesl. Ezeknek a htrnyoknak az ellenre az elemzok ehhez hasonl modelleket alkalmaznak arra a clra, hogy
a vllalatok megtalljk az optimlis mdia-mixet.2

Feladatok
A csoport
1.

Oldja meg grafikusan a 3.1. alfejezet 1. feladatt!

2.

Oldja meg grafikusan a 3.1. alfejezet 4. feladatt!

3. A Leary Vegyimuvek hromfle vegyszert gyrt: A, B


s C vegyszereket. Ezeket az 1-es s 2-es eljrs kombincijval gyrtjk. Az 1-es eljrst egy rn keresztl mukdtetve a kltsg 4 dollr s az eredmny: 3 egysg A, 1
egysg B s 1 egysg C. A 2-es eljrs egy rja egy dollrba kerl s eredmnye 1 egysg A s 1 egysg B. A kereslet kielgtsre naponta legalbb 10 egysg A, 5 egysg B
s 3 egysg C lltand elo. Grafikus megolds segtsgvel
adjon meg egy olyan napi termelsi tervet, amely minimalizlja a kltsgeket s kielgti a napi keresletet!
4. A kvetkezo clfggvnyek mindegyikre hatrozza
meg azt az irnyt, amerre a clfggvny nvekszik:
(a) z = 4x1 x2

6. Jane farmernek 45 hold fldje van. Minden holdon bzt vagy kukorict vet. Egy hold elvetett bza 200$ profitot, egy hold kukorica 300$ profitot hoz. Az 1. tblzat mutatja az egy-egy hold megmuvelshez szksges munka- s
talajjavtvegyszer-szksgletet.
Rendelkezsre ll 100 munks s 120 tonna talajjavt szer.
Hasznljon lineris programozst annak eldntsre, hogyan tudja Jane a maximlis profitot elrni!

1.

(b) z = x1 + 2x2

(c) z = x1 3x2

5. A Furnco vllalat rasztalokat s szkeket gyrt. Minden rasztalhoz 4 egysg fa, a szkekhez 3 egysg fa szk-

3.3.

sges. Egy rasztalbl 40$, egy szkbol 25$ profit szrmazik. A piaci feltteleknek megfeleloen a legyrtott szkek
szmnak legalbb ktszer annyinak kell lennie, mint az rasztalok szma. 20 egysg fa ll rendelkezsre. rjon fel egy
LP-t a Furnco profitjnak maximalizlsra! Ezutn oldja
meg grafikusan az LP-t!

TBLZAT

Munka
Talajjavt

Bza

Kukorica

3 munks
2 tonna

2 munks
4 tonna

Specilis esetek
Mind a Giapetto problmban, mind Dorian problmjban egyrtelmu (azaz egyetlen)
optimlis megoldst kaptunk. Ebben az alfejezetben hrom olyan LP tpust vizsglunk meg,
amelyeknek nincs egyrtelmu megoldsa.
1. Nhny LP-nek vgtelen szm optimlis megoldsa van (alternatv vagy tbbszrs
optimlis megoldsok).
2.

Nhny LP-nek nincs lehetsges megoldsa (nem megoldhat LP-k).

3. Nhny LP nemkorltos: egy maximum problmban a lehetsges megoldsok halmazn a clfggvny tetszolegesen nagy z rtkeket vehet fel.
2 Lilien

s Kotler (1983).

68

3. fejezet Bevezets a lineris programozsba

Alternatv optimlis megoldsok


3.

PLDA

Egy autgyr szemlyautkat s teherautkat gyrt. A gyrts sorn minden egyes jrmunek vgig kell mennie a festomuhelyen s a karosszria sszeszerelo muhelyen. Ha a festomuhely csak teherautkat festene, naponta 40 darabot tudna lefesteni. Ha a fest o muhely
csak szemlyautkat festene, naponta 60 darabot tudna elkszteni. Ha a karosszriamuhely
csak szemlyautkat lltana ssze, naponta 50-et tudna megcsinlni. Ha a karosszriamuhely csak teherautkkal foglalkozna, naponta 50-et tudna sszelltani. Minden teheraut
300 dollrral s minden szemlyaut 200 dollrral jrul hozz a profithoz. Alkalmazzunk
lineris programozst a napi termelsi terv meghatrozshoz gy, hogy a vllalat profitja
maximlis legyen!

Megolds

A vllalatnak el kell dntenie, hogy naponta hny szemlyautt s teherautt gyrtson.


Ennek rtelmben a dntsi vltozk:
x1 = a naponta gyrtott teherautk szma
x2 = a naponta gyrtott szemlyautk szma
A vllalat napi profitja (szz dollrban) 3x1 + 2x2, gy a cg clfggvnye:
max z = 3x1 + 2x2

(12)

A korltoz felttelek a kvetkezo k:


1. felttel A munkanapnak az a rsze, amg a festo muhely dolgozik, kisebb vagy egyenlo ,
mint 1.
2. felttel A munkanapnak az a rsze, amg a karosszriamuhely dolgozik, kisebb vagy
egyenlo, mint 1.
Eddig teht a kvetkezoket tudjuk:
A festomuhelyben a munkanap teherautkra fordtott rsze



teherautkra fordtott munkanap rsz
teherautk =
=
nap
teherautk
A festomuhelyben a munkanap szemlyautkra fordtott rsze
=
A karosszriamuhelyben a munkanap teherautkra fordtott rsze =
A karosszriamuhelyben a munkanap szemlyautkra fordtott rsze =

1
40 x1
1
60 x2
1
50 x1
1
50 x2

Az 1. felttel teht gy fejezheto ki:


1
1
x1 + x2 1
40
60
A 2. felttel pedig gy fejezheto ki:

(festomuhely felttel)

1
1
x1 + x2 1
(karosszriamuhely felttel)
50
50
Mivel x1 0 s x2 0 feltteleknek is teljeslnik kell, a megfelelo LP:
max z = 3x1 + 2x2
1
1
x1 + x2 1
f.h.
40
60
1
1
x1 + x2 1
50
50
x1 , x2 0

(13)

(14)

(12)
(13)
(14)

3.3. Specilis esetek

5. B R A
A 3. plda grafikus
megoldsa

69

x2

B
60
(13)
50

40
30

z=100

20
(14)
10

z=60
A

C
x1

10

20

30

40

50

60

Ehhez az LP-hez tartoz lehetsges halmaz az 5. brn rnykolva lthat AEDF tartomny.3
Elso profit szintvonalnak vlasszuk azt az egyenest, amelyik tmegy a (20, 0) ponton.
Mivel a (20, 0) ponthoz a 3(20) + 2(0) = 60 z rtk tartozik, ezzel a z = 3x 1 + 2x2 = 60
profit szintvonalhoz jutottunk. Most megvizsgljuk az ezzel prhuzamos profit szintvonalakat a nvekvo z (szakkeleti) irnyban. Azt talljuk, hogy az utols pont a lehetsges
halmazban, amely metszi az egyik profit szintvonalat, az egsz AE szakasz. Ez azt jelenti,
hogy az AE szakasz minden pontja optimlis. AE brmelyik pontjt felhasznlhatjuk az
optimlis z rtk kiszmtsra. Pldul az A pont, (40, 0) adja a z = 3(40) = 120 rtket.
sszefoglalva, az autgyr LP-jnek vgtelen sok megoldsa van, vagy ms szval alternatv optimlis megoldsai vannak. Ezt onnan vehetjk szre, hogy ahogyan egy profit
szintvonal elhagyja a lehetsges megoldsok halmazt, egy teljes szakasszal fog egybeesni.
Ez a szakasz egy aktv felttelhez tartozik (ebben az esetben AE).
Ebbol a pldbl sszerunek ltszik (s bizonythat, hogy igaz is), hogy ha kt pont (itt
A s E) optimlis, akkor az e kt pont ltal meghatrozott szakasz minden pontja optimlis.
Ha az eredmnynk egy alternatv optimum, akkor a dntshoz mg egy jabb kritriumot felvehet a problmba, abbl a clbl, hogy vlasztani tudjon az optimlis megoldsok
kzl. Az autgyr igazgatinak esetleg szimpatikusabb az A pont, mert ez egyszerusti a
technolgit s az zletet (s mg gy is leheto v teszi a maximlis profit elrst) azzal,
hogy elg egyfle termket gyrtani (teherautkat).
A clprogramozst (lsd 12.1. alfejezet) gyakran alkalmazzk arra, hogy segtsgvel
az alternatv optimlis megoldsok kzl egyet kivlasszanak.

1
1
3 A (13) felttelt az AB-n fekvo
vagy alatta lvo pontok elgtik ki (AB az 40
x1 + 60
x2 = 1 egyenes), a (14)
1
1
felttelt pedig a CD-n lvo vagy az alatti pontok elgtik ki (CD az 50
x1 + 50
x2 = 1 egyenes).

70

3. fejezet Bevezets a lineris programozsba

Nem megoldhat LP
Elofordulhat, hogy egy LP lehetsges megoldsainak halmaza res, ennek eredmnye egy
nem megoldhat LP. Mivel egy LP optimlis megoldsa a lehetsges megoldsok halmaznak a legjobb pontja, ezrt egy nem megoldhat LP-nek nincs optimlis megoldsa.

4.

PLDA

Tegyk fel, hogy az autkereskedo k azt szeretnk, hogy a 3. pldban szereplo autgyr
legalbb 30 teherautt s 20 szemlyautt gyrtson. Keressk meg az j LP optimlis megoldst!

Megolds

A 3. plda LP-jhez hozzvesszk az x1 30 s x2 20 feltteleket. gy a kvetkezo LP


addik:
max z = 3x1 + 2x2
1
1
x1 + x2 1
f.h.
40
60
1
1
x1 + x2 1
50
50
x1

(15)
(16)

30

(17)

x2 20

(18)

x1 , x2 0
A lehetsges megoldsok halmaza a 6. brn lthat.

A (15) felttelt az AB egyenesen s alatta fekvo pontok elgtik ki (AB az


1
60 x2 = 1 egyenes).
A (16) felttelt a CD egyenesen s alatta fekvo pontok elgtik ki (CD az
1 egyenes).
6. B R A
res lehetsges
megoldsok
halmaza (nem
megoldhat LP)

1
40 x1

1
1
50 x1 + 50 x2 =

3.3. Specilis esetek

71

A (17) felttelt kielgto pontok az EF egyenesen s attl jobbra vannak (EF az


x1 = 30 egyenes).
A (18) felttelt kielgto pontok a GH egyenesen s fltte vannak (GH az x2 = 20
egyenes).
A 6. brbl nyilvnval, hogy nincs olyan pont, amelyik a (15)(18) felttelek mindegyikt kielgten. Ez azt jelenti, hogy a 4. plda lehetsges megoldsainak halmaza res,
ezltal ez egy nem megoldhat LP.
A 4. pldban az LP azrt nem megoldhat, mert 30 teheraut s 20 szemlyaut gyrtsa tbb munkart ignyel a festo muhelytol, mint amennyi rendelkezsre ll.

Nemkorltos LP
A kvetkezo specilis LP a nemkorltos tpus. Egy max problmban a nemkorltos LP
akkor fordul elo, ha a lehetsges megoldsok halmazban tallhatk olyan pontok, amelyekhez tetszolegesen nagy z rtkek tartoznak. Ez azt jelenten, hogy a dntshoz tetsz o legesen nagy jvedelemre vagy profitra tehet szert. Ez az okoskods azt is mutatja, hogy
ha egy problmhoz korrekt mdon rjuk fel az LP-t, akkor nemkorltos optimlis megolds nem fordulhat elo. gy, ha az olvas valamikor szmtgppel megold egy LP-t s azt
ltja, hogy az LP nemkorltos, akkor valsznuleg vagy az LP felrsakor, vagy az adatok
szmtgpbe vitelekor trtnt hiba.
Egy minimalizlsi problma esetn egy LP nemkorltos akkor, ha a lehetsges megoldsok halmazban tallhatk olyan pontok, amelyekhez tetsz o legesen kicsi z rtk tartozik.
Amikor egy LP-t grafikusan oldunk meg, akkor a nemkorltos LP a kvetkez o mdon lthat: egy max problma nemkorltos abban az esetben, ha amikor az eredeti profit szintvonalat a nvekvo z-k irnyba mozgatjuk, soha nem hagyjuk el a prhuzamos egyenesekkel a
lehetsges megoldsok halmazt. Egy minimalizlsi problma nemkorltos, ha soha nem
hagyjuk el a lehetsges megoldsok halmazt, amikor a cskken o z-k irnyba mozgunk.

5.

PLDA

Oldjuk meg grafikusan a kvetkezo LP-t:


max z = 2x1 x2
f.h.
x 1 x2 1
2x1 + x2 6
x1 , x2 0

Megolds

(19)
(20)

A 7. brbl lthatjuk, hogy (19)-et kielgtik az sszes olyan pontok, amelyek AB-n vagy
fltte vannak (AB az x1 x2 = 1 egyenes). A (20) felttelt azok a pontok elgtik ki, amelyek a CD egyenesen vagy fltte vannak (CD a 2x1 + x2 = 6 egyenes). gy az 5. pldhoz
tartoz lehetsges megoldsok halmaza az (rnykolt) nemkorltos tartomny a 7. brn.
Ezt a tartomnyt csak az x2 tengely, a DE szakasz s az AB egyenesnek E-bo l indul rsze
hatrolja. Az optimlis megolds megkeresshez rajzoljunk egy profit szintvonalat, amely
tmegy a (2, 0) ponton. Ehhez a szintvonalhoz a z = 2x1 x2 = 2(2) 0 = 4 rtk tartozik.
Nvekvo z rtkekhez a dlkeleti irny tartozik (ez x1 -et nveli s x2 -t cskkenti). Amint a
z = 2x1 x2-vel prhuzamosan dlkeleti irnyban mozgunk, ltjuk, hogy brmely szintvonal, amit rajzolunk, metszi a lehetsges halmazt. (Ez azrt van gy, mert brmely szintvonal
meredekebb, mint az x1 x2 = 1 egyenes.)

72

3. fejezet Bevezets a lineris programozsba

7. B R A
Egy nemkorltos
LP

x2

D
B

z=4
z=6

5
4
(19)

(20)
3
2
E
1
A

C
x1

gy a lehetsges megoldsok halmazban vannak olyan pontok, amelyekhez tetsz o legesen nagy z rtk tartozik. Pldul, ha szeretnnk a lehetsges tartomnyban egy olyan
pontot tallni, amelyre z 1 000 000, akkor brmelyik olyan pontot kivlaszthatjuk a lehetsges megoldsok halmazbl, amelyik a z = 1 000 000 profit szintvonaltl dlkeletre van.
Az utbbi kt alfejezetbol lthatjuk, hogy minden ktvltozs LP-re a kvetkezo ngy
eset egyike ll fenn:
1. eset Az LP-nek egyrtelmu megoldsa van.
2. eset Az LP-nek alternatv optimuma van: kt vagy tbb extremlis pont optimlis, s
ezltal az LP-nek vgtelen sok megoldsa van.
3. eset Az LP nem megoldhat: a lehetsges megoldsok halmaza res.
4. eset Az LP nemkorltos: a lehetsges tartomnyban vagy tetsz o leges nagy z rtku
pontok (max feladat), vagy tetszo legesen kis z rtku pontok (min feladat) vannak.
A 4. fejezetben megmutatjuk, hogy minden LP-re (nem csak a ktvltozs LP-re) a fenti
14. esetek egyike ll fenn.
Ennek a fejezetnek a htralevo rszben vgigvezetjk az olvast nhny bonyolultabb
lineris programozsi modell megfogalmazsn. Egy LP modell fellltsnak legfontosabb lpse a dntsi vltozk megfelelo megvlasztsa. Ha a dntsi vltozkat jl vlasztottuk meg, akkor a clfggvny s a felttelek felrsa mr nem okozhat tl nagy nehzsget. Ha nehezen megy az LP clfggvnynek s feltteleinek felrsa, ez rendszerint
azt jelenti, hogy gyetlenl vlasztottuk meg a dntsi vltozkat.

3.4. Egy trendi feladat

73

Feladatok
A csoport
Azonostsa a kvetkezo LP-ket aszerint, hogy az 14. esetek
melyike ll fenn:
1.

max z = x1 + x2
f.h.

x 1 + x2 4

LP optimlis megoldst megtallni (profit szintvonal vagy


kltsg szintvonal nlkl) egyszeruen gy, hogy kiszmtja
a z rtkeket a lehetsges halmaz minden egyes extremlis
pontjban! Mirt lehet ez a mdszer sikertelen, ha az LP lehetsges megoldsainak halmaza nemkorltos?
8. Keresse meg a kvetkezo LP sszes megoldst grafikusan:

x1 x 2 5

min z = x1 x2

x1 , x2 0

2.

f.h. x1 + x2 6
x1 x 2 0

max z = 4x1 + x2
f.h.

5x1 + 2x2 12
x1 , x2 0

3.

x2 x 1 3

8x1 + 2x2 16

x1 , x2 0

9.

Keressen kt optimlis megoldst a kvetkezo LP-re:


min z = 3x1 + 5x2

max z = x1 + 3x2
f.h.

f.h. 3x1 + 2x2 36

x 1 x2 4

3x1 + 5x2 45

x1 + 2x2 4

x1 , x2 0

x1 , x2 0

4.

max z = 3x1 + x2
f.h.

2x1 + x2 6
x1 + 3x2 9
x1 , x2 0

5. Igaz vagy hamis: Egy nemkorltos LP esetn az LP lehetsges megoldsainak halmaza szksgkppen nem korltos.
6. Igaz vagy hamis: Minden olyan LP-nek, amelyiknek a
lehetsges tartomnya nemkorltos, nemkorltos optimlis
megoldsa van.
7. Ha egy LP lehetsges megoldsainak halmaza nem
nemkorltos, akkor azt mondjuk, hogy az LP lehetsges halmaza korltos. Tegyk fel, hogy egy LP-nek korltos lehetsges tartomnya van. Magyarzza meg, mirt tudja az

3.4.

B csoport
10. Boris Milkem brker francia pnzzel (frank) s amerikai pnzzel (dollr) foglalkozik. jflkor 0.25 dollrrt tud
frankot vsrolni, dollrt pedig hrom frankrt vehet. Legyen x1 = a megvsrolt dollrmennyisg (frankrt) s x2 =
a megvsrolt frankmennyisg (dollrrt). Ttelezzk fel,
hogy a ktfajta tranzakci egyszerre trtnhet, s az egyetlen felttel az, hogy jfl utn egy perccel Boris pnze csak
nemnegatv lehet frankban is s dollrban is.
(a) lltson fl egy LP-t, amely lehetov teszi, hogy
Borisnak a tranzakcik vgrehajtsa utn maximlis
mennyisgu dollrja legyen!
(b) Oldja meg az LP-t grafikusan s elemezze a vlaszt!

Egy trendi feladat


Nagyon sok LP megfogalmazsnak (mint pldul a 2. plda s az itt kvetkez o trendi
problma) szksgessge abbl addik, hogy a dntshoz minimalizlni szeretn azokat
a kltsgeket, amelyek egy meghatrozott kvetelmnyrendszerb o l addnak.

6.

PLDA

Az trendem azt rja elo, hogy minden tel, amit megeszem, a ngy alapveto lelmiszercsoport egyikhez tartozzk. Jelenleg a kvetkezo ngyfle tel ll a rendelkezsemre:

74

3. fejezet Bevezets a lineris programozsba

csokis stemny, csokifagylalt, kla s ananszos trtorta. A csokis stemny darabja 50


centbe kerl, a csokifagylaltbl egy gombc 20 cent, minden veg kla 30 cent, s minden
darab ananszos trtorta 80 centbe kerl. Minden nap el kell fogyasztanom legalbb 500
kalrit, 6 deka csokoldt, 10 deka cukrot s 8 deka zsiradkot. A 2. tblzat mutatja az
lelmiszerek fajtnknti tprtkt. Fogalmazzunk meg egy lineris programozsi modellt,
amelynek segtsgvel minimlis kltsggel elgthetem ki a napi tprtkszksgletemet!
Megolds

Mint mindig, eloszr is hatrozzuk meg, hogy a dntshoznak milyen dntseket kell
hoznia: mennyit kell ennem naponta az egyes lelmiszerfajtkbl. gy mr definilhatjuk a
dntsi vltozkat:
x1 = a naponta megevett csokis stemnyek szma
x2 = a naponta megevett csokifagylalt, gombcban szmolva
x3 = a naponta megivott kla, vegben szmolva
x4 = a naponta megevett ananszos trtorta, szeletekben

2.

TBLZAT

Tprtkek
Csokis stemny
Csokifagylalt
(1 gombc)
Kla (1 veg)
Ananszos trtorta
(1 szelet)

Kalria

Csokold
(dekban)

Cukor
(dekban)

Zsiradk
(dekban)

400

200
150

2
0

2
4

4
1

500

Clom, hogy minimalizljam az trendem kltsgeit. Az trend kltsge meghatrozhat a


kvetkezokppen: (az trend teljes kltsge) = (a csokis stemnyek kltsge) + (a fagylalt
kltsge) + (a kla kltsge) + (a trtorta kltsge). A teljes kltsg kiszmtshoz
nzzk meg pldul, hogy



kltsg
a megivott veg
a kla kltsge =
= 30x3
klk szma
veg kla
Ugyanezt a gondolatmenetet a msik hrom lelmiszerre is alkalmazva (centben):
Az trend teljes kltsge = 50x1 + 20x2 + 30x3 + 80x4
gy a clfggvny

min z = 50x1 + 20x2 + 30x3 + 80x4

A dntsi vltozknak a kvetkezo ngy felttelt kell kielgtenik:


1. felttel A napi kalriafelvtel legalbb 500 kalria.
2. felttel A napi csokoldfelvtel legalbb 6 deka.
3. felttel A napi cukorfelvtel legalbb 10 deka.
4. felttel A napi zsiradkfelvtel legalbb 8 deka.
Az 1. felttelnek a dntsi vltozkkal val kifejezshez jegyezzk meg, hogy (napi kalria-felvtel) = (a csokis stemnybo l szrmaz kalria) + (a csokifagylaltbl szrmaz
kalria) + (a klbl szrmaz kalria) + (az ananszos trtortbl szrmaz kalria).

75

3.4. Egy trendi feladat

A csokis stemnyben fogyasztott kalria meghatrozsa:





kalria
megevett csokis
a csokis stemny kalriartke =
= 400x1
stemny
csokis stemny
Hasonl okoskodst kvetve a msik hrom lelmiszerre, azt kapjuk, hogy
a napi kalria-felvtel = 400x1 + 200x2 + 150x3 + 500x4
Az 1. felttel teht gy fejezheto ki:
A 2. felttel:
A 3. felttel:
A 4. felttel:

400x1 + 200x2 + 150x3 + 500x4 500


3x1 + 2x2
6
2x1 +
2x1 +

2x2 +
4x2 +

4x3 +
x3 +

4x4 10
5x4 8

(kalria felttel)
(csokold felttel)

(21)
(22)

(cukor felttel)
(zsiradk felttel)

(23)
(24)

Vgl a nemnegativitsi feltteleknek is teljeslnik kell: xi 0 (i = 1, 2, 3, 4).


sszefoglalva a clfggvnyt, a (21)(24) feltteleket s a nemnegativitsi feltteleket,
a kvetkezot kapjuk:
min z = 50x1 + 20x2 + 30x3 + 80x4
f.h. 400x1 + 200x2 + 150x3 + 500x4 500
3x1 + 2x2
6
2x1 +
2x1 +

2x2 +
4x2 +

4x3 +
x3 +

4x4 10
5x4 8

xi 0 (i = 1, 2, 3, 4)

(kalria felttel)
(csokold felttel)

(21)
(22)

(cukor felttel)
(zsiradk felttel)

(23)
(24)

(nemnegativitsi felttelek)

Ennek az LP-nek az optimlis megoldsa x1 = x4 = 0, x2 = 3, x3 = 1, z = 90. gy a


minimlis kltsgu trend napi 90 centbe kerl gy, hogy naponta 3 gombc fagylaltot
kell enni s egy veg klt meginni. Az optimlis z rtket gy kaphatjuk meg, hogy a
dntsi vltozk optimlis rtkt behelyettestjk a clfggvnybe. gy az sszkltsgre
z = 3(20) + 1(30) = 90 cent addik. Ez az optimlis trend a kvetkez o ket tartalmazza:
200(3) + 150(1) = 750 kalria
2(3) =

6 deka csokold

2(3) + 4(1) = 10 deka cukor


4(3) + 1(1) = 13 deka zsiradk
Eszerint a csokold s cukor felttelek aktv felttelek, de a kalria s a zsiradk felttel
nemaktv felttel.
Az trendi problmnak egy olyan vltozata, amelyben sokkal relisabb lelmiszerlista
s tpanyag-elors van, az elso olyan LP-k egyike volt, amelyet szmtgppel oldottak
meg. Stigler (1945) egy olyan trendi problmt lltott fel, amelyben 77-fle lelmiszer
llt rendelkezsre, s 10 tpanyagra vonatkoz kvetelmnyt (A-vitamin, C-vitamin, s
gy tovbb) kellett kielgteni. Amikor szmtgp segtsgvel megoldottk a feladatot,
az optimlis megolds a kvetkezo lelmiszerekbol tevodtt ssze: kukoricaliszt, bzaliszt, tejpor, fldimogyorvaj, zsr, marhahs, mj, burgonya, spent s kposzta. Az igaz,

76

3. fejezet Bevezets a lineris programozsba

hogy egy ilyen trend rendkvl j a tprtkek szempontjbl, mgis nagyon kevs ember volna elgedett vele, hiszen ez az trend lthatan a jzusg minimlis sznvonalnak
sem felel meg (s Stigler modellje szerint minden napra ugyanaz az trend lenne el o rva).
Egy tetszoleges LP modell optimlis megoldsa a valsgnak csak azokat a szempontjait
tudja figyelembe venni, amelyek a clfggvnyben s felttelekben benne foglaltatnak. A
Stigler-fle megfogalmazs (akrcsak a mink) az trendi problmban egyltaln nincs
tekintettel az embereknek arra az ignyre, hogy jzu s vltozatos trendet szeretnnek.
Egszrtku programozst alkalmaztak ms intzmnyek menszeru tkeztetsnek heti
vagy havi tervezsre.4A men-tervezsi modellek tartalmaznak olyan feltteleket is, amelyek a jzusgre s a vltozatossgra is tekintettel vannak.

Feladatok
A csoport
1. Hrom gyr (1, 2 s 3) teleplt a Momiss folyra.
Mindegyik gyr ktfle szennyezo anyagot (1 s 2) enged
a folyba. Ha a gyrakbl kibocstott szennyezo anyagot
kezelik, akkor a foly szennyezodse cskkentheto. Az 1-es
gyrbl szrmaz hulladk egy tonnjnak kezelse 15 dollrba kerl, s minden kezelt tonna a szennyezst a kvetkezokppen cskkenti: az 1-es szennyezo anyagot 0.1 tonnval, a 2-es szennyezo anyagot pedig 0.45 tonnval. A 2-es
gyr hulladknak kezelse 10 dollrba kerl tonnnknt,
s minden kezelt tonna az 1-es szennyezo anyagot 0,2 tonnval s a 2-es szennyezo anyagot 0.25 tonnval cskkenti.
A 3-as gyr hulladknak kezelse 20 dollr tonnnknt, s
minden kezelt tonna hulladk az 1-es fajta szennyezo anyagot 0.40 tonnval s a 2-es fajta szennyezo anyagot 0.30
tonnval cskkenti. Az llam legalbb 30 tonnval cskkenteni szeretn a folyba kerlo 1-es szennyezo anyagot,
a 2-es szennyezo anyagot pedig legalbb 40 tonnval. Fogalmazzon meg egy LP-t, amellyel minimalizlni lehet a
szennyezo anyagoknak a kvnt mennyisggel val cskkentsnek kltsgt! Gondolkozzon azon, hogy az LP feltevsek (arnyossg, additivits, oszthatsg s bizonyossg) sszeruek-e ebben a problmban?
2.5 Az U.S. Labs cg szvbillentyuket gyrt disznk szvbillentyuibol. Klnbzo szvmuttekhez klnbzo mretu
billentyuk szksgesek. Az U.S. Labs hrom klnbzo
szllttl vsrolja a disznbillentyuket. A 3. tblzat mutatja a kltsgeket s a mreteket a vsrland billentyukre
3.

TBLZAT

Egysgra ($)
1. szllt
2. szllt
3. szllt

5
4
3

Szzalkos megoszlsa
nagy kzepes kicsi
40
30
20

40
35
20

4 Blintfy

5 Hilal

20
35
60

(1976).
s Erickson (1981) alapjn.

vonatkozan. Az U.S. Labs mindegyik szllttl havonta


rendel. A havi szksglet legalbb 500 nagy, 300 kzepes s
300 kismretu billentyu. Mivel a disznk szvbillentyui erosen korltozott mennyisgben llnak rendelkezsre, mindegyik szllttl legfeljebb 500 billentyut lehet rendelni havonta. Fogalmazzon meg egy LP-t a szksges billentyuk
beszerzsi kltsgnek minimalizlsra!
3. Peg s Al Fundy csak keveset klthet lelmiszerre, gy
Peg megprblja olyan olcsn etetni a csaldjt, amennyire
csak lehet. Mindazonltal Peg biztos akar lenni abban, hogy
a csald minden tagja megkapja a napi szksges tprtket. Peg ktfle lelmiszert vsrolhat. Az 1-es lelmiszer 7
dollrba kerl fontonknt, s ennek minden fontja 3 egysg
A-vitamint s 1 egysg C-vitamint tartalmaz. A 2-es lelmiszer 1 dollr fontonknt, s minden fontban 1 egysg van
mindkt vitaminbl. A csald szksglete naponta legalbb
12 egysg A-vitamin s 6 egysg C-vitamin.
(a) Igazolja, hogy Pegnek naponta 12 egysgnyi 2-es
lelmiszert kell vsrolnia, s gy a C-vitamin-szksglet
6 egysggel fellmlja az elort mennyisget!
(b) Al a sarkra llt, s azt kveteli Pegtol, hogy a napi
vitaminszksglet pontosan 12 egysg A-vitaminnal s
6 egysg C-vitaminnal legyen kielgtve. Ennek az j
feladatnak az optimlis megoldsa kisebb C-vitamin-fogyasztst fog tartalmazni, mgis drgbb lesz. Mirt?
4. Goldilocksnak legalbb 12 font aranyat s legalbb 18
font ezstt kell tallnia ahhoz, hogy a havi lakbrt kifizesse. Kt bnya van, amelyekben Goldilocks aranyat s
ezstt tallhat. Minden olyan napon, amit Goldilocks az
1-es bnyban tlt el, tall 2 font aranyat s 2 font ezstt.
Minden olyan napon, amit Goldilocks a 2-es bnyban tlt
el, tall 1 font aranyat s 3 font ezstt. Fogalmazzon meg
egy LP-t gy, hogy Goldilocks teljesteni tudja a kvetelmnyeket, s a leheto legkevesebb idot tltse a bnykban!
Oldja meg az LP-t grafikusan!

3.5. Egy munkaszervezsi problma

3.5.

77

Egy munkaszervezsi problma


A lineris programozs nagyon sok alkalmazsa arra vonatkozik, hogy minimlis kltsg
mellett bizonyos fajta munkaero-kvetelmnyeket kell kielgteni. A kvetkezo plda azokat az alapveto jellegzetessgeket illusztrlja, amelyek az ilyen tpus alkalmazs tbbsgnl elofordulnak.

7.

PLDA

4. T B L Z A T
Munkaero-szksglet a
postahivatalban

Egy postahivatalban a ht klnbzo napjain eltro szm teljes munkaideju alkalmazott


munkjra van szksg. A 4. tblzat mutatja az egyes napokra vonatkoz teljes munkaideju munkaero-szksgletet.
Hny teljes munkaideju
alkalmazott kell
Htfo
Kedd
Szerda
Cstrtk
Pntek
Szombat
Vasrnap

17
13
15
19
14
16
11

A szakszervezeti trvny rtelmben minden teljes munkaideju alkalmazottnak 5 egymst kveto napon kell dolgoznia, s ezutn 2 szabadnap jr. Pldul egy olyan alkalmazott,
aki htfotol pntekig dolgozik, szombat-vasrnap szabadnapos lesz. A postahivatal gy
akarja napi munkaero-szksglett kielgteni, hogy csak teljes munkaideju alkalmazottakat foglalkoztat. Fogalmazzunk meg egy LP-t, amelyet a postahivatal arra tud hasznlni,
hogy a leheto legkevesebb teljes munkaidos alkalmazottat foglalkoztassa!
Megolds

Mielott megadnnk a problma korrekt megfogalmazst, foglalkozzunk egy nem korrekt megoldssal. Nagyon sokan gy kezdennek hozz a feladathoz, hogy x i legyen az
i-edik napon dolgoz alkalmazottak szma (1. nap = htfo , 2. nap = kedd, stb.). Ezutn gy okoskodnnak, hogy: (a teljes munkaideju alkalmazottak szma) = (htf o n dolgoz alkalmazottak szma) + (kedden dolgoz alkalmazottak szma) + + (vasrnap dolgoz alkalmazottak szma). Ez az okoskods a kvetkez o clfggvnyhez vezet: min z =
x1 + x 2 + + x 6 + x 7 .
Azt biztostand, hogy minden nap a megfelelo szm teljes munkaideju alkalmazott
dolgozzon a postahivatalban, ezutn hozzvennnk az x i (az i-edik napon szksges dolgozk szma) feltteleket. Pldul htfo re az x1 17 felttel vonatkozna. Figyelembe vve
az xi 0 (i = 1, 2, . . . , 7) nemnegativitsi feltteleket, a kvetkezo LP llna elo:
min z = x1 + x2 + x3 + x4 + x5 + x6 + x7
f.h.
x1
17
x2

13
15

x3
x4
x5
x6

19
14

16
x7 11

xi 0 (i = 1, 2, . . . , 7)

78

3. fejezet Bevezets a lineris programozsba

Ennek a megfogalmazsnak legalbb kt hibja van. Elo szr is a clfggvny nem a


teljes munkaideju postai alkalmazottak szma. Ez a fenti clfggvny minden alkalmazottat tszr szmol, nem egyszer. Pldul, minden olyan alkalmazott, aki htf o n kezd dolgozni, htfotol pntekig dolgozik s beleszmtdik x1 , x2 , x3 , x4 s x5 -be. Msodszor az
x1 , x2 , . . . , x7 vltozk sszefggnek egymssal, s ez az sszefggs a fenti felttelrendszerbol nem tunik ki. Pldul nhny olyan ember, aki htfo n dolgozik (az x1 emberek),
kedden is dolgozni fog. Ez azt jelenti, hogy x1 s x2 sszefgg, de a felttelek nem mutatjk, hogy x1 rtke befolysolja x2 rtkt.
A problma korrekt megfogalmazsnak kulcsa az, hogy felismerjk: a postahivatal elsodleges dntse nem az, hogy hny ember dolgozik az egyes napokon, hanem sokkal inkbb az, hogy az egyes napokon hny ember kezdi meg a munkt. Erre gondolva, a dntsi
vltozkat gy is fogalmazzuk meg, azaz
xi = azon alkalmazottak szma, akik az i-edik napon kezdenek dolgozni
Pldul x1 azoknak az embereknek a szma, akik htfo n kezdenek dolgozni (ezek az
emberek htfotol pntekig dolgoznak). Miutn a vltozkat megfelelo mdon definiltuk,
mr knnyu lesz a j clfggvnyt s a korrekt feltteleket megfogalmazni. A clfggvny
meghatrozshoz vegyk szre, hogy (a teljes munkaideju alkalmazottak szma) = (a
htfon dolgozni kezdo alkalmazottak szma) + (a kedden dolgozni kezdo alkalmazottak
szma) + + (a vasrnap dolgozni kezdo alkalmazottak szma). Miutn minden egyes
alkalmazott a ht egy meghatrozott napjn kezd dolgozni, gy nem szmoljuk az alkalmazottakat tbbszr. Teht amikor mr korrekt mdon definiltuk a vltozkat, a clfggvny
min z = x1 + x2 + x3 + x4 + x5 + x6 + x7
A postahivatalnak biztostania kell, hogy a ht minden napjn elg alkalmazott dolgozzon. Pldul htfon legalbb 17 alkalmazottnak kell dolgoznia. Kik dolgoznak htfon? Mindenki, kivve azokat az alkalmazottakat, akik kedden vagy szerdn kezdenek
dolgozni (nekik a vasrnap s htfo , illetoleg a htfo s a kedd a szabadnap). Ez azt jelenti, hogy azon alkalmazottak szma, akik htfo n dolgoznak: x1 + x4 + x5 + x6 + x7 . Mg
biztostani kell, hogy htfon legalbb 17 alkalmazott dolgozzon, teht ki kell elgteni az
x1 + x4 + x5 + x6 + x7 17 felttelt. Az ehhez hasonl feltteleket a ht msik hat napjra
vonatkozan is hozzvesszk a modellhez, majd az xi 0 (i = 1, 2, . . . , 7) nemnegativitsi
felttelekkel kiegsztve a postahivatal problmja a kvetkez o kppen rhat fel:
min z = x1 + x2 + x3 + x4 + x5 + x6 + x7
f.h.
x1
+ x4 + x5 + x6 + x7 17
x1 + x 2
+ x5 + x6 + x7 13
x1 + x 2 + x 3
+ x6 + x7 15
x1 + x 2 + x 3 + x 4
+ x7 19
x1 + x 2 + x 3 + x 4 + x 5
14
x2 + x 3 + x 4 + x 5 + x 6
16
x3 + x4 + x5 + x6 + x7 11
xi 0 (i = 1, 2, . . . , 7)

(htfoi felttel)
(keddi felttel)
(szerdai felttel)
(cstrtki felttel)
(pnteki felttel)
(szombati felttel)
(vasrnapi felttel)
(nemnegativitsi felttelek)

4
10
22
10
Az LP optimlis megoldsa: z = 67
3 , x1 = 3 , x2 = 3 , x3 = 2, x4 = 3 , x5 = 0, x6 = 3 ,
x7 = 5. Mivel csak teljes munkaideju alkalmazottakrl lehet sz, a vltozknak egsz rtkeket kell felvennik, az oszthatsgi feltevs nem rvnyesl. Ksreljk meg, hogy egy
olyan sszeru megoldst talljunk, amelyben az sszes vltoz rtke egsz szm! Megprblhatjuk a trteket flfel kerekteni, gy egy lehetsges megoldst kapunk, melyben

3.5. Egy munkaszervezsi problma

79

z = 25, x1 = 2, x2 = 4, x3 = 2, x4 = 8, x5 = 0, x6 = 4, x7 = 5. Mindazonltal az az igazsg,


hogy ha integer programozssal oldjuk meg a feladatot, akkor a postahivatal problmjnak
optimlis megoldsa: z = 23, x1 = 4, x2 = 4, x3 = 2, x4 = 6, x5 = 0, x6 = 4, x7 = 3. Megjegyezzk, hogy ltalban nincs md arra, hogy a lineris programozsi feladat optimlis megoldsbl kerektssel kapjuk meg az egsz szm programozsi feladat optimlis
megoldst.
Baker (1974) kidolgozott egy hatkony technikt (lineris programozs felhasznlsa
nlkl) annak meghatrozsra, hogy mennyi a minimlis szm alkalmazott, ha az emberek gy dolgoznak, hogy kt egymsutn kvetkezo szabadnapjuk van.

Feladatok
A csoport
1. A postahivatal pldjban tegyk fel, hogy minden teljes munkaideju alkalmazott napi 8 rt dolgozik. gy az a
szksglet, hogy htfon 17 ember dolgozzon, gy is tekintheto, mint egy olyan kvetelmny, hogy htfon 8(17) = 136
munkara lljon rendelkezsre. A postahivatal gy is kielgtheti napi munkara-szksglett, hogy teljes munkaideju
s rszmunkaideju dolgozkat is foglalkoztat. Minden hten
egy teljes munkaideju alkalmazott napi 8 rt dolgozik t
egyms utni napon, egy rszmunkaidos alkalmazott napi 4
rt dolgozik t egyms utni napon. Egy teljes munkaideju
alkalmazott a postnak rnknt 15 dollrba kerl, mg a
rszmunkaidos (a cskkentett jrulkok miatt) csak 10 dollrba kerl rnknt. A szakszervezeti szablyok rtelmben rszmunkaidos dolgozkkal a heti szksges munkarknak legfeljebb 25%-t szabad kitlteni. Fogalmazzon
meg egy LP-t, amelynek a megoldsa minimalizlja a postahivatal heti munkabrre fordtott kltsgeit!
2. Kisvros rendorsgnl minden 4 rs peridusra az
gyeleti szolglatot teljesto rendork szma a kvetkezo:
jfltol 4-ig 8 rendor, 4-tol 8-ig 7 rendor, 8-tl 12-ig 6
rendor, 12-tol 16-ig 6 rendor, 16-tl 20-ig 5 rendor, 20-tl
jflig 4 rendor. Minden rendor kt egymsutn kvetkezo
4 rs gyeletben dolgozik. Fogalmazzon meg egy LP-t,
amelynek a megoldsa gy minimalizlja Kisvros rendo reinek szmt, hogy a napi gyeletek el legyenek ltva!

B csoport
3. Tegyk fel, hogy a postahivatal heti egy munkanapnyi
tlrra ktelezheti az alkalmazottakat. Pldul egy olyan
alkalmazott, akinek a normlis beosztsa htfotol pntekig
terjed, berendelheto szombati munkra is. Minden alkalmazott 50 dollrt kap az elso t naprt s 62 dollrt kap a
tlmunkaidort (ha van ilyen). Fogalmazzon meg egy LP-t,

amelynek megoldsa lehetov teszi, hogy a postahivatal minimalizlja a heti munkabrt, termszetesen gy, hogy a
szksges munkt teljesti!
4. Tegyk fel, hogy a postahivatalnak 25 teljes munkaideju alkalmazottja van, s nem vehet fel, de el sem bocsthat embereket. Fogalmazzon meg egy LP-t az alkalmazottak
munkaidejnek megszervezsre gy, hogy maximalizlja a
dolgozk ltal kapott htvgi szabadnapokat!
5. A Gotham vrosi rendorsg dolgozi minden nap 6
rs muszakokban dolgoznak, ezek idopontjai: jfltol 6ig, 6-tl 12-ig, 12-tol 18-ig s 18-tl jflig. Az egyes muszakokban a kvetkezo szm dolgozra van szksg: jfltol 6-ig 15 dolgoz, 6-tl dlig 5 dolgoz, dltol 6-ig 12
dolgoz, 6-tl jflig 6 dolgoz. Az olyan dolgozk, akik
kt egyms utni muszakban dolgoznak, 12 dollrt kapnak
rnknt; akik nem egyms utni muszakokban dolgoznak,
azok 18 dollrt kapnak rnknt. Fogalmazzon meg egy
LP-t, amelynek a megoldsa minimalizlja a kltsgeket,
mikzben kielgti a napi munkaeroignyt a Gotham vrosi
rendorsgen!
6. Az 5. tblzat azt mutatja, hogy a Bloomington vrosi
rendorsgen hny rendor szksges az egyes 6 rs peridusokban. A rendorket gy veszik alkalmazsba, hogy vagy
12 rt dolgoznak egyfolytban, vagy 18 rt. A rendork 4
dollrt kapnak rnknt az elso 12 rra s 6 dollrt kapnak
rnknt a kvetkezo 6 rra. Fogalmazzon meg egy LPt, amelynek a megoldsa minimalizlja a kltsgeket gy,
hogy Bloomington napi rendorignye teljesl!
5.

TBLZAT

Peridus
0 6
612
1218
1824

Szksges minimlis
rendorszm
12
8
6
15

80

3. fejezet Bevezets a lineris programozsba

3.6.

Tokeallokci
Ebben az alfejezetben (s a 3.7. s 3.11. alfejezetekben is) azt vizsgljuk meg, hogy a lineris programozs hogyan alkalmazhat pnzgyi dntsek optimalizlsra. Ez az alfejezet
egy egyszeru tokeallokcis modellel foglalkozik.6
Eloszr rviden elmagyarzzuk a nett jelenrtk (NPV) fogalmt, ami arra hasznlhat, hogy klnbzo befektetsek elonyeit ssze tudjuk hasonltani. Az indul ido pontot
0-val jelljk.
Tegyk fel, hogy az 1-es befektetsnek a 0. ido pontban 10 000$ kszpnzkltsge van,
kt v mlva 14 000$ kszpnzkltsge lesz, s ezrt egy v mlva 24 000$ kszpnz folyik
be. A 2-es befektetsnek a 0. ido pontban 6000$ kszpnzkltsge van, mostantl szmtott
kt v mlva 1000$ kszpnzkltsge lesz, s mostantl szmtott egy v mlva 8000$
folyik be. Melyik befektetst rszestsk elo nyben?
Az 1-es befektets tiszta kszpnzrtke
10000 + 24000 14000 = 0$
s a 2-es befektets tiszta kszpnzrtke
6000 + 8000 1000 = 1000$
Ezen az alapon a 2-es befektets jobbnak ltszik, mint az 1-es befektets. Amikor a
befektetseket a nett kszpnzramlsra alapozva hasonltjuk ssze, akkor felttelezzk,
hogy egy dollr bevtel brmely ido pontban ugyanakkora rtkkel br. Ez azonban nem
igaz! Tegyk fel, hogy ltezik olyan befektets (mint pldul egy pnzpiaci alap), amelyiknl egy bizonyos idopontban befektetett 1 dollr egy vvel kso bb (bizonyossggal)
(1 + r) dollrt jvedelmez. Azt mondjuk, hogy r az vi kamatlb. Mivel a jelenlegi 1 dollr
mostantl szmtott egy v mlva (1 + r) dollrr vltozik, lerhatjuk, hogy
1$ most = (1 + r)$ egy v mlva
Ezt az okoskodst jbl alkalmazva most mr az egy v mlva kapott (1 + r)$-ra, azt
ltjuk, hogy
1$ most = (1 + r)$ egy v mlva = (1 + r)2 $ kt v mlva
s

1$ most = (1 + r)k $ k v mlva


Az egyenlosg mindkt oldalt elosztva (1 + r)k -nal, azt kapjuk, hogy
1$ amit k v mlva kapunk = (1 + r)k $ most

Ms szavakkal, egy olyan dollr, amit k v mlva kapunk meg, ugyanaz, mintha most kapnnk (1 + r)k $ dollrt.
Ezt a gondolatmenetet alkalmazhatjuk arra is, hogy a 0. ido pontbeli dollrral fejezznk
ki minden kszpnzramlst (ezt az eljrst gy nevezik, hogy a kszpnz diszkontlsa a
0. idopontra). Diszkontls segtsgvel brmilyen befektets kszpnzramlsnak teljes
rtkt kiszmthatjuk (0. idopontbeli dollrban). Brmely befektets kszpnzramlsnak
sszrtke (0. idopontbeli dollrban) a nett jelenrtk, vagy NPV (net present value). Egy
befektets NPV-je az az sszeg, amellyel a befektets nveli a cg rtkt (0. id o pontbeli
dollrban kifejezve).
6 Az

alfejezet Weingartner (1963) alapjn kszlt.


3.6. Tokeallokci

81

Felttelezzk, hogy r = 0.20, gy ki tudjuk szmtani az 1-es s 2-es befektetsek NPVjt.


NPV az 1-es befektetsnl = 10000 +

14000
24000

1 + 0.20 (1 + 0.20)2

= 277.78$
Ez azt jelenti, hogy ha egy cg az 1-es befektetst vlasztan, a cg rtke (0. id o pontbeli
dollrban) 277.78$-ral nvekedne. A 2-es befektets esetn:
NPV a 2-es befektetsnl = 6000 +

8000
1000

1 + 0.20 (1 + 0.20)2

= 27.78$
Teht ha a cg a 2-es befektetst vlasztan, a cg rtke (0. id o pontbeli dollrban)
27.78$-ral cskkenne.
gy az NPV koncepci azt mondja, hogy az 1-es befektets jobb, mint a 2-es befektets.
Ez a kvetkeztets ellentmond annak, mint amire a kt befektets tiszta kszpnzramlsainak sszehasonltsa vezetett. Vegyk szre, hogy a befektetsek sszehasonltsa attl
fgg, hogy mennyi az r rtke. Pldul az alfejezet vgn az els o feladatban az olvast
felkrjk arra, hogy mutassa meg, hogy r = 0.02 esetn a 2-es befektets NPV-je magasabb, mint az 1-es befektets. Termszetesen a mi elemzsnkben felttelezzk, hogy egy
befektets jvobeli kszpnzrtke bizonyossggal ismert.
Ezen httrinformcik ismeretben kszen llunk arra, hogy elmagyarzzuk, hogyan
alkalmazhat a lineris programozs olyan problmkra, amelyekben korltozottan rendelkezsre ll befektetsre vr sszegeket klnbzo befektetsi lehetosgek kztt kell
sztosztani. Az ilyen problmkat to keallokcis problmknak nevezzk.

8.

6.

PLDA

A Star Oil Company t klnbzo befektetsi lehetosget vizsgl. A pnzkiramlsok s


nett jelenrtkek (milli dollrban) a 6. tblzatban lthatk.
A Star Oil-nak 40 milli dollr ll rendelkezsre befektetsi clokra most (0. id o pont);
becslsek szerint egy v mlva mg lesz 20 milli dollrja (1. id o pont) befektetsi clra.
A Star Oil brmelyik befektets brmilyen trtrszt is megvsrolhatja. Ilyen esetben a
pnzkiramlsok s az NPV megfelelo mdon tszmtdnak. Pldul, ha a Star Oil a 3-as
befektets egytdt veszi meg, akkor 51 (5) = 1$, azaz egymilli dollros pnzkiramls
szksges a 0. idopontban s 15 (5) = 1 milli dollros pnzkiramls az 1. ido pontban. A
3-as befektets egytds rszesedsnek NPV-je 51 (16) = 3.2 milli dollr. A Star Oil
maximalizlni szeretn az 15. befektetsekbo l szrmaz NPV-t. Fogalmazzunk meg egy
LP-t, amelyik segti e cl elrst! Tegyk fel, hogy a 0. ido pontbl fennmarad alapok
mr nem hasznlhatk fel az 1. ido pontban.

TBLZAT

Kszpnzramlsok s nett jelenrtkek a befektetseknl ($-ban)

0. idopontbeli kszpnzkiramls
1. idopontbeli kszpnzkiramls
NPV

1. bef.

2. bef.

3. bef.

4. bef.

5. bef.

11
3
13

53
6
16

5
5
16

5
1
14

29
34
39

82

3. fejezet Bevezets a lineris programozsba

Megolds

A Star Oil-nak el kell dntenie, hogy az egyes befektetsekb o l mekkora rszeket vsroljon. Definiljuk a vltozkat a kvetkezo kppen:
xi = az i-edik befektetsi lehetosgbol a Star Oil
ltal megvsrolt rsz
(i = 1, 2, 3, 4, 5)
A vllalat clja, hogy maximalizlja a befektetsekbo l szrmaz NPV-t. (Teljes NPV)
= (az 1-es befektetsbol szrmaz NPV) + (a 2-es befektetsbo l szrmaz NPV) + +
(az 5-s befektetsbol szrmaz NPV). Jegyezzk meg, hogy
NPV az 1-es befektetsbol = (egysgnyi 1-es befektets NPV-je) (az 1-es
befektets megvsrolt rsze) = 13x1

Hasonl okoskodst alkalmazva a 25. befektetsekre, azt lthatjuk, hogy a Star Oil maximalizlni szeretn a
z = 13x1 + 16x2 + 16x3 + 14x4 + 39x5
(25)
fggvnyt. A Star Oil felttelei a kvetkezo ket jelentik:
1. felttel A 0. idopontban a Star nem fektethet be tbbet, mint 40 milli dollrt.
2. felttel Az 1. idopontban a Star nem fektethet be 20 milli dollrnl tbbet.
37. felttel A Star nem vsrolhat tbbet, mint az i-edik (i = 1, 2, 3, 4, 5) befektets
100%-a.
Az 1. felttel matematikai kifejezshez figyeljk meg, hogy (a 0. id o pontban befektetett
dollrmennyisg) = (az 1-esbe fektetett dollr a 0. ido pontban) + (a 2-esbe fektetett dollr
a 0. idopontban) + + (az 5-sbe fektetett dollr a 0. ido pontban). Rszletezve, milli
dollrban szmolva
az 1-es befektetsbe befektetett dollr a 0. ido pontban



a 0. idopontban az 1.
az 1. befektets
=
befektetshez szksges sszeg
megvsrolt rsze
= 11x1
Hasonlan okoskodva a 25. befektetsekre:
a 0. idopontban befektetett dollr = 11x1 + 53x2 + 5x3 + 5x4 + 29x5
Ezltal az 1. felttel gy alakul:
11x1 + 53x2 + 5x3 + 5x4 + 29x5 40

(0. idoponti felttel)

(26)

(1. idoponti felttel)

(27)

A 2. felttel leegyszerusdik:
3x1 + 6x2 + 5x3 + x4 + 34x5 20
A 37. feltteleket pedig gy rhatjuk:
xi 1 (i = 1, 2, 3, 4, 5)

(2832)

83

3.6. Tokeallokci

Ezekhez a (26)(32) felttelekhez mg hozzvesszk az x i 0 (i = 1, 2, 3, 4, 5) nemnegativitsi feltteleket, s gy a kvetkezo LP-t kapjuk:


max z = 13x1 + 16x2 + 16x3 + 14x4 + 39x5
f.h.
11x1 + 53x2 + 5x3 + 5x4 + 29x5 40
3x1 + 6x2 + 5x3 + x4 + 34x5 20
x1
1
x2
1
x3
1
x4
1
x5 1
xi 0 (i = 1, 2, 3, 4, 5)

(0. idobeli felttel)


(1. idobeli felttel)

Ennek az LP-nek az optimlis megoldsa x1 = x3 = x4 = 1, x2 = 0.201, x5 = 0.288,


z = 57.449. A Star Oil vsroljon 100%-ot az 1-es, 3-as s 4-es befektetsb o l; 20.1%-ot a
2-es befektetsbol s 28.8%-ot az 5-s befektetsbo l. Ezekbol a befektetsekbol szrmaz
sszes NPV = 57 449 000$.
Elg gyakran elofordul, hogy csak gy lehet egy befektets trtrszt megvsrolni,
hogy fel kell ldozni a befektets kedvezo kszpnzramlsait. Tegyk fel, hogy 12 milli
dollrba kerl egy j olajkt frsa ppen csak olyan mlyre, hogy elrjnk egy 30 milli
dollros koolajforrst. Ha egy egyedlll befekteto volna ebben a helyzetben, aki 6 milli
dollrrt megvenn a projekt felt, ez az ember azonnal elveszten az egsz befektetett
sszeget s semmi pozitv kszpnzt nem kapna. Mivel ebben a pldban a befektetett
pnz 50%-kal val cskkentse a hozamot 50%-nl tbbel cskkenten, ez a helyzet teht
nem felel meg az arnyossgi feltevsnek.
Nagyon sok tokeallokcis problmban sszerutlen volna megengedni, hogy x i trt is
lehessen. Ilyenkor minden egyes xi vltoz csak kt rtket vehet fel: az egyik lehetsges
rtk a 0 (egyltaln nem befektetni az i-edik befektetsbe), a msik lehetsges rtk az 1
(az egsz i-edik befektets megvsrlsa). A to keallokcis problmk tbbsge megsrti
az oszthatsgi feltevst.
A 8.2. alfejezetben trgyalni fogunk egy olyan to keallokcis modellt, amelyben minden xi csak 0 vagy 1 lehet.

Feladatok
A csoport

7.

TBLZAT

Pnzramls (ezer dollrban)


idopontok
0
1
2
3

1. Mutassa meg, hogy ha r = 0.02, akkor a 2-es befektetshez nagyobb NPV tartozik, mint az 1-es befektetshez!
2. Kt befektets kzl lehet vlasztani, a pnzramlsokat (ezer dollrban) a 7. tblzat mutatja. A 0. idopontban
10 000$ ll rendelkezsre befektetsi clra, az 1. idopontban
7000$ ll rendelkezsre. Feltve, hogy r = 0.10, fogalmazzon meg egy LP-t, amelynek a megoldsa maximalizlja a
befektetsekbol szrmaz NPV-t! Keresse meg grafikusan
az LP optimlis megoldst! (Tegyk fel, hogy a befektetsek brmilyen trtrsze is megvsrolhat.)

1. befektets
2. befektets

6
8

5
3

7
9

9
7

3. Tegyk fel, hogy az r vi kamatlb 0.20, s azt is, hogy


a bankban lvo sszes pnz minden vben 20% kamatnyeresgre tesz szert (azaz, ha egy dollr egy vig a bankban

84

3. fejezet Bevezets a lineris programozsba

volt, az 1$ 1.20$-ra nvekszik). Ha betesznk 100 dollrt a


bankba egy vre, mennyi az NPV?

B csoport
4. A Finco cgnek el kell dntenie, hogy a kvetkezo vben mennyi befektetse s mennyi adssga legyen. Minden

3.7.

befektetett dollr 10 centtel cskkenti a vllalat NPV-jt,


s minden dollr tartozs nveli az NPV-t 50 centtel (mivel a kamatkifizetsek az adbl lerhatk). A Finco jvore
legfeljebb 1 milli dollrt fektethet be. A tartozs legfeljebb a befektets 40%-a lehet. Jelenleg a Fincnak 800 000$
ll rendelkezsre, kszpnzben. Minden befektetsrt vagy
kszpnzben, vagy klcsnpnzbol kell fizetni. Fogalmazzon meg egy LP-t, amelynek a megoldsa a Finco NPV-jt
maximalizlja! Ezutn oldja meg grafikusan az LP-t!7

Rvidtv pnzgyi tervezs8


LP modellek gyakran hasznlhatk arra, hogy segtsenek egy cg rvid- vagy hossztv
pnzgyi tervezsben (lsd mg a 3.11. alfejezetet is). Itt most egy egyszeru pldt mutatunk be annak illusztrlsra, hogyan hasznlhat a lineris programozs egy vllalat
rvidtv pnzgyi tervezshez.9

9.

8.

PLDA

A Semicond egy kis elektronikai vllalat, amelyik magnkat s rdikat gyrt. Az egysgnyi munkakltsgek, nyersanyagkltsgek s minden termk eladsi ra a 8. tblzatban
lthat.

TBLZAT

A Semicond
kltsgei ($-ban)

Eladsi r
Munkakltsg
Nyersanyagkltsg

Magn

Rdi

100
50
30

90
35
40

1998. december elsejn a Semicondnak elg nyersanyag llt rendelkezsre 100 magn
s 100 rdi gyrtshoz. Ugyanerre a napra vonatkoz vllalati mrleg a 9. tblzatban
lthat. A Semicond eszkz/forrs arnya (vagyis az aktulis arny) 20 000/10 000 = 2.
9.

TBLZAT

A Semicond
mrlege ($-ban)

Eszkzk
Kszpnz
Kvetelsek10
Raktrkszlet11
Bankklcsn

10000
3000
7000

Forrsok

10000

A Semicond-nak el kell dntenie, hogy decemberben hny magnt s hny rdit gyrtson. A kereslet elg nagy ahhoz, hogy a gyrtott termkeket mind el tudjk adni. Mindazonltal az elads hitelre trtnik s a decemberben gyrtott termkek kifizetse 1999. februr
7 Myers

s Pogue (1974) alapjn.


alfejezet kihagysa nem szaktja meg a trgyals folytonossgt.
9 Ez az alfejezet Neave s Wiginton (1981) egy pldjn alapul.
10 Kvetelsek alatt azt a pnzt rtjk, amivel a Semicond vev o
i tartoznak korbban megvsrolt Semicond
termkekrt.
11 1998. december 1-jei kszletrtk = 30(100) + 40(100) = 7000$.
8 Ezen

85

3.7. Rvidtv pnzgyi tervezs

Megolds

1. elott nem rkezik meg. December folyamn a Semicondnak berkezik a kvetelsekb o l


2000 dollrja, ezenkvl a Semicondnak vissza kell fizetnie 1000$ klcsnt s 1000$ havi
brleti djat is. 1999. janur 1-jn a Semicondhoz berkezik egy 2000$ rtku nyersanyagszlltmny, amelyet 1999. februr 1-jn kell kifizetni. A Semicond vezet o sge elhatrozta,
hogy 1999. janur 1-jn a kszpnzegyenlegnek legalbb 4000 dollrnak kell lennie. A Semicond bankja megkveteli, hogy az eszkzk/forrsok hnyados janur elejn legalbb 2
legyen. Mit kell gyrtania a Semicondnak decemberben ahhoz, hogy maximlisan jruljon
hozz az ves profithoz ((leendo bevtelek) (vltoz termelsi kltsgek))?

A Semicondnak el kell dntenie, hogy decemberben hny magnt s hny rdit gyrtson.
gy legyen
x1 = a decemberben gyrtott magnk szma
x2 = a decemberben gyrtott rdik szma
A clfggvny felrshoz jegyezzk meg, hogy
profit
= 100 50 30 = 20$
magn
profit
= 90 35 40 = 15$
rdi
Ezltal, ugyangy, mint a Giapetto problmban, a kvetkez o clfggvnyt kapjuk:
max z = 20x1 + 15x2

(33)

A Semicondnak a kvetkezo megktttsgekkel kell szembenznie:


1. felttel A rendelkezsre ll nyersanyag korltozott mennyisge miatt decemberben
legfeljebb 100 magn gyrthat.
2. felttel A rendelkezsre ll nyersanyag korltozott mennyisge miatt decemberben
legfeljebb 100 rdi gyrthat.
3. felttel 1999. janur 1-jn legalbb 4000$ kszpnze legyen.
4. felttel (eszkzk janur 1-jn)/(forrsok janur 1-jn) 2 legyen.
Az 1. felttel:
A 2. felttel:

x1 100

(34)

x2 100

(35)

Ahhoz, hogy a 3. felttelt felrhassuk, figyelembe kell vennnk, hogy


kszpnzkszlet janur elsejn = kszpnzkszlet december elsejn
+ a december folyamn berkezo kvetelsek
a klcsn decemberben visszafizetendo rsze

decemberi brleti dj decemberi munkabr


= 10000 + 2000 1000 1000 50x1 35x2
= 10000 50x1 35x2

Most mr felrhatjuk a 3. felttelt:


10000 50x1 35x2 4000

(360 )

86

3. fejezet Bevezets a lineris programozsba

A szmtgpes programok nagy rsze megkveteli, hogy az LP felttelek olyan alakban legyenek felrva, ahol az sszes, vltozt tartalmaz tagok a bal oldalon vannak, s a
konstans van a jobb oldalon. gy a szmtgpes megoldshoz (36 0 )-t t kell rnunk, gy
50x1 + 35x2 6000

(36)

A 4. felttel felrshoz meg kell hatroznunk a Semicond janur elsejei kszpnzhelyzett, kvetelseit, kszlethelyzett s forrsait x1 s x2 segtsgvel. Mr megmutattuk,
hogy
kszpnzhelyzet janur elsejn = 10000 50x1 35x2
Tovbblpve:

kvetelsek janur 1-jn = december 1-jei kvetelsek


+ a decemberi eladsbl add kvetelsek
a decemberben behajtott kvetelsek
= 3000 + 100x1 + 90x2 2000

= 1000 + 100x1 + 90x2


Most nzzk tovbb:

kszletrtk janur 1-jn = kszletrtk december 1-jn


a kszletbol decemberben felhasznlt rtk
+ a janur 1-jei kszletrtk
= 7000 (30x1 + 40x2) + 2000
= 9000 30x1 40x2

gy mr kiszmthatjuk a janur 1-jei eszkzhelyzetet:


janur 1-jei eszkzk = janur 1-jei kszpnz + janur 1-jei kvetelsek
+ janur 1-jei kszlet
= (10000 50x1 35x2) + (1000 + 100x1 + 90x2)
+ (9000 30x1 40x2)
= 20000 + 20x1 + 15x2

Vgl:
janur 1-jei forrsok = december 1-jei forrsok decemberi klcsn-visszafizets
+ janur elsejn esedkes raktrba szllts
= 10000 1000 + 2000
= 11000$
A 4. felttel most mr gy rhat:
20000 + 20x1 + 15x2
2
11000
Az egyenlotlensg mindkt oldalt 11 000-rel szorozva
20000 + 20x1 + 15x2 22000

3.8. Keversi problmk

87

Most a szmtgpes inputhoz megfelelo formba trva azt kapjuk, hogy


20x1 + 15x2 2000

(37)

sszefoglalva, a (33)(37), valamint az x1 0 s x2 0 nemnegativitsi felttelek a


kvetkezo LP-t szolgltatjk:
max z = 20x1 + 15x2
f.h.

x1

100
x2 100

50x1 + 35x2 6000

20x1 + 15x2 2000


x1 , x2 0

(magn felttel)
(rdi felttel)
(kszpnzhelyzet felttel)
(eszkzk/forrsok felttel)
(nemnegativitsi felttel)

Akr grafikusan, akr szmtgppel oldjuk meg a feladatot, az optimlis megolds: z =


2500, x1 = 50, x2 = 100. Ez azt jelenti, hogy a Semicond gy tudja profitjnak decemberi
rszt maximalizlni, ha 50 magnt s 100 rdit gyrt. gy a decemberi hozzjruls a
profithoz: 20(50) + 15(100) = 2500$.

Feladatok
A csoport
1.

Oldja meg grafikusan a Semicond problmt!

3.8.

2. Tegyk fel, hogy a janur 1-jei szlltmny 7000$-ra


volt rtkelve. Mutassa meg, hogy Semicond LP-je most
nem megoldhat!

Keversi problmk
Az olyan feladatok, amelyekben klnbzo hozzvalkat kell elegyteni-keverni bizonyos
kvnt arnyokban ahhoz, hogy az eladhat termk ltrejjjn, gyakran felrhatk lineris
programozsi modell segtsgvel. Ezeket a feladatokat keversi problmknak nevezzk. A kvetkezokben felsorolunk nhny olyan helyzetet, amelyekben keversi problmkat lineris programozssal oldottak meg.
1. Eltro tpus nyersolajok keverse klnbzo benzinfajtk s ms olajtermkek (mint
pldul futoolaj) elolltshoz.
2.

Klnfle vegyszerek keverse ms vegyszerek gyrtshoz.

3.

Klnfle tpus fmtvzetek elegytse klnbzo aclfajtk gyrtshoz.

4. Klnfle llateledelek keverse minimlis kltsgu szarvasmarha tpok elksztshez.


5.

Klnfle rcek keverse specilis mino sgu rcek nyersre.

6. Klnfle alkotrszek (hs, tltelkanyag, vz stb.) sszekeverse valamely termk,


pldul prizsi elolltshoz.
7.

Klnfle tpus paprok keverse jrafelhasznlt papr el o lltshoz.

88

3. fejezet Bevezets a lineris programozsba

A kvetkezo plda a keversi problmk LP modell fogalmazsban hasznlhat f o bb


szempontokat illusztrlja.

10.

10.

PLDA

A Sunco Oil hromfle benzint llt elo (1. benzin, 2. benzin, 3. benzin). Mindegyik tpus
hromfle nyersolaj keverkbo l ll elo (1. nyersolaj, 2. nyersolaj, 3. nyersolaj). A benzin
hordnknti eladsi ra s a nyersolaj hordnknti ra a 10. tblzatban lthat.

TBLZAT

Benzin s
nyersolaj rak
($-ban)

Eladsi r
hordnknt
1. benzin
2. benzin
3. benzin

70
60
50

Vtelr
hordnknt
1. nyersolaj
2. nyersolaj
3. nyersolaj

45
35
25

A Sunco naponta legfeljebb 5000 hordval vsrolhat brmelyik tpus nyersolajbl.


A hrom benzintpus oktnszmban s kntartalomban klnbzik egymstl. Az 1-es
tpus benzinbe kerlo nyersolajoknak tlagosan legalbb 10 oktnszmnak kell lennik
s legfeljebb 1% knt tartalmazhatnak. A 2-es tpus benzint elo llt nyersolajoknak tlagosan legalbb 8 oktnszmnak kell lennik s legfeljebb 2% knt tartalmazhatnak. A 3-as
tpus benzinbe kerlo nyersolajoknak tlagosan legalbb 6 oktnszmnak kell lennik s
legfeljebb 1% knt tartalmazhatnak. Az oktnszmok s a kntartalom a 11. tblzatbl
olvashat ki.
11. T B L Z A T
Oktnszmok s
kntartalom a
kevershez

Megolds

Oktnszm
1. nyersolaj
2. nyersolaj
3. nyersolaj

Kntartalom (%)

12
6
8

0.5
2.0
3.0

Egy hord nyersolajnak egy hord benzinn alaktsa 4 dollrba kerl, s a Sunco finomt zeme naponta legfeljebb 14 000 hord benzint kpes el o lltani.
A Sunco fogyaszti a kvetkezo mennyisgeket rendelik: 1. benzinbo l naponta 3000
hord, 2. benzinbol naponta 2000 hord, 3. benzinbo l naponta 1000 hord. A vllalat ktelessgnek tekinti, hogy kielgtse a megrendelseket. A Sunco ezenkvl mg reklmozhatja is a termkeit a kereslet sztnzse cljbl. Minden dollr, amit egy bizonyos
benzinfajtnl naponta reklmra kltenek, abbl a fajtbl a napi keresletet 10 hordval
nveli meg. Pldul, ha a Sunco elhatrozza, hogy naponta 20 dollrt klt a 2-es benzin
reklmozsra, ez a napi keresletet a 2-es benzinbo l 20(10) = 200 hordval nveli meg.
Fogalmazzunk meg egy LP-t, amelynek a megoldsa maximalizlja a Sunco napi profitjt
(profit = bevtel kltsgek)!

A Suncnak ktfle dntst kell hoznia: elo szr is, mennyi pnzt rdemes a klnbzo
benzinflk reklmozsra klteni, msodszor pedig: hogyan keverje a hromfle nyersolajat klnbzo tpus benzinekk? Pldul a Suncnak el kell dntenie, hogy hny hord
1-es nyersolajat hasznljon fel az 1-es tpus benzin elo lltshoz. Definiljuk a dntsi
vltozkat a kvetkezokppen:
ai = hny dollrt kltenek naponta az i-edik tpus benzin reklmjra (i = 1, 2, 3)
xi j = az i-edik nyersolajbl a j-edik benzinhez felhasznlt napi hordmennyisg
(i = 1, 2, 3; j = 1, 2, 3)

89

3.8. Keversi problmk

Pldul, x21 azt jelenti, hogy ennyi hord 2. nyersolajat hasznlnak fel naponta az 1. benzin
elolltshoz.
Ezeknek a vltozknak a megvlasztsa mr elg volna a Sunco clfggvnynek s
feltteleinek felrshoz, de mielott ezt megtennnk, jegyezzk meg, hogy a dntsi vltozink defincija magban foglalja azt is, hogy
x11 + x12 + x13 = naponta felhasznlt 1. nyersolaj hordkban szmolva
x21 + x22 + x23 = naponta felhasznlt 2. nyersolaj hordkban szmolva

(38)

x31 + x32 + x33 = naponta felhasznlt 3. nyersolaj hordkban szmolva


x11 + x21 + x31 = naponta elolltott 1. benzin hordkban szmolva
x12 + x22 + x32 = naponta elolltott 2. benzin hordkban szmolva

(39)

x13 + x23 + x33 = naponta elolltott 3. benzin hordkban szmolva


Hogy egy kicsit egyszerustsk a dolgokat, tegyk fel, hogy a benzin nem trolhat,
vagyis az elolltott benzinmennyisget aznap el kell adni. Ez azt jelenti, hogy i = 1, 2, 3ra a naponta termelt i-edik tpus benzin mennyisgnek egyenl o nek kell lennie az i-edik
tpus benzin napi keresletvel. Tegyk fel, hogy a naponta termelt i-edik tpus benzin
mennyisge meghaladja a napi keresletet. Ekkor szksgtelen vsrlsi s el o lltsi kltsgeknek tettk volna ki magunkat. Msrszt, ha a naponta el o lltott i-edik tpus benzin
mennyisge kisebb, mint a kereslet, akkor nem sikerlt a ktelez o megrendelst teljesteni
s szksgtelen reklmkltsgeknek is kitettk magunkat.
Most mr kszen llunk a Sunco clfggvnynek s feltteleinek felrsra. Kezdjk a
Sunco clfggvnyvel. (39)-bo l addik, hogy
napi bevtel benzin eladsbl = 70(x11 + x21 + x31) + 60(x12 + x22 + x32)
+ 50(x13 + x23 + x33 ),
a (38)-bl pedig
a nyersolaj vsrlsnak napi kltsge = 45(x11 + x12 + x13) + 35(x21 + x22 + x23)
+ 25(x31 + x32 + x33)
Ezenkvl mg
napi reklmkltsg = a1 + a2 + a3
napi termelsi kltsg = 4(x11 + x12 + x13 + x21 + x22 + x23 + x31 + x32 + x33)
gy
napi profit = napi bevtel benzineladsbl
napi nyersolaj-vsrlsi kltsg

napi reklmkltsg napi termelsi kltsg


= (70 45 4)x11 + (60 45 4)x12 + (50 45 4)x13

+ (70 35 4)x21 + (60 35 4)x22 + (50 35 4)x23


+ (70 25 4)x31 + (60 25 4)x32

+ (50 25 4)x33 a1 a2 a3

90

3. fejezet Bevezets a lineris programozsba

A Sunco clja az, hogy maximalizlja a kvetkezo kifejezst:


z = 21x11 + 11x12 + x13 + 31x21 + 21x22 + 11x23

(40)

+ 41x31 + 31x32 + 21x33 a1 a2 a3

A Sunco feltteleire vonatkozan lthat, hogy a kvetkez o 13 felttelt kell kielgteni:


1. felttel Az 1. benzin napi termelt mennyisge egyenlo legyen a napi kereslettel.
2. felttel A 2. benzin napi termelt mennyisge egyenlo legyen a napi kereslettel.
3. felttel A 3. benzin napi termelt mennyisge egyenlo legyen a napi kereslettel.
4. felttel Naponta legfeljebb 5000 hord 1. nyersolaj vsrolhat.
5. felttel Naponta legfeljebb 5000 hord 2. nyersolaj vsrolhat.
6. felttel Naponta legfeljebb 5000 hord 3. nyersolaj vsrolhat.
7. felttel A finomt korltozott kapacitsa miatt naponta legfeljebb 14 000 hord benzint lehet elolltani.
8. felttel Az 1. benzinhez hasznlt nyersolajoknak tlagosan legalbb 10 oktnszmnak
kell lennik.
9. felttel A 2. benzinhez hasznlt nyersolajoknak tlagosan legalbb 8 oktnszmnak
kell lennik.
10. felttel A 3. benzinhez hasznlt nyersolajoknak tlagosan legalbb 6 oktnszmnak
kell lennik.
11. felttel Az 1. benzinhez hasznlt nyersolajkeverkben legfeljebb 1% kn lehet.
12. felttel A 2. benzinhez hasznlt nyersolajkeverkben legfeljebb 2% kn lehet.
13. felttel A 3. benzinhez hasznlt nyersolajkeverkben legfeljebb 1% kn lehet.
Fejezzk ki az 1. felttelt a dntsi vltozkkal, megjegyezve, hogy
napi kereslet 1. benzinbol = 3000 + 1. benzin irnti
reklmok ltal generlt kereslet



1. benzin kereslete
elklttt
1. benzin reklmok ltal generlt kereslete =
dollr
dollr
= 10a1 12

gy a napi kereslet az 1. benzinbo l = 3000 + 10a1. Most mr felrhatjuk az 1. felttelt:


x11 + x21 + x31 = 3000 + 10a1

(410 )

x11 + x21 + x31 10a1 = 3000

(41)

x12 + x22 + x32 10a2 = 2000

(42)

Ezt gy rhatjuk t:
A 2. felttel:

12 Sokan azt hiszik, hogy az 1. benzin reklmok ltal generlt kereslett 1 a alakban kell felrni. Elemezve
10 1
1
ezt a kifejezst, rjvnk arra, hogy ez nem helyes. Nzzk a mrtkegysgeket! 10
mrtkegysge az elklttt
1
dollrmennyisg, s a1 is az elklttt dollrmennyisg. gy 10 a1 -nek (elklttt dollr)2 lenne az egysge, s ez
nem lehet helyes!

3.8. Keversi problmk

A 3. felttel:
(38)-bl a 4. felttel:

91

x13 + x23 + x33 10a3 = 1000

(43)

x11 + x12 + x13 5000

(44)

x21 + x22 + x23 5000

(45)

x31 + x32 + x33 5000

(46)

Az 5. felttel:
A 6. felttel:
Figyeljk meg, hogy

a napi teljes benzintermels = megtermelt 1. benzin + megtermelt 2. benzin


+ megtermelt 3. benzin
= (x11 + x21 + x31 ) + (x12 + x22 + x32)
+ (x13 + x23 + x33 )
gy a 7. felttel a kvetkezo:
x11 + x21 + x31 + x12 + x22 + x32 + x13 + x23 + x33 14000

(47)

A 810. felttelek felrshoz kpesnek kell lennnk arra, hogy meghatrozzuk az tlagos oktnszmot a nyersolajok klnbzo tpusainak keverkeiben. Feltesszk, hogy a
klnbzo nyersolajok oktnszmai linerisan keverednek. Pldul, ha sszekevernk kt
hord 1. nyersolajat, hrom hord 2. nyersolajat s egy hord 3. nyersolajat, akkor az tlagos oktnszm ebben a keverkben gy addik:
12(2) + 6(3) + 8(1) 50
1
sszes oktnszm a keverkben
=
=
=8
hordk szma a keverkben
2+3+1
6
3
ltalnostva, a 8. felttelt kifejezhetjk gy:
sszes oktnszm a 1. benzinben 12x11 + 6x21 + 8x31
=
10
1. benzin mennyisge
x11 + x21 + x31

(480 )

Sajnos a (480 ) egyenlotlensg nem lineris. Ha t akarjuk alaktani (480 )-t egy lineris
egyenlotlensgg, nem kell mst tennnk, mint mindkt oldalt megszorozni a bal oldal
nevezojvel. Eredmnyl azt kapjuk, hogy:
12x11 + 6x21 + 8x31 10(x11 + x21 + x31)
s ez a kvetkezokppen rhat t:
2x11 4x21 2x31 0

(48)

Ehhez hasonlan, a 9. felttel:


12x12 + 6x22 + 8x32
8
x12 + x22 + x32
Az egyenlotlensg mindkt oldalt megszorozva x12 + x22 + x32-vel s sszevonva
4x12 2x22 0

(49)

92

3. fejezet Bevezets a lineris programozsba

Mivel brmelyik nyersolajtpusnak az oktnszma 6 vagy tbb, akrhogyan is keverjk


o ket a 3. benzin elolltshoz, az tlagos oktnszm biztosan legalbb 6 lesz. Ez azt jelenti,
hogy a vltozk brmely rtkei kielgtik a 10. felttelt. Ezt igazoland, fejezzk ki a 10.
felttelt gy:
12x13 + 6x23 + 8x33
6
x13 + x23 + x33
Az egyenlotlensg mindkt oldalt x13 + x23 + x33 -mal szorozva s sszevonva, ezt kapjuk:
6x13 + 2x33 0

(50)

Miutn x13 0 s x33 0 mindig teljesl, (50) is automatikusan teljesl s gy nem kell
felvenni a modellbe. Egy ilyen felttelt, mint (50), amelyik a modell ms feltteleiben mr
bennefoglaltatik, redundns felttelnek neveznk, s azt nem kell a modell felrsban
szerepeltetni.
A 11. felttel gy rhat:
sszes kn az 1. benzin keverkben
0.01
hordk szma a keverkben
Ezutn, felhasznlva az egyes olajtpusok knszzalkait, lthatjuk, hogy
sszes kn az 1. benzin keverkben = kn az 1. benzinhez hasznlt 1. nyersolajban
+ kn az 1. benzinhez hasznlt 2. nyersolajban
+ kn az 1. benzinhez hasznlt 3. nyersolajban
= 0.005x11 + 0.02x21 + 0.03x31
Most mr felrhatjuk a 11. felttelt:
0.005x11 + 0.02x21 + 0.03x31
0.01
x11 + x21 + x31
Ismt egy nemlineris egyenlotlensghez jutottunk, de megszorozhatjuk az egyenlo tlensg mindkt oldalt x11 + x21 + x31-gyel s sszevonva kapjuk, hogy
0.005x11 + 0.01x21 + 0.02x31 0

(51)

Ehhez hasonlan a 12. felttel a kvetkezo :


0.005x12 + 0.02x22 + 0.03x32
0.02
x12 + x22 + x32
Az egyenlotlensg mindkt oldalt megszorozva x12 + x22 + x32-vel s sszevonva:
0.015x12 + 0.01x32 0

(52)

Vgl a 13. felttel gy rhat:


0.005x13 + 0.02x23 + 0.03x33
0.01
x13 + x23 + x33
Az egyenlotlensg mindkt oldalt megszorozva x13 + x23 + x33 -mal s sszevonva, az LP
felttel:
0.005x13 + 0.01x23 + 0.02x33 0
(53)

3.8. Keversi problmk

12.

TBLZAT

93

A clfggvny s a keversi felttelek

x11

x12

x13

21
1
0
0
1
0
0
1
2
0
0.005
0
0

11
0
1
0
1
0
0
1
0
4
0
0.015
0

1
0
0
1
1
0
0
1
0
0
0
0
0.005

x21

x22

31
21
1
0
0
1
0
0
0
0
1
1
0
0
1
1
4
0
0
2
0.01 0
0
0
0
0

x23

x31

x32

x33

a1

a2

a3

11
0
0
1
0
1
0
1
0
0
0
0
0.01

41
1
0
0
0
0
1
1
2
0
0.02
0
0

31
0
1
0
0
0
1
1
0
0
0
0.01
0

21
0
0
1
0
0
1
1
0
0
0
0
0.02

1
10
0
0
0
0
0
0
0
0
0
0
0

1
0
10
0
0
0
0
0
0
0
0
0
0

1
0
0
10
0
0
0
0
0
0
0
0
0

(max)
= 3000
= 2000
= 1000
5000
5000
5000
14000

A (40)(53) feltteleket sszefoglalva, kivve a redundns (50) felttelt, valamint az


xi j 0 s ai 0 nemnegativitsi feltteleket is figyelembe vve, egy olyan LP-t kapunk,
amelyet tblzatos formban is kifejezhetnk (lsd 12. tblzat).
A 12. tblzatban az elso sor (max) a clfggvnyt kpviseli, a msodik sor az elso
felttelt, a harmadik sor a msodikat s gy tovbb. Szmtgppel megoldva, a Sunco LPjnek egy optimlis megoldsa:

x11 = 2222.22

z = 287500
x12 = 2111.11

x13 = 666.67

x21 = 444.44
x31 = 333.33

x22 = 4222.22
x32 = 3166.67

x23 = 333.34
x33 = 0

a1 = 0

a2 = 750

a3 = 0

A Sunco termeljen teht x11 + x21 + x31 = 3000 hord 1. benzint, felhasznlva 2222.22
hord 1. nyersolajat, 444.44 hord 2. nyersolajat s 333.33 hord 3. nyersolajat. A cg termeljen x12 + x22 + x32 = 9500 hord 2. benzint, felhasznlva 2111.11 hord 1. nyersolajat,
4222.22 hord 2. nyersolajat s 3166.67 hord 3. nyersolajat. A Sunco lltson el o tovbb
x13 + x23 + x33 = 1000 hord 3. benzint, felhasznlva 666.67 hord 1. nyersolajat s 333.34
hord 2. nyersolajat. A cg kltsn 750 dollrt a 2. benzin reklmozsra. gy a Sunco
profitja 287 500 dollr.
Figyeljk meg, hogy br az 1. benzin ltszik a legnyeresgesebbnek, mgis a 2. benzin
kereslett sztnzzk. Ennek az az oka, hogy a rendelkezsre ll nyersolajok min o sge
miatt (az oktnszmra s kntartalomra val tekintettel) elg bonyolult az 1. benzin el o lltsa. Ezrt aztn a Sunco tbb pnzt tud keresni gy, hogy tbbet termel az alacsonyabb
minosgu 2. benzinbol, mintha extra mennyisgu 1. benzint lltana elo .

94

3. fejezet Bevezets a lineris programozsba

Feladatok
A csoport
1. n elhatrozta, hogy beszll az dessg zletbe. Ktfle dessg gyrtsn gondolkodik: Nehzdes s Knnyudes. Mindketto kizrlag cukorbl, magokbl s csokoldbl ll. Jelenleg nnek 100 deka cukor, 20 deka mag s
30 deka csokold ll rendelkezsre. A Knnyudest elollt keverkben legalbb 20% magtartalomnak kell lennie.
A Nehzdesben legalbb 10% magnak s 10% csokoldnak kell lennie. Egy deka Knnyudest 25 centrt lehet eladni, egy deka Nehzdest pedig 20 centrt. Fogalmazzon
meg egy LP-t, amely az n dessgeladsbl szrmaz bevtelnek maximalizlsra!
2. Az O.J. Juice Company elorecsomagolt narancsot s
narancslt rul, ez utbbit kartonszmra. O.J. a narancsot
1-tol (gyenge) 10-ig (kivl) osztlyozza. Jelenleg O.J.-nl
100 000 font 9 pontos narancs s 120 000 font 6 pontos narancs van raktron. A becsomagolt (zacsks) narancs tlagminosgnek legalbb 7 pontosnak kell lennie, s a narancslhez felhasznlt narancsok tlagminosge legalbb 8 pont
kell hogy legyen. Minden font narancslhez hasznlt narancs 1.50$ jvedelmet ad s 1.05$ vltoz kltsget (munkabr, rezsikltsg, raktrozsi kltsg stb.) tartalmaz. Minden font zacskban eladott narancsbl 50 cent jvedelem
szrmazik, s 20 cent vltoz kltsge van. Fogalmazzon
meg egy LP-t, amely maximalizlja O.J. profitjt!
3. Egy bank megprblja eldnteni, hogy hov fektessen be az idn. Jelenleg 500 000$ ll rendelkezsre befektetsi clra: ktvnyekbe, laksklcsnkbe, autvsrlsi
klcsnkbe s szemlyi klcsnkbe. Az ves kamathozam az egyes befektetsekben a kvetkezo: 10% a ktvnyekbol, 16% a laksklcsnkbol, 13% az autvsrlsi
klcsnkbol, 20% a szemlyi klcsnkbol. A bank befektetsi igazgatja biztostani akarja, hogy a befektetsek
ne legyenek tl kockzatosak, ezrt hrom szigort felttelt llt fel:
(a) A szemlyi klcsnkbe fektetett sszeg nem lehet
nagyobb, mint a ktvnyekbe fektetett sszeg.
(b) A laksklcsnkbe fektetett sszeg nem lehet
nagyobb, mint az autvsrlsi klcsnkbe fektetett
sszeg.
(c) Szemlyi klcsnkbe legfeljebb a teljes befektetsi
sszeg 25%-t szabad befektetni.
A bank clja, hogy maximalizlja portfolijnak vi nyeresgt. Fogalmazzon meg egy LP-t, amely segti a bankot
clja elrsben!
4. Erica Cudahy egy fiatal MBA hallgatno. Van 1000
dollrja, amit rtkpaprokba s klcsnkbe fektethet.

Minden egyes rtkpaprba fektetett dollr 10 cent hasznot hoz, s minden egyes klcsnbe fektetett dollr 15 cent
hasznot hoz. Az egsz pnznek legalbb 30%-t rtkpaprba kell fektetni, s legalbb 400 dollrt klcsnbe. Fogalmazza meg azt az LP-t, ami arra alkalmas, hogy Erica
befektetsbol maximlis profitot hozzon ki! Ezutn oldja
meg az LP-t grafikusan!
5. A Chandler Oil Company rendelkezsre ll 5000
hord 1. nyersolaj s 10 000 hord 2. nyersolaj. A vllalat
ktfle termket rul: benzint s futoolajat. Mindkt termk
az 1. nyersolaj s a 2. nyersolaj keversvel llthat elo.
A nyersanyagok minosgi szintje a kvetkezo: 1. nyersolaj
10-es, 2. nyersolaj 5-s. A benzin tlagos minosgi szintjnek legalbb 8-nak, a futoolajnak pedig legalbb 6-nak kell
lennie. Mindkt termk kereslett reklm tjn sztnzik.
Minden dollr, amit benzinreklmra kltenek, 5 hordnyi
keresletet generl, s minden dollr, amit futoolajreklmra
kltenek, 10 hordnyi keresletet hoz. A benzin eladsi ra
25$ hordnknt, a futoolaj 20$. Fogalmazzon meg egy LPt, amely maximalizlja a Chandler profitjt! Felttelezzk,
hogy a rendelkezsre ll mennyisgen fell egyik olajtpusbl sem vsrolhat a vllalat.
6. A Bullco szilciumot s nitrognt keverve ktfle tpus mutrgyt llt elo. Az 1. mutrgya legalbb 40% nitrognt kell hogy tartalmazzon, s eladsi ra 70$ fontonknt.
A 2. mutrgynak legalbb 70% szilciumot kell tartalmaznia, s eladsi ra 40$ fontonknt. A Bullco legfeljebb 80
font nitrognt vsrolhat, fontjt 15$-rt, s legfeljebb 100
font szilciumot vsrolhat, fontonknt 10$-rt. Ttelezzk
fel, hogy brmennyi mutrgya eladhat. Fogalmazzon meg
egy LP-t, amely maximalizlja a Bullco profitjt!
7. Eli Daisy az 1. s 2. vegyszerbol ktfle gygyszert kever. Az 1. gygyszerben legalbb 70% 1. vegyszernek kell
lennie, a 2. gygyszerben pedig legalbb 60% 2. vegyszernek kell lennie. Legfeljebb 40 deka 1. gygyszer adhat el,
deknknt 6 dollrrt; s legfeljebb 30 deka 2. gygyszer
adhat el, deknknt 5 dollrrt. Legfeljebb 45 deka 1. vegyszer vsrolhat deknknt 6 dollrrt s vgl legfeljebb 40
deka 2. vegyszer vsrolhat deknknt 4 dollrrt. Fogalmazzon meg egy LP-t, amely maximalizlja Daisy profitjt!
8. A Highland tv-rdi boltnak el kell dntenie, hogy
hny tvt s hny rdit kszletezzen. Egy tvhez 1 ngyzetmter alapterlet kell, mg egy rdihoz 0.4 ngyzetmter. 20 ngyzetmter terlet ll rendelkezsre. A Highland
60 dollrt keres egy tvn s 20 dollrt egy rdin. A boltban mst nem raktroznak, csak tvt s rdit. A piaci elorsok rtelmben ktelezo, hogy a raktrozott kszlkeknek legalbb 60%-a rdi legyen. Vgl, egy tv 200 dollr
tokt kthet le legfeljebb, egy rdi pedig 50-et. A Highland azt szeretn, hogy egy-egy idopontban legfeljebb 3000

3.8. Keversi problmk


dollrnyi tokje volna lektve. Fogalmazzon meg egy LP-t,
amelynek megoldsa maximalizlja a Highland profitjt!
9. Sok Wall Street-i cg hasznl lineris programozsi
modelleket arra, hogy a legkedvezobb ktvny portfolit vlassza. A kvetkezo egy ilyen modell egyszerustett vltozata. A Solodrexnek egymilli dollrja van befektetsi clra.
Ngyfle ktvnyben gondolkoznak. A 13. tblzat mutatja
az egyes ktvnyek vrhat vi hozamt, a legrosszabb esetben val vi hozamot s az egyes ktvnyek tartamt. Egy
ktvny tartama azt mri, hogy a ktvny mennyire rzkeny a kamatlbra. A Solodrex maximalizlni akarja a ktvnybefektetsekbol szrmaz vrhat nyeresget, hrom
felttel mellett.
13.

TBLZAT

Vrhat
hozam (%)

Legrosszabb
hozam (%)

Tartam

13
8
12
14

6
8
10
9

3
4
7
9

1. ktvny
2. ktvny
3. ktvny
4. ktvny

1. felttel A portfli nyeresge a legrosszabb esetben


is legalbb 8% legyen.
2. felttel A portfli tlagos tartama legfeljebb 6 lehet. Pldul, ha a portfliban 600 000$ van az 1-es ktvnyben s 400 000$ a 4-esben, akkor az tlagos tartam:
600000(3) + 400000(9)
= 5.4
1000000
3. felttel A diverzifikcis elorsok miatt egyfle ktvnybe legfeljebb a teljes befektetett sszeg 40%-a fektetheto be.
Fogalmazzon meg egy LP-t, amely a Solodrex szmra lehetov teszi, hogy maximalizlja befektetsnek vrhat
nyeresgt!
10. A Coalco hrom helyen bnyszik szenet s ezt ngy
fogyaszthoz szlltja. A 14. tblzatbl kiolvashat a szn
tonnnknti kitermelsi kltsge, a szn tonnnknti salaks kntartalma, valamint az egyes bnyk kapacitsa (tonnban). Az egyes fogyasztk ltal rendelt sznmennyisg
(tonnban) a 15. tblzatban lthat. A szlltsi kltsgek
(dollrban) a 16. tblzatban lthatk, s egy tonna szn
szlltsra vonatkoznak. Elors, hogy a teljes leszlltott
14.

TBLZAT

1. bnya
2. bnya
3. bnya

Kitermelsi
kltsg ($)

Kapacits

50
55
62

120
100
140

Salak- Kntartalom (t)


.08
.06
.04

.05
.04
.03

95

sznmennyisgben legfeljebb 5% salak s legfeljebb 4%


kn lehet. Fogalmazzon meg egy LP-t, amelynek a megoldsa minimalizlja a kereslet kielgtsnek kltsgt!
15.
1.

TBLZAT

Fogyaszt
2.
3. 4.

80
16.

70

60

90

TBLZAT

1.
1. bnya
2. bnya
3. bnya

4
9
8

Fogyaszt
2. 3. 4.
6
6
12

8
7
3

12
11
5

11. Eli Daisy ngyfle vegyszerbol lltja elo a Rozac nevu


gygyszert. Ma 1000 fontot kell belole elolltani. A Rozacban lvo hrom aktv alkotrsz A, B s C. Sly szerint a
Rozac-nak legalbb 8% A-t, legalbb 4% B-t s legalbb
2% C-t kell tartalmaznia. Az egyes vegyszerek fontonknti
egysgra, valamint az, hogy az egyes vegyszerek 1 fontja
mennyi aktv alkotrszt tartalmaz, a 17. tblzatban lthat. Mindenkppen fel kell hasznlni legalbb 100 fontnyi 2. vegyszert. Fogalmazzon meg egy LP-t, amelynek a
megoldsa megadja a mai adag Rozac elolltsnak a legolcsbb mdjt!
17.

TBLZAT

Vegyszer

Kltsg (fontban)

1
2
3
4

8
10
11
14

.03
.06
.10
.12

.02
.04
.03
.09

.01
.01
.04
.04

12. Egy befektets kockzati indexe kiszmthat a befektets megtrlsbol (ROI) gy, hogy vesszk a befektets rtknek szzalkos vltozst minden vben, s ezeket tlagoljuk. Tegyk fel, hogy n megprblja eldnteni,
hogy pnznek hny szzalkt fektesse be kincstrjegybe,
aranyba s rszvnyekbe. A 18. tblzat mutatja az ves hozamokat (rtkvltozst) ezekre a befektetsekre az 1968
1988 vekben.
Legyen egy portfli kockzati indexe (az egyes befektetsekbe befektetni szndkozott pnzrsznek megfeleloen)
az egyes egyedi befektetsek kockzati indexnek slyozott tlaga. Tegyk fel, hogy minden egyes befektetsnek
a teljes befektetett sszeg 20%-a s 50%-a kztt kell lennie. n azt szeretn, ha portflijnak kockzati indexe 0.15

96

3. fejezet Bevezets a lineris programozsba

B csoport

lenne. Az n clja, hogy maximalizlja portflijnak vrhat hozamt. Fogalmazzon meg egy LP-t, amelynek a megoldsa maximalizlja az n portflijnak vrhat hozamt,
az adott felttelek mellett! Hasznlja mindegyik befektetsnl az 19681988-as vek tlagos hozamt, mint az n
becslst a vrhat megtrlsre.13
18.

TBLZAT

v
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988

19.

Rszvny

Arany

Kincstrjegy

11
9
4
14
19
15
27
37
24
7
7
19
33
5
22
23
6
32
19
5
17

11
8
14
14
44
66
64
0
22
18
31
59
99
25
4
11
15
12
16
22
2

5
7
7
4
4
7
8
6
5
5
7
10
11
15
11
9
10
8
6
5
6

TBLZAT

TBLZAT

Norml
Szuper
13 Chandy

14. Az Oilco kt termket llt elo: normlbenzint s szuperbenzint. Mindkt termk .15 gramm lmot tartalmaz literenknt. A kt termk hat alkotrszbol tevodik ssze:
reformt, folykony katalitikusan elolltott benzin (FCG),
isomert (ISO), polymer (POL), MTBE (MTB) s butn
(BUT). Mindegyik sszetevonek ngy jellemzoje van:
1. tulajdonsg Oktnszm (RON)
2. tulajdonsg RVP
3. tulajdonsg ASTM illkonysg 70 C-on
4. tulajdonsg ASTM illkonysg 130 C-on
A jellemzok s a naponta az egyes alkotrszekhez rendelkezsre ll mennyisg (literben) a 19. tblzatban lthatk.
A vgtermkekre vonatkoz elorsok a 20. tblzatban lthatk.
A napi keresletet (ezer literben) mindkt termkbol ki kell
elgteni, de annl tbbet is szabad termelni. A RON s
ASTM elorsok minimumokat jelentenek. A normlbenzin literje 29.49 centrt adhat el, a szuper 31.43 centrt.
Mielott brmelyik termket el lehetne adni, literenknt .15
gramm lmot ki kell vonni belolk. A literenknti .1 gramm
lomtalants kltsge 8.5 cent. Brmelyik tpus benzin
legfeljebb 38% FCG-t tartalmazhat. Fogalmazza meg s
oldja meg az LP-t, amelynek megoldsa megadja az Oilcnak, hogy miknt maximalizlja napi profitjt!14

Rendelkezsre ll
mennyisg

RON

RVP

ASTM(70)

ASTM(130)

15 572
15 434
6709
1190
748
Korltlan

98.9
93.2
86.1
97
117
98

7.66
9.78
29.52
14.51
13.45
166.99

5
57
107
7
98
130

46
103
100
73
100
100

Reformt
FCG
ISO
POL
MTB
BUT
20.

13. A Sunco tulajdonosa nem hiszi el, hogy az ltalunk felrt LP optimlis megoldsa maximalizlni fogja a napi profitot. gy okoskodik: Neknk napi 14 000 hord finomt kapacitsunk van, de az nk optimlis megoldsa csak 13 500
hordnyit termelne. Ezrt ez nem maximalizlhatja a profitot. Hogyan vlaszolnnk neki?

Kereslet

RON

RVP

ASTM(70)

ASTM(130)

9.8
30

90
96

21.18
21.18

10
10

50
50

(1987) alapjn.
s Marinos-Kouris (1988) alapjn.

14 Magoulas

3.9. Termelsi modellek

3.9.

97

Termelsi modellek
Most rtrnk nhny egyszeru termelsi eljrs LP modellknt val megfogalmazsra. 15
A legfontosabb lps annak meghatrozsa, hogy egy ks o bbi llapot vgtermkei hogyan
viszonyulnak egy korbbi llapot vgtermkeihez.

11.

PLDA

A Rylon Corporation Brute s Chanelle parfmt gyrt. Mindkt tpus parfm gyrtshoz a szksges nyersanyagot fontonknt 3 dollrrt lehet megvsrolni. 1 font nyersanyag
feldolgozsa a laboratriumban 1 ra munkt ignyel. Minden font feldolgozott nyersanyag
3 deka Norml Brute parfmt s 4 deka Norml Chanelle parfmt szolgltat. A Norml
Brute eladsi ra deknknt 7 dollr, a Norml Chanelle- deknknt 6 dollr. A Rylonnak ezenkvl lehetosge van arra is, hogy a Norml Brute s Norml Chanelle parfmket
tovbbi eljrs al vetve elolltsa a Luxus Brute s a Luxus Chanelle parfmket, melyeknek eladsi ra sorrendben 18$/deka, illetve 14$/deka. Minden deka Norml Brute
tovbbfeldolgozsa jabb 3 ra laboratriumi munkt ignyel, 4$ feldolgozsi kltsggel
jr s 1 deka Luxus Brute parfmt ad. Minden deka Norml Chanelle tovbbi feldolgozsa jabb 2 ra laboratriumi munkt ignyel, 4$ feldolgozsi kltsggel jr s 1 deka
Luxus Chanelle-t szolgltat. A Rylon-nak minden vben 6000 ra laboratriumi id o ll rendelkezsre s 4000 font a nyersanyagvsrls felso hatra. Fogalmazzunk meg egy LP-t,
amelynek megoldsa maximalizlja a Rylon profitjt! Ttelezzk fel, hogy a laboratriumi
rk kltsge fix kltsg.

Megolds

A Rylon-nak el kell dntenie, hogy mennyi nyersanyagot vegyen, s az egyes parfmtpusokbl mennyit lltson elo. Ezrt a dntsi vltozkat gy definiljuk:
x1 = hny deka az vente eladott Norml Brute
x2 = hny deka az vente eladott Luxus Brute
x3 = hny deka az vente eladott Norml Chanelle
x4 = hny deka az vente eladott Luxus Chanelle
x5 = hny font nyersanyagot vsrolnak vente.
A Rylon a kvetkezo kifejezst szeretn maximalizlni:
hozzjruls a profithoz = bevtel a parfmeladsbl feldolgozsi kltsgek
nyersanyag-vsrlsi kltsgek
= 7x1 + 18x2 + 6x3 + 14x4 (4x2 + 4x4) 3x5
= 7x1 + 14x2 + 6x3 + 10x4 3x5

A Rylon clfggvnye
max z = 7x1 + 14x2 + 6x3 + 10x4 3x5
A felttelek:
1. felttel vente legfeljebb 4000 font nyersanyag vsrolhat.
2. felttel vente legfeljebb 6000 laboratriumi ra hasznlhat fel.
15 Az

alfejezet Hartley (1971) alapjn kszlt.

(54)

98

3. fejezet Bevezets a lineris programozsba

Az 1. felttelt gy fejezhetjk ki:

x5 4000

(55)

A 2. felttel felrshoz figyeljk meg, hogy

az vente felhasznlt sszes laboratriumi rk szma


= a nyersanyag feldolgozsra vente felhasznlt ido
+ a Luxus Brute-hoz felhasznlt vi ido
+ a Luxus Chanelle-hez felhasznlt vi ido
= x5 + 3x2 + 2x4
Ezltal a 2. felttel gy alakul:
3x2 + 2x4 + x5 6000

(56)

Ezutn a modellhez hozzvesszk az xi 0 (i = 1, 2, 3, 4, 5) nemnegativitsi feltteleket.


Azt gondolhatnnk, hogy a Rylon-nak a kvetkezo LP-t kell megoldania:
max z = 7x1 + 14x2 + 6x3 + 10x4 3x5
f.h.
x5 4000
3x2 + 2x4 + x5 6000

xi 0 (i = 1, 2, 3, 4, 5)
Ez a megfogalmazs azonban hibs. Figyeljk meg, hogy az x 1 s x3 vltozk egyik felttelben sem szerepelnek. Ez azt jelenti, hogy minden olyan pont, amelyre x 2 = x4 = x5 = 0,
valamint x1 s x3 nagyon nagy, a lehetsges megoldsok halmazban van. Ezek a pontok
teht tetszolegesen nagy profitot szolgltatnnak. gy ez az LP nemkorltos. Azt a hibt
kvettk el, hogy ez a megfogalmazs nem mutatja ki azt, hogy a megvsrolt nyersanyagmennyisg meghatrozza a Brute-nak s a Chanelle-nek az eladhat vagy tovbbfeldolgozhat mennyisgt. Pontosabban fogalmazva, a 8. brbl (s abbl a tnyb o l, hogy 1 deka
tovbb-feldolgozott Brute pontosan 1 deka Luxus Brute-ot ad) az kvetkezik, hogy



megtermelt Brute dekban
eladott Norml Brute dekban
ahny fontot
=
+ eladott Luxus Brute dekban
vsroltak
nyersanyag fontja
= 3x5
Ez az sszefggs a kvetkezo felttelben tkrzodik:
x1 + x2 = 3x5

vagy

x1 + x2 3x5 = 0

Hasonlkppen, amint az a 8. brbl nyilvnval


az eladott Norml Chanelle dekban + az eladott Luxus Chanelle dekban = 4x 5
8. B R A
A BruteChanelle
problma termelsi
folyamata

x1 deka eladott Brute


3x5 deka
Brute

x2 deka Brute tovbbfeldolgozsra

x5 font
alapanyag
x3 deka eladott Chanelle
4x5 deka
Chanelle

x4 deka Chanelle tovbbfeldolgozsra

(57)

3.9. Termelsi modellek

99

Ezltal a megfelelo felttel


x3 + x4 = 4x5

vagy

x3 + x4 4x5 = 0

(58)

Az (57) s (58) felttelek a vltozk kztti kapcsolatokat mutatjk. Ezekr o l sokan


gyakran megfeledkeznek, s kihagyjk az ilyen tpus feltteleket. Mint ahogy ez a problma is mutatja, ha csak egyetlen felttelt kihagyunk, az mr elfogadhatatlan megoldsra
vezet (mint pldul egy nemkorltos LP). Ha (53)(58)-hoz hozzvesszk a szoksos nemnegativitsi feltteleket, akkor a helyes LP megfogalmazst kapjuk:
max z = 7x1 + 14x2 + 6x3 + 10x4 3x5
f.h.

x1 +

3x2
x2

x5 4000

+ 2x4 + x5 6000
3x5 = 0

x3 + x4 4x5 = 0
xi 0 (i = 1, 2, 3, 4, 5)

Az optimlis megolds z = 172 666.667, x1 = 11 333.333 deka, x2 = 666.667 deka,


x3 = 16 000 deka, x4 = 0, s x5 = 4000 font. Vagyis Rylon vsrolja meg az egsz rendelkezsre ll 4000 font nyersanyagot s lltson elo a Norml Brute-bl 11 333.333 dekt,
a Luxus Brute-bl 666.667 dekt s a Norml Chanelle-bo l 16 000 dekt. Ez a termelsi
terv 172 666.667 dollrral jrul hozz a Rylon profitjhoz. Ebben a problmban a dekk
trtrsze sszerunek ltszik, ezrt az oszthatsgi feltevs fennll.
A Rylon problma trgyalst azzal zrjuk, hogy mg egy, sokak ltal elkvetett hibra
hvjuk fel a figyelmet. Nhnyan gy okoskodnak, hogy
1 font nyersanyag = 3 deka Brute + 4 deka Chanelle
Mivel x1 + x2 = az sszes elolltott Brute mennyisgvel dekban, s x3 + x4 = az
sszes elolltott Chanelle mennyisgvel dekban, a rosszul okoskodk arra a kvetkeztetsre jutnak, hogy
x5 = 3(x1 + x2) + 4(x3 + x4 )
(59)
Ennek az egyenlosgnek egy szmtgpes program szmra van rtelme: bizonyos rtelemben az x5 vltoz az (59) jobb oldalval helyettestheto . Mindazonltal, mint egy LP felttelnek, (59)-nek nincs rtelme. Hogy ezt belthassuk, vegyk szre, hogy az egyenl o sg
bal oldala hny font nyersanyag, s a jobb oldalon a 3x 1 tagban szereplo mrtkegysg


a Brute deki
(a Brute deki)
a nyersanyag fontjai
Mivel teht az egyenlosg kt oldalnak nem ugyanaz a mrtkegysge, (59) nem lehet
helyes. Ha egy felttellel szemben ktsgeink vannak, akkor a felttelt gy kell felrni, hogy
biztosak legynk abban, hogy minden tag ugyanabban a mrtkegysgben van kifejezve.
gy elkerlhetjk a megfogalmazsi hibkat. (Termszetesen, mg akkor is lehet rossz a
felttel, ha a mrtkegysgek a felttel mindkt oldaln azonosak.)

100

3. fejezet Bevezets a lineris programozsba

Feladatok
A csoport
1. A Sunco Oil hrom klnbzo eljrssal tbbfle benzint llthat elo. Mindegyik eljrsban szerepel az, hogy olajokat kevernk a vllalat katalitikus krakkoljban. Az 1es eljrs egyrs futtatsa 5 dollrba kerl s 2 hord 1.
nyersolaj valamint 3 hord 2. nyersolaj kell hozz. Ennek
az egyrs futtatsnak az eredmnye 2 hord 1. benzin s
1 hord 2. benzin. A 2-es eljrs egyrs futtatsa 4 dollrba kerl, s 1 hord 1. nyersolaj s 3 hord 2. nyersolaj
szksges hozz. Ennek eredmnye 3 hord 2. benzin. A
3-as eljrs egyrs futtatsa 1 dollrba kerl, kell hozz 2
hord 2. nyersolaj s 3 hord 2. benzin. Ennek hozatala 2
hord 3. benzin. Minden hten 200 hord 1. nyersolaj vsrolhat, hordnknt 2 dollrrt s 300 hord 2. nyersolaj,
hordnknt 3 dollrrt. Minden elolltott benzin eladhat a
kvetkezo hordnknti rakon: 1. benzin 9$, 2. benzin 10$,
3. benzin 24$. Fogalmazzon meg egy LP-t, amelynek megoldsa maximalizlni fogja a bevtel s kltsgek klnbsgt! Ttelezze fel, hogy a katalitikus krakkolnak csak heti
100 rja ll rendelkezsre!
2. A Furnco asztalokat s szkeket gyrt. Egy asztalhoz
40 egysgnyi fa kell, egy szkhez 30 egysg. A fa beszerzsi
ra 1$ egysgenknt. 40 000 egysgnyi ft lehet vsrolni.
Egy kiksztetlen asztal vagy kiksztetlen szk gyrtsa 2
rnyi szakkpzett munkt ignyel. Egy kiksztetlen asztal
befejezshez jabb hrom rnyi szakkpzett munka kell,
mg egy kiksztetlen szk befejezshez jabb kt ra szakmunka szksges. Rendelkezsre ll 6000 szakmunksra
(s ez mr ki is van fizetve). Minden legyrtott btordarab
eladhat a kvetkezo egysgrakon: 70$-rt egy kiksztetlen asztal, 140$-rt egy ksz asztal, 60$-rt egy kiksztetlen szk, 110$-rt egy kiksztett szk. Fogalmazzon meg
egy LP-t, amelynek megoldsa maximalizlja az asztalok
s szkek gyrtsbl szrmaz profitot!
3. Tegyk fel, hogy a 11. pldban 1 font nyersanyagbl
vagy 3 deka Brute vagy 4 deka Chanelle llthat elo. Hogy
vltoztatn ez meg a feladat felrst?
4. A Chemco 3 termket gyrt: 1, 2 s 3. Minden font
nyersanyag 25 dollrba kerl. A nyersanyag 1 fontjbl feldolgozs utn 3 deka 1. termk s 1 deka 2. termk lesz. Egy
font nyersanyag feldolgozsa egy dollrba kerl s 2 munkart vesz ignybe. Az 1-es termk egy-egy dekja hromflekppen hasznlhat fel:
Eladhat 10$-rt.
Tovbb feldolgozhat 1 deka 2-es termkk, ez 1$ba kerl s kt munkart ignyel.
Tovbb feldolgozhat 1 deka 3-as termkk. Ez 2$ba kerl s 3 munkart ignyel.
A 2-es termk minden dekja ktflekppen hasznlhat fel:

Eladhat 20$-rt.
Feldolgozhat 1 deka 3-as termkk. Ez 6$-ba kerl
s munkaignye 1 ra.
21.

TBLZAT

Termk
1
2
3

Deka
5000
5000
3000

A 3-as termk egy dekja 30$-rt adhat el. Legfeljebb


annyi deka adhat el az egyes termkekbol, amennyi a 21.
tblzatban lthat. Legfeljebb 2500 munkara ll rendelkezsre. Hatrozza meg, hogyan maximalizlhatja a Chemco
a profitjt!

B csoport
5. Egy vllalat az A, B s C termkeket gyrtja, s ezeket
korltlan mennyisgben el tudja adni a kvetkezo egysgrakon: A: 10$; B: 56$; C: 100$. Egysgnyi A elolltshoz 1 munkara szksges; egysgnyi B-hez 2 munkara
plusz 2 egysg A kell; vgl egysgnyi C-hez 3 munkara,
valamint egy egysgnyi B szksges. A B termk elolltshoz felhasznlt A egysgek nem adhatk el, hasonlan
a C elolltshoz felhasznlt B sem adhat el. Rendelkezsre ll 40 munkara. Fogalmazzon meg egy LP-t, amelynek megoldsa maximalizlja a vllalat rbevtelt!
6. A Daisy Drugs ktfle drogriai termket llt elo: 1 s
2. A termkek ktfle vegyszer keversvel llthatk elo: 1
s 2. Sly szerint szmolva az 1. termkben legalbb 65% 1es vegyszernek kell lennie, s a 2-es termk legalbb 55%nak 1-es vegyszernek kell lennie. Az 1-es termk deknknt 6 dollrrt, a 2-es termk deknknt 4 dollrrt adhat
el. A vgtermkekhez szksges vegyszerek: 1 s 2, ktfle
lehetsges eljrs egyikvel llthatk elo. Az 1-es eljrs
egyrai futtatshoz 3 deka nyersanyag s 2 rnyi szakkpzett munka szksges, eredmnye pedig 3 deka mindegyik
vegyszerbol. A 2-es eljrs egyrs alkalmazshoz 2 deka
nyersanyag s 3 rnyi szakkpzett munka szksges, eredmnye 3 deka 1-es vegyszer s 1 deka 2-es vegyszer. Rendelkezsre ll 120 ra szakmunka s 100 deka nyersanyag.
Fogalmazzon meg egy LP-t, ami a Daisy eladsi bevtelnek maximalizlsra hasznlhat!
7. Lizzie Tejtermkzeme krmsajtot s trt llt elo.
E kt termk elolltshoz tejet s tejsznt kell sszekeverni. A krmsajt s a tr elolltshoz magas zsrtartalm

3.9. Termelsi modellek


s alacsony zsrtartalm tej egyarnt felhasznlhat. A magas zsrtartalm tej 60%-a zsr, az alacsony zsrtartalm tej
30%-a zsr. A krmsajt elolltshoz felhasznlt tejnek tlagosan 50% zsrtartalmnak kell lennie, s a trhoz legalbb 35% zsrtartalom szksges. Sly szerint a krmsajtot
szolgltat anyagok legalbb 40%-nak s a trt elollt
anyagok legalbb 20%-nak tejsznnek kell lennie. Mind a
tr, mind pedig a krmsajt gy llthat elo, hogy a tejet s
tejsznt a sajtgpen kell tfuttatni. 1 fontnyi alkotrsznek 1
font krmsajtt alaktsa 40 centbe kerl. 1 font tr elolltsa is 40 centbe kerl, de az 1 font alkotrszbol csak 0.9
font tr lesz s 0.1 font hulladk.16
A tejszn gy llthat elo, hogy magas zsrtartalm s alacsony zsrtartalm tejet prologtatni kell. Minden fontnyi
prologtatott magas zsrtartalm tej 0.6 font tejsznt ad. A
kltsg 40 cent fontonknt (a tejbol). Ugyancsak 40 centbe
kerl 1 font alacsony zsrtartalm tej prologtatsa. 1 font
prologtatott alacsony zsrtartalm tejbol 0.3 font tejszn
lesz. Naponta legfeljebb 3000 fontnyi anyag futtathat t a
sajtgpen. Naponta legalbb 1000 font trt s 1000 font
krmsajtot kell elolltani. Naponta legfeljebb 1500 font
krmsajt s 2000 font tr adhat el. A tr eladsi ra
1.20$, a krmsajt 1.50$ fontonknt. A magas zsrtartalm
tej beszerzsi ra 80 cent/font, az alacsony zsrtartalm tej
40 cent/font. A prologtat berendezs naponta legfeljebb
2000 font tejet tud feldolgozni. Fogalmazzon meg egy LP-t,
amelynek megoldsa maximalizlja Lizzie napi profitjt!
8. Egy vllalat hat termket gyrt a kvetkezo mdon.
Minden egysgnyi nyersanyagbl ngy egysgnyi 1. termk, kt egysgnyi 2. termk s egy egysgnyi 3. termk
lesz. Legfeljebb 1200 egysg 1. termk adhat el s legfeljebb 300 egysg 2. termk adhat el. Minden egysg elolltott 1. termk vagy eladhat, vagy tovbbi eljrs al veheto.
Minden egysgnyi tovbbgyrtott 1. termk egy egysg 4.
termket szolgltat. A kereslet a 3-as s 4-es termk irnt
korltlan. Minden egysg 2. termk eladhat, vagy tovbbi
eljrs al vonhat. Minden egysg tovbbgyrtott 2. termk
0.8 egysg 5-s termket s 0.3 egysg 6-os termket szolgltat. Legfeljebb 1000 egysg 5. termk s legfeljebb 800
egysg 6. termk adhat el. Legfeljebb 3000 egysg nyersanyagot lehet vsrolni, egysgenknt 6 dollrrt. Az 5-s
22.

TBLZAT

Eladsi
r ($)
1. termk
2. termk
3. termk
4. termk
5. termk
6. termk

Termelsi
kltsg ($)

7
6
4
3
20
35

4
4
2
1
5
5
16

Sullivan s Secrest (1985) alapjn.

101

s 6-os termkbol az eladatlan maradkot meg kell semmisteni. Minden megmaradt egysg 5-s termk megsemmistse 4 dollrba kerl, s minden megmaradt egysg 6-os
termk megsemmistse 3 dollrba kerl. A nyersanyag-vsrlsi kltsget elhagyva, az egysgenknti eladsi r s az
egyes termkek termelsi kltsgei a 22. tblzatban lthatk. Fogalmazzon meg egy LP-t, amelynek megoldsa
profit-maximalizl termelsi tervet ad!
9. A Chemco minden hten korltlan mennyisgu nyersanyagot vsrolhat fontonknt 6 dollrrt. Minden font
megvsrolt nyersanyag vagy az 1. input vagy a 2. input elolltsra hasznlhat fel. Minden egyes font nyersanyag 2
deka 1. inputot ad, amelyhez 2 rnyi feldolgozsi idore van
szksg, s 2$ feldolgozsi kltsge van. Minden egyes font
nyersanyag 3 deka 2. inputot ad, amelyhez 2 rnyi feldolgozsi idore van szksg, s 4$ feldolgozsi kltsge van.
Ktfle termelsi eljrs ll rendelkezsre. Az 1-es eljrs
2 ra hosszat tart, s 2 deka 1. input s 1 deka 2. input
kell hozz. Az 1-es eljrs kltsge 1$. Minden alkalommal, amikor az 1-es eljrst futtatjk, 1 deka A termk s
1 deka szennyvz keletkezik. A 2-es eljrs 3 ra hosszat
tart, s 2 deka 2. input s 1 deka 1. input kell hozz. A 2-es
eljrs kltsge 8$.
A Chemco gy tud megszabadulni a szennyvztol, hogy
vagy beleengedi a Charles folyba, vagy feldolgozza C s D
termkekk. Kormnyrendelet szablyozza, hogy a Chemco
hetenknt legfeljebb 1000 deka szennyvizet engedhet bele a
folyba. Egy deka C termk elolltsi kltsge 4$, s 11$rt adhat el. Egy deka C termk elolltshoz 1 ra feldolgozsi ido, 2 deka 1. input s .8 deka szennyvz szksges.
Egy deka D termk elolltsa 5$-ba kerl s 7$-rt adhat
el. Egy deka D termk elolltshoz 1 ra feldolgozsi ido,
2 deka 2. input s 1.2 deka szennyvz kell.
Hetenknt legfeljebb 5000 deka A termk s 5000 deka B
termk adhat el, de a C s D termkek irnti kereslet korltlan. Az A termk eladsi ra deknknt 18$, a B termk
eladsi ra 24$ deknknt. Minden hten 6000 ra feldolgozsi ido ll rendelkezsre. Fogalmazzon meg egy LP-t,
amelynek megoldsa megadja a Chemcnak, hogyan maximalizlja a heti profitjt!
10. A LIMECO-nak van egy mszkszto zeme, s hatfle minosgu meszet rul (osztlyozs 1-tol 6-ig). A fontonknti eladsi rak a 23. tblzatban lthatk.
23.

TBLZAT

Osztly
r ($)

1
12

2
14

3
10

4
18

5
20

6
25

A meszet mszgeto kemenckben gyrtjk. Ha egy mszgeto kemence egy 8 rs muszakot mukdik, akkor a klnbzo osztly elolltott msz mennyisge (fontban) a

102

3. fejezet Bevezets a lineris programozsba

24. tblzatban lthat. Egy mszgeto kemence 8 rs


mukdtetse 150 dollrba kerl. A gyr vlemnye szerint naponta (fontban) legfeljebb a 25. tblzatban felsorolt
mennyisgek adhatk el.
24.

TBLZAT

Osztly
Elolltott mennyisg

25.

1
2

2
3

3
1

4
1.5

2
30

3
40

5
2

1
20

4
35

5
25

6
50

A mszgeto kemenckbol kikerlt msz tovbb is feldolgozhat a 26. tblzatban bemutatott t eljrs brmelyikvel. Pldul 1$ fontonknti kltsggel egy font 4-es osztly
mszbol 0.5 font 5-s s 0.5 font 6-os osztly msz llthat elo.
Minden nap vgn meg kell szabadulni a megmaradt mszmennyisgtol a 27. tblzatban megadott fontonknti megsemmistsi kltsgrt.
26.

TBLZAT

Input (1 font)

Output

1-es osztly

0.3 font 3-as oszt.


0.2 font 4-es oszt.
0.3 font 5-s oszt.
0.2 font 6-os oszt.
1.0 font 6-os oszt.
0.8 font 4-es oszt.
0.5 font 5-s oszt.
0.5 font 6-os oszt.
0.9 font 6-os oszt.

2-es osztly
3-as osztly
4-es osztly
5-s osztly

Kltsg ($)
(input fontonknt)
2
1
1
1
2

TBLZAT

Osztly
Megsemmistsi
kltsg fontonknt ($)

Fogalmazzon meg egy LP-t, amelynek megoldsa megmondja a LIMECO-nak, hogyan maximalizlja a profitjt!

6
3

TBLZAT

Osztly
Maximlis kereslet

27.

11. A Chemco hrom termket gyrt: A, B s C. Legfeljebb 30 font adhat el az egyes termkekbol a kvetkezo
fontonknti rakon: A termk 10$-rt; B termk 12$-rt; C
termk 20$-rt. A Chemco a nyersanyagot fontonknt 5 dollrrt vsrolja. Egy-egy font nyersanyagbl vagy 1 font A,
vagy 1 font B termk llthat elo. 3 dollr fontonknt a kltsge annak az eljrsnak, amely 1 font A termket 0.6, font
B termket s 0.4 font C termket llt elo. 2 dollr kltsggel 1 font B termkbol 0.8 font C termk nyerheto. Fogalmazzon meg egy LP-t, amelynek megoldsa megmondja a
Chemcnak, hogyan maximalizlja a profitjt!
12. A Chemco 3 vegyszert gyrt: B, C s D. Eloszr az A
vegyszerbol vsrolnak 100 literenknt 6 dollrrt. Tovbbi
3 dollr kltsgrt s 3 rs szakmunkval 100 liter A-bl
40 liter C s 60 liter B llthat elo. A C vegyszer akr eladhat, akr tovbb feldolgozhat. 100 liter C termknek 60
liter D-v s 40 liter B-v alaktsa egy dollrba kerl s
egyrai szakmunkt ignyel. Az egyes vegyszerekre a 100
literenknti eladsi r s az eladhat mennyisg maximuma
(100 literben) a 28. tblzatban lthat.
28.

TBLZAT

r ($)
Kereslet maximuma

12
30

16
60

26
40

Legfeljebb 200 munkara ll rendelkezsre. Fogalmazzon


meg egy LP-t, amelynek megoldsa megadja a Chemcnak,
hogyan maximalizlja a profitjt!

3.10. Lineris programozs dntsi problmk megoldsra

3.10.

103

Lineris programozs alkalmazsa tbbperidusos


dntsi problmk megoldsra: egy kszletezsi
modell
Egszen mostanig az ltalunk trgyalt lineris programozsi feladatok mind statikus, vagy
egyperidus modellek voltak. Egy statikus modellben azt felttelezzk, hogy a dntsek
mindegyike egy adott idopontban trtnik. A fejezet htralvo rszben a pldk a lineris programozsnak az optimlis dntsek meghatrozsra val felhasznlst mutatjk
be tbbperidusos vagy dinamikus modellekben. Dinamikus modellekkel akkor llunk
szemben, amikor a dntshoz egynl tbb ido pontban hoz dntseket. Egy dinamikus
modellben a jelen peridusban hozott dntsek befolysoljk a jv o ben hozott dntseket. Tekintsnk pldul egy vllalatot, amelyiknek azt kell eldntenie, hogy havonta hny
egysg termket lltson elo. Ha a vllalat egy adott hnapban nagyszm egysget llt
elo, akkor ez cskkenti a kvetkezo hnapokban elolltand termkegysgek szmt. A
3.103.12. alfejezetekben trgyalt pldk azt illusztrljk, hogy korbbi dntsek hogyan
befolysoljk a ksobbi dntseket. Amikor majd a 18. s 19. fejezetekben a dinamikus
programozst tanulmnyozzuk, jra vissza fogunk trni a dinamikus dntsi modellekre.

12.

PLDA

A Sailcnak el kell dntenie, hogy hny vitorlshajt gyrtson a kvetkez o ngy negyedvben. A kvetkezo ngy negyedv kereslete a kvetkezo : 40 vitorlshaj az elso negyedvben, 60 vitorlshaj a msodik negyedvben, 75 vitorlshaj a harmadik negyedvben,
25 vitorlshaj a negyedik negyedvben. A Sailcnak a keresletet mindig id o ben kell kielgtenie. Az elso negyedv elejn a Sailco 10 vitorlshajval rendelkezik. Minden egyes
negyedv elejn a Sailcnak el kell dntenie, hogy abban a negyedvben hny vitorlshajt gyrtson. Az egyszerusg kedvrt feltesszk, hogy egy bizonyos negyedvben gyrtott
vitorlshajk mr a szban forg negyedvi ignyek kielgtsre is szolglhatnak. Norml
munkaidoben a Sailco egy negyedv alatt 40 vitorlshajt tud gyrtani, egy-egy haj el o lltsnak teljes kltsge 400$. Ha a Sailco az alkalmazottakat tlrban dolgoztatja, akkor
mg kszlhetnek jabb vitorlshajk is, de a tlradjjal egytt egy-egy vitorlshaj teljes
elolltsi kltsge 450$.
Minden negyedv vgn (amikor a gyrts mr megtrtnt s a foly negyedv kereslete
ki lett elgtve), vitorlshajnknt 20$ trolsi kltsg merl fel. (A trolsi kltsgek f o bb
sszetevoirol a 14. fejezetben lesz sz.) Alkalmazzunk lineris programozst egy olyan
termelsi terv meghatrozsra, amely minimalizlja a gyrtsi s kszletezsi kltsgeket
a kvetkezo ngy negyedvre!

Megolds

A Sailcnak minden negyedvre meg kell hatroznia a norml munkaid o ben, valamint a
tlraidoben elolltott vitorlshajk szmt. gy a kvetkezo dntsi vltozkat definiljuk:
xt = a norml munkaidoben (hajnknt 400$-rt) gyrtott vitorlshajk szma
a t-edik negyedvben (t = 1, 2, 3, 4)
yt = a tlraidoben (hajnknt 450$-rt) gyrtott vitorlshajk szma
a t-edik negyedvben (t = 1, 2, 3, 4)
Kzenfekvo a kszletekre (a meglvo vitorlshajk szma) vonatkoz dntsi vltozkat
egy-egy negyedv vgre definilni:
it = a meglvo vitorlshajk szma a t-edik negyedvben (t = 1, 2, 3, 4)

104

3. fejezet Bevezets a lineris programozsba

A Sailco sszes kltsge a kvetkezo kppen hatrozhat meg:


sszes kltsg = a norml munkaido ben elolltott hajk kltsge
+ tlmunkaidoben elolltott hajk kltsge + trolsi kltsg
= 400(x1 + x2 + x3 + x4 ) + 450(y1 + y2 + y3 + y4 )
+ 20(i1 + i2 + i3 + i4 )
gy a Sailco clfggvnye:
min z = 400x1 + 400x2 + 400x3 + 400x4 + 450y1 + 450y2
+ 450y3 + 450y4 + 20i1 + 20i2 + 20i3 + 20i4

(60)

Mielott meghatrozzuk a Sailco problma feltteleit, kt megjegyzst tesznk, amelyek


segtsgnkre lesznek tbbperidusos termelsi tervek modelljeinek megfogalmazsban.
A t-edik negyedvre
a t-edik negyedv vgn fennll kszlet = a (t 1)-edik negyedv vgi kszlet
+ a t-edik negyedvi termels
a t-edik negyedvi kereslet

Ez az sszefggs kulcsszerepet jtszik majdnem minden tbbperidusos termelsi terv


megfogalmazsban. Ha dt -nek nevezzk a t-edik peridus kereslett (itt d1 = 40, d2 = 60,
d3 = 75, s d4 = 25), akkor megfigyelsnk a kvetkezo tmr formban fejezheto ki:
it = it1 + (xt + yt ) dt

(t = 1, 2, 3, 4)

(61)

(61)-ben i0 = kszlet a nulladik negyedv vgn = kszlet az elso negyedv elejn =


10. Pldul, ha a msodik negyedv vgn 20 vitorlshajnk volt (i 2 = 20), s 65 vitorlshajt gyrtottunk a 3. negyedvben (ez azt jelenti, hogy x 3 + y3 = 65), akkor mi lesz
a 3. negyedv vgi kszletnk? Egyszeruen nem ms, mint a 2. negyedv vgn meglv o
vitorlshajk szma, plusz a 3. negyedvben gyrtott hajk szma, mnusz a 3. negyedv
kereslete, azaz 75. Ebben az esetben i3 = 20 + 65 75 = 10, ami megegyezik (61)-gyel. A
(61) egyenlosg olyan dntsi vltozk kztti sszefggst fejez ki, amelyek klnbz o
idoperidusokhoz tartoznak. Egy tbbperidusos LP modell megfogalmazsakor ltalban
a legnehezebb lps megtallni azt a relcit (mint itt a (61)), amelyik a klnbz o peridusbeli dntsi vltozk kztti sszefggst rja le.
Azt is megjegyezzk, hogy a t-edik negyedv kereslete akkor s csak akkor lesz kielgtve, ha it 0. Hogy ezt megrtsk, figyeljk meg, hogy it1 + (xt + yt ) ll rendelkezsnkre a t-edik peridus keresletnek kielgtsre, gy teht a t-edik peridus kereslete
akkor s csak akkor elgtheto ki, ha
it1 + (xt + yt ) dt

vagy

it = it1 + (xt + yt ) dt 0

Ez azt jelenti, hogy az it 0 (t = 1, 2, 3, 4) nemnegativitsi felttelek biztostjk, hogy


az egyes negyedvek keresletei megfelelo idoben ki lesznek elgtve.
Most mr meghatrozhatjuk a Sailco problma feltteleit. Elo szr is a kvetkezo ngy
felttelt hasznljuk arra, hogy norml ido ben a termels nem lehet tbb, mint 40: x1 , x2 , x3 ,
x4 40. Ezutn a (61) alak feltteleket vesszk sorra minden peridusra (t = 1, 2, 3, 4).
gy a kvetkezo ngy felttelt kapjuk:
i1 = 10 + x1 + y1 40

i3 = i2 + x3 + y3 75

i2 = i1 + x2 + y2 60

i4 = i3 + x4 + y4 25

3.10. Lineris programozs dntsi problmk megoldsra

105

A modellhez hozzvve az xt 0 nemnegativitsi feltteleket (hogy kizrhassuk a negatv termelst), s az it 0 feltteleket (minden peridusban biztostva a kereslet kielgtst), a kvetkezo alak feladathoz jutunk:
min z = 400x1 + 400x2 + 400x3 + 400x4 + 450y1 + 450y2 + 450y3 + 450y4
+ 20i1 + 20i2 + 20i3 + 20i4
f.h.

x1 40,
x2 40,
x3 40,
x4 40
i1 = 10 + x1 + y1 40,
i2 = i1 + x2 + y2 60
i3 = i2 + x3 + y3 75,
i4 = i3 + x4 + y4 25
it 0, yt 0, s xt 0 (t = 1, 2, 3, 4)

Ennek a problmnak az optimlis megoldsa z = 78 450; x1 = x2 = x3 = 40; x4 = 25;


y1 = 0; y2 = 10; y3 = 35; y4 = 0; i1 = 10; i2 = i3 = i4 = 0. gy a Sailco problmban
a minimlis sszkltsg 78 450$. Ez a kltsg akkor ll elo , ha Sailco 40 vitorlshajt
gyrt norml munkaidoben az 1., 2., 3. negyedvekben, s 25 vitorlshajt gyrt norml
munkaidoben a negyedik negyedvben. Ezenkvl a Sailcnak mg 10 vitorlshajt kell
gyrtania tlraidoben a 2. negyedvben s 35 vitorlshajt tlrban a 3. negyedvben.
Kszletezsi kltsgek csak az elso negyedvben merlnek fel.
Nhny olvas esetleg aggdik amiatt, hogy ez a megfogalmazs lehet o v teszi a Sailco
szmra, hogy tlrban termeljen a t. negyedv alatt mg akkor is, ha a t. peridusban
a norml munkaidos termels kevesebb mint 40. Valban, a mi megfogalmazsunk nem
tesz lehetetlenn egy ilyen munkatervet. Mindazonltal egy olyan termelsi terv sem lehet
optimlis, amelyikben yt > 0 s xt < 40. Tekintsk pldul a kvetkezo kt termelsi tervet:
A termelsi terv = x1 = x2 = x3 = 40;

x4 = 25;

y2 = 10;

y3 = 25;

y4 = 0

B termelsi terv = x1 = 40;

x2 = 30;

x3 = 30;

y2 = 20;

y3 = 35;

y4 = 0

x4 = 25;

Az A s B munkatervekben a termelsi szint megegyezik az egyes peridusokban. Ez azt


jelenti, hogy a kt tervben azonos kszletezsi kltsgek merlnek fel. Mindkt munkaterv
megvalsthat, de a B munkaterv nagyobb tlrakltsget tartalmaz, mint az A munkaterv.
gy a kltsgek minimalizlsakor a B munkatervet (vagy egyltaln, egy olyan munkatervet, amelyben yt > 0 s xt < 40) soha nem vlasztannk.
A valsgban a 12. pldnak megfelelo LP-t a mozg tervezs alkalmazsval hajtannk vgre. Ez a kvetkezokppen mukdik. Miutn megoldottuk a 12. pldt, a Sailco
csak az elso negyedvre alkalmazza a termelsi stratgit (40 haj gyrtsa norml munkaidoben). Ezutn a vllalat megfigyeli az elso negyedv kereslett. Tegyk fel, hogy a valdi
kereslet 35 haj. Ekkor a 2. negyedv 10 + 40 35 = 15 hajbl ll kszlettel indul. Most
adunk egy elorejelzst az 5. negyedv keresletre (tegyk fel, hogy az el o rejelzs 36). Ezutn kvetkezik a 2. negyedvi termels meghatrozsa gy, hogy megoldunk egy LP-t,
amelyben a 2. negyedv jtssza az elso negyedv szerept, az 5. negyedv lesz az utols
negyedv, az indul kszlet pedig 15 haj. Ekkor a 2. negyedv termelst a kvetkez o LP
megoldsa mutatn meg:

106

3. fejezet Bevezets a lineris programozsba

min z = 400(x2 + x3 + x4 + x5 ) + 450(y2 + y3 + y4 + y5 ) + 20(i2 + i3 + i4 + i5 )


f.h.

x2 40,
x3 40,
x4 40,
x5 40
i2 = 15 + x2 + y2 60,
i3 = i2 + x3 + y3 75
i4 = i3 + x4 + y4 25,
it 0, yt 0, s

i5 = i4 + x5 + y5 36
xt 0
(t = 2, 3, 4, 5)

Itt x5 = az 5. negyedv norml munkaido beli termelse, y5 = az 5. negyedv tlrs


termelse s i5 = az 5. negyedv zrkszlete. Ennek az LP-nek az optimlis megoldsban szereplo x2 s y2 fogja meghatrozni a 2. negyedv termelst. gy minden negyedvre
megoldunk egy LP-t, amely meghatrozza a foly negyedv termelst (ngy negyedvb o l
ll mozg tervezssel). Ezutn megfigyeljk a jelenlegi keresletet, el o rejelezzk e keresletet a kvetkezo ngy negyedvre, s az eljrs ismtli nmagt. Ez a mozg tervezsi
technika az a mdszer, amelyet a legtbb dinamikus vagy tbbperidusos LP modellnl a
vals helyzetekben alkalmazni szoktak.
A Sailco problma ltalunk adott megfogalmazsnak mg egyb korltai is vannak.
1. Lehet, hogy a termelsi kltsg a megtermelt mennyisgnek nem lineris fggvnye.
Ez nem felelne meg az arnyossgi feltevsnek. A 8. s a 18. fejezetben fogjuk trgyalni az
ilyen tpus problmkat.
2. A jvobeli keresletet esetleg nem tudjuk biztosan. Ebben az esetben a bizonyossgi
feltevs nem teljesl. A 19. fejezetben elmagyarzzuk, hogyan lehet a jelenlegi modellt
gy kiterjeszteni, hogy bizonytalan keresletekkel is foglalkozhassunk.
3. Elortuk, hogy Sailco minden keresletet azonnal elgtsen ki. Gyakran az a helyzet,
hogy a vllalatok ksobbi peridusokban ki tudjk elgteni a keresletet, de bntet o kltsget kell fizetnik a nem idoben kielgtett keresletek utn. Pldul, ha a kereslet ido ben
nincs kielgtve, a fogyasztnak okozott kellemetlensg eredmnyeknt elveszhetnek a jvobeli bevtelek. Ha a keresletet kso bbi peridusban is ki lehet elgteni, akkor azt mondjuk, hogy a keresletek ksleltetheto k. A mi jelenlegi LP fogalmazsunk mdosthat gy,
hogy tartalmazzon ksleltethetosget (lsd a 4.10. alfejezet 1. feladatt).
4. Nem voltunk tekintettel arra a tnyre, hogy a megtermelt mennyisg negyedvr o l negyedvre val vltoztatsa esetleg extra kltsgekkel jrhat (termelskiegyenlt o kltsgek). Pldul, ha egyik negyedvro l a msikra nagyon megnveljk a termelst, ez valsznuleg azzal jrna, hogy j munksokat kellene nagy kltsggel betantani. Msrszt, ha
a termels egyik negyedvrol a kvetkezore nagyon lecskken, akkor extra kltsgek szrmazhatnak a munksok elbocstsbl. A 4.10. alfejezetben a jelenlegi modellnket majd
gy mdostjuk, hogy figyelembe vesszk a kiegyenlto kltsgeket.
5. Ha az utols negyedv vgn megmarad vitorlshaj, ezekhez nulla rtket rendeltnk
hozz. Ez nyilvnvalan irrelis. Egy vges horizont kszletezsi modellben az utols peridusban megmaradt kszlethez egy maradvny rtket kell hozzrendelni, ami jelzi az
utols peridus kszletnek rtkt. Pldul, ha a Sailco gy rzi, hogy a 4. negyedv vgn
megmaradt vitorlshajk mindegyike 400$-t r, akkor egy 400i 4 tagot kell a clfggvnyhez hozzadni (400i4 mri, hogy mennyit r a 4. negyedvi kszlet).

3.10. Lineris programozs dntsi problmk megoldsra

107

Feladatok
A csoport
1. Egy vevo igyei egy rucikkbol a kvetkezo ngy hnapra sorrendben 50, 65, 100 s 70 egysg (ksleltets nincs
megengedve). A szban forg hnapokban a termelsi kltsgek 5$, 8$, 4$ s 7$ egysgenknt. A raktrozsi kltsg egyik hnaprl a msikra egysgenknt 2$ (a zrkszletre kivettve). Becslsek szerint a 4. hnap vgn minden
meglvo egysg 6 dollrrt eladhat. Fogalmazzon meg egy
LP-t, amelynek megoldsa minimalizlja a kvetkezo ngy
hnap keresletnek kielgtse rvn keletkezo nett kltsgeket!
2. Egy vllalatnak a keresletre vonatkoz vrakozsai az
elkvetkezo hrom peridusban: 20 egysg az 1. peridusban, 10 egysg a 2. peridusban, 15 egysg a 3. peridusban.
Az egysgnyi elolltsi kltsgek az egyes peridusokban
a kvetkezok: 13$ az 1. peridusban; 14$ a 2. peridusban;
15$ a 3. peridusban. Egysgenknt 2$ trolsi kltsg van
minden peridus zrkszletre. Az 1. peridus kezdetn a
vllalatnak 5 meglvo egysge van.
A valsgban egy bizonyos hnapban megtermelt javaknak
nem mindegyike hasznlhat fel a foly hnapban eloll
kereslet kielgtsre. Ezt a tnyt most gy modellezzk,
hogy felttelezzk, hogy az egyik peridusban megtermelt
javaknak csak a fele hasznlhat fel az ugyanazon peridusbeli kereslet kielgtsre. Fogalmazzon meg egy LP-t,
amely minimalizlja a kvetkezo hrom peridus keresletkielgtsi kltsgeit! (tmutats: Mindenkppen szksg
lesz olyan felttelekre, mint pldnkban az i1 = x1 + 5 20.
A mi pldnkkal ellenttben azonban az i1 0 felttel nem
biztostja azt, hogy az 1. peridus kereslete ki lesz elgtve.
Pldul, ha x1 = 20, akkor i1 0 teljesl, de mivel csak
1
o peridusbeli termk hasznlhat fel
2 (20) = 10 egysg els
az 1. peridus keresletnek kielgtsre, x1 = 20 nem megvalsthat rtk. Prbljon meg olyan tpus felttelen gondolkodni, amelyik biztostja azt, hogy ami az egyes peridusokban rendelkezsre ll a kereslet kielgtsre, az legalbb
akkora legyen, mint az illeto peridus kereslete!)

B csoport
3. James Beerd trtortkat s Feketeerdo tortkat st.
Egy hnapban legfeljebb 65 tortt tud kszteni. A tortn-

29.

knti kltsgek s az azonnal kielgtendo kereslet tortafajtnknt a 29. tblzatban lthat. 50 centbe kerl egy trtorta s 40 centbe kerl egy Feketeerdo torta raktrozsa
egy hnapra. Fogalmazzon meg egy LP-t, amely minimalizlja a kvetkezo hrom hnapra a kereslet kielgtsnek
kltsgeit!
4. Egy gyrt cg A s B tpus termket llt elo. A cg
hajland a termkeket a 30. tblzatban lthat terv szerint
szlltani. A cgnek kt futszalagja van: 1. szalag, 2. szalag. A rendelkezsre ll termelsi idot rkban a 31. tblzat mutatja. Az egyes termkek egysgnek elolltshoz
szksges idot pedig a 32. tblzat mutatja:
30.

TBLZAT

Mrcius 31
prilis 30
31.

5000
8000

2000
4000

TBLZAT

Rendelkezsre ll
munkark
Mrcius
prilis
32.

1. szalag

2. szalag

800
400

2000
1200

TBLZAT

Termelsi idok
A termk
B termk

1. szalag

2. szalag

0.15
0.12

0.16
0.14

0.15 ra szksges egy egysg A termk elolltshoz az


1. szalagon, stb. Brmelyik termknek az elolltshoz 1
ra szalagido 5 dollrba kerl. A kszletezsi kltsg mindkt termkre havonta 20 cent egysgenknt (minden hnap
zrkszletre). Jelenleg 500 egysg A s 750 B van kszleten. A cg vezetosge azt szeretn, ha prilis vgre mindkt termkbol legalbb 1000 egysg volna kszleten. Fogalmazzon meg egy LP-t, amely meghatrozza azt a termelsi

TBLZAT

1. hnap
Trtorta
Feketeerdo torta

2. hnap

3. hnap

Kereslet

Kltsg ($)

Kereslet

Kltsg ($)

Kereslet

Kltsg ($)

40
20

3.00
2.50

30
30

3.40
2.80

20
10

3.80
3.40

108

3. fejezet Bevezets a lineris programozsba

tervet, amelyik minimalizlja a kereslet azonnali kielgtsnek sszkltsgt!


5. A kvetkezo kt hnapban a General Cars vllalatnak (azonnal) ki kell elgtenie a kvetkezo, teherautkra s
szemlyautkra vonatkoz keresletet: az 1. hnapban 400
teheraut, 800 szemlyaut; a 2. hnapban 300 teheraut,
300 szemlyaut. Havonta legfeljebb 1000 jrmuvet tudnak
gyrtani. Minden teherauthoz 2 tonna acl, minden szemlyauthoz 1 tonna acl szksges. Az elso hnapban az
acl ra 400$ tonnnknt, a msodik hnapban 600$ tonnnknt. Havonta legfeljebb 1500 tonna acl vsrolhat
(az aclt csak abban a hnapban szabad felhasznlni, amikor vsroljk). Az elso hnap elejn az rukszlet 100 teheraut s 200 szemlyaut. Minden hnap vgn jrmuvenknt 150$ raktrkltsget szmolnak fel. A szemlyautk zemanyag-teljestmnye 20 mpg (mrfld per gallon,
kb. 12 liter/100 km), a teherautk 10 mpg. A vllalat ltal
gyrtott jrmuvek tlagteljestmnynek minden hnapban
a legalbb 16 mpg-nek kell lennie. Fogalmazzon meg egy
LP-t, amellyel a vllalat kielgtheti a keresletet s az adott
zemanyaggal teljestheto mrfldek elort szmt (mpg)
minimlis kltsg mellett (vegye bele a megfogalmazsba
az acl rt s a trolsi kltsgeket)!
6. A Gandhi Ruhzati Vllalat ingeket s nadrgokat
gyrt. Minden inghez 2 ngyzetmter anyag kell, minden
nadrghoz pedig 3. A legkzelebbi kt hnapban az ingek
s nadrgok irnti kereslet (amit azonnal kell kielgteni)
a kvetkezo: az elso hnapban 10 ing, 15 nadrg; a msodik hnapban 12 ing s 14 nadrg. Mindkt hnapban a
kvetkezo forrsok llnak rendelkezsre: az 1. hnapban 90
ngyzetmter, a 2. hnapban 60 ngyzetmter anyag. (A ruhaanyag, ami az elso hnapban rendelkezsre llt, de nem
lett felhasznlva, felhasznlhat a msodik hnapban.)
Mindkt hnapban 4 dollrba kerl egy-egy darab ruhzati
cikk elksztse norml munkaidoben, s 8 dollrba kerl
tlmunkaidoben. Havonta legfeljebb sszesen 25 darab ruhzati cikket tudnak elolltani norml munkaidoben, de a
tlrban elollthat ruhzati cikkek szma nincs korltozva. Mindegyik hnap vgn ruhzati cikkenknt 3$ trolsi kltsg merl fel. Fogalmazzon meg egy LP-t, amellyel
minimalizlni lehet a kvetkezo hrom negyedv kereslete
kielgtsnek kltsgt! Felttelezzk, hogy az elso hnap
elejn 1 ing s 2 nadrg ll rendelkezsre.
7. A Paynothing Cipogyrnak minden vben azonnal ki
kell elgtenie a 33. tblzatban lthat keresletet. A munksok hrom egyms utni negyedvben dolgoznak s azutn
egy negyedvk szabad. Pldul egy munks dolgozhat az
egyik v 3. s 4. negyedvben s a kvetkezo v elso negyedvben.

33.
1.
600

TBLZAT

Negyedv
2.
3.

4.

300

100

800

Egy ledolgozott negyedv alatt egy munks vagy munksno


legfeljebb 50 pr cipot tud kszteni. A munksok bre negyedvenknt 500$. Minden negyedv vgn egy-egy pr
cipo utn 50$ kszletezsi kltsg van. Fogalmazzon meg
egy LP-t, amely minimalizlja a cipok irnti kereslet kielgtsbol add ves kltsgeket (munka + trols)! A
dolgok egyszerustse vgett felttelezzk, hogy minden v
vgn a zrkszlet nulla. (tmutats: megengedheto az a
felttelezs is, hogy egy adott munks minden vben ugyanabban a negyedvben megy szabadsgra.)
8. Egy vllalatnak (azonnal) ki kell elgtenie a kvetkezo keresleteket: 30 egysg az elso negyedvben, 20 egysg a msodik negyedvben, 40 egysg a harmadik negyedvben. Minden negyedvben legfeljebb 27 egysg llthat elo norml munkaidoben, egysgenknt 40$-rt. Mindegyik negyedvben korltlan szm egysg llthat elo
tlmunkaidoben, egysgenknt 60$-rt. A megtermelt egysgek 20%-a ltalban nem megfelelo, s nem alkalmas
a kereslet kielgtsre. Ezenkvl mg minden negyedv
vgre a meglvo egysgeknek 10%-a megromlik, s nem
hasznlhat fel jvobeli kereslet kielgtsre. Egy-egy negyedv vgn a kereslet kielgtse s a romlott egysgek
elszmolsa utn a zrkszletre egysgenknt 15$ kltsg
van. Fogalmazzon meg egy LP-t, amely alkalmas arra, hogy
minimalizlja a kvetkezo hrom negyedvre vonatkoz kereslet kielgtsnek kltsgeit! Felttelezzk, hogy az elso
negyedv elejn 20 hasznlhat egysg ll rendelkezsre.
9. A Donovan cg elektromos mixereket gyrt. A legkzelebbi ngy negyedvben a kvetkezo keresleteket kell
megfelelo idoben kielgtenie: 4000 darab az elso negyedvben; 2000 a msodik negyedvben; 3000 a harmadik negyedvben; 10 000 a negyedik negyedvben. Donovan munksai hrom negyedvet dolgoznak s egy negyedvk szabad. gy pldul egy munks dolgozhat az 1., 2. s 4. negyedvben, s a 3. negyedvben szabadsgra megy. Minden munks vi 30 000$ fizetst kap, s (amikor dolgozik)
legfeljebb 500 mixert tud gyrtani egy negyedvben. Minden negyedv vgn mixerenknt 30$ trolsi kltsg van, a
kszletben tallhat sszes mixerre. Fogalmazzon meg egy
LP-t, amely segt Donovannak abban, hogy minimalizlja a
kltsgeket (munka- s raktrkltsg), mikzben a jvo vi
ignyeket megfelelo idoben kielgti! Az elso negyedv elejn 600 mixer ll rendelkezsre.

3.11. Tbbperidusos pnzgyi modellek

3.11.

109

Tbbperidusos pnzgyi modellek


A kvetkezo plda bemutatja azt, hogy a lineris programozs miknt alkalmazhat tbbperidusos pnzgyi problmk megoldsra. A modellek fellltsban a kritikus pont a
klnbzo peridusokban meglvo kszpnzek kztti sszefggsek meghatrozsa.

13.

PLDA

A Finco Befektetsi Vllalatnak meg kell hatroznia befektetsi stratgijt a kvetkez o hrom vre. Jelenleg (0. idopont) 100 000$ ll rendelkezsre befektetsi clra. A vlaszthat
befektetsek: A, B, C, D s E. A 34. tblzatban lthat mindegyik esetre az 1$ befektetshez tartoz kszpnzramls.
Pldul a B befektetsbe invesztlt 1$ az 1. ido pontban 1$ pnzkiramlssal jr, a hozamok pedig: a 2. idopontban 50 cent s a 3. idopontban 1$. A vllalat portflijnak diverzifikcijt biztostand, a Finco elorja, hogy egy bizonyos befektetsbe legfeljebb 75 000$
helyezheto el. Az AE befektetsi lehetosgeken kvl a Finco gy is kereshet pnzt, hogy
a nem befektetett kszpnzt pnzpiaci alapokban tartja vi 8% kamaton. A befektetsek
megtrlseit azonnal jra be lehet fektetni. Pldul az 1. ido pontban a C befektetsbol
add pozitv kszpnzramls azonnal jra befektetheto a B befektetsbe. A Finco nem
tud pnzt klcsnkrni, ezltal a befektetsi clra rendelkezsre ll pnz a meglv o kszpnzre korltozdik. Fogalmazzunk meg egy LP-t, amelynek megoldsa maximalizlja a
3. idopontban meglvo kszpnzt!

Megolds

A Fincnak el kell dntenie, hogy az egyes befektetsekbe mennyi pnzt helyezzen el (a


pnzpiaci alapokat is belertve). gy a kvetkezo dntsi vltozkat definiljuk:
A = az A befektetsbe elhelyezett dollrok
B = a B befektetsbe elhelyezett dollrok
C = a C befektetsbe elhelyezett dollrok
D = a D befektetsbe elhelyezett dollrok
E = az E befektetsbe elhelyezett dollrok
St = a t idoben (t = 0, 1, 2) pnzpiaci alapokba elhelyezett dollrok
A Finco maximalizlni akarja a 3. ido pontban meglvo kszpnzt. A 3. idopontban a
Finco meglvo kszpnze az sszes, a 3. ido pontban beraml kszpnzek sszege lesz.
Az AE befektetsi lehetosgek lersbl s abbl a tnybo l, hogy a 2. s 3. idopontok
kztt S2 1.08S2-re fog nvekedni, az addik, hogy a
3. idopontban meglvo kszpnz = B + 1.9D + 1.5E + 1.08S2
gy a Finco clfggvnye
max z = B + 1.9D + 1.5E + 1.08S2

34. T B L Z A T
Kszpnzramls a
Finco szmra

(62)

Kszpnzramls klnbzo idopontokban, $-ban


A
B
C
D
E

0.

1.

2.

3.

1
0
1
1
0

+0.50
1
+1.2
0
0

+1
+0.50
0
0
1

0
+1
0
+1.9
+1.5

110

3. fejezet Bevezets a lineris programozsba

Tbbperidusos pnzgyi modelleknl ltalban a kvetkez o tpus feltteleket hasznljk a klnbzo peridusbeli dntsi vltozk sszefggseinek lersra:
rendelkezsre ll
= befektetett kszpnz a t. idopontban
kszpnz a t. idopontban
+

nem befektetett kszpnz a t. idopontban,


amit tvisznek a (t + 1). idopontra

Ha a pnzpiaci alapokat is a befektetsek osztlyba soroljuk, akkor azt ltjuk, hogy


a rendelkezsre ll
= a t. idopontban befektetett kszpnz
kszpnz a t. idopontban

(63)

Mivel a 0. idopontban az A, C, D s S0 befektetsek llnak rendelkezsre, valamint a cgnek


100 000$-ja van a 0. idopontban, a 0. idopontra (63) a kvetkezo alakot lti:
100 000 = A +C + D + S0

(64)

Az 1. idopontban befektetsi clra rendelkezsre ll, 0.5A + 1.2C + 1.08S 0, ezenkvl B


s S1 a befektetsi lehetosgek. Ezltal t = 1 esetn (63)-at gy rhatjuk:
0.5A + 1.2C + 1.08S0 = B + S1

(65)

A 2. idopontban A + 0.5B + 1.08S1 ll rendelkezsre befektetsi clra, valamint az E s


S2 befektetsekbe lehet befektetni. gy t = 2 esetn (63):
A + 0.5B + 1.08S1 = E + S2

(66)

Ne felejtsk el azonban, hogy az AE befektetsek brmelyikbe legfeljebb 75 000$


fektetheto be. Ezt biztostjuk a kvetkezo felttelek hozzvtelvel:
A 75 000

(67)

B 75 000
C 75 000

(68)
(69)

D 75 000
E 75 000

(70)
(71)

s most sszefoglaljuk (62)-t s (64)(71)-et, valamint a nemnegativitsi feltteleket


(minden vltoz 0) a kvetkezo LP-be:
max z = B + 1.9D + 1.5E + 1.08S2
f.h.

A +C + D + S0 = 100 000
0.5A + 1.2C + 1.08S0 = B + S1
A + 0.5B + 1.08S1 = E + S2
A 75 000
B 75 000
C 75 000

D 75 000
E 75 000

A, B,C, D, E, S0 , S1 , S2 0

3.11. Tbbperidusos pnzgyi modellek

111

Az optimlis megolds z = 218 500, A = 60 000, B = 30 000, D = 40 000, E = 75 000,


C = S0 = S1 = S2 = 0. Ez azt jelenti, hogy a Finco ne helyezzen el pnzt pnzpiaci alapokba. A 0. idopontban a Finco fektessen be 60 000$-t az A leheto sgbe s 40 000$-t
a D lehetosgbe. Ezutn az 1. idopontban az A-bl szrmaz 30 000$ beraml pnzt a
B-be kell befektetni. Vgl a 2. ido pontban az A-bl beraml 60 000$ kszpnzt s a Bbol beraml 15 000$ kszpnzt E-be kell befektetni. A 3. id o pontra a Finco 100 000$-ja
218 500$-ra fog noni.
Az olvas esetleg kvncsi arra, hogy a mi megfogalmazsunk hogyan biztostja azt,
hogy Finco soha nem fektet be tbb pnzt, mint amennyi a cg rendelkezsre ll. Ezt egsz
egyszeruen az biztostja, hogy minden Si vltoznak nemnegatvnak kell lennie. Pldul az
S0 0 azt jelenti, hogy 100 000 A C D 0, ami biztostja, hogy a 0 id o pontban
legfeljebb 100 000$ lesz befektetve.

Feladatok
A csoport
1. A Finco cg problmjban az egyik konzultns azt lltja, hogy a Finco meglvo kszpnze a 3. idopontban az
sszes befektetsbol szrmaz pnzberamlsok sszege, s
nem csak azokbl a befektetsekbol ll, amelyek a 3. idopontban pnzberamlst eredmnyeznek. gy a konzultns
szerint a Finco clfggvnyt
max z = 1.5A + 1.5B + 1.2C + 1.9D + 1.5E
+ 1.08S0 + 1.08S1 + 1.08S2
formban kellene felrni.
Magyarzza meg, hogy ez mirt helytelen!
2. Mutassa meg, hogy a Finco clfggvnye a kvetkezo
formban is felrhat:
max z = 100 000 + 0.5A + 0.5B + 0.2C + 0.9D
+ 0.5E + 0.08S0 + 0.08S1 + 0.08S2
3. A 0. idopontban van 10 000 dollrunk. Rendelkezsre
ll az A s B befektets, a hozzjuk tartoz kszpnzramlsokat (dollrban) a 35. tblzat mutatja.
35.

TBLZAT

0. idopont
1. idopont
2. idopont
3. idopont

1
0.2
1.5
0

0
1
0
1.9

B csoport
4.17 Steve Johnson brker jelenleg a ktvnypiacon prblja a profitjt maximalizlni. Ngyfle ktvny ll rendelkezsre vtelre s eladsra. A megajnlott s krt rakat a
36. tblzat mutatja.
36.

TBLZAT

1. ktvny
2. ktvny
3. ktvny
4. ktvny

rajnlat

Krt r

980
970
960
940

990
985
972
954

Steve maximum 1000 egysgig vsrolhat mindegyik ktvnybol a krt ron, vagy eladhat legfeljebb 1000 egysgig
mindegyik ktvnybol a megajnlott ron. A kvetkezo hrom v mindegyike sorn az, aki elad egy ktvnyt, a ktvny tulajdonosnak a 37. tblzatban szereplo kszpnzt
fizeti ki.
37.

TBLZAT

Ktvny

Tegyk fel, hogy a sem az A-ba, sem a B-be nem befektetett


pnz nem kamatozik. Fogalmazzon meg egy LP-t, amelynek
17 Rohn

megoldsa maximalizlja a 3. idopontban meglvo kszpnzt! Esetleg ki tudja tallni az LP nlkl is, hogy mi lesz
ennek a problmnak az optimlis megoldsa?

(1987) alapjn.

1.

2.

3.

4.

1
2
3

100
110
1100

80
90
1120

70
80
1090

60
50
1110

112

3. fejezet Bevezets a lineris programozsba

Steve clja az, hogy maximalizlja a ktvnyek eladsbl


szrmaz bevtelnek s a ktvnyek vtelre klttt kifizetseknek a klnbsgt. Mindehhez az a felttel jrul, hogy
az egyes vekben azutn, hogy a pnzt megkapta, az aktulis kszpnzhelyzete (csak a ktvnykifizetsekrol van sz,
nem a ktvnyek vsrlsrl vagy eladsrl) nem negatv. Ttelezze fel, hogy a kszpnzkifizetsek diszkontlva
vannak, azaz a mostantl szmtott egy v mlva esedkes
1$ kifizets egy mostani 90 centtel ekvivalens. Fogalmazzon meg egy LP-t, amely maximalizlja a ktvnyek vtelbol s eladsbl szrmaz nett profitot a fentiekben lert
arbitrzs felttelek teljestse mellett. Mit gondol, mirt korltozzuk az eladhat s megveheto ktvnyek szmt?
5. Egy kis jtkzlet, a Toyco a havi pnzramlsokat
(ezer dollrban) a 2000-es vre a 38. tblzatban olvashat
mdon tervezi.
38.

TBLZAT

Pnzramls
janur
februr
mrcius
prilis
mjus
jnius

12
10
8
10
4
5

3.12.

Pnzramls
jlius
augusztus
szeptember
oktber
november
december

7
2
15
12
7
45

Egy negatv pnzramls azt jelenti, hogy a pnzkiramls


meghaladja a pnz beramlst az zletbe. A szmli kifizetshez a Toycnak az v elejn klcsn kell krnie pnzt.
A pnzklcsnzsnek ktfle mdja van:
(a) Janurban fel lehet venni egy hosszabb tv (egyves) klcsnt. Erre havonta 1% kamat jn r, s a klcsnt december vgig vissza kell fizetni.
(b) Minden hnapban van rvidtv (havi) hitellehetosg is a banknl. Ekkor a havi kamatlb 1.5%. Az sszes
klcsnt december vgig vissza kell fizetni.
Minden hnap vgn a tbbletpnz 0.4% kamatot hoz. Fogalmazzon meg egy LP-t, amelynek a megoldsa hozzsegti Toyct kszpnzhelyzetnek maximalizlshoz 2001.
janur elejre!
6. Tekintse az 5. feladatot a kvetkezo mdostssal: a
Toyco minden hnapban ksleltetheti a szban forg hnapban esedkes sszes pnz kifizetst, vagy a pnz egy rsznek kifizetst. Ezt gy nevezik, hogy ksleltetett kifizets. A fizetnival legfeljebb 1 hnappal ksleltetheto, s a
ksleltetett sszegre 1% bntetokamatot kell fizetni. gy, ha
egy januri 10 000$-os tartozst ksleltetnek, akkor februrban 10 000(1.01) = 10 100$-t kell fizetnik. Ezzel a mdostssal fogalmazza meg azt az LP-t, amelynek megoldsa
hozzsegti Toyct 2001. janur elsejn meglvo kszpnznek maximalizlshoz!

Tbbperidusos munkaszervezs
A 3.5. alfejezetben lttuk, hogy az alkalmazottak munkabeosztsnak tervezst meg lehet
oldani lineris programozs segtsgvel egy statikus krnyezetben, ahol a kereslet az id o ben nem vltozik. A kvetkezo plda (Wagner (1975) problmjnak mdostott vltozata)
azt mutatja, hogyan hasznlhat az LP az alkalmazottak betantsnak temezsre, ha a
vllalat idoben vltoz kereslettel ll szemben.

14.

PLDA

A CSL szmtgpek javtsval foglalkoz szervizboltok hlzata. A kvetkez o t hnapra a CSL szakkpzett technikusokra vonatkoz szksglete (munkarban) a kvetkezo:
1. hnap (janur): 6000 ra
2. hnap (februr): 7000 ra
3. hnap (mrcius): 8000 ra
4. hnap (prilis): 9500 ra
5. hnap (mjus): 11000 ra
Janur elejn 50 szakkpzett technikus dolgozik a CSL-nl. Egy-egy szakkpzett technikus havonta legfeljebb 160 rt tud dolgozni. A jvo beli ignyek kielgtsre j technikusokat kell kpezni. Egy j technikus kikpzse egy hnapig tart. A kikpzs egy hnapja

3.12. Tbbperidusos munkaszervezs

113

alatt a tanult 50 ra hosszat egy tapasztalt technikusnak kell felgyelnie. Mindegyik tapasztalt technikus 2000$-t kap egy hnapra (mg akkor is, ha nem dolgozza le a teljes 160
rt). A betanuls hnapjra a tanul 1000$ fizetst kap. Minden hnap vgn a CSL tapasztalt technikusainak 5%-a kilp s tmegy a Plum Computers cghez. Fogalmazzunk
meg egy LP-t, amelynek megoldsa segt a CSL-nek abban, hogy a kvetkez o t hnapra
minimalizlja a munkabrkltsgeket, mikzben kielgti a szervizignyeket.
Megolds

A CSL-nek el kell dntenie, hogy a t-edik hnapban hny technikust kpezzen (t = 1, 2, 3,


4, 5). A vltozk:
xt = a t-edik hnapban kikpzett technikusok szma (t = 1, 2, 3, 4, 5)
A CSL minimalizlni szeretn a munkabrek sszkltsgt a kvetkez o 5 hnapra. Jegyezzk meg, hogy
sszes munkabrkltsg = a betanulk munkabrkltsge
+ a tapasztalt technikusok munkabrkltsge
Ki kell fejeznnk a tapasztalt technikusok munkabrkltsgt. Ehhez t = 1, 2, 3, 4, 5-re
definiljuk az
yt = a t-edik hnap elejn a gyakorlott technikusok szma
vltozkat. gy az
sszes munkabrkltsg = (1000x1 + 1000x2 + 1000x3 + 1000x4 + 1000x5)
+ (2000y1 + 2000y2 + 2000y3 + 2000y4 + 2000y5)
Ezltal a CSL clfggvnye
min z = 1000x1 + 1000x2 + 1000x3 + 1000x4 + 1000x5
+ 2000y1 + 2000y2 + 2000y3 + 2000y4 + 2000y5
Most nzzk meg, milyen feltteleket fogalmazhatunk meg a CSL szmra. Vegyk
szre, hogy y1 = 50 mr adott, s t = 1, 2, 3, 4, 5 esetn a CSL-nek biztostania kell azt,
hogy
a t-edik hnapban rendelkezsre ll technikusi munkark szma
(72)
a t-edik hnapban a technikusi munkarkra fennll igny

Mivel minden betanulnak szksge van 50 ra gyakorlott technikusi id o re, s minden


szakkpzett technikus havonta 160 ra hosszat ll rendelkezsre,
a rendelkezsre ll technikusi rk szma a t-edik hnapban = 160yt 50xt
gy (72) a kvetkezo t felttelt adja:
160y1 50x1 6000
160y2 50x2 7000

(elso hnap felttel)


(msodik hnap felttel)

160y5 50x5 11000

(tdik hnap felttel)

160y3 50x3 8000


160y4 50x4 9500

(harmadik hnap felttel)


(negyedik hnap felttel)

114

3. fejezet Bevezets a lineris programozsba

Mint ahogy ms tbbperidusos problmban is, itt is szksgnk van olyan felttelekre, amelyekben klnbzo peridusokra vonatkoz vltozk sszefggsei szerepelnek.
A CSL problmban nagyon fontos szrevenni azt, hogy brmely hnap kezdetn a szakkpzett technikusok szmt egyrszt az elo zo hnapban rendelkezsre ll szakkpzett
technikusok szma, msrszt az elo zo hnapban kikpzett technikusok szma hatrozza
meg:
a t. hnap elejn rendelkezsre
rendelkezsre ll gyakorlott techni=
ll gyakorlott technikusok szma kusok szma a (t 1). hnap elejn

+ a (t 1). hnapban kikpzettek szma


a gyakorlott technikusok szma, akik
elhagytk a cget a (t 1). hnapban

(73)

Pldul februrban (73) a kvetkezo alak:


y2 = y1 + x1 0.05y1

vagy

y2 = 0.95y1 + x1

Ehhez hasonlan, mrciusra (73) a kvetkezo :


y3 = 0.95y2 + x2
prilisra

y4 = 0.95y3 + x3

s mjusra

y5 = 0.95y4 + x4

Hozzvve a modellhez az xt 0 s yt 0 (t = 1, 2, 3, 4, 5) nemnegativitsi feltteleket


a kvetkezo LP-t kapjuk:
min z = 1000x1 + 1000x2 + 1000x3 + 1000x4 + 1000x5
f.h.

+ 2000y1 + 2000y2 + 2000y3 + 2000y4 + 2000y5


160y1 50x1 6000
y1 = 50
160y2 50x2 7000
160y3 50x3 8000

160y4 50x4 9500


160y5 50x5 11000

0.95y1 + x1 = y2
0.95y2 + x2 = y3

0.95y3 + x3 = y4
0.95y4 + x4 = y5

xt , yt 0 (t = 1, 2, 3, 4, 5)

Az optimlis megolds: z = 593 777; x1 = 0; x2 = 8.45; x3 = 11.45; x4 = 9.52; x5 = 0;


y1 = 50; y2 = 47.5; y3 = 53.58; y4 = 62.34 s y5 = 68.75.
A valsgban yt csak egsz rtket vehet fel, gy a mi megoldsunkat nehz volna interpretlni. Megfogalmazsunk hibja annak felttelezse, hogy az alkalmazottaknak pontosan
5%-a hagyja el a cget minden hnapban. Ez azt eredmnyezheti, hogy az alkalmazottak
szma az egyik hnapbeli egsz szmrl a kvetkezo hnapra trtszmm vlik. Esetleg
lhetnnk azzal a felttelezssel, hogy az egy-egy hnapban kilp o alkalmazottak szma a
teljes munkaero 5%-hoz legkzelebb eso egsz szm, ez viszont egy nem lineris programozsi problmra vezetne!

3.12. Tbbperidusos munkaszervezs

115

Feladatok
A csoport

B csoport

1. Mi lenne a CSL problma optimlis megoldsa ha


y1 = 38 lenne?
2. Egy biztostsi cg gy gondolja, hogy a kvetkezo hat
hnapra a szemlyiszmtgp-ignye a kvetkezo lesz: janurban 9; februrban 5; mrciusban 7; prilisban 9; mjusban 10; jniusban 5. A gpek egy, kt vagy hrom hnapos
peridusokra brelhetok a kvetkezo egysgrakon: egy hnapos brlet 200$, kt hnapos brlet 350$ s a hrom hnapos brlet 450$. Fogalmazzon meg egy LP-t, amely arra
hasznlhat, hogy minimalizljuk a szksges gpszm brleti djt! Felttelezhetjk, hogy ha egy gpet olyan idotartamra brelnek, amelyik tlnylna jniuson, akkor a brleti
dj tszmtdik. Pldul, ha egy szmtgpet mjus elejn hrom hnapra vesznek brbe, akkor a brleti dj majd
2
3 (450) = 300$, s nem 450$. Ezt figyelembe kell venni a
clfggvny felrsnl.
3. Az IRS (az USA szvetsgi adhivatala) eldnttte,
hogy a kvetkezo tizenkt hnapra a 39. tblzatban megadott szm szuperszmtgpekre lesz szksge. Az ignyek kielgtsre az IRS szuperszmtgpeket brel egy,
kt vagy hrom hnapos peridusokra. A brleti kltsgek: egy hnapra 100$, kt hnapra 180$ s hrom hnapra
250$. Az elso hnap elejn az IRS-nek nincs szuperszmtgpe. Hatrozza meg azt a brleti tervet, amely minimlis
kltsggel elgti ki a kvetkezo 12 hnap ignyeit! Megjegyzs: Felttelezheti, hogy trtszmot ad optimlis megolds is megfelel. gy, ha az n megoldsa szerint 140.6
gpet kell brelni egy hnapra, akkor akr flfel, akr lefel kerekthetnk (141-re vagy 140-re) anlkl, hogy ez az
sszkltsgre nagyobb hatssal lenne.

4. nnek van egy 20 000 mzsa kapacits bzaraktra.


Az elso hnap elejn 6000 mzsa bza van a raktrban. Minden hnapban eladhat s vsrolhat is bzt. Az 1000 mzsra vonatkoz rakat a 40. tblzat mutatja.

39.

TBLZAT

Hnap
1
2
3
4
5
6
7
8
9
10
11
12

Szmtgp-igny
800
1000
600
500
1200
400
800
600
400
500
800
600

40.

TBLZAT

Hnap

Eladsi r ($)

Vtelr ($)

1
2
3
4
5
6
7
8
9
10

3
6
7
1
4
5
5
1
3
2

8
8
2
3
4
3
3
2
5
5

Az esemnyek sorozata minden hnapban azonos:


(a) Megllaptja az indul kszletet bzbl.
(b) Brmennyit eladhat az indul kszletbol (annak
nagysga ltal korltozva) a foly havi eladsi ron.
(c) Annyi bzt vsrolhat (a foly havi vtelron),
amennyit akar, a raktr kapacitsnak erejig.
rja fel azt az LP-t, amelynek megoldsa maximalizlja a
kvetkezo 10 hnapban elrheto profitot!

116

3. fejezet Bevezets a lineris programozsba

sszefoglals
Lineris programozsi defincik
Egy lineris programozsi feladat (LP) hrom rszbo l ll:
1. A dntsi vltozknak (legyenek mondjuk x1 , x2 , . . . , xn ) egy lineris fggvnybol (a
clfggvnybol), amelyet maximalizlni vagy minimalizlni kell.
2. Felttelek egy vges halmazbl (ahol mindegyiknek vagy lineris egyenl o sgnek,
vagy lineris egyenlotlensgnek kell lennie), amely felttelek a dntsi vltozk ltal felveheto rtkeket korltozzk.
3. Az elojelkorltozsokbl, amelyek minden egyes x j dntsi vltozra elorjk, hogy
vagy (1) az x j vltoz csak nemnegatv lehet, x j 0; vagy (2) az x j vltoz lehet pozitv,
nulla, vagy negatv, x j nem elojelkorltozott (ekn).
A clfggvnyben szereplo vltoz egytthatjt a vltoz clfggvny egytthatjnak nevezzk. A vltoz egytthatja egy felttelen bell a technolgiai egytthat.
Minden felttel jobb oldalt jobb oldalnak (j.o.) nevezzk.
Egy pont alatt a dntsi vltozk egy konkrt rtkt (mint szm n-est) rtjk. A lehetsges megoldsok halmaza, vagy ms szval a megvalsthat megoldsok halmaza
(egyszerubben a megvalsthat tartomny) az LP-ben az sszes olyan pontok halmaza,
amelyek kielgtik az LP feltteleit s elojelkorltozsait. Az LP egy optimlis megoldsa
brmely olyan pont a lehetsges megoldsok tartomnyban, amelyhez az sszes pontok
kzl a legnagyobb z rtk tartozik (egy max problmnl). Egy LP-nek lehet, hogy nincs
optimlis megoldsa, lehet, hogy egy optimlis megoldsa van, s lehet, hogy vgtelen sok
optimlis megoldsa van.
Az LP egy felttelt aktvnak nevezzk, ha a felttelben az optimlis rtkeket helyettestve a vltozk helybe, a bal oldal egyenlo a jobb oldallal.

Lineris programozsi feladatok grafikus megoldsa


Brmely LP lehetsges megoldsainak halmaza konvex halmaz. Ha az LP-nek van optimlis megoldsa, akkor a lehetsges megoldsok halmaznak van olyan extremlis (vagy
cscs-) pontja, amely az LP-nek optimlis megoldsa.
Egy ktvltozs LP-t (itt most max feladat) grafikusan is megoldhatunk a kvetkez o kppen:
1. lps brzoljuk a lehetsges tartomnyt.
2. lps Rajzoljunk egy profit szintvonalat.
3. lps Mozogjunk a szintvonallal prhuzamosan a nvekv o z rtkek irnyban. Az
utols olyan pont, amelyik mg benne van a megvalsthat tartomnyban s rintkezik
egy profit szintvonallal, az LP optimlis megoldsa.

LP megoldsok: ngy eset


Egy LP megoldsakor a kvetkezo ngy eset egyike kvetkezik be:
1. eset Az LP-nek egyrtelmu megoldsa van.

ttekinto feladatok

117

2. eset Az LP-nek egynl tbb (ekkor mindig vgtelen szm) optimlis megoldsa van.
Ez az alternatv optimlis megoldsok esete. Grafikus megolds esetn gy ismerjk fel
ezt az esetet, hogy a profit szintvonal egy egsz szakasszal esik egybe, miel o tt elhagyja a
lehetsges megoldsok halmazt.
3. eset Az LP nem megoldhat (nincs lehetsges vagy megvalsthat megoldsa). Ez
azt jelenti, hogy a megvalsthat megoldsok tartomnya res.
4. eset Az LP nemkorltos. Ez azt jelenti (egy max problmban), hogy a lehetsges
megoldsok halmazban vannak olyan pontok, amelyekhez tetsz o leges nagy z rtk tartozik. Grafikus megolds esetn gy ismerjk fel ezt az esetet, hogy a profit szintvonallal
prhuzamosan mozogva a nvekvo z-k irnyba, soha nem kerlnk ki az LP lehetsges
tartomnybl.

LP-k megfogalmazsa
Az LP-k megfogalmazsnak legfontosabb lpse a dntsi vltozk helyes meghatrozsa.
Brmelyik felttelben a tagokat ugyanabban a mrtkegysgben kell kifejezni. Pldul
nem lehet egy felttelen bell az egyik tag nyersanyag fontban, mg a msik tag nyersanyag dekban.

ttekinto feladatok
A csoport
1. A Bloomington Srfozde pilzenit s angol vilgos srt
llt elo. A pilzeni eladsi ra 5$ hordnknt, az angol vilgos 2$ hordnknt. Egy hord pilzeni elolltshoz 5
font kukorica s 2 font koml szksges. Egy hord angol
vilgos srhz pedig 2 font kukorica s 1 font koml kell.
Rendelkezsre ll 60 font kukorica s 25 font koml. Fogalmazzon meg egy LP-t, amellyel maximalizlhat a bevtel!
Oldja meg az LP-t grafikusan!
2. Jones farmer ktfle stemnyt st (csokolds s vanlis), hogy kiegsztse jvedelmt. Egy csokolds stemny 1 dollrrt adhat el, a vanlis pedig 50 centrt. Minden csokolds stemnybe kell 4 tojs, s 20 percig kell
stni. Minden vanlis stemnybe kell 1 tojs, s 40 percig kell stni. Rendelkezsre ll 8 ra stsi ido s 30 tojs.
Fogalmazzon meg egy LP-t, amelynek megoldsa maximalizlja Jones farmer bevtelt! Ezutn oldja meg a feladatot
grafikusan! (Trtszm stemny is lehetsges.)
3. Van 100 dollrom. A kvetkezo hrom vben a kvetkezokben felsorolt befektetsek llnak rendelkezsemre:
A. beruhzs Minden most befektetett dollr egy v
mlva 0.10$ s hrom v mlva 1.30$ tbbletet szolgltat.

Brmelyik vben a nem befektetett kszpnz pnzpiaci alapokba teheto, ez vi 6%-os kamatot fizet. Az A, B s C befektetsek brmelyikbe legfeljebb 50$ fektetheto be. Fogalmazzon meg egy LP-t, amelynek megoldsa maximalizlja a hrom v mlva meglevo pnzemet!
4. A Sunco olajat dolgoz fel replobenzinn s futoolajj.
40 dollrrt vsrol 1000 hord olajat, amelyet desztilll s
gy nyer belole 500 hord replobenzint s 500 hord futoolajat. A desztillls utni termk azonnal eladhat, vagy
tovbb feldolgozhat a katalitikus krakkolban. Ha rgtn
desztillls utn eladjk a temkeket, akkor 1000 hord replobenzint 60 dollrrt lehet eladni, 1000 hord futoolajat
pedig 40 dollrrt. 1000 hord replobenzin tovbbfeldolgozsa a katalitikus krakkolban 1 ra hosszat tart, s az
eredmnyl kapott 1000 hord termket 130 dollrrt lehet
eladni. 1000 hord futoolajhoz 45 perc szksges a krakkolban, s a vgtermk 1000 hordt 90 dollrrt lehet eladni.
Naponta legfeljebb 20 000 hord olajat lehet vsrolni, s 8
ra ll rendelkezsre a krakkolban. Fogalmazzon meg egy
LP-t a Sunco profitjnak maximalizlsra!
5. A Fincnak a kvetkezo befektetsi lehetosgek llnak rendelkezsre (0. idopont = most, 1. idopont = egy v
mlva, stb.):

B. beruhzs Minden most befektetett dollr egy v


mlva 0.20$-t s kt v mlva 1.10$-t ad.

A. beruhzs Minden 0. idopontban befektetett dollrrt 0.10$-t kapunk az 1. idopontban s 1.30$-t a 2. idopontban.

C. beruhzs Minden egy v mlva befektetett dollr


hrom v mlva 1.50$-t ad.

B. beruhzs Minden egyes 1. idopontban befektetett


dollrrt 1.60$-t kapunk a 2. idopontban.

118

3. fejezet Bevezets a lineris programozsba

C. beruhzs Minden egyes 2. idopontban befektetett


dollrrt 1.20$-t kapunk a 3. idopontban.

zon meg egy LP-t a kvnt mennyisgu acl gyrtsi kltsgnek minimalizlsra!

Brmely idopontban a megmaradt pnz befektetheto kincstrjegybe, ami vi 10% kamatot fizet. A 0. idopontban 100
dollrunk van. Az A, B s C befektetsi lehetosgek mindegyikbe legfeljebb 50$ fektetheto be. Fogalmazzon meg
egy LP-t, amelynek megoldsa maximalizlja a Finco 3.
idopontban meglvo kszpnzt!

8.18 A Walnut Orchard cgnek kt farmja van, ahol bzt


s kukorict termesztenek. A klnbzo talajviszonyok miatt a kt farmon klnbzo hozamok vannak, s klnbzok
a termelsi kltsgek is. A hozamok s kltsgek a 43. tblzatban lthatk.

6. A Steelco ltal gyrtott minden aclnak eleget kell


tennie a kvetkezo elorsoknak: 3.23.5% szn; 1.8
2.5% szilcium; 0.91.2% nikkel; valamint legalbb 45 000
font/ngyzethvelyk (pounds per square inch = psi) szaktszilrdsg. A Steelco kt tvzet kombinlsval gyrtja az
aclt. A kltsgek s az egyes tvzetek tulajdonsgai a 41.
tblzatban lthatk.

43.

41.

1. farm
Kukoricahozam/hold
Kltsg 1 hold kukoricra
Bzahozam/hold
Kltsg 1 hold bzra

500 mzsa
100$
400 mzsa
90$

2. farm
650 mzsa
120$
350 mzsa
80$

TBLZAT

Kltsg tonnnknt
Szilcium szzalk
Nikkel szzalk
Szn szzalk
Szaktszilrdsg

1. tvzet

2. tvzet

190$
2%
1%
3%
42000 psi

200$
2.5%
1.5%
4%
50000 psi

Mind a kt farmon 100 hold muvelheto terlet ll rendelkezsre. Meg kell termelni 11 000 mzsa bzt s 7000 mzsa kukorict. Hatrozzon meg egy nvnyteleptsi tervet,
amely minimalizlja a fenti kvetelmnyek kielgtsnek
kltsgeit! Hogyan lehetne ennek a modellnek a kiterjesztsvel hatkonyan elosztani a gabonatermelst egy egsz
orszgban?

Felttelezzk, hogy a kt tvzet keverknek szaktszilrdsga kiszmthat gy, hogy tlagoljuk az sszekevert
tvzetek szaktszilrdsgait. Pldul egy 40% 1-es tvzetbol s 60% 2-es tvzetbol ll keverk szaktszilrdsga 0.4(42 000) + 0.6(50 000). rjon fel egy lineris programozsi modellt annak meghatrozsra, hogy egy tonna
acl gyrtsi kltsgt hogyan minimalizljuk!
7. A Steelco ktfle aclt gyrt hrom klnbzo aclgyrban. Egy adott hnapban mind a hrom gyrban 200 ra
ll rendelkezsre az olvasztkemenckben. Mivel a kemenck klnbzok az egyes gyrakban, egy tonna acl gyrtsnak ideje s kltsge ms s ms gyranknt. Az egyes
gyrakra vonatkoz ido- s kltsgadatok a 42. tblzatban
lthatk.
42.

TBLZAT

Egy tonna acl gyrtshoz

TBLZAT

1. acl
kltsg
($)
1. gyr
2. gyr
3. gyr

10
12
14

2. acl

ido
(percben)
20
24
28

kltsg
($)
11
9
10

ido
(percben)
22
18
30

A Steelcnak minden hnapban elo kell lltania legalbb


500 tonna 1. aclt s legalbb 600 tonna 2. aclt. Fogalmaz18 Heady

s Egbert (1964) alapjn.

9. A Candy Kane Cosmetics (CKC) a Leslie parfmt


gyrtja. Ehhez vegyszerek s munka szksges. Kt termelsi eljrs ll rendelkezsre: az 1. eljrs, ez egy egysg
munkt s 2 egysg vegyszert alakt t 3 deka parfmm. A
2. eljrs kt egysg munkt s 3 egysg vegyszert 5 deka
parfmm alakt t. A CKC-nek 3$-ba kerl egy munkaegysg megvtele s 2$-ba kerl egy egysg vegyszer. Minden
vben legfeljebb 20 000 egysgnyi munkt s 35 000 egysgnyi vegyszert tudnak beszerezni. A CKC gy gondolja,
hogy reklmozs nlkl 1000 deka parfmt tud eladni. A
Leslie irnti kereslet sztnzsre a CKC felkrheti a bjos
Jenny Nelson modellt. Jenny rnknt 100 dollrt kap. Minden Jenny ltal ledolgozott ra a vllalat becslse szerint
200 dekval nveli a Leslie parfm irnti keresletet. A Leslie parfm deknknt 5$-rt adhat el. Alkalmazzon lineris
programozsi modellt a CKC profitjnak maximalizlsra!
10. A Carcnak 150 000$-ja van reklmozsi clra. Az
aut eladsok szmnak nvelsre a cg jsgokban s
televziban val reklmozson gondolkodik. Minl tbbet
hasznl a Carco egy bizonyos mdiumot, annl kevsb hatkony egy-egy jabb hirdets. A 44. tblzat azt mutatja,
hogy egyes hirdetsek hny j vsrlt eredmnyeznek.
Egy-egy jsghirdets 1000$-ba kerl, egy televzireklm
pedig 10 000 dollr. Legfeljebb 30 jsghirdets s legfeljebb 15 televzireklm adhat fel. Hogyan tudja a Carco
maximalizlni a reklmozs ltal generlt j vevok szmt?

ttekinto feladatok
44.

TBLZAT

jsg
Televzi

A korltozott ltszm szemlyzet miatt a hvsoknak legfeljebb a fele lehet esti hvs. Fogalmazzon meg egy LP-t,
amely a felmrst minimlis kltsggel valstja meg!

Reklmok
szma

j
vevok

110
1120
2130
15
610
1115

900
600
300
10000
5000
2000

11. A Sunco Oil-nak Los Angelesben s Chicagban vannak finomt zemei. A Los Angeles-i finomt vente legfeljebb 2 milli hord olajat kpes feldolgozni, a chicagi
pedig legfeljebb 3 millit. Finomts utn az olajat kt eloszt helyre szlltjk: Houstonba s New York Citybe. A
Sunco becslse szerint mind a kt eloszthely legfeljebb vi
5 milli hordt tud eladni. A szlltsi s finomtsi kltsgek klnbzosge miatt az elolltott olaj milli hordnknti profitja (dollrban) fgg attl, hogy az olajat hol finomtottk, s attl is, hogy melyik eloszthelyre kerlt (lsd
45. tblzat). A Sunco azon gondolkodik, hogy mindkt finomt kapacitst megnveli. Az vi finomt kapacits vi
egymilli hordval val megnvelse vente 120 000$-ba
kerl a Los Angeles-i finomt szmra, s 150 000$-ba a
chicagi finomt szmra. rjon fel egy lineris programozsi modellt, amelynek megoldsa maximalizlja a profitnak a kapacitsnvelsi kltsgekkel cskkentett sszegt
egy tzves peridusra!
45.

TBLZAT

Profit ($) milli hordnknt


Los Angelesbol
Chicagbl

Houstonba

New Yorkba

20000
18000

15000
17000

12. Egy telefonos felmrs sorn egy piackutat csoportnak legalbb 150 felesggel, 120 frjjel, 100 egyedlll
felnott frfival s 110 egyedlll felnott novel kell kapcsolatba lpnie. 2 dollrba kerl egy nappali telefonhvs, s
(a magasabb munkakltsg miatt) 5 dollrba kerl egy esti
hvs. A 46. tblzat mutatja az eredmnyeket.
46.

TBLZAT

Vlaszol
szemly
Felesg
Frj
Egyedlll frfi
Egyedlll no
Senki

119

Nappali
hvsok
szzalka

Esti
hvsok
szzalka

30
10
10
10
40

30
30
15
20
5

13. A Feedco ktfle szarvasmarhatpot llt elo, mindketto csak bzbl s lherbol ll. Az 1-es tpnak legalbb 80% bzt kell tartalmaznia, mg a 2-es tpnak legalbb 60% lhert kell tartalmaznia. Az 1-es tp eladsi ra
fontonknt 1.50$, a 2-es tp eladsi ra fontonknt 1.30$.
A Feedco legfeljebb 1000 font bzt vsrolhat, fontjt 50
centrt, s legfeljebb 800 font lhert vsrolhat, fontjt 40
centrt. A kereslet mindkt fajta tpra korltlan. Fogalmazzon meg egy LP-t a Feedco profitjnak maximalizlsra!
14. A Feedco (lsd 13. feladat) elhatrozta, hogy vevojnek (tegyk fel, hogy csak egy vevoje van) mennyisgi rengedmnyt ad. Ha a fogyaszt tbb mint 300 font 1-es
tpot vesz, akkor minden egyes 300 font feletti font tpot
1.25$-rt kaphat meg. Ehhez hasonlan, ha a vevo tbb mint
300 font 2-es tpot vsrol, akkor a 300 font fltti minden
font tprt csak 1.00$-t fizet. Mdostsa a 13. feladat LPjt gy, hogy figyelembe veszi a mennyisgi rengedmnyt!
(tmutats: definiljon vltozkat minden, klnbzo ron
eladott tphoz.)
15. A Chemco ktfle vegyszert gyrt: A s B. Ezeknek a
vegyszereknek kt gyrtsi folyamaton kell vgigmennik.
Az 1. folyamathoz 2 ra munka s 1 font nyersanyag szksges, melynek eredmnye 2 deka A s 1 deka B. A 2. folyamathoz 3 ra munka s 2 font nyersanyag szksges, melynek eredmnye 3 deka A s 2 deka B. Rendelkezsre ll
60 ra munka s 40 font nyersanyag. Az A irnti kereslet
korltlan, de B-bol csak 20 dekval lehet eladni. Az A eladsi ra 16$ deknknt s B- 14$ deknknt. A B-bol eladatlan mennyisgtol meg kell szabadulni, ennek kltsge
2$/deka. Fogalmazzon meg egy LP-t, amelynek megoldsa
maximalizlja a Chemcnl a vesztesgbol szrmaz kltsggel cskkentett bevtelt!
16. Tegyk fel, hogy a 3.12. alfejezetben szereplo CSL
szmtgpes pldban kt hnapig tart egy technikus betantsa, s a betanuls msodik hnapjban a tanulnak 10
ra gyakorlott technikusi idore van szksge. Mdostsa a
szvegben szereplo megfogalmazst gy, hogy ezeket a vltozsokat figyelembe veszi!
17. A Furnco asztalokat s szkeket gyrt. Minden asztalnak s szknek vagy teljes egszben tlgybol, vagy teljes egszben fenyobol kell kszlnie. A rendelkezsre ll
nyersanyag tlgybol 150 lap s fenyobol 210 lap. Egy asztalhoz vagy 17 lap tlgy, vagy 30 lap fenyo szksges. Egy
szkhez vagy 5 lap tlgy, vagy 13 lap fenyo kell. Az asztal
darabja 40$-rt adhat el, a szk pedig 15$-rt. Fogalmazzon meg egy, a bevtel maximalizlsra hasznlhat LP-t!

120

3. fejezet Bevezets a lineris programozsba

18.19 Busville vrosban hrom iskolakrzet van. A 47.


tblzatban az egyes krzetekben lo kisebbsgi s nem kisebbsgi tanulk szma lthat.
47.

TBLZAT

Krzet

Kisebbsgi
dikok

Nem kisebbsgi
dikok

1
2
3

50
50
100

200
250
150

Az sszes tanulk 25%-a kisebbsgi.


A helyi brsg gy hatrozott, hogy a vroska mindkt
kzpiskoljban (Cooley Kzpiskola s Walt Whitman
Kzpiskola) kzeltoleg (5%-on belli eltrssel) ugyanolyan szzalkban legyenek kisebbsgi dikok, mint az
egsz vrosban. A 48. tblzatban lthatk az iskolakrzetek s a kzpiskolk kztti tvolsgok.
48.

TBLZAT

Krzet

Cooley
kzpiskola

Walt Whitman
kzpiskola

1
2
3

1
2
1

2
1
1

A kzpiskolkba 300 s 500 kztti dikltszm kell. rja


fel azt a lineris programozsi modellt, amelynek megoldsa gy osztja be a dikokat az iskolkba, hogy a dikoknak a leheto legkisebb tvolsgot kelljen utazniuk iskolba
menetelkor!
19.20 A Brady Corporation szekrnyeket gyrt. Minden
hten szksgk van 90 000 kbmter feldolgozott furszelt
fra. A faanyagot ktfle mdon szerezhetik be. Az egyik
md az, hogy klso ellttl megvsroljk a faanyagot, s
a sajt szrtkemencjkben szrtjk. A msik lehetosg
az, hogy a sajt fldjkn vgjk ki a ft, a sajt fursztelepkn flszabjk, s vgl a sajt kemencjkben megszrtjk. Vsrls esetn Brady elso osztly s msodosztly furszrut vehet. Az elso osztly fa 7$-ba kerl kbmterenknt, s szrts utn 0.9 kbmter felhasznlhat
ft ad. A msodosztly fa 3$-ba kerl kbmterenknt, s
szrts utn 0.7 kbmter felhasznlhat ft ad. A cgnek 3
dollrjba kerl egy kivgott fa felaprtsa. Mretre vgva s
szrtva egy kivgott fa 0.8 kbmter hasznlhat furszrut
ad. A szrts kltsge kbmterenknt 4$. Kbmterenknt
2.50$ a furszmalom munkadja. A furszmalom hetenknt
19 Franklin

s Koenigsberg (1973) alapjn.


Carino s Lenoir (1988) alapjn.
21 Cheung s Auger (1976) alapjn.
22
Dobson s Kalish (1988) alapjn.
20

legfeljebb 35 000 kbmter ft tud feldolgozni. Hetenknt


legfeljebb 60 000 kbmter elso osztly s 40 000 kbmter msodosztly faru vsrolhat. Szrtsra hetenknt
40 rnyi ido ll rendelkezsre. A szrtsi idok egy kbmter elso osztly fra, msodosztly fra, vagy szlfra
a kvetkezok: elso osztlyra 0.8 msodperc, msodosztlyra 2 msodperc, szlfra 1.3 msodperc. Fogalmazzon
meg egy LP-t, amely segt Bradynak minimalizlni a feldolgozott faruszksglet kielgtsnek heti kltsgt.
20.21 A Kanadai Parkfelgyelosg kt fldterletet ellenoriz. Az 1. fldterlet 300 hold nagysg, a 2. fldterlet pedig 100 hold nagysg. Az 1-es fld brmelyik holdja hasznlhat lucfenyotermesztsre, vadszatra vagy mindkettore.
A 2-es fld minden holdja felhasznlhat lucfenyok termesztsre, kempingezsre vagy mindkettore. A 49. tblzatbl kiolvashat, hogy az egyes fldterletek fenntartshoz mennyi toke (szz dollrban) s mennyi munka (emberben s napban) szksges terletegysgenknt (hold), valamint hogy a fld engedlyezett felhasznlsnl egysgnyi
terletrol mennyi profit (ezer dollrban) szrmazik.
A rendelkezsre ll toke 150 000$ s 200 ember-nap
munka hasznlhat fel. Hogyan kellene a fldeket klnbzo hasznlati clokra elosztani, hogy a kt fldterletrol
szrmaz profit maximlis legyen?
49.

TBLZAT

1. fld, fenyo
1. fld, vadszat
1. fld, mindketto
2. fld, fenyo
2. fld, kemping
2. fld, mindketto

Toke

Munka

Profit

3
3
4
1
30
10

0.1
0.2
0.2
0.05
5
1.01

0.2
0.4
0.5
0.06
0.09
1.1

21.22 A Chandler Vllalat ktfle termket gyrt: A s B.


E kt termk egymssal is versenyez. A vllalat ktfle vevocsoportnak akarja eladni ezeket a termkeket: 1-es csoport s 2-es csoport. Az 50. tblzat azt mutatja, hogy a vevok mennyire takslnak egy egysgnyi A termket s egy
egysgnyi B termket ($-ban).
50.

TBLZAT

1-es
2-es
vevocsoport vevocsoport
A vevok szerint A rtke
A vevok szerint B rtke

10
8

12
15

ttekinto feladatok
Az egyes vevok vagy A termket vesznek, vagy B-t, de
mindkettot nem. Egy vevo akkor hajland A termket vsrolni, ha gy gondolja, hogy
az A termk rtke az A termk ra

a B termk rtke a B termk ra

s
az A termk rtke az A termk ra 0

Egy vevo akkor fog B termket vsrolni, ha gy gondolja,


hogy
a B termk rtke a B termk ra

az A termk rtke az A termk ra

s
a B termk rtke a B termk ra 0

Az elso csoportban 1000 ember van, a msodik csoportban


1500. Chandler gy szeretn az egyes termkek rt megllaptani, hogy biztostani tudja azt, hogy az elso csoport
tagjai az A termket, a msodik csoport tagjai pedig a B termket vsroljk. Fogalmazzon meg egy LP-t, amely segt
Chandlernek a bevtel maximalizlsban!
22.23 Az Alden Vllalat kt termket gyrt. Mindegyik termk kt gp valamelyikn llthat elo. Az egyes termkek
elolltshoz szksges ido (rban) az egyes gpeken az
51. tblzatban lthat.
51.

TBLZAT

1. termk
2. termk

1. gp

2. gp

4
7

3
4

Minden hnapban mindegyik gpen 500 rnyi ido ll rendelkezsre. Az 52. tblzatban lthat, hogy legfeljebb hny
termket hajlandk megvenni a fogyasztk egy-egy hnapban a megadott rakon.
52.

23. A Kiriakis Electronics hromfle termket gyrt.


Mindegyik termk elolltsban hrom klnbzo gp vesz
rszt. Amikor egy gpet hasznlnak, ahhoz egy munks is
kell. Az 53. tblzatban lthat, hogy mennyi ido (rban)
szksges az egyes gpeken az egyes termkekhez.
53.

TBLZAT

1.
1. termk
2. termk

100
140

rak ($)

hnap
2.
1.
190
130

55
65

2.
12
32

A vllalat clja, hogy maximalizlja a kvetkezo kt hnapban eladott termkegysgekbol szrmaz bevtelt. Fogalmazzon meg egy LP-t, amely segt elrni ezt a clt!
23 Jain,

2. termk

3. termk

2
3
4
6

3
5
7
8

4
6
9
10

Jelenleg t 1-es tpus gp, hrom 2-es tpus gp s ngy


3-as tpus gp ll rendelkezsre. A vllalatnak tz munksa
van, s el kell dntenie, hogy az egyes gpekhez hny munkst jelljn ki. Az zem hetenknt 40 rt van nyitva, a
munksok mindegyike heti 35 rt dolgozik. Fogalmazzon
meg egy LP-t, amelynek megoldsa lehetov teszi Kiriakis
szmra, hogy gy lltsa munksait a gpekhez, hogy a heti
profit maximlis legyen! (Megjegyzs: Egy munksnak nem
kell az egsz heti munkjt egy bizonyos gp kezelsvel
tltenie.)
24. A Gotham Vrosi Krhz ngy klnbzo diagnziscsoport (DRG) eseteivel foglalkozik. Az 54. tblzatban
a kvetkezo adatok lthatk: hozzjruls a profithoz, diagnosztikai szolgltats (rban), krhzi kezels (gynapokban), novrszolglat (rban) s gygyszerfelhasznls
(dollrban).
Jelenleg a krhznak rendelkezsre ll hetenknt 570 ra
diagnosztikai szerviz, 1000 gynap, 50 000 novrra s
50 000$ rtku gygyszer. A vrosi egszsggyi kvetelmnyek rtelmben hetente legalbb 10 DRG 1, 15 DRG 2,
40 DRG 3 s 160 DRG 4 esettel kell foglalkoznia a krhznak. rjon fel egy LP-t annak meghatrozsra, hogy a krhz szempontjbl mi a DRG esetek optimlis keverke!24
54.

TBLZAT

Profit
DRG 1
DRG 2
DRG 3
DRG 4

2000
1500
500
300

Diagnosztikai gyszolgltats nap


7
4
2
1

5
2
1
0

GygyNovr szer
30
10
5
1

800
500
150
50

25. Az Oliver Winery ngy djnyertes bort llt elo Bloomingtonban (Indiana llam). Az 55. tblzatban lthat a
klnbzo tpus borok egy literjnak a hozzjrulsa a profithoz, a munkark szma s a tartlyigny (rban).

Stott s Vasold (1978) alapjn.


s Tuntiwonpiboon (1989) alapjn.

24 Robbins

1. termk
1. gp
2. gp
3. gp
Profit ($)

TBLZAT

Kereslet

121

122
55.

3. fejezet Bevezets a lineris programozsba


28. rja le a kvetkezo LP sszes optimlis megoldsait:

TBLZAT

Profit ($)
1. bor
2. bor
3. bor
4. bor

Munka

Tartly

.2 ra
.3 ra
.3 ra
.5 ra

.5 ra
.5 ra
1 ra
1.5 ra

6
12
20
30

A trvny rtelmben vente legfeljebb 100 000 liter bor


termelheto. Rendelkezsre ll 12 000 munkara s 32 000
tartlyra vente. Minden liter 1. bor tlagosan 31 vet a
pincben tlt; minden liter 2. bor tlagosan 1 vet rik; a
3. bor tlagosan kt vet, mg vgl a 4. bor tlagosan 3.333
vet tlt a pincben. A borszat nagy tlagban 50 000 liter raktrozsval tud megbirkzni vente. Hatrozza meg,
hogy melyik fajta borbl mennyit termeljen az Oliver Winery, hogy maximlis profitjuk legyen!
26. Oldja meg grafikusan a kvetkezo LP-t:
min z = 5x1 +

x2

f.h.

x2 6

2x1 +
x1 +

x2 4

2x1 + 10x2 20
x1 , x2 0

27. A Grummins Engine dzelmeghajts teherautkat


gyrt. A kormny ltal elort j emisszis szabvny szerint
ktelezo, hogy a kvetkezo hrom vben gyrtott teherautk
tlagos szennyezoanyag-kibocstsa nem haladhatja meg a
10 grammot. Grummins ktfle teherautt gyrt. Minden 1es tpus teherautt 20 000$-rt lehet eladni, 15 000$-ba
kerl az elolltsa, s 15 gramm szennyezoanyagot bocst
ki. Minden 2-es tpus teherautt 17 000$-rt lehet eladni,
14 000$ a gyrtsi kltsge, s 5 gramm szennyezoanyagot
bocst ki. A gyrtsi kapacits korltozottsga miatt vente
legfeljebb 320 teherautt lehet gyrtani. A Grummins tudja,
hogy az egyes tpus teherautkbl vente maximum annyit
lehet eladni a kvetkezo hrom vben, mint amit az 56. tblzat mutat.
56.
v
1
2
3

TBLZAT

Teherautk maximlis kereslete

1. tpus

2. tpus

100
200
300

200
100
150

gy pldul a 3. vben legfeljebb 300 darab 1-es tpus teherautt lehet eladni. A kereslet kielgtheto akr a foly
vi termelsbol, akr az elozo vibol. Brmelyik tpus teheraut egyves raktrozsi kltsge 2000$. Fogalmazzon
meg egy LP-t, amely segt a profit maximalizlsban a kvetkezo hrom vre!

min z = 4x1 + x2
f.h.

3x1 + x2 6

4x1 + x2 12
x1

x1 , x2 0
29. A Juiceco ktfle termket llt elo: szuper narancslt
s norml narancslt. Mindkt termk ktfle tpus narancs
kombincijval llthat elo: 6-os osztly s 3-as osztly narancsokbl. A szuper narancslben az tlagos osztlyszmnak legalbb 5-nek kell lennie, mg a norml narancslben tlag legalbb 4-es kell. A kvetkezo kt hnap mindegyikben a Juiceco legfeljebb 1000 liter szuper narancslt
s legfeljebb 2000 liter norml narancslt tud eladni. A szuper narancsl eladsi ra 1.00$ literenknt, mg a norml
narancslt literenknt 80 centrt lehet eladni. Az elso hnap
elejn a Juicecnak van 3000 liter 6-os osztly s 2000 liter
3-as osztly narancsa. A msodik hnap elejn a Juiceco
mg vsrolhat tovbbi 3-as osztly narancsot, literenknt
40 centrt, s tovbbi 6-os osztly narancsot literenknt 60
centrt. A narancsl a hnap vgre megromlik, teht annak
semmi rtelme sem volna, hogy az elso hnapban tbbletet
lltsanak elo a narancslbol, abban a remnyben, hogy az
hozzjrulna a msodik hnapbeli kereslet kielgtshez.
Az elso hnap vgn megmaradt narancs viszont felhasznlhat a msodik hnapban narancslgyrtsra. Az elso hnap
vgn minden liter maradk 3-as osztly narancsra literenknt 5 cent trolsi kltsg van, a 6-os osztly narancsra
pedig 10 cent a linterenknti trolsi kltsg. A kltsgekben a narancs rn kvl mg benne van a narancsl elolltsi kltsge, ez literenknt 10 cent (norml vagy szuper).
Fogalmazzon meg egy LP-t, amely a profitot maximalizlja
a kvetkezo kt hnapban!
30. Oldja meg grafikusan a kvetkezo lineris programozsi feladatot:
max z = 5x1 x2
f.h.

2x1 + 3x2 12
x1 3x2 0

x1 0, x2 0

31. Keresse meg grafikus mdszerrel a kvetkezo LP


sszes megoldst:
min z = x1 2x2

f.h.

x1

x1 + x 2 8

x1 x 2 6
x1 , x2 0

ttekinto feladatok
32. Az Eastinghouse kondenztorokat gyrt minden nap
hrom muszakban: 8-tl 16-ig; 16-tl jflig s jfltol 8ig. Az 57. tblzatbl kiolvashat az egyes muszakokban
az alkalmazottaknak fizetett rabr, a klnbzo muszakokban gyrtott kondenztorok eladsi ra, valamint az adott
muszakban legyrtott kondenztorokban elofordul hibk
szma.
57.

TBLZAT

Muszak

8-tl 16-ig
16-tl jflig
jfltol 8-ig

rabr
Hibk szma
Eladsi r
($)
(egy kondenztorra)
($)
12
16
20

4
3
2

18
22
24

A vllalat 25 munksnak mindegyike beoszthat a hrom


muszak egyikbe. Egy munks egy muszak alatt 10 kondenztort csinl, de a gppark korltozottsga miatt egy-egy
muszakba legfeljebb tz munkst lehet beosztani. Naponta
legfeljebb 250 kondenztor adhat el, s az egynapi termelsben gyrtott kondenztorokban az tlagos hibaszm nem
haladhatja meg a hrmat. Fogalmazzon meg egy LP-t Eastinghouse napi profitjnak (eladsbl szrmaz jvedelem
munkabr) maximalizlsra!

bokrokat hasznl fel hrom klnbzo tpus elrendezsben. Az 1-es tpus elrendezshez 30 tulipn, 20 nrcisz s 4
virgz bokor kell. A 2-es tpus elrendezsben 10 tulipn,
40 nrcisz s 3 virgz bokor szerepelne. A 3-as tpusban 20
tulipn, 50 nrcisz s 2 virgz bokor lenne felhasznlhat.
A nett profit 50$ minden egyes 1-es tpus elrendezsre,
30$ minden 2-es elrendezsre s 60$ minden 3-as tpus elrendezsre. Rendelkezsre ll 1000 tulipn, 800 nrcisz s
100 virgz bokor. A maximlis profit elrshez hnyszor
szerepeljenek az egyes elrendezsek?
36. Magyarzza meg, hogy a 35. feladathoz tartoz modell hogyan vltozik meg, ha a kvetkezo kt felttelt hozzvesszk a problmhoz:
(a) Az 1-es tpus elrendezsek szma nem haladhatja
meg a 2-es tpus elrendezsek szmt.
(b) Mindegyik elrendezsnek legalbb tszr elo kell
fordulnia a tervben.
37. Oldja meg grafikusan a kvetkezo LP problmt:
min z = 6x1 + 2x2
f.h.

f.h.

8x1 + 2x2 16
x1 + x2 12
x1 , x2 0

34. A legkzelebbi hrom hnapban az Aircnak ki kell


elgtenie (ksleltets nlkl) a kvetkezo, lgkondicionl
berendezsek irnti keresletet: 1. hnapban 300; 2. hnapban 400; 3. hnapban 500. A lgkondicionlkat New Yorkban vagy Los Angelesben gyrtjk. Egy lgkondicionl
gyrtsa Los Angelesben 1.5 rt vesz ignybe, mg New
Yorkban 2 rt, mindkt helyen szakkpzett munks ltal.
A gyrtsi kltsg egy lgkondicionlra 400$ Los Angelesben s 350$ New Yorkban. Minden hnapban mindkt
vrosban 420 ra szakkpzett munka ll rendelkezsre. Egy
lgkondicionl egy hnapig tart raktrozsa 100$-ba kerl. Az 1. hnap elejn az Aircnak 200 lgkondicionlja
van kszleten. Fogalmazzon meg egy LP-t, amelynek megoldsa megmondja az Aircnak, hogyan lehet minimalizlni
a lgkondicionlk keresletnek kielgtshez tartoz kltsgeket a kvetkezo hrom hnapban!
35. Fogalmazza meg a kvetkezo problmt lineris programozsi feladat formjban: egy meleghz tulajdonosa
azt tervezi, hogy versenybe szll a vrosi parkok virgelltsrt. A terve az, hogy tulipnokat, nrciszokat s virgz

3x1 + 2x2 12
2x1 + 4x2 12
x2 1

33. Keresse meg grafikus mdszerrel a kvetkezo LP


sszes megoldst:
max z = 4x1 + x2

123

x1 , x2 0

B csoport
38. A Gotham Vrosi Nemzeti Bank htfotol pntekig tart
nyitva, naponta reggel 9-tol dlutn 5-ig. Mltbeli tapasztalataibl a bank mr tudja, hogy az egyes idokzkben hny
pultnl dolgoz alkalmazottra van szksge; ez az 58. tblzatban lthat.
A bank ktfle alkalmazottat vesz fel. A teljes munkaidos
alkalmazottak 9-tol 5-ig dolgoznak, heti t napot, kivve 1
ra ebdidot. (A bank dnti el, hogy egy teljes munkaidos
alkalmazottja mikor veheti ki az ebdidejt: dltol dlutn
1-ig, vagy dlutn 1-tol 2-ig.)
A teljes munkaidos alkalmazottak (a jrulkokat is belertve) 8$ rabrt kapnak (az egyrs ebdido is fizetett).
A bank felvehet rszmunkaidos alkalmazottakat is. Minden rszmunkaidos alkalmazottnak pontosan 3 ra hosszat
kell folyamatosan dolgoznia. Egy rszmunkaidos alkalmazott 5$ rabrt kap (jrulkok nincsenek). A megfelelo minosgu kiszolgls fenntartsa rdekben a bank gy dnttt, hogy legfeljebb t rszmunkaidos dolgozt vesznek fel.
Fogalmazzon meg egy LP-t, amely lehetov teszi, hogy minimlis kltsgek mellett az alkalmazotti szksglet kielgtheto legyen! Oldja meg a feladatot! Az LP megoldsnak ismeretben ksrletezzen ki olyan munkltati politikt, amelyik kzel jrna a munkabrkltsg minimalizlshoz!

124
58.

3. fejezet Bevezets a lineris programozsba

TBLZAT

Idoperidus

Pultnl dolgoz alkalmazott

910
1011
1112
12 1
1 2
2 3
3 4
4 5

4
3
4
6
5
6
8
8

39.25 A Gotham vrosi rendorsg 30 rendort alkalmaz.


Minden rendor heti 5 napot dolgozik. A bunzsi rta naponta vltozik, ezltal a szksges rendork szma attl
fgg, hogy a ht melyik napjrl van sz: szombaton 28,
vasrnap 18, htfon 18, kedden 24, szerdn 25, cstrtkn
16, pnteken 21. A rendorsg olyan szolglati tervet akar
kszteni, hogy minimlis legyen azoknak a rendorknek
a szma, akiknek a szabadnapjai nem egyms utn kvetkezo napokra esnek. Fogalmazzon meg egy LP-t e cl elrsnek rdekben. (tmutats: rjon fel a ht minden napjra olyan felttelt, amelyik azt biztostja, hogy a megfelelo
szm rendor az adott napon nem dolgozik.)
40.26 Alexis Cornby kukorica vtelbol s eladsbl tartja
fnn magt. Janur elsejn van 50 tonna kukoricja s 1000
dollrja. Minden hnap elso napjn Alexis a kvetkezo tonnnknti vtelrakon vsrolhat kukorict: janurban 300$;
februrban 350$; mrciusban 400$; prilisban 500$. Minden hnap utols napjn Alexis a kvetkezo tonnnknti eladsi rakon adhat el kukorict: janurban 250$; februrban 400$; mrciusban 350$; prilisban 550$. Alexis a meglvo kukoricjt egy raktrban trolja, ahov legfeljebb 100
tonna kukorica fr be. A megvsrolt kukoricrt azonnal
kszpnzben kell fizetnie. Alkalmazzon lineris programozst annak eldntsre, hogyan tudja Alexis a meglvo kszpnzt prilis vgre maximalizlni!
41.27 Az 1. hnap elejn a Fincnak 400$-ja van kszpnzben. Az 1., 2., 3. s 4. hnapok elejn a Fincnak vannak
bizonyos bevtelei, ezutn fizeti ki szmlit (59. tblzat).
59.

TBLZAT

1. hnap
2. hnap
3. hnap
4. hnap

Bevtel ($)

Szmlk ($)

400
800
300
300

600
500
500
250
25 Rothstein

A megmarad pnz befektetheto egy hnapra, havi 0.1%


kamatra; vagy kt hnapra, havi 0.5% kamatra; vagy 3 hnapra, havi 1% kamatra; vagy 4 hnapra, havi 2% kamatra.
Alkalmazzon lineris programozst egy olyan befektetsi
stratgia meghatrozsra, amely az 5. hnap elejre maximalizlja a meglvo kszpnzt!
42. Az A vros napi 500 tonna szemetet produkl, a B vros napi 400 tonna szemetet termel. A szemetet el kell getni
az 1-es vagy 2-es szemtgetoben, s mindkt szemtgeto
legfeljebb napi 500 tonna szemetet tud feldolgozni. A szemtgets kltsge tonnnknt 40 dollr az 1-es getoben,
s tonnnknt 30 dollr a 2-esben. A szemtgets minden
egyes tonna szemetet 0.2 tonna trmelkk alakt, amelyet
aztn kt fldfeltlto hely egyikben raknak le. Mind a kt
fldfeltlto hely legfeljebb napi 200 tonna trmelket tud
fogadni. Mrfldenknt 3$ a tonnnknti szlltsi kltsg,
akr szemtrol, akr trmelkrol van sz. A 60. tblzat mutatja a szban forg helysznek kztti tvolsgokat mrfldben. Fogalmazzon meg egy LP-t, amely arra hasznlhat, hogy a kt vros szmra minimalizlja a szemttol
val megszabaduls kltsgt!
43.28 A Silicon Valley Corporation (Silco) tranzisztorokat
gyrt. A tranzisztorgyrtsnak nagyon fontos rsze a germnium nevu elem (a tranzisztorok egyik fo komponense)
olvasztsa kemencben. Sajnos, az olvasztsi eljrs olyan,
hogy nagyon klnbzo minosgu eredmnyeket ad.
60.

1.
A vros
B vros
1. szemtgeto
2. szemtgeto

Szemtgeto

30
36
1.
5
9

2.
5
42

Feltltohely

2.
8
6

Ktfle mdszerrel lehet germniumot olvasztani: az 1-es


mdszer tranzisztoronknt 50$-ba kerl, a 2-es mdszer pedig tranzisztoronknt 70$. A 61. tblzat mutatja az 1-es s
2-es mdszerrel kapott germnium minosgt.
A Silco megteheti azt is, hogy jrahevti az olvasztott germniumot abbl a clbl, hogy a minosgt javtsa. Egy
tranzisztorhoz val germnium jrahevtse 25$-ba kerl.
Az jrahevts eredmnyei a 62. tblzatban lthatk.
A Silcnak elg nagy kemencekapacitsa van a germnium
olvasztsra vagy jrahevtsre, de ez is csak havonta legfeljebb 20 000 tranzisztorig elegendo. A Silco havi kereslete 4. fokozat tranzisztorbl 1000; 3. fokozatbl 2000; 2.

(1973) alapjn.
Charnes s Cooper (1955) alapjn.
27 Robichek, Teichroew s Jones (1965) alapjn.
28
Smith (1965) alapjn.

26

TBLZAT

ttekinto feladatok
fokozatbl 3000 s 1. fokozatbl ugyancsak 3000. Hasznljon lineris programozst a szksges tranzisztorok elolltsi kltsgnek minimalizlsra!
61.

Olvaszts utn
szzalkban
1. mdszer 2. mdszer

Selejtes
1. fokozat
2. fokozat
3. fokozat
4. fokozat

30
30
20
15
5

20
20
25
20
15

Megjegyzs: 1. fokozat: gyenge; 4. fokozat: kivl. A germnium


minosge meghatrozza az ebbo l gyrtott tranzisztor mino sgt.

62.

TBLZAT

jrahevtett
germnium
minosge
Selejtes
1. fokozat
2. fokozat
3. fokozat
4. fokozat

jrahevts utn szzalkban


selejtes

1.

30
25
15
20
10

0
30
30
20
20

fokozat
2.
0
0
40
30
30

3.
0
0
0
50
50

44. Egy papr-jrafeldolgoz telep dobozokat, selyempaprrut, jsgokat s knyvpaprt dolgoz fel olyan ppp,
amelyik hromfle fokozat jrafeldolgozott papr elolltsra (fokozatok: 1, 2 s 3) hasznlhat fel. A 63. tblzat mutatja a ngyfle feldolgozand paprnemu tonnnknti rt s pptartalmt. A ppp alaktsnak ktfle mdszere van: festktelents s aszfaltdiszperzi. Brmelyik input festktelentse tonnnknt 20$-ba kerl. A festktelentsi eljrs kivonja az input pptartalmnak 10 szzalkt
is, gy az eredeti pptartalomnak csak 90%-a marad. Az aszfaltdiszperzi alkalmazsa egy tonna anyagra 15$-ba kerl.
Ez az eljrs elviszi az input pptartalmnak 20%-t. A festktelentsi eljrs s az aszfaltdiszperzis eljrs is legfeljebb 3000 tonna inputot kpes felvenni. 1-es fokozat papr
csak jsgpaprppbol vagy knyvpaprppbol gyrthat; 2es fokozat papr csak knyvpapr, selyempapr vagy dobozpapr ppjbol gyrthat; vgl a 3-as fokozat papr
csak jsg, selyempapr vagy doboz ppjbol gyrthat. A
jelenlegi ignyek kielgtsre a vllalatnak 500 tonna 1-es
fokozat paprhoz val ppre, 500 tonna 2-es fokozat paprhoz val ppre s 600 tonna 3-as fokozat paprhoz val
ppre van szksge. Fogalmazzon meg egy LP-t, amely minimalizlja a ppszksglet kielgtsnek kltsgeit!29
29 Glassey

TBLZAT

Kltsg ($)

Pptartalom (%)

5
6
8
10

15
20
30
40

Doboz
Selyempapr
jsgpapr
Knyvpapr

TBLZAT

Az olvasztott
germnium
fokozata

63.

s Gupta (1975) alapjn.

125

45. A Turkeyco ktfle tpus pulykakotlettet llt elo, s


ezeket gyorsttermeknek adja el. Mindkt tpus kotlett
pulykamellbol s egyb (nem fehr hs) rszekbol ll. Az
1. kotlett fontonknt 4 dollrrt adhat el, s legalbb 70%
fehrhst kell tartalmaznia. A 2. kotlett fontonknt 3 dollrrt adhat el, s legalbb 60% fehrhs tartalma kell legyen. Legfeljebb 50 font 1. kotlett s 30 font 2. kotlett adhat el. A kotlettek elolltshoz szksges ktfle tpus
pulykt a Gobble-Gobble Turkey Farmrl vsroljk. Minden 1-es tpus pulyka 10$-ba kerl s 5 font fehrhst s 2
font egyb hst szolgltat. Minden 2-es tpus pulyka 8$-ba
kerl s 3 font fehrhst s 3 font egyb hst ad. Fogalmazzon meg egy LP modellt a Turkeyco profitjnak maximalizlsra!
46. A Priceler szemlyautkat s kisteherautkat gyrt. A
64. tblzat mutatja, hogy a kvetkezo hrom hnapban melyik fajta jrmubol mennyi adhat el.
Minden szemlyaut eladsi ra 8000$, s minden kisteheraut eladsi ra 900$. A gyrtsi kltsgek: 6000$ a szemlyaut s 7500$ a kisteheraut. A kszletezsi kltsg
egy hnapra 150$ egy szemlyautra s 200$ egy kisteherautra. Havonta legfeljebb 1500 jrmuvet lehet gyrtani. A
technolgiai elorsok ktttsge miatt az elso hnapban az
sszes gyrtott autknak legalbb ktharmadnak szemlyautnak kell lennie. Az elso hnap elejn 200 szemlyaut
s 100 kisteheraut ll rendelkezsre. Fogalmazzon meg egy
LP-t, amely arra alkalmas, hogy maximalizlja a Priceler
profitjt a kvetkezo hrom hnapra!
64.

TBLZAT

1. hnap
2. hnap
3. hnap

Szemlyaut

Kisteheraut

1100
1500
1200

600
700
500

47. A Grummins Engine vllalatnl a szalagon dolgoz alkalmazottak hetenknt ngy napot dolgoznak, naponta tz
rt. A ht egyes napjain a szalag mellett dolgoz alkalmazottakbl (legalbb) a kvetkezo szm emberre van szksg: htfotol pntekig 7 alkalmazott; szombaton s vasrnap
3 alkalmazott. A Grumminsnak 11 szalag mellett dolgoz
alkalmazottja van. Fogalmazzon meg egy LP-t, amely arra

126

3. fejezet Bevezets a lineris programozsba

alkalmazhat, hogy maximalizlja az alkalmazottak szmra kiveheto egymsutn kvetkezo szabadnapok szmt!
(Pldul egy olyan alkalmazott, akinek vasrnap, htfon s
szerdn van szabadnapja, csak kt egymsutn kvetkezo
napon szabadnapos.)
48. A Bank 24 naponta 24 rn t tart nyitva. Azok az
alkalmazottak, akik kt egymsutn kvetkezo 6 rs muszakban dolgoznak, 10$ rabrt kapnak. A lehetsges muszakok a kvetkezok: jfltol 6-ig; 6-tl dlig; dltol 18-ig
s 18-tl jflig. Az egyes muszakokban a bank gyfeleinek
szma: jfltol 6-ig 100; 6-tl dlig 200; dltol 18-ig 300;
18-tl jflig 200. Egy alkalmazott egy muszakban legfeljebb 50 gyfelet tud kiszolglni. Ahhoz, hogy modellezni
tudjuk az gyfl-trelmetlensg kltsgt, felttelezzk,
hogy egy olyan gyfl, aki muszakvltskor van jelen, a
banknak 5 dollrjba kerl. Feltesszk mg, hogy minden nap jflig minden gyfelet ki kell szolglni, s ezltal
mindegyik jfltol 6-ig tart muszak gy kezdodik, hogy 0
gyfl van a bankban. Fogalmazzon meg egy LP-t, amely
arra hasznlhat, hogy minimalizlja a bank munkabr- s
gyfl-trelmetlensgi kltsgeit!
49.30 A Transeast Airlines replogpei a kvetkezo tvonalon replnek: Los Angeles Houston New York Miami
Los Angeles. Az egyes szakaszok mrfldben mrt tvolsgai a kvetkezok: L.A. Houston 1500 mrfld; Houston
N.Y. 1700 mrfld; N.Y. Miami 1300 mrfld; Miami
L.A. 2700 mrfld. Minden megllskor a replogp legfeljebb 10 000 liter zemanyagot vsrolhat be. Az egyes
vrosokban az zemanyagrak a kvetkezok: L.A. 88 cent;
Houston 15 cent; N.Y. 1.05$; Miami 95 cent. A replogp
zemanyagtartlyba legfeljebb 12 000 liter fr be. Egyegy leszllsi hely fltti krzst is lehetov kell tenni,
ezrt elorjuk, hogy minden tszakasz vgn a reploben az
zemanyagszint legalbb 600 liter legyen. A teljes tvonal
minden egyes szakaszn a mrfldenknt felhasznlt literek
szma

50.31 A jvedelemad-bevallsi formanyomtatvnyok feldolgozshoz az USA Adhivatala (IRS) minden formanyomtatvnyt eloszr az adat-elokszto osztlyra kld, ahol
az informcikat kdoljk. Ezutn az adatbeviteli osztlyon
beviszik a bevallsokat a szmtgpbe. A kvetkezo hrom hten t a kvetkezo szm formanyomtatvnyok rkeznek: elso hten 40 000; msodik hten 30 000, harmadik hten 60 000. Az IRS a cscsforgalommal gy birkzik meg, hogy felvesz alkalmazottakat, akik heti 40 rt
dolgoznak, s ezrt 200$-t kapnak fizetsl. Egy-egy adv
adat-eloksztshez 15 perc szksges, s az adatbevitel
10 percet vesz ignybe. Egy-egy hten egy alkalmazott
vagy az adat-eloksztshez, vagy az adatbevitelhez van beosztva. Az IRS-nek az tdik ht vgre be kell fejeznie az
sszes adpapr feldolgozst, tovbb minimalizlni szeretn ezen clja elrsnek kltsgt. Fogalmazzon meg egy
LP-t, amely meghatrozza, hogy hny dolgoznak kell dolgoznia az egyes heteken, s hogyan kell a dolgozkat beosztani a kvetkezo t htben!
51. A 9. brn lthat elektromos ramkrben It = a t
ellenllson tfoly ram (amperben), Vt = feszltsgess
(voltban) a t ellenllson, s Rt = a t ellenlls ellenllsa
(ohmban).
Kirchoff feszltsg- s ramtrvnyei rtelmben V1 = V2 =
V3 s I1 + I2 + I3 = I4 . A t ellenllson tfoly ram ltal
dissziplt energia: It2 Rt . Ohm trvnye szerint Vt = It Rt .
Ennek a problmnak a kt rszt egymstl fggetlenl
kell megoldani.
(a) Tegyk fel, hogy elore tudjuk, miszerint I1 = 4,
I2 = 6, I3 = 8 s I4 = 18 a kvetelmnyek. Ezenkvl
mindegyik ellenllson a feszltsgessnek 2 s 10 volt
kztt kell lennie. Vlassza meg az Rt -ket gy, hogy a
teljes dissziplt energia minimlis legyen! Fogalmazzon
meg egy LP-t, amely megoldja a problmt!
(b) Tegyk fel, hogy elore megadtk, miszerint az elors V1 = 6, V2 = 6, V3 = 6 s V4 = 4. Ezenkvl minden
egyes ellenllson az tfoly ramnak 2 s 6 amper kztt kell lennie. Vlassza meg gy az Rt -ket, hogy a teljes
dissziplt energia minimlis legyen! Fogalmazzon meg
egy LP-t, amely megoldja ezt a problmt! (tmutats:
Legyenek R1t (t = 1, 2, 3, 4) a dntsi vltozk.)

1 + (tlagos zemanyagszint a
repls tszakaszn/2000)
A dolgok egyszerustse cljbl tegyk fel, hogy az tlagos
zemanyagszint a teljes repls brmelyik tszakaszn:
1
(zemanyagszint az tszakasz elejn)
2
1
+ (zemanyagszint az tszakasz vgn)
2
Fogalmazzon meg egy LP-t, amely arra hasznlhat, hogy
minimalizlja a teljes repls teljestshez szksges
zemanyagkltsget!
30 Darnell

s Loflin (1977) alapjn.


s msok (1987) alapjn.

31 Lanzenauer

9.

BRA

ttekinto feladatok
52. Llanview polgrmestere szeretn megmondani, hogy
hny brval tudnnak megbirkzni a brsgi esetek sokasgval. A 65. tblzatban lthat, hogy az v egyes hnapjaiban becslse szerint hny bri munkara szksges.
65.

TBLZAT

rk
janur
februr
mrcius
prilis
mjus
jnius
jlius
augusztus
szeptember
oktber
november
december

400
300
200
600
800
300
200
400
300
200
100
300

(a) Minden br mind a 12 hnapban dolgozik, s egyegy br havonta legfeljebb 120 rt tud esetekkel foglalkozni. A kssek elkerlsre december vgig minden esetet le kell zrni. Fogalmazzon meg egy LP-t,
amelynek a megoldsa eldnti, hogy hny br szksges Llanview-ban!
(b) Hogyan vltozik a megolds, ha minden br vente
1 hnapig szabadsgon van?

C csoport
53.32 Az E.J. Korvair ruhznak 1000$ kszpnze van. A
kvetkezo hat hnapban minden hnap elejn E.J.-nek lesznek bevtelei s kifizetendo szmli, ahogy azt a 66. tblzat
mutatja.
66.

TBLZAT

jlius
augusztus
szeptember
oktber
november
december

Bevtelek ($)

Szmlk ($)

1000
2000
2000
4000
7000
9000

5000
5000
6000
2000
2000
1000

E.J.-nek rvid tv kszpnzproblmi lesznek egszen addig, amg az ruhznak a karcsonyi bevsrlsi szezonban
32 Robichek,
33 Garvin

127

nagyobb bevtelei nem lesznek. Ennek thidalsra E.J.-nek


pnzt kell klcsnkrnie.
Jlius elejn, E.J. kaphat egy hat hnapos klcsnt. A
hat hnapos peridusra klcsnvett pnzt december vgig
vissza kell fizetni a 9% kamattal egytt (korbbi visszafizets nem cskkenti a klcsn kamatterheit). E.J. esetleg
hnaprl-hnapra klcsnzsre is gondolhat. Egy hnapra
klcsnztt pnzre havi 4%-os kamatot kell fizetni. Hasznljunk lineris programozst annak meghatrozsra, hogy
hogyan lehet E.J. kltsgeit minimalizlni, ha minden szmljt idoben akarja kifizetni!
54.33 Az Ol Oil hromfle termket llt elo: futoolajat,
benzint s replogp-zemanyagot. Az tlagos oktnszmnak legalbb 4.5-nek kell lennie a futoolajnl, 8.5-nek a
benzinnl s 7.0-nek a replogp-zemanyagnl. Ezeknek a
termkeknek az elolltshoz az Ol ktfle olajat vsrol:
1. nyersolaj (hordnknt 12$) s 2. nyersolaj (hordnknt
10$). Naponta legfeljebb 10 000 hord vsrolhat mindegyik nyersolajbl.
Mielott a nyersolajbl eladhat termk lenne, elobb desztilllni kell. Naponta legfeljebb 15 000 hord olajat lehet
desztilllni. Ennek kltsge hordnknt 10 cent. A desztillls eredmnye a kvetkezo: (1) Minden hord 1. nyersolajbl 0.6 hord nafta, 0.3 hord 1. desztilllt olaj s 0.1
hord 2. desztilllt olaj lesz. (2) Minden hord 2. nyersolajbl 0.4 hord nafta, 0.2 hord 1. desztilllt olaj s 0.4 hord
2. desztilllt olaj lesz. A nafta csak benzin vagy replogpzemanyag elolltsra hasznlhat. Desztilllt olajbl futoolajat lehet elolltani, vagy keresztlvinni a katalitikus
krakkoln (hordnknt 15 centrt). Naponta legfeljebb 5000
hord desztilllt olaj mehet a krakkolba. Minden hord 1.
desztilllt olaj, ami krakkolva lett, 0.8 hord 1. krakkolt olajat s 0.2 hord 2. krakkolt olajat ad. Minden hord 2. desztilllt olaj a krakkols utn 0.7 hord 1. krakkolt olajat s
0.3 hord 2. krakkolt olajat ad. A krakkolt olajbl benzint s
replogp-zemanyagot lehet elolltani, de futoolajat nem.
A klnbzo tpus olajok oktnszmai a kvetkezok: 8 a
naft; 4 az 1. desztilllt olaj; 5 a 2. desztilllt olaj; 9 az
1. krakkolt olaj; 6 a 2. krakkolt olaj.
A futoolaj 14$ hordnknti ron adhat el; a benzin hordnknt 18$-rt, a replogp zemanyag pedig 16$-rt hordnknt. Marketing meggondolsokbl addan legalbb 3000
hordnyit kell gyrtani mindegyik termkbol. Fogalmazzon
meg egy LP-t, amelynek megoldsa maximalizlja az Ol
napi profitjt!
55. Donald Rump a Countribank nemzetkzi alapok osztlynak igazgatja. Donaldnak minden nap meg kell hatroznia, hogy a banknak aznap mekkora kszlete legyen dollrbl, fontbl, mrkbl s jenbol, hogy ki tudjk elgteni
a pnzkeresletet. A klnbzo valutk kztti tvltsi r-

Teichroew s Jones (1965) alapjn.


s msok (1957) alapjn.

128

3. fejezet Bevezets a lineris programozsba

tk a 67. tblzatban lthatk. Pldul egy dollr tvlthat


.58928 fontt, vagy 1 font tvlthat 1.697 dollrr.
67.

TBLZAT

-bl
Dollr
Font
Mrka
Jen

dollr

font

1
1.697
.57372
.007233

-ba

.58928
1
.33808
.00426

mrka

jen

1.743
2.9579
1
.0126

138.3
234.7
79.346
1

A nap elejn a Countribank kszletei a 68. tblzatban


lthatk. A nap vgn a Countribanknak legalbb akkora
mennyisgnek kell birtokban lennie, amint az a 69. tblzatban lthat.
68.

TBLZAT

Pnzfajta
Dollr
Font
Mrka
Jen

Egysgek
(millirdban)
8
1
8
0

69.

TBLZAT

Pnzfajta
Dollr
Font
Mrka
Jen

Egysgek
(millirdban)
6
3
1
10

Donald clja az, hogy a pnzmozgats vgn aznap a valutakszletek kielgtsk a fent lert minimum elorsokat gy,
hogy maximalizlja a pnzkszlet rtkt dollrban.
Egy font dollrrtkt pldul gy lehet kiszmtani, hogy
tlagoljuk a kt konvertlsi hnyadost. gy egy font krlbell
1.697 + (1/.58928)
= 1.696993 dollrt r.
2
rjuk fel a megfelelo LP-t!

Irodalom
A kvetkezo hat knyv mindegyike rdekesebbnl rdekesebb LP problmk trhza:
Bradley, S., A. Hax, and T. Magnanti. Applied Mathematical Programming. Reading,
Mass.: Addison-Wesley, 1977.
Lawrence, K., and S. Zanakis. Production Planning and Scheduling: Mathematical Programming Applications. Atlanta, Ga: Industrial Engineering and Management Press,
1984.
Schrage, L. Linear Integer and Quadratic Programming With LINDO. Palo Alto, Calif.:
Scientific Press, 1986.
Shapiro, J. Optimization Models for Planning and Allocation: Text and Cases in Mathematical Programming. New York: Wiley, 1984.
Wagner, H. Principles of Operations Research, 2d ed. Englewood Cliffs, N.J.: Prentice
Hall, 1975.
Williams, H. Model Building in Mathematical Programming, 2d ed. New York: Wiley,
1985.
Tovbbi olvasmnyok:
Baker, K. Scheduling a Full-Time Work Force to Meet Cyclic Staffing Requirements,
Management Science 20(1974):15611568.

Irodalom

129

Balintfy, J. A Mathematical Programming System for Food Management Applications,


Interfaces 6(no. 1, pt 2, 1976):1331.
Carino, H., and C. Lenoir. Optimizing Wood Procurement in Cabinet Manufacturing,
Interfaces 18(no. 2, 1988):1119.
Chandy, K. Pricing in the Government Bond Market, Interfaces 16(1986):6571.
Charnes, A., and W. Cooper. Generalization of the Warehousing Model, Operational
Research Quarterly 6(1955):131172.
Cheung, H., and J. Auger. Linear Programming and Land Use Allocation, Socio-Economic Planning Science 10(1976):4345.
Darnell, W., and C. Loflin. National Airlines Fuel Management and Allocation Model,
Interfaces 7(no. 3, 1977):115.
Dobson, G., and S. Kalish Positioning and Pricing a Product Line, Marketing Science
7(1988):107126.
Forgionne, G. Corporate MS Activities: An Update, Interfaces 13(1983):2023.
Franklin, A., and E. Koenigsberg. Computed School Assignments in a Large District,
Operations Research 21(1973):413426.
Garvin, W., et al. Applications of Linear Programming in the Oil Industry, Management
Science 3(1957):407430.
Glassey, R., and V. Gupta. An LP Analysis of Paper Recycling. In Studies in Linear
Programming, ed. H. Salkin and J. Saha. New York: North-Holland, 1975.
Hartley, R. Decision Making When Joint Products Are Involved, Accounting Review
(1971):746755.
Heady, E., and A. Egbert. Regional Planning of Efficient Agricultural Patterns, Econometrica 32(1964):374386.
Hilal, S., and W. Erickson. Matching Supplies to Save Lives: Linear Programming the
Production of Heart Valves, Interfaces 11(1981):4856.
Jain, S., K. Stott, and E. Vasold. Orderbook Balancing Using a Combination of LP and
Heuristic Techniques, Interfaces 9(no. 1, 1978):5567.
Lanzenauer, C., et al. RRSP Flood: LP to the Rescue, Interfaces 17(no. 4, 1987):2741.
Lilien, G., and P. Kotler. Marketing Decision Models. New York: Harper and Row, 1983.
Magoulas, K., and D. Marinos-Kouris. Gasoline Blending LP, Oil and Gas Journal (July
18, 1988):4448.
Moondra, S. An LP Model for Workforce Scheduling in Banks, Journal of Bank Research
(1976).
Myers S., and C. Pogue. A Programming Approach to Corporate Financial Management,
Journal of Finance 29(1974):579599.
Neave, E., and J. Wiginton. Financial Management: Theory and Strategies. Englewood
Cliffs, N.J.: Prentice Hall, 1981.
Robbins, W., and N. Tuntiwonpiboon. Linear Programming a Useful Tool in Case-Mix
Management, HealthCare Financial Management (1989):114117.
Robichek, A., D. Teichroew, and M. Jones. Optimal Short-Term Financing Decisions,
Management Science 12(1965):136.
Rohn, E. A New LP Approach to Bond Portfolio Management, Journal of Financial and
Quantitative Analysis 22(1987):439467.
Rothstein, M. Hospital Manpower Shift Scheduling by Mathematical Programming, Health Services Research (1973).

130

3. fejezet Bevezets a lineris programozsba

Smith, S. Planning Transistor Production by Linear Programming, Operations Research


13(1965):132139.
Stigler, G. The Cost of Subsistence, Journal of Farm Economics 27(1945).
Sullivan, R., and S. Secrest. A Simple Optimization DSS for Production Planning at Dairymans Cooperative Creamery Association, Interfaces 15(no. 5, 1985):4654.
Weingartner, H. Mathematical Programming and the Analysis of Capital Budgeting. Englewood Cliffs, N.J.: Prentice Hall, 1963.

4
A szimplex algoritmus
A 3. fejezetben lttuk, hogyan kell a ktvltozs lineris programozsi feladatokat grafiku szrmaz LP feladatnak sok vltozja van,
san megoldani. Sajnos a legtbb, a vals letbol
s gy szksg van a kt vltoznl tbbet tartalmaz LP feladatokat is megold mdszerre.
Ennek a fejezetnek a nagy rszt a szimplex algoritmus trgyalsnak szenteljk, amellyel
akr igen nagy mretu LP feladatokat is meg tudunk oldani. Sok ipari alkalmazsban tbb
ezer felttelt s vltozt tartalmaz LP feladat megoldsa is kiszmolhat a szimplex algoritmussal. Ebben a fejezetben azt rjuk le, hogyan hasznlhat a szimplex algoritmus LP
feladatok optimlis megoldsainak megtallsra. Rviden kitrnk Karmarkar izgalmas,
jszeru megkzeltsre is.

4.1.

Hogyan alaktsunk t egy LP feladatot standard alakv?


Lttuk, hogy egy LP feladatnak mind egyenlo sg, mind egyenlotlensg felttelei lehetnek.
Lehetnek benne olyan vltozk, amelyek nemnegatvak s olyanok is, amelyek el o jelkorltozatlanok. Mielott a szimplex algoritmust alkalmaznnk egy LP feladat megoldsra,
t kell alaktani olyan formra, melyben minden felttel egyenl o sg, s minden vltoz
nemnegatv. Egy ilyen alak feladatot standard feladatnak neveznk. 1
Ahhoz, hogy egy LP feladatot standard alakv alaktsunk, minden egyenl o tlensg tpus felttelt ki kell cserlnnk egyenlo sg felttellel. Ezt az eljrst a kvetkezo feladaton
szemlltetjk.

1.

PLDA

A Boripari Kft. ktfajta vet kszt: a luxus modellt s az egyszerut. Mindegyikhez 1 ngyzetmter bor szksges. Az egyszeru v elksztshez 1 rnyi, a luxushoz pedig 2 rnyi
szakmunka szksges. Minden hten 40 ngyzetmter b o r s 60 rnyi szakmunkakeret ll
rendelkezsre. Minden kznsges vbo l 3$, minden luxus vbol pedig 4$ profit szrmazik. Az
x1 = a hetente gyrtott luxus vek szma
x2 = a hetente gyrtott kznsges vek szma
vltozkkal felrhat LP feladat:
1 A fejezet els
o rszben vgig felttelezzk, hogy az sszes vltoznak nemnegatvnak kell lennie ( 0). Az
elojelkorltozatlan (ekn) vltozk nemnegatv vltozkk trtn o talaktst a 4.10. alfejezetben trgyaljuk.

132

4. fejezet A szimplex algoritmus

max z = 4x1 + 3x2


f.h.

(LP 1)

x1 + x2 40
2x1 + x2 60

(anyagfelhasznlsi felttel)
(munkafelhasznlsi felttel)

(1)
(2)

x1 , x2 0

Hogyan alakthatjuk t az (1) s (2) feltteleket egyenlo sgekk? Definilunk minden


felttelre egy si kiegszto vltozt: si = az i-edik felttelhez tartoz kiegszto vltoz,
amely az i-edik eroforrs fel nem hasznlt mennyisge. Mivel x1 + x2 ngyzetmternyi
bort hasznlnak fel s 40 ngyzetmter ll rendelkezsre, azrt s 1 -et a kvetkezokppen
definiljuk:
s1 = 40 x1 x2 vagy x1 + x2 + s1 = 40

Hasonlan addik s2 :

s2 = 60 2x1 x2

vagy

2x1 + x2 + s2 = 60

Vegyk szre, hogy egy (x1 , x2 ) pont akkor s csak akkor elgti ki az i-edik felttelt, ha
si 0. Pldul, x1 = 15, x2 = 20 kielgti (1)-et, mert s1 = 40 15 20 = 5 0.
Egyszeru okoskodssal: (1)-et kielgti a (15, 20) pont, mert s 1 = 5 ngyzetmter bor
felhasznlatlan marad. Hasonlan, (15, 20) kielgti a (2) felttelt, mert s 2 = 60 2(15)
20 = 10 munkara marad felhasznlatlan. Vgl figyeljk meg, hogy az x 1 = x2 = 25 pont
nem elgti ki a (2) felttelt, mert s2 = 60 2(25) 25 = 15 azt mutatja, hogy a (25, 25)
termels-vektor tbb munkt hasznl fel, mint amire kapacits van.
sszegezve: az (1) felttel egyenlo sgg alaktsa cljbl helyettestsk (1)-et az s1 =
40 x1 x2 (vagy x1 + x2 + s1 = 40) s s1 0 felttelekkel. A (2) felttel egyenlo sgg
alaktsakor pedig kicserljk (2)-t az s2 = 602x1 x2 (vagy 2x1 +x2 +s2 = 60) s s2 0
felttelekkel. Ezek a vltozsok az (LP 1) feladatot a kvetkezo alakra hozzk:
max z = 4x1 + 3x2
f.h.

x 1 + x2 + s1
= 40
2x1 + x2
+ s2 = 60

(LP 10 )

x 1 , x 2 , s1 , s2 0
Az LP 10 teht standard alak. sszefoglalva, ha egy LP feladat i-edik felttele egy
felttel, akkor a felttel bal oldalhoz egy si kiegszto vltozt hozzadva alaktjuk egyenlosgg, egyttal hozzvve a modellhez az si 0 elojelkorltozst. Egy felttel egyenlo sgi felttell alaktsnak szemlltetsre tekintsk a 3.4. alfejezetben ismertetett trendi
feladatot.
min z = 50x1 + 20x2 + 30x3 + 80x4
f.h.

400x1 + 200x2 + 150x3 + 500x4 500


3x1 + 2x2
6
2x1 +
2x1 +

2x2 +
4x2 +

4x3 +
x3 +

4x4 10
5x4 8

x1 , x2 , x3 , x4 0

(kalria felttel)
(csokold felttel)

(3)
(4)

(cukor felttel)
(zsiradk felttel)

(5)
(6)

4.1. Hogyan alaktsunk t egy LP feladatot standard alakv?

133

Az i-edik felttel egyenlosgg talaktshoz bevezetnk egy ei kiegyenlto vltozt


(nha tbblet-vltoznak is nevezik). ei mindig az i-edik felttel kiegyenlto vltozja lesz.
Az ei -t azon mennyisgknt definiljuk, amennyivel az i-edik felttel tlteljestett. gy,
az trendi feladat esetben
e1 = 400x1 + 200x2 + 150x3 + 500x4 500, vagy
400x1 + 200x2 + 150x3 + 500x4 e1 = 500

(30 )

e4 = 2x1 + 4x2 + x3 + 5x4 8,

(60 )

e2 = 3x1 + 2x2 6, vagy 3x1 + 2x2 e2 = 6


e3 = 2x1 + 2x2 + 4x3 + 4x4 10, vagy 2x1 + 2x2 + 4x3 + 4x4 e3 = 10
vagy 2x1 + 4x2 + x3 + 5x4 e4 = 8

(40 )
(50 )

Egy (x1 , x2 , x3 , x4 ) pont akkor s csak akkor elgti ki az i-edik felttelt, ha ei nemnegatv.
Pldul (40 ) alapjn az addik, hogy e2 0 akkor s csak akkor teljesl, ha 3x1 + 2x2 6.
Szmpldaknt vegyk az x1 = 2, x3 = 4, x2 = x4 = 0, pontot, amely kielgti az trendi
problma mind a ngy felttelt. Ezt a kvetkezo szmols mutatja:
e1 = 400(2) + 150(4) 500 = 900 0
e2 = 3(2) 6 = 0 0
e3 = 2(2) + 4(4) 10 = 10 0
e4 = 2(2) + 4 8 = 0 0

Msik pldaknt vegyk a kvetkezo rtkeket: x1 = x2 = 1, x3 = x4 = 0. Ez a pont nem


megengedett; megsrti a csokold-, a cukor- s a zsiradk-korltokat kifejez o feltteleket.
A nem megengedettsg a kvetkezo kppen lthat:
e2 = 3(1) + 2(1) 6 = 1 < 0
e3 = 2(1) + 2(1) 10 = 6 < 0

e4 = 2(1) + 4(1) 8 = 2 < 0

Ahhoz teht, hogy az trendi problmt standard alakra hozzuk, helyettestsk (3)-at
(30 )-vel; (4)-et (40 )-vel; (5)-t (50 )-vel; s (6)-ot (60 )-vel. Emellett a felttelekhez hozz
kell vennnk mg az ei 0 (i = 1, 2, 3, 4) elojelkorltokat. Az eredmnyl kapott LP feladat
standard alak s a kvetkezokppen rhat fel:
min z = 50x1 + 20x2 + 30x3 + 80x4
f.h.
400x1 + 200x2 + 150x3 + 500x4 e1
3x1 +
2x1 +

2x2
2x2 +

4x3 +

4x4

2x1 +

4x2 +

x3 +

5x4

= 500
e2

xi , ei 0 (i = 1, 2, 3, 4)

e3

=6
= 10
e4 = 8

sszefoglalva, ha egy LP problma i-edik felttele egy felttel, akkor ez a felttel gy


alakthat t egyenlosg alak felttell, hogy az i-edik korltoz felttelbol kivonunk egy
ei kiegyenlto vltozt s hozzvesszk a modellhez az ei 0 elojelkorltozsokat.
Ha egy LP problmban s felttelek egyarnt elo fordulnak, akkor a most lert
mdszert alkalmazzuk az egyes felttelekre. Pldaknt a 3.7. alfejezet rvid tv pnzgyi
tervezsi modelljt hozzuk standard alakra! Idzzk fel az eredeti LP feladatot:

134

4. fejezet A szimplex algoritmus

max z = 20x1 + 15x2


f.h.

x1

100
x2 100

50x1 + 35x2 6000


20x1 + 15x2 2000
x1 , x2 0

Az elobb lert mdszert kvetve ezt az LP feladatot standard alakv transzformljuk az


s1 , s2 s s3 kiegszto vltozkat az elso 3 felttelhez hozzadva, s egy e4 kiegszto vltozt a negyedik felttelbol kivonva. Ezutn bevezetjk az s1 0, s2 0, s3 0 s e4 0
feltteleket. Ez a kvetkezo standard alaku LP feladatra vezet:
max z = 20x1
f.h.

+ 15x2

x1

+ s1
x2

50x1 + 35x2
20x1 + 15x2

= 100
= 100

+ s2
+ s3

= 6000
e4 = 2000

xi 0 (i = 1, 2); si 0 (i = 1, 2, 3); e4 0

Termszetesen jellhettk volna a negyedik felttelhez tartoz kiegyenlt o vltozt e1 -gyel


is (mivel ez az elso kiegyenlto vltoz). Mgis inkbb az e4 jellst hasznjuk, mint az
e1 -et, arra utalva hogy e4 a negyedik felttelhez tartoz kiegyenlto vltoz.

Feladatok
A csoport

3.

1. Hozzuk a Giapetto problmt (az 1. plda a 3. fejezetben) standard alakra!

Hozzuk a kvetkezo LP problmt standard alakra:


min z = 3x1
f.h.

x1

x1 + x 2 4

2x1 x2 = 3

2. Hozzuk a Dorian problmt (a 2. plda a 3. fejezetben)


standard alakra!

4.2.

+ x2

x1 , x2 0

A szimplex algoritmus elozetes


ttekintse
Tegyk fel, hogy egy m felttelt tartalmaz LP feladatot talaktottunk standard alakra. Feltve, hogy a standard alak n vltozt tartalmaz (amelyeket a legknyelmesebb lehet o sget
vlasztva x1 , x2 , . . . , xn -nel jellnk), a standard alak erre az LP feladatra nzve a kvetkez o :
max z = c1 x1 + c2 x2 + + cn xn

(vagy min)
f.h.
a11 x1 + a12 x2 + + a1n xn = b1
a21 x1 + a22 x2 + + a2n xn = b2
..
..
..
.
.
.
am1 x1 + am2 x2 + + amn xn = bm
xi 0 (i = 1, 2, . . . , n)

(7)


4.2. A szimplex algoritmus elozetes
ttekintse

135

Legyen:
a11

a12

...

a21
A=
..
.
am1

a22
..
.
am2

a2n
..
.
. . . amn


x1
x 2

x = . ,
..
xn

a1n

...

b1
b2

b = . .
..

bm

Ekkor a (7) feladat felttelei az Ax = b egyenletrendszerknt rhatk fel. Miel o tt tovbblpnnk a szimplex mdszer trgyalsban, definilnunk kell a lineris egyenletrendszer
bzismegoldsnak fogalmt.

Bzisvltozk s bzison kvli (nembzis) vltozk

D EFINCI

Vegynk egy m szm egyenletbo l ll n vltozs Ax = b lineris egyenletrendszert (tegyk


fel, hogy n m).
Az Ax = b egyenletrendszer egy bzismegoldsa gy kaphat meg, hogy nm vltozt nullnak vesznk s megoldjuk az egyenletrendszert a fennmarad m vltozra.
Ez azt felttelezi, hogy n m vltozt 0-nak vve egyrtelmu megoldst kapunk a
fennmarad m vltozra, illetve, ami ugyanezt jelenti, a fennmarad m vltoz oszlopai linerisan fggetlenek.
Ahhoz, hogy az Ax = b egyenletrendszer egy bzismegoldst megtalljuk, kivlasztunk
egy n m vltozbl ll rendszert (ezek a nembzis vltozk, vagy NBV ) s ezeket mind
0-nak vesszk. Ezutn meghatrozzuk a maradk n(nm) = m vltoz (a bzisvltozk,
vagy BV ) olyan rtkeit, amelyek kielgtik az Ax = b rendszert.
Termszetesen a bzison kvli vltozk klnbzo megvlasztsa klnbzo bzismegoldsokhoz vezet. Ezt szemlltetendo , keressk meg a kvetkezo hrom vltozs, kt
egyenletbol ll egyenletrendszer sszes bzismegoldst:
x1 + x 2
=3
x2 + x3 = 1

(8)

Azzal kezdjk, hogy kivlasztunk egy 3 2 = 1 (3 vltoz, 2 egyenlet) nembzis vltozbl ll halmazt. Pldul, ha NBV = {x3 }, akkor BV = {x1 , x2 }. A bzisvltozk rtkeit
megkapjuk az x3 = 0 helyettests utn megoldva a kvetkezo egyenletrendszert:
x1 + x 2 = 3
x2 = 1
Azt kapjuk, hogy x1 = 2, x2 = 1. gy x1 = 2, x2 = 1, x3 = 0 egy bzismegoldsa (8)-nak. Ha
viszont NBV = {x1 } s gy BV = {x2 , x3 } a vlasztsunk, akkor az x1 = 0, x2 = 3, x3 = 2
bzismegoldst kapjuk. Ha NBV = {x2 }-t vlasztjuk, akkor az x1 = 3, x2 = 0, x3 = 1
bzismegoldst kapjuk. Az olvas elleno rizheti ezeket az eredmnyeket.

136

4. fejezet A szimplex algoritmus

Egyes m vltozbl ll egyenletrendszereknek nincs bzismegoldsuk. Tekintsk pldul a kvetkezo lineris egyenletrendszert:
x1 + 2x2 + x3 = 1
2x1 + 4x2 + x3 = 3
Ha a kvetkezo a vlasztsunk: NBV = {x3 } s BV = {x1 , x2 }, akkor az ehhez tartoz
bzismegoldst a kvetkezo egyenletrendszer megoldsval kapjuk:
x1 + 2x2 = 1
2x1 + 4x2 = 3
Mivel ennek az egyenletrendszernek nincs megoldsa, nem ltezik a BV = {x 1 , x2 } vlasztshoz tartoz bzismegolds.

Lehetsges megoldsok
Az Ax = b bzismegoldsainak egy bizonyos rszhalmaza fontos szerepet jtszik a lineris
programozs elmletben.

D EFINCI

A (7) egyenletrendszer brmely olyan bzismegoldsa, amelyben minden vltoz


nemnegatv, egy lehetsges bzismegolds (vagy lbm).
Teht a (8)-ban megadott korltoz felttelekkel rendelkezo LP feladat x1 = 2, x2 = 1,
x3 = 0 s x1 = 0, x2 = 3, x3 = 2 bzismegoldsai lehetsges bzismegoldsok, de az x 1 = 3,
x2 = 0, x3 = 1 bzismegolds mr nem lehetsges (mert x3 < 0).
A kvetkezo kt ttel megmagyarzza, hogy a lehetsges bzismegoldsok fogalma mirt olyan fontos a lineris programozsban (tovbbi rszletek irnt rdekl o doknek ajnljuk
Luenberger [1984] muvt).

1. TTEL

Brmely lineris programozsi feladat lehetsges tartomnya konvex halmaz. Tovbb, ha egy LP feladatnak van optimlis megoldsa, akkor a lehetsges tartomnyban lennie kell egy olyan extremlis pontnak, amelyik optimlis.
Amikor LP feladatok grafikus megoldsval foglalkoztunk a 3.2. alfejezetben, akkor
intuitv mdon belttuk az 1. ttelt. Idzzk fel azt a megllaptst, hogy ha egy ktvltozs
LP feladatnak van optimlis megoldsa, akkor van optimlis extremlis pontja is!

2. TTEL

Brmely LP feladat esetben igaz, hogy az LP lehetsges tartomnyban minden


egyes lehetsges bzismegoldshoz egyetlen extremlis pont tartozik. Ugyanakkor a
lehetsges tartomny minden extremlis pontjhoz pedig legalbb egy lbm (lehetsges bzismegolds) tartozik.
Az extremlis pontok s lehetsges bzismegoldsok kztt a 2. ttelben megfogalmazott kapcsolat szemlltetsre tekintsk a 4.1. alfejezetben ismertetett B o ripari Kft.-vel
kapcsolatos pldt. Emlkezznk vissza, hogy az LP feladat a kvetkez o volt:


4.2. A szimplex algoritmus elozetes
ttekintse

max z = 4x1 + 3x2


f.h.

x1 + x2 40
2x1 + x2 60

137
(LP 1)
(1)
(2)

x1 , x2 0

Az s1 s s2 kiegszto vltozkat az (1), illetve a (2) felttelhez hozzadva az LP 1 feladatot


standard alakban kapjuk meg:
max z = 4x1 + 3x2
f.h.

x 1 + x2 + s1
= 40
2x1 + x2
+ s2 = 60

(LP 10 )

x 1 , x 2 , s1 , s2 0

A Boripari Kft.-vel kapcsolatos feladat lehetsges tartomnyt az 1. bra szemllteti.


Mindkt egyenlotlensg teljesl azokra a pontokra, melyek: (1) az AB(x1 + x2 = 40) egyenesen vagy alatta, s egyben: (2) a CD(2x1 + x2 = 60) egyenesen vagy alatta helyezkednek
el. gy az LP 1 feladat lehetsges tartomnya a bestttett BECF ngyszgtartomny. A lehetsges tartomny extremlis pontjai a kvetkezo k: B = (0, 40),C = (30, 0), E = (20, 20)
s F = (0, 0).
1. B R A
Lehetsges
tartomny a
Boripari Kft.
problmjnl

x2
60

50
40

30

20
10

C
F

10

20

30

A
40

50

60

x1

Az 1. tblzat bemutatja a megfeleltetst az LP 10 feladat lehetsges bzismegoldsai


s az LP 1 feladat lehetsges tartomnynak extremlis pontjai kztt. Ez a plda azt vilgtja meg szmunkra, hogy egy LP feladat standard alakjnak lehetsges bzismegoldsai
hogyan feleltethetok meg termszetes mdon az eredeti LP feladat extremlis pontjainak.
Most mr meg tudjuk indokolni az 1. s 2. ttel fontossgt. Az 1. ttel azt mondja ki,
hogy amikor az Ax = b felttelrendszeru LP feladat optimlis megoldst keressk, akkor elg ezt csak a feladat lehetsges megoldstartomnya extremlis pontjai kztt megtennnk. A 2. ttel rtelmben az LP feladat lehetsges megoldstartomnynak extremlis pontjai teljes egszben kiadjk az Ax = b egyenletrendszer lehetsges bzismegoldsait. sszerakva ezeket az lltsokat lthatjuk, hogy egy LP feladat megoldshoz csak
az Ax = b egyenletrendszer legjobb megengedett bzismegoldst (a legnagyobb z rtket
max problma esetben, vagy a legkisebb z rtket min problma esetn) kell megtallnunk.

138
1.

4. fejezet A szimplex algoritmus


TBLZAT

A Boripari
Kft.-hez
kapcsold problma lehetsges
bzismegoldsai
s cscspontjai kztti megfeleltets

BzisNembzis
vltozk vltozk
x1 , x2
x 1 , s1
x 1 , s2
x 2 , s1
x 2 , s2
s1 , s2

s1 , s2
x 2 , s2
x 2 , s1
x 1 , s2
x 1 , s1
x1 , x2

Lehetsges
bzismegolds
s1 = s2 = 0, x1 = x2 = 20
x2 = s2 = 0, x1 = 30, s1 = 10
x2 = s1 = 0, x1 = 40, s2 = 20
x1 = s2 = 0, s1 = 20, x2 = 60
x1 = s1 = 0, x2 = 40, s2 = 20
x1 = x2 = 0, s1 = 40, s2 = 60

A megfelelo
cscspont
E
C
nem lbm, mert s2 < 0
nem lbm, mert s1 < 0
B
F

Szomszdos lehetsges bzismegoldsok


Mielott ltalnossgban lerjuk a szimplex algoritmust, definilnunk kell a szomszdos lehetsges bzismegoldsok fogalmt.

D EFINCI

Tetszoleges m felttellel rendelkezo LP feladat esetben kt lehetsges bzismegoldst szomszdosnak neveznk, ha bzisvltozik halmazban m 1 vltoz kzs.
Az 1. brn pldul kt lehetsges bzismegolds szomszdos lesz, ha 2 1 = 1 bzisvltozjuk kzs. gy, az 1. brn az E pontnak megfelel o lbm (lehetsges bzismegolds)
szomszdos a C pontnak megfelelo lbm-mel. Az E pont azonban nem szomszdos az F
lbm-mel. Szemlletesen kifejezve: kt bzismegolds akkor szomszdos, ha mindketten a
lehetsges tartomny hatrnak ugyanazon az ln fekszenek.
Most megadjuk az LP feladatok szimplex megold algoritmusnak ltalnos lerst
maximum problma esetre.
1. lps Keressnk egy lbm-et az LP feladathoz! Ezt az lbm-et indul lehetsges bzismegoldsnak nevezzk. ltalnossgban, a legutoljra kiszmtott lbm-et aktulis lbm-nek
nevezzk, s gy a feladat megoldsnak kezdetn az indul lbm az aktulis lbm.
2. lps Dntsk el, hogy az aktulis lbm optimlis megoldsa-e az LP feladatnak! Ha
nem, keressnk egy olyan szomszdos lbm-et, mely esetben nagyobb a hozztartoz z
rtk.
3. lps Trjnk vissza a 2. lpshez az j lbm-et aktulis lbm-nek hasznlva fel.
Ha egy standard alak LP feladatnak m felttele s n vltozja van, akkor a nembzis
vltozk minden klnbzo megvlasztshoz tartozhat egy bzismegolds. n vltozbl
n m nembzis vltoz (vagy ezzel egyenrtkuen m bzisvltoz)
 
n
n!
=
(n m)!m!
m
klnbzo mdon vlaszthat ki. gy, egy LP feladatnak legfeljebb
 
n
m
bzismegoldsa lehet. Mivel egyes bzismegoldsok esetleg nem lehetsges megoldsok,
egy LP feladatnak legfeljebb
 
n
m


4.2. A szimplex algoritmus elozetes
ttekintse

139

lehetsges bzismegoldsa lehet. Ha az aktulis lbm-bo l mindig egy jobb lbm-re lpnnk t
(anlkl, hogy valaha is visszatrnnk egy korbbi lbm-hez), akkor biztosan megtallnnk
az optimlis lbm-et legfeljebb
 
n
m
lehetsges bzismegolds megvizsglsa utn. Ez azt jelenti (feltve, hogy egyetlen lbm
sem ismtlodik), hogy a szimplex algoritmus vges szm lpsben meg fogja tallni az
optimlis megoldst. A 4.7. alfejezetben vissza fogunk trni mg ehhez a gondolatmenethez.
Elvben leszmllhatnnk egy LP feladat sszes lehetsges bzismegoldst, megtallva
a legnagyobb z rtket ad lbm-et. Ezzel a megkzeltssel az a gond, hogy mg kis LP
feladatoknak is igen nagy szm lehetsges bzismegoldsa van. Egy 20 vltozval s 10
felttellel rendelkezo standard alak LP-nek pldul (ha minden bzismegolds lehetsges
megolds) akr
 
20
= 184 756
10
lehetsges bzismegoldsa is lehet. Szerencsre a szimplex algoritmussal szerzett risi
mennyisgu tapasztalat igazolja, hogy amikor ezt az algoritmust egy n vltozval s m felttellel rendelkezo, standard alak LP feladatra alkalmazzuk, ltalban mr kevesebb, mint
3m lehetsges bzismegolds megvizsglsa utn tallunk egy optimlis megoldst. gy
egy 20-feltteles, 10-vltozs standard alak LP feladat esetn a szimplex algoritmus ltalban kevesebb mint 3(10) = 30 lehetsges bzismegolds megvizsglsa utn meg fogja
tallni az optimlis megoldst. sszehasonltva ezt 184 756 bzismegolds megvizsglsnak alternatvjval, a szimplex mdszer egszen hatkony! 2

Hromdimenzis LP feladatok geometrija


Tekintsk a kvetkezo LP feladatot:
max z = x1 + 2x2 + 2x3
f.h.

2x1 + x2

8
x3 10

x1 , x2 , x3 0

Egy hrom- (vagy tbb-) dimenzis lineris egyenlo tlensget kielgto pontok flteret alkotnak. Pldul a 2x1 + x2 8 egyenlotlensget a hromdimenzis trben kielgto
pontok egy flteret alkotnak. gy, az elo bb megadott LP feladatunk lehetsges tartomnya
a kvetkezo t fltr metszete: 2x1 + x2 8, x3 10, x1 0, x2 0, s x3 0. Flterek
metszett polidernek nevezzk. LP feladatunk lehetsges tartomnya a 2. brn lthat
hasb.
A lehetsges tartomny minden oldallapjhoz tartozik egy korltoz felttel (vagy el o jelkorltozs), amely e lap sszes pontjban aktv. Pldul a 2x 1 + x2 8 felttel aktv az
ABCD lapon; x3 0 aktv az ABF lapon; x3 10 aktv a DEC lapon; x2 0 aktv az ADEF
lapon; x1 0 pedig aktv a CBFE lapon.
Nyilvnvalan a cscs- (vagy extremlis) pontok az LP feladat lehetsges tartomnyban az A, B,C, D, E s F lesznek. Ennl az esetnl az lbm-ek s cscspontok kztti megfeleltetst a 2. tblzat mutatja.
2 Nagyon sok 50 vltozt s m 50 felttelt tartalmaz LP feladatot megoldva Chvtal (1983) azt tallta, hogy
a szimplex algoritmus tlagosan 2m lehetsges bzismegoldst vizsglt meg, miel o tt megtallta az LP feladat
optimlis megoldst.

140

4. fejezet A szimplex algoritmus

2. B R A
Lehetsges
tartomny hrom
dimenziban

2.

TBLZAT

A lehetsges
bzismegoldsok
(lbm-ek) s
cscspontok
kztti
megfeleltets

Bzisvltozk
x1 , x3
s1 , s2
s1 , x 3
x2 , x3
x 2 , s2
x 1 , s2

Megfelelo
cscspont

Lehetsges bzismegolds
x1 = 4, x3 = 10, x2 = s1 = s2 = 0
s1 = 8, s2 = 10, x1 = x2 = x3 = 0
s1 = 8, x3 = 10, x1 = x2 = s2 = 0
x2 = 8, x3 = 10, x1 = s1 = s2 = 0
x2 = 8, s2 = 10, x1 = x3 = s1 = 0
x1 = 4, s2 = 10, x2 = x3 = s1 = 0

D
F
E
C
B
A

A szomszdos lehetsges bzismegoldsok fogalmnak szemlltetsre figyeljk meg,


hogy az A, E s B cscspontok azok, amelyek az F cscsponttal szomszdosak. gy, ha a
szimplex algoritmus F-bol indul, akkor biztosak lehetnk abban, hogy a kvetkez o lbm az
A, E vagy B lesz.

Feladatok
A csoport
1. A Giapetto problmban (a 3. fejezet 1. pldja) vizsgljuk meg, hogy a standard alak LP feladat lehetsges
megoldsai hogyan felelnek meg a lehetsges tartomny
extremlis pontjainak!
2. A Dorian problmban (a 3. fejezet 2. pldja) vizsgljuk meg, hogy a standard alak LP feladat lehetsges megoldsai hogyan felelnek meg a lehetsges tartomny extremlis pontjainak!
3. A Widgetco cg kt termket llt elo: az 1. s 2. termket. Az ezekhez szksges nyersanyag s munka mennyisge, valamint eladsi ruk a 3. tblzatban lthat.
3.

TBLZAT

Nyersanyag
Munka
Eladsi r

1. termk

2. termk

1 egysg
2 ra
7$

2 egysg
1 ra
8$

350 egysgnyi mennyisgig a nyersanyag egysgenknti


2.00$-os ron szerezheto be, mg 400 rig a munkaero
1.50$/ra ron biztosthat. A profit maximalizlsra a
Widgetcnak a kvetkezo LP feladatot kell megoldania:
max z = 2x1 + 2.5x2
f.h.

x1 + 2x2 350

2x1 +

x2 400

(nyersanyag)
(munka)

x1 , x2 0

Itt xi = az i-edik termkbol termelt mennyisg. Szemlltessk a cscspontok s a lehetsges bzismegoldsok kztti
megfeleltetst!

4.3. A szimplex algoritmus

4.3.

141

A szimplex algoritmus
Ebben az alfejezetben bemutatjuk, hogyan lehet a szimplex algoritmust olyan LP feladatok
megoldsra felhasznlni, amelyekben a clfggvny maximalizlsa a feladat. A minimalizlsi feladatok megoldst a 4.4. alfejezet trgyalja.
A szimplex algoritmus a kvetkezo kppen mukdik:
1. lps Hozzuk az LP feladatot standard alakra (lsd a 4.1. alfejezetet)!
2. lps lltsunk elo egy lbm-et (lehetsges bzismegoldst) ha tudunk a standard
alakbl!
3. lps Dntsk el, hogy az aktulis lbm optimlis-e!
4. lps Ha az aktulis lbm nem optimlis, hatrozzuk meg, melyik nembzis vltoznak
kell bekerlnie a bzisba, s melyik bzisvltoznak kikerlnie onnan, hogy egy j, jobb
clfggvnyrtkkel rendelkezo lbm-et kapjunk!
5. lps Hasznljunk a felttelrendszert ekvivalensen vltoztat elemi sormuveleteket
(esm) egy jobb clfggvnyrtkkel rendelkezo lbm elolltsra! Trjnk vissza a 3. lpshez!
A szimplex algoritmus vgrehajtsakor a
z = c 1 x1 + c 2 x2 + + c n xn
clfggvnyt rjuk t a kvetkezo formra:
z c 1 x1 c 2 x2 c n xn = 0
A clfggvnynek ezt az alakjt a 0-ra rendezett vltozatnak nevezzk (rviden clfggvnysornak vagy a 0. sornak).

2.

PLDA

4. T B L Z A T
Eroforrs-szksgletek a Dakota
Btorksztonl

A Dakota Btorkszto Cg rasztalokat, asztalokat s szkeket gyrt. Mindegyik btortpus gyrtshoz faanyag s ktfle szakmunka szksges: durva asztalosmunka s felletkezels. Az egyes btortpusok elo lltshoz a klnbzo eroforrsokbl szksges
mennyisget a 4. tblzat adja meg.
Eroforrs

rasztal

Asztal

Szk

Faanyag
Felletkezels
Asztalosmunka

8 egysg
4 ra
2 ra

6 egysg
2 ra
1.5 ra

1 egysg
1.5 ra
0.5 ra

Jelenleg 48 egysg faanyag, 20 rnyi felletkezels s 8 rnyi asztalosmunka kapacits ll rendelkezsre. Egy rasztal 60, egy asztal 30, egy szk pedig 20$-rt adhat el.
A Dakota cg azt gondolja, hogy rasztalokra s szkekre korltlan kereslet van, de legfeljebb 5 asztal adhat el. Mivel az ero forrsokat mr megvsroltk, a Dakota cg az
sszjvedelmt kvnja maximalizlni. A dntsi vltozkat a kvetkez o kpp definilva:
x1 = a gyrtott rasztalok szma
x2 = a gyrtott asztalok szma
x3 = a gyrtott szkek szma

142

4. fejezet A szimplex algoritmus

5. T B L Z A T
0. kanonikus alak

Bzisvltoz
0. sor
1. sor
2. sor
3. sor
4. sor

z 60x1 30x2 20x3


= 0
8x1 + 6x2 + x3 + s1
= 48
4x1 + 2x2 + 1.5x3
+ s2
= 20
2x1 + 1.5x2 + 0.5x3
+ s3
= 8
x2
+ s4 = 5

z= 0
s1 = 48
s2 = 20
s3 = 8
s4 = 5

knnyen lthat, hogy a Dakota cgnek a kvetkezo LP feladatot kell megoldania:


max z = 60x1 + 30x2 + 20x3
f.h.

8x1 + 6x2 + x3 48
4x1 + 2x2 + 1.5x3 20

(faanyag felttel)
(felletkezelsi felttel)

2x1 + 1.5x2 + 0.5x3 8


x2
5

(asztalosmunka felttel)
(az asztal keresleti korltja)

x1 , x2 , x3 0

Az LP feladat talaktsa standard formra


A szimplex algoritmust az LP feladat feltteleinek a 4.1. alfejezetben trgyaltaknak megfeleloen standard formra trtno talaktsval kezdjk. Ezutn az LP clfggvnyt a
0. sor alakra hozzuk. A felttelek standard alakra hozshoz egyszeruen rendre mindegyikhez hozzadjuk az s1 , s2 , s3 s s4 kiegszto vltozkat. Megszmozzuk a sorokat, s
a felttelrendszerhez mg hozztesszk az si 0 (i = 1, 2, 3, 4) elojelkorltoz feltteleket.
Figyeljk meg, hogy a 0. sor alak clfggvnynkre most a kvetkez o :
z 60x1 30x2 20x3 = 0
sszerakva az 14. sorokat, a 0. sort s az elo jelkorltokat, az 5. tblzatban tallhat
egyenleteket s bzisvltozkat kapjuk. Lineris egyenletek egy olyan rendszert (mint a
0. kanonikus alak, amit az 5. tblzat mutat), amelynl minden egyenletben van egy 1
egytthatj vltoz (melynek az sszes tbbi egyenletben 0 az egytthatja) kanonikus
formnak nevezzk. Hamarosan ltni fogjuk, hogy ha egy kanonikus alak rendszerben
minden felttel jobb oldala nemnegatv, akkor rnzsre meg tudunk adni egy lehetsges
bzismegoldst.3
A 4.2. alfejezetbol tudjuk, hogy a szimplex mdszer egy indul bzismegoldssal kezd,
s megprbl ebbol egyre jobbakat elolltani. Ezrt a kanonikus alak elo lltsa utn egy
indul lbm-et (lehetsges bzismegoldst) keresnk. Azonnal lthat, hogy x 1 = x2 = x3 =
0 vlasztssal az egyenletrendszert megoldhatjuk az s1 , s2 , s3 s s4 vltozkra gy, hogy si -t
egyenlonek vesszk az i-edik sor jobb oldalval:
BV = {s1 , s2 , s3 , s4 }

NBV = {x1 , x2 , x3 }

3 Ha nem ll rendelkezsre egy nemnegatv jobb oldallal rendelkez o


kanonikus alak, akkor a 4.8.-ban s
4.9.-ben lert mdszer hasznlhat a kanonikus alak s egy lehetsges bzismegolds el o lltsra.

4.3. A szimplex algoritmus

143

A lehetsges bzismegolds erre a bzisvltoz halmazra nzve a kvetkez o : z = 0, s1 =


48, s2 = 20, s3 = 8, s4 = 5, x1 = x2 = x3 = 0. Itt fontos szrevenni azt, hogy minden bzisvltoz hozzrendelheto a kanonikus alak azon sorhoz, amelyben ennek a bzisvltoznak
1 az egytthatja. gy a 0. kanonikus alaknl s1 tekintheto az 1. sorhoz tartoz bzisvltoznak, csakgy, mint s2 a 2., s3 a 3. s s4 a 4. sorhoz tartoznak.
A szimplex algoritmus vgrehajtshoz szksgnk van egy a 0. sorhoz tartoz (nem
szksgszeruen nemmnegatv) bzisvltozra is. Mivel z az 1 egytthatval szerepel a 0.
sorban s nem szerepel egyetlen ms sorban sem, ezrt z-t e sor bzisvltozjaknt hasznljuk. Ezzel a megllapodssal az indul kanonikus alak bzismegoldsban:
BV = {z, s1 , s2 , s3 , s4 } s NBV = {x1 , x2 , x3 }
Erre a lehetsges bzismegoldsra z = 0, s1 = 48, s2 = 20, s3 = 8, s4 = 5, x1 = x2 = x3 = 0.
Ahogy ez a plda is mutatja, egy kiegszto vltoz akkor hasznlhat bzisvltozknt
egy egyenlosgben, ha a jobb oldala nemnegatv.

Optimlis-e az aktulis lehetsges bzismegolds?


Amikor megkaptunk egy lehetsges bzismegoldst, meg kell hatroznunk, hogy optimlis-e? Ha egy lbm nem optimlis, akkor megprblunk tallni egy, a kiindul lbm-mel
szomszdos, nagyobb z rtkkel rendelkezo lbm-et. Ennek elrsre megprbljuk eldnteni, hogy van-e md arra, hogy a z-t nveljk valamelyik bzison kvli vltoz rtknek
az aktulis 0 szintrol val nvelsvel, mikzben az sszes tbbi bzison kvli vltozt
jelenlegi 0 szintjn tartjuk. Ha z-t a 0. sorbl trendezssel kifejezzk, akkor
z = 60x1 + 30x2 + 20x3

(9)

Minden bzison kvli vltoz esetn hasznlhatjuk (9)-et annak eldntsre, hogy ennek
nvelse (kzben a tbbi nembzis vltozt zr szinten tartva) nveli-e z-t? Pldul tegyk fel, hogy x1 -et 1 rtkkel nveljk (kzben a tbbi nembzis vltozt, x 2 -t s x3 -at
zr szinten tartva). Ekkor (9)-bol az addik, hogy z 60 egysggel no . Hasonlan, ha gy
dntnk, hogy x2 -t nveljk 1-gyel (x1 s x3 -at 0-nak rgztve), akkor (9) azt adja, hogy
z 30 egysggel no. Vgl, ha x3 -at nveljk 1-gyel (x1 -et s x2 -t 0-nak rgztve), akkor
(9)-bol addik, hogy z 20 egysggel fog nvekedni. gy azt ltjuk, hogy a nembzis vltozk brmelyiknek nvelse nvelni fogja z-t. Mivel egysgnyi nvels x 1 esetn idzi
elo a legnagyobb arny nvekedst a z-ben, ezrt azt vlasztjuk, hogy x 1 -et nveljk meg
jelenlegi 0 rtkrol. Ha x1 az eddigi 0 rtkrol pozitv irnyban elmozdul, akkor bzisvltozv vlik. Ezrt x1 -et a (bzisba) belpo vltoznak nevezzk. Figyeljk meg, hogy
x1 -nek van a legnagyobb abszolt rtku negatv egytthatja a 0. sorban.

A belpo vltoz meghatrozsa


A belpo vltoznak (egy maximum feladatban) azt a nembzis vltozt vlasztjuk, melynek egytthatja a 0. sorban levo negatv szmok kzl a legnagyobb abszolt rtku (ha
tbb ilyen lenne, akkor tetszolegesen vlasztunk kzlk). Mivel x1 minden egy egysgnyi
nvelse 60-nal nveli z-t, x1 -et olyan nagyra szeretnnk nvelni, amilyenre csak lehet. Mi
korltoz abban, hogy milyen nagyra nvelhetjk x1 -et? Gondoljunk arra, hogy ahogy x1
nvekszik, az aktulis bzisvltozk, (s1 , s2 , s3 s s4 ) rtke is vltozni fog. Ez azt jelenti,
hogy x1 nvelse miatt egy bzisvltoz negatvv vlhat. Ezt szem el o tt tartva megvizsgljuk, hogy x1 nvelse (kzben megtartva az x2 = x3 = 0 rtkeket) hogyan vltoztatja

144

4. fejezet A szimplex algoritmus

meg az aktulis bzisvltozk rtkt. Az elso sorbl ltjuk, hogy s1 = 48 8x1 (emlkezznk arra, hogy x2 = x3 = 0). Mivel az s1 0 elojelkorltozsnak teljeslnie kell, csak
addig nvelhetjk x1 -et, amg s1 0, teht 48 8x1 0, azaz x1 48
8 = 6. A 2. sorbl:
s2 = 20 4x1. Most x1 -et csak addig nvelhetjk, amg s2 0, teht x1 ki kell elgtse a
20 4x1 0 azaz x1 20
otlensget. A 3. sorbl: s3 = 8 2x1 teht x1 82 = 4.
4 = 5 egyenl
A 4. sorbl hasonlkppen kapjuk, hogy s4 = 5. gy, akrmi legyen is az rtke x1 -nek, s4
nemnegatv lesz. sszegezve:
s1 0,
s2 0,
s3 0,
s4 0,

48
=6
8
20
ha
x1
=5
4
8
ha
x1 = 4
2
x1 brmely rtkre

ha

x1

Ez azt jelenti, hogy ahhoz, hogy minden bzisvltozt nemnegatvan tartsunk, x 1 leheto
20 8
legnagyobb rtke min { 48
8 , 4 , 2 } = 4. Ha x1 > 4, akkor s3 negatvv vlik, s megoldsunk mr nem lesz lehetsges bzismegolds. Figyeljk meg, hogy minden olyan sor,
amiben a belpo vltoz egytthatja pozitv volt, adott egy felso korltot erre a vltozra.
Tovbb minden olyan sorban, amiben a belpo vltoz egytthatja pozitv volt, a sor
bzisvltozja negatvv vlt, amikor a belpo vltoz meghaladta a
a sor jobb oldala
a sorba belpo vltoz egytthatja

(10)

rtket. Ha a belpo vltoznak nempozitv az egytthatja egy sorban (mint pl. x 1 -nek a 4.
sorban), akkor a sor bzisvltozja a belpo vltoz minden rtkre pozitv marad. (10)-et
felhasznlva gyorsan meg tudjuk hatrozni, hogy milyen nagyra nvelhet o x1 gy, hogy
egy bzisvltoz mg ne vljon negatvv.
48
=6
8
20
A 2. sor adta korlt: x1 =
=5
4
8
A 3. sor adta korlt: x1 = = 4
2
A 4. sor adta korlt: x1 = nincs korlt

Az 1. sor adta (felso) korlt: x1 =

(mivel x1 egytthatja a
4. sorban nempozitv)

Most mr megfogalmazhatjuk a szablyt arra, hogy mekkora lehet a belp o vltoz legnagyobb rtke.
Hnyados teszt
Amikor egy vltoz belp a bzisba, szmtsuk ki a (10)-beli hnyadost minden olyan felttelre, amelyben a belpo vltoz pozitv egytthatval szerepel. A legkisebb hnyadost
ad felttelt a hnyados teszt gyoztese (vagy ms szval a szuk keresztmetszet) nvvel
illetjk. Ez a legkisebb hnyados a belpo vltoz olyan lehetsges legnagyobb rtke, ami
az sszes aktulis bzisvltozt nemnegatvan tartja. Pldnkban a 3. sor volt a hnyados
teszt gyoztese az x1 bzisba trtno belpsekor.

4.3. A szimplex algoritmus

145

Egy j lehetsges bzismegolds keresse: bziscsere a belpo


vltoz rvn
Visszatrve a pldnkhoz, tudjuk, hogy x1 lehetsges legnagyobb rtke 4. Ahhoz, hogy x1
4 legyen, bzisvltozv kell vlnia. Megvizsglva az 14. sorokat azt ltjuk, hogy ha x 1
bzisvltoz az 1. sorban, akkor x1 rtke 48
8 = 6 lesz; hasonlan a 2. sorban bzisvltoz20
8
knt x1 rtke 4 = 5; a 3. sorban pedig 2 = 4. Tovbb, mivel x1 nem szerepel a 4. sorban,
x1 ott nem vlhat bzisvltozv. gy, ha x1 = 4-et szeretnnk elrni, akkor bzisvltozv
kell tennnk a 3. sorban.
Az a tny, hogy a hnyados teszt gyo ztese a 3. sor volt, pldt mutat a kvetkezo
szably alkalmazsra.
Melyik sorban vlik a belpo vltoz bzisvltozv?
A belpo vltozt mindig abban a sorban tegyk bzisvltozv, amelyik a hnyados teszt
gyoztese (lsd elobb). Hogy x1 -et a 3. sorban bzisvltozv tegyk, elemi sormuveleteket vgznk, x1 egytthatjt 1-gy tve a 3. sorban s 0-v az sszes tbbi sorban. Ezt az
eljrst a 3. sorban trtno bziscsernek nevezzk: a 3. sor a generl elem sora. Vgeredmnyben az x1 bzisvltozknt a 3. sorban az s3 helybe lp. A bziscsere sornak az
a tagja, amelyik a belpo vltozt tartalmazza, a generl elem (az angol nyelvu szakirodalomban pivot-tag, az eljrs maga pedig a pivotls). gy jrva el, mint amikor a 2.
fejezetben a GaussJordan mdszert alkalmaztuk, x1 -et a 3. sor bzisvltozjv tesszk a
kvetkezo elemi sormuveletek (esm-ek) vgrehajtsval.
1. esm Ahhoz, hogy a 3. sorban x1 egytthatja 1 legyen, a 3. sort megszorozzuk 21 -del.
Az eredmnyl kapott sor (egy vesszo vel jelljk ezt, hogy jelezzk, ez az elso iterci) a
kvetkezo:
x1 + 0.75x2 + 0.25x3 + 0.5s3 = 4
(30 . sor)
2. esm Ahhoz, hogy a 0. sorban az x1 egytthatja zr legyen, cserljk ki a 0. sort a
kvetkezovel: 60(30 . sor) + a 0. sor
z + 15x2 5x3 + 30s3 = 240

(00 . sor)

3. esm Ahhoz, hogy az 1. sorban az x1 egytthatja zr legyen, cserljk ki az 1. sort a


kvetkezovel: 8(30 . sor) + az 1. sor
x3 + s1 4s3 = 16

(10 . sor)

4. esm Ahhoz, hogy a 2. sorban az x1 egytthatja zr legyen, cserljk ki az 2. sort a


kvetkezovel: 4(30 . sor) + a 2. sor
x2 + 0.5x3 + s2 2s3 = 4

(20 . sor)

Mivel x1 nem szerepel a 4. sorban, nem szksges vgrehajtanunk elemi sormuveletet x 1 nek a 4. sorbl val kikszblsre. gy, az j 4. sort (nevezzk 4 0 sornak, hogy sszhangban legyen a tbbi jellssel) a kvetkezo kpp rhatjuk:
x2 + s 4 = 5
A 00 40 . sorokat egyms utn rakva a 6. tblzatban levo kanonikus alakot kapjuk.

(40 sor)

146

4. fejezet A szimplex algoritmus

6. T B L Z A T
1. kanonikus alak

Bzisvltoz
00 . sor
10 . sor
20 . sor
30 . sor
40 . sor

+ 15x2 5x3
+ 30s3
= 240

x 3 + s1
4s3
= 16

x2 + 0.5x3
+ s2 2s3
=4
x1 + 0.75x2 + 0.25x3
+ 0.5s3
=4
x2
+ s4 = 5

z = 240
s1 = 16
s2 = 4
x1 = 4
s4 = 5

Az aktulis kanonikus forma minden sorban megkeresve a bzisvltozkat az addik,


hogy
BV = {z, s1 , s2 , x1 , s4 } s NBV = {s3 , x2 , x3 }
gy, az 1. kanonikus alakbl a z = 240, s1 = 16, s2 = 4, x1 = 4, s4 = 5, x2 = x3 = s3 = 0
lehetsges bzismegoldst kapjuk. Megjsolhattuk volna azt, hogy az 1. kanonikus alakban
z rtke 240 lesz, abbl a tnybo l, hogy x1 nvelsnek minden egysge 60 egysggel
nveli z-t. Mivel x1 -et 4 egysggel nveltk (x1 = 0-rl x1 = 4-re), azt vrjuk, hogy
az 1. kanonikus alakbeli z rtk = kezdeti z rtk +4(60)
= 0 + 240 = 240
Amikor az 1. kanonikus alakot a kiindul kanonikus alakbl el o lltottuk, akkor az egyik
lbm (lehetsges bzismegolds)-rl egy msik, jobb (nagyobb z rtket ad) lbm-re trtnk
t. Figyeljk meg, hogy az indul s a javts utni lbm szomszdosak. Ez annak a kvetkezmnye, hogy a kt lehetsges bzismegoldsban 4 1 = 3 kzs bzisvltoz: (s 1 , s2
s s4 ) szerepel (nem szmtva z-t, ami minden kanonikus alakban bzisvltoz). gy azt
ltjuk, hogy egy kanonikus alakrl a kvetkezo re ttrve az egyik lbm-rol egy vele szomszdos, jobb lbm-re trtnk t. Azt az eljrst, amelyben egy lbm-r o l egy vele szomszdos,
nagyobb clrtku lbm-re trnk t a szimplex algoritmus egy itercijnak (vagy egy
bziscsernek, bzistranszformcinak) nevezzk.
Most megprblunk egy olyan lbm-et tallni, melyre az eddiginl mg nagyobb a hozztartoz z rtk. Az 1. kanonikus alakot (6. tblzat) megvizsgljuk abbl a szempontbl,
hogy lssuk, tudjuk-e a z rtkt valamely nembzis vltoz rtknek megvltoztatsval
nvelni (mikzben az sszes tbbi nembzis vltozt zr szinten tartjuk). A 0 0 . sort z-re
trendezzk:
z = 240 15x2 + 5x3 30s3
(11)
A (11)-bol lthatjuk, hogy az x2 nembzis vltozt 1-gyel nvelve (kzben biztostva azt,
hogy x3 = s3 = 0 maradjon) z 15 egysggel cskken. Ezt azonban nem szeretnnk. Az s 3
nembzis vltozt 1-gyel nvelve (kzben x2 = x3 = 0 rtkeit megtartva) z 30-cal cskken.
Ezt sem akarjuk. Msrszt, x3 -at 1-gyel nvelve (kzben rgztve azt, hogy x2 = s3 = 0)
z 5 egysggel no. gy x3 bzisba trtno bevitelt vlasztjuk. Emlkezznk vissza, hogy
a belpo vltoz meghatrozsra szolgl szablyunk szerint azt a vltozt kell vlasztanunk, amelynek az aktulis 0. sorban a legnagyobb abszolt rtku negatv egytthatja
van. Mivel x3 az egyetlen olyan vltoz, amelyhez negatv egytthat tartozik a 0 0 . sorban,
ezt kell bevinni a bzisba.
Mivel x3 1 egysggel trtno megnvelse z-t 5 egysggel nveli, szmunkra elo nys
az x3 rtkt olyan nagyra nvelni, amilyenre csak lehet. x3 -at addig nvelhetjk, amg az
aktulis bzisvltozk, (s1 , s2 , x1 s s4 ) nemnegatvak maradnak. Az x3 legnagyobb rtknek meghatrozshoz ki kell fejeznnk az aktulis bzisvltozk rtkt x 3 -mal (rgztve

4.3. A szimplex algoritmus

147

kzben azt, hogy x2 = s3 = 0). Ekkor a kvetkezoket kapjuk:


Az 10 . sorbl: s1 = 16 + x3
A 20 . sorbl: s2 = 4 0.5x3

A 30 . sorbl: x1 = 4 0.25x3
A 40 . sorbl: s4 = 5

Ezekbol az egyenletekbol az addik, hogy s1 0 s s4 0 x3 minden rtkre fennll. A 20 .


4
= 8. A 30 sorbl: x1 0
sorbl ltjuk, hogy s2 0 igaz lesz, ha 4 0.5x3 0, azaz x3 0.5
4
fennll, ha 40.25x3 0,azaz x3 0.25 = 16. Ez azt mutatja, hogy az x3 -nak adhat leheto
4
4
legnagyobb rtk a kvetkezo : min { 0.5
, 0.25
} = 8. Ezt megllapthattuk volna a (10) s a
hnyados teszt hasznlatval is a kvetkezo mdon:
10 . sor: nincs hnyados
4
=8
20 . sor:
0.5
4
30 . sor:
= 16
0.25
40 . sor: nincs hnyados

(x3 -nak negatv egytthatja van az 1. sorban)

(x3 -nak nempozitv egytthatja van az 4. sorban)

gy a legkisebb egytthat a 20 . sorban tallhat s a 20 . sor a hnyados teszt gyoztese.


Ez azt jelenti, hogy esm-eket (elemi sormuveleteket) kell vgeznnk ahhoz, hogy az x 3
vltozt a 20 . sor bzisvltozjv tegyk.
1. esm x3 egytthatjt a 20 . sorban 1-nek lltjuk be, e sort helyettestve a 2-szeresvel:
2x2 + x3 + 2s2 4s3 = 8

(200 . sor)

2. esm x3 egytthatjt a 00 . sorban 0-v tesszk, kicserlve e sort a kvetkezo vel:


5(200 . sor) + 00. sor
z + 5x2 + 10s2 + 10s3 = 280
(000 . sor)
3. esm x3 egytthatjt az 10 . sorban 0-v tesszk, kicserlve e sort a kvetkezo vel:
200 . sor + 10 . sor
2x2 + s1 + 2s2 8s3 = 24
(100 . sor)

4. esm x3 egytthatjt a 30 . sorban 0-v tesszk, kicserlve e sort a kvetkezo vel:


41 (200 . sor) + 30. sor
x1 + 1.25x2 0.5s2 + 1.5s3 = 2
(300 . sor)
Mivel x3 -nak mr zr az egytthatja a 40 . sorban, ezrt
x2 + s 4 = 5

(400 . sor)

Egybegyujtve a 000 400 . sorokat megkapjuk a 7. tblzatban lthat kanonikus alakot. A 2.


kanonikus alak minden sorban keresve egy bzisvltozt azt talljuk, hogy:
BV = {z, s1 , x3 , x1 , s4 } s NBV = {s2 , s3 , x2 }
A 2. kanonikus alak a kvetkezo lbm-et adja: z = 280, s1 = 24, x3 = 8, x1 = 2, s4 = 5, s2 =
s3 = x2 = 0. Elore tudhattuk volna, hogy a 2. kanonikus alak esetn z = 280 annak alapjn,

148

4. fejezet A szimplex algoritmus

hogy az x3 belpo vltoz minden egysge 5-tel nveli z-t, s mi 8 egysggel nveltk meg
x3 -at, azaz
z rtk a 2. kanonikus alakban = z rtk az 1. kanonikus alakban + 8(5)
= 240 + 40 = 280
Mivel az 1. s 2. kanonikus alakhoz tartoz lbm-eknek (z-n kvl) az (s 1 , s4 , x1 ) a 4 1 = 3
kzs bzisvltozja van, ezek szomszdos lehetsges bzismegoldsok.
7. T B L Z A T
2. kanonikus alak

Bzisvltoz
000 . sor
100 . sor
200 . sor
300 . sor
400 . sor

+ 5x2
+ 10s2 + 10s3
= 280
2x2
+ s1 + 2s2 8s3
= 24
2x2 + x3
+ 2s2 4s3
=8
x1 + 1.25x2
0.5s2 + 1.5s3
=2
x2
+ s4 = 5

z = 280
s1 = 24
x3 = 8
x1 = 2
s4 = 5

Most, miutn befejeztk a szimplex algoritmus 2. itercijt (a 2. bziscsert), megvizsgljuk a 2. kanonikus alakot, hogy tallunk-e hozz az el o zonl jobb lbm-et. Ha trendezzk a 000 . sort s megoldjuk z-re, akkor
z = 280 5x2 10s2 10s3

(12)

(12)-bol ltjuk, hogy x2 -t 1-gyel nvelve (mikzben s2 = s3 = 0 rtkeket rgztjk) z


cskken 5-tel; s2 -t 1-gyel nvelve (s kzben rgztve az s3 = x2 = 0 rtkeket) z cskken 10-zel; s3 -at nvelve 1-gyel (mikzben x2 = s2 = 0) z 10 egysggel cskken. Vagyis
brmely nembzis vltoz nvelse z cskkenst eredmnyezi. Ez azt sugallja, hogy az
aktulis, a 2. kanonikus alakhoz tartoz lbm egy optimlis megolds. Ez valban gy is
van! Ennek beltshoz vizsgljuk meg (12)-t. Tudjuk, hogy a Dakota Btorgyrra vonatkoz feladatban minden lehetsges megoldsra fenn kell lljon: x 2 0, s2 0, s3 0,
s 5x2 0, 10s2 0, valamint 10s3 0. Ezen egyenlotlensgekhez mg hozzvve
(12)-t, vilgos, hogy minden lehetsges megoldsra z = 280 + olyan tagok, amelyek 0-k,
s gy z 280. A 2. kanonikus alakhoz tartoz aktulis lbm esetben z = 280, s gy ez az
optimlis rtk.
Az rvels, amit pp most annak kimutatsra hasznltunk, hogy a 2. kanonikus alak optimlis, azon alapult, hogy minden nembzis vltozhoz nemnegatv egytthat tartozott a
000 . sorban. Ez azt jelenti, hogy egy kanonikus alak lbm-jro l a kvetkezo egyszeru szably
alkalmazsval dnthetjk el, hogy optimlis-e?
Optimlis-e az adott kanonikus alak (a maximum feladatra)?
Egy kanonikus alak optimlis (egy maximum feladat esetn), ha a kanonikus alak clfggvnysorban minden nembzis vltoznak nemnegatv az egytthatja.

M EGJEGYZSEK

1. Egy dntsi vltoz clfggvnysorbeli egytthatjt gyakran a vltoz reduklt kltsgnek


nevezik. gy a mi optimlis kanonikus alakunkban a reduklt kltsg x1 s x3 esetben 0, mg x2
esetben 5. A reduklt kltsg egy nembzis vltoz esetn az az rtk, amivel z nagysga cskkenni
fog, ha a nembzis vltoz rtkt 1-gyel nveljk (mikzben az sszes tbbi nembzis vltoz 0

4.3. A szimplex algoritmus

149

marad). Pldul legyen az asztalok vltozra (x2 ) a reduklt kltsg a 2. kanonikus alakban 5.
Ekkor (12)-bol lthat, hogy x2 -t 1-gyel nvelve z rtke 5-tel cskken. Figyeljk meg, hogy mivel a
clfggvnysorban az sszes bzisvltoznak (termszetesen z-t kivve) 0 az egytthatja, azrt egy
bzisvltoz kltsge mindig 0 lesz. Az 5. fejezetben rszletesebben is megvizsgljuk majd a reduklt
kltsg fogalmt. Ezek a megjegyzsek csak akkor maradnak rvnyben, ha az sszes bzisvltoz
rtke nemnegatv marad, miutn a nembzis vltoz rtkt 1-gyel nveltk. Mivel x2 nvelse 1-re
x1 , x3 s s1 rtkt meghagyja nemnegatvnak, megjegyzseink rvnyesek.
2. A 2. kanonikus alakbl lthat, hogy az optimlis megolds rtelmben a Dakota Btorkszto 2
rasztalt (x1 = 2) s 8 szket (x3 = 8) gyrt. Mivel x2 = 0 asztalt nem kell gyrtania. Az s1 = 24
is racionlis rtk, mivel csak 8 + 8(2) = 24 egysgnyi faanyagot hasznlnak fel, teht 48 24 = 24
egysgnyi faanyagot nem hasznltak fel. Hasonlan, s4 = 5 is logikus, mivel akr 5 asztalt is lehetett
volna ugyan gyrtani, tnylegesen mgis 0 darabot gyrtottak. gy a kiegszto vltoz rtke a 4. felttelben 5 0 = 5. Mivel s2 = s3 = 0, az sszes befejezo- s asztalosmunka-kapacitst felhasznltk,
ezrt az ezekre vonatkoz korltoz felttelek egyenlosgknt teljeslnek.
3. A belpo vltozt gy vlasztottuk meg, hogy annak legyen a legnagyobb abszolt rtku negatv
egytthatja a clfggvnysorban, br ez nem mindig vezet gyorsan az optimlis lbm megtallshoz
(lsd a 11. ttekinto feladatot). Valban, mg ha az (abszolt rtkben) legkisebb negatv egytthatval rendelkezo vltozt is vlasztjuk, a szimplex algoritmus vgl meg fogja tallni az LP optimlis
megoldst.
4. Br akrmelyik negatv clfggvnybeli egytthatval rendelkezo vltoz belphetne a bzisba,
mgis a hnyados teszt rtelmben a generl elem sort kell vlasztanunk (a bzist elhagy vltoz
kijellsre). Hogy ezt formlisan belssuk, tegyk fel, hogy xi -t vlasztottuk a bzisba kerlo vltoznak, s az aktulis tblzatban xi a k-adik sorban bzisvltoz. Ekkor a k-adik sor a kvetkezokpp
rhat:
aki xi + = b k
Vegynk most egy tetszoleges msik felttelt (mondjuk a j-edik sort) a kanonikus alakban. A j-edik
sor az aktulis kanonikus alakban gy rhat fel:
a ji xi + = b j
Ha a k-adik sorban vgezzk a bziscsert, akkor a k-adik sor a kvetkezo alak lesz:
xi +

b k
aki

A bziscsere utni j j-edik sor az aktulis kanonikus alakbeli j-edik sorhoz az utols egyenlet a ji szeresnek hozzadsval kpzodik. Ez a kvetkezo j j-edik sort eredmnyezi:
0xi +

b k a ji
= b j
aki

Tudjuk, hogy a bziscsere utn is minden korltoz felttelnek nemnegatv jobb oldallal kell rendelkeznie. gy aki > 0 teljesl, azt biztostand, hogy a k-adik sornak a bziscsere utn nemnegatv
legyen a jobb oldala. Tegyk fel, hogy a ji > 0. Ekkor, azt biztostand, hogy a j-edik sornak nemnegatv jobb oldala legyen a bziscsere utn, igaznak kell lennie a kvetkezo egyenlotlensgnek:
b k a ji
0
b j
aki
vagy (mivel a ji > 0)

b j
b
k
a ji
aki

gy a k-adik sornak gyoztes-nek kell lennie a hnyados tesztben, hogy azt biztostsa, hogy a j-edik
sornak nemnegatv legyen a jobb oldala a bziscsere utn is.

150

4. fejezet A szimplex algoritmus


Ha a ji 0, akkor a j-edik sor jobb oldala biztosan nemnegatv lesz a bziscsere utn. Ez abbl
kvetkezik, hogy most
b k a ji
0

aki
teljesl.

Ahogy grtk, egy olyan algoritmust mutattunk be, amely egy lbm-r o l egy jobb lbm-re
tr t. Az algoritmus lell, ha egy optimlis megoldst talltunk. A szimplex algoritmus
konvergencijt mg tovbb vizsgljuk majd a 4.7. alfejezetben.

A szimplex algoritmus sszegzse maximum feladat esetben


1. lps Hozzuk az LP feladatot standard alakra!
2. lps Keressnk egy lehetsges bzismegoldst! Ez knnyen addik, ha az sszes felttel tpus, nemnegatv jobb oldali rtkkel. Ekkor az si kiegszto vltoz az i-edik
sor szmra bzisvltozknt hasznlhat. Ha lbm nem addik nyilvnval mdon, akkor
a majd a 4.8. s 4.9. alfejezetben trgyaland technikkat kell alkalmaznunk egy lbm el o lltsra.
3. lps Ha a clfggvnysorban minden nembzis vltoznak nemnegatv az egytthatja, akkor az aktulis lbm optimlis. Ha a clfggvnysorban valamelyik vltoznak negatv az egytthatja, akkor vegyk a legnagyobb abszolt rtku negatv egytthatj vltozt a bzisba belpo vltoznak. Ezt a vltozt nevezzk belpo vltoznak.
4. lps Elemi sormuveletek segtsgvel tegyk a belpo vltozt bzisvltozv minden olyan sorban, amelyik gyo ztese a hnyados tesztnek. Miutn elksztettnk egy j
kanonikus alakot az esm-ek segtsgvel, trjnk vissza a 3. lpshez az j (aktulis) kanonikus alakot hasznlva.
Amikor a szimplex algoritmust hasznljuk feladatok megoldsra, sohasem lehet negatv jobb oldallal rendelkezo korltoz felttelnk (negatv jobb oldal elo fordulhat viszont a
clfggvny sornl: lsd a 4.4. alfejezetet). Negatv jobb oldallal rendelkez o felttel rendszerint a hnyados tesztnl, ill. egy vagy tbb esm vgrehajtsnl elkvetett hiba eredmnye. Ha egy (vagy tbb) korltoz felttelnek negatv a jobb oldala, akkor mr nincs j lbm
(a korbbi rtelemben) s a szimplex algoritmus vgrehajtsi szablyai mr nem vezetnek
egy jobb lbm-hez.

Szimplex tblzatok megadsa


Ahelyett, hogy minden vltozt belernnk minden korltoz felttelbe, gyakran egy rvidtett rsmdot hasznlunk, amit szimplex tblnak neveznk. Pldul a kvetkez o kanonikus alak:
z + 3x1 + x2
=6
x1
+s1
=4
2x1 + x2
+ s2 = 3
rvidtett formban a 8. tblzatnak megfelelo lesz (ahol J.o. = jobb oldal). Ez a formtum nagyon egyszeruv teszi a bzisvltozk megtallst: egyszeruen megkeressk azon
oszlopokat, ahol egyetlen 1 egytthat ll (s az sszes tbbi 0). Ezek az s 1 s s2 . Szimplex

4.4. A szimplex algoritmus alkalmazsa minimalizlsi feladatok megoldsra

8. T B L Z A T
A szimplex tbla

x1

x2

s1

s2

J.o.

Bzisvltoz

1
0
0

3
1
2

1
0
1

0
1
0

0
0
1

6
4
3

z =6
s1 = 4
s2 = 3

151

tblinkban be fogjuk karikzni a generl elemet s egy jellel jelljk meg a hnyados
teszt gyoztest.

Feladatok
A csoport
1. Hasznljuk a szimplex algoritmust a Giapetto problma (a 3. fejezet 1. pldja) megoldsra!
2. Oldjuk meg a szimplex algoritmus hasznlatval a kvetkezo LP feladatot:
max z = 2x1 + 3x2
f.h.

x1 + 2x2 6

2x1 + x2 8
x1 , x2 0

3. Hasznljunk szimplex mdszert a kvetkezo feladat


megoldsra:
max z = 2x1 x2 + x3

f.h.

3x1 + x2 + x3 60

4. Tegyk fel, hogy szimplex algoritmussal akarjuk megoldani a Dorian problmt (a 3. fejezet 2. pldja)! Milyen
nehzsg fog itt felmerlni?

B csoport
5. Eddig azt sugalltuk, hogy a szimplex algoritmus minden egyes itercijnl az legyen a belpo vltoz (egy
maximalizlsi feladatban), amelynek a belpse a legnagyobb nvekedst hozza magval a clfggvnyben. Br
ennek eredmnyeknt ltalban kevesebb bziscsert kell
vgrehajtanunk, mintha a legnagyobb abszolt rtku clfggvnysorbeli negatv szmnak megfeleloen transzformlnnk, a legnagyobb nvekeds szerinti vlaszts elobbi
szablyt szinte soha nem hasznljk. Vajon mirt?

x1 x2 + 2x3 10

x1 + x2 x3 20
x1 , x2 , x3 0

4.4.

A szimplex algoritmus alkalmazsa minimalizlsi


feladatok megoldsra
A szimplex algoritmust kt klnbzo mdon alkalmazhatjuk minimalizlsi feladatok
megoldsra. Ezt a kvetkezo LP feladat megoldsn mutatjuk be:
min z = 2x1 3x2
f.h.
x 1 + x2 4
x1 x 2 6
x1 , x2 0

(LP 2)

152

4. fejezet A szimplex algoritmus

1. mdszer
Az LP 2 optimlis megoldsa az LP 2 lehetsges tartomnynak azon (x 1 , x2 ) pontja,
amelyre a z = 2x1 3x2 fggvnyrtk a legkisebb. Ezzel ekvivalens mdon azt is mondhatjuk, hogy LP 2 optimlis megoldsa a lehetsges tartomny azon pontja, amelyen z =
2x1 + 3x2 a leheto legnagyobb. Ez azt jelenti, hogy LP 2 optimlis megoldst megkaphatjuk LP 20 megoldsval:
max z = 2x1 + 3x2
f.h.
x 1 + x2 4
x1 x 2 6

(LP 20 )

x1 , x2 0

LP 20 megoldsnl z-t a clfggvnysor bzisvltozjnak fogjuk hasznlni. Hozzadva


s1 s s2 kiegszto vltozkat a kt felttel bal oldalhoz a 9. tblzatban megadott indul
tblt kapjuk. Mivel x2 az egyetlen negatv egytthatj vltoz a clfggvnysorban, x 2 -t
bevisszk a bzisba. A hnyados teszt azt mutatja, hogy x 2 az elso felttelnl teht az
1. sornl kerl be a bzisba. Az eredmny a 10. tblzatban lthat. Mivel a clfggvnysorban minden vltoz egytthatja nemnegatv, ez egy optimlis tbla. gy az LP 2 0
optimlis megoldsa z = 12, x2 = 4, s2 = 10, x1 = s1 = 0. Az LP 2 optimlis megoldsa
teht z = 12, x2 = 4, s2 = 10, x1 = s1 = 0, mivel x1 s x2 rtkt az LP 20 clfggvnybe
behelyettestve azt kapjuk, hogy:
z = 2x1 3x2 = 2(0) 3(4) = 12
9.

TBLZAT

Indul tbla az
LP 2 feladathoz
1. mdszer

x1

x2

s1

s2

J.o.

Bzisvltoz

1
0
0

2
1
1

3 0
1k 1
1 0

0
0
1

0
4
6

z = 0
s1 = 4
s2 = 6

Hnyados
4
1

=4
nincs

sszegezve: szorozzuk meg a min feladat clfggvnyt 1-gyel s oldjuk meg a maximum feladatot a z clfggvnnyel! Ennek a maximalizlsi feladatnak az optimlis
megoldsa az eredeti minimalizlsi feladat optimlis megoldst adja. Gondoljunk azonban arra, hogy (a min feladat optimlis z rtke) = (a max feladat optimlis z clfggvny
rtke).

2. mdszer
A szimplex algoritmus egy egyszeru mdostsa felhasznlhat a min feladatok kzvetlen
megoldsra. Mdostsuk az algoritmus 3. lpst a kvetkez o kppen: Ha a clfggvnysor
10. T B L Z A T
Optimlis tbla az
LP 2 feladathoz
1. mdszer

z
1
0
0

x1

x2

s1

s2

J.o.

Bzisvltoz

5
1
2

0
1
0

3
1
1

0
0
1

12
4
10

z = 12
x2 = 4
s2 = 10

4.4. A szimplex algoritmus alkalmazsa minimalizlsi feladatok megoldsra

153

minden nembzis vltozjnak egytthatja nempozitv, akkor az aktulis lbm optimlis.


Ha a clfggvnysorban valamely nembzis vltoznak pozitv az egytthatja, akkor vegyk ezek kzl a legnagyobb rtku (legpozitvabb) egytthatval rendelkez o t, s ezt
vigyk be a bzisba.
11.

TBLZAT

Indul tbla az
LP 2 feladat
szmra
2. mdszer

x1

x2

s1

s2

J.o.

Bzisvltoz

1
0
0

2
1
1

3 0
1k 1
1 0

0
0
1

0
4
6

z =0
s1 = 4
s2 = 6

Hnyados
4
1

=4
nincs

A szimplex algoritmus ilyen mdostsa azrt mukdik, mert a clfggvnysorban pozitv egytthatval rendelkezo nembzis vltoz nvelse cskkenti z-t. Ha ezt a mdszert
hasznljuk az LP 2 megoldsra, akkor az indul tblnk a 11. tblzatban lthat. Mivel
x2 rendelkezik a legnagyobb pozitv egytthatval a clfggvnysorban, vonjuk be x 2 -t a
bzisba. A hnyados teszt szerint x2 az 1. sorhoz tartoz vltoz helyre lp be a bzisba, s
az eredmnyt a 12. tblzat mutatja. Mivel a clfggvnysorban minden vltoznak nempozitv az egytthatja, ez egy optimlis tbla.4 gy LP 2 optimlis megoldsa (ahogy azt
mr lttuk) z = 12, x2 = 4, s2 = 10, x1 = s1 = 0.
12. T B L Z A T
Optimlis tbla az
LP 2 feladat
szmra
2. mdszer

x1

x2

s1

s2

J.o.

Bzisvltoz

1
0
0

5
1
2

0
1
0

3
1
1

0
0
1

12
4
10

z = 12
x2 = 4
s2 = 10

Feladatok
A csoport
1. A szimplex mdszer segtsgvel keressk meg a kvetkezo LP feladat optimlis megoldst:
min z = 4x1 x2
f.h.

2x1 + x2 8
x2 5

x1 x 2 4

2. A szimplex mdszer segtsgvel keressk meg a kvetkezo LP feladat optimlis megoldst:


min z = x1 x2
f.h.

x 1 x2 1

x1 + x 2 2

x1 , x2 0

x1 , x2 0

4 Ennek a tblnak az optimalitsnak a beltshoz talaktjuk a clfggvnysort: z = 12 + 5x + 3s . Mivel


1
1
x1 0 s s1 0, ezrt z 12. Az aktulis lbm teht (amire a z = 12), optimlis.

154

4. fejezet A szimplex algoritmus

4.5.

Alternatv optimlis megoldsok


Idzzk fel a 3.3. alfejezet 3. feladatait, ahol egyes LP feladatoknl egynl tbb extremlis
pont lett optimlis. Ha egy LP feladatnak egynl tbb optimlis megoldsa van, akkor azt
mondjuk, hogy tbbszrs vagy alternatv optimlis megoldsai vannak. Most bemutatjuk, hogyan hasznlhat a szimplex algoritmus annak eldntsre, hogy egy LP feladatnak
alternatv optimlis megoldsai vannak-e.
jra elovesszk a 4.3. alfejezet Dakota Btorkszto Cgre vonatkoz pldjt azzal a
mdostssal, hogy az asztalokat 35$ ron lehet eladni 30$ helyett (lsd a 13. tblzatot).
Mivel x1 -nek van a legnagyobb abszolt rtku negatv egytthatja a clfggvnysorban,
x1 -et visszk be a bzisba. A hnyados teszt azt mutatja, hogy x 1 -et a 3. sorhoz kapcsold
vltoz helyre kell bevinnnk a bzisba. Mivel csak x3 -nak van a clfggvnysorban negatv egytthatja, x3 -at visszk be a bzisba (lsd a 14. tblzatot). A hnyados teszt szerint
most x3 kell belpjen a bzisba a 2. sorbeli vltoz helyre. Az eredmnyl add (optimlis) tbla a 15. tblzatban szerepel. Akrcsak a 4.3. alfejezetben, ezen tbla szerint is a
Dakota Btorkszto Cg feladatnak optimlis megoldsa s1 = 24, x3 = 8, x1 = 2, s4 = 5
s x2 = s2 = s3 = 0.

13.

TBLZAT

Indul tbla a
Dakota
Btorkszto Cg
feladatra
(35$/asztal r
mellett)

x1

60

0
0

14.

s1

s2

s3

s4

J.o.

35

20

z =0

48

s1 = 48

1.5

20

s2 = 20

1.5

0.5

s3 = 8

48
8 =6
20
4 =5
8

2 =4

s4 = 5

nincs

TBLZAT

Elso tbla a
Dakota feladatra
(35$/asztal esetn)

15.

x3

4
2k

x1

x2

10

0
0

1
0

x1

0.75
1

x3

s3

s4

J.o.

Bzisvltoz

30

240

z = 240

16

s1 = 16

s1

s2

1
1

0.5
0


0.25
0

0
0

0
0

0.5
0

s2 = 4

0
1

4
5

s3 = 4
s4 = 5

TBLZAT

Msodik (s
optimlis) tbla a
Dakota feladatra
(35$/asztal esetn)

0
0

0
0

Bzisvltoz

x2

x2

x3

s1

s2

10

2
0
1
2
1
0


2
2

1.25 0
0

1
0
0

0.5
0

s4

J.o.

Bzisvltoz

10

280

z = 280

8
4

0
0

24
8

s1 = 24
s2 = 8

1.5

s 3 = 2

s4 = 5

s3

Hnyados

Hnyados
nincs
4

0.5 = 8
4

0.25 = 16

nincs

4.5. Alternatv optimlis megoldsok

16.

TBLZAT

Egy msik
optimlis tbla a
Dakota feladatra
(35$/asztal esetn)

x1

x2

x3

s1

s2

s3

s4

J.o.

Bzisvltoz

1
0
0
0
0

0
1.6
1.6
0.8
0.8

0
0
0
1
0

0
0
1
0
0

0
1
0
0
0

10
1.2
1.2
0.4
0.4

10
5.6
1.6
1.2
1.2

0
0
0
0
1

280
27.2
11.2
1.6
3.4

z = 280
s1 = 27.2
x3 = 11.2
x2 = 1.6
s4 = 3.4

155

Emlkezznk vissza, hogy itt minden bzisvltoznak zr egytthatjnak kell a clfggvnysorban lennie (ugyanis egybknt nem lennnek bzisvltozk). Azonban az optimlis tblnkban van egy nembzis vltoz, az x2 , amelynek szintn zr az egytthatja
a clfggvnysorban. Nzzk meg, mi trtnik, ha x2 -t bevisszk a bzisba! A hnyados
teszt szerint x2 -nek a 3. sorbeli vltoz helyre kell bekerlnie (elleno rizzk ezt!). Az eredmnyl kapott tblt a 16. tblzat mutatja. Itt fontos szrevennnk, hogy mivel x 2 zr
egytthatval szerepel az optimlis tbla clfggvnysorban, a generl elem, aminek rvn x2 belp a bzisba, nem vltoztatja meg a clfggvnysort. Ez azt jelenti, hogy az j
clfggvnysorunk sszes vltozjnak mg mindig nemnegatv lesz az egytthatja. gy
az j tblzatunk is optimlis. Mivel a bziscsere nem vltoztatta meg a Dakota cggel
kapcsolatos pldnk clfggvnyrtkt, egy alternatv optimlis megolds a kvetkez o :
z = 280, s1 = 27.2, x3 = 11.2, x2 = 1.6, s4 = 3.4 s x1 = s3 = s2 = 0.
sszefoglalva teht, ha az asztalokat 35 dollrrt adja el, a Dakota 280 dollr rbevtelre
tesz szert akkor is, ha 2 rasztalt s 8 szket, vagy ha 1.6 asztalt s 11.2 szket gyrt. gy
a Dakota feladatnak tbbszrs (vagy alternatv) optimlis extremlis pontjai vannak.
Ahogy a 3. fejezetben kifejtettk, belthat, hogy kt optimlis extremlis pontot sszekto egyenes szakasz brmely pontja optimlis. Ennek a tnynek az illusztrlsra vegynk
kt optimlis extremlis pontot:

x1
2
Az 1. optimlis extremlis pont = x2 = 0
x3
8


0
x1
A 2. optimlis extremlis pont = x2 = 1.6
11.2
x3
A 0 c 1 rtkek mellett a

x1
2
0
2c
x2 = c 0 + (1 c) 1.6 = 1.6 1.6c
x3
8
11.2
11.2 3.2c

vektor is optimlis lesz. Ez azt mutatja, hogy habr a Dakota cgre vonatkoz feladatnak
csak kt optimlis extremlis pontja van, mgis vgtelen sok optimlis megoldsa ltezik.
Pldul c = 0.5-t vlasztva, a kvetkezo optimlis megoldst kapjuk: x1 = 1, x2 = 0.8,
x3 = 9.6.
Ha nincs zr egytthatval rendelkezo nembzis vltoz az optimlis tbla clfggvnysorban, akkor az LP feladatnak egyetlen optimlis megoldsa van (lsd a 3. feladatot).
Mg ha van is zr egytthatj nembzis vltoz az optimlis tbla clfggvnysorban,
mg akkor is lehetsges, hogy a feladatnak nincsenek alternatv optimlis megoldsai (lsd
a 25. ttekinto feladatot).

156

4. fejezet A szimplex algoritmus

Feladatok
A csoport
1. Mutassuk meg, hogy ha egy jtkkatonnak 28$ lenne
az ra, a Giapetto feladatnak lennnek alternatv optimlis
megoldsai!
2. Mutassuk meg, hogy a kvetkezo LP feladatnak vannak alternatv optimlis megoldsai s keressnk meg hrmat kzlk!
max z = 3x1 + 6x2
f.h.

5x1 + 7x2 35

x1 + 2x2 2
x1 , x2 0

B csoport
3. Tegyk fel, hogy 17. tblzatban lthat optimlis tblt kaptuk egy maximalizlsi feladatra. Felhasznlva azt,
17.

TBLZAT

x1

x2

s1

s2

J.o.

1
0
0

0
1
0

0
0
1

2
3
1

3
2
1

10
4
3

az LP feladatnak! (tmutats: Lehet-e valamely extremlis


pont esetn, amelyre s1 > 0 vagy s2 > 0, igaz, hogy z = 10?)
4. Magyarzzuk meg, hogy mirt konvex egy LP feladat
megoldsainak halmaza!
5. Tekintsnk egy LP feladatot, melynek az optimlis tblja a 18. tblzatban lthat.
18.
z

x1

x2

x3

x4

J.o.

1
0
0

0
1
0

0
0
1

0
1
2

2
1
3

2
2
3

(a) Van-e ennek az LP feladatnak egynl tbb optimlis


lbm-je?
(b) Hny optimlis megoldsa van ennek az LP feladatnak? (tmutats: Ha az x3 rtke no, hogyan befolysolja
ez a vltozs a bzisvltozk s a z rtkt?)
6. Hatrozzuk meg a kvetkezo LP feladat sszes optimlis megoldst:

hogy a clfggvnysorban minden nembzis vltoznak


szigoran pozitv egytthatja van, bizonytsuk be, hogy
x1 = 4, x2 = 3, s1 = s2 = 0 az egyetlen optimlis megoldsa

4.6.

TBLZAT

max z =
f.h.

x1 +

8x5

x3 + 3x4 + 2x5 = 2
x2 + 2x3 + 4x4 + 5x5 = 5
minden xi 0

Nemkorltos LP feladatok
Emlkezznk vissza a 3.3. alfejezetbo l arra, hogy egyes LP feladatoknl a lehetsges tartomnynak vannak olyan pontjai, melyben z (max feladatokban) tetsz o legesen nagy, vagy
(min feladatokban) tetszolegesen kicsi rtket vehet fel. Ha ez a helyzet lp fel, akkor
azt mondjuk, hogy az LP feladat nem korltos. Ebben az alfejezetben bemutatjuk, hogy
a szimplex algoritmus hogyan hasznlhat annak eldntsre, hogy az adott LP feladat
nemkorltos-e.

3.

PLDA

A Breadco Pksg ktfle kenyeret st: francia kenyeret s barna kenyeret. Egy egsz francia kenyr 36 centrt, egy egsz barna kenyr pedig 30 centrt adhat el. Egy egsz francia
kenyrhez 1 csomag lesztore s 6 deka lisztre van szksg, egy egsz barna kenyrhez
pedig 1 csomag lesztore s 5 deka lisztre. Jelenleg a Breadcnak 5 csomag leszto je s 10
deka lisztje van. Tovbbi leszto csomagonknt 3 centrt, liszt pedig deknknt 4 centrt
szerezheto be. Fogalmazzuk meg s oldjuk meg a Breadco profitjt (jvedelmek kltsgek) maximalizl LP feladatot!

4.6. Nemkorltos LP feladatok

Megolds

157

Legyenek
x1 = az elksztett francia kenyerek szma
x2 = az elksztett barna kenyerek szma
x3 = a vsrolt lesztocsomagok szma
x4 = a vsrolt liszt mennyisge (dekban)
Ekkor a Breadco clfggvnye: z = bevtelek kltsgek maximalizlsa, ahol
bevtelek = 36x1 + 30x2

s kltsgek = 3x3 + 4x4

A Breadco clfggvnye teht a kvetkezo :


max z = 36x1 + 30x2 3x3 4x4
A Breadco a kvetkezo kt felttelt veszi figyelembe:
1. felttel A kenyrstshez felhasznlt leszto csomagok szma nem haladhatja meg a
rendelkezsre ll + vsrolt mennyisget.
2. felttel A felhasznlt liszt mennyisge nem haladhatja meg a rendelkezsre ll +
beszerzett mennyisget.
Mivel
meglvo leszto + vsrolt leszto = 5 + x3
meglvo liszt + vsrolt liszt = 10 + x4
ezrt az 1. felttel gy rhat:
x1 + x 2 5 + x 3 ,

azaz x1 + x2 x3 5

a 2. felttel pedig:
6x1 + 5x2 10 + x4,

vagy 6x1 + 5x2 x4 10.

Ehhez hozzvve az xi 0 (i = 1, 2, 3, 4) elojelkorltozsokat a kvetkezo LP feladatot


kapjuk:
max z = 36x1 + 30x2 3x3 4x4
f.h.
x 1 + x2 x3
5
(leszto felttel)
6x1 + 5x2

x4 10
x1 , x2 , x3 , x4 0

(liszt felttel)

Hozzadva a kt felttelhez s1 s s2 -t, a 19. tblzatot kapjuk.


19.

TBLZAT

Indul tbla a
Breadco
problmhoz

x1

x2

36

30

0
0

1
6k

Bzisvltoz

x3

x4

s1

s2

J.o.

z =0

s1 = 5

10

s2 = 10

Hnyados
5
1 =5
10
5
6 = 3

158

4. fejezet A szimplex algoritmus

Mivel 36 < 30, x1 -et visszk be a bzisba. A hnyados teszt szerint x1 -nek a 2. sorbeli bzisvltoz helyre kell belpnie a bzisba. Ennek megtrtnte utn a 20. tblzatot
kapjuk.
20.

TBLZAT

Elso tbla a
Breadco
problmhoz

x1

x2

x3

1
6
5
6

x4

s1

2
0

1
1
6


16

J.o.

Bzisvltoz

60

z = 60

61
1
6

10
3
5
3

s1 =

s2

10
3
s2 = 53

Hnyados
10
3



nincs

1
6

= 20

Mivel itt egyedl x4 -nek van negatv egytthatja a clfggvnysorban, x4 -et visszk be a
bzisba. A hnyados teszt szerint x4 -nek az 1. sorbeli bzisvltoz helyre kell belpnie, s
eredmnyl a 21. tblzatban megadott tbla addik.
21.

TBLZAT

Msodik tbla a
Breadco
problmhoz

x1

x2

x3

x4

s1

s2

J.o.

Bzisvltoz

Hnyados

1
0
0

0
0
1

2
1
1

9
6
1

0
1
0

12
6
1

4
1
0

100
20
5

z = 100
x4 = 20
x1 = 5

nincs
nincs

Ezutn, mivel x3 -nak van a legnagyobb abszolt rtku negatv egytthatja a clfggvnysorban, ezt a vltozt szeretnnk bevonni a bzisba. A hnyados teszt azonban nem kpes
megadni, hogy melyik sorhoz tartoz bzisvltoz helyre lehet belpni a bzisba. Mi trtnjen? A hnyados teszthez vezeto kiindul megfontolsainkhoz visszatrve azt ltjuk,
hogy x3 nvelsvel (mikzben a tbbi nembzis vltoz zr szinten marad), x 4 s x1 az
aktulis bzisvltozk a kvetkezo kppen vltoznak:
x4 = 20 + 6x3
x1 = 5 + x 3

(13)
(14)

Ahogy x3 nvekszik, x4 s x1 is nvekszik. Ez azt jelenti, hogy fggetlenl attl, milyen nagyra is nveljk x3 -at, az x4 0 s x1 0 egyenlotlensgek teljeslni fognak.
Mivel x3 minden egysgnyi nvelse 9 egysggel nveli z-t, tudunk olyan pontokat tallni a lehetsges tartomnyban, ahol z elo re megadott, tetszolegesen nagy rtket vesz fel.
Tudunk-e pldul olyan lehetsges pontot tallni, amelyre z 1000? Hogy ezt elrjk, z-t
1000 100 = 900 egysggel kell nvelnnk. Mivel x3 minden egysgnyi nvelse z-t 9
egysggel nveli, x3 -t 900
9 = 100 egysggel nvelve ez z = 1000-et ad szmunkra. Ha az
x3 = 100 rtket vesszk (s a tbbi nembzis vltozt zr szinten tartjuk), akkor (13) s
(14) alapjn x4 s x1 a kvetkezo:
x4 = 20 + 6(100) = 620
x1 = 5 +

100 = 105

gy, x1 = 105, x3 = 100, x4 = 620, x2 = 0 a lehetsges tartomny egy pontja, z = 1000 rtkkel. Hasonlan, tudunk olyan pontokat tallni a lehetsges tartomnyban, amelyekhez
tartoz z rtk tetszolegesen nagy. Ez azt jelenti, hogy a Breadco problma egy nemkorltos
LP feladat.

4.6. Nemkorltos LP feladatok

159

A Breadco pldbl ltjuk, hogy egy LP (maximalizlsi) feladat akkor nem korltos, ha
van egy negatv egytthatval rendelkezo nembzis vltoz a clfggvnysorban s nincs
olyan korltoz felttel, amely hatrt szabna annak, hogy milyen nagy lehet ez a nembzis
vltoz. Ez a helyzet akkor, ha valamely nembzis vltoz (mint x 3 ) a clfggvnysorban
nemnegatv egytthatval rendelkezik, ugyanakkor pedig minden felttelben nempozitv az
egytthatja. sszegezve, az LP feladat max clfggvny mellett akkor lesz nemkorltos,
ha egy a clfggvnysorban negatv egytthatval rendelkezo vltoz egytthatja az sszes
felttelben nempozitv.
Ha egy LP feladat nemkorltos, vgl egy olyan tblhoz jutunk, amelynl egy vltozt
(mint pl. x3 ) be akarunk vinni a bzisba, de a hnyados tesztet nem tudjuk vgrehajtani. Valsznuleg ez a legegyszerubb mdja egy nemkorltos LP feladat felismersnek. Ahogy a
3. fejezetben megjegyeztk, a nemkorltos LP feladat ltalban az elhibzott modellfelrs
eredmnye. A Breadco pldban abbl addott az LP nemkorltos volta, hogy megengedtk a Breadcnak, hogy 3 + 6(4) = 27 centet fizessen a francia kenyrhez felhasznlt alapanyagokrt, s aztn 36 centrt adja el a ksz kenyeret. gy minden egyes francia kenyr 9
cent profitot biztost szmra. Mivel korltlan mennyisgu leszto s liszt beszerzse lehetsges, vilgos, hogy modellnk a Breadco cgnek megengedi, hogy annyi francia kenyeret
termeljen, amennyit csak akar, s ezltal tetszo legesen nagy profitra tegyen szert. Ez okozza
a nemkorltos LP feladat fellpst.
Termszetesen a Breadco plda ltalunk trtnt megfogalmazsa a valsg szmos aspektust elhanyagolta. Eloszr is feltteleztk, hogy a kereslet a Breadco termke irnt korltlan. Msrszt, elhanyagoltuk, hogy bizonyos ero forrsok, amelyek a kenyr gyrtshoz
szksgesek (mint pl. kemenck s munkaero ) korltozott mennyisgben llnak rendelkezsre. Vgl pedig azzal az irrelis felttelezssel ltnk, hogy tetsz o leges mennyisgu
leszto s liszt vsrolhat.

Feladatok
A csoport

min z = 2x1 3x2


f.h.

x 1 x2 1
x1 2x2 2

1. Mutassuk meg, hogy a kvetkezo LP feladat nemkorltos:


max z =
f.h.

2x2
x 1 x2 4

x1 + x2 1
x1 , x2 0

Keressnk egy olyan pontot a lehetsges tartomnyban,


melyre z 10 000!
2. Fogalmazzunk meg egy szablyt, amely arra hasznlhat, hogy eldntsk, vajon egy minimum feladatnak nemkorltos az optimuma (vagyis z tetszolegesen kicsiv teheto)! Hasznljuk fel ezt a szablyt annak kimutatsra,
hogy a kvetkezo feladat nemkorltos:

x1 , x2 0

3. Tegyk fel, hogy egy LP feladat megoldsa kzben


a 22. tblzatban tallhat tblhoz jutunk. x1 ugyan beviheto a bzisba, ez az LP feladat mgis nemkorltos. Mirt?
22.

TBLZAT

x1

x2

x3

x4

J.o.

1
0
0

3
1
2

2
1
0

0
1
0

0
0
1

0
3
4

4. A szimplex mdszer segtsgvel oldjuk meg a 3.3. alfejezet 10. feladatt!

160

4. fejezet A szimplex algoritmus

4.7.

Degenerci s konvergencia a szimplex algoritmus


esetn
Elmletileg elofordulhat, hogy a szimplex algoritmus (a lert formban alkalmazva) nem
tallja meg egy LP feladat optimlis megoldst. Azonban tnyleges alkalmazsokbl szrmaz LP feladatok ritkn viselkednek ilyen kellemetlen mdon. A teljessg kedvrt most
mgis megvizsgljuk azt a helyzetet, amikor a szimplex mdszer nem tallja meg az optimlis megoldst. Vizsglatunk dnto en (egy max feladatra vonatkozan) az aktulis lbm
s az j (azaz a kvetkezo bziscsere utni) lbm kztti kvetkezo sszefggsen alapul:
z rtk az j lbm-re = z rtk az aktulis lbm-re
(a belpo vltoz rtke az j lbm-ben)(a belpo

(15)

vltoz egytthatja az aktulis lbm clfggvnysorban)

A (15) egyenlet abbl kvetkezik, hogy a belpo vltozt egysgnyivel nvelve a z rtknek nvekedse: (a belpo vltoz egytthatja az aktulis lbm clfggvnysorban).
Emlkezznk vissza, hogy (a belpo vltoz egytthatja a clfggvnysorban) < 0 s (a
belpo vltoz rtke az j lbm-ben) 0. Ezeket figyelembe vve, a (15) segtsgvel a
kvetkezokre jutunk:
1. Ha (a belpo vltoz rtke az j lbm-ben) > 0, akkor (az j lbm z rtke) > (az
aktulis lbm z rtke).
2. Ha (a belpo vltoz rtke az j lbm-ben) = 0, akkor (az j lbm z rtke)= (az aktulis lbm z rtke).
Egyelore tegyk fel, hogy az LP feladat, amit meg kell oldanunk, rendelkezik a kvetkezo tulajdonsggal: minden lehetsges bzismegoldsban az sszes bzisvltoz pozitv.
Egy ilyen tulajdonsg LP feladatot nemdegenerlt LP feladatnak neveznk.
Ha a szimplex mdszert egy nemdegenerlt LP feladat megoldsra hasznljuk, akkor
az elobbi felsorolsban szereplo 1. tulajdonsg szerint a mdszer minden itercija nvelni
fogja z-t. Ennek a kvetkezmnye az, hogy amikor a szimplex mdszert egy nemdegenerlt LP feladat megoldsra hasznljuk, akkor lehetetlen az, hogy ktszer forduljon el o
ugyanaz az lbm. Ennek beltshoz tegyk fel, hogy egy olyan lehetsges bzismegoldsban vagyunk (nevezzk ezt 1. lbm-nek), amelyre z = 20. Az 1. tulajdonsg azt mondja,
hogy a kvetkezo bzistranszformcink egy olyan lbm-be visz bennnket (nevezzk ezt
2. lbm-nek), amelyre z > 20. Mivel tovbbi bziscserkkel z rtkt nem tudjuk cskkenteni, ezrt soha nem tudunk visszatrni egy olyan lbm-hez, melyre z = 20. gy nem tudunk
visszatrni az 1. lbm-hez sem. Most idzzk fel azt a tnyt, hogy tetsz o leges LP feladatnak
csak vges sok lehetsges bzismegoldsa van. Mivel egy lbm soha nem ismtl o dik meg,
ezrt ha a szimplex algoritmust alkalmazzuk egy nemdegenerlt LP feladat megoldsra,
akkor vges szm itercival garantltan megtalljuk az optimlis megoldst. Pldul tegyk fel, hogy egy 10 vltozval s 5 felttellel rendelkezo nemdegenerlt LP feladatot
oldunk meg. Ennek az LP feladatnak legfeljebb
 
10
= 252
5
lehetsges bzismegoldsa van. Mivel soha nem ismtlo dik meg egy lbm, tudjuk, hogy
erre a feladatra a szimplex mdszer maximlisan 252 iterci utn garantltan tall egy
optimlis megoldst. Egy degenerlt LP feladatnl viszont elo fordulhat, hogy a szimplex
mdszer nem mukdik.

4.7. Degenerci s konvergencia a szimplex algoritmus esetn

D EFINCI

161

Egy LP feladat degenerlt, ha van legalbb egy olyan lbm, amelyben egy bzisvltoz 0 rtku.
A kvetkezo LP feladat degenerlt:
max z = 5x1 + 2x2
f.h. x1 + x2 6
x1 x 2 0
x1 , x2 0

(16)

Mi trtnik, ha a szimplex algoritmust hasznljuk a (16) feladat megoldsra? Miutn


a kt felttelhez hozzadtuk az s1 s s2 kiegszto vltozkat, a 23. tblzatban tallhat
indul tblt kapjuk. Az ehhez tartoz lbm-ben, egy bzisvltoz, s 2 = 0. gy (16) egy degenerlt LP feladat. Minden olyan lbm, amelynek legalbb egy bzisvltozja zr rtku
(vagy ekvivalens mdon van legalbb egy korltoz felttele zr jobb oldallal), degenerlt lbm. Mivel 5 < 2, x1 -et bevisszk a bzisba. Itt a gyo ztes hnyados a 0 lesz. Ez
azt jelenti, hogy miutn x1 belp a bzisba, x1 zr lesz az j lbm-ben. Elvgezve a bzistranszformcit a 24. tblzatot kapjuk. Az j lbm-hez ugyanaz a z rtk tartozik, mint a
rgihez. Ez sszhangban van a korbban megfogalmazott 2. tulajdonsggal. Az j lbm-ben
az sszes vltoznak ugyanaz az rtke, ami a bziscsere el o tt volt. gy az j lbm is degenerlt. Folytatva a szimplex algoritmust az x2 vltozt visszk be a bzisba az 1. sornl. Az
eredmnyl kapott tbla a 25. tblzatban lthat. Ez egy optimlis tbla, gy a (16) feladat
optimlis megoldsa a kvetkezo : z = 21, x2 = 3, x1 = 3, s1 = s2 = 0.
23. T B L Z A T
Egy degenerlt LP
feladat

x1

x2

s1

s2

J.o.

Bzisvltoz

Hnyados

1
0

5 2
1
1
i
1 1

0
1

0
0

0
6

z =0
s1 = 6

s2 = 0

s1

s2

J.o.

Bzisvltoz

Hnyados

7 0
2k 1
1 0

z =0

1
1

6
0

s1 = 6
s2 = 0

24. T B L Z A T
A (16)-os feladat
elso tblja

25. T B L Z A T
A (16)-os feladat
optimlis tblja

x1

x2

0
0

0
1

x1

x2

s1

s2

J.o.

Bzisvltoz

1
0
0

0
0
1

0
1
0

3.5
0.5
0.5

1.5
0.5
0.5

21
3
3

z = 21
x2 = 3
x1 = 3

6
2

=3

162
26.

4. fejezet A szimplex algoritmus


TBLZAT

Bzisvltozk
hrom halmaza
felel meg a C
cscspontnak

Bzisvltozk

Megfelelo
lehetsges bzismegolds

Extremlis pont

x1 , x2
x 1 , s1
x 1 , s2
x 2 , s1
x 2 , s2
s1 , s2

x1 = x2 = 3, s1 = s2 = 0
x1 = 0, s1 = 6, x2 = s2 = 0
x1 = 6, s2 = 6, x2 = s1 = 0
x2 = 0, s1 = 6, x1 = s2 = 0
x2 = 6, s2 = 6, s1 = x1 = 0
s1 = 6, s2 = 0, x1 = x2 = 0

D
C
nincs megolds
C
B
C

Most mr meg tudjuk magyarzni, hogy a szimplex mdszernek mirt lehetnek gondjai
egy degenerlt LP feladat megoldsnl. Tegyk fel, hogy egy olyan degenerlt LP feladatot oldunk meg, amire az optimlis z rtk z = 30. Ha egy olyan lbm-mel kezdnk, amire
mondjuk z = 20, akkor tudjuk (nzzk meg az ppen megoldott LP feladat esett), hogy
egy bziscsere sorn lehetsges, hogy a z rtke vltozatlan maradjon. Ez azt jelenti, hogy
bzistranszformcik egy sorozatra megeshet a kvetkez o :
indul lbm (1. lbm): z = 20
az elso bzistranszformci utn (2. lbm): z = 20
a msodik bzistranszformci utn (3. lbm): z = 20
a harmadik bzistranszformci utn (4. lbm): z = 20
a negyedik bzistranszformci utn (5. lbm): z = 20
Ebben az esetben ktszer tallkozunk ugyanazzal az lbm-mel. Ezt a jelensget ciklizlsnak nevezzk. Ha ciklizls lp fel, akkor mindrkre bolyongani, ciklikusan keringeni
fogunk lehetsges bzismegoldsok egy halmazban s soha nem jutunk el az optimlis
megoldshoz (z = 30, a fenti pldban). A ciklizls nemcsak elmleti lehet o sg, hanem
tnylegesen is fellphet (lsd a 3. feladatot ennek az alfejezetnek a vgn). Szerencsre a
szimplex algoritmus mdosthat gy, hogy a ciklizls soha ne lpjen fel (a rszleteket
e vonatkozsban lsd a Bland (1977) vagy Dantzig (1963) munkkban). 5 A gyakorlatban
azonban a ciklizls rendkvl ritka jelensg.6 Emiatt a legtbb szmtgpes LP programcsomag nem alkalmaz vdelmet a ciklizls leheto sge ellen.
Ha egy LP-nek sok degenerlt lehetsges bzismegoldsa van (vagy egy olyan lbm-je,
amiben sok a zrus rtku bzisvltoz), akkor a szimplex algoritmus alacsony hatkonysgv vlik. Hogy lssuk mirt, tekintsk a (16)-os feladat 3. brn lthat lehetsges tartomnyt, a bestttett BCD hromszget. Ennek a lehetsges tartomnynak az extremlis
pontjai B, C s D. A 4.2. alfejezetben ismertetett eljrst kvetve, vizsgljuk meg a (16)
feladat lehetsges bzismegoldsainak s a lehetsges tartomny extremlis pontjainak az
egymssal trtno megfeleltetst (lsd a 26. tblzatot). A C extremlis ponthoz bzisvltozk hrom halmaza tartozik. Megmutathat, hogy ahhoz, hogy egy n dntsi vltozval
rendelkezo LP feladat degenerlt legyen, a feladat korltoz felttelei kzl legalbb n + 1nek (az xi 0 elojelkorltokat is beleszmtva) aktvnak kell lennie egy extremlis pontban.
5 Bland megmutatta, hogy a ciklizls elkerlheto
a kvetkezo szablyok alkalmazsval (tegyk fel, hogy a
kiegszto- s tbblet-vltozk jellse: xn+1 , xn+2 , . . .) :
1 Belpo vltoznak (egy max feladatban) vlasszuk mindig azt a negatv egytthatj vltozt a clfggvnysorban, amelyiknek a legkisebb az indexe.
2 Ha a hnyados tesztben egyszerre tbb helyen valsul meg a minimum, akkor ezt a dntetlen-t gy oldjuk
fel, hogy a leheto legkisebb legyen a bzist elhagy vltoz indexe (a szbajv o k kzl).
6 A ciklizlsra egy gyakorlati plda tallhat pl. Kotiah s Slater (1973) munkjban.

4.7. Degenerci s konvergencia a szimplex algoritmus esetn

3. B R A
A (16) LP feladat
lehetsges
tartomnya

163

x2
6

B
x1 + x2 = 6

5
4

x1 x2 = 0
D

3
2
1

A
C

x1

A (16) feladatban az x1 x2 0, x1 0 s x2 0 felttelek mind aktvak a C pontban.


Minden olyan extremlis pont, amelyben hrom vagy tbb felttel aktv, egynl tbb bzisvltoz halmaznak fog megfelelni. A C pontban pldul s1 az egyik bzisvltoz, a msik
bzisvltoz azonban lehet az x2 , x1 vagy s2 brmelyike.
Most mr megvizsglhatjuk, hogy a szimplex eljrs mirt lehet rossz hatkonysg a
degenerlt LP feladatok megoldsra! Tegyk fel, hogy egy LP feladat degenerlt! Ekkor
sok bzisvltoz halmaz (akr tbb szz is) megfelelhet egy nemoptimlis extremlis pontnak. A szimplex algoritmus akr mindegyiket megvizsglhatja, miel o tt megllaptja, hogy
az extremlis pont nemoptimlis. Ezt a problmt szemlltette (kis mretben) a (16) feladat
megoldsa: a szimplex eljrs kt bziscsert vgzett, mielo tt meg tudta llaptani, hogy a
C pont csak szuboptimlis. Szerencsre egyes degenerlt LP feladatoknak olyan specilis
szerkezete van, ami lehetov teszi a megoldsukat a szimplexto l eltro, ms mdszerrel
(lsd pldul a hozzrendelsi feladat megoldst a 6. fejezetben).

Feladatok
A csoport

Rajzoljuk is fel a lehetsges tartomnyt s mutassuk meg,


hogy mely extremlis pontok felelnek meg egynl tbb bzisvltoz halmaznak!

1. Mg ha egy LP feladat indul tblja nemdegenerlt


is, egy ksobbi tblban fellphet a degenerci. Degenerlt
megolds sok esetben akkor addik a tblban, ha a hnyados teszt alkalmazsnl alternatv minimumok fordulnak
elo. Ennek a szemlltetsre oldjuk meg a kvetkezo LP feladatot:
max z = 5x1 + 3x2
f.h.

4x1 + 2x2 12

4x1 + x2 10
x1 + x 2 4

x1 , x2 0

2. Keressk meg a kvetkezo LP feladat optimlis megoldst:


min z = x1 x2
f.h.

x 1 + x2 1

x1 + x2 0

x1 , x2 0

164

4. fejezet A szimplex algoritmus

B csoport

max z =

3. Mutassuk meg, hogy ha a hnyados tesztnl az eldntetlen helyzetet az 1. sor 2. sorral szembeni preferlsval
dntjk el, akkor a kvetkezo LP feladat szimplex mdszerrel trtno megoldsa sorn ciklizls lp fel:

4.8.

f.h.

2x1 + 3x2 x3 12x4

2x1 9x2 + x3 + 9x4 0


1
3 x1 +

xi 0

x2 31 x3 2x4 0

(i = 1, 2, 3, 4)

A nagy M mdszer
Emlkezznk arra, hogy a szimplex algoritmusnak szksge van egy indul lbm-re. Az
sszes eddig megoldott feladatban az indul lbm-et a kiegszt o vltozk bzisvltozkknt
val felhasznlsval kaptuk. Ha egy LP feladatnak vannak vagy egyenl o sg felttelei,
akkor nem magtl rtetodo egy indul lbm megtallsa. A 4. plda azt fogja szemlltetni,
hogy milyen nehzsgek merlhetnek fel ilyen esetben. Ha nem magtl rtet o do egy lbm
megtallsa, akkor a nagy M mdszer (vagy a 4.9. alfejezet ktfzis szimplex mdszere) hasznlhat a problma megoldsra. Ebben az alfejezetben a nagy M mdszert
mutatjuk be, amely a szimplexalgoritmusnak egy olyan vltozata, amely gy jut el egy els o
lbm-hez, hogy mestersges vltozkkal bo vti a problmt. Az eredeti LP clfggvnye
termszetesen mdostand gy, hogy az sszes mestersges vltoz 0 legyen a szimplex
algoritmus befejezsekor. A kvetkezo plda szemllteti a nagy M mdszert.

4.

PLDA

Megolds

A Bevco cg egy Oranj nevu narancs zestsu dt o italt gyrt narancs-szda s narancsl
kombinlsval. Egy deka narancs-szda 0.5 deka cukrot s 1 mg C-vitamint, 1 deka narancsl pedig 0.25 deka cukrot s 3 mg C-vitamint tartalmaz. A Bevcnak 1 deka narancsszda 2 centbe kerl, 1 deka narancsl pedig 3 centbe. A Bevco marketing osztlya elhatrozta, hogy minden 10 deks Oranj-palack legalbb 20 mg C-vitamint s legfeljebb 4 deka
cukrot tartalmazhat. Lineris programozs segtsgvel hatrozzuk meg, hogy a Bevco cg
hogyan tud eleget tenni a marketing osztly kvetelmnyeinek minimlis kltsgek mellett!
Legyen
x1 = a narancs-szda mennyisge egy palack Oranj-ban dekban mrve
x2 = a narancsl mennyisge egy palack Oranj-ban dekban mrve
Ekkor a megfelelo LP feladat a kvetkezo:
min z = 2x1 + 3x2
1
1
f.h.
2 x1 + 4 x2 4

x1 + 3x2 20
x1 + x2 = 10

(cukor felttel)
(C-vitamin felttel)
(egy palack Oranj 10 deka)

(17)

x1 , x2 0
(A megoldst ebben az alfejezetben kso bb folytatjuk.)
A (17) standard alakra hozatala cljbl egy s1 kiegszto vltozt adunk a cukortartalom felttelhez s kivonunk egy e2 tbblet vltozt a C-vitamin felttelbo l. A clfggvnyt

4.8. A nagy M mdszer

165

a z 2x1 3x2 = 0 alakba trva a kvetkezo standard alakot kapjuk:


0. sor:
1. sor:
2. sor:
3. sor:

z 2x1 3x2
1
1
2 x1 + 4 x2 + s 1
x1 + 3x2
e2
x 1 + x2
minden vltoz nemnegatv

=
=
=
=

0
4
20
10

Egy lbm keresse sorn azt ltjuk, hogy az 1. sorban s1 = 4 egy lehetsges bzisvltoz
rtk lehetne. Ha a 2. sort megszorozzuk 1-gyel, lthatjuk, hogy e 2 = 20 lenne a bzisvltoz rtke a 2. sorra. Sajnos az e2 = 20 rtk megsrti az elojelkorltozst (e2 0).
Vgl pedig a 3. sorban nincs magtl add bzisvltoz. gy ahhoz, hogy a szimplex
algoritmust a (17) feladat megoldsra hasznljuk, a 2. s 3. sor mindegyiknek szksge
van egy bzis- (s egyben lehetsges megoldst ad) vltozra. Ezen problma orvoslsa
cljbl egyszeruen kitallunk egy lehetsges bzisvltozt minden olyan felttelhez,
amelynek erre szksge van. Mivel ezeket a vltozkat mi talltuk ki s nem valdi vltozk, mestersges vltozknak nevezzk o ket. Ha egy mestersges vltozt az i-edik
sorhoz adunk hozz, akkor ai -vel jelljk. A jelen feladatnl egy a2 mestersges vltozt
kell hozzadnunk a 2. sorhoz s egy a3 mestersges vltozt a 3. sorhoz. Az gy add
egyenletrendszer a kvetkezo :
z 2x1
1
2 x1
x1
x1

+
+
+

3x2
1
4 x2 + s 1
3x2
e2 + a2
x2
+ a3

=
=
=
=

0
4
20
10

(18)

Ekkor mr van egy lbm-nk: z = 0, s1 = 4, a2 = 20, a3 = 10. Sajnos nincs garancia arra,
hogy a (18) feladat optimlis megoldsa ugyanaz lesz, mint a (17)-. (18) megoldsnl
kaphatunk olyan optimlis megoldst, amelyben egy vagy tbb mestersges vltoz pozitv. Egy ilyen megolds esetleg nem lehetsges megoldsa az eredeti (17) feladat. Pldul
(18) optimlis megoldsa knnyen belthatan a kvetkez o : z = 0, s1 = 4, a2 = 20, a3 =
10, x1 = x2 = 0. Ez a megolds nem tartalmaz C-vitamint s 0 deka szdt tesz egy
palackba, s gy nem lehet az eredeti feladatunk megoldsa! Ha azt akarjuk, hogy a (18)
optimlis megoldsa egyben (17) megoldsa is legyen, akkor biztostanunk kell, hogy a
(18) optimlis megoldsban az sszes mestersges vltoz 0 legyen. Egy minimalizlsi
feladatban ezt gy tudjuk megtenni, hogy a clfggvnyhez minden a i mestersges vltoz
esetben hozzadunk egy Mai kifejezst. (Egy max feladatban a Mai kifejezst adjuk a
clfggvnyhez.) Itt M egy nagyon nagy pozitv szmot jelent. A (18) clfggvnynk
teht gy vltozik meg:
min z = 2x1 + 3x2 + Ma2 + Ma3
A megvltozott clfggvnysor:
z 2x1 3x2 Ma2 Ma3 = 0
gy mdostva a clfggvnyt (amely egy kltsgfggvny) rendkvl kltsgess vlik
az, ha egy mestersges vltoz pozitv. Ezzel a mdostott clfggvnnyel ezrt logikusnak tunik az, hogy a (18) optimlis megoldsban a2 = a3 = 0 teljesljn. Ez esetben a
(18) optimlis megoldsa az eredeti (17) feladatnak is megoldsa lesz. Azonban nha megtrtnik, hogy a (18)-nak megfelelo feladatot megoldva, nhny mestersges vltoz az

166

4. fejezet A szimplex algoritmus

optimlis megoldsban pozitv rtket vesz fel. Ha ez a helyzet, akkor az eredeti feladatnak
nincs lehetsges megoldsa.
A lertakbl kzenfekvo, hogy a mdszert mirt nevezik nagy M mdszernek. Most
megadjuk az eljrs formlis lerst.

A nagy M mdszer lersa


1. lps Alaktsuk t gy a feltteleket, hogy minden felttel jobb oldala nemnegatv legyen. Ehhez az szksges, hogy minden negatv jobb oldallal rendelkez o felttelt 1-gyel
szorozzunk meg. Gondoljunk arra, hogy ha egy egyenl o tlensget tetszoleges negatv szmmal szorzunk meg, akkor az egyenlo tlensg irnya megfordul. Pldul ez az eljrsunk
az x1 + x2 1 egyenlotlensget x1 x2 1-re vltoztatja, az x1 x2 2-t pedig
x1 + x2 2-re.
10 . lps Keressk meg az sszes olyan felttelt, amely most (az 1. lps utn) = vagy
felttel. A 3. lpsben egy mestersges vltozt fogunk adni ezen felttelek mindegyikhez.
2. lps Alaktsuk t mindegyik egyenlo tlensg felttelt standard alakra. Ez azt jelenti,
hogy ha az i-edik felttel felttel, akkor egy si kiegszto vltozt adunk hozz, s ha az
i-edik felttel felttel, akkor egy ei tbblet vltozt vonunk ki belole.

3. lps Ha (miutn az 1. lps befejezo dtt) az i-edik felttel vagy = felttel, akkor
adjunk hozz egy ai mestersges vltozt. Vegyk hozz a felttelekhez az ai 0 elojelkorltozst is.

4. lps Jelljn M egy nagyon nagy pozitv szmot. Ha az LP feladat egy min problma, akkor adjunk hozz (minden egyes mestersges vltozhoz tartozan) egy Ma i tagot
a clfggvnyhez. Ha az LP feladat egy max problma, akkor (minden egyes mestersges
vltoz esetben) adjunk hozz Mai -t a clfggvnyhez.

5. lps Mivel minden mestersges vltoz benne lesz az indul bzisban, mindegyikket ki kell kszblni a clfggvnysorbl, mielo tt megkezdjk a szimplex eljrst. Ez
biztostja, hogy egy kanonikus alakkal tudjunk kezdeni. A belp o vltoz megvlasztsnl emlkezznk arra, hogy M egy nagyon nagy pozitv szm. Pldul 4M 2 pozitvabb,
mint 3M + 900, s 6M 5 negatvabb, mint 5M 40. Most pedig oldjuk meg az talaktott feladatot a szimplex mdszerrel. Ha minden mestersges vltoz zr az optimlis
megoldsban, akkor megtalltuk az eredeti feladat optimlis megoldst. Ha brmelyik
mestersges vltoz pozitv az optimlis megoldsban, akkor az eredeti feladatnak nincs
lehetsges megoldsa.7
Ha egy mestersges vltoz elhagyja a bzist, oszlopa elhagyhat a ks o bbi tblzatokbl. Ez azrt teheto meg, mivel egy mestersges vltoz hasznlatnak clja egy indul
lehetsges bzismegolds elolltsa. Amint egy mestersges vltoz kikerl a bzisbl,
tovbb mr nincs r szksgnk. Ennek ellenre gyakran meg o rizzk a mestersges vltozkat az sszes tblban. Ennek az oka az 5.7. alfejezetben derl ki.

7 Elhanyagoltuk azt a leheto


sget, hogy amikor az LP feladatot (a mestersges vltozk segtsgvel) megoldottuk, akkor az utols tbla mutathatja azt is, hogy az LP feladat nemkorltos. Ha az utols tbla azt mutatja,
hogy az LP feladat nemkorltos s az sszes mestersges vltoz a tblban 0 rtku, akkor az eredeti LP feladat
nemkorltos. Ha az utols tbla azt mutatja, hogy az LP feladat nemkorltos s legalbb egy mestersges vltoz
pozitv, akkor az eredeti LP feladatnak nincs lehetsges megoldsa. Lsd Bazaraa s Jarvis (1990) munkjt a
rszletekrol.

4.8. A nagy M mdszer

Megolds
4. plda (folytats)

167

1. lps Mivel egyik korltoz felttelnek sem negatv a jobb oldala, egyik felttelt sem
kell megszoroznunk 1-gyel.
10 . lps A 2. s 3. felttelben mestersges vltozkra lesz szksg.

2. lps Adjunk egy s1 kiegszto vltozt az 1. sorhoz s vonjunk le egy e2 tbbletvltozt a 2. sorbl. Az eredmny:
min z = 2x1 + 3x2
1
1
1. sor:
2 x1 + 4 x2 + s 1
2. sor:
3. sor:

x1 + 3x2
x 1 + x2

= 4

e2 = 20
= 10

3. lps Adjunk egy a2 mestersges vltozt a 2. sorhoz s a3 -at a 3.-hoz. Az eredmny:


min z = 2x1 + 3x2
1. sor:
2. sor:
3. sor:

1
1
2 x1 + 4 x2 + s 1

x1 + 3x2
x 1 + x2

e2 + a2

= 4
= 20
+ a3 = 10

Ebbol a tblbl ltjuk, hogy indul lbm-nk a kvetkezo lesz: s1 = 4, a2 = 20 s a3 = 10.


4. lps Mivel egy min feladatot oldunk meg, Ma2 +Ma3 -t hozzadunk a clfggvnyhez
(ha egy max feladatot oldannk meg, akkor Ma2 Ma3 -at adnnk hozz). Ez rossz
sznben tnteti fel a2 -t s a3 -at a z minimalizlsa sorn, s ezrt az rtkk 0-ra lltsra
fog trekedni. A clfggvny most teht
min z = 2x1 + 3x2 + Ma2 + Ma3
5. lps A clfggvnysor
z 2x1 3x2 Ma2 Ma3 = 0
Mivel a2 s a3 benne vannak az indul lbm-ben (ti. ezrt vezettk be o ket), ezrt kikszblendok a clfggvnysorbl. Hogy ezt megtegyk, egyszeruen helyettestsk ezt a sort a
clfggvnysor + M(2. sor) + M (3. sor) kifejezssel. Ez azt adja, hogy
0. sor:
M(2. sor):

2x1

Mx1 +

3x2

Ma2 Ma3 = 0

3Mx2 Me2 + Ma2

M(3. sor):
Mx1 +
Mx2
j 0. sor: z + (2M 2)x1 + (4M 3)x2 Me2

= 20M

+ Ma3 = 10M
= 30M

Egyestve az j clfggvnysort (0. sort) az 13. sorokkal a 27. tblzatot kapjuk.


Mivel egy min feladatot oldunk meg, a clfggvnysorban a legnagyobb pozitv egytthatval rendelkezo vltoz lp be a bzisba. Mivel 4M 3 > 2M 2, az x2 vltoznak kell
belpnie a bzisba. A hnyados teszt azt mutatja, hogy az x 2 belphet a bzisba a 2. sorban,
ami azt jelenti, hogy az a2 vltoz el fogja hagyni a bzist. A bzistranszformci elvgzsnek legnehezebb rsze x2 kikszblse a clfggvnysorbl. Elo szr helyettestsk a 2.
sort az 31 (2. sor) kifejezssel. gy az j 2. sor:
1
1
1
3 x1 + x 2 3 e2 + 3 a 2

20
3

168

4. fejezet A szimplex algoritmus

27. T B L Z A T
A Bevc feladat
indul tblja

x1

x2

s1

e2

a2

a3

J.o.

Bzisvltoz

2M 2

4M 3

30M

z = 30M

3k
1

s1 = 4

16

0
0

1
0

1
0

0
1

20
10

a2 = 20
a3 = 10

20
3

s1

e2

a2

M3
3
1
12
13
1
3

34M
3
1
12
1
3
13

28. T B L Z A T
A Bevco feladat
elso tblja

0
0

1
1

x1

1
0
0
0

1
4

1
2

x2

2M3
0
3
5
0
12
1
1
3

2
0
3


1
0
0

a3

J.o.

60+10M
3
7
3
20
3
10
3

0
0
1

Bzisvltoz
z =
s1 =
x2 =
a3 =

60+10M
3
7
3
20
3
10
3

Hnyados

10

Hnyados
28
5

20
5

Most kikszblhetjk x2 -t a clfggvnysorbl hozzadva ehhez a (4M 3)(j 2.


sor) kifejezst, vagy ami ugyanaz, a (3 4M)(j 2. sor)-t. gy
(3 4M)x1
3
clfggvnysor:

(3 4M)(j 2. sor)

(3 4M)e2 (3 4M)a2
20(3 4M)
+
=
3
3
3
z + (2M 2)x1 + (4M 3)x2 Me2 = 30M

+(3 4M)x2

j clfggvnysor: z +

(2M 3)x1 (M 3)e2 (3 4M)a2 60 + 10M


+
+
=
3
3
3
3

Az x2 1. s 3. sorbl val kikszblsre elemi sormuveleteket vgezve a 28. tblzatot


> M3
onek x1 -et visszk be a bzisba. A hnyados
kapjuk. Mivel 2M3
3
3 , ezrt kvetkez
teszt azt mutatja, hogy most x1 -nek az aktulis tbla harmadik sorhoz tartoz bzisvltoz
helyre kell a bzisba kerlnie. Ekkor a3 elhagyja a bzist s a kvetkezo tblnkban a2 =
a3 = 0. Hogy x1 -et a 3. sorbeli a3 vltoz helyre bevigyk a bzisba, elo szr kicserljk
ezt a sort 32 (3. sor)-ra. gy az j 3. sor:
x1 +

e2 a2 3a3
+
=5
2
2
2

A clfggvnysorbl x1 kikszblshez ezt most helyettestjk a rgi clfggvnysor + (3 2M)(j 3. sor)/3 kifejezssel.
(2M 3)x1 (M 3)e2 (3 4M)a2 60 + 10M
+
+
=
3
3
3
3
(3 2M)(j 3. sor) (3 2M)x1 (3 2M)e2 (2M 3)a2
:
+
+
3
3
6
6
(3 2M)a3 15 10M
=
+
2
3
e2 (1 2M)a2 (3 2M)a3
Az j clfggvnysor:
z +
+
= 25
2
2
2

clfggvnysor:

z+

4.8. A nagy M mdszer

29. T B L Z A T
A Bevco feladat
optimlis tblja

x1

x2

s1

e2

a2

a3

J.o.

Bzisvltoz

12

12M
2
1
8
1
2
12

32M
2
58
12
3
2

25

z = 25

18
12
1
2

1
4

s1 =

x2 = 5

x1 = 5

169

1
4

Az j 1. s 2. sort a szoksos mdon szmtjuk ki, s eredmnyl a 29. tblzatot kapjuk.


Mivel a clfggvnysorban minden vltoznak nempozitv az egytthatja, ez egy optimlis tbla, s mivel ebben a tblban minden mestersges vltoz 0 rtku, gy megtalltuk
a Bevco feladat optimlis megoldst: z = 25, x1 = x2 = 5, s1 = 14 , e2 = 0. Ez azt jelenti,
hogy a Bevco cg a 10 deks Oranj palack gyrtsi kltsgt 25 centen tudja tartani 5 deka
narancs-szdt keverve 5 deka narancslvel. Figyeljk meg, hogy az a 2 oszlopt elhagyhattuk volna a tblbl, miutn a2 elhagyta a bzist (az elso bziscsere eredmnyeknt), s
az a3 oszlopt is elhagyhattuk volna miutn a3 kikerlt a bzisbl (a msodik bziscsere
eredmnyeknt).

Hogyan ismerjnk fel egy lehetsges megolds nlkli LP feladatot?


Most gy mdostjuk a Bevco feladatot, hogy elo rjuk, hogy egy 10 deks Oranj palack
legalbb 36 mg C-vitamint tartalmazzon. Mivel mg 10 deka narancsl is csak 3(10) = 30
mg C-vitamint tartalmaz, tudjuk, hogy a Bevco felteheto en nem tudja teljesteni az j Cvitamin-kvetelmnyt. Ez azt jelenti, hogy a Bevco LP feladatnak most nincs lehetsges
megoldsa. Nzzk, hogyan mutatja ki a nagy M mdszer az LP feladat lehetsges megoldshalmaznak ressgt! A Bevco LP feladatt a kvetkezo re vltoztattuk:
min z = 2x1 + 3x2
f.h.

1
1
2 x1 + 4 x2

4
x1 + 3x2 36

x1 + x2 = 10
x1 , x2 0

(cukor korlt)
(C-vitamin korlt)

(19)

(10 deks sszmennyisg korltja)

Miutn elvgeztk a nagy M mdszer 15. lpseit, megkapjuk a 30. tblzatban lv o indul tblt. Mivel 4M 3 > 2M 2, x2 -t bevisszk a bzisba. A hnyados teszt azt mutatja,
hogy x2 -t a 3. sorhoz tartoz vltoz helyre kell bevonnunk, teht a 3 elhagyja a bzist. Az
x2 bzisba trtnt bevitele utn a 31. tblzatot kapjuk. Mivel a clfggvnysorban minden
vltoznak nempozitv az egytthatja, ez a tbla optimlis. A tbla ltal adott optimlis
megolds: z = 30 + 6M, s1 = 32 , a2 = 6, x2 = 10, a3 = e2 = x1 = 0. Mivel az a2 mestersges
vltoz pozitv az optimlis tblban, az 5. lps azt mutatja, hogy az eredeti LP feladatnak
nincs lehetsges megoldsa.8
8 Annak magyarzatul, hogy a (19) feladatnak mirt nem lehet megoldsa, tegyk fel az ellenkez o
jt, teht hogy van: (x1 , x2 ). Vilgos, hogy ha a3 = a2 = 0, akkor (x1 , x2 ) lehetsges megolds lesz a mdostott LP
feladatunkra (az LP feladat mestersges vltozkkal) vonatkozan. Ha behelyettestnk (x1 , x2 )-t a mdostott
clfggvnybe (z = 2x1 + 3x2 + Ma2 + Ma3 ), akkor azt kapjuk, hogy z = 2x1 + 3x2 (ez abbl kvetkezik, hogy
a3 = a2 = 0). Mivel M nagy, ez a z rtk biztosan kisebb, mint 6M + 30. Ez ellentmond annak a tnynek, hogy
mdostott clfggvnynkre a legjobb z rtk 6M + 30. Ez azt jelenti, hogy eredeti (19) LP feladatunknak nem
lehet megoldsa.

170

4. fejezet A szimplex algoritmus

30. T B L Z A T
A Bevco feladat
indul tblja
(nincs lehetsges
megolds)

31. T B L Z A T
A Bevco feladatnl
a lehetsges
megolds hinyt
jelzo tbla

x1

x2

s1

e2

a2

a3

J.o.

2M 2

4M 3

46M

1
4

3
1k

0
0

1
0

1
0

0
1

36
10

1
2

Bzisvltoz
z = 46M
s1 = 4

16

a2 = 36
a3 = 10

12
10

0
0

1
1

x1

s2

s1

e2

a2

a3

J.o.

1
0
0
0

1 2M

0
0
0
1

0
1
0
0

M
0
1
0

0
0
1
0

3 4M
14
3
1

30 + 6M

1
4

2
1

Hnyados

3
2

6
10

Bzisvltoz
z = 6M + 30
s1 = 32
a2 = 6
x2 = 10

sszegezve, ha brmely mestersges vltoz is pozitv az optimlis nagy M tblban,


akkor az eredeti LP feladatnak nincs lehetsges megoldsa.
Figyeljk meg, hogy amikor a nagy M mdszert hasznljuk, nehz meghatrozni,
milyen nagy legyen az M rtke. ltalban M-et gy vlasztjuk meg, hogy legalbb 100szor nagyobb legyen, mint a legnagyobb egytthat az eredeti clfggvnyben. Ilyen nagy
szmoknak a bevezetse a feladatba kerektsi hibkat s ms szmtstechnikai jellegu
nehzsgeket okozhat. Ezrt a legtbb szmtgpes programcsomag az LP feladatokat a
ktfzis szimplex mdszerrel oldja meg.

Feladatok
A csoport
Hasznljuk a nagy M mdszert a kvetkezo LP feladatok
megoldsra:
1.
min z = 4x1 + 4x2 + x3
f.h.

3.

max z = 3x1 + x2
f.h.

x 1 + x2 + x3 2
3

x1 , x2 , x3 0

x1 , x2 0

2x1 + x2

x1 + x 2 = 3

2x1 + x2 + 3x3 3
2.

min z = 2x1 + 3x2


f.h.

x 1 + x2 3

2x1 + x2 4

2x1 + x2 4

x1 x2 1
x1 , x2 0

4.

min z = 3x1
f.h.

2x1 + x2 6

3x1 + 2x2 = 4
x1 , x2 0

4.9. A ktfzis szimplex mdszer

4.9.

171

A ktfzis szimplex mdszer9


Ha egy lehetsges bzismegolds nem addik kzenfekv o mdon, akkor a ktfzis szimplex mdszer a nagy M mdszer alternatvjaknt hasznlhat. A ktfzis szimplex mdszerben mestersges vltozkat adunk hozz ugyanazokhoz a felttelekhez, mint a nagy
M mdszerben. Ezutn az eredeti LP feladathoz megkeresnk egy lbm-et az 1. fzisbeli
LP feladat megoldsval. Ebben az LP feladatban a clfggvnyt az sszes mestersges
vltoz sszegnek minimalizlsval kpezzk. Az 1. fzis befejezsekor jra bevezetjk
az eredeti LP feladat clfggvnyt s meghatrozzuk az ezzel kaphat optimlis megoldst. A kvetkezo lpsek rjk le a ktfzis szimplex mdszert. Figyeljk meg, hogy a
ktfzis szimplex mdszer 13. lpsei azonosak a nagy M mdszer 13. lpseivel.
1. lps Alaktsuk t a feltteleket gy, hogy a felttelek jobb oldala pozitv legyen. Ehhez
az szksges, hogy minden olyan felttelt, aminek a jobb oldala negatv, megszorzunk 1gyel.
10 . lps Jelljnk meg minden olyan felttelt, amely most (az 1. lps utn) = vagy
felttel. A 3. lpsben minden ilyen felttelhez egy mestersges vltozt fogunk hozzadni.
2. lps Hozzunk minden egyenlo tlensg felttelt standard alakra. Ha az i-edik felttel
alak, akkor adjunk hozz egy si kiegszto vltozt. Ha viszont szerepel a felttelben,
akkor vonjunk ki belole egy ei tbblet vltozt.
3. lps Ha (az 10 lps utn) az i-edik felttel vagy = felttel, adjunk hozz egy a i
mestersges vltozt. Vegyk hozz a modellhez az ai 0 elojelkorltozsi felttelt is.

4. lps Egyelore tekintsnk el az eredeti LP feladat clfggvnyto l. Ehelyett oldjunk


meg egy olyan LP feladatot, amelynek clfggvnye min w 0 = (az sszes mestersges vltoz sszege). Ezt az 1. fzisbeli LP feladatnak nevezzk. Az 1. fzisbeli LP feladat megoldsa a mestersges vltozkra 0 rtket knyszert.

Mivel minden ai 0, az 1. fzisbeli LP feladat megoldsa a kvetkezo 3 eset egyikre


vezet:
1. eset A w0 optimlis rtke nagyobb zrnl. Ebben az esetben az eredeti LP feladatnak
nincs lehetsges megoldsa.
2. eset w0 optimlis rtke zr, s nincs mestersges vltoz az 1. fzisbeli feladat optimlis bzisban. Ebben az esetben elhagyjuk az sszes olyan oszlopot az 1. fzisbeli
optimlis tblbl, amelyek mestersges vltozknak felelnek meg. Most egytt alkalmazzuk az eredeti clfggvnyt s az 1. fzisbeli optimlis tbla korltoz feltteleit. Ez a 2.
fzisbeli LP-t eredmnyezi. Ennek az optimlis megoldsa az eredeti LP feladat optimlis
megoldsa lesz.
3. eset A w0 optimlis rtke zr s legalbb egy mestersges vltoz benne van az 1.
fzisbeli optimlis bzisban. Ebben az esetben megkapjuk az eredeti LP feladat optimlis
megoldst, ha az 1. fzis vgn az optimlis 1. fzisbeli tblbl elhagyjuk az sszes
bzison kvli mestersges vltozt s az eredeti feladat minden olyan vltozjt, amelynek
negatv egytthatja van az 1. fzisbeli optimlis tbla clfggvnysorban.
Mielott az 1. s 2. esetet szemllteto pldkat oldannk meg, rviden megvizsgljuk,
hogy w0 > 0 mirt felel meg annak, hogy az eredeti LP feladatnak nincs lehetsges megoldsa, w0 = 0 pedig annak az esetnek, hogy az eredeti LP feladatnak legalbb egy lehetsges
megoldsa van.
9 Ezen

alfejezet kihagysa nem szaktja meg a trgyals folytonossgt.

172

4. fejezet A szimplex algoritmus

Az 1. s a 2. fzisbeli lehetsges megoldsok


Tegyk fel, hogy az eredeti LP feladatnak nincs lehetsges megoldsa. Ekkor az egyetlen
lehetosg arra, hogy az 1. fzisbeli LP feladatra egy lehetsges megoldst kapjunk az, hogy
legalbb egy mestersges vltoznl megengedjk a pozitivitst. Ebben az esetben w 0 >
0 (1. eset) lesz az eredmny. Msrszt, ha az eredeti LP feladatnak van egy lehetsges
megoldsa, akkor ez (minden ai = 0 mellett) az 1. fzisbeli LP lehetsges megoldsa s
w0 = 0-ra vezet. Ez azt jelenti, hogy ha az eredeti LP feladatnak van lehetsges megoldsa,
akkor az optimlis 1. fzisbeli megoldsra w0 = 0. A tovbbiakban az eljrst a ktfzis
szimplex mdszer 1. s 2. esetnek megfelelo pldk megoldsn keresztl mutatjuk be.

5.

PLDA

Eloszr a ktfzis szimplex mdszert a 4.8. alfejezet Bevco feladatnak megoldsra hasznljuk. Emlkezznk vissza, hogy a Bevco feladat a kvetkez o volt:
min z = 2x1 + 3x2
1
1
2 x1 + 4 x2

4
x1 + 3x2 20

f.h.

x1 + x2 = 10
x1 , x2 0

Megolds

Mint a nagy M mdszerben, az 13. lpsekben most is a kvetkez o kppen alakulnak t


a felttelek:
1
1
= 4
2 x1 + 4 x2 + s 1
x1 + 3x2
e2 + a2
= 20
x1 + x 2

+ a3 = 10

A 4. lps a kvetkezo 1. fzisbeli LP feladatot eredmnyezi:


min w0 = a2 + a3
f.h.

1
1
2 x1 + 4 x2 + s 1

x1 + 3x2
x1 + x 2

=4
e2 + a2

= 20
+ a3 = 10

Ez az egyenletrendszer az 1. fzisra egy indul lbm-et ad (s1 = 4, a2 = 20, a3 = 10). Figyeljk meg azonban, hogy a tbla clfggvnysora (w0 a2 a3 = 0) tartalmazza az a2 s a3
bzisvltozkat. Mint a nagy M mdszernl, a2 s a3 itt is kikszblendo a clfggvnysorbl, mielott megoldjuk az 1. fzis feladatt. Az a2 s a3 clfggvnysorbl trtno kikszblse cljbl egyszeruen adjuk hozz a 2. s 3. sort a 0. sorhoz (clfggvnysorhoz):
0. sor:
+ 2. sor:
+ 3. sor:

w0

a2 a3 = 0

x1 + 3x2 e2 + a2
= 20
x 1 + x2
+ a3 = 10

= j 0. sor: w0 + 2x1 + 4x2 e2

= 30

Az j clfggvnysort az 1. fzisbeli korltoz felttelekkel sszekapcsolva megkapjuk a


32. tblzatban lthat 1. fzisbeli indul tblt. Mivel az 1. fzisbeli feladat mindig min
feladat (mg akkor is, ha az eredeti LP problma egy max feladat), x 2 -t bevisszk a bzisba.

4.9. A ktfzis szimplex mdszer

32. T B L Z A T
Indul 1. fzisbeli
tbla a Bevco
problmra

33. T B L Z A T
1. fzisbeli tbla a
Bevco problmra
egy iterci utn

w0

x2

1
2

1
4

0
0

1
1

w0

x1

1
0
0
0

34.

x1

s1
0

1
k
3
0
1
0

e2

a2

Bzisvltoz

J.o.

a3

30

1
0

1
0

0
1

20
10

w = 30

s1

e2

a2

a3

J.o.

2
0
3
5
0
12
1
1
3

2
0
3


1
3
1
12
13
1
3

43

1
3
13

10
3
7
3
20
3
10
3

0
0

1
12

0
1

TBLZAT

Optimlis 1.
fzisbeli tbla a
Bevco problmra

w0

x1

x2

s1

e2

a2

a3

J.o.

1
0
0
0

0
0
0
1

0
0
1
0

0
1
0
0

1
58
12

18
12
1
2

1
8
1
2
12

3
2

Hnyados

x2

173

1
4

5
5

s1 = 4

16

a2 = 20
a3 = 10

20
3

10

Bzisvltoz
w0 =
s1 =
a2 =
a3 =

10
3
7
3
20
3
10
3

Hnyados
28
5

20
5

Bzisvltoz
w0 = 0
s1 = 14
x2 = 5
x1 = 5

A hnyados teszt azt mutatja, hogy x2 a bzisba a 2. sorbeli a2 helyre lp be, amely pedig
elhagyja a bzist. A szksges elemi sortranszformcik elvgzse utn a 33. tblzatot
kapjuk. Mivel 23 > 13 , x1 lp be a bzisba a 3. sorbeli bzisvltoz helyre. gy a3 elhagyja
a bzist. Mivel a2 s a3 az aktulis bziscsere utn bzison kvli lesz, mr tudjuk, hogy a
kvetkezo tbla optimlis lesz az 1. fzisban. Egy pillants a 34. tblzatra meger o sti ezt
a tnyt.
Mivel w0 = 0, az 1. fzis befejezodtt. A lehetsges bzismegoldst: s1 = 14 , x2 = 5, x1 =
5 megtalltuk. Mivel nincsenek mestersges vltozk az 1. fzis vgn lev o bzisban, a
feladat a 2. eset egy pldja. Most elhagyjuk az a2 s a3 mestersges vltozk oszlopt
(tovbb nincs szksgnk rjuk), s jra bevezetjk az eredeti clfggvnyt.
min z = 2x1 + 3x2

vagy z 2x1 3x2 = 0

Mivel x1 s x2 egyarnt az 1. fzisbeli optimlis bzisban vannak, ki kell kszblni o ket


a 2. fzis clfggvnysorbl. Ehhez a sorhoz hozzadjuk az optimlis 1. fzisbeli tbla
soraibl szmtott 3(2. sor) + 2(3. sor) kifejezst.
A 2. fzis 0. sora:
+ 3(2. sor):
+ 2(3. sor):

z 2x13x2

= Az j 2. fzisbeli 0. sor: z

2x1

=0
3
2 e2

3x2
= 15
+ e2 = 10
12 e2 = 25

174

4. fejezet A szimplex algoritmus

A 2. fzist most a kvetkezo egyenletrendszerrel kezdjk:


min z 21 e2 = 25

x1

s1 18 e2 = 14
x2 12 e2 = 5
+ 12 e2 = 5

Ez a megolds optimlis. Ebben a feladatban teht a 2. fzis nem ignyel bziscsert az


optimlis megolds megkeresshez. Ha a 2. fzisbeli clfggvnysor nem jelez optimumot, akkor egyszeruen folytassuk a szimplex eljrst mindaddig, amg nem kapunk egy
optimlis clfggvnysort.
sszegezve: 2. fzisbeli optimlis tblnk azt mutatja, hogy a Bevco problma optimlis
megoldsa z = 25, x1 = 5, x2 = 5, s1 = 14 s e2 = 0. Ez termszetesen megegyezik a nagy
M mdszer ltal a 4.8. alfejezetben tallt optimlis megoldssal.

6.

PLDA

A 2. eset szemlltetshez gy mdostjuk a Bevco feladatt, hogy a szksges C-vitamin-mennyisg 36 mg legyen. A 4.8. alfejezetbo l tudjuk, hogy ennek a feladatnak nincs
lehetsges megoldsa. Ez azt jelenti, hogy az 1. fzisbeli optimlis megoldsra w 0 > 0 (1.
eset). Ennek igazolsul kezdjk az eredeti feladattal:
min z = 2x1 + 3x2
1
1
f.h.
2 x1 + 4 x2 4

x1 + 3x2 36
x1 + x2 = 10
x1 , x2 0

Megolds

A ktfzis szimplex mdszer 14. lpseit elvgezve, a kvetkez o 1. fzisbeli feladatot


kapjuk:
min w0 = a2 + a3
1
1
=4
f.h.
2 x1 + 4 x2 + s 1
x1 + 3x2
x1 + x 2

e2 + a2

= 36
+a3 = 10

Ebbol az egyenletrendszerbol ltjuk, hogy az indul 1. fzisbeli lbm: s1 = 4, a2 = 36 s


a3 = 10. Mivel az a2 s a3 bzisvltozk szerepelnek az 1. fzisbeli clfggvnyben, ezrt
ki kell o ket kszblni az 1. fzisbeli clfggvnysorbl. Hogy ezt elrjk, a 2. s 3. sort
hozzadjuk a 0. sorhoz (clfggvnysorhoz):
0. sor:
+ 2. sor:
+ 3. sor:

w0

a2 a3 = 0

x1 + 3x2 e2 + a2
= 36
x 1 + x2
+ a3 = 10

= Az j 0. sor: w0 + 2x1 + 4x2 e2

= 46

Az j clfggvnysorral felptett 1. fzisbeli indul tblt a 35. tblzatban lthatjuk. Mivel 4 > 2, x2 -t kell bevinnnk a bzisba. A hnyados teszt azt mutatja, hogy x 2 -nek a 3.
sorban kell a bzisba kerlnie, gy a3 -at annak elhagysra knyszertve. Az eredmnyl

4.9. A ktfzis szimplex mdszer

175

add tbla a 36. tblzatban lthat. Mivel a clfggvnysorban egy vltoznak sincs pozitv komponense, ez egy optimlis 1. fzisbeli tbla, de mivel a w 0 -nek 6 > 0 az optimlis
rtke, az eredeti LP feladatnak a tblzatbeli megolds nem lehetsges megoldsa. Ez logikus is, mivel ha az eredeti LP feladatnak lenne lehetsges megoldsa, akkor az lehetsges
megolds lenne az 1. fzisbeli LP szmra is (miutn rgztettk az a 2 = a3 = 0 rtkeket), s ez a lehetsges megolds w0 = 0-t eredmnyezett volna. Mivel a szimplex eljrs
nem tudott olyan elso fzisbeli megoldst tallni, amelyre w0 = 0 lenne, ezrt az eredeti LP
feladatnak nincs lehetsges megoldsa.
35. T B L Z A T
Az 1. fzis indul
tblja a Bevco
feladatra (nem
tartalmaz
lehetsges
megoldst)

36.

w0

x1

x2

s1

e2

a2

Bzisvltoz

J.o.

a3

46

1
0

1
0

0
1

36
10

1
2

1
4

w = 46

0
0

1
1

3
0
1k 0

w0

x1

x2

s1

e2

a2

a3

J.o.

1
0
0
0

0
0
0
1

0
1
0
0

1
0
1
0

0
0
1
0

4
14
3
1

TBLZAT

A Bevco
feladatnak az a
tblja, amely
jelzi, hogy nincs
lehetsges
megolds

M EGJEGYZSEK

1
4

2
1

Hnyados

3
2

6
10

s1 = 4

16

a2 = 36
a3 = 0

12
10

Bzisvltoz
w0 = 6
s1 = 32
a2 = 6
x2 = 10

1. Akrcsak a nagy M mdszernl, a mestersges vltozkra vonatkoz oszlopok itt is elhagyhatk a tovbbi tblkbl, amint az adott mestersges vltoz elhagyta a bzist. A Bevco problma
megoldsnl teht az a2 oszlopa elhagyhat az elso 1. fzisbeli bzistranszformci utn, mg a3
oszlopa a msodik bzistranszformci utn hagyhat el.
2. Megmutathat, hogy (a hnyados tesztnl a tbbszrs legkisebb hnyados esett kizrva) a nagy
M mdszer s a ktfzis mdszer elso fzisa ugyanazt a bziscsere sorozatot hajtja vgre. Ennek az
ekvivalencinak az ellenre a legtbb szmtgpes programcsomag a ktfzis mdszert hasznlja
egy indul lbm megkeressre. Ennek az az oka, hogy az M, egy nagy pozitv szm lvn, kerektsi
hibkat s ms szmtstechnikai jellegu nehzsgeket idzhet elo. A ktfzis mdszer nem vezet
be semmilyen nagy szmot a clfggvnybe, s gy elkerli az ilyen jellegu problmkat.

Feladatok
A csoport
1. Hasznljuk a ktfzis szimplex mdszert a 4.8. alfejezet feladatainak megoldsra!

2. Magyarzzuk meg, hogy az 1. fzisbeli LP feladatnak


ltalban mirt vannak alternatv optimlis megoldsai!

176

4. fejezet A szimplex algoritmus

4.10.

Elojelkorltozatlan
vltozk esete
LP feladatok szimplex algoritmussal trtno megoldsnl a hnyados tesztet hasznltuk
annak eldntsre, hogy az egyes sorokhoz tartoz bzisvltozk helyre melyik bzisvltoz kerljn. Emlkezznk, hogy a hnyados teszt mukdse azon alapult, hogy minden
lehetsges pontban az sszes vltoznak nemnegatvnak kellett lennie. Ezrt, ha egyes vltozknak megengedjk, hogy elo jelkorltozatlanok (ekn-ek) legyenek, akkor a hnyados
teszt s a szimplex algoritmus mr nem hasznlhat. Ebben az alfejezetben bemutatjuk,
hogyan lehet egy elojelkorltozatlan vltozkkal rendelkezo LP feladatot talaktani egy
olyan LP feladatt, amelyben mr az sszes vltoz nemnegatv.
Minden ekn (elojelkorltozatlan) xi vltozra kt j vltoz: x0i s x00i bevezetsvel kezdjk. Ezutn x0i x00i -t helyettestnk xi helyre minden korltoz felttelben s a clfggvnyben. Tovbb vegyk mg hozz a tbbihez az x 0i 0 s x00i 0 elojelkorltozsokat.
Ennek a helyettestsnek a clja xi -t kt nemnegatv vltoz, x0i s x00i klnbsgeknt kifejezni. Mivel most minden vltoznak nemnegatvnak kell lennie, elindulhatunk a szimplex
eljrssal. Mint ahogyan rvidesen ltjuk majd, egyetlen lehetsges bzismegoldsban sem
teljeslhet egyidejuleg x0i > 0 s x00i > 0. Ez azt jelenti, hogy minden lehetsges bzismegoldsra minden egyes xi ekn vltoz a kvetkezo hrom eset egyikbe tartozik:
1. eset x0i > 0 s x00i = 0. Ez az eset akkor lp fel, ha egy lbm-ben xi > 0. Ekkor xi =
x0i x00i = x0i . gy, xi = x0i . Pldul, ha xi = 3 egy lbm-ben, akkor ezt x0i = 3 s x00i = 0 mutatja.

2. eset x0i = 0 s x00i > 0. Ez az eset lp fel, ha xi < 0. Mivel xi = x0i x00i , azt kapjuk, hogy
xi = x00i . Pldul, ha xi = 5 egy lbm-ben, akkor x0i = 0 s x00i = 5 lesz. S gy xi = 0 5 =
5.
3. eset x0i = x00i = 0. Ebben az esetben xi = 0 0 = 0.

A kvetkezo plda megoldsnl ltni fogjuk, hogy egy lbm-re mirt nem llhat fenn
egyszerre x0i > 0 s x00i > 0 is.

7.

PLDA

Megolds

Egy pknek 30 deka lisztje s 5 csomag leszto je van. Egy vekni kenyr stshez 5 deka
lisztre s 1 csomag lesztore van szksg. Egy rd kenyr 30 centrt adhat el. A pk mg
beszerezhet tovbbi lisztet 4 cent/deka ron, vagy eladhatja a megmaradt lisztet ugyanilyen
ron. rjuk fel s oldjuk meg azt az LP feladatot, amely segt a pknek a profitjt maximalizlni!
Definiljuk a vltozkat:
x1 = az elksztett kenyerek szma
x2 = a rendelkezsre ll lisztmennyisg nvelse (dekban) kszpnzes vsrlssal
Ezrt x2 > 0 azt jelenti, hogy x2 deka lisztet vsrolunk, x2 < 0 jelentse pedig az, hogy
x2 mennyisget eladunk a lisztbol, vgl x2 = 0 azt jelzi, hogy sem nem vesznk, sem
nem adunk el lisztet. Megjegyezve, hogy x1 0 s x2 ekn vltoz, a megfelelo LP feladat
a kvetkezo:
max z = 30x1 4x2
f.h.

5x1 30 + x2
x1 5

x1 0, x2 ekn

(liszt felttel)
(leszto felttel)


4.10. Elojelkorltozatlan
vltozk esete

177

Mivel x2 ekn, x02 x002 -t helyettestsk be x2 helyre a clfggvnybe s a felttelekbe.


Ebbol
max z = 30x1 4x02 + 4x002
f.h.
5x1 30 + x02 x002
x1 5
x1 , x02 , x002 0

A clfggvny 0. sor formra hozsa s az s1 s s2 -nek a felttelekhez trtno hozzadsa utn a 37. tblzatban tallhat indul tblt kapjuk. Figyeljk meg, hogy az x 02 -hz
tartoz oszlop egyszeruen az ellentettje az x002 -hz tartoz oszlopnak. Ltjuk majd, hogy
akrhny bziscsert csinlunk is, az x02 oszlop mindig az ellentettje marad az x002 oszlopnak. (Lsd a 6. feladatot ennek az lltsnak a bizonytsra.)
37. T B L Z A T
Indul tbla az ekn
vltozt
tartalmaz LP-re

x1

30

38. T B L Z A T
Elso tbla az ekn
LP-re

39. T B L Z A T
Optimlis tbla az
ekn LP-re

Bzisvltoz

z = 0

30

s1 = 30

s2 = 5

x002

s1

s2

5 1
1k 0

J.o.

x02

Hnyados

x1

x02

x002

s1

s2

J.o.

Bzisvltoz

Hnyados

1
0

0
0

30
5

z = 150
s1 = 5

4 0
1k 1

150
5

4
1

x1 =

x1

x02

x002

s1

s2

J.o.

Bzisvltoz

1
0
0

0
0
1

0
1
0

0
1
0

4
1
0

10
5
1

170
5
5

z = 170
x002 = 5
x1 = 5

Mivel x1 -nek van a legnagyobb abszolt rtku negatv egytthatja a 0. sorban, ezrt
x1 lp be a bzisba a 2. sorban (az ehhez tartoz bzisvltoz helyre). Az eredmnyt a 38.
tblzat mutatja. Itt is megfigyelhetjk, hogy x02 oszlopa az x002 oszlopnak ellentettje.
Mivel most az x002 -nek van a legnagyobb abszolt rtku negatv egytthatja a 0. sorban,
bevisszk x002 -t a bzisba az 1. sorbeli bzisvltoz helyre. Az eredmny a 39. tblzatban
lthat. Figyeljk meg, hogy x02 oszlopa itt is az x002 oszlopnak ellentettje. Ez a tbla optimlis, gy az optimlis megolds a pk feladatra z = 170, x1 = 5, x002 = 5, x02 = 0, s1 = s2 = 0.
A pk teht 5 kenyr elksztsvel 170 cent profitra tesz szert. Mivel x 2 = x02 x002 = 05 =
5, a pknek el kell adnia 5 deka lisztet. A pk szmra az optimlis lehet o sg a liszt eladsa, mivel az 5 csomag meglevo lesztoje legfeljebb 5 rd kenyr elksztst teszi lehetov. Ehhez az 5 kenyrhez 5(5) = 25 deka liszt szksges, s gy 30 25 = 5 deka eladni
val liszt megmarad.

178

4. fejezet A szimplex algoritmus

Az x02 s x002 vltozk sohasem lesznek ketten egytt bzisvltozk ugyanabban a tblban. Annak beltsra, hogy ez mirt van gy, tegyk fel, hogy x 002 bzisvltoz (ahogyan az
optimlis tblban ltjuk). Ekkor az x002 oszlopa egyetlen 1-es rtket tartalmaz, s az sszes
tbbi eleme 0 lesz. Mivel az x02 oszlopa mindig az x002 oszlopnak az ellentettje, ezrt az x02
oszlopa egyetlen 1-t tartalmaz, s az sszes tbbi eleme 0 lesz. Egy ilyen tblnak nem
lehet az x02 is lehetsges bzisvltozja. Ugyanez az okoskods mutatja, hogy ha x i egy ekn
(elojelkorltozatlan) vltoz, akkor x0i s x00i mindegyike nem lehet bzisvltoz ugyanabban a tblban. Ez azt jelenti, hogy egy tetszo leges tblban x0i s x00i egyike, vagy mindketto
0, s hogy az 13. esetek egyike mindig be fog kvetkezni.
A kvetkezo plda azt mutatja be, hogy hogyan hasznlhatk ekn vltozk a termelskiegyenltsi kltsgek modellezsre (amit a 3.10. alfejezet Sailco pldjban trgyaltunk).

8.

PLDA

A Mondo motorkerkpr zemnek dntenie kell a kvetkez o 4 negyedvre vonatkoz termelsi tervrol. A kereslet motorkerkprok irnt a kvetkezo lesz: 1. negyedv: 40; 2.
negyedv: 70; 3. negyedv: 50; 4. negyedv: 20. A Mondo zemet ngyfle kltsg terheli.
1.

Egy motorkerkpr gyrtsi kltsge 400$.

2. Minden negyedv vgn, legyrtott motorkerkpronknt 100$ kszletezsi kltsg


merl fel.
3. A termelsnek az egyik negyedvro l a kvetkezore trtno nvelse alkalmazottak
betantsi kltsgvel jr egytt. Becslsek szerint motorkerkpronknt 700$ kltsg szrmazik abbl, ha a termelst az egyik negyedvro l a kvetkezore megnveljk.
4. A termelsnek az egyik negyedvro l a kvetkezore trtno cskkentsbol olyan kltsgek szrmaznak, mint pldul vgkielgtsek kifizetse, a munkamorl romlsbl szrmaz vesztesgek, stb. Becslsek szerint ha a termels cskken az egyik negyedvr o l a
kvetkezore, akkor ez 600$ kltsget eredmnyez motorkerkpronknt.
Minden keresletet idoben ki kell elgteni, s egy adott negyedv termelse mr felhasznlhat az aktulis negyedv ignynek kielgtsre. Az 1. negyedvet kzvetlenl megelozo negyedvben 50 Mondo motorkerkprt gyrtottak. Tegyk fel, hogy az 1. negyedv
elejn nincsen motorkerkpr raktron. Fogalmazzunk meg egy olyan LP feladatot, amely
minimalizlja a Mondo zem teljes kltsgt a kvetkezo ngy negyedvben!
Megolds

A raktrozsi s termelsi kltsgek megadshoz definiljuk t = 1, 2, 3, 4-re a kvetkez o


vltozkat:
pt = a t-edik negyedv alatt gyrtott motorkerkprok szma
it = raktrkszlet a t-edik negyedv vgn
A termelsi mennyisg vltozsakor fellpo kiegyenltsi kltsgek (lsd a 3. s 4. pontot),
meghatrozshoz bevezetett vltozk:
xt = az a mennyisg, amennyivel a t-edik negyedv termelse meghaladja az el o zot
Mivel xt nem elojelkorltozott, felrhatjuk gy: xt = xt0 xt00 , ahol xt0 0 s xt00 0. Tudjuk,
hogy ha xt 0, akkor xt = xt0 s xt00 = 0. Hasonlan, ha xt 0, akkor xt = xt00 s xt0 = 0.


4.10. Elojelkorltozatlan
vltozk esete

179

Ez azt jelenti, hogy


xt0 = a t-edik negyedv termelsnvekedse a (t 1)-edikhez kpest
xt00

(xt0 = 0 ha a t-edik peridus termelse kevesebb, mint a (t 1)-edik)


= a termels cskkense a t-edik negyedben a (t 1)-edikhez kpest
(xt0 = 0 ha a t-edik peridus termelse kisebb, mint az elo zo)

Pldul, ha p1 = 30 s p2 = 50, akkor x2 = 50 30 = 20, x02 = 20, x002 = 0. Hasonlan, ha


p1 = 30 s p2 = 15, akkor x2 = 15 30 = 15, x02 = 0 s x002 = 15. Az xt0 s xt00 vltozk
teht felhasznlhatk a termels mennyisgi vltozsainak kiegyenltsvel kapcsolatos tedik negyedvi kltsgek kifejezsre.
Most mr kifejezhetjk a Mondo teljes kltsgt:
teljes kltsg = termelsi kltsg + raktrozsi kltsg
+ a termels nvelse miatti kiegyenltsi kltsg
+ a termels cskkentse miatti kiegyenltsi kltsg
= 400(p1 + p2 + p3 + p4 ) + 100(i1 + i2 + i3 + i4 )
+700(x01 + x02 + x03 + x04 ) + 600(x001 + x002 + x003 + x004 )
A modell teljess ttelhez az eddigiekhez mg hozzvesznk 2 feltteltpust. El o szr is
szksgnk van raktrozsi felttelekre (mint a Sailco feladatnl a 3.8. alfejezetben), amelyek sszekapcsoljk a mostani negyedv raktrkszlett az el o zo negyedvvel, s a jelen
negyedvbeli termelssel. A t-edik negyedvre a raktrkszlet-felttelnek a kvetkez o lesz
az alakja:
A t-edik negyedvbeli raktrkszlet = ((t 1)-edik negyedves raktrkszlet)
+ (t-edik negyedves termels)
(t-edik negyedves kereslet)

Ez t = 1, 2, 3, 4-re a kvetkezo ngy korltoz felttelt adja:


i1 = 0 + p1 40

i3 = i2 + p3 50

i2 = i1 + p2 70

i4 = i3 + p4 20

Az elojelkorltozsok it 0 (t = 1, 2, 3, 4) biztostjk, hogy minden negyedv kereslett


idoben kielgtik.
A msodik feltteltpus azt tkrzi, hogy a pt , pt1 , xt0 s xt00 kapcsolatban vannak egymssal. Ezt a kapcsolatot fejezik ki a kvetkezo sszefggsek:
(a t-edik negyedvbeli termels)
(a (t 1)-edik negyedvbeli termels) = xt = xt0 xt00
Ekkor t = 1, 2, 3, 4-re ez a kapcsolat a kvetkezo ngy korltoz felttelt adja:
p1 50 = x01 x001

p3 p2 = x03 x003

p2 p1 = x02 x002

p4 p3 = x04 x004

180

4. fejezet A szimplex algoritmus

Egyms mell tve a clfggvnyt, a ngy raktrkszlet-felttelt, az utols ngy felttelt s


az elojelkorltozsokat (it , pt , xt0 , xt00 0 ha t = 1, 2, 3, 4), a kvetkezo LP feladatot kapjuk:
min z = 400p1 + 400p2 + 400p3 + 400p4 + 100i1 + 100i2 + 100i3 + 100i4
f.h.

+700x01 + 700x02 + 700x03 + 700x04 + 600x001 + 600x002 + 600x003 + 600x004


i1 = 0 + p1 40
i2 = i1 + p2 70
i3 = i2 + p3 50

i4 = i3 + p4 20
p1 50 = x01 x001

p2 p1 = x02 x002

p3 p2 = x03 x003
p4 p3 = x04 x004

it , pt , xt0 , xt00 0 (t = 1, 2, 3, 4)

Mint a 7. pldban, xt0 oszlopa a felttelrendszerben most is ellentettje az xt00 oszlopnak.


gy, csakgy mint a 7. pldban, egyetlen lbm-re sem lehet egyidejuleg xt0 > 0 s xt00 > 0 is
igaz. Ez azt jelenti, hogy xt0 tnylegesen a t-edik negyedvbeli termelsnvekedst jelenti,
xt00 pedig az esetleges termelscskkenst ebben az ido szakban.
Van egy msik md is arra, hogy megmutassuk, hogy az optimlis megoldsban nem
teljesl egyszerre xt0 > 0 s xt00 > 0. Tegyk fel pldul, hogy p2 = 70 s p1 = 60. Ekkor a
p2 p1 = 70 60 = x02 x002

(20)

felttel az x02 s x002 szmos kombincijval teljestheto . Pldul, x02 = 10 s x002 = 0 kielgti
(20)-at, ha x02 = 20 s x002 = 10; tovbb x02 = 40 s x002 = 30 esetben is; s gy tovbb. Ha
p2 p1 = 10, akkor az optimlis LP megoldsban mindig x02 = 10 s x002 = 0 lesz, minden
egyb lehetosggel szemben. Annak beltshoz, hogy ez mirt van gy, vizsgljuk meg a
Mondo feladatnak clfggvnyt! Ha x02 = 10 s x002 = 0, akkor x02 s x002 10(700) = 7000$
rtkben jrulnak hozz a kiegyenltsi kltsgekhez. Msrszt, az x 02 s x002 brmely ms
vlasztsa, amely kielgti (20)-at, tbb mint 7000$ rtkben fog hozzjrulni a kiegyenltsi kltsgekhez. Pldul x02 = 20 s x002 = 10 20(700) + 10(600) = 20 000$ sszeggel jrul
hozz a kiegyenltsi kltsgekhez. Mivel minimalizljuk a teljes kltsget, a szimplex eljrs soha nem fog egy olyan megoldst vlasztani, amelynl xt0 > 0 s xt00 > 0 egyarnt
fennll. A Mondo feladat optimlis megoldsa p1 = 55, p2 = 55, p3 = 50, p4 = 50. Ez a
megolds 95 000$ teljes kltsget jelent. Az optimlis termelsi terv sszesen 210 Mondo
motorkerkpr gyrtst teszi leheto v. Mivel a teljes kereslet a ngy negyedvre sszesen csak 180 Mondo motorkerkpr, marad mg egy 210 180 = 30 darabos zrkszlet.
Figyeljk meg, hogy ez ellenttben ll a 3.8. alfejezetben trgyalt Sailco raktrkszlet modellel, amelyben a zrkszlet mindig 0 volt. A Mondo feladat optimlis megoldsa nemzr raktrkszletet tartalmaz a 4. negyedvben, mivel ahhoz, hogy ebben a negyedvben a
raktrkszlet 0 legyen, a termelsnek ekkor alacsonyabbnak kell lennie, mint a 3. negyedvben. Azoknak az igen nagy kiegyenltsi kltsgeknek az elfogadsa helyett, amelyek
ezzel a stratgival jrnak, az optimlis megolds 30 Mondo motor raktron tartsa a 4.
negyedv vgn.


4.10. Elojelkorltozatlan
vltozk esete

181

Feladatok
A csoport
1. Tegyk fel, hogy a Mondo cgnek nem kell hatridore
kielgtenie az ignyeket. Minden olyan negyedvre, amikor a motorkerkprok irnti igny nincs kielgtve, bevezetnk egy hinyz motorkerkpronknt 110$ nagysg
bnteto- vagy hinykltsget. gy a kereslet most ksleltetheto. Azonban az sszes keresletet ki kell elgteni a 4. negyedv vgig. Mdostsuk a Mondo feladat megfogalmazst gy, hogy megengednk ksleltetett keresletet. (tmutats: A nem kielgtett kereslet it 0-nek felel meg. gy it
most ekn vltoz, teht a szoksos mdon helyettestennk
kell: it = it0 it00 . Itt it00 lesz a t-edik negyedvben nem kielgtett kereslet rtke.)
2. Hasznljuk a szimplex algoritmust a kvetkezo LP feladat megoldsra:
max z = 2x1 + x2
f.h.

3x1 + x2 6
x1 + x 2 4

x1 0, x2 ekn

keresletet ki kell elgteni a 3. hnap vgre. Az egy tonna


acl elolltsra felhasznland nyersanyag 300$-ba kerl.
Fogalmazzunk meg egy LP feladatot, amely a Steelco kltsgeit minimalizlja!
4. Mutassuk meg, hogyan hasznlhat a lineris programozs a kvetkezo feladat megoldsra:
max z =|2x1 3x2 |
f.h.

2x1 x2 0.5
x1 , x2 0

5.10 A Steelco aclzem fo telepn jelenleg egy aclgyrtsi terlet s egy szlltsi cl terlet van, ahogyan azt
a 4. bra mutatja (a tvolsgok mterben adottak). A cgnek dntenie kell arrl, hogy hova telept egy aclgyrt s
egy sszeszerelo egysget, valamint egy raktrrszleget gy,
hogy minimalizlja az zemen belli anyagmozgats napi
kltsgt.
4.

BRA

B csoport

Aclgyrt egysg

3. A kvetkezo 3 hnap folyamn a Steelco aclzem a


kvetkezo aclkeresletre szmthat: 100 tonna (1. hnap);
200 tonna (2. hnap); 50 tonna (3. hnap). Brmelyik hnap folyamn egy munks maximum 15 tonna aclt tud termelni. A munksok fizetse 5000$ havonta. Egy munks
munkba lltsnak vagy elbocstsnak kltsgei a kvetkezok: 3000$ az elbocsts s 4000$ a munkba llts kltsge munksonknt (a munkba llts nem ignyel idot).
Egy tonna acl egy havi kszletezsi kltsge 100$. A kereslet 70$ tonnnknti kltsg rvn 1 hnapig ksleltetheto.
Teht, ha 1 tonna 1. havi keresletet a 3. hban elgtenek
ki, akkor a ksleltets kltsge 140$. Az elso hnap elejn
a Steelco zemnek 8 munksa van. Brmely hnap folyamn legfeljebb 2 j munks llthat munkba. Az sszes
10 Love

40.

4x1 + x2 4

(700, 600)

Szlltsi terlet
(0, 0)

(1000, 0)

A napi utak (mozgatsok) szma a 40. tblzatban lthat.


Feltve, hogy az sszes szllts csak keletnyugat vagy
szakdl irnyban trtnhet, fogalmazzunk meg egy olyan
LP feladatot, amellyel meghatrozhatjuk, hol helyezkedjen
el az aclgyrt s az sszeszerelo zemrsz, valamint a raktrrszleg, ha minimalizlni akarjuk a napi szlltsi kltsgeket. (tmutats: Ha az aclgyrt rszleg koordinti:

and Yerex (1976) alapjn.

TBLZAT

Honnan

Hov

A napi
utak szma

nts
aclgyrts
aclgyrts
elszllts

sszeszerels s trols
nts
sszeszerels s trols
sszeszerels s trols

40
8
8
2

Kltsg per
100 mter
megtett tvolsg
10c/
10c/
10c/
20c/

182

4. fejezet A szimplex algoritmus

(c1, c2), akkor hogyan rtelmezheto a c1 700 = e1 w1


felttel?)
6. Mutassuk meg, hogy tetszoleges szm bziscsere utn
az x0i vltoz egytthatja a szimplex tbla minden sorban
egyenlo lesz az x00i azonos sorbeli egytthatjnak ellentettjvel!
7. A Clothco cg nadrgokat kszt. A kvetkezo hat hnap mindegyikben maximum akkora mennyisget (db) tudnak ebbol eladni, amennyi a 41. tblzatban lthat. Az a
kereslet, amit nem elgtenek ki egy hnapban, az elveszett
a cg szmra. A Clothco az 1. hnapban maximum 500
nadrgot tud eladni. Egy nadrg ra 40$, s elksztshez 2
ra munkra s 10$ rtku nyersanyagra van szksg. Az
1. hnap kezdetn a Clothcnak 4 dolgozja van. Egy dolgoz nadrgok ksztsn havonta 200 rt tud dolgozni s
2000$ a havi fizetse (tekintet nlkl arra, hogy hny rt
dolgozott a hnapban). Minden hnap elejn dolgozkat le-

4.11.

het felvenni s elbocstani. 1500$-ba kerl munkba lltani


s 1000$-ba kerl elbocstani valakit. Becslhetoen 5$ nadrgonknt a trolsi kltsg a hvgi zrkszletre vonatkozan. Hatrozzuk meg, hogyan tudja a Clothco cg maximalizlni a profitjt a kvetkezo hat hnapban! Hanyagoljuk el
azt a krlmnyt, hogy a munkba lltott s elbocstott dolgozk szmnak egszrtkunek kell lennie.
41.

TBLZAT

Hnap

Maximlis kereslet

1
2
3
4
5
6

500
600
300
400
300
800

Karmarkar mdszere LP feladatok megoldsra


Ebben az alfejezetben Karmarkar LP feladatok megoldsra kidolgozott mdszernek egy
rvid lerst adjuk. Rszletesebb magyarzat a 9.6. alfejezetben tallhat. Karmarkar mdszere megkvnja, hogy az LP feladatot a kvetkezo formban rjuk fel:
min z = cx
f.h. Kx = 0
x1 + x 2 + x n = 1
xi 0

s hogy:
1
n

1.

Az x0 = [ 1n

2.

Ezen LP optimlis z rtke legyen 0.

...

1
n]

pont az LP feladat lehetsges megoldsa legyen.

Meglepo mdon, minden LP feladat ilyen alakra hozhat. Karmarkar mdszere egy projektv geometriai transzformcit hasznl arra, hogy az y1 , y2 , . . . , yn transzformlt vltozknak egy halmazt definilja. Ez a transzformci (nevezzk f -nek) az aktulis pontot
mindig a lehetsges tartomny kzepbe fogja lekpezni a transzformlt vltozk ltal
definilt trben. Ha a transzformci az x pontot az y pontba viszi, akkor ezt gy fejezzk
ki: f (x) = y. Az algoritmus a transzformlt trben azzal kezdo dik, hogy az f (x0 )-bl egy
j irnyba mozdulunk el (egy olyan irnyba, amely vrhatan javtja z-t s fenntartja a
lehetsgessget). Ez aztn egy olyan y1 pontot eredmnyez a transzformlt trben, amely
kzel van a lehetsges tartomny hatrhoz. j pontunk x 1 , amelyre: f (x1 ) = y1 . Az eljrst addig ismteljk (ekkor x1 helyettesti x0 -t), amg az xk -hoz tartoz z rtk elg kzel
kerl 0-hoz.
Ha az aktulis pontunk xk , akkor a transzformci a kvetkezo tulajdonsggal rendelkezik: f (xk ) = [ n1 1n . . . n1 ]. gy, egy transzformlt trben mindig elmozdulunk a lehetsges tartomny kzppontjtl.

sszefoglals

183

Karmarkar mdszerre bizonytott, hogy polinomilisan nvekvo szmtsi idot


ignylo algoritmus. Ez azt jelenti, hogy ha egy n mretu LP-t oldunk meg Karmarkar
mdszervel, akkor lteznek olyan a s b pozitv szmok brmely n-hez, hogy egy n mretu LP feladat maximlisan anb ido alatt megoldhat.11
Karmarkar mdszervel szemben a szimplex algoritmus LP feladatok megoldsra egy
a mrettel exponencilisan nvo idot ignylo algoritmus. Ha egy n mretu LP feladatot
a szimplex mdszerrel oldunk meg, akkor ltezik egy olyan c pozitv szm, hogy brmely
n esetn a szimplex algoritmus meg fogja tallni az optimlis megoldst maximum c2 n ido
alatt. Elg nagy n-re (pozitv a, b s c) esetn c2n > anb . Ez azt jelenti, hogy elmletben a
polinomilisan nvo idoszksgletu algoritmus elonysebb egy exponencilisan nvo idoszksgletunl. A Karmarkar-mdszer elo zetes tesztelse (Karmarkar ltal) azt mutatta,
hogy gyakorlati alkalmazsokban felmerlo nagymretu LP feladatokra ez a mdszer akr
50-szer olyan gyors lehet, mint a szimplex algoritmus. Remlhet o leg Karmarkar mdszere
lehetov teszi majd a kutatknak sok olyan nagymretu LP feladat megoldst, amelyek
jelenleg a szimplex mdszerrel megoldva elviselhetetlenl sok szmtgp id o t ignyelnek. Ha Karmarkar mdszere bevltja a hozzfuztt remnyeket, akkor az LP modellek
megfogalmazsnak kszsge mg fontosabb lesz, mint ma.
Karmarkar mdszert hasznlta a Katonai Lgihd Parancsnoksg annak meghatrozsra, hogy milyen gyakran repljenek az egyes tvonalakon, s hogy mely repl o gpeket
hasznljk. A kapott LP feladat 150 000 vltozt s 12 000 felttelt tartalmazott, s egy ra
szmtgp idore volt szksg a megoldsra Karmarkar mdszervel. A szimplex mdszer
hasznlatakor egy hasonl struktrj, 36 000 vltozt s 10 000 felttelt tartalmaz LP feladat megoldsa ngy ra szmtgp ido t ignyelt. A Delta Lgitrsasg nemrg kezdett el
kifejleszteni a Karmarkar-mdszer hasznlatval egy havi menetrendet 7000 pilta s tbb
mint 400 replogp szmra. A projekt befejezsvel a Delta Lgitrsasg dollrmillik
megtakartst remli.

sszefoglals

Egy LP feladat eloksztse


a szimplex mdszer szmra
Egy LP feladat standard alak, ha sszes korltoz felttele egyenlo sg felttel, s az
sszes vltoz nemnegatv. Ahhoz, hogy egy LP feladatot standard alakra hozzunk, a kvetkezoket kell tenni:
1. lps Ha az i-edik felttel felttel, akkor egyenlo sg tpus felttell alaktjuk, hozzadva a bal oldalhoz egy si eltrsvltozt s hozzvve a modellhez az si 0 elojelkorltozsi felttelt.
2. lps Ha az i-edik felttel korlt, akkor ezt egyenlo sgg alaktjuk a bal oldalbl
kivonva egy ei eltrs vltozt s hozzvve a modellhez az ei 0 elojelkorltozsokat.

3. lps Ha az xi vltoz elojelkorltozatlan (ekn) akkor xi helyre mind a clfggvnyben, mind a felttelekben x0i x00i -t runk, ahol x0i 0 s x00i 0.
Tegyk fel, hogy egy standard alakra hozott LP-nek m felttele s n vltozja van. Az
Ax = b egyenletrendszer egy bzismegoldsa megkaphat gy, hogy n m vltoznak 0
11 Egy LP feladat mrete azon karakterek szmval jellemezhet o
, amelyek az LP feladat binris rendszerben
trtno megadshoz szksgesek.

184

4. fejezet A szimplex algoritmus

rtket adunk s ezutn megoldjuk a rendszert a maradk m vltozra. Minden olyan bzismegolds, amiben minden vltoz nemnegatv, egy lehetsges bzismegolds (lbm) az
LP szmra.
Minden LP feladatra igaz, hogy az LP lehetsges tartomnyban minden lbm-nek pontosan egy extremlis pont felel meg. Tovbb, a lehetsges tartomny minden extremlis
pontjhoz tartozik legalbb egy lbm.
Ha egy LP feladatnak van optimlis megoldsa, akkor van olyan extremlis pontja, amelyik optimlis. gy, amikor egy LP feladat optimlis megoldst keressk, a keresst az LP
lehetsges bzismegoldsaira korltozhatjuk.

A szimplex algoritmus
Ha egy LP standard alak, s egy lbm kzenfekvo en addik, akkor a szimplex algoritmus
(max feladatra) a kvetkezokppen mukdik:
1. lps Ha az sszes nembzis vltoznak a clfggvnysorban nemnegatv az egytthatja, akkor az aktulis lbm optimlis. Ha valamely vltozknak a clfggvnysorban negatv egytthatjuk van, akkor a bzisba belpo vltozknt vlasszuk a clfggvnysorban
a legnagyobb abszolt rtku negatv egytthatval rendelkez o vltozt.
2. lps Minden olyan felttelre, amelynl a belpo vltoznak pozitv az egytthatja,
szmtsuk ki a kvetkezo hnyadost:
a felttel jobb oldala
a belpo vltoz egytthatja a felttelben
Minden olyan felttel, amelynl ennek a hnyadosnak az rtke minimlis, gy o ztese a
hnyados tesztnek. Hasznljunk elemi sortranszformcikat (esm-eket) arra, hogy a belpo vltoz egy olyan felttelben legyen bzisvltoz, amely gy o ztese a hnyados tesztnek. Ezutn trjnk vissza az 1. lpshez.
Ha az LP feladat (egy max feladat) nemkorltos, akkor vgl eljutunk egy olyan tblhoz, amelyben van egy olyan nembzis vltoz, aminek a clfggvnysorban negatv az
egytthatja, a felttelekben pedig nempozitv az egytthatja. Ett o l az esettol eltekintve
(kizrva a nagyon ritka ciklizls leheto sgt) a szimplex algoritmus meg fogja tallni az
LP feladat egy optimlis megoldst.
Ha nincs indul lbm, akkor a nagy M mdszer, vagy a ktfzis szimplex mdszer
hasznland egy lbm elolltsra.

A nagy M mdszer
1. lps Mdostsuk a korltoz feltteleket gy, hogy mindegyikk jobb oldala nemnegatv legyen.
10 . lps Keressnk meg minden olyan felttelt, amely most (az 1. lps utn) = vagy
felttel. A 3. lpsben mindegyik ilyen felttel bal oldalhoz egy mestersges vltozt
adunk hozz.
2. lps Alaktsunk t minden egyenlo tlensg felttelt standard alakra.
3. lps Ha (miutn az 1. lpst befejeztk) az i-edik felttel vagy = felttel, akkor
adjunk hozz a bal oldalhoz egy ai mestersges vltozt, s vegyk hozz a modellhez az
ai 0 elojelmegktseket is.

sszefoglals

185

4. lps Jelljn M egy nagyon nagy pozitv szmot. Ha az LP egy min feladat, akkor
adjunk hozz a clfggvnyhez (minden mestersges vltoznak megfelel o en) Mai -t, max
feladat esetn pedig Mai -t.

5. lps Mivel minden mestersges vltoz benne lesz az indul bzisban, mindegyiket
ki kell kszblni a clfggvnysorbl, mielo tt megkezdjk a szimplex eljrst. Ha minden mestersges vltoz 0-val egyenlo az optimlis megoldsban, akkor megtalltuk az
eredeti feladat optimlis megoldst. Ha valamely mestersges vltoz pozitv az optimlis
megoldsban, akkor az eredeti feladatnak nincs lehetsges megoldsa.

A ktfzis mdszer
1. lps Alaktsuk t a feltteleket gy, hogy minden felttel jobb oldala nemnegatv legyen.
10 . lps Keressnk meg minden olyan felttelt, amely most (az 1. lps utn) = vagy
tpus. A 3. lpsben egy mestersges vltozt fogunk hozzadni minden ilyen felttel bal
oldalhoz.
2. lps Alaktsunk t minden egyenlo tlensg felttelt standard alakra.
3. lps Ha (az 10 lps utn) az i-edik felttel vagy = tpus, akkor bal oldalhoz
adjunk hozz egy ai mestersges vltozt, s rjuk elo az ai 0 elojelkorltozst.

4. lps tmenetileg tegyk flre az eredeti LP feladat clfggvnyt. Ehelyett oldjunk


meg egy olyan LP feladatot, amelynek a clfggvnye min w 0 = (az sszes mestersges
vltoz sszege). Ezt az 1. fzis LP feladatnak nevezzk.
Mivel minden ai 0, az 1. fzisbeli LP feladat megoldsa a kvetkezo hrom eset egyikre vezet:
1. eset w0 optimlis rtke nagyobb nullnl. Ebben az esetben az eredeti LP feladatnak
nincs lehetsges megoldsa.
2. eset w0 optimlis rtke nulla, s nincsenek mestersges vltozk az optimlis 1. fzisbeli bzisban. Ebben az esetben hagyjunk el minden olyan oszlopot az optimlis 1. fzisbeli tblbl, amelyek mestersges vltozknak felelnek meg, s hasznljuk az eredeti
clfggvnyt az 1. fzisbeli tblban maradt felttelekkel. Ez eredmnyezi a 2. fzisbeli
LP feladatot. A 2. fzisbeli s az eredeti LP feladat optimlis megoldsai azonosak.
3. eset w0 optimlis rtke nulla, s legalbb egy mestersges vltoz marad az optimlis
1. fzisbeli bzisban.

Minimalizlsi feladatok megoldsa


Egy minimalizlsi feladat szimplex mdszerrel val megoldsa cljbl vlasszuk bzisba belpo vltoznak a clfggvnysorban a legnagyobb pozitv egytthatval rendelkezo nembzis vltozt. Egy tbla vagy kanonikus forma akkor mutat optimlis megoldst,
ha a clfggvnysorban minden vltoznak nempozitv az egytthatja.

Alternatv optimlis megoldsok


Ha egy nembzis vltoznak az optimlis tblban nulla az egytthatja a clfggvnysorban, s ez a vltoz egy bzistranszformcival beviheto a bzisba, akkor az LP feladatnak

186

4. fejezet A szimplex algoritmus

alternatv optimlis megoldsai lehetnek. Ha kt lehetsges bzismegolds optimlis, akkor az ezeket sszekto egyenes szakasz brmely pontja szintn optimlis megolds.

Elojelkorltozatlan
vltozk
Ha egy xi ekn vltozt x0i x00i -vel helyettestnk, akkor az LP optimlis megoldsban vagy
x0i , vagy x00i , vagy mind x0i s x00i egyenlo nullval.

ttekinto feladatok
A csoport
1. Alkalmazzuk a szimplex algoritmust a kvetkezo LP
feladat kt optimlis megoldsnak megtallsra:
max z = 5x1 + 3x2 + x3
f.h.

6. Alkalmazzuk a nagy M mdszert s a ktfzis eljrst a kvetkezo LP feladat optimlis megoldsnak megkeresshez:
max z = x1 + x2
f.h.

3x1 + x2 3.5

x1 + x2 + 3x3 6

x1 + x 2 1

5x1 + 3x2 + 6x3 15


x3 , x1 , x2 0

2. Oldjuk meg a kvetkezo LP feladatot a szimplex algoritmussal:


min z = 4x1 + x2
f.h.

3x1 + x2 6

x1 + 2x2 0
x1 , x2 0

x1 , x2 0

7. A szimplex mdszer segtsgvel keressk meg kt optimlis megoldst a kvetkezo LP feladatnak! Hny optimlis megoldsa van? Keressk meg egy harmadik optimlis megoldst is:
max z = 4x1 + x2
f.h.

3. Alkalmazzuk a nagy M mdszert s a ktfzis eljrst a kvetkezo LP feladat optimlis megoldsnak megtallsra:
max z = 5x1 x2
f.h.

2x1 + x2 = 6
x1 + x 2 4
x1 + 2x2 5
x1 , x2 0

4. A szimplex algoritmus segtsgvel oldjuk meg a kvetkezo LP feladatot:


max z = 5x1 x2

f.h.

x1 3x2 1
x1 4x2 3
x1 , x2 0

5. A szimplex algoritmus segtsgvel keressk meg a kvetkezo LP feladat optimlis megoldst:


min z = x1 2x2
f.h.

2x1 + x2 5
x1 + x 2 3
x1 , x2 0

2x1 + x2 3

2x1 + 3x2 4
x1 + x 2 1

4x1 + x2 2

x1 , x2 0

8. A szimplex mdszer segtsgvel keressk meg a kvetkezo LP feladat optimlis megoldst:


max z = 5x1 + x2
f.h.

2x1 + x2 6

x1 x 2 0

x1 , x2 0

9. A nagy M mdszer s a ktfzis eljrs segtsgvel


keressk meg a kvetkezo LP feladat optimlis megoldst:
min z = 3x1 + x2
f.h.

x1 2x2 2

x1 + x2 3
x1 , x2 0

10. Tegyk fel, hogy a Dakota Btorkszto feladatnl 10


klnbzo tpus btort lehetett gyrtani.Az optimlis megoldsban (maximum) hny klnbzo tpust kell gyrtani?

ttekinto feladatok
11. Tekintsk a kvetkezo LP feladatot:

(b) Mutassuk meg, hogy ha


c2
c
1
a2
a1

max z = 10x1 + x2
f.h.

x1

akkor a kempingezo gy tudja maximalizlni a hasznt,


ha a htizskot ab2 mennyisgu 2. tpus trggyal tlti
meg!

20x1 + x2 100
x1 , x2 0

(c) A lineris programozs melyik felttelt srtjk meg


a kempingezo optimalizlsi feladatnak ilyen megfogalmazsval?

(a) Keressk meg a feladat sszes lehetsges bzismegoldst!


(b) Mutassuk meg, hogy ha a szimplex mdszert hasznljuk ennek az LP feladatnak a megoldsra, akkor minden lehetsges bzis megoldst meg kell vizsglni, mielott az optimlis megoldst megtalljuk!
Ezt a pldt ltalnostva Klee s Minty (1972-es cikkkben) konstrultak (n = 2, 3, . . . esetn) egy olyan LP feladatot n dntsi vltozval s n felttellel, amelyre a szimplex
algoritmus 2n 1 lehetsges bzismegoldst vizsgl meg,
mielott az optimlis megoldst megtallja. Ltezik teht pldul egy LP feladat 10 vltozval s 10 felttellel, amelynl
a szimplex algoritmus alkalmazsa esetn 210 1 = 1023
bzistranszformcira van szksg az optimlis megolds
megtallshoz. Szerencsre ilyen patologikus LP feladatok ritkn fordulnak elo gyakorlati alkalmazsokban.

B csoport
12. Tekintsnk egy olyan maximalizlsi feladatot, melynek az optimlis tbljt a 42. tblzat mutatja. Ennek az
LP feladatnak az optimlis megoldsa z = 10, x3 = 3, x4 =
5, x1 = x2 = 0. Hatrozzuk meg a msodik legjobb lbm-et
ehhez az LP feladathoz! (tmutats: Mutassuk meg, hogy a
msodik legjobb megolds egy olyan lbm lesz, amely egy
bzistranszformci tvolsgra van az optimlis megoldstl.)
42.

14. Adott egy maximalizlsi feladathoz a 43. tblzatban


levo tbla. Adjunk meg olyan feltteleket az a1 , a2 , a3 , b s
c paramterekre, amelyek mellett teljeslnek a kvetkezo
lltsok:
(a) Az aktulis megolds optimlis.
(b) Az aktulis megolds optimlis, s vannak alternatv optimlis megoldsok.
(c) Az LP feladat clfggvnye nemkorltos (ebben az
alfejezetben felttelezzk, hogy b 0).
43.

x1

x2

x3

x4

J.o.

1
0
0

2
3
4

1
2
3

0
1
0

0
0
1

10
3
5

13. Egy trznak meg kell fontolnia, hogy kt trgybl


hnyat vigyen magval egy kempingtrra? Az elso trgy
slya a1 kg, a msodik a2 kg. Egy elso tpus trgy a kempingezo szmra c1 egysg hasznot, egy msodik tpus
trgy pedig c2 egysg hasznot jelent. A htizskba maximum b kg sszsly trgy teheto.
(a) Felttelezve, hogy a kempingezo a trgyak trtrszt
is magval viheti az tra, fogalmazzunk meg egy olyan
LP feladatot, amely maximalizlja a hasznt!

TBLZAT

x1

x2

x3

x4

x5

J.o.

1
0
0
0

c
1
a2
a3

2
a1
4
3

0
1
0
0

0
0
1
0

0
0
0
1

10
4
1
b

15. Tegyk fel, hogy egy maximalizlsi feladat megoldsa sorn a 44. tblzatban lthat tblt kaptuk. Fogalmazzunk meg feltteleket a1 , a2 , a3 , b, c1 s c2 -re, amelyek
ahhoz szksgesek, hogy a kvetkezo lltsok igazak legyenek:
(a) Az aktulis megolds optimlis, s vannak alternatv optimlis megoldsok.
(b) Az aktulis bzismegolds nem lehetsges bzismegolds.

TBLZAT

187

(c) Az aktulis bzismegolds degenerlt.


(d) Az aktulis bzismegolds lehetsges, de az LP feladat nemkorltos.
(e) Az aktulis bzismegolds lehetsges, de a clfggvnyrtk javthat az x6 -nak mint bzisvltoznak x1 gyel val cserjvel.
44.

TBLZAT

x1

x2

x3

x4

x5

x6

J.o.

1
0
0
0

c1
4
1
a3

c2
a1
5
3

0
1
0
0

0
0
1
0

0
a2
1
4

0
0
0
1

10
b
2
3

188

4. fejezet A szimplex algoritmus

16. Tegyk fel, hogy egy maximalizlsi feladatot oldunk


meg s az xr vltoz ppen elhagyja a bzist.
(a) Mi az egytthatja az xr -nek az aktulis clfggvnysorban?
(b) Mutassuk meg, hogy miutn az aktulis bziscsert
elvgeztk, az xr egytthatja a clfggvnysorban nem
lehet 0-nl kisebb!
(c) Magyarzzuk meg, hogy egy olyan vltoz, amely
elhagyta a bzist, mirt nem lphet oda vissza a kvetkezo bzistranszformcinl!
17. Egy busztrsasg gy gondolja, hogy a kvetkezo
szm buszvezetore lesz szksge a kvetkezo 5 v folyamn: 1. v: 60 buszvezeto; 2. v: 70 buszvezeto; 3. v: 50
buszvezeto; 4. v: 65 buszvezeto; 5. v: 75 buszvezeto. Minden v kezdetn a busztrsasgnak el kell dntenie, hogy
hny j buszvezetot vegyen fel, vagy hny eddigi alkalmazottat bocssson el. 4000$-ba kerl felvenni s 2000$-ba elbocstani egy buszvezetot. Egy buszvezeto fizetse 10 000$
vente. Az 1. v kezdetn a trsasgnak 50 buszvezetoje
van. Egy olyan buszvezeto, akit az v elejn lltottak munkba, felhasznlhat az adott vi igny kielgtsre s teljes
fizetst kap erre az vre. rjunk fel egy LP feladatot, amely
minimalizlja a busztrsasgot a kvetkezo 5 v folyamn
terhelo br-, munkba lltsi s elbocstsi kltsgeket!
18. Az Amerikai Cipoksztok cg a kvetkezo keresletet jelzi elore a kvetkezo hat hnap mindegyikre: 1. hnap: 5000 pr; 2. hnap: 6000 pr; 3. hnap: 5000 pr; 4.
hnap: 9000 pr; 5. hnap: 6000 pr; 6. hnap: 5000 pr.
Egy cipoksztonek 15 percre van szksge egy pr cipo
elksztshez. Minden cipokszto 150 rt dolgozik havonta, plusz maximum 40 ra tlraidot. Egy cipokszto
2000$ havi rendes fizetst kap s rnknt 50$-t a tlraidore. Minden hnap elejn a cg felvehet, vagy elbocsthat
munksokat. Egy j munks felvtele 1500$-ba, elbocstsa pedig 1900$-ba kerl a cgnek. Egy pr cipo egy havi
raktron tartsi kltsge az elolltsi kltsg (csak norml
munkaidot hasznlva) 3%-a. (Az egy pr cipohz szksges
nyersanyagok 10$-ba kerlnek.) Fogalmazzunk meg egy LP
feladatot, amely minimalizlja a kvetkezo 6 havi kereslet
idoben trtno kielgtsnek kltsgt! Az 1. hnap elejn
a cgnek 13 munksa van.
19. Monroe megye megprblja meghatrozni, hova helyezzk a megyei tuzoltllomst. A megye ngy nagyobb
vrosnak az elhelyezkedse az 5. brn lthat. Az 1. vros koordinti: (10, 20); a 2. vros: (60, 20); a 3. vros:
(40, 30); a 4. vros: (80, 60). Az 1. vrosban a tuzesetek
ves tlagos szma 20; a 2. vrosban 30; a 3. vrosban 40;
s a 4. vrosban 25. A megye olyan helyre akarja pteni
a tuzoltllomst, amely minimalizlja a tuzoltautk riaszts alkalmval megtett tlagos tjt. Mivel a legtbb t
12 Wagner

(1954)-en alapul.

vagy keletnyugat, vagy szakdl irnyban fut, felttelezzk, hogy a tuzoltaut is csak ilyen irnyban kzlekedhet. gy, ha a tuzoltlloms a (30, 40) pontban lenne elhelyezve, s tuz tne ki a 4. vrosban, akkor a tuzoltautnak
(80 30) + (60 40) = 70 mrfldet kellene megtennie,
mg odar a tuzhz. Hasznljunk lineris programozst annak eldntsre, hogy hova helyezzk el a tuzoltllomst!
(tmutats: Ha a tuzoltllomst az (x, y) pontba helyezzk el s az (a, b) pontban van egy vros, akkor definiljuk
az e, w, n, s (kelet, nyugat, szak, dl) vltozkat gy, hogy
kielgtsk az x a = w e s y b = n s egyenleteket.
Most mr knnyen felrhatjuk a megfelelo LP-t.)
5.

BRA

20.12 Az 1972. vi labdarg szezon folyamn a Miami


Dolphins, a Buffalo Bills s a New York Jets a 45. tblzatban felsorolt mrkozseket jtszotta. Tegyk fel, hogy ezen
mrkozsek alapjn rtkelni akarjuk ezt a hrom csapatot.
Legyen M = a Miami csapat rtkelse, J = a Jets csapat rtkelse, s B = a Bills csapat rtkelse. Ha adottak az M,
J s B rtkek, akkor elorejelzsnk szerint amikor pldul
a Bills jtszik a Miamival, akkor vrhatlag a Miami M B
ponttal fog gyozni. gy, az elso Miami Bills mrkozsre az
elorejelzsnk a hibatartomnyba kerlne |M B 1| ponttal. Vizsgljuk meg, hogyan hasznlhat a lineris programozs arra, hogy minden csapatra olyan rtkelst hatrozzon meg, amely az elorejelzsi hibk sszes mrkozsre vett
sszegt minimalizlja!
45.

TBLZAT

Miami

Bills

Jets

27
28
24
30

23
16
24
3

17
24

41
41

A szezon befejezsekor ezt a mdszert hasznltuk arra,


hogy rtkelseket hatrozzunk meg az iskolai labdargsra
s iskolai kosrlabdra. Milyen problmk lthatk elore, ha
ezt a mdszert hasznljuk a csapatok szezon eleji rtkelsre?

Irodalom
21. A kvetkezo 4 negyedv folyamn a Dorian Autgyrnak a kvetkezo autvsrlsi ignyeket kell kielgtenie: 1. negyedv: 4000; 2. negyedv: 2000; 3. negyedv:
5000; 4. negyedv: 1000. Az 1. negyedv kezdetn 300 aut
van raktron, s a gyrnak negyedvenknt legfeljebb 3000
aut gyrtsra van kapacitsa. Minden negyedv kezdetn a gyr a gyrtsi kapacitst egy egysggel (autval)
meg tudja vltoztatni. A negyedves gyrtsi kapacits egysgnyi nvelse 100$-ba kerl. 50$-ba kerl negyedvenknt egy aut gyrtsi kapacitst fenntartani (mg akkor
is, ha ez nincs hasznostva az aktulis negyedvben). Egy
aut gyrtsi kltsge 2000$. Egy aut kszletezsi kltsge
150$ (ez szorzand a negyedv vgi zrkszlettel). Megkvnjuk, hogy a 4. negyedv vgn az zem kapacitsa legalbb 4000 aut legyen. Fogalmazzunk meg egy olyan LP
feladatot, amely minimalizlja a kvetkezo 4 negyedv folyamn felmerlo sszes kltsget!
22. A Szellemuzok cg azzal foglalkozik, hogy megszabadtja az embereket a szellemektol. A kvetkezo hrom hnapban a kvetkezo szm telefonhvst kapja olyan
emberektol, akik ki akarjk u zetni szellemeiket: janurban
100, februrban 300, mrciusban 200 hvs rkezik be. A
Szellemuzok-nek 800$-t fizetnek minden kiuztt szellem
utn abban a hnapban, amelyben az gyfl megrendelte a
szolgltatst. A telefonhvsokat nem kell felttlenl megvlaszolni abban a hnapban, amikor berkeztek, de ha egy
hvsra csak a berkezs utn egy hnappal rkezik vlasz,
akkor a Szellemuzok-et 100$ vesztesg ri a jhrn esett
csorba miatt, ha pedig egy hvsra csak kt hnap mlva reaglnak, akkor ez a vesztesg 200$. A Szellemuzok minden alkalmazottja 10 szellemet tud havonta kiuzni. Minden
alkalmazott 4000$ fizetst kap havonta. Janur elejn a cgnek 8 dolgozja van. Az alkalmazottak felvtele s kikpzse (aminek nincsen idoszksglete) szemlyenknt 5000$
kltsget jelent. Az alkalmazottak elbocstsnak kltsge
4000$ szemlyenknt. rjon fel egy LP feladatot, amely maximalizlja a Szellemuzok profitjt (a kltsgekkel csk-

189

kentett jvedelmet) a kvetkezo hrom hnapra! Tegyk fel,


hogy minden megrendelst fel kell dolgozni mrcius vgig.
23. A Carco cg robotokat hasznl az autgyrtsban. A
kvetkezo autk irnti ignyeket (darabszmban megadva)
kell kielgteni (nem felttlenl azonnal, de minden ignyt
ki kell elgteni a 4. negyedv vgre): 1. negyedv: 600; 2.
negyedv: 800; 3. negyedv: 500; 4. negyedv: 400. Az v
kezdetn Carcnak kt robotja van. Robot minden negyedv
elejn szerezheto be, de legfeljebb ketto darab negyedvenknt. Minden robot legfeljebb 200 autt tud kszteni negyedvenknt. Egy robot beszerzse 5000$-ba kerl. Egy
robot fenntartsa negyedvenknt (karbantartsa) 500$-ba
kerl (akkor is, ha egyetlen autt sem gyrtanak vele). A
robotokat minden negyedv elejn el is lehet adni 3000$rt. Minden negyedv vgn autnknt 200$ kszletezsi
kltsg is felmerl. Ha egy aut irnti ignyt ksleltetnek,
akkor 300$ autnknti ksleltetsi kltsg is felmerl minden olyan negyedvben, amikor a ksleltets letben van. A
4. negyedv vgn a Carcnak legalbb kt robotjnak kell
lennie. Fogalmazzunk meg egy LP feladatot, amely minimalizlja a kvetkezo 4 negyedv ignyeinek kielgtshez
kapcsold sszes kltsget!
24. Tegyk fel, hogy talltunk egy optimlis tblt egy LP
feladat szmra, s az ehhez tartoz lbm nem degenerlt.
Tegyk fel azt is, hogy van egy nembzis vltoz a clfggvnysorban, amelynek 0 az egytthatja. Bizonytsuk
be, hogy az LP-nek egynl tbb optimlis megoldsa van!
25. Tegyk fel, hogy egy optimlis tblhoz tartoz lbm
degenerlt, s a clfggvnysorban egy nembzis vltoznak 0 az egytthatja. Mutassunk pldt arra, amikor a kvetkezo esetek valamelyike ll fenn:
1. eset Az LP-nek egynl tbb optimlis megoldsa
van.
2. eset Az LP-nek egyetlen optimlis megoldsa van.

Irodalom
Sok kivl lineris programozsi szakknyv, tanknyv van, ilyen pldul a kvetkezo knyvek brmelyike:
Bazaraa, M., and J. Jarvis. Linear Programming and Network Flows. New York: Wiley,
1990.
Bradley, S., A. Hax, and T. Magnanti. Applied Mathematical Programming. Reading,
Mass.: Addison-Wesley, 1977.
Chv`atal, V. Linear Programming. San Francisco: Freeman, 1983.

190

4. fejezet A szimplex algoritmus

Dantzig, G. Linear Programming and Extensions. Princeton, N.J.: Princeton University


Press, 1963.
Gass, S. Linear Programming: Methods and Applications, 5th ed. New York: McGrawHill, 1985.
Luenberger, D. Linear and Nonlinear Programming, 2d ed. Reading, Mass.: AddisonWesley, 1984.
Murty, K. Linear Programming. New York: Wiley, 1983.
Simmons, D. Linear Programming for Operations Research. Englewood Cliffs, N.J.: Prentice Hall, 1972.
Simonnard, M. Linear Programming. Englewood Cliffs, N.J.: Prentice Hall, 1966.
Wu, N., and R. Coppins. Linear Programming and Extensions. New York: McGraw-Hill,
1981.
Bland, R. New Finite Pivoting Rules for the Simplex Method, Mathematics of Operations
Research 2(1977):103107.
Karmarkar, N. A New Polynomial Time Algorithm for Linear Programming, Combinatorica 4(1984):373395.
Klee, V., and G. Minty. How Good Is the Simplex Algorithm? In InequalitiesIII, ed. O.
Shisha. New York: Academic Press, 1972.
Kotiah, T., and N. Slater. On Two-Server Poisson Queues with Two Types of Customers,
Operations Research 21(1973):597603.
Love, R., and L. Yerex. An Application of a Facilities Location Model in the Prestressed
Concrete Industry, Interfaces 6(no. 4, 1976):4549.
Papadimitriou, C., and K. Steiglitz. Combinatorial Optimization: Algorithms and Complexity. Englewood Cliffs, N.J.: Prentice Hall, 1982.
Wagner, H. Linear Programming Techniques for Regression Analysis, Journal of the
American Statistical Association 54(1954):206212.

5
rzkenysgvizsglat s
dualits
Az rzkenysgvizsglat s a dualits a lineris programozs kt fontos tmakre. Ezek tanulmnyozsa sorn az olvas megismerkedik a lineris programozs logikjval s szpsgeivel, tovbb kpes lesz olyan halad szintu LP tmakrk elsajttsra is, mint amelyek pldul a 9. fejezetben tallhatk. Az 5.1. alfejezetben egy grafikus pldn keresztl
mutatjuk be az rzkenysgvizsglat fogalmt.
Az 5.2. alfejezetben mtrix-ismereteink segtsgvel nhny fontos sszefggst vezetnk le. Ezek felhasznlsval az 5.3. s 5.4. alfejezetekben kidolgozzuk az rzkenysgvizsglat eszkztrt. A fejezet htralvo rsze a dualits kulcsfontossg fogalmt trgyalja. A dualitson keresztl mlyebben megismerhetjk a lineris programozs belso logikjt, eljutunk az rnykr rendkvl hasznos fogalmhoz, s knnyebben megrthetjk
az rzkenysgvizsglatot. Mindez egy szksges alap azoknak a hallgatknak, akik a lineris s nemlineris programozs fejlettebb mdszereit is tanulmnyozni akarjk.

5.1.

Grafikus bevezets az rzkenysgvizsglatba


Az rzkenysgvizsglat azt elemzi, hogy egy LP feladat paramtereinek vltozsai hogyan hatnak az optimlis megoldsra.
Tekintsk ismt a 3.1. alfejezetben trgyalt Giapetto feladatot:
max z = 3x1 + 2x2
f.h.

2x1 + x2 100
x1 + x2 80
x1

40
x1 , x2 0

(felletkezelsi korlt)
(fafarags korlt)
(keresleti korlt)

ahol
x1 = egy ht alatt gyrtott katonk szma
x2 = egy ht alatt gyrtott vonatok szma.
Ennek a feladatnak az optimlis megoldsa z = 180, x1 = 20, x2 = 60 (az 1. bra B pontja),
tovbb x1 , x2 s s3 (a keresleti korlt maradkvltozja) a bzisvltozk. Hogyan vltozik ez az optimlis megolds, ha a clfggvny egytthatit vagy a feladat jobb oldalt
megvltoztatjuk?

192

5. fejezet rzkenysgvizsglat s dualits

1. B R A
c1 milyen rtkei
esetn nem
vltozik az
optimlis bzis a
Giapetto
feladatban?

x2

100

Felletkezelsi korlt
meredeksg=_2
A
80

Kereslet korlt

B
60

A profitfggvny z=120 szintvonala


meredeksg=_

40

3
2

Fafarags korlt
meredeksg=_1

C
20

x1
20

40

60

80

A clfggvny-mdosts hatsnak grafikus vizsglata


Ha egy katona lnyegesen nagyobb mrtkben jrulna hozz a profithoz, Giapettnak rdemes lenne tbb katont gyrtani (s az optimlis megoldsban s 3 nem lenne bzisvltoz).
Ugyangy, ha egy katona lnyegesen kisebb mrtkben jrulna hozz a profithoz, Giapetto
szmra az lenne optimlis, ha csak vonatot gyrtana (ekkor x 1 nem lenne bzisvltoz).
Most meghatrozzuk, hogy milyen hatrok kztt vltozhat (a clfggvnyben) a katonk
szmnak egytthatja gy, hogy a jelenlegi optimlis bzis optimlis maradjon.
Legyen c1 a katonk szmnak egytthatja a clfggvnyben. c 1 milyen rtkeire marad az aktulis bzis optimlis?
Jelenleg c1 = 3, s a profitfggvny valamennyi szintvonala 3x1 + 2x2 = konstans, vagy
x2 = 3x21 + konstans
egyenletu egyenes, melyeknek a meredeksge 32 . Az 1. brn lt2
juk, hogy amikor c1 vltozsnak hatsra a clfggvny szintvonala laposabb lesz, mint
a fafarags korlt szintvonala, akkor az optimlis megolds elmozdul a jelenlegi B pontbl
az A pontba. Ha az egy katonra eso profit nem 3, hanem c1 , a profitfggvny szintvonalainak meredeksge c21 lesz. Mivel a fafarags korlt szintvonalnak meredeksge 1,
akkor lesz a profit szintvonala laposabb a fafarags korltnl, ha c21 > 1, vagy c1 < 2,
s ilyenkor az eredeti bzis mr nem lesz optimlis. Az j optimlis megolds az 1. bra
A(0, 80) pontja.
Ha a profitfggvny szintvonala meredekebb, mint a felletkezelsi korlt, akkor az
optimlis megolds elmozdul a B pontbl a C pontba. A felletkezelsi korlthoz tartoz
meredeksg 2. Ha c21 < 2, vagy c1 > 4, az aktulis bzis nem marad optimlis, s a
C(40, 20) pont lesz az j optimumhely. sszefoglalva: megmutattuk, hogy az aktulis bzis
akkor marad optimlis, ha (minden ms paramter vltozatlanul tartsa mellett) 2 c 1 4,

5.1. Grafikus bevezets az rzkenysgvizsglatba

193

s ilyenkor Giapettnak 20 katont s 60 vonatot kell ksztenie. Termszetesen Giapetto


nyeresge akkor is vltozni fog, ha 2 c1 4. Pldul c1 = 4 esetn Giapetto nyeresge
4(20) + 2(60) = 200$ lesz 180$ helyett.

Az LP feladat jobb oldaln trtno mdosts hatsnak grafikus


vizsglata
Grafikus mdszerrel azt is meg tudjuk vizsglni, hogy egy korltoz felttel jobb oldaln
trtno vltozs mdostja-e az optimlis bzist. Legyen b1 a felletkezelsre fordthat
munkark szma. Jelenleg b1 = 100. b1 milyen rtkei esetn marad a mostani bzis optimlis? A 2. brn ltjuk, hogy b1 mdostsa nmagval prhuzamosan tolja el a felletkezelsi korlt egyenest. Jelenleg a B pontban van az optimum, ahol a fafarags korlt s a
felletkezelsi korlt aktv. Amikor b1 rtkt megvltoztatjuk, a felletkezelsi illetve fafarags korlt egyeneseinek metszspontja marad az optimlis megolds mindaddig, amg
ez a pont mg lehetsges. A 2. brn lthat, hogy b1 > 120 esetn ez a metszspont a
fafarags korlt egyenesnek a D pont alatti rszn lesz. Megjegyezzk, hogy a D pontban a felletkezelsi munkark szma 2(40) + 40 = 120. Ezen a szakaszon x 1 > 40, s a
katonkra vonatkoz keresleti korlt nem teljesl. Ezrt b1 > 120 esetn az aktulis bzis
mr nem optimlis. Ugyangy b1 < 80 esetn a fafarags korlt s a felletkezelsi korlt
2. B R A
A felletkezelsi
munkark
szmnak mely
rtkei esetn nem
vltozik az
optimlis bzis a
Giapetto
feladatban?

x2

100

Felletkezelsi korlt b1=120


Felletkezelsi korlt b1=100

A
80

A profitfggvny z=120 szintvonala


Kereslet korlt

60

Felletkezelsi korlt b1=80

40

Fafarags korlt

C
20

x1
20

40

60

80

100

194

5. fejezet rzkenysgvizsglat s dualits

egy olyan nem lehetsges pontban lesz egyszerre aktv, ahol x 1 < 0, s az aktulis bzis
ismt nem lesz optimlis. Jegyezzk meg, hogy az A pontban a felletkezelsi munkark
szma 0 + 80 = 80. Ezrt (minden ms paramter vltozatlanul hagysa mellett) akkor lesz
az aktulis bzis optimlis, ha 80 b1 120.
Jegyezzk meg, hogy mikzben 80 b1 120 esetn az optimlis bzis vltozatlan marad, a clfggvny rtke s a dntsi vltozk rtkei megvltoznak. Pldul 80 b 1
100 esetn az optimlis megolds a B pontbl az AB szakasz valamelyik msik pontjba
mozdul el. Ugyangy 100 b1 120 esetn az optimlis megolds a B pontbl a BD egyenes egy msik pontjba mozdul el. Mindaddig, amg az adott bzis optimlis marad, rutin
eljrssal meghatrozhat, hogy milyen mrtkben mdostja egy jobb oldali korlt vltozsa a dntsi vltozkat. Ennek bemutatsra legyen b1 a felletkezelsre fordthat rk
szma. Ha b1 rtkt 100 + -ra nveljk, tudjuk, hogy az aktulis bzis 20 20
esetn optimlis marad. b1 vltozsa kzben (amg 20 20), az LP feladat optimlis
megoldsa az a pont, ahol a felletkezelsi korlt s a fafarags korlt egyenesei metszik
egymst. Ezrt b1 = 100+ esetn a dntsi vltozk j rtkeit az albbi egyenletrendszer
megoldsaknt kapjuk meg:
2x1 + x2 = 100 +

x1 + x2 = 80

Ebbol x1 = 20 + s x2 = 60 addik. gy a felletkezelsre sznt rk szmnak nvelse esetn tbb katont s kevesebb vonatot clszeru gyrtani.
Ha b2 (teht a rendelkezsre ll fafaragsi munkark szmnak) rtke 80 + , akkor
megmutathat (lsd 2. feladat), hogy az aktulis bzis 20 20 esetn marad optimlis. Mikzben b2 rtke (a 20 20 korltokat betartva) vltozik, az LP feladat
optimlis megoldsa tovbbra is a felletkezelsi korlt s a fafarags korlt egyeneseinek metszspontja. Ezrt b2 = 80 + esetn az LP feladat optimlis megoldst az albbi
egyenletrendszer megoldsa adja:
2x1 + x2 = 100

x1 + x2 = 80 +

Ebbol x1 = 20 s x2 = 60 + 2 addik, ami azt mutatja, hogy a fafaragsra fordthat


rk szmnak nvelse esetn kevesebb katont, viszont tbb vonatot rdemes gyrtani.
Tegyk fel, hogy b3 , teht a katonk irnti kereslet 40 helyett 40 + lesz. Ekkor megmutathatjuk (lsd 3. feladat), hogy 20 esetn az aktulis bzis optimlis marad. Amg
ebben a tartomnyban mozog, az LP feladat optimlis megoldsa tovbbra is a felletkezelsi korlt s a fafarags korlt egyeneseinek metszspontja. Ezrt az albbi egyenletrendszer megoldsa adja az optimlis megoldst:
2x1 + x2 = 100

x1 + x2 = 80

Ebbol termszetesen x1 = 20 s x2 = 60 kvetkezik, ami egy fontos jelensget tkrz. Ha


egy LP feladat optimlis megoldsban egy korltoz felttel nem aktv (teht a hiny vagy
a maradk pozitv), akkor a jobb oldali korlt kello en kismrtku (teht az optimlis bzist
nem mdost) megvltozsa nem mdostja az LP feladat optimlis megoldst.

rnykrak
Amint azt az 5.7. alfejezetben ltni fogjuk, egy vezeto szmra gyakran fontos annak meghatrozsa, hogyan mdostja egy korltoz felttel jobb oldalnak megvltozsa az LP
feladat clfggvnynek, z-nek, az optimlis rtkt. Ezt szem el o tt tartva megfogalmazzuk a kvetkezo defincit. Egy LP feladat i-edik korltoz felttelhez tartoz rnykr

5.1. Grafikus bevezets az rzkenysgvizsglatba

195

az az rtk, amennyivel az optimlis z rtk javul (maximumfeladat esetn a javuls nvekedst, minimumfeladat esetn pedig cskkenst jelent), amikor az i-edik korltoz felttel
jobb oldalt 1-gyel nveljk. Ez a definci csak arra az esetre rvnyes, amikor az i-edik
korltoz felttel jobb oldalnak nvelse nem mdostja az optimlis bzist.
Tetszoleges ktvltozs LP feladat esetn knnyen meghatrozhatjuk akrmelyik korltoz felttel rnykrt. Tudjuk pldul, hogy ha a felletkezelsre felhasznlhat raszm
100 + (s az aktulis bzis optimlis marad), akkor az LP feladat optimlis megoldsa
x1 = 20 + s x2 = 60 . Emiatt 3x1 + 2x2 = 3(20 + ) + 2(60 ) = 180 + lesz az
optimlis z rtk. gy mindaddig, amg az adott bzis optimlis marad, a felletkezelsre
fordthat rk szmnak egy egysggel val nvelse 1$-ral fogja az optimlis z rtket
nvelni. Teht az elso (felletkezelsi) korlt rnykra 1$.
A msodik (fafarags) korlt esetn tudjuk, hogy ha a fafaragsra fordthat raszm
80 + (s az aktulis bzis optimlis marad), akkor az LP feladat optimlis megoldsa
x1 = 20 s x2 = 60 + 2. Emiatt 3x1 + 2x2 = 3(20 ) + 2(60 + 2) = 180 + lesz az
j optimlis z rtk. Teht (mindaddig, mg az aktulis bzis optimlis marad), a fafaragsra
fordthat raszm egy egysgnyi nvelse 1$-ral fogja az optimlis z rtket nvelni. gy
a msodik (fafarags) korlt rnykra 1$.
Most kiszmtjuk a harmadik (kereslet) korlt rnykrt. Ha a jobb oldal rtke 40 + ,
akkor mindaddig, amg az aktulis bzis optimlis marad, a dntsi vltozk optimlis
rtkei sem vltoznak. Ezrt az optimlis z rtk is vltozatlan marad, ami azt mutatja, hogy
a harmadik (kereslet) korlt rnykra 0$. Ezltal nyilvnvalv vlt a kvetkez o szably:
Ha egy LP feladat optimlis megoldsban egy korltoz felttelhez tartoz hiny- vagy
maradkvltoz rtke pozitv, akkor a szban forg korltoz felttel rnykra nulla.
Tegyk fel, hogy egy LP feladat i-edik korltoz felttelnek jobb oldalt b i -vel nveljk (bi < 0 esetn a jobb oldal cskken), s az aktulis bzis optimlis marad. Ekkor
(maximumfeladat esetn) az i-edik korlt jobb oldalnak minden egyes egysgnyi nvelse
az rnykrral fogja nvelni az optimlis z rtket. gy az j optimlis z rtket az albbi
sszefggs adja meg:
(j optimlis z rtk) = (rgi optimlis z rtk)
+ (i-edik korlt rnykra) bi
Minimumfeladat esetn,
(j optimlis z rtk) = (rgi optimlis z rtk)
(i-edik korlt rnykra) bi
Pldul, ha 95 ra fordthat fafaragsra, akkor b2 = 15, s az j z rtket az albbi kplet
adja:
j optimlis z rtk = 180 + 15(1) = 195$
Az rnykrak vizsglatt az 5.7. alfejezetben folytatjuk.

Az rzkenysgvizsglat jelentosge
Az rzkenysgvizsglat sok szempontbl fontos. Szmos alkalmazsban az LP feladat
paramterei vltozhatnak. Pldul vltozhat a katonk s vonatok eladsi ra ppgy, mint
a fafaragsra, illetve felletkezelsre fordthat raszm. Az rzkenysgvizsglatnak ksznheto, hogy sokszor nem kell jra megoldani a feladatot, amikor egy paramter megvltozik. Pldul, amikor az egy katona eladsbl szrmaz nyeresg 3.50$-ra n o , nem kell

196

5. fejezet rzkenysgvizsglat s dualits

jra megoldanunk a Giapetto problmt, hiszen az optimlis bzis nem vltozik. Termszetesen a Giapetto problma jbli megoldsa nem nagy munka, de egy tbb ezer vltozval
s felttellel rendelkezo LP feladat ismtelt megoldsa tlzott rfordts lenne. Az rzkenysgvizsglat ismerete gyakran leheto v teszi, hogy egy elemzo az eredeti megoldsbl
megllaptsa, milyen mrtkben vltozik az LP feladat optimlis megoldsa a paramterek
mdostsnak hatsra.
Emltettk, hogy idonknt nem ismerjk az LP feladat paramtereinek pontos rtkt,
pldul azt, hogy mekkora a katonk irnti kereslet egy ht alatt. A grafikus mdszerrel
megmutathat, hogy ha ez a kereslet legalbb 20, akkor (20, 60) marad a Giapetto problma
optimlis megoldsa (lsd 3. feladat ennek az alfejezetnek a vgn). gy mg akkor is,
amikor Giapetto a katonk irnti keresletet illeto en bizonytalan, a cg teljesen biztos lehet
abban, hogy 20 katona s 60 vonat gyrtsa optimlis.
Termszetesen, kettonl tbb vltoz esetn egy LP feladat rzkenysgvizsglathoz a
grafikus megkzelts nem clravezeto . Mielott rtrnnk egy tetszoleges LP feladat rzkenysgvizsglatnak ismertetsre, szksgnk lesz a szimplex-tblk mtrix-alakjnak
elolltsra. Ez lesz az 5.2. alfejezet trgya.

Feladatok
A csoport
1. Mutassuk meg, hogy optimlis marad az aktulis bzis, ha a vonatok szmnak egytthatja a clfggvnyben
1.50$ s 3$ kztt marad! Mi lesz az j optimlis megolds,
ha ez az egytthat 2.50$?
2. Mutassuk meg, hogy ha a rendelkezsre ll fafaragsi
munkark szma 60 s 100 kztt marad, akkor az optimlis bzis nem vltozik! Ebben az esetben is 20 katont s 60
vonatot fog Giapetto gyrtani?
3. Mutassuk meg, hogy ha a katonk irnti kereslet egy
ht alatt legalbb 20, akkor nem vltozik az optimlis bzis,
s Giapettnak tovbbra is 20 katont, illetve 60 vonatot rdemes gyrtania.
4. A Dorian aut problmval kapcsolatban (3. fejezet 2.
plda),
(a) Hatrozzuk meg a kabarhirdetsekre kltheto
sszeg rtknek azt a tartomnyt, melynl optimlis
marad az aktulis bzis!
(b) Hatrozzuk meg a futballhirdetsekre kltheto
sszeg rtknek azt a tartomnyt, melynl optimlis
marad az aktulis bzis!
(c) Hatrozzuk meg az MJN (magas jvedelmu no) elrsek elort szmnak azt a tartomnyt, amelynl optimlis marad az aktulis bzis! rjuk fel az j optimlis
megoldst 28 + milli MJN elrs esetn!
(d) Hatrozzuk meg az MJF (magas jvedelmu frfi) elrsek elort szmnak azt a tartomnyt, amelynl optimlis marad az aktulis bzis! rjuk fel az j optimlis
megoldst 24 + milli MJF elrs esetn!

(e) Hatrozzuk meg valamennyi korltoz felttelhez


az rnykrakat!
(f) Hatrozzuk meg az j optimlis z rtket 26 milli
MJN elrs esetn!
5. Egy cg ktfle rdit gyrt. A gyrtsi folyamat
egyetlen szuk kapacitsa a munkaero. Jelenleg kt dolgozja van a cgnek. Az 1. dolgoz legfeljebb 40 rt hajland
dolgozni hetente, s az radja 5$. A 2. dolgoz legfeljebb
50 rt tud dolgozni egy ht alatt, az radja pedig 6$. Az 1.
tblzat tartalmazza a rdik elksztshez szksges eroforrsokat s kltsgeket, valamint a rdik rt.
1.

TBLZAT

1. rdi
r ($)
25

2. rdi

Eroforrsigny
1. dolgoz:
1 ra
2. dolgoz:
2 ra
nyersanyagkltsg: 5$

r ($)
22

Eroforrsigny
2. dolgoz:
2 ra
2. dolgoz:
1 ra
nyersanyagkltsg: 4$

Legyen xi az i-edik tpus rdibl egy ht alatt gyrtott


mennyisg. Ekkor a kvetkezo LP feladatot kell a cgnek
megoldania:
max z = 3x1 + 2x2
f.h.

x1 + 2x2 40

2x1 + x2 50
x1 , x2 0

5.2. Nhny fontos kplet


(a) Az 1. tpus rdi rnak mely rtkeinl nem vltozik az optimlis bzis?
(b) A 2. tpus rdi rnak mely rtkeinl nem vltozik az optimlis bzis?
(c) Vltozatlan marad-e az optimlis bzis, ha az 1. dolgoz hetente csak 30 rt hajland dolgozni? Hatrozzuk
meg az LP feladat j optimlis megoldst!

5.2.

197

(d) Vltozatlan maradna-e az optimlis bzis, ha a 2.


dolgoz hajland lenne hetente 60 rt dolgozni? Hatrozzuk meg az LP feladat j optimlis megoldst!
(e) Hatrozzuk meg valamennyi korltoz felttelhez
az rnykrakat!

Nhny fontos kplet


Ebben az alfejezetben mtrixalgebrai eszkzkkel megmutatjuk, hogyan lehet az optimlis
LP tblt az LP feladat paramtereibol elolltani. Az itt elolltott kpleteket az rzkenysgvizsglatban, tovbb a dualits s ms halad LP tmakrk tanulmnyozsakor fogjuk
hasznlni. Tegyk fel, hogy egy olyan maximumfeladatot oldunk meg, melyet a nagy M
mdszerrel ksztettnk elo megoldsra, s az LP feladat jelenleg m korltoz felttelt s
n vltozt tartalmaz. Annak ellenre, hogy maradk-, hiny-, illetve mestersges vltozk
is szerepelhetnek, a vltozkat egysgesen x1 , x2 , . . . , xn -nel fogjuk jellni. Ekkor az LP
feladat a kvetkezokppen rhat fel:
max z = c1 x1 + c2 x2 + + cn xn
f.h.
a11 x1 + a12 x2 + + a1n xn = b1
a21 x1 + a22 x2 + + a2n xn =
..
..
..
.
.
.

b2
..
.

(1)

am1 x1 + am2 x2 + + amn xn = bm


xi 0 (i = 1, 2, . . . , n)
Ebben a fejezetben gyakran fogjuk pldaknt hasznlni a 4.3. alfejezetben ismertetett Dakota btorproblmt (az x2 5 korlt nlkl). A Dakota problma (1) alakja a kvetkezo :
max z = 60x1 + 30x2 + 20x3 + 0s1 + 0s2 + 0s3
f.h.
8x1 + 6x2 + x3 + s1
= 48
4x1 + 2x2 + 1.5x3
2x1 + 1.5x2 + 0.5x3

+ s2

= 20

(10 )

+ s3 = 8
x 1 , x 2 , x 3 , s1 , s2 , s3 0

Tegyk fel, hogy elolltottuk az (1) feladat optimlis megoldst. Legyen BVi az optimlis
tbla i-edik sorhoz tartoz bzisvltoz. Legyen tovbb BV = {BV1 , BV2 , . . . , BVm } az
optimlis tbla bzisvltozinak halmaza, s vezessk be az

xBV1
xBV
2
xBV = .
..
xBVm
m 1-es oszlopvektort! Legyen tovbb

198

5. fejezet rzkenysgvizsglat s dualits

NBV = az optimlis tbla nembzis vltozinak halmaza


xNBV = a nembzis vltozkbl (tetszoleges sorrendben) kpzett
(n m) 1-es oszlopvektor
Ezeknek a definciknak az illusztrlsa cljbl emlkeztetnk arra, hogy a Dakota
problma optimlis tblja a kvetkezo :
z

5x2

2x2
+ s1 + 2s2 8s3 = 24
2x2 + x3
+ 2s2 4s3 = 8

x1 + 1.25x2

+ 10s2 + 10s3 = 280


(2)

0.5s2 + 1.5s3 = 2

Ebben az esetben BV1 = s1 , BV2 = x3 s BV3 = x1 . Ezrt



s1
xBV = x3
x1

NBV = {x2 , s2 , s3 }, gy egy lehetsges sorrend szerint



x2
xNBV = s2
s3

Most mtrixalgebrai eszkzket hasznlva az eredeti LP feladat (1) alakjbl a BV bzisvltozk segtsgvel lltjuk elo az optimlis tblt. Emlkeztetnk arra, hogy a clfggvnyben c1 , c2 , . . . , cn jelli az x1 , x2 , . . . , xn vltozk egytthatit. (A vltozk kztt
maradk-, hiny-, illetve mestersges vltozk is szerepelhetnek.)

D EFINCI

cBV az 1 m-es [cBV1

cBV2

. . . cBVm ] sorvektor.

Teht a cBV vektor koordinti az optimlis tbla bzisvltozihoz tartoz clfggvnyegytthatk. A Dakota problma esetn BV = {s1 , x3 , x1 }, ezrt (10 )-bol cBV = [0 20 60]
addik.

D EFINCI

cNBV az az 1 (n m)-es sorvektor, melynek koordinti a nembzis vltozk


egytthati (NBV sorrendjben).
Ha a Dakota problma nembzis vltozit a NBV = {x2 , s2 , s3 } sorrendben adjuk meg,
akkor cNBV = [30 0 0].

D EFINCI

Legyen B az az mm-es mtrix, melynek j-edik oszlopa az (1)-ben a BV j vltozhoz


tartoz oszlopvektor.
A Dakota problma esetn B elso oszlopa (10 )-ben az s1 -hez tartoz oszlop, mg a msodik oszlop x3 , a harmadik pedig x1 oszlopa. gy:

1 1
8
B = 0 1.5 4
0 0.5 2

5.2. Nhny fontos kplet

D EFINCI

Legyen a j (1) korltoz feltteleiben az x j -hez tartoz oszlopvektor!

6
Pldul a Dakota problma esetn, a2 = 2
1.5

D EFINCI

D EFINCI

199


1
a4 = 0
0

N az az m (n m)-es mtrix, melynek oszlopai (1)-ben a nembzis vltozkhoz


tartoz oszlopok (NBV sorrendjben).
Ha a Dakota problmban NBV = {x2 , s2 , s3 } a sorrend, akkor

6
0 0
1 0
N = 2
1.5 0 1
Az m 1-es b oszlopvektor az (1) elo llts jobb oldaln ll korltokbl ll vektor.
A Dakota problma esetn,

48
b = 20
8
Az eredeti Dakota problma i-edik korltoz felttelnek jobb oldalt b i -vel jelljk.
b2 = 20.
Ezekutn mtrixalgebrai eszkzkkel megmutatjuk, hogyan fgg egy LP feladat optimlis tblja az LP feladat eredeti (1) alakjtl s a BV bzistl.

Egy tetszoleges
tblzat korltoz feltteleinek felrsa B1 s az
eredeti LP segtsgvel
Eloszr is vegyk szre, hogy (1) az albbi alakban rhat fel:
z = cBV xBV + cNBV xNBV
f.h. BxBV + NxNBV = b
xBV , xNBV 0

A (3) kpleteket hasznlva, a Dakota problma a




s1
x2





max z = 0 20 60 x3 + 30 0 0 s2

x1
s3

48
6
0 0 x2
1 1
8 s1

f.h.
1 0 s2 = 20

0 1.5 4 x3 + 2
8
1.5 0 1 s3
0 0.5 2 x1


0
0
x2
s1


x3 0 , s2 0


s3
0
0
x1

(3)

200

5. fejezet rzkenysgvizsglat s dualits

alakban rhat fel. A (3)-ban szereplo korltoz feltteleket B1 -gyel szorozva


B1 BxBV + B1NxNBV = B1 b

vagyis

xBV + B1 NxNBV = B1 b

(4)

addik. A (4) kpletben BVi -nek az i-edik korlthoz tartoz egytthatja 1, s az sszes
tbbi egytthatja 0. Ezrt BV a (4) alak bzisvltozinak halmaza, s a (4) kplet adja az
optimlis tbla korltoz feltteleit.
A Dakota problma esetn a GaussJordan eljrssal kaphat, hogy

1
2
8
2
4
B1 = 0
0 0.5
1.5

Ezrt (4)-bol



1
2
8
s1
6
0 0
1
2
8
x2
48
x3 + 0
2
4 2
1 0 s2 = 0
2
4 20
x1
0 0.5
1.5
s3
1.5 0 1
0 0.5
1.5
8

illetve



s1
x2
2
2
8
24
x3 + 2
2
4 s2 = 8
x1
1.25 0.5
1.5
s3
2

(40 )

addik. Ez termszetesen azonos a Dakota problma (2) optimlis tbljnak korltoz


feltteleivel.
(4)-bol lthat, hogy az optimlis tbla korltoz feltteleiben egy x j nembzis vltoz
oszlopt a B1 mtrix adja. [(1)-ben az x j -hez tartoz oszlop = B1 a j .] Pldul B1 -nek
az x2 -hz tartoz oszlopa (vagyis N elso oszlopa) = B1 a2 . (4)-bol az is lthat, hogy
a korltoz felttelek jobb oldaln a B1 b vektor ll. Elozo fejtegetseinket sszegzi a
kvetkezo kt kplet:
x j oszlopa az optimlis tbla korltaiban = B1 a j
az optimlis tbla korltainak jobb oldala = B

(5)-re pldaknt megllapthatjuk, hogy:


x2 oszlopa
= B1 a2
az optimlis Dakota tblban

1
2
8
6
2
2
4 2 = 2
= 0
0 0.5
1.5
1.5
1.25

(6)-ra pldaknt, azt kapjuk, hogy:

a jobb oldali korltok


= B1 b
az optimlis Dakota tblban


1
2
8
48
24
2
4 20 = 8
= 0
0 0.5
1.5
8
2

(5)
(6)

5.2. Nhny fontos kplet

201

Az optimlis tbla clfggvny-sornak elolltsa


Most megmutatjuk, hogyan lehet az optimlis tbla clfggvny-sort a BV mtrix s az LP
feladat eredeti (1) alakjnak segtsgvel kifejezni. Elso lpsknt megszorozzuk a BxBV +
NxNBV = b alakban felrt korltoz feltteleket a cBV B1 vektorral:
cBV xBV + cBV B1 NxNBV = cBV B1 b

(7)

s az eredeti z = cBV xBV + cNBV xNBV clfggvnyt talaktjuk a kvetkezo kppen:


z cBV xBV cNBV xNBV = 0

(8)

(7)-et (8)-hoz adva kiesnek az optimlis tbla bzisvltozi, ugyanakkor megkapjuk a clfggvny sort:
z + (cBV B1 N cNBV )xNBV = cBV B1 b
(9)
(9) szerint x j egytthatja a clfggvnyben

cBV B1 (x j oszlopa N-ben) (x j egytthatja cNBV -ben) = cBV B1 a j c j


s a clfggvny sornak jobb oldala cBV B1 b.
Az elozo okfejts sszegzse cljbl jelljk c j -sal x j egytthatjt az optimlis tbla
clfggvnyben. Ekkor azt mutattuk meg, hogy

c j = cBV B1 a j c j

(10)

az optimlis tbla clfggvnynek jobb oldala = cBV B1 b

(11)

(10) s (11) illusztrlsa cljbl elolltjuk a Dakota problma optimlis tbljnak a clfggvnyt. Lttuk, hogy

1
2
8
2
4
cBV = [0 20 60] s B1 = 0
0 0.5
1.5

Ezrt cBV B1 = [0 10 10], tovbb (10)-bol kvetkezik, hogy az optimlis tbla clfggvnyben a nembzis vltozk egytthati

6
c2 = cBV B1 a2 c2 = [0 10 10] 2 30 = 20 + 15 30 = 5
1.5
tovbb


0
s2 egytthatja az optimlis clfggvnyben = cBV B1 1 0 = 10
0

0
s3 egytthatja az optimlis clfggvnyben = cBV B1 0 0 = 10
1

Termszetesen az (x1 , x3 s s1 ) bzisvltozk egytthati az optimlis clfggvnyben


nullk.

202

5. fejezet rzkenysgvizsglat s dualits

(11) miatt a clfggvny sornak jobb oldala

48
cBV B1 b = [0 10 10] 20 = 280
8

Mindezt egybevetve lthat, hogy a clfggvny sora

z + 5x2 + 10s2 + 10s3 = 280


alak. Ez termszetesen sszhangban ll a (2) sszefggssel.

A (10) formula egyszerustse

maradk-, hiny- s mestersges


vltozk esetn
Jelentos mrtkben egyszerustheto a (10) kplet, hogyha x j egy maradk-, hiny- vagy
mestersges vltoz. Pldul amikor x j az si maradkvltozval azonos, si egytthatja
a clfggvnyben 0, tovbb si oszlopa az eredeti tblban egy 1-est tartalmaz az i-edik
sorban s 0-kat a tbbi sorban. Ekkor (10) kvetkezmnyeknt
si egytthatja az optimlis clfggvnyben
= cBV B1 i-edik eleme 0

(100 )

= cBV B1 i-edik eleme

Hasonlan, amikor x j az ei feleslegvltozval azonos, ei egytthatja a clfggvnyben


0, tovbb ei oszlopa az eredeti tblban egy 1-est tartalmaz az i-edik sorban s 0-kat a
tbbi sorban. Ekkor (10)-bol a kvetkezo addik:
ei egytthatja az optimlis clfggvnyben
= (cBV B1 )i-edik eleme 0

(1000)

= (cBV B1 )i-edik eleme

Vgl, ha x j egy ai mestersges vltozval azonos, akkor ai egytthatja a clfggvnyben (maximumfeladat esetn) M, tovbb az eredeti tblban a i oszlopa egy 1-est
tartalmaz az i-edik sorban s 0-kat a tbbi sorban. Ekkor (10) a kvetkez o kppen alakul:
ai egytthatja az optimlis clfggvnyben
= (cBV B1 )i-edik eleme (M)

(10000)

= (cBV B1 )i-edik eleme + (M)

Ennek az alfejezetnek a levezetsei nem voltak egyszeruek. Szerencsre (5), (6), (10) s
(11) akkor is hasznlhatak, ha valaki nem rtette meg teljes mrtkben ezeket a levezetseket. Most sszegezzk az LP feladat optimlis tbljnak kiszmtsra eddig levezetett
kpleteket.

5.2. Nhny fontos kplet

203

Az LP feladat optimlis tbljt elollt


kpletek sszegzse
x j oszlopa az optimlis tbla korltoz feltteleiben = B1 a j
az optimlis tbla korltoz feltteleinek jobb oldala = B
c j = cBV B

aj cj

(5)
(6)
(10)

az si maradkvltoz egytthatja az optimlis clfggvnyben


= cBV B1 i-edik eleme
az ei hinyvltoz egytthatja az optimlis clfggvnyben

(100 )

= (cBV B1 i-edik eleme)


az ai mestersges vltoz egytthatja az optimlis clfggvnyben

(1000)

= (cBV B1 i-edik eleme) + M

(maximumfeladat)

az optimlis clfggvny jobb oldala = cBV B1 b

(10000)
(11)

Mindenekelott ki kell szmtani B1 -et, hiszen erre az optimlis tbla valamennyi rsznl
szksg van. Hasonlkppen az optimlis tbla clfggvnynek meghatrozsakor szksgnk van cBV B1 -re.
Az albbi pldval ismt az elobb levezetett kpleteket illusztrljuk.

1.

PLDA

A kvetkezo LP feladat optimlis bzisa BV = {x2 , s2 }. rjuk fel az optimlis tblt!


max z = x1 + 4x2
f.h.
x1 + 2x2 6
2x1 + x2 8
x1 , x2 0

Megolds

Az s1 , illetve s2 maradkvltozkat bevezetve az (1) alakhoz jutunk:


max z = x1 + 4x2
f.h.

x1 + 2x2 + s1
=6
2x1 + x2
+ s2 = 8

Eloszr kiszmtjuk a B1 mtrixot. Mivel


B=

2 0
1 1

B1 elolltsa cljbl GaussJordan elimincit vgznk az albbi mtrixon:





2 0 1 0
B|I2 =
1 1 0 1
Az olvas knnyen ellenorizheti, hogy
B

"

1
2
12

0
1

204

5. fejezet rzkenysgvizsglat s dualits

Az optimlis tbla korltoz feltteleit (5) s (6) segtsgvel rjuk fel. Mivel
 
1
a1 =
2
x1 oszlopa az optimlis tblban
B

a1 =

"

1
2
12

0
1

#" #
1
2

1
2
3
2

" #

A msik nembzis vltoz s1 . Minthogy s1 oszlopa az eredeti feladatban


 
1
0
(5) szerint
"

1
2
12

"

1
2
12

s1 oszlopa az optimlis tblban =


Mivel
b=
(6) alapjn

#" #
1
0

1
2
21

"

" #
3

 
6
8

az optimlis tbla jobb oldala =

#" #
6
8

Mivel BV az {x2 , s2 } sorrendben van megadva, x2 az elso sor, s2 pedig a msodik sor bzisvltozja. Ezrt az optimlis tbla korltoz felttelei a kvetkez o k:
1
2 x1 + x 2 +
3

2 x1

Mivel cBV = [4 0],


cBV B

= [4 0]

1
2 s1
1
2 s1 + s 2

"

(10)-et felhasznlva

1
2
12

0
1

=3
=5

= [2 0]

x1 egytthatja az optimlis tbla clfggvnyben = cBV B1 a1 c1


 
1
1 = 1
= [2 0]
2
(100) alapjn
s1 egytthatja az optimlis tblban = cBV B1 elso eleme = 2
Mivel
b=

 
6
8

5.3. rzkenysgvizsglat

205

(11) szerint az optimlis tbla clfggvnynek jobb oldala


 
6
1
= 12
cBV B b = [2 0]
8
Termszetesen az x2 s s2 bzisvltozk egytthatja a clfggvnyben 0. Ezrt az optimlis tbla clfggvnye z + x1 + 2s1 = 12 alak, s a teljes optimlis tbla a kvetkezo :
z + x1

+ 2s1

1
2 x1 + x 2 +
3

2 x1

= 12

1
2 s1
1
2 s1 + s 2

=3
=5

Ennek az alfejezetnek a kpleteit arra hasznltuk, hogy elo lltsuk egy LP feladat optimlis tbljt. Kpleteinket azonban arra is hasznlhatjuk, hogy bzisvltozk tetszoleges
halmaza esetn felrjuk a bzishoz tartoz tblt. Ez az szrevtel fontos szerepet jtszik
majd a 9.1. alfejezetben, ahol a mdostott szimplex mdszert tanulmnyozzuk.

Feladatok
A csoport
1. Az albbi LP feladatban x1 s x2 az optimlis bzisvltozk. rjuk fel az optimlis tblt ennek az alfejezetnek a
kpletei segtsgvel!
max z = 3x1 + x2
f.h.

2x1 x2 2

x1 + x2 4
x1 , x2 0

5.3.

2. A kvetkezo LP feladatban x2 s s1 optimlis bzisvltozk. Ennek az alfejezetnek a kpleteit alkalmazva lltsuk


elo az optimlis tblt!
max z = x1 + x2

f.h.

2x1 + x2 4

x1 + x 2 2

x1 , x2 0

rzkenysgvizsglat
Most azt fogjuk felderteni, hogy egy LP feladat paramtereinek (clfggvny egytthatk, jobb oldal, technolgiai egytthatk) mdostsa hogyan vltoztatja meg az optimlis
megoldst. Amint azt az 5.1. alfejezetben emltettk, ezt a tmakrt nevezik rzkenysgvizsglatnak. Vizsglataink sorn jelento s mrtkben az 5.2. alfejezet kpleteire tmaszkodunk, s elsosorban maximumfeladatokra koncentrlunk. (A minimumfeladatok esetn
szksges mdostsok magtl rteto doek; lsd 8. feladat, ennek az alfejezetnek a vgn.)
Ahogy az 5.2. alfejezetben, most is BV-vel jelljk az optimlis tbla bzisvltozinak
halmazt. El akarjuk dnteni, hogy az LP feladat egy adott mdostsa esetn BV optimlis marad-e. Az rzkenysgvizsglat mdszertannak kulcspontja a kvetkez o szrevtel.
A 4. fejezetbol tudjuk, hogy egy adott BV bzishoz tartoz szimplex tbla (maximumfeladat
esetn) pontosan akkor optimlis, ha mindegyik korltoz felttel jobb oldala nemnegatv,
s a clfggvny sorban valamennyi egytthat nemnegatv. Ez azrt igaz, mert amikor
mindegyik korlt jobb oldala nemnegatv, akkor a BV-hez tartoz bzismegolds lehetsges, s amikor a clfggvny valamennyi egytthatja nemnegatv, egyik BV-t o l klnbzo

206

5. fejezet rzkenysgvizsglat s dualits

lehetsges bzis sem eredmnyezhet az aktulisnl nagyobb z rtket. Emiatt kizrlag a


jobb oldali korltoktl s a clfggvny egytthatitl fgg az, hogy egy adott tbla lehetsges s optimlis-e. Pldul, ha egy LP feladat vltozi x1 , x2 , . . . , x6 , akkor az albbi
tbla-rsz mr elegendo lenne az optimalitshoz:
z + 2x2 + x4 + x6 = 6
=1
=2
=3
A tbla kihagyott elemei az optimalits tnyt nem befolysoljk.
Tegyk fel, hogy megoldottunk egy LP feladatot, s talltunk egy BV optimlis bzist.
Az albbi eljrssal el tudjuk dnteni, hogy az LP feladat valamilyen mdostsnak hatsra a BV bzis elveszti-e optimalitst.
1. lps Az 5.2. alfejezet kpleteinek alkalmazsval meghatrozzuk, hogy az LP feladat
mdostsnak hatsra hogyan vltozik a jelenleg optimlis BV bzishoz tartoz tbla jobb
oldala s clfggvnye.
2. lps Ha a clfggvny valamennyi egytthatja nemnegatv, tovbb a korltokhoz
tartoz jobb oldali konstansok nemnegatvak, akkor BV tovbbra is optimlis. Egybknt
BV mr nem optimlis.
Ha BV mr nem optimlis, akkor gy kereshetjk meg az j optimlis megoldst, hogy
az 5.2. alfejezet kpleteit alkalmazva felrjuk a BV-hez tartoz teljes tblt, s ezt kiindul
tblnak tekintve folytatjuk a szimplex algoritmust.
Ktfle oka lehet annak, hogy egy LP feladat paramter-mdostsnak hatsra a BV
bzis elveszti optimalitst. Az egyik esetben a clfggvny valamely egytthatja (esetleg
tbb is) negatv lesz. Ilyenkor gy kaphatunk jobb lehetsges bzismegoldst (nagyobb z
rtket), hogy a negatv clfggny-egytthat oszlopbl vlasztunk pivot-elemet. Ebben
az esetben azt mondjuk, hogy a BV ezttal egy szuboptimlis bzis. A msik esetben valamely korltoz felttel (vagy felttelek) jobb oldala negatv. Ilyenkor legalbb egy bzisvltoz negatv, teht a BV bzis mr nem ad lehetsges bzismegoldst. Ebben az esetben
azt mondjuk, hogy a BV ezttal egy nem lehetsges bzis.
Az rzkenysgvizsglat technikjt a Dakota btorproblmn mutatjuk be. Emlkeztetnk arra, hogy
x1 = rasztalok szma
x2 = asztalok szma
x3 = szkek szma
A Dakota problma clfggvnye
max z = 60x1 + 30x2 + 20x3
volt, az indul tbla pedig
z 60x1 30x2 20x3

8x1 + 6x2 + x3 + s1
4x1 + 2x2 + 1.5x3
+ s2
2x1 + 1.5x2 + 0.5x3

=0
= 48
= 20
+ s3 = 8

(faanyag korlt)
(felletkezelsi korlt)
(asztalosmunka korlt)

(12)

5.3. rzkenysgvizsglat

207

alak volt. Az optimlis tbla az albbi:


z +

5x2
2x2

2x2 + x3
x1 + 1.25x2

+ 10s2 + 10s3 = 280


+ s1 + 2s2 8s3 = 24
+ 2s2 4s3 = 8
0.5s2 + 1.5s3 = 2

(13)

Megjegyezzk, hogy BV = {s1 , x3 , x1 } s NBV = {x2 , s2 , s3 }. Az optimlis bzismegolds


z = 280, s1 = 24, x3 = 8, x1 = 2, x2 = 0, s2 = 0, s3 = 0.
Most megvizsgljuk, hogy az LP feladat paramtereit rinto 6 klnbzo tpus mdosts hogyan vltoztatja meg az optimlis megoldst:
1. vltozs Egy nembzis vltoz egytthatjt mdostjuk a clfggvnyben.
2. vltozs Egy bzisvltoz egytthatjt mdostjuk a clfggvnyben.
3. vltozs Egy korltoz felttel jobb oldalt mdostjuk.
4. vltozs Egy nembzis vltozhoz tartoz oszlopvektort mdostunk.
5. vltozs j vltozt (vagy tevkenysget) vezetnk be.
6. vltozs j korltoz felttelt runk fel (lsd 5.10. alfejezet).

Egy nembzis vltoz egytthatjnak mdostsa a


clfggvnyben
A Dakota problma (13) optimlis megoldsban x2 az egyetlen bzison kvli dntsi
vltoz. Jelenleg x2 egytthatja a clfggvnyben c2 = 30. Hogyan rinti c2 mdostsa a Dakota problma optimlis megoldst? Pontosabban c 2 mely rtkeire marad BV =
{s1 , x3 , x1 } optimlis?
Tegyk fel, hogy 30-rl 30 + -ra vltozik x2 egytthatja a clfggvnyben. milyen
rtkei esetn marad a bzisvltozk halmaza (teht az aktulis bzis) optimlis? El o szr
meghatrozzuk, hogy hogyan vltozik a BV-hez tartoz tbla, amikor c 2 -t 30-rl 30 + -ra
mdostjuk. Vegyk szre, hogy B1 s b nem vltoznak, ezrt (6) miatt (B1 b), vagyis a
BV-hez tartoz tbla jobb oldala, sem vltozik, teht BV tovbbra is lehetsges. Mivel x 2
nembzis vltoz, cBV sem vltozik. (10)-bol lthatjuk, hogy x2 az egyetlen olyan vltoz,
melynek a clfggvnyben mdosult az egytthatja. Teht a BV optimlis marad, ha c2
0, ugyanakkor szuboptimlis lesz , ha c2 < 0. Az utbbi esetben x2 -nek a bzisba trtno
bevonsval tudjuk z rtkt javtani.

6
a2 = 2
1.5

s c2 = 30 + . Az 5.2. alfejezetbol azt is tudjuk, hogy cBV B1 = [0 10 10]. (10)-bol


kvetkezik, hogy

6
c2 = [0 10 10] 2 (30 + ) = 35 30 = 5
1.5
Teht a BV akkor marad optimlis, amikor c2 0, teht 5 0, vagyis 5. Hasonlkppen c2 < 0 akkor teljesl, ha > 5, ilyenkor viszont BV mr nem optimlis. Ez azt

208
2.

5. fejezet rzkenysgvizsglat s dualits


TBLZAT

Mdostott
(szuboptimlis)
Dakota tbla (egy
asztal ra 40$)

3. T B L Z A T
Optimlis Dakota
tbla (egy asztal
ra 40$)

z
5x2
+ 10s2 + 10s3 = 280

2x2
+ s1 + 2s2 8s3 = 24

2x2 + x3
+ 2s2 4s3 = 8
x1 + 1.25x2
0.5s2 + 1.5s3 = 2


Bzisvltoz

Hnyados

z = 280
s1 = 24
x3 = 8
x1 = 2

nincs
nincs
1.6

Bzisvltoz
z + 4x1
+ 8s2 + 16s3 = 288
1.6x1
+ s1 + 1.2s2 5.6s3 = 27.2
1.6x1
+ x3
+ 1.2s2 1.6s3 = 11.2
0.8x1 + x2
0.4s2 + 1.2s3 = 1.6

z = 288
s1 = 27.2
x3 = 11.2
x2 = 1.6

jelenti, hogy ha az asztalok rt legfeljebb 5$-ral nveljk, teht c 2 30 + 5 = 35, akkor a


BV optimlis marad.
Ha egy nembzis vltoz clfggvnybeli egytthatjnak mdostsa sorn optimlis
marad a BV bzis, akkor az optimlis z rtk s a dntsi vltozk rtkei sem vltoznak.
Ez azrt igaz, mert amikor a clfggvnyben egy nembzis vltoz egytthatja vltozik,
akkor ez nem mdostja a korltoz felttelek, valamint a clfggvny sornak jobb oldalt.
Pldul, ha az asztalok ra 33$-ra no (c2 = 33), a Dakota problma optimlis megoldsa
nem vltozik. (A Dakotnak tovbbra is 2 rasztalt s 8 szket kell ksztenie, s z = 280.)
Ugyanakkor c2 > 35 esetn BV mr nem marad optimlis, hiszen c2 < 0. Ebben az esetben
gy kapjuk meg az j optimlis megoldst, hogy jraszmoljuk a BV-hez tartoz tblt, s
folytatjuk a szimplex mdszer alkalmazst. Pldul c2 = 40 esetn tudjuk, hogy a BV-hez
tartoz tblban egyedl x2 -nek a clfggvnybeli egytthatja fog vltozni. Mivel c2 = 40,
ezrt

6
c2 = [0 10 10] 2 40 = 5
1.5

A BV-hez tartoz mdostott tblt a 2. tblzat mutatja. Ez nem optimlis tbla (hanem
szuboptimlis). z rtkt gy nvelhetjk, hogy a 3. sorban x 2 -t bevonjuk a bzisba. Az j
szimplex tblt a 3. tblzat mutatja.
Ez egy optimlis tbla. Eszerint c2 = 40 esetn a Dakota problma j optimlis megoldsa z = 288, s1 = 27.2, x3 = 11.2, x2 = 1.6, x1 = 0, s2 = 0, s3 = 0. Teht az asztalok
ra olyan mrtkben nvekedett, hogy most mr a Dakotnak rdemes asztalokat gyrtani.
Megjegyezzk, hogy ha megvltoztatjuk a clfggvnyben egy nembzis vltoz egytthatjt, akkor ltalban nemcsak egy, hanem tbb bzistranszformcit is vgre kell hajtani
ahhoz, hogy az j optimlis megoldst megkapjuk.
Most mutatunk egy meggyozobb rvelst annak beltsra, hogy nem vltozik a Dakota
problma optimlis bzisa, amg az asztalok rt legfeljebb 5$-ral nveljk. (13) optimlis
clfggvnybol lthat, hogy c2 = 30 esetn
z = 280 10s2 10s3 5x2
Ez azt mutatja, hogy minden egyes elksztett asztal 5$-ral cskkenti a Dakota rbevtelt (ms szval az asztalok reduklt kltsge 5$). Ha tbb mint 5$-ral emeljk az asztalok
egysgrt, akkor minden egyes elksztett asztal mr nvelni fogja a Dakota rbevtelt.
Pldul c2 = 36 esetn minden asztal 6 5 = 1$-ral nveli az rbevtelt, s a Dakotnak

5.3. rzkenysgvizsglat

209

mr rdemes asztalt gyrtania. Teht, ahogyan azt elo bb mr lttuk, > 5 esetn mr vltozik az optimlis bzismegolds. Ilyen mdon a nembzis vltozk reduklt kltsgnek egy
j interpretcijhoz jutottunk: Egy nembzis vltoz reduklt kltsge (maximumfeladat
esetn) az a legnagyobb rtk, amivel a vltoz clfggvnybeli egytthatjt mg nvelhetjk, anlkl, hogy az aktulis bzis optimalitst elveszten, s a nembzis vltozt az
(j) optimlis bzisba be kellene vonni .
sszegezve, amikor a clfggvnyben megvltoztatjuk egy x j nembzis vltoz egytthatjt, c j 0 esetn az optimlis bzis nem mdosul. Ha viszont c j < 0, akkor az optimlis
bzis mdosul, s x j bzisvltoz lesz az j optimlis bzisban.

Egy bzisvltoz egytthatjnak mdostsa a clfggvnyben


A Dakota problmban az x1 (rasztalok), illetve x3 (szkek) dntsi vltozk bzisvltozk. Most megmutatjuk, hogy a clfggvnyben valamely bzisvltoz egytthatjnak
mdostsa hogyan hat az LP feladat optimlis megoldsra. Elo szr azt vizsgljuk, hogyan
rinti a BV-hez tartoz tblt egy ilyen mdosts. Mivel B (kvetkezskppen B 1 ) s b
nem vltoznak, (6) miatt valamennyi korltoz felttel jobb oldala vltozatlan marad, s BV
tovbbra is lehetsges lesz. Ugyanakkor cBV mdostsa miatt cBV B1 vltozni fog. (10)bol ltjuk, hogy cBV B1 mdostsa (egynl) tbb clfggvnybeli egytthat megvltozst is okozhatja. Annak eldntsre, hogy BV optimlis marad-e, jra kell szmolnunk a
BV-hez tartoz tbla clfggvnyt a (10) sszefggs segtsgvel. Ha a clfggvny valamennyi egytthatja nemnegatv marad, akkor BV tovbbra is optimlis. Ellenkez o esetben
BV szuboptimlis lesz. Az eddigi fejtegets illusztrlsa cljbl megvizsgljuk, hogy az x 1
(rasztalok) clfggvnybeli egytthatjnak a jelenlegi c1 = 60 rtkrol trtno elmozdtsa hogyan rinti a Dakota problma optimlis megoldst.
Tegyk fel, hogy c1 j rtke 60 + lesz, s ezltal cBV mdostott vltozata cBV =
[0 20 60 + ]. Az j clfggvny felrshoz szksgnk van B1 -re. B1 kiszmtst elvgezhetnnk a GaussJordan mdszerrel (mint pl. az 5.2. alfejezetben). Emlkeztetnk arra, hogy ez a mdszer a 3 6 -os B|I3 mtrix felrsval indul:

1 1
8 1 0 0
B|I3 = 0 1.5 4 0 1 0
0 0.5 2 0 0 1

Ezutn elemi sormuveletek sorozatval B|I3 elso hrom oszlopt I3 -m transzformljuk.


Amikor ez megtrtnt, a kapott mtrix utols hrom oszlopa B1 lesz.
Ugyanakkor az is igaz, hogy a Dakota problmnak a szimplex algoritmussal trtn o
megoldsa sorn B1 -et (szrevtlenl) mr elolltottuk. Ennek beltshoz vegyk szre,
hogy amikor a (12) indul Dakota tblbl a (13) optimlis Dakota tblt kiszmtottuk,
elemi sormuveletek sorozatt hajtottuk vgre a korltoz feltteleken. Ezek a lpsek az
(s1 , s2 , s3 ) indul bzishoz tartoz oszlopokat
s1
1
0
0

s2
0
1
0

s3
0
0
1

alakbl

s2
s3
s1
1
2
8
0
2
4
0 0.5
1.5

alakba

transzformltk. Ugyanezekkel a lpsekkel a BV = {s1 , x3 , x1 }-hez tartoz


s1 x 3
1 1
B=
0 1.5
0 0.5

x1
8
4
2

alakbl

s1
1
0
0

x 3 x 1
0 0
1 0
0 1

210

5. fejezet rzkenysgvizsglat s dualits

lett. Ez azt jelenti, hogy a Dakota problma szimplex algoritmussal trtn o megoldsa sorn elemi bzistranszformcik sorozatval B-t I3 -m transzformltuk. Ugyanezeknek a
lpseknek a hatsra I3 -bl

1
2
8
0
2
4 = B1
0 0.5
1.5

lett. Ezzel egy rendkvl fontos tnyt fedeztnk fel: Tetszoleges szimplex tblban a B 1
m m-es mtrix az aktulis tblnak azokbl az oszlopaibl ll, melyek az indul tbla
bzisvltozihoz tartoznak (az eredeti sorrendben). Eszerint amikor az LP feladat indul
bzisa kizrlag maradk-vltozkbl ll, akkor az optimlis tblban a B 1 mtrixot a korltoz feltteleknek a maradk-vltozkhoz tartoz oszlopai alkotjk. Az ltalnos esetben,
ha az i-edik korlt indul bzisvltozja az ai mestersges vltoz, akkor B1 i-edik oszlopa az optimlis tbla korltoz feltteleiben az ai -hez tartoz oszlop. Ezrt, nincs szksgnk a GaussJordan algoritmusra ahhoz, hogy az optimlis tbla B 1 mtrixt elolltsuk.
B1 -et a szimplex algoritmus vgrehajtsa sorn automatikusan megkapjuk.
Most mr kiszmthatjuk a cBV B1 vektort c1 = 60 + esetn:

1
2
8
2
4
cBV B1 = [0 20 60 + ] 0
(14)
0 0.5
1.5
= [0 10 0.5 10 + 1.5]

Vegyk szre, hogy = 0 esetn (14) az eredeti cBV B1 vektort adja. Most kiszmtjuk a
c1 = 60 + rtkhez tartoz j clfggvnyt. Mivel


1
6
8
a1 = 4 , a2 = 2 , a3 = 1.5 , c1 = 60 + , c2 = 30, c3 = 20
0.5
1.5
2

(10) segtsgvel elollthatjuk az j clfggvnyt. Minthogy s1 , x3 s x1 bzisvltozk,


egytthatjuk a clfggvnyben tovbbra is 0 kell hogy legyen. A nembzis vltozk clfggvnybeli egytthati a kvetkezo kppen alakulnak:

6
c2 = cBV B1 a2 c2 = [0 10 0.5 10 + 1.5] 2 30 = 5 + 1.25
1.5
s2 egytthatja a clfggvnyben = cBV B1 msodik eleme = 10 0.5

s3 egytthatja a clfggvnyben = cBV B1 harmadik eleme = 10 + 1.5


Emiatt az optimlis tbla clfggvnye
z + (5 + 1.25)x2 + (10 0.5)s2 + (10 + 1.5)s3 = ?
A clfggvny j alakjbl lthat, hogy BV pontosan akkor marad optimlis, ha a kvetkezo felttelek teljeslnek:
5 + 1.25 0 (teht 4)
10 0.5 0 (teht 20)

10 + 1.5 0 (teht (20/3))

5.3. rzkenysgvizsglat

211

3. B R A
c1 mely rtkeire
marad optimlis az
aktulis bzis?

Ezek szerint az aktulis bzis addig marad optimlis, amg 4, 20 s 20


3 . A 3.
brn lthat, hogy az aktulis bzis akkor s csak akkor marad optimlis, ha 4 20:
Ha c1 -et legfeljebb 4$-ral cskkentjk, illetve legfeljebb 20$-ral nveljk, nem vltozik az
optimlis bzis. Teht, mindaddig mg 56 = 60 4 c1 60 + 20 = 80, az aktulis bzis
optimlis marad. Ha viszont c1 < 56 vagy c1 > 80, akkor az aktulis bzis mr nem lesz
optimlis.
Amikor optimlis marad az aktulis bzis, a dntsi vltozk rtkei sem mdosulnak,
mert B1 b sem vltozik. Ugyanakkor az optimlis z rtk mdosul. Ennek bemutatsra
tegyk fel, hogy c1 = 70. Mivel 56 70 80, tudjuk, hogy a jelenlegi bzis optimlis marad. Ezrt a Dakotnak tovbbra is 2 rasztalt (x1 = 2) s 8 szket (x3 = 8) kell gyrtania.
Ugyanakkor z j rtke z = 70x1 + 30x2 + 20x3, teht 70(2) + 20(8) = 300$ lesz. Azt, hogy
z j rtke 300$, a kvetkezokppen is belthatjuk. Minden egyes rasztalbl szrmaz bevtel 70 60 = 10$-ral nott. Mivel a Dakota 2 rasztalt kszt, a bevtele 2(10) = 20$-ral
no, teht az j bevtel = 280 + 20 = 300$.
Amikor az aktulis bzis mr nem optimlis
Megismteljk, hogy c1 < 56, illetve c1 > 80 esetn az adott bzis mr nem lesz optimlis.
rtheto mdon, amikor az rasztalok ra kello mrtkben cskken (a tbbi r vltozatlanul tartsa mellett), mr nem lesz rdemes rasztalt gyrtani. Vizsglataink alapjn ez
akkor kvetkezik be, amikor az rasztalok rnak cskkense nagyobb mint 4$. Az olvas meggyozodhet arrl (lsd 2. feladat az alfejezet vgn), hogy c1 < 56 esetn x1 az
j optimlis megoldsban mr nem lesz bzisvltoz. Msfelo l c1 > 80 esetn az rasztal
annyira vonz termk lesz, hogy rdemes tbbet gyrtani bel o le; a nyeresg mr annyira
nagy, hogy az aktulis bzis szuboptimlis lesz. Ahhoz, hogy tbb rasztalt gyrtsunk, ki
kell szortani egy msik vltozt a bzisbl. Tegyk fel, hogy c 1 = 100. Mivel 100 > 80, az
aktulis bzis elveszti optimalitst. Hogyan hatrozhatjuk meg az j optimlis megoldst?
Felrjuk a korbban optimlis tbla c1 = 100-hoz tartoz alakjt, s folytatjuk a szimplex
algoritmust. c1 = 100 esetn = 100 60 = 40, s a clfggvny j alakja
c1 = 0,
c2 = 5 + 1.25 = 55,
c3 = 0,
s1 egytthatja a clfggvnyben = 0
s2 egytthatja a clfggvnyben = 10 0.5 = 10
s3 egytthatja a clfggvnyben = 10 + 1.5 = 70

48
A clfggvny jobb oldala = cBV B1 b = [0 10 70] 20 = 360
8

(6) szerint c1 mdostsa nem vltoztatja meg a BV-hez tartoz tbla korltoz feltteleit. Ez azt jelenti, hogy c1 = 100 esetn a BV-hez tartoz tblt a 4. tblzat mutatja.
BV = {s1 , x3 , x1 } ezttal szuboptimlis. Annak rdekben, hogy meghatrozzuk a Dakota
problma j optimlis megoldst, bevonjuk a bzisba s2 -t a 2. sor segtsgvel (5. tblzat). Az eredmny egy j optimlis tbla. c1 = 100 esetn a Dakota problma j optimlis

212
4.

5. fejezet rzkenysgvizsglat s dualits


TBLZAT

Mdostott
(szuboptimlis)
tbla c1 = 100
esetn

5. T B L Z A T
Optimlis Dakota
tbla c1 = 100
esetn

z + 55x2
10s2 + 70s3 = 360
2x2
+ s1 + 
2s2 8s3 = 24
2x2 + x3
+ 2s2 4s3 = 8

x1 + 1.25x2
0.5s2 + 1.5s3 = 2

Bzisvltoz

Hnyados

z = 360
s1 = 24
x3 = 8
x1 = 2

12
4
nincs

Bzisvltoz
z + 45x2 + 5x3
+ 50s3 = 400

x3 + s1
4s3 = 16

x2 + 05x3
+ s2 2s3 = 4
x1 + 0.75x2 + 0.25x3
+ 0.5s3 = 4

z
s1
s2
x1

=
=
=
=

400
16
4
4

megoldsa z = 400, s1 = 16, s2 = 4, x1 = 4, x2 = 0, x3 = 0. Megjegyezzk, hogy az rasztalgyrts jvedelmezosgnek nvekedse azt eredmnyezte, hogy a Dakota mr nem
gyrt szkeket. A felszabadul ero forrsok segtsgvel a Dakota tovbbi 4 2 = 2 rasztalt kszt.
sszegezve, az x j bzisvltoz clfggvny egytthatjnak mdostsa utn csak akkor
marad az aktulis bzis tovbbra is optimlis, ha a BV-hez tartoz tbla clfggvnysorban
mindegyik egytthat nemnegatv marad. Ha valamelyik egytthat negatv lesz, akkor az
aktulis bzis mr nem lesz optimlis.

Egy korltoz felttel jobb oldalnak mdostsa


Mi trtnik az aktulis bzissal?
Ebben az alfejezetben azt vizsgljuk, hogyan vltozik egy LP feladat optimlis megoldsa,
amikor egy korltoz felttel jobb oldalt mdostjuk. Mivel b (10)-ben nem szerepel, egy
korlt jobb oldalnak mdostsa vltozatlanul hagyja az optimlis tbla clfggvnyt; a
jobb oldali konstans megvltozsnak hatsra az aktulis bzis nem vlik szuboptimliss.
Ugyanakkor (5) s (6) azt mutatjk, hogy egy jobb oldali korlt mdostsa megvltoztatja
az optimlis tblban a korltoz felttelek jobb oldalt. Az aktulis bzis lehetsges s
optimlis marad mindaddig, mg az optimlis tbla jobb oldaln valamennyi korlt mg
nemnegatv. Amikor az optimlis tblban legalbb egy jobb oldali korlt negatv lesz,
akkor az aktulis bzis mr nem lehetsges, ezrt mr nem optimlis.
Tegyk fel, hogy meg akarjuk hatrozni, hogyan rinti a Dakota problma optimlis
megoldst a felletkezelsre fordtott munkark szmnak, (b 2 )-nek a vltozsa. Jelenleg
b2 = 20. Amikor b2 rtke 20 + lesz, (6) miatt az optimlis tbla korltoz feltteleinek
jobb oldala az albbi mdon alakul:

48
1
2
8
48
2
4 20 +
B1 20 + = 0
8
0 0.5
1.5
8

24 + 2
= 8 + 2
2 0.5
Termszetesen = 0 esetn vissza kell kapnunk az eredeti optimlis tbla jobb oldalt. Ha
ez nem kvetkezik be, valami hibt kvettnk el.

5.3. rzkenysgvizsglat

213

4. B R A
b2 mely rtkei
esetn marad az
aktulis bzis
optimlis?

Meg lehet mutatni (lsd 9. feladat), hogy amikor az i-edik korlt jobb oldalt -val
nveljk, az optimlis tbla jobb oldalnak megvltozsa (B 1 i-edik oszlopa) lesz. Mivel
B1 msodik oszlopa

24
2
8,
2 ,
s az eredeti jobb oldal
2
0.5
azt kapjuk, hogy az optimlis tbla korltoz feltteleinek jobb oldala

24 + 2
8 + 2
2 0.5

Ahhoz, hogy az aktulis bzis optimlis maradjon, az optimlis tbla valamennyi korltoz felttelnek jobb oldala tovbbra is nemnegatv kell hogy legyen. Eszerint az aktulis
bzis pontosan akkor marad optimlis, ha a kvetkezo k teljeslnek:
24 + 2 0
8 + 2 0

2 0.5 0

(vagyis 12)
(vagyis 4)

(vagyis 4)

Amg 12, 4 s 4 teljesl, az aktulis bzis lehetsges, s kvetkezskppen


optimlis marad. A 4. brn lthat, hogy 4 4 esetn az adott bzis tovbbra is
lehetsges, s gy optimlis lesz. Ez azt jelenti, hogy 20 4 b2 20 + 4, vagyis 16 b2
24 esetn az aktulis bzis optimlis marad: Ha a felletkezelsre fordthat munkark
szma 16 s 24 kztt marad, akkor BV = {s1 , x3 , x1 } tovbbra is optimlis, s a Dakotnak
tovbbra is rasztalokat s szkeket rdemes gyrtania. Ugyanakkor b 2 > 24 vagy pedig
b2 < 16 esetn az aktulis bzis mr nem lehetsges, teht mr nem optimlis.
Hogyan vltozik a dntsi vltozk s a z rtke?
A dntsi vltozk s a z rtke akkor is megvltozik, amikor az optimlis bzis vltozatlan
marad (16 b2 24 esetn). Ezt lthattuk az 5.1. alfejezetben, a grafikus rzkenysgvizsglat bemutatsakor. A rszletek ismertetse cljbl emlkeztetnk arra, hogy az optimlis
megoldsban B1 b adja a bzisvltozk rtkeit, az optimlis z rtk pedig cBV B1 b-vel
egyenlo. b megvltozsa mdostani fogja a bzisvltozkat, valamint az optimlis z rtket. Ennek bemutatsra tegyk fel, hogy a felletkezelsre fordthat munkark szma
22. Mivel 16 22 24, az optimlis bzis nem vltozik, s (6) szerint a bzisvltozk j
rtkei a kvetkezokppen alakulnak (a nembzis vltozk rtke tovbbra is 0 lesz, hiszen
az optimlis bzis vltozatlan):

28
48
s1
1
2
8
x3 = B1 b = 0
2
4 22 = 12
1
8
0 0.5
1.5
x1

214

5. fejezet rzkenysgvizsglat s dualits

Teht 22 felletkezelsre fordthat munkara esetn a Dakotnak 12 szket s mindssze 1


rasztalt rdemes gyrtania. Az optimlis z rtk megvltozst a (11) kplet segtsgvel
fogjuk kiszmtani. Azt kapjuk, hogy 22 felletkezelsre fordthat munkara esetn

48
z j rtke = cBV B1 (j b) = [0 10 10] 22 = 300
8

Az 5.8. alfejezetben az rnykr rendkvl fontos fogalmt fogjuk hasznlni annak meghatrozsra, hogy hogyan vltoztatja meg az optimlis z rtket egy jobb oldali korlt
mdostsa.
Amikor az aktulis bzis mr nem optimlis

Hogyan tudjuk elolltani az j optimlis bzist, amikor olyan nagymrtkben vltoztattuk


meg valamelyik jobb oldali korlt rtkt, hogy az aktulis bzis mr nem optimlis? Tegyk fel, hogy b2 j rtke 30. Mivel b2 > 24, az aktulis bzis mr nem optimlis. Ha
aktualizljuk az idig optimlis bzishoz tartoz tblt, akkor az 5.2. alfejezet kpleteib o l
lthat, hogy kizrlag a clfggvny jobb oldala s a korltoz feltteleinek jobb oldalai fognak vltozni. (6) szerint a BV = {s1 , x3 , x1 } bzishoz tartoz tblban a korltoz
felttelek jobb oldala a kvetkezo :

48
1
2
8
44
2
4 30 = 28
B1 b = 0
8
0 0.5
1.5
3

(11) szerint a clfggvny jobb oldalnak rtke most



48
cBV B1 b = [0 10 10] 30 = 380
8

A korbban optimlis BV = {s1 , x3 , x1 } bzishoz tartoz tblt a 6. tblzat mutatja. Mivel


x1 = 3, a BV mr nem lesz lehetsges, illetve optimlis. Sajnlatos mdon ebben a tblban nem tallunk lehetsges bzismegoldst. Ha ezt hasznljuk indul tblnak, akkor a
szimplex mdszerrel nem tudjuk elo lltani a Dakota problma j optimlis megoldst. Az
5.10. alfejezetben LP feladatok megoldsnak egy msik mdszert, a dul szimplex mdszert, fogjuk ismertetni. Ennek segtsgvel olyan LP feladatokat lehet megoldani, ahol az
indul tblban negatv jobb oldali konstansok is elo fordulhatnak, viszont a clfggvnyben valamennyi egytthat nemnegatv.
sszegezve, egy jobb oldali korlt mdostsa esetn optimlis marad az aktulis bzis,
ha a hozz tartoz tblban valamennyi jobb oldali korlt tovbbra is nemnegatv. Ha viszont brmelyik jobb oldali korlt negatv lesz, akkor az aktulis bzis mr nem lehetsges,
s j optimlis megoldst kell elolltani.
6. T B L Z A T
Mdostott (nem
lehetsges) Dakota
tbla b2 = 30
esetn

Bzisvltoz
z

+ 5x2
+ 10s2 + 10s3 = 380
2x2
+ s1 + 2s2 8s3 = 44
2x2 + x3
+ 2s2 4s3 = 28
x1 + 1.25x2
0.5s2 + 1.5s3 = 3

z = 380
s1 = 44
x3 = 28
x1 = 3

5.3. rzkenysgvizsglat

215

Egy nembzis vltoz oszlopnak megvltoztatsa


Jelenleg egy asztal elksztsnek ero forrsignye 6 egysgnyi faanyag, 2 munkara felletkezels s 1.5 ra asztalosmunka. Egy asztal eladsi ra 30$. Az optimlis megoldsban
x2 (az asztalok szma) nembzis vltoz. Ez azt jelenti, hogy jelenleg a Dakota nem gyrt
asztalt. Tegyk most fel, hogy egy asztal eladsi ra 43$ lett, s a technolgiavltsnak ksznhetoen az elollts eroforrsignye 5 egysgnyi faanyag, 2 munkara felletkezels s
2 ra asztalosmunka. Mdostja-e ez a vltozs a Dakota problma optimlis megoldst?
Teht az eredeti feladatban az x2 -hz tartoz oszlop elemeit vltoztattuk meg (belertve a
clfggvny sort is). Egy nembzis vltoz (pl. az asztalok) oszlopnak mdostsa nem
vltoztatja meg B-t (teht B1 -et) s b-t sem. Ezrt vltozatlan marad az optimlis tbla
jobb oldala. (10)-bol elso pillantsra lthat, hogy a clfggvny sorban kizrlag c2 mdosul; az aktulis bzis pontosan akkor marad optimlis, ha c2 0 teljesl. Most (10)
felhasznlsval meghatrozzuk x2 j egytthatjt a clfggvnyben. Ezt az eljrst x2
kirtkelsnek nevezzk. (10) miatt
c2 = cBV B1 a2 c2
Vegyk szre, hogy cBV B1 mg mindig a [0 10 10] sorvektorral azonos, viszont a2
s c2 megvltoztak.

5
c2 = 43
s
a2 = 2
2
Ezrt


5
c2 = [0 10 10] 2 43 = 3 < 0
2

Mivel c2 < 0, az aktulis bzis mr nem optimlis. c2 = 3 azt jelenti, hogy minden egyes
legyrtott asztal 3$-ral nveli a Dakota bevtelt. Teht x2 bevonsa a bzisba nyilvnvalan a Dakota rdekeit szolglja. A Dakota feladat j optimlis megoldsnak el o lltshoz aktualizljuk a BV = {s1 , x3 , x1 } bzishoz tartoz tblt, ezutn pedig a szimplex
mdszert alkalmazzuk. (5) szerint x2 oszlopa a BV-hez tartoz tbla korltokhoz tartoz
rszben ezttal

1
2
8
5
7
2
4 2 = 4
B1 a2 = 0
0 0.5
1.5
2
2
A BV = {s1 , x3 , x1 } bzishoz tartoz tblt a 7. tblzat mutatja. Az j optimlis megolds
rdekben x2 -t a 3. sor segtsgvel vonjuk be a bzisba. Ezltal a 8. tblzatban lthat
optimlis tblhoz jutunk. Teht a Dakota problma j optimlis megoldsa z = 283, s 1 =
31, x3 = 12, x2 = 1, x1 = 0, s2 = 0, s3 = 0. Az x2 nembzis vltoz (asztalok) oszlopnak
mdostsa utn a Dakotnak 12 szket s egy asztalt rdemes gyrtania.

7.

TBLZAT

Mdostott
(szuboptimlis)
Dakota tbla az j
technolgia esetn

Bzisvltoz
z 3x2
+ 10s2 + 10s3 = 280
7x2
+ s1 + 2s2 8s3 = 24

4x2 + x3
+ 2s2 4s3 = 8
x1 + 2x2
0.5s2 + 1.5s3 = 2


z = 280
s1 = 24
x3 = 8
x1 = 2

216

5. fejezet rzkenysgvizsglat s dualits

8. T B L Z A T
Optimlis Dakota
tbla az j
technolgia esetn

Bzisvltoz
z + 1.5x1
+ 9.25s2 + 12.25s3 = 283
3.5x1
+ s1 + 0.25s2 2.75s3 = 31
2x1
+ x3
+
s2
s3 = 12
0.5x1 + x2
0.25s2 + 0.75s3 = 1

z = 283
s1 = 31
x3 = 12
x2 = 1

sszegezve, amikor egy x j nembzis vltoz oszlopa mdosul, akkor c j 0 esetn optimlis marad az aktulis bzis. Ha viszont c j < 0, akkor az adott bzis mr nem optimlis,
s x j bzisvltoz lesz az j optimlis megoldsban.
Ha egy bzisvltoz oszlopa vltozik, akkor ltalban nehz eldnteni, hogy optimlis
marad-e az aktulis bzis. Ennek az az oka, hogy a vltozs nemcsak B-t (s ezltal B 1 et), hanem cBV -t is mdosthatja, s ezltal a teljes clfggvnysor s a tbla jobb oldala
is megvltozhat. Mindenesetre most is pontosan akkor marad az aktulis bzis optimlis,
ha a clfggvnyben minden egytthat nemnegatv, s mindegyik korltoz felttel jobb
oldaln nemnegatv konstans ll.

j tevkenysg bevezetse
Sokszor addik olyan helyzet, hogy jabb tevkenysgek vllalsra is lehet o sg nylik.
Pldul a Dakota problma bovtheto egy tovbbi btortpus mondjuk zsmolyok gyrtsnak a lehetosgvel. Egy ilyen j lehetosg rtkelsekor azt kell megvizsglnunk, hogy
optimlis marad-e az aktulis bzis, amikor egy bzison kvli vltoz oszlopa vltozik
meg. Ezt a kvetkezo pldval vilgtjuk meg.
Tegyk fel, hogy a Dakota zsmolyok gyrtst fontolgatja. Egy zsmoly eladsi ra
15$, elolltshoz 1 egysgnyi faanyagra, 1 munkara felletkezelsre s 1 ra asztalosmunkra van szksg. rdemes-e zsmolyokat gyrtani? Jelljk a Dakota ltal gyrtott
zsmolyok szmt x4 -gyel! Az indul tbla megvltozik, hiszen megjelenik benne x 4 oszlopa. Az j indul tbla a kvetkezo :
z 60x1 30x2 20x3 15x4
8x1 + 6x2 + x3 +
4x1 + 2x2 + 1.5x3 +

x4 + s1
x4
+ s2

2x1 + 1.5x2 + 0.5x3 +

x4

=0
= 48
= 20

(15)

+ s3 = 8

x4 oszlopnak a feladatba val beillesztst j tevkenysg bevezetsnek nevezzk. Hogyan mdostja az j tevkenysg bevezetse a BV = {s1 , x3 , x1 } optimlis bzishoz tartoz
tblt? (6)-bl lthat, hogy az optimlis tbla valamennyi korltoz felttelnek jobb oldala vltozatlan marad. (10) szerint a clfggvny rgi vltozinak egytthati sem vltoznak. Termszetesen c4 -et az j tevkenysg egytthatjt az optimlis tbla clfggvnyben kell kiszmtanunk. Mivel a jobb oldal vltozatlan marad, s a clfggvnyben
kizrlag x4 -nek lehet negatv az egytthatja, optimlis marad az aktulis bzis, ha c4 0,
ellenben elveszti optimalitst, amikor c4 < 0.
Annak eldntshez, hogy egy j tevkenysg bevezetsekor mdosul-e az optimlis bzis, jrarazzuk az j tevkenysget. Mivel

1
c4 = 15
s
a4 = 1
1

5.3. rzkenysgvizsglat

9. T B L Z A T
Az rzkenysgvizsglat
sszefoglalsa
(maximumfeladat)

Az indul tbla
vltozsa

A vltozs hatsa
az optimlis tblra

Az aktulis bzis
optimlis marad, ha:

Egy c j nembzis
egytthat vltozsa
a clfggvnyben

x j egytthatja
megvltozik az
optimlis
clfggvnyben
A teljes clfggvnysor
megvltozhat

x j egytthatja az adott
bzis
clfggvnyben
nemnegatv marad
A clfggvny
valamennyi
egytthatja
nemnegatv marad
Mindegyik korlt jobb
oldala nemnegatv

A c j bzisegytthat
megvltozik a
clfggvnyben
Egy korlt jobbodalnak
vltozsa
Egy x j nembzis vltoz
oszlopa vltozik,
vagy j x j vltozt
vezetnk be

A korltok s a
clfggvny jobb
oldala vltozik
Megvltozik x j
egytthatja a
clfggvnyben, s
x j oszlopa az
optimlis tblban

217

x j egytthatja a
clfggvnyben
nemnegatv marad

(10) segtsgvel jrarazhatjuk x4 -et. Az eredmny a kvetkezo:



1
c4 = [0 10 10] 1 15 = 5
1

Mivel c4 0, az aktulis bzis tovbbra is optimlis. A zsmolyok reduklt kltsge 5$. Ez


azt jelenti, hogy minden egyes elksztett zsmoly 5$-ral cskkenten a bevtelt. Kvetkezskppen egyetlenegy zsmolyt sem rdemes gyrtani.
sszegezve, amikor az LP feladatba egy (x j vltozhoz tartoz) j oszlopot illesztnk
be, optimlis marad az aktulis bzis, ha c j 0 teljesl. Ugyanakkor c j < 0 esetn az
aktulis bzis mr nem lesz optimlis, s x j bzisvltoz lesz az j optimlis megoldsban. A maximumfeladat rzkenysgvizsglatval kapcsolatos eredmnyeinket a 9. tblzat sszegzi. Ennek az alfejezetnek a mdszerei rtelemszeruen alkalmazhatak minimumfeladatra is, mindssze azt kell jl emlkezetnkbe vsni, hogy egy minimumfeladat tblja
akkor s csak akkor optimlis, ha a clfggvny valamennyi egytthatja nempozitv, s a
korltoz felttelek jobb oldalai pedig nemnegatvak.

218

5. fejezet rzkenysgvizsglat s dualits

Feladatok
A csoport
1. A Dakota problmban mutassuk meg, hogy nem vltozik az optimlis bzis, ha c3 , teht egy szk ra, kielgti a
15 c3 22.5 korltokat! Keressk meg az optimlis megoldst, ha c3 = 21! Hatrozzuk meg az optimlis megoldst
c3 = 25 esetn is!
2. Igazoljuk, hogy a Dakota problmban c1 = 55 esetn
egyetlenegy rasztal sem szerepel az j optimlis megoldsban!
3. A Dakota problmban mutassuk meg, hogy nem vltozik az optimlis bzis, ha a rendelkezsre ll faanyag (b1 )
mennyisgre b1 24 teljesl! Keressk meg az j optimlis megoldst b1 = 30 esetn!
4. Igazoljuk, hogy ha egy asztal ra 50$, s 1 egysgnyi faanyagot, 3 felletkezelsi munkart, valamint 1.5 ra
asztalosmunkt vehetnk ignybe, akkor a Dakota feladat
aktulis bzisa mr nem lesz optimlis! Hatrozzuk meg az
j optimlis megoldst!
5. A Dakota cg otthoni szmtgpasztalok gyrtst
fontolgatja. Egy szmtgpasztal eladsi ra 36$, elolltshoz 6 egysgnyi faanyagra, 2 felletkezelsi munkarra
s 2 ra asztalosmunkra van szksg. rdemes-e szmtgpasztalokat gyrtani?
6. Egy cukoripari cg hromfle cukorkt tud gyrtani.
Mindegyik cukorka cukorbl s csokoldbl kszl. Az
egyes tpusok sszettelt s az rtkestskbol szrmaz
nyeresgeket a 10. tblzat mutatja.
10.

TBLZAT

1. cukorka
2. cukorka
3. cukorka

Cukortartalom

Csokoldtartalom

Nyeresg

1
1
1

2
3
1

3
7
5

tven egysg cukor s 100 egysg csokold ll rendelkezsre. Az i-edik tpus cukorkbl gyrtott mennyisget xi vel jellve az albbi LP feladatot kell megoldani:
max z = 3x1 + 7x2 + 5x3
f.h.

x1 + x2 + x3 50

2x1 + 3x2 + x3 100

(cukor korlt)
(csokold korlt)

x1 , x2 , x3 0

Az s1 s s2 maradkvltozk bevezetse utn add optimlis tblt a 11. tblzat mutatja. Ennek segtsgvel adjunk
vlaszt a kvetkezo krdsekre:

(a) Az 1. cukorka gyrtsbl szrmaz nyeresg mely


rtkeinl marad az aktulis bzis optimlis? Mi lesz a
feladat j optimlis megoldsa, ha az 1. cukorka gyrtsbl szrmaz nyeresg rtke 7 cent?
11.

TBLZAT

x1

x2

x3

1
0
0

0
0
1

0
1
0

1
2
1
2

s2

J.o.

Bzisvltoz

1
12

300
25
25

z = 300
x3 = 25
x2 = 25

s1
4

3
2
1
2

1
2

(b) A 2. cukorka gyrtsbl szrmaz nyeresg mely


rtkeinl marad az aktulis bzis optimlis? Mi lesz a
feladat j optimlis megoldsa, ha a 2. cukorka gyrtsbl szrmaz nyeresg rtke 13 cent?
(c) A cukor korlt mely rtkei esetn marad az aktulis
bzis optimlis?
(d) Mekkora lesz a cukoripari cg nyeresge, ha 60 egysg cukor hasznlhat fel? Mennyit kell elolltani az
egyes cukorkatpusokbl? Megvlaszolhatak-e ezek a
krdsek, ha csak 30 egysg cukor ll rendelkezsre?
(e) Tegyk fel, hogy az 1. tpus cukorka csak 0.5 egysg cukrot s 0.5 egysg csokoldt tartalmaz. rdemes-e
ezt a cukorkt gyrtani?
(f) A cukoripari cg egy 4. tpus cukorka bevezetst fontolgatja. Ez 3 egysg cukrot s 4 egysg csokoldt tartalmaz, az eladsbl szrmaz nyeresg rtke
17 cent lenne. rdemes-e ezt a 4. tpust gyrtani?
7. A kvetkezo krdsek a Giapetto problmra vonatkoznak (3.1. alfejezet). A Giapetto feladat alakja a kvetkezo:
max z = 3x1 + 2x2
f.h.

2x1 + x2 100
x1 + x2 80
x1

40

(felletkezelsi korlt)
(fafarags korlt)
(korltozott kereslet
a katonk irnt)

(x1 = katonk s x2 = vonatok.) Az s1 , s2 s s3 maradkvltozk bevezetse utn add optimlis tblt a 12. tblzat
mutatja. Ennek segtsgvel vlaszoljuk meg az albbi krdseket:
(a) Igazoljuk, hogy nem vltozik az optimlis bzis
mindaddig, amg az egy katona eladsbl szrmaz nyeresg (x1 egytthatja) 2$ s 4$ kztt marad! Hatrozzuk meg az j optimlis megoldst, amikor ennek a nyeresgnek az rtke 3.50$!

5.4. Az LP feladat dulisa


(b) Igazoljuk, hogy nem vltozik az optimlis bzis
mindaddig, amg az egy vonat eladsbl szrmaz nyeresg (x2 egytthatja) 1.5$ s 3$ kztt marad!
(c) Mutassuk meg, hogy optimlis marad az aktulis bzis, ha a felletkezelsre fordthat munkark szma 80
s 120 kztt van! Hatrozzuk meg az j optimlis megoldst, amikor ez az rtk 90!
(d) Igazoljuk, hogy vltozatlan marad az optimlis bzis, ha a katonk irnti kereslet rtke legalbb 20!
(e) Giapetto jtkcsnak gyrtst fontolgatja. Egy csnakhoz 2 ra fafaragsra s 1 munkara felletkezelsre
van szksg. A jtkcsnakok irnti kereslet korltlan.
rdemes-e ilyen csnakot gyrtani, ha egy jtkcsnakbl 3.50$ nyeresg szrmazik?
12.

TBLZAT

x1

x2

s1

s2

s3

J.o.

Bzisvltoz

1
0
0
0

0
1
0
0

0
0
1
0

1
1
1
1

1
1
2
1

0
0
0
1

180
20
60
20

z = 180
x1 = 20
x2 = 60
s3 = 20

B csoport
8.

Tekintsk a Dorian problmt (3. fejezet 2. plda):


min z = 50x1 + 100x2
f.h.

7x1 +

2x2 28

2x1 + 12x2 24

(MJN)
(MJF)

219

(x1 = a kabarhirdetsek szma s x2 = a futballhirdetsek


szma.) Az optimlis tblt a 13. tblzat mutatja. Emlkeztetnk arra, hogy minimumfeladat esetn akkor s csak
akkor optimlis egy tbla, ha a clfggvnyben mindegyik
vltoz egytthatja nempozitv, s valamennyi korltoz
felttel jobb oldala nemnegatv.
13.

TBLZAT

x1

x2

e1

e2

a1

a2

J.o.

1
0

0
1

0
0

7.5

5M

7.5 M
1
40

320
3.6

5
3
20
1
40

1
40
7
80

3
20
1
40

7
80

1.4

(a) Hatrozzuk meg egy kabarhirdets kltsgnek


(jelenleg 50 000$) azon rtktartomnyt, amelynl optimlis marad az aktulis bzis.
(b) Hatrozzuk meg az MJN (magas jvedelmu no) elrsek elort szmnak (jelenleg 28 milli) azt a tartomnyt, melynl optimlis marad az aktulis bzis. Mi lesz
az j optimlis megolds 40 milli MJN elrs esetn?
(c) Tegyk fel, hogy egy hrmusor elott sugrzott hirdets kltsge 110 000$, s ezzel 12 milli magas jvedelmu not s 17 milli magas jvedelmu frfit lehet elrni. rdemes-e ilyen hirdetsekre klteni?
9. Igazoljuk, hogy ha -val nveljk az i-edik korltoz
felttel jobb oldalt, akkor az j optimlis tbla jobb oldaln az (eredeti optimlis tbla jobb oldala) +(a B1 mtrix
i-edik oszlopa) fog llni.

x1 , x2 0

5.4.

Az LP feladat dulisa
Minden LP feladathoz tartozik egy msik LP problma, amit az eredeti feladat dulisnak
neveznk. Magasabb szintu lineris, illetve nemlineris programozsi tmakrk megrtshez az eredeti feladat s dulisa kztti kapcsolat ismerete elengedhetetlen. Ez a kapcsolat azrt fontos, mert rdekes kzgazdasgi jelensgekbe nyjt betekintst. A dualits
segtsgvel az rzkenysgvizsglat is j megvilgtsba kerl.
Ebben az alfejezetben megmutatjuk, hogy hogyan lehet felrni egy tetsz o leges LP feladat
dulist; az 5.5. alfejezetben a dul feladat kzgazdasgi rtelmezst trgyaljuk; az 5.6
5.9. alfejezetekben pedig azt elemezzk, hogy milyen kapcsolat van egy LP feladat s a
dulisa kztt.
Egy adott LP feladat dulisnak vizsglatakor az eredeti feladatot primlnak nevezzk.
Ha a priml feladat maximumfeladat, akkor a dul egy minimumfeladat lesz, s fordtva.
A kvetkezokben a maximumfeladat vltozit z, x1 , x2 , . . . , xn , a minimumfeladat vltozit
pedig w, y1 , y2 , . . . , ym fogja jellni. Eloszr megmutatjuk, hogy hogyan lehet felrni egy

220

5. fejezet rzkenysgvizsglat s dualits

olyan maximumfeladat dulist, ahol minden vltoz nemnegatv kell hogy legyen, s valamennyi korlt alak (ez az n. norml maximumfeladat). Egy norml maximumfeladat
a kvetkezokppen rhat fel:
max z = c1 x1 + c2 x2 + + cn xn
f.h. a11 x1 + a12 x2 + + a1n xn b1
a21 x1 + a22 x2 + + a2n xn b2
..
..
..
.
.
.

(16)

am1 x1 + am2 x2 + + amn xn bm


x j 0 ( j = 1, 2, . . . , n)
A (16) alakban felrt norml maximumfeladat dulist az albbi mdon definiljuk:
min w = b1 y1 + b2 y2 + + bm xm
f.h. a11 y1 + a21 y2 + + am1 ym c1
a12 y1 + a22 y2 + + am2 ym c2
..
..
..
.
.
.

(17)

a1n y1 + a2n y2 + + amn ym cn


yi 0 (i = 1, 2, . . . , m)
Egy (17) alak minimumfeladatot, ahol minden korltoz felttel alak, s valamennyi vltoz nemnegatv, norml minimumfeladatnak hvunk. Ha a priml feladat
egy (17) alakban felrt norml minimumfeladat, akkor ennek a dulisa definci szerint a
(16) feladat.

Egy norml maximum-, illetve minimumfeladat dulisnak felrsa


A tblzatos felrs megknnyti egy LP feladat dulisnak elo lltst. Ha a priml feladat egy norml maximumproblma, ezt soronknt olvashatjuk (14. tblzat); a dult pedig
oszloponknt olvasva kapjuk meg. Hasonlkppen, amikor a priml problma egy norml
minimumfeladat, akkor ezt oszloponknt olvasva kapjuk meg; a dulis esetben pedig soronknt olvassuk a tblzatot. A tbla hasznlatt a Dakota problma, valamint a tpllsi
problma dulisnak felrsval mutatjuk be. A Dakota problma
max z = 60x1 + 30x2 + 20x3
f.h.

8x1 + 6x2 + x3 48
4x1 + 2x2 + 1.5x3 20
2x1 + 1.5x2 + 0.5x3 8

(faanyag korlt)
(felletkezelsi korlt)
(asztalosmunka korlt)

x1 , x2 , x3 0

alak, ahol
x1 = az elolltott rasztalok szma
x2 = az elolltott asztalok szma
x3 = az elolltott szkek szma

5.4. Az LP feladat dulisa

14.

TBLZAT

Egy norml
minimum-, illetve
maximumfeladat
dulisnak felrsa

max z
min w

(x1 0)

(y1 0)
(y2 0)
..
.

y1
y2
..
.

ym

(ym 0)
15.

(x2 0)

x1
a11
a21
..
.

x2
a12
a22
..
.

am1
c1

am2
c2

TBLZAT

A Dakota
problma
dulisnak felrsa

221

...

(xn 0)
xn
a1n
a2n
..
.

...
...

amn
cn

...

b1
b2
..
.

bm

max z
min w

(x1 0)

(y1 0)
(y2 0)
(y3 0)

y1
y2
y3

(x2 0)

x1
8
4
2
60

x2
6
2
1.5
30

(x3 0)
x3
1
1.5
0.5
20

48
20
8

A 14. tblzat formtumt hasznlva a Dakota problmt soronknt olvashatjuk a 15.


tblzatban. Ugyanezt a tblzatot oszloponknt olvasva megkapjuk a Dakota feladat dulist:
min w = 48y1 + 20y2 + 8y3
f.h.

8y1 + 4y2 + 2y3 60


6y1 + 2y2 + 1.5y3 30

y1 + 1.5y2 + 0.5y3 20
y1 , y2 , y3 0

A dulis felrsra hasznlt tblzatos mdszerbo l vilgosan lthat, hogy az i-edik dul
korlt az i-edik priml vltozhoz, teht xi -hez tartozik. Pldul az elso dul korlt x1 -hez
(rasztalok) tartozik, mert mindegyik paramter a priml feladat x 1 -hez tartoz oszlopbl
szrmazik. Hasonlkppen a msodik dul korlt x2 -hz (asztalok), a harmadik dul korlt
pedig x3 -hoz (szkek) tartozik. Ugyangy az yi dul vltoz az i-edik priml korlthoz tartozik. Pldul y1 az elso priml korlthoz (faanyag korlt) tartozik, mert a dul feladatban
y1 valamennyi egytthatja a faanyag korltot ler priml sorbl szrmazik. Ezeknek a
priml-dul megfeleltetseknek a jelento sge ksobb, az 5.6. alfejezetben derl ki.
Most felrjuk az trendi problma dulist. Mivel az trendi problma egy minimumfeladat, szoks szerint w-vel jelljk a clfggvnyt, s y1 , y2 , y3 , y4 -gyel a vltozkat. Az
trendi problma
min w = 50y1 + 20y2 + 30y3 + 80y4
f.h.

400y1 + 200y2 + 150y3 + 500y4 500


3y1 + 2y2
6
2y1 +
2y1 +

2y2 +
4y2 +

4y3 +
y3 +

4y4 10
5y4 8

y1 , y2 , y3 , y4 0

(kalria korlt)
(csokold korlt)
(cukor korlt)
(zsiradk korlt)

222

5. fejezet rzkenysgvizsglat s dualits

alak, ahol
y1 = napi csokisstemny-fogyaszts
y2 = napi csokifagylalt-fogyaszts
y3 = napi dtoital-fogyaszts
y4 = napi ananszostrtorta-fogyaszts
Mivel a priml problma egy norml minimumfeladat, ezt oszloponknt, a duljt pedig
soronknt olvassuk a 16. tblzatban. Ezek szerint az trendi problma dulisa
max z = 500x1 + 6x2 + 10x3 + 8x4
f.h.
400x1 + 3x2 + 2x3 + 2x4 50
200x1 + 2x2 + 2x3 + 4x4 20
150x1
+ 4x3 + x4 30

500x1

+ 4x3 + 5x4 80
x1 , x2 , x3 , x4 0

alak.
16. T B L Z A T
Az trendi feladat
dulisnak felrsa

max z
min w
(y1 0)
(y2 0)
(y3 0)
(y4 0)

(x1 0)
y1
y2
y3
y4

x1
400
200
150
500
500

(x2 0)

(x3 0)

x2
3
2
0
0
6

x3
2
2
4
4
10

(x4 0)
x4
2
4
1
5
8

50
20
30
80

Akrcsak a Dakota problma esetn, most is lthat, hogy az i-edik dul korlt az i-edik
priml vltozhoz tartozik. Pldul a harmadik dul korltot ital korltnak tekinthetjk.
Ugyangy az i-edik dul vltoz az i-edik priml korlthoz tartozik. Pldaknt x 3 -at (a
harmadik dul vltozt) dulis cukor-vltoznak tekinthetjk.

Nemnorml LP feladat dulisa


Sajnos szmos LP problma nemnorml maximum-, illetve minimumfeladat. Pldul
max z = 2x1 + x2
f.h.
x 1 + x2 = 2
2x1 x2 3
x1 x 2 1

(18)

x1 0, x2 ekn

egy nemnorml maximumfeladat, mert s egyenlo sg alak korltoz felttel, tovbb


tetszoleges (ktetlen) elojelu vltoz is tallhat benne.

5.4. Az LP feladat dulisa

223

Msik nemnorml LP feladatra plda a kvetkezo :


min w = 2y1 + 4y2 + 6y3
f.h.

y1 + 2y2 + y3 2
y1
y3 1

y2 + y 3 = 1

(19)

2y1 + y2
3
y1 ekn, y2 , y3 0
Ez egy nemnorml LP feladat, hiszen s egyenlo sg alak korltoz felttel, valamint
tetszoleges elojelu vltoz is tallhat benne. Szerencss mdon tetszo leges LP feladat
vagy (16) vagy (17) tpus norml alakra transzformlhat. Egy maximumfeladat norml
alakra hozshoz a kvetkezo lpsek elegendoek:
1. lps Mindegyik korltoz felttelt megszorozzuk 1-gyel, s gy alakra hozzuk.
Pldul (18)-ban, 2x1 x2 3 helyett 2x1 + x2 3 addik.

2. lps Minden egyenlosg alak korltoz felttelt kt egyenlo tlensggel (egy alakval s egy alakval) helyettestnk. Ezutn a korltoz felttelt tpusv alaktjuk.
Pldul (18)-ban az x1 + x2 = 2 egyenlosg helyett az x1 + x2 2 s x1 + x2 2 egyenlotlensgeket rjuk fel. Ezutn az x1 + x2 2 egyenlotlensget a x1 x2 2 egyenlotlensggel helyettestjk. Vgeredmnyben az x1 + x2 = 2 egyenlosget az x1 + x2 2 s a
x1 x2 2 egyenlotlensgekre cserltk.
3. lps Ahogy azt a 4.10. alfejezetben tettk, egy tetszo leges ktetlen elojelu xi vltozt
xi = x0i x00i -vel helyettestnk, ahol x0i 0, s x00i 0. (18)-ban x2 helyre x02 x002 -t runk.

Ezeket az talaktsokat elvgezve (18)-bl a kvetkezo ekvivalens LP feladatot kapjuk:


max z = 2x1 + x02 x002
f.h.

x1 + x02 x002 2
x1 x02 + x002 2

2x1 + x02 x002 3


x1 x02 + x002 1

(180 )

x1 , x02 , x002 0

Mivel (180) egy norml maximumfeladat, (180 ) dulist (16), illetve (17) segtsgvel felrhatjuk.
Amikor a priml feladat egy nemnorml minimumfeladat, akkor ezt az albbi lpsekkel
alakthatjuk norml minimumfeladatt:
1. lps Mindegyik korltoz felttelt 1-gyel megszorozva tpusv alaktjuk. Pldul (19)-ben a 2y1 + y2 3 egyenlotlensgbol 2y1 y2 3 addik.

2. lps Mindegyik egyenlosg alak korltoz felttelt egy s egy tpus egyenlo tlensggel helyettestnk. Ezutn a tpus egyenlo tlensget tpusv transzformljuk.
Pldul (19)-ben az y2 + y3 = 1 korlt az y2 + y3 1 s y2 + y3 1 egyenlotlensgekkel
ekvivalens. y2 + y3 1 helyett y2 y3 1-et rva azt kapjuk, hogy az y2 + y3 = 1 korlt
kt egyenlotlensggel, y2 + y3 1-gyel s y2 y3 1-gyel helyettestheto.

224

5. fejezet rzkenysgvizsglat s dualits

3. lps Egy tetszoleges ktetlen elojelu yi vltozt yi = y0i y00i -vel helyettestnk, ahol
y0i 0, s y00i 0. Ezeknek a lpseknek az elvgzsvel (19)-bo l a kvetkezo norml minimumfeladat addik:
min w = 2y01 2y001 + 4y2 + 6y3
f.h.

y01 y001 + 2y2 + y3 2


y01 y001

y3 1
y2 + y 3 1

y2 y3
0
00
2y1 + 2y1 y2
y01 , y001 , y2 , y3

(190 )

1
3

Mivel (190) egy norml minimumfeladat, ennek dulist (16) s (17) segtsgvel felrhatjuk.
Egy nemnorml LP feladat dulist az elo bb lert transzformcis lpsek nlkl is elo llthatjuk az albbi szablyok alkalmazsval.1
Nemnorml maximumfeladat dulisnak felrsa
1. lps Tltsk ki a 14. tblzatot gy, hogy a priml feladat soronknt olvashat legyen.
2. lps A kvetkezo vltoztatsok utn a dulis feladat a megszokott mdon, oszloponknt lesz olvashat: (a) Ha az i-edik priml korlt alak, akkor a hozztartoz y i dul
vltozra az yi 0 kikts rvnyes. (b) Ha az i-edik priml korlt egyenlo sg, akkor az yi
dul vltozra nincs elojelmegkts. (c) Ha az i-edik priml vltoz elo jele ktetlen, akkor
az i-edik dul korltoz felttel egyenlo sg lesz.
Ha ezt a mdszert a (18) feladatra alkalmazzuk, a 14. tblzatbl a 17. tblzatot kapjuk.
17. T B L Z A T
A (18) LP feladat
dulisa

max z
min w

(y3 0)
18. T B L Z A T
A (18) LP feladat
dulisa (folytats)

(x1 0)
y1
y2
y3

(x2 ekn)

x1
1
2
1
2

x2
1
1
1
1

= 2
3
1

max z
min w
(y1 ekn)
(y2 0)
(y3 0)

(x1 0)
y1
y2
y3

x1
1
2
1
2

(x2 ekn)
x2
1
1
1
=1

=2
3
1

1 Az alfejezet vgn, az 5. s 6. feladatban megmutatjuk, hogy a dulis felrsra szolgl kt mdszer sszhangban van egymssal.

5.4. Az LP feladat dulisa

225

Ebben ( )-gal jelljk azokat a pontokat, ahol a dulis meghatrozsakor az el o bbi szablyokat kell alkalmazni. Pldul x2 ktetlen elojelu, s ennek kvetkezmnyeknt a msodik
dul korlt egyenlosg alak. Hasonlan, mivel az elso priml korlt egy egyenlosg, y1 ktetlen elojelu kell hogy legyen, s a msodik priml korlt tpusa miatt y 2 0. Bejellve
a csillagok oszlopban, illetve sorban a szablyok kvetkezmnyeit, a 18. tblzathoz jutunk. Oszloponknt olvasva az albbi dul feladathoz jutunk:
min w = 2y1 + 3y2 + y3
f.h.

y1 + 2y2 + y3 2
y1 y 2 y 3 = 1

y1 ekn, y2 0, y3 0

Az 5.7. alfejezetben egy szemlletes magyarzatot adunk arra, hogy mirt tartozik egy
egyenlosg alak korlthoz ktetlen elo jelu dul vltoz, s mirt tartozik egy alak
korlthoz egy nemnegatv dul vltoz.
Egy nemnorml minimumfeladat dulist a kvetkezo szablyok alkalmazsval is megkaphatjuk.
Nemnorml minimumfeladat dulisnak felrsa
1. lps rjuk fel a priml feladatot gy, hogy azt a 14. tblzatban oszloponknt olvashassuk.
2. lps Az albbi vltoztatsok utn a dulis feladat soronknt olvashat a tblzatbl:
(a) Ha az i-edik priml korlt tpus, akkor a hozztartoz xi dul vltozra xi 0 kikts
rvnyes. (b) Ha az i-edik priml korlt egyenlo sg, akkor a megfelelo xi dul vltoz
ktetlen elojelu lesz. (c) Ha az i-edik priml vltoz, yi , ktetlen elojelu, akkor az i-edik
dul korlt egyenlosg alak.
Ezeket a szablyokat a (19) feladatra alkalmazva a 19. tblzathoz jutunk. Csillagok ( )
jellik azokat a pontokat, ahol a dulis felrsakor ezeket a szablyokat alkalmazni kell.
19. T B L Z A T
A (19) LP feladat
dulisa

max z
min w
(y1 ekn)
(y2 0)
(y3 0)

20. T B L Z A T
A (19) LP feladat
dulisa (folytats)

(x1 0)
y1
y2
y3

x1
1
2
1
2

(x2 0)
x2
1
0
1
1

x3
0
1
1
= 1

x4
2
1
0
3

2
4
6

max z
min w
(y1 ekn)
(y2 0)
(y3 0)

(x1 0)
y1
y2
y3

x1
1
2
1
2

(x2 0)
x2
1
0
1
1

(x3 ekn)
x3
0
1
1
=1

(x4 0)
x4
2
1
0
3

=2
4
6

226

5. fejezet rzkenysgvizsglat s dualits

Mivel y1 ktetlen elojelu, az elso dul korlt egy egyenlosg. A harmadik priml korlt egy
egyenlosg, ezrt az x3 dul vltoz ktetlen elojelu. Vgl, mivel a negyedik priml korlt
tpus, x4 -re, a negyedik dul vltozra x4 0 teljesl. A 19. tblzat talaktsval a
20. tblzathoz jutunk. Ebbol soronknt olvashat a dulis feladat, vagyis
max z = 2x1 + x2 + x3 + 3x4
f.h.
x 1 + x2
+ 2x4 = 2
2x1
+ x3 + x4 4
x1 x 2 + x 3
6

x1 , x2 0, x3 ekn, x4 0

Az olvas knnyen ellenorizheti, hogy ezeket a szablyokat alkalmazva a dulis dulisa mindig a priml feladat. Ez azonnal ltszik a 14. tblzatbl, hiszen a dulis dulist
kpezve eredeti alakjba rjuk vissza az LP feladatot.

Feladatok
A csoport

(a) Az ismertetett szablyok segtsgvel rjuk fel az


albbi feladat dulist!

rjuk fel az albbi LP feladatok dulisait:

max z = x1 + 2x2

1.

f.h.

2.

3.

4.

max z = 2x1
f.h.
x1
x1
x1
min w = y1
f.h.
2y1
y1
y1

+ x2
+ x2
+ x2
2x2
x1 , x2
y2
+ y2
+ y2
+ 2y2
y1 , y2

max z = 4x1 x2 +
f.h.
x 1 + x2
2x1 + x2
2x2 +
x1
+
x1 0, x2 , x3

2x1 + x2 = 5

1
3
4
0

x1 , x2 0

(b) Alaktsuk t az (a) LP feladatot norml feladatt!


(16) s (17) segtsgvel kpezzk az talaktott LP feladat dulist! A 2x1 + x2 = 5 korltoz felttelbol szrmaztatott dul vltozkat jelljk y02 -vel s y002 -vel!

4
1
3
0
2x3

x3
x3 =
ekn

3x1 + x2 6

(c) A (b) feladat megoldsban hajtsuk vgre az y2 =


y02 y002 helyettestst! Mutassuk meg, hogy a feladat (a)
rszben, illetve (b) rszben kapott dulisok ekvivalensek!
5
7
6
4

min w = 4y1 + 2y2 y3


f.h.
y1 + 2y2
6
y1 y2 + 2y3 = 8
y1 , y2 0, y3 ekn

6. Ebben a feladatban megmutatjuk, hogy mirt kell egy


tpus korltoz felttelhez tartoz yi dul vltoznak kielgteni az yi 0 felttelt.
(a) Az ismertetett szablyok segtsgvel rjuk fel az
albbi feladat dulist!
max z = 3x1 + x2
f.h.

x 1 + x2 1

x1 + x2 2

x1 , x2 0

B csoport

(b) Alaktsuk t az (a) LP feladatot norml maximumfeladatt! (16) s (17) segtsgvel kpezzk az talaktott LP feladat dulist! Legyen y2 a msodik priml korlthoz tartoz dul vltoz!

5. Ez a feladat azt mutatja meg, hogy mirt lesz egy


egyenlosg alak korltoz felttelhez tartoz dul vltoz
elojele ktetlen.

(c) Az y2 = y2 megfeleltetssel lve mutassuk meg,


hogy az (a) rszben, illetve a (b) rszben kpzett dulisok ekvivalensek!

5.5. A dulis feladat kzgazdasgi interpretcija

5.5.

227

A dulis feladat kzgazdasgi interpretcija


Maximumfeladat dulisnak interpretcija
A Dakota problma dulisa a kvetkezo :
min w = 48y1 + 20y2 + 8y3
f.h.

8y1 + 4y2 + 2y3 60


6y1 + 2y2 + 1.5y3 30
y1 + 1.5y2 + 0.5y3 20
y1 , y2 , y3 , 0

(rasztal korlt)
(asztal korlt)

(20)

(szk korlt)

Az elso dul korlt az rasztalokhoz tartozik, a msodik az asztalokhoz, a harmadik pedig


a szkekhez. Ugyanakkor y1 a felhasznlt faanyaggal, y2 a felletkezelsre fordthat raszmmal, y3 pedig az asztalosmunka mennyisgvel kapcsolatos. A Dakota problmval
kapcsolatos adatokat a 21. tblzat mutatja.
21.

TBLZAT

A Dakota
problma adatai

Eroforrs

Eroforrs/Termk
rasztal
asztal
szk

Rendelkezsre
ll eroforrs

Faanyag
Felletkezels
Asztalosmunka
Eladsi r

8 egysgnyi
4 ra
2 ra
60$

48 egysgnyi
20 ra
8 ra

6 egysgnyi
2 ra
1.5 ra
30$

1 egysgnyi
1.5 ra
0.5 ra
20$

Lssuk ezek utn a Dakota problma (20) dulisnak interpretcijt! Tegyk fel, hogy
egy vllalkoz a Dakota valamennyi ero forrst meg akarja vsrolni. Ekkor meg kell mondania, hogy mennyit hajland fizetni a szban forg ero forrsok egy egysgrt. Legyen
ennek megfeleloen
y1 = az 1 egysgnyi faanyagrt fizetendo r
y2 = az 1 ra felletkezelsrt fizetendo r
y3 = az 1 ra asztalosmunkrt fizetendo r
Az y1 , y2 s y3 eroforrs-rakat a Dakota problma (20) dulisnak megoldsval clszeru
meghatrozni. Ezeknek az eroforrsoknak az sszestett ra 48y1 + 20y2 + 8y3 . Mivel a
vllalkoz minimalizlni akarja a vtelrat,
min w = 48y1 + 20y2 + 8y3
lesz a Dakota problma dulisnak clfggvnye.
Milyen korltok ktik a vllalkoz kezt a vtelrak megllaptsakor? Az er o forrsok vtelrainak termszetesen elegendo en magasaknak kell lenni ahhoz, hogy a Dakota
hajland legyen azokat eladni. Pldul egy 8 egysgnyi faanyagbl, 4 munkara felletkezelsbol s 2 ra asztalosmunkbl ll ero forrscsomagrt legalbb 60$-t kell a Dakota
rszre ajnlani, hiszen ezeknek az ero forrsoknak a felhasznlsval a Dakota elo llthatna egy rasztalt, amit eladhatna 60$-rt. Mivel a vllalkoz 8y 1 + 4y2 + 2y3 sszeget
ajnl egy olyan eroforrscsomagrt, amellyel egy rasztalt lehetne elkszteni, gy kell
megllaptania y1 , y2 s y3 rtkt, hogy
8y1 + 4y2 + 2y3 60

228

5. fejezet rzkenysgvizsglat s dualits

teljesljn. Ez azonban a Dakota problma dulisnak csak az els o (rasztal-) korltja.


Hasonl rvelssel azt kapjuk, hogy legalbb 30$-t kell knlni az egy asztal el o lltshoz
elegendo eroforrs-kombincirt (6 egysgnyi faanyag, 2 munkara felletkezels s 1.5
ra asztalosmunka). Ezrt y1 -nek, y2 -nek s y3 -nak ki kell elgtenie a
6y1 + 2y2 + 1.5y3 30
egyenlotlensget. Ez a Dakota problma dulisnak msodik (asztal-) korltja.
Hasonlkppen a harmadik (szk-) dul korlt
y1 + 1.5y2 + 0.5y3 20
alak. Ez azt mondja, hogy legalbb 20$-t (egy szk rt) kell knlni egy olyan er o forrscsomagrt, mellyel egy szket lehetne elo lltani (1 egysgnyi faanyag, 1.5 munkara felletkezels s 0.5 ra asztalosmunka). Az y1 0, y2 0 s y3 0 elojelmegktseknek
is teljeslnie kell. Mindezt egybevetve lthat, hogy a Dakota problma dulisa meghatrozza a faanyagra, felletkezelsi munkarra s asztalosmunkra vonatkoz rajnlatot.
Az elobbi gondolatmenetbol az is kvetkezik, hogy az i-edik dul vltoz valban termszetes mdon az i-edik priml korlthoz tartozik.
sszegezve, amikor a priml feladat egy norml maximumfeladat, a dul vltozk a
dntshoz rendelkezsre ll ero forrsok rtkvel kapcsolatosak. Ezrt a dul vltozkat gyakran eroforrs rnykraknak nevezzk. Az rnykrak alaposabb tanulmnyozsval foglalkozik az 5.7. alfejezet.

Minimumfeladat dulisnak interpretcija


Egy minimumfeladat dulisnak interpretlsa cljbl tekintsk a 3.4. alfejezetben ismertetett trendi problmt. Az 5.4. alfejezetben lttuk, hogy ennek a dulisa
max z = 500x1 + 6x2 + 10x3 + 8x4
f.h.

400x1 + 3x2 + 2x3 + 2x4 50


200x1 + 2x2 + 2x3 + 4x4 20
150x1
500x1

+ 4x3 + x4 30
+ 4x3 + 5x4 80

(stemny korlt)
(fagylalt korlt)
(ital korlt)
(trtorta korlt)

(21)

x1 , x2 , x3 , x4 0

alak. Az trendi problma adatait a 22. tblzat tartalmazza. (21) interpretlsa cljbl
kpzeljk el, hogy Candice tpanyagok eladsval foglalkoz zletember, aki kalrit,
csokoldt, cukrot s zsrt rust. Azt akarja elrni, hogy az gyfl napi tpanyagignyt
kalria, csokold, cukor s zsr beszerzsvel elgtse ki. Candice-nak azt kell meghatroznia, hogy mennyi legyen
x1 = 1 egysg kalria ra
x2 = 1 egysg csokold ra
x3 = 1 egysg cukor ra
x4 = 1 egysg zsr ra
Candice maximalizlni akarja az gyfl szmra naponta szksges tpanyagok eladsbl szrmaz bevtelt. Mivel az gyflto l szrmaz bevtele 500x1 + 6x2 + 10x3 + 8x4
cent, Candice clja
max z = 500x1 + 6x2 + 10x3 + 8x4

5.6. A dualits-ttel s kvetkezmnyei

22.

TBLZAT

Az trendi
problma adatai

Stemny
Fagylalt
Ital
Trtorta
Igny

Kalria

Csokold
(egysg)

Cukor
(egysg)

Zsiradk
(egysg)

r
(cent)

400
200
150
500
500

3
2
0
0
6

2
2
4
4
10

2
4
1
5
8

50
20
30
80

229

maximalizlsa. Ez az trendi problma dulisnak a clfggvnye. A tpanyagok rnak


megllaptsakor Candice-nak elegendo en alacsony rtkeket kell vlasztani ahhoz, hogy
az gyflnek anyagi rdeke legyen a tpanyagok vsrlsa. Pldul 50 centrt vehet az
gyfl egy pisktt, s ezzel 400 kalrihoz, 3 egysg csokoldhoz, 2 egysg cukorhoz s
2 egysg zsiradkhoz jut hozz. Emiatt Candice sem krhet ezrt a tpanyag-kombincirt
50 centnl tbbet. Ebbol a kvetkezo (stemny-) korlt addik:
400x1 + 3x2 + 2x3 + 2x4 50
Ez az trendi problma dulisnak elso korltoz felttele. Hasonl okfejts adja a msodik
(fagylalt-), a harmadik (ital-) s negyedik (trtorta-) dul korltot is. Most is teljeslnie
kell az x1 0, x2 0, x3 0 s x4 0 elojel-kiktseknek.
Okfejtsnk alapjn xi optimlis rtke gy interpretlhat, mint az i-edik dul korlthoz
tartoz tpanyag egy egysgnek ra. Teht x1 1 kalria ra, x2 1 egysg csokold ra, s
gy tovbb. Most is lthat az (xi ) dul vltoz s az i-edik priml korlt kztti termszetes
megfeleltets.
sszegezve, megmutattuk, hogy ha a priml feladat egy norml maximumfeladat vagy
egy norml minimumfeladat, akkor szemlletes kzgazdasgi jelentse van a dul feladatnak. Az 5.7. alfejezetben rszletesebben megvilgtjuk a dul vltozk valdi jelentst.

Feladatok
A csoport
1. rjuk fel a 3. fejezet 3. feladatnak (egy autkereskedo
cg) dulist, s adjuk meg a dulis feladat kzgazdasgi
interpretcijt!

5.6.

2. rjuk fel a 3. fejezet 2. feladatnak (Dorian aut) dulist, s adjuk meg a dulis feladat kzgazdasgi interpretcijt!

A dualits-ttel s kvetkezmnyei
Ebben az alfejezetben a lineris programozs egyik legfontosabb eredmnyt, a dualitsttelt, trgyaljuk. A dualits-ttel rviden annyit llt, hogy a priml s dul feladat optimlis clfggvnyrtkei azonosak (ha mindketto nek van optimuma). Ez az eredmny nmagban is rdekes, de ltni fogjuk, hogy a dualits-ttel bizonytsa ezenfell is szmos
rdekes lineris programozsi krdskrbe nyjt betekintst.
A trgyals egyszerustse cljbl feltesszk, hogy a priml feladat egy norml maximumfeladat m korltoz felttellel s n vltozval. Ilyenkor a dul feladat egy m-vltozs n
korltoz felttelt tartalmaz norml minimumfeladat. A priml s a dul feladat az albbi
mdon rhat fel:

230

5. fejezet rzkenysgvizsglat s dualits

max z = c1 x1 + c2 x2 + + cn xn
f.h.

Priml feladat

a11 x1 + a12 x2 + + a1n xn b1


a21 x1 + a22 x2 + + a2n xn b2
..
..
..
..
.
.
.
.
ail x1 + ai2 x2 + + ain xn bi
..
..
..
..
.
.
.
.
am1 x1 + am2 x2 + + amn xn bm

(22)

x j 0 ( j = 1, 2, . . . , n)

min w = b1 y1 + b2 y2 + + bm ym
f.h.
a11 y1 + a21 y2 + + am1 ym c1
a12 y1 + a22 y2 + + am2 ym c2
..
..
..
..
.
.
.
.
a 1 j y1 + a 2 j y2 + + a m j ym c j
..
..
..
..
.
.
.
.

Dul feladat

(23)

a1n y1 + a2n y2 + + amn ym cn


yi 0 (i = 1, 2, . . . , m)

Gyenge dualits
A priml s a dul feladat tetszoleges lehetsges megoldsai esetn a dul lehetsges megoldshoz tartoz w rtk legalbb akkora, mint a priml lehetsges megoldshoz tartoz z
rtk. Ezt az eredmnyt tartalmazza az 1. segdttel.

1. SEGDTTEL

(Gyenge dualits). Legyen

x1
x2

x= .
..

xn

Bizonyts

a priml feladat, y = [y1 y2 . . . ym ] pedig a dul feladat tetszoleges lehetsges megoldsa. Ekkor (az x-hez tartoz z rtk) (az y-hoz tartoz w rtk).

Mivel yi 0, a (22)-ben szereplo i-edik priml korltot yi -vel szorozva a kvetkezo egyenlotlensg addik:
yi ai1 x1 + yi ai2 x2 + + yi ain xn bi yi

(i = 1, 2, . . . , m)

(24)

A (24)-ben szereplo m egyenlotlensget sszeadva, azt kapjuk, hogy


i=m j=n

i=m

i=1 j=1

i=1

yi a i j x j b i yi

(25)

Mivel x j 0, a (23)-ban szereplo j-edik dul korltot x j -vel szorozva a kvetkezo egyenlotlensg addik:

5.6. A dualits-ttel s kvetkezmnyei

x j a 1 j y1 + x j a 2 j y2 + + x j a m j ym c j x j

( j = 1, 2, . . . , n)

231
(26)

A (26)-ban szereplo n egyenlotlensget sszegezve


i=m j=n

j=n

i=1 j=1

j=1

yi a i j x j

c jx j

(27)

addik. (25)-t s (27)-et sszevetve, azt kapjuk, hogy


j=n

i=m j=n

i=m

j=1

i=1 j=1

i=1

c j x j yi a i j x j b i yi

s ezt kellett bizonytani.


Ha rendelkezsnkre ll a priml vagy a dul feladat egy lehetsges megoldsa, akkor
a gyenge dualits segtsgvel korltot llthatunk fel a msik feladat optimlis clfggvnyrtkre. Pldul a Dakota problma esetn knnyen lthat, hogy x 1 = x2 = x3 = 1
egy priml lehetsges megolds. Az ehhez tartoz z rtk 60 + 30 + 20 = 110. A gyenge
dualitsbl ezrt az kvetkezik, hogy tetszo leges (y1 , y2 , y3 ) dul lehetsges megoldsra
teljesl a
48y1 + 20y2 + 8y3 110

egyenlotlensg. Mivel a dul feladat egy minimumfeladat, s brmelyik dul lehetsges


megolds esetn w 110, ezrt a dul feladat optimlis w rtke is 110 (lsd 5. bra).
Teht a gyenge dualits rvn brmelyik priml lehetsges megolds segtsgvel korltot
rhatunk fel a dul feladat optimlis clfggvnyre.
5. B R A
A gyenge dualits
brzolsa

z=110
w110 minden dul
lehetsges pontban

Dul lehetsges pontban


w<110 nem teljeslhet
w

Analg mdon, a dul feladat tetszo leges lehetsges megoldsa segtsgvel korltot
llthatunk fel a priml clfggvny optimlis rtkre. Pldul a Dakota problma esetn
knnyen ellenorizheto, hogy y1 = 10, y2 = 10, y3 = 0 egy dul lehetsges megolds. Az
ehhez tartoz dul clfggvnyrtk 48(10) + 20(10) + 8(0) = 680. A gyenge dualitsbl
kvetkezoen tetszoleges

x1
x2
x3
priml lehetsges megoldsra teljesl a

60x1 + 30x2 + 20x3 680


korlt. Mivel a priml feladat egy maximumfeladat, s brmely priml lehetsges megolds
esetn z 680, ezrt a priml feladat optimlis clfggvnyrtke szintn 680 (lsd 6.
bra).
6. B R A
A gyenge dualits
brzolsa

w=680
z680 minden priml
lehetsges pontban
z

Priml lehetsges pontban


z>680 nem teljeslhet

232

5. fejezet rzkenysgvizsglat s dualits

Bevezetve a

b1
b2

b= .
..

c = [c1

c2

...

cn ]

bm

vektorokat, egy

x1
x2

x= .
..

xn

pontban a priml clfggvny rtke cx, ugyanakkor egy y = [y1 y2 . . . ym ] pontban a


dul clfggvny rtke yb alakban rhat fel. Most a gyenge dualitst alkalmazva bebizonytjuk a kvetkezo fontos eredmnyt.

2. SEGDTTEL

Legyen

x1
x2

x = .
..

xn

a priml-, s y = [y1 y2 . . . ym ] pedig a dul feladat valamely lehetsges megoldsa.


Ha cx = y b, akkor x a priml feladat optimlis megoldsa, y pedig a dul feladat optimlis
megoldsa.
Bizonyts

A gyenge dualitsbl tudjuk, hogy tetszo leges priml lehetsges x pontban


cx y b

Ezrt mindegyik priml lehetsges ponthoz olyan z rtk tartozik, amelyik nem haladja meg
y b rtkt. Mivel x priml lehetsges, s a hozztartoz priml clfggvny rtkre cx =
y b teljesl, x szksgkppen priml optimlis. Hasonlan, minthogy x priml lehetsges,
a gyenge dualits kvetkezmnyeknt tetszo leges dul lehetsges y pontban
cx yb

Teht tetszoleges dul lehetsges pontban a clfggvny rtke elri, vagy meghaladja cx
rtkt. Mivel y dul lehetsges, s a hozztartoz dul clfggvnyrtkre y b = cx teljesl,
y szksgkppen egy dul optimlis megolds.
A 2. segdttelt a Dakota problma segtsgvel mutatjuk be. Knnyen ellen o rizheti az
olvas, hogy

2
x = 0
8

priml, y = [0 10 10] pedig dul lehetsges megolds. Mivel cx = y b = 280, a 2. segdttelbol az kvetkezik, hogy x a priml Dakota problma optimlis megoldsa, y pedig
a dul Dakota problma optimlis megoldsa. A 2. segdttel fontos szerepet jtszik majd
a dualits-ttel bizonytsban.

5.6. A dualits-ttel s kvetkezmnyei

233

A dualits-ttel
Mielott rtrnnk a dualits-ttel bizonytsra, megemltjk, hogy a gyenge dualits segtsgvel bebizonythatk a kvetkezo lltsok:

3. SEGDTTEL
Bizonyts

4. SEGDTTEL
Bizonyts

Ha a priml feladat clfggvnye nem korltos, akkor a dul feladatnak nincs lehetsges
megoldsa.
Lsd 7. feladat az alfejezet vgn.
Ha a dul feladat clfggvnye nem korltos, akkor a priml feladatnak nincs lehetsges
megoldsa.
Lsd 8. feladat az alfejezet vgn.
A 3. s 4. segdttel olyan esetekben rja le a priml s a dul feladat kapcsolatt, melyeknek nincs tl nagy gyakorlati jelento sge.2
Ezek az esetek nem igazn rdekesek. Minket elso sorban olyankor foglalkoztat a priml s a dul feladat kapcsolata, amikor a priml feladatnak ltezik optimlis megoldsa.
A tovbbiakban z-sal jelljk a priml clfggvny optimlis rtkt, w-sal

pedig a dul
clfggvny optimlis rtkt. Ha a priml feladatnak ltezik optimlis megoldsa, akkor a
kvetkezo fontos eredmny (a dualits-ttel) rgzti a priml s a dul feladat kapcsolatt.

1. TTEL
Bizonyts

A dualits-ttel Legyen BV a priml feladat optimlis bzisa. Ekkor cBV B1 a


dul feladat egyik optimlis megoldsa. Ezenkvl z = w.

A dualits-ttel bizonytsnak lpsei a kvetkezo k:


1. Felhasznlva azt, hogy BV a priml feladat optimlis bzisa, megmutatjuk, hogy
cBV B1 lehetsges megoldsa a dulnak (rviden: dul lehetsges).
2. Megmutatjuk, hogy a priml clfggvny optimlis rtke = a dul clfggvny
rtke a cBV B1 pontban.
3. Talltunk egy (BV-hez tartoz ) priml lehetsges s egy (cBV B1 ) dul lehetsges megoldst, melyekhez azonos clfggvnyrtk tartozik. A 2. segdttelb o l arra
a kvetkeztetsre jutunk, hogy cBV B1 dul optimlis, s z = w.

Most igazoljuk az 1. lps lltst arra az esetre, amikor a priml feladat egy norml maximumfeladat n vltozval s m korltoz felttellel.3 A priml feladatot az
s1 , s2 , . . . , sm maradk-vltozkkal kiegsztve a kvetkezo kppen rjuk fel a priml
s a dul feladatot:
2 El
ofordulhat, hogy sem a priml, sem pedig a dul feladatnak nincs lehetsges megoldsa, mint pldul a
kvetkezo feladatnl:
max z =
x2
min w = y1 + y2
f.h.
x1
1
f.h.
y1
0
Priml
x2 1
Dul
y2 1
x1 , x2 0
y 1 , y2 0
3A

bizonyts knnyen kiterjesztheto arra az esetre, amikor a priml feladat egy nemnorml maximumfeladat.

234

5. fejezet rzkenysgvizsglat s dualits

max z = c1 x1 + c2 x2 + + cn xn

f.h.
Priml
feladat

a11 x1 + a12 x2 + + a1n xn + s1


a21 x1 + a22 x2 + + a2n xn
+ s2
..
..
..
.
.
.

= b1
= b2
..
.

(28)

am1 x1 + am2 x2 + + amn xn


+ sm = b m
x j 0 ( j = 1, 2, . . . , n); si 0 (i = 1, 2, . . . , m)
min w = b1 y1 + b2 y2 + + bm ym
f.h.
a11 y1 + a21 y2 + + am1 ym c1
Dul
feladat

a12 y1 + a22 y2 + + am2 ym c2


..
..
..
..
.
.
.
.
a1n y1 + a2n y2 + + amn ym cn

(29)

yi 0 (i = 1, 2, . . . , m)

Legyen BV a priml feladat egyik optimlis bzisa, s vezessk be a c BV B1 =


[y1 , y2 , . . . , ym ] jellst! Teht a BV optimlis bzis esetn yi a cBV B1 vektor i-edik
eleme. Mivel BV priml optimlis, a BV-hez tartoz priml tbla clfggvny sorban mindegyik egytthat nemnegatv. (10) miatt x j itteni egytthatja, vagyis (c j ),
a kvetkezokppen rhat fel:
c j = cBV B1 a j c j
= [y1

y2

...

a1 j
a2 j

ym ] . c j
..

am j
= y 1 a1 j + y 2 a2 j + + y m am j c j
Tudjuk, hogy c j 0, ezrt a j = 1, 2, . . . , n rtkekre
y1 a 1 j + y 2 a 2 j + + y m a m j c j 0
Teht cBV B1 az n dul korltoz felttel mindegyikt kielgti. Mivel BV egy priml optimlis bzis, azt is tudjuk, hogy a BV-hez tartoz priml tbla clfggvny
sorban valamennyi maradkvltoz egytthatja ugyancsak nemnegatv. (10 0 )-bol
tudjuk, hogy si egytthatja a BV-hez tartoz tbla clfggvnyben yi , vagyis a
cBV B1 vektor i-edik eleme. Teht az i = 1, 2, . . . , m rtkekre yi 0. Ezzel megmutattuk, hogy cBV B1 a (29)-ben szereplo n korltoz felttel mindegyikt kielgti, s cBV B1 valamennyi koordintja nemnegatv. Eszerint cBV B1 valban dul
lehetsges.
A dualits-ttel msodik lpsnek igazolshoz meg kell mutatnunk, hogy
a dul clfggvny rtke a cBV B1 helyen
= a BV-hez tartoz priml clfggvny rtke

(30)

5.6. A dualits-ttel s kvetkezmnyei

235

(11)-bol kvetkezik, hogy a BV -hez tartoz priml clfggvny rtke c BV B1 b.


Ugyanakkor a dul clfggvny rtke a dul lehetsges c BV B1 pontban nem ms,
mint

b1
b2

b1 y1 + b2y2 + + bm ym = [y1 y2 . . . ym ] . = cBV B1 b
..
bm

Ezzel a (30) sszefggst belttuk.


A dualits-ttel bizonytsnak 1. s 2. lpst elvgeztk. A 3. lpssel a bizonyts vghez rkeztnk.

M EGJEGYZSEK

1. A dualits-ttel bizonytsnak 1. lpsben azt mutattuk meg, hogy egy priml lehetsges BV bzis akkor s csak akkor optimlis, ha cBV B1 dul lehetsges. Ennek az eredmnynek a segtsgvel
az 5.9. alfejezetben az rzkenysgvizsglat mlyebb megrtshez jutunk.
2. Amikor a priml feladat optimlis megoldst a szimplex mdszerrel lltjuk elo , automatikusan
megkapjuk a dul feladat optimlis megoldst is.

A 2. megjegyzs igazolsa cljbl tegyk fel, hogy a priml feladat egy norml maximumfeladat m korltoz felttellel. Ahhoz, hogy ezt a feladatot a szimplex mdszerrel
megoldhassuk, az i-edik priml korlthoz hozzrendeljk az s i maradkvltozt. Legyen
BV egy priml optimlis bzis. Ekkor a dualits-ttel szerint cBV B1 = [y1 y2 . . . ym ]
a dul feladat optimlis megoldsa. Ugyanakkor (100)-bol tudjuk, hogy a (BV)-hez tartoz
priml optimlis tbla clfggvnyben si egytthatja yi . Ezzel megmutattuk, hogy ha a
priml feladat egy norml maximumfeladat, akkor az i-edik dul vltoz optimlis rtke
si egytthatja a priml optimlis tbla clfggvnyben.
A 2. megjegyzst a Dakota problma segtsgvel mutatjuk be. A 23. tblzat mutatja a
Dakota problma optimlis tbljt. A priml feladat optimlis megoldsa z = 280, s 1 = 24,
x3 = 8, x1 = 2, x2 = 0, s2 = 0, s3 = 0. Az elozo fejtegets alapjn a dul feladat optimlis megoldsa y1 = 0, y2 = 10, y3 = 10, w = 48(0) + 20(10) + 8(10) = 280. Vegyk szre,
hogy a dualits-ttelnek megfelelo en a priml s a dul clfggvny optimlis rtkei
azonosak.
23.

TBLZAT

A Dakota
problma
optimlis
megoldsa

Bzisvltoz
z + 5x2
+ 10s2 + 10s3 = 280
2x2
+ s1 + 2s2 8s3 = 24
2x2 + x3
+ 2s2 4s3 = 8
x1 + 1.25x2
0.5s2 + 1.5s3 = 2

z = 280
s1 = 24
x3 = 8
x1 = 2

A dul feladat optimlis megoldst termszetesen kzvetlenl is kiszmthatjuk a kvetkezokppen:

1
2
8
2
4 = [0 10 10]
cBV B1 = [0 20 60] 0
0 0.5
1.5

236

5. fejezet rzkenysgvizsglat s dualits

A dul feladat megoldsra ismertetett kt eljrsnak nyilvnvalan ugyanaz az eredmnye.


A dul feladat optimlis megoldst akkor is megtalljuk a priml optimlis tblban,
amikor vagy egyenlosg alak korltok is szerepelnek a priml feladatban. Ezt igazoland emlkeztetnk arra, hogy a dualits-ttel szerint az (yi ) i-edik dul vltoz optimlis
rtke a cBV B1 vektor i-edik koordintja. (1000 ) szerint, amikor a priml feladat i-edik
korltoz felttele alak, akkor
az i-edik dul vltoz optimlis rtke = yi = (ei egytthatja az
optimlis clfggvnyben)
Mivel ei egytthatja az optimlis clfggvnyben nemnegatv kell, hogy legyen, arra a
kvetkeztetsre jutunk, hogy amikor a priml feladat i-edik korltja alak, akkor y i 0.
Ez sszhangban van azzal a korbbi szabllyal (lsd 5.4. alfejezet), hogy egy korlthoz
nempozitv dul vltoz tartozik. A (10000) sszefggsbol lthat, hogy amikor az i-edik
priml korlt egyenlosg, akkor
yi = (ai egytthatja az optimlis clfggvnyben) M
Annak ellenre, hogy ai egytthatja az optimlis clfggvnyben nemnegatv, y i 0, illetve yi 0 egyarnt lehetsges, hiszen M egy nagy pozitv szm. Ez sszhangban van
azzal a korbbi szabllyal, hogy egy egyenlo sghez tartoz dul vltoz ktetlen elo jelu.

Hogyan kapjuk meg a priml optimlis tbla clfggvny sorbl a


dul optimlis megoldst, amikor a priml feladat maximumfeladat?
az yi dul vltoz optimlis rtke si egytthatja az optimlis
=
amikor az i-edik korlt alak
clfggvnyben

az yi dul vltoz optimlis rtke (ei egytthatja az


=
amikor az i-edik korlt alak
optimlis clfggvnyben)

az yi dul vltoz optimlis rtke


(a egytthatja az
= i
amikor az i-edik korlt egy egyenlo sg optimlis clfggvnyben) M

(31)
(310 )
(3100)

A kvetkezo pldval megmutatjuk, hogyan kapjuk meg a dul optimlis megoldst olyankor, amikor a priml feladatban , , s egyenlo sg tpus korltoz felttelek is szerepelnek.

2.

PLDA

max z = 3x1 + 2x2 + 5x3


f.h.

x1 + 3x2 + 2x3 15
2x2 x3 5

2x1 + x2 5x3 = 10
x1 , x2 , x3 0

(32)

LP feladat megoldsa cljbl bevezetnk egy s1 maradkvltozt, kivonunk egy e2 feleslegvltozt, tovbb bevezetjk az a2 s a3 mestersges vltozkat. A 24. tblzat mutatja
15
65
a (32) feladat optimlis tbljt. Eszerint az optimlis megolds z = 565
23 , x3 = 23 , x2 = 23 ,

5.6. A dualits-ttel s kvetkezmnyei

24. T B L Z A T
A (32) LP feladat
optimlis tblja

x1

x2

x3

s1

e2

a2

a3

J.o.

58
23
5
23
9
23
17
23

M 58
23

9
M + 23

51
23
4
23
2
23
9
23

9
23
17
23

1
23
7
23

565
23
15
23
65
23
120
23

5
23

2
23

237

Bzisvltoz
z=
x3 =
x2 =
x1 =

565
23
15
23
65
23
120
23

x1 = 120
23 , s1 = e2 = a2 = a3 = 0. (32) dulisnak optimlis megoldst ennek alapjn fogjuk
elolltani.
Megolds

A (32) feladat dulist a 25. tblzat segtsgvel az 5.4. alfejezetben ismertetett lpseket
kvetve rjuk fel
min w = 15y1 + 5y2 + 10y3
f.h.
y1
+ 2y3 3
(33)
3y1 + 2y2 + y3 2
2y1 y2 5y3 5

y1 0, y2 0, y3 ekn
25. T B L Z A T
A (32) LP feladat
dulisa

max z
min w
(y1 0)
(y2 0)
(y3 ekn)

(x1 0)
y1
y2
y3

x1
1
0
2
3

(x2 0)
x2
3
2
1
2

(x3 0)
x3
2
1
5
5

15
5
= 10

(31) s a priml optimlis tbla segtsgvel a kvetkezo kppen kapjuk meg (33) optimlis megoldst:
Mivel az elso priml korlt alak, (31) alapjn
y1 = (s1 egytthatja az optimlis clfggvnyben) =

51
.
23

Mivel a msodik priml korlt alak, (310 ) szerint


y2 = (e2 egytthatja az optimlis clfggvnyben) =

58
.
23

Mivel a harmadik priml korlt egy egyenlo sg, (3100) miatt


y3 = (a3 egytthatja az optimlis clfggvnyben) M =
A dualits-ttel szerint w, vagyis a dul clfggvny optimlis rtke
feladat optimlis megoldsa a kvetkezo :
w =

565
,
23

y1 =

51
,
23

y2 =

58
,
23

y3 =

9
23

9
.
23
565
23 .

Teht a dul

238

5. fejezet rzkenysgvizsglat s dualits

Az olvas ellenorizheti, hogy ez a megolds valban lehetsges (az sszes dul korlt
egyenlosgknt teljesl), s


9
51
58
565
+ 10 =
w = 15 + 5
23
23
23
23
A dul optimlis megoldst akkor is kiolvashatjuk a priml optimlis tblbl, amikor a
priml feladat egy minimumfeladat.

Hogyan kapjuk meg a priml optimlis tbla clfggvny sorbl a


dul optimlis megoldst, amikor a priml feladat minimumfeladat?
az xi dul vltoz optimlis rtke si egytthatja az
=
amikor az i-edik korlt alak
optimlis clfggvnyben

az xi dul vltoz optimlis rtke (ei egytthatja az


=
amikor az i-edik korlt alak
optimlis clfggvnyben)

az xi dul vltoz optimlis rtke


(a egytthatja az
= i
amikor az i-edik korlt egy egyenlo sg optimlis clfggvnyben)+ M

A kvetkezo feladatban azt mutatjuk be, hogyan lehet egy minimumfeladat dulisnak
optimlis megoldst az optimlis priml tblbl leolvasni.
min w = 3y1 + 2y2 + y3
f.h.

y 1 + y2 + y3 4
y2 y 3 2

y1 + y2 + 2y3 = 6
y1 , y2 , y3 0

Ennek a feladatnak az optimlis tbljt a 26. tblzat tartalmazza. Eszerint a priml optimlis megolds w = 6, y2 = y3 = 2, y1 = 0. Az eredeti feladat dulisa a kvetkezo :
max z = 4x1 + 2x2 + 6x3
f.h.
x1
+ x3 3
x1 + x 2 + x 3 2
x1 x2 + 2x3 1
x1 0, x2 0, x3 ekn
A priml optimlis tblbl megllapthat, hogy a dul feladat optimlis megoldsa z = 6,
x1 = 3, x2 = 0, x3 = 1.
26. T B L Z A T
A dul optimlis
megolds
megadsa priml
minimumfeladat
esetn

y1

y2

y3

e1

s2

a1

a3

J.o.

1
0
0
0

1
1
1
0

0
1
0
0

0
0
0
1

3
2
3
1

0
0
1
0

3M
2
3
1

1 M
1
2
1

6
2
2
2

5.6. A dualits-ttel s kvetkezmnyei

239

Feladatok
A csoport

(b) A Bevco problma 4.8. alfejezetben ismertetett optimlis tbljnak segtsgvel adjuk meg a dulis feladat
optimlis megoldst! Gyozodjnk meg arrl, hogy ebben az esetben is teljeslnek a dualits-ttel lltsai!

1. A kvetkezo krdsek a Giapetto problmra vonatkoznak (lsd 5.3. alfejezet, 7. feladat).


(a) rjuk fel a Giapetto problma dulist!

5.

Tekintsk a kvetkezo LP feladatot!

(b) A Giapetto problma optimlis tbljnak segtsgvel rjuk fel a dul feladat optimlis megoldst!

max z = 4x1 + x2
f.h.

(c) Gyozodjnk meg arrl, hogy ebben az esetben is teljeslnek a dualits-ttel lltsai!
2.

f.h.

x 1 + x2 + x3 3
x1

x2 + x 3 2
+ x3 = 1

x1 , x2 , x3 0
(a) rjuk fel a feladat dulist!
(b) Az s1 maradkvltoz, az a2 s a3 mestersges vltozk bevezetse, valamint az e2 felesleg-vltoz kivonsa utn az optimlis tbla clfggvnye a kvetkezo:
z + 4x1 + e2 + (M 1)a2 + (M + 2)a3 = 0
Adjuk meg a dul feladat optimlis megoldst!
3.

6x1 + 3x2 10
x1 , x2 0

Tekintsk a kvetkezo LP feladatot:


max z = 2x1 x2 + x3

Az albbi
max z = x1 + 5x2

f.h.

x1 + 2x2 0.5

x1 + 3x2 0.5
x1 , x2 0

3x1 + 2x2 6

Tegyk fel, hogy a feladat megoldsa sorn z + 2x2 + s2 =


20
3 lesz az optimlis clfggvny. Mutassuk meg a dualitsttel segtsgvel, hogy szmtsi hibt kvettnk el!
6. Mutassuk meg, hogy ha (egy maximumfeladat esetn) az i-edik priml korlt alak, akkor az i-edik
dul vltoz optimlis rtke (ai egytthatja az optimlis
clfggvnyben) M!

B csoport
7. Ebben a feladatban a gyenge dualits-ttel segtsgvel
bebizonytjuk a 3. segdttelt.
(a) Igazoljuk, hogy a 3. segdttel a kvetkezo lltssal ekvivalens: Ha van dul lehetsges megolds, akkor a
priml clfggvny korltos.
(b) A gyenge dualits segtsgvel igazoljuk a 3. segdttelnek az (a) rszben megadott ekvivalens alakjt! (tmutats: Ha van dul lehetsges megolds, akkor ehhez
tartozik egy w rtk, pldul wo . A gyenge dualits segtsgvel mutassuk meg, hogy a priml clfggvny korltos!)

LP feladat optimlis clfggvnye z + 0.4s1 + 1.4s2 = ? Hatrozzuk meg a feladathoz tartoz optimlis z rtket!

8. A 7. feladat lpseit kvetve igazoljuk a 4. segdttelt


a gyenge dualits segtsgvel!

4. A kvetkezo krdsek a 4.8. alfejezetben ismertetett


Bevco problmra vonatkoznak.

9. Az 5.3. alfejezet 8. feladatnak eredmnyeit felhasznlva rjuk fel a Dorian autproblma dulist, s a dul feladat optimlis megoldst!

(a) rjuk fel a Bevco problma dulist!

240

5. fejezet rzkenysgvizsglat s dualits

5.7.

rnykrak
Most visszatrnk az rnykr fogalmhoz, amit az 5.1. alfejezetben trgyaltunk. Els o knt
egy formlis definci kvetkezik.

D EFINCI

Az i-edik korltoz felttelhez tartoz rnykr az az rtk, amennyivel az optimlis z rtk javul (maximumfeladatnl no , minimumfeladatnl cskken), amikor bi -t
1-gyel nveljk (teht bi helyett bi + 1 lesz a korlt).4
A dualits-ttel segtsgvel knnyen felrhat az i-edik korltoz felttelhez tartoz
rnykr. Pldaknt megadjuk a Dakota problma msodik korltoz felttelhez (felletkezelsi korlt) tartoz rnykrat. Legyen cBV B1 = [y1 y2 y3 ] = [0 10 10] a
maximumfeladat dulisnak az optimlis megoldsa. A dualits-ttel szerint
az optimlis z rtk b1 = 48, b2 = 20, b3 = 8 jobb oldali korltok esetn
= 48y1 + 20y2 + 8y3

(34)

Mi trtnik az optimlis z rtkkel, ha b2 rtkt (ami jelenleg 20 munkara felletkezels) 1 egysggel (21 rra nveljk)? Tudjuk, hogy a jobb oldal vltoztatsakor el o fordulhat, hogy az aktulis bzis mr nem lesz optimlis (lsd 5.3. alfejezet). Jelenleg azonban
felttelezzk, hogy az adott bzis optimlis marad, amikor b 2 -t 1-gyel nveljk. Ekkor
cBV s B1 is vltozatlan marad, teht a Dakota problma dulisnak az optimum-helye
sem mdosul. Kvetkezskppen
az optimlis z rtk, amikor a felletkezelsi korlt jobb oldala 21
= 48y1 + 21y2 + 8y3

(35)

(35)-bol (34)-et kivonva


az optimlis z rtk vltozsa, amikor a felletkezelsi korltot 1-gyel nveljk
= a 2. (felletkezelsi) korlt rnykra
= y2 = 10

(36)

Ez a plda azt mutatja, hogy egy maximumfeladat i-edik korltoz felttelhez tartoz rnykr az i-edik dul vltoz optimlis rtke. Mivel az rnykrak a dul vltozk rtkei,
azt is tudjuk, hogy alak korlt esetn az rnykr nemnegatv; korlt esetn nempozitv; egyenlosg esetn pedig ktetlen elojelu. A ksobbiekben ismertetendo pldk szemlletesen altmasztjk majd ezeket az elo jelszablyokat.
Hasonl rvelssel megmutathat, hogy amikor (egy maximumfeladatban) az i-edik korltoz felttel jobb oldalt bi -vel nveljk, akkor (f.h. az aktulis bzis optimlis marad)
az j optimlis z rtkre a kvetkezo sszefggs rvnyes
j optimlis z rtk = rgi optimlis z rtk
+ bi (az i-edik korlt rnykra)

(37)

Minimumfeladat esetn az i-edik korltoz felttelhez tartoz rnykr az az rtk, amivel az optimlis z rtk javul, teht cskken, amikor az adott korlt jobb oldalt egy egysggel nveljk (f.h. az aktulis bzis optimlis marad). Meg lehet mutatni, hogy minimumfeladat esetn az i-edik korlt rnykra = (az i-edik dul vltoz optimlis rtke). Ha
4 Feltesszk,

hogy amikor az i-edik felttel jobb oldalt bi + 1-re vltoztatjuk, az optimlis bzis nem vltozik.

5.7. rnykrak

241

az i-edik korltoz felttel jobb oldalt bi -vel nveljk, akkor (feltve, hogy az aktulis
bzis optimlis marad) az j optimlis z rtkre a kvetkezo sszefggs rvnyes:
j optimlis z rtk = rgi optimlis z rtk
bi (az i-edik korlt rnykra)

(370 )

A kvetkezo pldkkal az rnykrak fogalmt igyeksznk megvilgtani.

3.

PLDA

A Dakota problmban:
1.

Szmtsuk ki az rnykrakat, s magyarzzuk meg a jelentsket!

2. Mekkora lenne a Dakota bevtele, ha 18 felletkezelsi munkara llna rendelkezsre?


(Az 5.3. alfejezet mdszert alkalmazva megmutathat, hogy 16 s 24 munkara kztt az
adott bzis optimlis marad.)
3. Mekkora lenne a Dakota bevtele, ha 9 rt fordthatna asztalosmunkra? ( 20
3 s 10
munkara kztt az adott bzis optimlis marad.)
4. Mekkora lenne a Dakota bevtele, ha 30 egysgnyi faanyag llna rendelkezsre? (24
egysgnyi felett az adott bzis optimlis marad.)
5. Mirt nem tudjuk az rnykr segtsgvel az j z rtket meghatrozni abban az esetben, amikor az asztalosmunka korlt rtke 30 ra?
Megolds

1. Az 5.6. alfejezetben azt kaptuk, hogy a Dakota problma dulisnak optimlis megoldsa y1 = 0, y2 = 10, y3 = 10. Ezrt a faanyag korlt rnykra 0, a felletkezelsi korlt
10, az asztalosmunka korlt pedig 10. Az a tny, hogy a faanyag korlt rnykra 0, azt jelenti, hogy amikor a rendelkezsre ll faanyag mennyisgt 1 egysggel (vagy brmekkora
rtkkel) nveljk, nem fog nvekedni a bevtel. Ez rthet o , hiszen jelenleg is mindssze
24 egysget hasznlunk a rendelkezsre ll 48-bl, s ezrt a korlt nvelse semmilyen
pozitvumot nem jelent a Dakota szmra. A Dakota bevtele 10$-ral n o ne, ha 1-gyel tbb
felletkezelsi munkara llna rendelkezsre. Hasonlan eggyel tbb asztalos munkara
10$-ral nveln a Dakota bevtelt. Ennl a feladatnl az i-edik korltoz felttelhez tartoz rnykrat gy kpzelhetjk el, mint azt a maximlis sszeget, amit a cg az i-edik
korlthoz tartoz eroforrs-mennyisg egy egysggel val nvelsrt fizethet. Pldul +1
asztalos munkara hatsra y3 = 10$ lenne a bevtel nvekedse. (A 12. feladatban olyan
maximumfeladatot ismertetnk, ahol ez az interpretci nem hasznlhat.) Ezrt a Dakota
legfeljebb 10$-t fizethet +1 asztalos-munkarrt, anlkl, hogy rosszul jrna. Hasonlkppen a cg semmit sem (0$-t) fizetne +1 egysgnyi faanyagrt, s legfeljebb 10$-t +1
felletkezelsi munkarrt. A 24. krdseket (37) segtsgvel vlaszoljuk meg, felhasznlva azt a tnyt, hogy a rgi z rtk = 280.
2. y2 = 10, b2 = 1820 = 2. Az aktulis bzis most is optimlis, hiszen 16 18 24.
(37)-bol kvetkezik, hogy (az j bevtel) = 280 + 10(2) = 260$.
3. y3 = 10, b3 = 9 8 = 1. Az aktulis bzis optimlis marad, hiszen
kvetkezmnyeknt (az j bevtel)= 280 + 10(1) = 290$.

20
3

9 10. (37)

4. y1 = 0, b1 = 30 48 = 18. Mivel 24 30 , tovbbra is optimlis marad az


adott bzis. (37) szerint (az j bevtel) = 280 + 0(18) = 280$.
5. b3 = 30 esetn az eredeti bzis mr nem optimlis, mert 30 > 10. Ez azt jelenti, hogy
BV (s emiatt cBV B1 is) megvltozik, teht a jelenlegi rnykrakat hasznlva nem tudjuk
kiszmtani az j bevtelt.

242

5. fejezet rzkenysgvizsglat s dualits

Az rnykrak elojelnek
szemlletes megvilgtsa
Most egy termszetes magyarzatot adunk arra a tnyre, hogy (maximumfeladat esetn)
egy korltoz felttelhez mindig nemnegatv rnykr tartozik. Kpzeljk el a kvetkezo szitucit: Kt LP feladatunk van, LP1 s LP2, s a kt feladat clfggvnye azonos.
Tegyk fel, hogy minden olyan pont, amelyik LP1 szmra lehetsges, LP2 szmra is
lehetsges. Ez azt jelenti, hogy LP2 lehetsges tartomnya tartalmazza LP1 valamennyi lehetsges pontjt, s valsznuleg tovbbi pontokat is. Ekkor LP2 optimlis z rtke legalbb
akkora kell hogy legyen, mint LP1 optimlis z rtke. Ezt igazoland, tegyk fel, hogy az
x0 pont (amelyikhez a z0 rtk tartozik) az LP1 feladat optimlis megoldsa. Mivel x0 LP2
szmra is lehetsges (s a kt clfggvny kzs), a z0 rtk az LP2 feladat egyik lehetsges clfggvnyrtke. Az is elkpzelheto , hogy egy olyan pontban, amelyik csak LP2
szmra lehetsges (teht LP1 szmra nem), a clfggvny rtke nagyobb mint z 0 . Teht
egy maximumfeladat lehetsges tartomnynak bovtse nem vezethet az optimlis z rtk
cskkenshez.
Ennek az szrevtelnek a segtsgvel megmutatjuk, hogy egy korltoz felttelhez
tartoz rnykr szksgkppen nemnegatv. Ha a Dakota problma esetben az asztalosmunka korlt jobb oldalt 1-gyel (8-rl 9-re) nveljk, akkor minden korbban lehetsges
pont tovbbra is lehetsges lesz, s ezenkvl j lehetsges pontok (ahol az asztalosmunka
korlt > 8 s 9) is elofordulhatnak. Emiatt az optimlis z rtk nem cskkenhet, s az
asztalosmunkhoz tartoz rnykr nem lehet negatv.
A kvetkezo pldval azt akarjuk megmutatni, hogy (ellenttben szmos knyv lltsval) egy tpus korlthoz tartoz rnykr rtke nem minden esetben az a maximlis
r, amit a szban forg eroforrs-mennyisg 1 egysggel trtno nvelsrt mg fizetni
rdemes.

4.

PLDA

Megolds

Leatherco, egy boripari cg, veket s cipoket gyrt. Egy v elksztshez 2 egysgnyi
borre s 1 ra szakmunkra van szksg. Egy pr cipo elksztshez 3 egysgnyi bo r
s 2 ra szakmunka szksges. Legfeljebb 25 egysgnyi b o rt 5$/egysgnyi egysgron
lehet beszerezni, a szakmunka-kapacits 15 ra, s a szakmunka kltsge 10$/ra. Egy
v eladsi ra 23$, egy pr cipo t 40$-rt lehet rtkesteni. A cg maximalizlni akarja a
nyeresgt (bevtelek kltsgek). rjunk fel egy olyan LP feladatot, melynek segtsgvel
maximalizlni lehet a cg nyeresgt! Ezutn adjuk meg a feladatban szerepl o rnykrak
kzgazdasgi jelentst!
Legyen
x1 = az elksztett vek szma
x2 = ahny pr cipot gyrt a cg
Mivel

egy v kltsge = 2(5) + 1(10) = 20$


egy pr cipo kltsge = 3(5) + 2(10) = 35$

a cg clfggvnye a kvetkezo :
max z = (23 20)x1 + (40 35)x2 = 3x1 + 5x2
Figyelembe kell venni kt korltoz felttelt:
1. korlt A cg legfeljebb 25 egysgnyi bo rt dolgozhat fel.

5.7. rnykrak

243

2. korlt Legfeljebb 15 ra szakmunka veheto ignybe.


Az elso korltot a
2x1 + 3x2 25 (bor korlt)

egyenlotlensg, a msodikat pedig az

x1 + 2x2 15 (szakmunka korlt)


egyenlotlensg adja meg. Figyelembe vve az x1 0, illetve x2 0 feltteleket, a kvetkezo
LP feladatot kapjuk:
max z = 3x1 + 5x2
f.h.

2x1 + 3x2 25
x1 + 2x2 15

(bor korlt)
(szakmunka korlt)

x1 , x2 0

A bor, illetve szakmunka korlthoz tartoz maradkvltozkat rendre s 1 -gyel, illetve s2 -vel
jellve, a 27. tblzatban lthat optimlis tblhoz jutunk. Eszerint a b o ripari cg problmjnak optimlis megoldsa z = 40, x1 = 5, x2 = 5. Az rnykrak a kvetkezo k
y1 = a bor rnykra = s1 egytthatja az optimlis clfggvnyben = 1
y2 = a szakmunka rnykra = s2 egytthatja az optimlis clfggvnyben 0 = 1
27.

TBLZAT

A boripari cg
optimlis tblja

Bzisvltoz
z
x1

+ s1 + s2 = 40
+ 2s1 3s2 = 5
x2 s1 + 2s2 = 5

z = 40
x1 = 5
x2 = 5

Az eddigiek szerint a bor rnykra azt jelenten, hogy ha eggyel tbb egysgnyi b o rt
lehetne felhasznlni, akkor a clfggvny (a cg nyeresge) 1$-ral lenne nagyobb. Vizsgljuk meg jobban, hogy mi trtnik akkor, ha +1 egysgnyi b o rt lehet felhasznlni. Mivel s1
nembzis vltoz, a cg megvsrolja a +1 egysgnyi bo rt is. Mivel s2 sincs a bzisban,
ezrt a cg tovbbra is ignybe vesz minden rendelkezsre ll munkart. Ez azt jelenti,
hogy a nyeresg 1$-ral val nvekedse a bo r beszerzsi kltsgnek emelkedse (+1 egysgnyi bor beszerzse) mellett kvetkezik be. Ha a nyeresg 1$-ral nvekszik, akkor a
bevtelnek 1 + 5 = 6$-ral kellett emelkednie. Ezrt az a legnagyobb r, amit +1 egysgnyi
borrt mg fizetni rdemes, 6$ (nem 1$).
Ugyanezt mskppen is belthatjuk: Ha a jelenlegi 5$-os ron szerezzk be a +1 egysgnyi bort, akkor a nyeresg nvekedse y1 = 1$. Ha viszont a +1 egysgnyi bo r beszerzsi
ra 6$ = 5$ + 1$, akkor a nyeresg nvekedse 1$ 1$ = 0$. Ezrt 6$ az a legmagasabb
r, amit +1 egysgnyi bor beszerzsrt mg fizeni rdemes.
Hasonlkppen, az a legmagasabb r, amit +1 ra szakmunkrt fizetni rdemes y 2 +
(egy ra szakmunka kltsge) = 1 + 10 = 11$. Ebben a feladatban azt lttuk, hogy egy
eroforrs rnykra azt a tbbletkltsget jelenti, amit +1 egysgnyi er o forrs ignybevtelrt az eredeti kltsg felett mg fizetni rdemes.

244

5. fejezet rzkenysgvizsglat s dualits

Az elozo kt feladat azt mutatja, hogy egy tpus korltoz felttelhez tartoz rnykr interpretcija gondos elemzst ignyel. Megismteljk, hogy maximumfeladat esetn
az rnykr az az rtk, amivel a clfggvny rtke nvekszik, amikor a szban forg
korlt jobb oldalt 1-gyel nveljk.
A kvetkezo pldval a , illetve egyenlosg tpus korltoz felttelekhez tartoz rnykrak interpretcijt mutatjuk be.

5.

PLDA

A Steelco, egy aclipari cg, 100 tonna acl gyrtsra kapott megrendelst. A szlltmny
nikkeltartalma legalbb 3.5 tonna, szntartalma legfeljebb 3 tonna, mangntartalma pedig
pontosan 4 tonna kell hogy legyen. A cg bevtele 20$/tonna. A cg ngyfle tvzettel
tudja teljesteni a megrendelst, ezek kmiai sszettele a 28. tblzatban lthat. A cg
maximalizlni akarja a megrendelsbo l szrmaz nyeresget (bevtel kltsg). rjuk fel
a megfelelo LP feladatot! Magyarzzuk meg a klnbzo korltoz felttelekhez tartoz
rnykrak jelentst!

Megolds

Jelljk xi -vel az i-edik tvzet mennyisgt a szlltmnyban (tonnban kifejezve)! Ekkor


a kvetkezo LP feladatot kell megoldani:
max z = (20 12)x1 + (20 10)x2 + (20 8)x3 + (20 6)x4
f.h. 0.06x1 + 0.03x2 + 0.02x3 + 0.01x4 3.5
(nikkel korlt)
0.03x1 + 0.02x2 + 0.05x3 + 0.06x4 3
0.08x1 + 0.03x2 + 0.02x3 + 0.01x4 = 4
x1 +

x2 +

x3 +
x4 = 100
x1 , x2 , x3 , x4 0

(szn korlt)
(mangn korlt)

(mennyisg = 100 tonna)

Az s2 maradkvltoz, valamint az a1 , a3 s a4 mestersges vltozk bevezetse, tovbb


az e1 feleslegvltoz kivonsa utn a kvetkezo optimlis megoldst kapjuk: z = 1000,
s2 = 0.25, x1 = 25, x2 = 62.5, x4 = 12.5, e1 = 0, x3 = 0. Az optimlis clfggvny az
albbi
z + 400e1 + (M 400)a1 + (M + 200)a3 + (M + 16)a4 = 1000
Felhasznlva a (31), (310 ) s (3100 ) sszefggseket, azt kapjuk, hogy

a nikkel korlt rnykra = (e1 egytthatja az optimlis clfggvnyben)


= 400
a szn korlt rnykra = s2 egytthatja az optimlis clfggvnyben
=0

a mangn korlt rnykra = (a3 egytthatja az optimlis clfggvnyben) M


= 200
a szlltott mennyisg rnykra = (a4 egytthatja az optimlis clfggvnyben) M
= 16
28.

TBLZAT

Az aclfajtk
adatai

Nikkel
Szn
Mangn
Kltsg/tonna

1. tvzet

2. tvzet

3. tvzet

4. tvzet

6%
3%
8%
12$

3%
2%
3%
10$

2%
5%
2%
8$

1%
6%
1%
6$

5.7. rnykrak

245

Az 5.3. alfejezetben ismertetett rzkenysgvizsglati eljrst alkalmazva megmutathat,


hogy 3.46 b1 3.6 esetn nem vltozik az optimlis bzis. Mindaddig, amg a nikkel
korlt ebben a tartomnyban marad, a korlt b1 -gyel val nvelse 400b1-vel fogja
nvelni a cg nyeresgt. Pldul, ha 3.55 tonnra emeljk a nikkel korltot (b 1 = 0.05),
akkor a cg nyeresge 400(0.05) = 20$-ral fog nvekedni (valjban cskkenni). A
nikkel korlt rnykra negatv, hiszen a jobb oldal nvelse megnehezti a kvetelmny
teljestst. A nikkel korlt nvelse valjban arra knyszerti a cget, hogy tbbet szlltson az 1. tpus drga tvzetbo l. Emiatt emelkednek a kltsgek, s cskken a nyeresg.
Ahogyan azt mr lttuk (egy maximumfeladat esetn), egy tpus korltoz felttelhez
tartoz rnykr szksgkppen nempozitv, hiszen a korlt jobb oldalnak emelse leszukti a lehetsges pontok halmazt. Emiatt az optimlis z rtk vagy cskken, vagy pedig
vltozatlan marad. Az 5.3. alfejezetben ismertetett rzkenysgvizsglati eljrs azt adja,
hogy 2.75 b2 esetn nem vltozik az optimlis bzis. Amint azt korbban lltottuk, a szn korlt rnykra 0. Ez azt jelenti, hogy nem vltozik a cg profitja, amikor a
sznmennyisg felso korltjt mdostjuk. Ez azrt logikus, mert az eredeti optimlis megoldsban 2.75 < 3 tonna a szntartalom. Ezrt a szn korlt enyhtse (emelse) esetn sem
tudja cskkenteni a cg a kltsgeit, teht a nyeresg rtke nem vltozik.
Az rzkenysgvizsglati eljrsbl addik, hogy 3.83 b 3 4.07 esetn vltozatlan
marad az optimlis bzis. Mivel a harmadik (mangn) korlt rnykra 200, ezrt a korlt
b3 -mal val emelse 200b3-mal fogja emelni a nyeresget mindaddig, amg a mangn
korlt ebben a tartomnyban marad. Pldul, ha 4.05 tonnra emeljk a mangn korltot
(b3 = 0.05), akkor (0.05)200 = 10$-ral nvekszik a nyeresg.
Ugyancsak az rzkenysgvizsglati eljrsbl kvetkezik, hogy 91.67 b 4 103.12
esetn vltozatlan marad az optimlis bzis. Mivel a negyedik (megrendels mret) korlthoz tartoz rnykr 16, a megrendelt mennyisg b4 -gyel trtno emelse 16b4-gyel
nveli a nyeresget (f.h. a nikkelre, a sznre s a mangnra vonatkoz korltok nem vltoznak). Pldul egy 103 tonns megrendels nyeresge 1000 + 3(16) = 1048$ lenne, f.h.
tovbbra is 3.5 tonna nikkel, 3 tonna szn s pontosan 4 tonna mangn az el o rs.
Ebben a feladatban mindkt egyenlo sg alak korltoz felttel rnykra pozitv volt.
Tudjuk azonban, hogy egy egyenlo sg alak korltoz felttelhez tartoz dulis vltoz
rtke negatv is lehet. Ilyenkor az rnykr is negatv. Ennek bemutatshoz, kpzeljk
el, hogy a cg megrendeloje pontosan 4.5 tonna mangnt r elo . Mivel 4.5 > 4.07, vltozni
fog az optimlis bzis. jra megoldva az LP feladatot, azt kapjuk, hogy a mangn korlthoz tartoz rnykr j rtke 54.55. Ez azt jelenti, hogy a megkvetelt mangntartalom
emelse esetn az aclipari cg nyeresge cskkenni fog.

Feladatok
A csoport

(c) s ha 40 dekt?

1. Bizonytsuk be a (37) lltst a dualits-ttel segtsgvel!

(d) Mekkora lenne a nyeresg 30 deka cukor esetn?

2. A kvetkezo krdsek a Sugarco problmval kapcsolatosak (5.3. alfejezet, 6. feladat):

3. Egy minimumfeladattal foglalkozunk, s nveljk egy


alak korltoz felttel jobb oldalt. Mi trtnhet az optimlis z rtkkel?

(a) Szmsuk ki a Sugarco problmhoz tartoz rnykrakat!


(b) Mekkora lenne a cg nyeresge, ha 60 deka cukrot
lehetne felhasznlni?

4. Egy minimumfeladattal foglalkozunk, s nveljk egy


alak korltoz felttel jobb oldalt. Mi trtnhet az optimlis z rtkkel?

246

5. fejezet rzkenysgvizsglat s dualits

5. Egy cg ktfle termket gyrt (1 s 2). Az 1. termk


eladsi egysgra 15$, a 2. termk 25$. Mindkt termk
elolltshoz nyersanyagra s ktfle (szakkpzett, illetve
szakkpzetlen) munkra van szksg (lsd 29. tblzat). Jelenleg 100 ra szakmunka, 70 ra szakkpzetlen munka s
30 egysg nyersanyag ll rendelkezsre. Marketing clok
miatt a 2. termkbol legalbb 3 egysget kell gyrtani.
29.

ra egysgenknt 1$. A cg maximalizlni akarja a nyeresget. Mutassuk meg, hogy a problmt az albbi LP feladat
rja le!
max z = x1 + 5x2
f.h.

3x1 + 4x2 100


2x1 + 3x2 70
x1 + 2x2 30

TBLZAT

Szakmunka
Szakkpzetlen munka
Nyersanyag

1. termk

2. termk

3 ra
2 ra
1 egysg

4 ra
3 ra
2 egysg

(a) Magyarzzuk meg, hogy mirt az rbevtel maximalizlsa a cl!


(b) A szban forg LP feladat a kvetkezo
max z = 15x1 + 25x2
f.h.

3x1 + 4x2 100

(szakmunka korlt)

x1 + 2x2 30

(nyersanyag korlt)

2x1 + 3x2 70
x2 3

(szakkpzetlen
munka korlt)
(a 2. termk korltja)

x1 , x2 0
Az optimlis tbla clfggvnye az albbi:
z + 15s3 + 5e4 + (M 5)a4 = 435
Az LP feladat optimlis megoldsa z = 435, x1 = 24,
x2 = 3. Szmtsuk ki valamennyi korlt rnykrt, s
magyarzzuk meg a jelentsket! Mennyit lenne hajland fizetni a cg +1 munkarrt a kt klnbzo munkatpus esetn? Mennyit lenne hajland fizetni +1 egysg
nyersanyagrt?
(c) Mekkora lenne a cg bevtele, ha 35 egysg nyersanyag llna rendelkezsre, f.h. nem vltozik az optimlis
bzis (megmutathat, hogy valban nem vltozik)?
(d) Vltozatlan optimlis bzis mellett mekkora lenne a
cg bevtele, ha 80 ra szakmunka llna rendelkezsre?
(e) Vltozatlan optimlis bzis mellett mekkora lenne a
cg bevtele, ha a 2. termkbol legalbb 5 egysget kellene gyrtani? Mekkora lenne, ha legalbb 2 egysg lenne
elorva?
6. Tegyk fel, hogy az 5. feladatban szereplo cg sem
munkaerovel, sem pedig nyersanyaggal nem rendelkezik, de
megvsrolhatja ezeket a kvetkezo ron: legfeljebb 100 ra
szakmunka kltsge 3$/ra; legfeljebb 70 ra szakkpzetlen munka dja 2$/ra; legfeljebb 30 egysgnyi nyersanyag

x2 3

x1 , x2 0

Az LP feladat optimlis clfggvnye

z + 1.5x1 + 2.5s3 + Ma4 = 75


az optimlis megolds pedig z = 75, x1 = 0, x2 = 15. Az (a)
s (b) krdsek megvlaszolsakor ttelezzk fel, hogy az
optimlis bzis vltozatlan marad.
(a) A cg mennyit lenne hajland fizetni +1 egysgnyi
nyersanyagrt?
(b) Mennyit lenne rdemes +1 ra szakmunkrt, illetve szakkpzetlen munkrt fizetni? (Fontoljuk meg a
vlaszt!)
7. Vlaszoljuk meg a Dorian problmval (5.3. alfejezet
8. feladat) kapcsolatos kvetkezo krdseket!
(a) Mekkora lenne a Dorian kltsge 40 milli MJN elrse esetn?
(b) Mekkora lenne a Dorian kltsge, ha mindssze 20
milli MJN elrsre lenne igny?
8. Ezt a feladatot elsosorban azoknak javasoljuk, akik nehezen tudjk elkpzelni, hogy egy egyenlosg alak korltoz felttelhez tartoz rnykr ktetlen elojelu. Tekintsk
az albbi kt LP feladatot:
max z =
(LP1) f.h.
max z =
(LP2) f.h.

x2
x 1 + x2 = 2
x1 , x2 0
x2

x1 x2 = 2
x1 , x2 0

Melyik feladat korltoz felttelnek lesz pozitv rnykra? Melyiknek lesz negatv rnykra?

B csoport
9. A Dakota problma esetn tegyk fel, hogy 22 felletkezelsi munkara s 9 asztalos-munkara ll rendelkezsre. Mekkora az j optimlis z rtk?
10. Az trendi problmnl ttelezzk fel, hogy legalbb 8
egysg csokold s legalbb 9 egysg cukor elfogyasztsa
szksges (a tbbi kvetelmny nem vltozik). Mekkora az
j optimlis z rtk?

5.8. Dualits s rzkenysgvizsglat

5.8.

247

Dualits s rzkenysgvizsglat
A dualits-ttel bizonytsa sorn hangslyoztuk a kvetkez o eredmnyt: Legyen BV egy
bzisvltozkbl ll lehetsges bzis. BV akkor s csak akkor optimlis (teht pontosan
akkor nemnegatv a clfggvny valamennyi egytthatja), ha a hozztartoz c BV B1 dul
megolds dul lehetsges.
Ennek az eredmnynek a segtsgvel a korbbiaktl eltro mdon is elvgezhetjk az
albbi tpus rzkenysgvizsglatokat (v. az 5.3. alfejezet elejn tallhat listval).
1. mdosts A clfggvnyben megvltozik egy nembzis vltoz egytthatja.
4. mdosts Megvltozik egy nembzis vltoz oszlopa.
5. mdosts j tevkenysget vezetnk be.
A BV bzis mindegyik esetben lehetsges marad. BV akkor lesz tovbbra is optimlis, ha
a hozztartoz clfggvnysor nemnegatv marad. Mivel a priml optimalits a dul lehetsgessggel ekvivalens, ezrt a fenti vltozsok utn pontosan akkor marad az aktulis
bzis optimlis, ha az aktulis dul megolds, teht cBV B1 , dul lehetsges marad. Ha
az aktulis dul megolds nem marad dul lehetsges, akkor BV szuboptimlis lesz, s j
optimlis megoldst kell keresni.
Az rzkenysgvizsglatnak ezt a dualitson alapul megkzeltst gy mutatjuk be,
hogy tdolgozzuk az 5.3. alfejezet nhny illusztrcijt. Emlkezznk arra, hogy az albbi
Dakota problmt vizsgltuk:
max z = 60x1 + 30x2 + 20x3
f.h.

8x1 + 6x2 + x3 48
4x1 + 2x2 + 1.5x3 20
2x1 + 1.5x2 + 0.5x3 8
x1 , x2 , x3 0

(faanyag korlt)
(felletkezelsi korlt)
(asztalosmunka korlt)

Az optimlis megolds a kvetkezo volt: z = 280, s1 = 24, x3 = 8, x1 = 2, x2 = 0, s2 = 0,


s3 = 0. Az optimlis megoldsban az egyetlen nembzis dntsi vltoz x 2 (asztalok). A
Dakota problma dulisa
min w = 48y1 + 20y2 + 8y3
f.h.

8y1 + 4y2 + 2y3 60


6y1 + 2y2 + 1.5y3 30
y1 + 1.5y2 + 0.5y3 20
y1 , y2 , y3 0

(rasztal korlt)
(asztal korlt)
(szk korlt)

Emlkeztetnk arra, hogy a dul optimlis megolds (s ezltal a korltokhoz tartoz rnykrak rtkei) y1 = 0, y2 = 10, y3 = 10. Most megmutatjuk, hogy hogyan alkalmazhatjuk dualitssal kapcsolatos tudsunkat az rzkenysgvizsglatban.

6.

PLDA

Mdostani akarjuk egy nembzis vltoz egytthatjt a clfggvnyben. Jelljk c 2 -vel


az x2 (asztalok) egytthatjt a Dakota problma clfggvnyben. Ms szval c 2 egy asztal eladsi ra. c2 mely rtkei esetn marad optimlis az aktulis bzis?

Megolds

Ha y1 = 0, y2 = 10, y3 = 10 tovbbra is dul lehetsges, akkor az aktulis bzis s valamennyi vltoz rtke vltozatlan marad. Vegyk szre, hogy amikor x 2 egytthatja a

248

5. fejezet rzkenysgvizsglat s dualits

clfggvnyben mdosul, akkor nem vltozik az elso s a harmadik dul korltoz felttel,
vltozik viszont a msodik (asztalok) dul korlt a kvetkezo kppen:
6y1 + 2y2 + 1.5y3 c2
Ha y1 = 0, y2 = 10, y3 = 10 kielgtik ezt az egyenlotlensget, akkor a dul lehetsgessg
(s ezzel a priml optimalits) tovbbra is teljesl. Teht optimlis marad az aktulis bzis,
ha c2 -re 6(0) + 2(10) + 1.5(10) c2 , vagyis c2 35 teljesl. Ez azt mutatja, hogy c2 35
esetn nem vltozik az optimlis bzis. Fordtva, ha c2 > 35, akkor az adott bzis elveszti
optimalitst. Ugyanezt az eredmnyt kaptuk az 5.3. alfejezetben is.
Az rnykrak segtsgvel mskppen is interpretlhatjuk ezt az eredmnyt. Az rnykrak segtsgvel kiszmthatjuk, hogy egy asztal elo lltshoz mekkora rtkben kell ero forrsokat felhasznlni (lsd 30. tblzat). Mivel egy asztalhoz 35$ sszrtku er o forrsra
van szksg, csak akkor nvelheti az asztalgyrts a Dakota nyeresgt, ha egy asztal eladsi ra 35$-nl nagyobb. Teht c2 > 35 esetn az aktulis bzis elveszti optimalitst,
c2 35 esetn viszont optimlis marad.
30. T B L Z A T
Mirt nyeresges
az asztalgyrts
> 35$/asztal
esetn

7.

Egy asztalhoz
szksges
eroforrs

Az eroforrs
rnykra ($)

Felhasznlt
eroforrs

Felhasznlt eroforrs
rtke ($)

Faanyag
Felletkezels
Asztalosmunka

0
10
10

6 egysgnyi
2 ra
1.5 ra

0(6) = 0
10(2) = 20
10(1.5) = 15
sszesen: = 35

PLDA

Mdostani akarjuk egy nembzis vltozhoz tartoz tevkenysg oszlopvektort. Tegyk


fel, hogy egy asztal elolltshoz 5 egysgnyi faanyagra, 2 munkara felletkezelsre s
2 ra asztalosmunkra van szksg, az asztal eladsi ra pedig 43$. Optimlis marad-e az
aktulis bzis?

Megolds

Az asztalok nembzis vltoz oszlopnak mdostsakor nem vltozik az els o s a harmadik dul korltoz felttel, mdosul viszont a msodik, a kvetkez o kppen:
5y1 + 2y2 + 2y3 43.
Mivel y1 = 0, y2 = 10, y3 = 10 nem elgti ki az j msodik dul korltot, nem teljesl a dul
lehetsgessg, s az aktulis bzis elveszti optimalitst. Az rnykrak oldalrl nzve
logikus ez az eredmny (lsd 31. tblzat). Mivel minden egyes asztalhoz 40$ sszrtku
eroforrsra van szksg, s az asztal eladsi ra 43$, asztalonknt 43 40 = 3$-ral n o
Dakota nyeresge. Ezrt a rgi bzis mr nem optimlis, s x2 (asztalok) bzisvltoz lesz
az j optimlis megoldsban.

8.

PLDA

Egy j tevkenysget akarunk bevezetni. Tegyk fel, hogy a Dakota zsmolyok (x 4 ) gyrtst fontolgatja. Egy zsmoly eladsi ra 15$, elo lltshoz 1 egysgnyi faanyagra, 1
munkara felletkezelsre s 1 ra asztalosmunkra van szksg. Optimlis marad-e az
aktulis bzis?

5.8. Dualits s rzkenysgvizsglat

31.

TBLZAT

rnykrak az
asztalgyrtsrl
szl dntsben
(40$/asztal)

Megolds

Egy asztalhoz
szksges
eroforrs

Az eroforrs
rnykra ($)

Felhasznlt
eroforrs

Eroforrs
rtke ($)

Faanyag
Felletkezels
Asztalosmunka

0
10
10

5 egysgnyi
2 ra
2 ra

0(5) = 0
10(2) = 20
10(2) = 20
sszesen: = 40

249

Az j termk (zsmolyok) bevezetsekor nem vltozik a hrom dul korltoz felttel, de


az j x4 vltoz miatt megjelenik egy (a zsmolyokhoz tartoz) negyedik dul korltoz
felttel, mgpedig a kvetkezo.
y1 + y2 + y3 15

Az aktulis bzis optimlis marad, ha y1 = 0, y2 = 10, y3 = 10 kielgtik az j dul korltot.


Mivel 0 + 10 + 10 15, nem vltozik az optimlis bzis. Az rnykrak nyelvn fogalmazva azt mondhatjuk, hogy egy zsmolyba 1(0) = 0$ rtku faanyag, 1(10) = 10$ rtku
felletkezelsi munka s 1(10) = 10$ rtku asztalosmunka pl be. Mivel egy zsmolyhoz
0+10+10 = 20$ sszrtku ero forrsra van szksg, az eladsi ra viszont mindssze 15$,
a Dakotnak nem rdemes zsmolyokat gyrtania, teht nem vltozik az optimlis bzis.

Feladatok
A csoport
1. Tegyk fel, hogy a Dakota problmban egy szmtgpasztal eladsi ra 35$, elolltshoz 6 egysgnyi faanyagra, 2 munkara felletkezelsre s 1 ra asztalosmunkra van szksg. Optimlis marad-e az aktulis bzis? Magyarzzuk meg az eredmnyt az rnykrak segtsgvel!
2. A kvetkezo krdsek a Cukoripari cg problmjra
vonatkoznak (5.3. alfejezet 6. feladat):
(a) Az 1. tpus cukorkbl szrmaz nyeresg mely rtkeinl marad optimlis az aktulis bzis?
(b) Optimlis marad-e az aktulis bzis, ha az 1. tpus
cukorkhoz 0.5 deka cukorra s 0.75 deka csokoldra
van szksg?
(c) Egy 4. tpus cukorka gyrtst fontolgatjuk. A 4.
tpus cukorkbl 10 cent profit szrmazna, elollts-

hoz 2 deka cukorra s 1 deka csokoldra lenne szksg.


Optimlis marad-e az aktulis bzis?
3. Tegyk fel, hogy a Dakota problmban egy rasztal
eladsi ra tovbbra is 60$, viszont az elolltshoz 8 egysgnyi faanyagra, 4 munkara felletkezelsre s 15 ra asztalosmunkra van szksg. llaptsuk meg, hogy optimlis
marad-e az aktulis bzis? Hol a hiba a kvetkezo okfejtsben?
Az rasztalokhoz tartoz oszlop mdostsa vltozatlanul
hagyja a msodik s harmadik dul korltoz felttelt, az
elso dul korlt pedig a kvetkezokppen vltozik:
8y1 + 4y2 + 15y3 60
Mivel y1 = 0, y2 = 10, y3 = 10 kielgti az j dul korltot,
az optimlis bzis nem vltozik.

250

5. fejezet rzkenysgvizsglat s dualits

5.9.

Komplementarits
A komplementaritsi ttel a priml, illetve dul optimlis megoldsok kapcsolatrl szl
fontos eredmny. Tegyk fel, hogy a priml feladat egy norml maximumfeladat x 1 , x2 ,
. . . , xn vltozkkal s m tpus korltoz felttellel. Legyenek s1 , s2 , . . . , sm a priml feladat maradk-vltozi. Ekkor a dul feladat egy norml minimumfeladat y 1 , y2 , . . . , ym vltozkkal s n tpus korltoz felttellel. Legyenek e1 , e2 , . . . , en a dul feladat feleslegvltozi. Most megfogalmazzuk a komplementaritsi ttel lltst.

2. TTEL

Legyen

x1
x2

x= .
..

xn

egy priml lehetsges megolds, y = [y1 y2 . . . ym ] pedig egy dul lehetsges


megolds. Ahhoz, hogy x priml optimlis s y dul optimlis legyen, szksges s
elgsges, hogy az albbi kt sszefggs teljesljn:
si yi = 0 (i = 1, 2, . . . , m)

(38)

e j x j = 0 ( j = 1, 2, . . . , n)

(39)

A komplementaritsi ttel bizonytst az alfejezet vgn, a 4. feladatban fogjuk vzolni,


elobb azonban megvilgtjuk a ttel szemlletes jelentst.
(38)-bl az kvetkezik, hogy az optimlis priml, illetve dul megoldsokra rvnyesek
az albbi kvetkeztetsek:
ha az i-edik priml maradkvltoz > 0, akkor az i-edik dul vltoz = 0

(40)

ha az i-edik dul vltoz > 0, akkor az i-edik priml maradkvltoz = 0

(41)

(39)-bol pedig az kvetkezik, hogy az optimlis priml s dul vltozkra rvnyesek az


albbi kvetkeztetsek
ha a j-edik dul felesleg-vltoz > 0, akkor a j-edik priml vltoz = 0

(42)

ha a j-edik priml vltoz > 0, akkor a j-edik dul felesleg-vltoz = 0

(43)

(40) s (42) azt jelenti, hogy ha egy priml vagy egy dul korlt nem aktv (teht s i >
0 vagy e j > 0), akkor a msik (n. komplementer) feladat megfelelo vltozjnak rtke
szksgkppen 0. Innen szrmazik a komplementarits elnevezs.
A komplementaritsi ttel jelentst a Dakota problmn keresztl vilgtjuk meg. A
priml feladat
max z = 60x1 + 30x2 + 20x3
f.h.
8x1 + 6x2 + x3 48

4x1 + 2x2 + 1.5x3 20


2x1 + 1.5x2 + 0.5x3 8
x1 , x2 , x3 0

(faanyag korlt)
(felletkezelsi korlt)
(asztalosmunka korlt)

5.9. Komplementarits

251

alak, a dul feladat pedig a kvetkezo :


min w = 48y1 + 20y2 + 8y3
f.h.
8y1 + 4y2 + 2y3 60
6y1 + 2y2 + 1.5y3 30
y1 + 1.5y2 + 0.5y3 20

(rasztal korlt)
(asztal korlt)
(szk korlt)

y1 , y2 , y3 0

Az optimlis priml megolds


z = 280,

x1 = 2,

x2 = 0,

x3 = 8

s1 = 48 (8(2) + 6(0) + 1(8)) = 24


s2 = 20 (4(2) + 2(0) + 1.5(8)) = 0

s3 = 8 (2(2) + 1.5(0) + 0.5(8)) = 0

A dul optimlis megolds pedig


w = 280, y1 = 0, y2 = 10, y3 = 10
e1 = (8(0) + 4(10) + 2(10)) 60 = 0

e2 = (6(0) + 2(10) + 1.5(10)) 30 = 5


e3 = (1(0) + 1.5(10) + 0.5(10)) 20 = 0
alak. A Dakota problma esetn (38) azt jelenti, hogy
s1 y 1 = s 2 y 2 = s 3 y 3 = 0
ami valban teljesl az optimlis priml s dul megoldsokra. Ugyanakkor (39) jelenlegi
alakja
e1 x1 = e 2 x2 = e 3 x3 = 0
ami az optimlis priml s dul megoldsokra valban teljesl.
Lssuk ezek utn a (40)(43) sszefggsek interpretcijt! (40) azt jelenti, hogy mivel a priml optimlis megoldsban s1 > 0, ezrt a dul optimlis megoldsban y1 = 0. A
Dakota problma nyelvn ezt gy mondjuk, hogy pozitv faanyagmaradk esetn a faanyag
rnykra 0 kell hogy legyen. Mivel a pozitv faanyagmaradk azt jelenti, hogy a szksgesnl tbb faanyag ll rendelkezsre, ezrt az extra faanyag valban rtktelen lenne.
(41)-bol az kvetkezik, hogy mivel a dul optimlis megoldsban y 2 > 0, ezrt a priml
optimlis megoldsban s2 = 0-nak kell teljeslnie. Ez rtheto, hiszen y2 > 0 azt jelenti,
hogy a felletkezelsi eroforrs korlt nvelse hasznos lenne. Ez azonban csak gy fordulhat elo, ha a jelenlegi kapacitst teljes mrtkben kihasznljuk (vagyis s 2 = 0).
A (42) sszefggs szerint, mivel a dul optimlis megoldsban e 2 > 0, ezrt a priml optimlis megoldsban x2 = 0-nak kell teljeslnie. Ez logikus, mert e2 = 6y1 + 2y2 +
1.5y3 30. Mivel y1 , y2 s y3 az eroforrsok rnykrai, e2 felrhat a kvetkezokppen:
e2 = (egy asztalhoz felhasznlt eroforrsok rtke) (egy asztal eladsi ra)
Ezrt e2 > 0 esetn az asztalok eladsi ra alacsonyabb, mint az elksztskhz szksges
eroforrsok sszrtke. Ez azt jelenti, hogy nem rdemes asztalt gyrtani (vagy, ami ezzel
ekvivalens, x2 = 0). Teht amikor a dul optimlis megoldsban e2 > 0, akkor a priml
optimlis megoldsban x2 = 0-nak kell teljeslnie.

252

5. fejezet rzkenysgvizsglat s dualits

Vegyk szre, hogy a Dakota problmban (43) azt jelenti, hogy amikor a priml optimlis megoldsban x1 > 0, akkor a dul optimlis megoldsban e1 = 0-nak kell teljeslnie.
Ez az llts a kvetkezo fontos tnyt tkrzi. A priml optimlis bzis brmelyik x j vltozja esetn az 1 egysgnyi termk elolltsbl szrmaz hatrbevtel rtke ugyanannyi,
mint az a hatrkltsg, amely az 1 egysgnyi termkhez szksges eroforrsok felhasznlsbl szrmazik. Ez abbl kvetkezik, hogy az optimlis priml tbla clfggvnyben
mindegyik bzisvltoz egytthatja 0. Rviden fogalmazva, a (43) sszefggs annak a
jl ismert kzgazdasgi elvnek az LP vltozata, miszerint optimlis termelsi stratgia esetn a hatr-bevtel s a hatr-kltsg azonos.
Konkrtabban, vegyk szre, hogy x1 > 0 azt jelenti, hogy rasztalok is szerepelnek az
optimlis bzisban. Ekkor
+1 rasztal gyrtsbl szrmaz hatr-bevtel = 60$
Ahhoz, hogy az rasztalgyrtssal kapcsolatos hatrkltsget (az rnykrak segtsgvel)
kiszmtsuk, megjegyezzk, hogy
+1 rasztal faanyagkltsge = 8(0) = 0$
+1 rasztalhoz szksges felletkezelsi kltsg = 4(10) = 40$
+1 rasztalhoz szksges asztalosmunka kltsg = 2(10) = 20$
+1 rasztal hatrkltsge = 0 + 40 + 20 = 60$
Teht, rasztalok esetn a hatr-bevtel s a hatr-kltsg azonos.

LP feladatok megoldsa a komplementarits segtsgvel


Amikor ismerjk a priml vagy a dul feladat optimlis megoldst, el o fordulhat, hogy a
komplementaritsi ttel segtsgvel meg tudjuk hatrozni a msik (komplementer) feladat
megoldst. Tegyk fel, pldul, hogy megkaptuk a Dakota problma optimlis megoldst, ami nem ms, mint z = 280, x1 = 2, x2 = 0, x3 = 8, s1 = 24, s2 = 0, s3 = 0. Prbljuk
megkeresni a dulis feladat optimlis megoldst a 2. ttel segtsgvel! Mivel s 1 > 0, (40)
szerint a dul optimlis megoldsban y1 = 0. Mivel x1 > 0 s x3 > 0, (43) kvetkezmnyeknt a dul optimlis megoldsban e1 = 0 s e3 = 0. Ez azt jelenti, hogy a dul optimlis
megoldsban az elso s a harmadik korltoz felttel aktv. Mivel y1 = 0 mr ismert, y2 s
y3 optimlis rtkeire nzve kt egyenletnk van kt ismeretlennel. Teht y 2 s y3 optimlis
rtkei kielgtik az albbi egyenleteket:
4y2 + 2y3 = 60

1.5y2 + 0.5y3 = 20

Ennek az egyenletrendszernek a megoldsval azt kapjuk, hogy a dul optimlis megoldsban y2 = 10 s y3 = 10. Teht a komplementarits ttellel megkaptuk a dul feladat y 1 = 0,
y2 = 10, y3 = 10 optimlis megoldst. (A dualits ttelbo l tudjuk, termszetesen, hogy a
dul optimlis clfggvny rtke w = 280.)

5.9. Komplementarits

253

Feladatok
A csoport
1. Glassco, egy vegipari cg poharakat gyrt: boros, srs-, pezsgos- s whiskyspoharat. Mindegyik pohrrl
tudjuk, hogy az elolltshoz mennyi vegre van szksg,
mennyi idot kell eltltenie az ntomuhelyben, illetve a csomagolrszlegnl. A klnbzo poharak eroforrsignyt a
32. tblzat tartalmazza. Jelenleg az ntomuhely kapacitsa
600 perc, a csomagolrszleg 400 perc, a rendelkezsre
ll vegmennyisg pedig 500 egysg. A bevtel maximalizlshoz a kvetkezo LP feladatot kell megoldani:
max z = 6x1 + 10x2 + 9x3 + 20x4
f.h.

4x1 + 9x2 + 7x3 + 10x4 600


x1 +

x2 + 3x3 + 40x4 400

3x1 + 4x2 + 2x3 +

x4 500

(ntdei
korlt)

(nyersanyag
korlt)

Megmutathat, hogy a feladat optimlis megoldsa z =


2800 , x = 400 , x = 20 , x = 0, x = 0, s = 0, s = 0, s =
1
4
3
1
2
3
3
3
3 2
280 .
3

TBLZAT

x1
x2
x3
x4
Boros- Srs- Pezsgos- Whiskyspohr pohr pohr
pohr
ntsi ido (perc)
Csomagolsi ido
veg (egysg)
Eladsi r ($)

4
1
3
6

9
1
4
10

7
3
2
9

2.

Tekintsk az albbi LP feladatot:


max z = 5x1 + 3x2 + x3
f.h.

2x1 + x2 + x3 6
x1 + 2x2 + x3 7
x1 , x2 , x3 0

Oldjuk meg a feladat dulist grafikusan! Ezutn oldjuk


meg az eredeti feladatot a komplementaritsi ttel segtsgvel!

(csomagolsi
korlt)

x1 , x2 , x3 , x4 0

32.

(c) Mutassunk egy-egy pldt a (40)(43) komplementaritsi felttelek mindegyikre! Pldinkat az alfejezetben ismertetett mdon az rnykrak segtsgvel fogalmazzuk meg!

10
40
1
20

(a) rjuk fel a feladat dulist!


(b) Hatrozzuk meg a dul feladat optimlis megoldst
a priml optimlis megolds s a komplementarits ttel
alkalmazsval!

B csoport
3. Legyen x = [x1 x2 x3 s1 s2 s3 ] a Dakota
problma
 egyik priml lehetsges, y = y1 y2 y3 e1
e2 e3 pedig egy dul lehetsges pontja.
(a) Szorozzuk meg a (standard alak) priml feladat iedik korltoz felttelt yi -vel, s adjuk ssze a kapott
korltoz feltteleket.

(b) Szorozzuk meg a (standard alak) dul feladat jedik korltoz felttelt x j -vel, s sszegezzk o ket.
(c) Szmtsuk ki az (a) feladat eredmnynek s a (b)
feladat eredmnynek klnbsgt.
(d) A (c) feladat eredmnynek s a dualits-ttelnek az
alkalmazsval igazoljuk, hogy ha x priml, y pedig dul
optimlis, akkor (38) s (39) teljeslnek.
(e) A (c) feladat eredmnyt felhasznlva mutassuk
meg, hogy ha (38) s (39) teljesl, akkor x priml optimlis, y pedig dul optimlis. (tmutats: Alkalmazzuk
a 2. segdttelt)

254

5. fejezet rzkenysgvizsglat s dualits

5.10.

A dul szimplex mdszer


Amikor a szimplex mdszerrel oldunk meg egy maximumfeladatot (amit a tovbbiakban
priml feladatnak neveznk), akkor egy priml lehetsges megoldssal indtunk (hiszen
az eredeti tbla jobb oldala nemnegatv). Mivel az indul tbla clfggvnyben negatv
egytthat is tallhat, a priml indul megolds nem dul lehetsges. Bziscserk sorozatt hajtjuk vgre, mikzben a priml lehetsgessget mego rizzk, s akkor jutunk optimlis megoldshoz, amikor a dul lehetsgessget (nemnegatv clfggvny-sor) is elrjk.
Ugyanakkor sokszor egyszerubb egy LP feladat megoldsa, ha olyan tblval indtunk,
ahol a clfggvny valamennyi egytthatja nemnegatv (teht a tbla dul lehetsges), de
legalbb az egyik korltoz felttel jobb oldaln negatv konstans ll (teht a tbla nem
priml lehetsges). A dul szimplex mdszer fenntartja a clfggvny-sor nemnegativitst (teht a dul lehetsgessget), s ltalban egy olyan tblval r vget, ahol mindegyik
jobb oldali konstans nemnegatv (teht a tbla priml lehetsges). Ebben az esetben egy
optimlis megoldshoz jutottunk. Ezt a mdszert azrt hvjuk dul szimplex mdszernek,
mert az algoritmus lpsei sorn minden pont dul lehetsges.

Dul szimplex mdszer maximumfeladat esetn


1. lps Mindegyik jobb oldali korlt nemnegatv? Ha igen, akkor egy optimlis megoldshoz jutottunk; ha nem, akkor legalbb egy jobb oldali korlt negatv, s a 2. lps
kvetkezik.
2. lps Kivlasztjuk a leginkbb negatv bzisvltozt, s ez fog kilpni a bzisbl. Ennek a vltoznak a sora lesz a belpo vltoz sora. A kvetkezokppen dntjk el, hogy
melyik vltoz lp be a bzisba: Minden olyan x j vltozra, amelynek negatv egytthatja
van a belpo vltoz sorban, kiszmtjuk az albbi hnyadost:
x j egytthatja a clfggvnyben
x j egytthatja a belpo vltoz sorban
Ezutn az a vltoz fog belpni a bzisba, amelyikre a fenti hnyados (abszolt rtkben)
a legkisebb. Ez a kivlaszts mego rzi a tbla dul lehetsgessgt (a clfggvny sorban
tovbbra is nemnegatv lesz minden egytthat). Az j vltozt elemi sormuveletek sorozatval belptetjk a bzisba.
3. lps Ha van olyan korltoz felttel, ahol a jobb oldali konstans negatv, s valamennyi vltoz egytthatja nemnegatv, akor az LP feladatnak nincs priml lehetsges
megoldsa. Ha nincs ilyen korltoz felttel, akkor visszatrnk az 1. lpshez.
A kvetkezo pldban nem ltezik priml lehetsges megolds. Tegyk fel, hogy a dul
szimplex mdszer sorn az x1 + 2x2 + x3 = 5 korltoz felttelhez jutunk. Mivel x1 0,
2x2 0 s x3 0, ezrt x1 + 2x2 + x3 0 s az x1 + 2x2 + x3 = 5 felttelnek nem tudunk
eleget tenni. Ezrt az eredeti LP feladatnak nincs priml lehetsges megoldsa.
Most felsorolunk hrom olyan esetet, ahol a dul szimplex mdszer hasznos lehet:
1.

j optimlis megolds elolltsa egy j korltoz felttel beiktatsa utn

2.

j optimlis megolds elolltsa az LP feladat jobb oldalnak megvltoztatsa utn

3.

Norml minimumfeladat megoldsa

5.10. A dul szimplex mdszer

255

j optimlis megolds elolltsa


egy j korltoz felttel beiktatsa
utn
Gyakran alkalmazzuk a dul szimplex mdszert olyankor, amikor egy j korltoz felttel
beiktatsa utn j optimlis megoldst kell meghatrozni. Egy j korlt beiktatsakor az
albbi hrom eset valamelyike kvetkezhet be:
1. eset A rgi optimlis megolds kielgti az j felttelt.
2. eset A rgi optimlis megolds nem elgti ki az j korltoz felttelt, de az j LP
feladatnak van priml lehetsges megoldsa.
3. eset Az j korltoz felttellel kiegsztett LP feladatnak nincs priml lehetsges megoldsa.
Az 1. esetben az adott optimlis megolds eleget tesz az j korltoz felttelnek, s
tovbbra is optimlis marad. Ennek bemutatsra, kpzeljk el, hogy a Dakota problmt kiegsztjk az x1 + x2 + x3 11 korlttal. A (z = 280, x1 = 2, x2 = 0, x3 = 8) eredeti
optimlis megolds kielgti ezt a korltot. Az adott optimlis megolds azrt marad az
x1 + x2 + x3 11 korlt beiktatsa utn is optimlis, mert egy j korltoz felttel beiktatsa utn a lehetsges pontok halmaza vagy vltozatlan marad, vagy pedig szukebb lesz.
Ebbol kifolylag (maximumfeladatrl lvn sz) az optimlis z rtk vagy vltozatlan marad, vagy pedig cskken, ahogyan azt az 5.7. alfejezetben lttuk. Emiatt, amikor a Dakota
problmt az x1 + x2 + x3 11 korltoz felttellel kiegsztjk, az j optimlis z rtk nem
lehet 280-nl nagyobb. Mivel a jelenlegi megolds tovbbra is lehetsges, s z = 280, ezrt
a jelenlegi megolds a kiegszts utn is optimlis.
A 2. esetben az aktulis megolds mr nem lesz lehetsges, ezrt nem is optimlis. Az j
optimlis megoldst meghatrozhatjuk a dul szimplex mdszer segtsgvel. Tegyk fel,
hogy a Dakota problmban marketing megfontolsok miatt legalbb egy asztalt gyrtani
kell. Ezltal az x2 1 j korltoz felttelhez jutunk. Az eredeti optimlis megoldsban
x2 = 0, teht ez az j feladatban nem lehetsges, ezrt nem optimlis. Az j optimlis megolds elolltsa cljbl bevezetnk egy e4 felesleg-vltozt, s ezt az x2 1 korltbl
kivonjuk. Ilyen mdon az x2 e4 = 1 korltoz felttelhez jutunk. Ezt 1-gyel megszorozva x2 + e4 = 1 addik, s e4 lehet az ehhez a korlthoz tartoz bzis-vltoz. Ezt az
j korltot beiktatva, a 33. tblzathoz jutunk.
33.

TBLZAT

A Dakota
problma rgi
optimlis
megoldsa x2 1
kikts mellett

Bzisvltoz
z + 5x2
+ 10s2 + 10s3
= 280
2x2
+ s1 + 2s2 8s3
= 24
2x2 + x3
+ 2s2 4s3
=8
x1 + 45
x2
12 s2 + 32 s3
= 2
x2
+ e4 = 1


z = 280
s1 = 24
x3 = 8
x1 = 2
e4 = 1

Mivel egy optimlis tbla clfggvnysorval van dolgunk, ezrt minden clfggvnyegytthat nemnegatv, teht alkalmazhatjuk a dul szimplex mdszert. e 4 = 1 a leginkbb negatv bzisvltoz, ezrt e4 fog kilpni a bzisbl, s a 4. sor lesz a belpo vltoz
sora. Mivel x2 az egyetlen olyan vltoz, melynek a 4. sorban negatv az egytthatja, ezrt
x2 fog belpni a bzisba (lsd 34. tblzat).
Ez egy optimlis tbla. Teht, ha kiegsztjk a Dakota problmt az x 2 1 felttellel, akkor z = 275, s1 = 26, x3 = 10, x1 = 43 , x2 = 1 lesz az j optimlis megolds, s a
clfggvny (teht Dakota nyeresge) 5$-ral cskken (ez az asztal n. reduklt kltsge).

256
34.

5. fejezet rzkenysgvizsglat s dualits


TBLZAT

A Dakota
problma j
optimlis
megoldsa x2 1
kikts mellett

Bzisvltoz
z

+ 10s2 + 10s3 + 5e4 = 275


s1 + 2s2 8s3 2e4 = 26
x3 + 2s2 4s3 2e4 = 10
x1
21 s2 + 32 s3 + 45 e4 = 34
x2
e4 = 1

z = 275
s1 = 26
x3 = 10
x1 = 34
x2 = 1

Azt is megtehettk volna, hogy az x2 1 korlttal kiegsztjk az indul szimplex tblt, s a hagyomnyos szimplex mdszerrel megoldjuk a mdostott feladatot. Ebben az
esetben egy mestersges vltozt kellett volna az x2 1 korlthoz bevezetni, s valsznuleg nagyszm bzistranszformcira lett volna szksg. Amikor egy j korlt beiktatsa
utn a dul szimplex mdszerrel folytatjuk a feladat megoldst, akkor kihasznljuk azt az
elonyt, hogy a clfggvny egytthati mr nemnegatvak, s a jobb oldali korltok nagy
rsze szintn nemnegatv. Ez az oka annak, hogy viszonylag kevs bziscsere utn megkaphatjuk az optimlis megoldst, ha egy j korlt beiktatsa utn a dul szimplex mdszerrel
dolgozunk tovbb.
A 3. esetben a dul szimplex mdszer 3. lpshez rve ismerhetjk fel, hogy az LP
feladatnak nincs priml lehetsges megoldsa. Ennek bemutatsa cljbl egsztsk ki a
Dakota problmt az x1 + x2 12 korltoz felttellel. Ha kivonjuk az e4 felesleg-vltozt
ebbol a korltbl, akkor
x1 + x2 e4 = 12

vagy

x1 x2 + e4 = 12

addik. Az eredeti optimlis tblt ezzel kiegsztve a 35. tblzatot kapjuk


35.

TBLZAT

A Dakota
problma rgi
optimlis
megoldsa
x1 + x2 12
felttel mellett

Bzisvltoz
z

+ 5x2
+ 10s2 + 10s3
= 280
2x2
+ s1 + 2s2 8s3
= 24
2x2 + x3
+ 2s2 4s3
=8
x1 + 1.25x2
0.5s2 + 1.5s3
=2
x1
x2
+ e4 = 12

z = 280
s1 = 24
x3 = 8
x1 = 2
e4 = 12

Mivel x1 megjelenik az j korltoz felttelben, ezrt gy tunik, hogy x 1 nem lehet a 3.


sorhoz tartoz bzisvltoz. Ennek a problmnak a kikszblse cljbl fejezzk ki x 1 et (s ltalban az sszes bzis vltozt) az j korltbl gy, hogy a 4. sorhoz hozzadjuk
a 3. sort. (lsd 36. tblzat). Mivel e4 = 10 a leginkbb negatv bzisvltoz, ezrt e4
fog kilpni a bzisbl s a 4. sor lesz a belpo vltoz sora. s2 az egyetlen olyan vltoz,
melynek a 4. sorban negatv egytthatja van, teht s2 kerl be a bzisba, s s2 lesz a 4.
sorhoz tartoz bzis vltoz (lsd 37. tblzat). Ezutn x3 -nak kell kilpni a bzisbl, s a
36.

TBLZAT

e4 a 4. sorhoz
tartoz
bzisvltoz

Bzisvltoz
z + 5x2
+ 10s2 + 10s3
= 280
2x2
+ s1 + 2s2 8s3
= 24
2x2 + x3
+ 2s2 4s3
=8
x1 + 1.25x2

0.5s
+
1.5s
=
2
2
3

0.25x2
0.5s2 + 1.5s3 + e4 = 10


z = 280
s1 = 24
x3 = 8
x1 = 2
e4 = 10

5.10. A dul szimplex mdszer

37.

TBLZAT

s2 a 4. sorban
belp a bzisba

257

Bzisvltoz
z + 10x2
+ 40s3 + 20e4 = 80
x2
+ s1
2s3 + 4e4 = 16
x2m
+ x3
+ 2s3 + 4e4 = 32
x1 + x 2
e4 = 12
0.5x2
+ s2 3s3 2e4 = 20

z = 80
s1 = 16
x3 = 32
x1 = 12
e4 = 20

2. sor lesz a belpo vltoz sora. Mivel x2 az egyetlen vltoz, melynek a 2. sorban negatv
egytthatja van, ezrt x2 lp be a bzisba (lsd 38. tblzat). Most x1 0, x3 0, 2s3 0
s 3e4 0, teht a 3. sor bal oldala mindenkppen nemnegatv, s ezrt nem lehet 20.
Ezrt az x1 + x2 12 korlttal kiegsztett Dakota problmnak nincs priml lehetsges
megoldsa.
38.

TBLZAT

A Dakota
problmnak
x1 + x2 12
felttel mellett
nincs lehetsges
megoldsa

Bzisvltoz
z
x1

+ 10x3
+ 60s3 + 60e4 = 240
x3 + s1
4s3
= 16
x2 x 3
2s3 4e4 = 32
+ x3
+ 2s3 + 3e4 = 20
0.5x3
+ s2 4s3 4e4 = 36

z = 240
s1 = 16
x2 = 32
x1 = 20
s2 = 36

j optimlis megolds elolltsa


az LP feladat jobb oldalnak
mdostsa utn
Ha mdostjuk egy korltoz felttel jobb oldalt, s az aktulis bzis nem lesz lehetsges,
akkor j optimlis megoldst kereshetnk a dul szimplex mdszer segtsgvel. Pldaknt
tegyk fel, hogy a felletkezelsre fordthat munkark szma 30. Az 5.3. alfejezetben
megmutattuk, hogy ebben az esetben a rgi optimlis tbla a 39. tblzatban lthat alakot
lti.
39.

TBLZAT

A Dakota
problma rgi
optimlis
megoldsa 30 ra
felletkezelsi
kapacits mellett

Bzisvltoz
z + 5x2
+ 10s2 + 10s3 = 380
2x2
+ s1 + 2s2 8s3 = 44
2x2 + x3
+ 
2s2 4s3 = 28
x1 + 1.25x2
0.5s2 + 1.5s3 = 3


z = 380
s1 = 44
x3 = 28
x1 = 3

A clfggvny sorban minden vltoz egytthatja nemnegatv, ezrt az j optimlis


megolds megkeresshez alkalmazhatjuk a dul szimplex mdszert. Az x 1 vltoz veszi
fel a leginkbb negatv rtket, teht x1 fog kilpni a bzisbl, s a 3. sor lesz a belpo
vltoz sora. Mivel a 3. sorban kizrlag s2 egytthatja negatv, ezrt s2 fog a bzisba
belpni (lsd 40. tblzat).
Ez egy optimlis tbla. Ha 30 munkara fordthat felletkezelsre, akkor az j optimlis megolds szerint 16 szket, 0 asztalt s 0 rasztalt kell elo lltani. Termszetesen gy
is meg lehet vltoztatni egy korltoz felttel jobb oldalt, hogy egyetlen lehetsges megolds se ltezzen. A dul szimplex mdszer 3. lpsben derl ki, hogy ez bekvetkezik-e,
vagy sem.

258
40.

5. fejezet rzkenysgvizsglat s dualits


TBLZAT

A Dakota
problma j
optimlis
megoldsa 30 ra
felletkezelsi
kapacits mellett

Bzisvltoz
z + 20x1 + 30x2
+ 40s3 = 320
4x1 + 3x2
+ s1
2s3 = 32
4x1 + 3x2 + x3
+ 2s3 = 16
2x1 2.5x2
+ s2 3s3 = 6

z = 320
s1 = 32
x3 = 16
s2 = 6

Norml minimumfeladat megoldsa


Most megmutatjuk, hogyan lehet egy norml minimumfeladatot megoldani a dul szimplex
mdszer alkalmazsval. Tekintsk a kvetkezo LP feladatot:
min z = x1 + 2x2
f.h.

x1 2x2 + x3 4
2x1 + x2 x3 6
x1 , x2 , x3 0

Mindenekelott z-t megszorozzuk 1-gyel, mert ilyen mdon egy maximumfeladatot kapunk, aminek z0 = x1 2x2 a clfggvnye. A kt korltoz felttelbo l kivonjuk az e1
s e2 feleslegvltozkat, s ezltal a 41. tblzatban lthat indul tblhoz jutunk. Mivel a clfggvnyben valamennyi vltoz egytthatja nemnegatv, alkalmazhatjuk a dul
szimplex mdszert. Mielott tovbb mennnk, meg kell tallnunk a korltoz felttelekhez
tartoz bzis vltozkat. Ha mindkt korltot megszorozzuk 1-gyel, akkor e 1 s e2 lehet
a kt bzisvltoz. Ezltal a 42. tblzatban lthat tblt kapjuk. A korltoz felttelek
jobb oldaln negatv szmok (is) szerepelnek, teht a jelenlegi tbla nem optimlis, ezrt a
2. lpsre trnk r.
41.

TBLZAT

42.

TBLZAT

Norml
minimumfeladat
indul tblja

Az indul tbla
kanonikus alakja

z0 + x1 + 2x2
=0
x1 2x2 + x3 e1
=4
2x1 + x2 x3
e2 = 6
Bzisvltoz
z0 +

x1 + 2x2
=0

x1 + 2x2 x3 + e1
= 4
2x1 + x2 + x3
+ e2 = 6


z0 = 0
e1 = 4
e2 = 6

A leginkbb negatv bzisvltoz, (e2 ), fog kilpni a bzisbl. Mivel e2 a msodik sorhoz tartozik, a 2. sor lesz a belpo vltoz sora. A bzisba bekerlo vltoz megkeresse
cljbl kiszmtjuk a kvetkezo hnyadosokat:
1
2
x2 hnyados = 2/ 1 = 2
x1 hnyados = 1/ 2 =

Az x1 -hez tartoz hnyados a legkisebb (abszolt rtkben), ezrt elemi sormuveletek alkalmazsval a 2. sorban x1 -et lptetjk be a bzisba (lsd 43. tblzat).5
5 Az rdekl
odo olvas knnyen elleno rizheti, hogy ha tvedsbo l x2 -t lptettk volna be a bzisba, akkor egy
negatv egytthat jelent volna meg a clfggvnyben, s ezltal elvesztettk volna a dul lehetsgessget.

5.10. A dul szimplex mdszer

43.

TBLZAT

Az elso dul
szimplex tbla

259

Bzisvltoz
z0

+
x1 +

1
3
+
2 x2 + 
2 x3
3
5
2 x2 2 x3 + e 1

1
1

2 x2 2 x3

1
2 e2
1
2 e2
1
2 e2

= 3
= 1
=3

z0 = 3

e1 = 1
x1 = 3

Mivel egyik korltoz felttel sem mutatja azt, hogy ne lenne priml lehetsges megolds (3. lps), visszatrnk az 1. lpsre. Az elso jobb oldali korlt negatv, teht a tbla
nem optimlis, ezrt a 2. lps kvetkezik. Mivel e1 = 1 a leginkbb negatv bzis vltoz, e1 fog kilpni a bzisbl, s az 1. sor lesz a belpo vltoz sora. A bzisba bekerlo
vltozknt x3 s e2 jhet szba. A szban forg hnyadosok a kvetkezo k:
1
3
1
/ =
2
2
3
1
1
e2 hnyados = / = 1
2
2

x3 hnyadosa =

Az (abszolt rtkben) legkisebb hnyados 13 , teht x3 lp be a bzisba az 1. sorban.


Az x3 -mal kapcsolatos bzistranszformcit vgrehajtva a 44. tblzatban lthat tblt
kapjuk.6 Mivel nemnegatv szmok llnak a jobb oldalon, ez egy optimlis tbla. Az eredeti
10
2
feladat minimumfeladat volt, aminek az optimlis megoldsa z = 10
3 , x1 = 3 , x3 = 3 s
x2 = 0.
44. T B L Z A T
A dul szimplex
plda optimlis
tblja

Bzisvltoz
z

x1

7
+
3 x2
5
3 x2 + x 3
1

3 x2

1
3 e1 +
2
3 e1 +
1
3 e1

1
3 e2
1
3 e2
1
3 e2

= 10
3
= 23
= 10
3

z0 = 10
3

x3 =
x1 =

2
3
10
3

Vegyk szre, hogy (az optimlis dul szimplex tblt kivve) mindegyik dul szimplex tblhoz tartoz z0 rtk nagyobb az optimlis z0 rtknl. Emiatt azt mondjuk, hogy a
dul szimplex tblk szuperoptimlisak. A dul szimplex mdszer alkalmazsa sorn minden bziscsere kzelebb hoz egy priml lehetsges megoldshoz. Mindegyik bziscsere
(a degenercitl eltekintve) cskkenti z0 rtkt, s gy lesz az eredmny egyre kevsb
szuperoptimlis. Mihelyt priml lehetsges megoldshoz jutunk, megtalltuk az (egyik)
optimlis megoldst.

6 Ha olyan vltozt lptettnk volna be a bzisba, amelyiknek pozitv egytthatja van a belp o
vltoz sorban, akkor negatv lett volna a clfggvny valamelyik egytthatja. Ez az oka annak, hogy csak olyan vltoz
lphet be a bzisba, amelyiknek a belpo vltoz sorban negatv egytthatja van.

260

5. fejezet rzkenysgvizsglat s dualits

Feladatok
A csoport

45.

1. Oldjuk meg a kvetkezo LP feladatot a dul szimplex


mdszerrel:
max z = 2x1 x3
f.h.

x 1 + x2 x3 5
x1 2x2 + 4x3 8
x1 , x2 , x3 0

2. Az albbi LP feladat optimlis megoldst a 45. tblzat mutatja:


max z = 6x1 + x2
f.h.

x 1 + x2 5

2x1 + x2 6
x1 , x2 0

Bzisvltoz
z

+ 2x2
+ 3s2 = 18
0.5x2 + s1 0.5s2 = 2
x1 + 0.5x2
+ 0.5s2 = 3

z = 18
s1 = 2
x1 = 3

(b) lltsuk elo az optimlis megoldst az x1 x2 6


korltoz felttel beiktatsa utn!
(c) lltsuk elo az optimlis megoldst a 8x1 + x2 12
korltoz felttel beiktatsa utn!
3. Hatrozzuk meg a Dakota problma optimlis megoldst, ha mindssze 20 egysgnyi faanyag hasznlhat fel!

(a) Keressk meg a feladat optimlis megoldst, ha beiktatjuk a 3x1 + x2 10 j korltoz felttelt!

5.11.

TBLZAT

4. Keressk meg a Dakota problma j optimlis megoldst, ha 15 ra fordthat asztalosmunkra!

Az rnykrak egy alkalmazsi pldja: a Data


Envelopment Analysis (DEA)7
Gyakorta feltesszk a krdst, hogy vajon egy egyetem, vagy egy krhz, tterem vagy ms
gazdasgi egysg hatkonyan mukdik-e? A Data Envelopment Analysis (DEA) mdszere erre a krdsre adja meg a vlaszt. Trgyalsunkat Callen (1991) cikkre alapozzuk.
A DEA bemutatshoz vizsgljunk meg egy hrom krhzbl ll csoportot. A helyzet
egyszerustse cljbl tegyk fel, hogy mindegyik krhz kt input tnyez o t konvertl
output tnyezokk, s ez utbbiakbl hrom van. A kt krhz ltal felhasznlt input tnyezok a kvetkezok:
1. input = eszkzk (amelyeket a krhzi gyak szmval mrnk)
2. input = munkaero (a havi felhasznlt munkarkban mrve)
Az output tnyezok:
1. output = a 14 ven aluli betegekre fordtott gygytsi ido szz napban mrve
2. output = a 14 s 65 v kztti betegekre fordtott gygytsi id o (szz napban)
3. output = a 65 v fltti betegekre fordtott gygytsi ido (szz napban)
Ttelezzk fel, hogy az egyes krhzak input s output tnyez o i a 46. tblzat szerint
adottak.
A krhzak hatkonysgnak meghatrozshoz legyen t r = az r-edik output egysgnek ra vagy rtkelse, s legyen ws = az s-edik input egysgnek a kltsge. Az i-edik
krhz hatkonysga a kvetkezo kppen definilt:
az i-edik krhz outputjainak rtke
az i-edik krhz inputjainak kltsge
7 Ezen

alfejezet kihagysa nem szaktja meg a trgyals folytonossgt.

5.11. A Data Envelopment Analysis

46. T B L Z A T
A krhzak input
s output tnyezoi

Krhz
1
2
3

Input
1 2
5 14
8 15
7 12

261

Output
1 2 3
9 4 16
5 7 10
4 9 13

A 46. tblzat adataival az egyes krhzak hatkonysgul az albbiak addnak:


9t1 + 4t2 + 16t3
5w1 + 14w2
5t1 + 7t2 + 10t3
a 2. krhz hatkonysga =
8w1 + 15w2
4t1 + 9t2 + 13t3
a 3. krhz hatkonysga =
7w1 + 12w2

az 1. krhz hatkonysga =

A DEA mdszere az egyes krhzak hatkonysgnak meghatrozshoz a kvetkez o


ngy elvi megfontolst hasznlja fel:
1. Egyetlen krhz sem lehet hatkonyabb mint 100%. Az egyes krhzak hatkonysga
gy kisebb vagy egyenlo, mint 1. Az 1. krhzra teht igaz, hogy (9t1 + 4t2 + 16t3)/(5w1 +
14w2 ) 1. Ha mindkt oldalt beszorozzuk a nevezo vel, akkor egy LP felttelt kapunk:
5w1 + 14w2 9t1 4t2 16t3 0.

2. Tegyk fel, hogy az i-edik krhz hatkonysgt szeretnnk meghatrozni. Olyan (t 1 ,


t2 s t3 ) output rtkelseket s (w1 , w2 ) input kltsgeket keresnk, amelyek a hatkonysgot maximalizljk. Ha az i-edik krhz hatkonysga 1-gyel egyenl o , akkor ez a krhz
hatkony; ha azonban a hatkonysgi rtk egynl kisebb, akkor a krhz nem hatkony.
3. A szmtsok egyszerustse cljbl az input rakat besklzhatjuk gy, hogy az iedik krhz input kltsge 1 legyen. A 2. krhz esetben teht a 8w 1 + 15w2 = 1 felttelt
kell a modellhez hozzadni.
4. Biztostanunk kell azt is, hogy az input kltsgek s az output rtkelsek szigoran
pozitvak legyenek. Ha ugyanis pldul a ti = 0, akkor a DEA nem tudja megtallni azokat
a nem hatkony megoldsokat, amelyek az i-edik outputot tartalmazzk; ha pedig w j = 0,
akkor a DEA nem tallja meg azokat a nem hatkony megoldsokat, amelyek a j-edik
inputot tartalmazzk.
Az 14. pontokban lertak alapjn az egyes krhzak hatkonysgnak tesztelsre a
kvetkezo LP-t hasznlhatjuk:
1. krhz LP

max z = 9t1 + 4t2 + 16t3

(1)

f.h.

(2)
(3)

9t1 4t2 16t3 + 5w1 + 14w2 0


5t1 7t2 10t3 + 8w1 + 15w2 0
4t1 9t2 13t3 + 7w1 + 12w2 0
5w1 + 14w2 = 1
t1

(4)
(5)

.0001 (6)
.0001 (7)

t2
t3
w1

.0001 (8)
.0001 (9)

w2 .0001(10)

262

5. fejezet rzkenysgvizsglat s dualits

2. krhz LP

max z = 5t1 + 7t2 + 10t3

(1)

f.h.

(2)

9t1 4t2 16t3 + 5w1 + 14w2 0


5t1 7t2 10t3 + 8w1 + 15w2 0
4t1 9t2 13t3 + 7w1 + 12w2 0

8w1 + 15w2 = 1
(5)
.0001 (6)

t1
t2

.0001 (7)
.0001 (8)

t3
w1

3. krhz LP

(3)
(4)

.0001 (9)
w2 .0001(10)

max z= 4t1 + 9t2 + 13t3

(1)

f.h.

(2)
(3)

9t1 4t2 16t3 + 5w1 + 14w2 0


5t1 7t2 10t3 + 8w1 + 15w2 0
4t1 9t2 13t3 + 7w1 + 12w2 0
7w1 + 12w2 = 1
t1

(4)
(5)

.0001 (6)
.0001 (7)

t2
t3
w1

.0001 (8)
.0001 (9)

w2 .0001(10)

Nzzk meg, hogy az 1. krhz LP modelljben miknt rvnyeslnek az (1)(4) pontok. Az (1) pont az 1. krhz hatkonysgnak maximalizlst jelenti. Ez az 5. felttelb o l
kvetkezik, amely az 1. krhz inputjainak kltsgt 1-re lltja. A (2)(4) felttelek azt
biztostjk, hogy egyik krhz se legyen 100%-nl nagyobb hatkonysg. A (6)(10) felttelek mindegyik input kltsget s output rtkelst szigoran pozitvv tesznek (a .0001
a jobb oldalon tetszoleges rtk: brmilyen kis pozitv szmot hasznlhatnnk).
A 7.(a)(c) brk az LP feladatok megoldsnak szmtgpes eredmnytbli. Ezekb o l
kiolvasva az optimlis clfggvnyrtket ((OPTIMLIS CLFGGVNYRTK) azt
talljuk, hogy
az 1. krhz hatkonysga = 1
a 2. krhz hatkonysga = .773
a 3. krhz hatkonysga = 1
A 2. krhz teht nem hatkony, az 1. s a 3. krhz viszont hatkonyan mukdik.

5.11. A Data Envelopment Analysis

7. a) B R A
1. KRHZ LP

MAX 9 T1 + 4 T2 + 16 T3
FELTVE, HOGY
2) - 9 T1 - 4 T2 - 16 T3 + 5 W1 + 14 W2 >=
3) - 5 T1 - 7 T2 - 10 T3 + 8 W1 + 15 W2 >=
4) - 4 T1 - 9 T2 - 13 T3 + 7 W1 + 12 W2 >=
5)
W1 >=
0.0001
6)
W2 >=
0.0001
7)
T1 >=
0.0001
8)
T2 >=
0.0001
9)
T3 >=
0.0001
10)
5 W1 + 14 W2 =
1
AZ OPTIMUMOT A 6. LPSBEN RTK EL
OPTIMLIS CLFGGVNYRTK
1)

1.00000000

VLTOZ
T1
T2
T3
W1
W2

RTK
.110889
.000100
.000100
.000100
.071393

REDUKLT KLTSG
.000000
.000000
.000000
.000000
.000000

SOR
2)
3)
4)
5)
6)
7)
8)
9)
10)

ELTRS
.000000
.515548
.411659
.000000
.071293
.110789
.000000
.000000
.000000

RNYKRAK
-1.000000
.000000
.000000
.000000
.000000
.000000
.000000
.000000
1.000000

ITERCIK SZMA=

0
0
0

263

264

5. fejezet rzkenysgvizsglat s dualits

7. b) B R A
2. KRHZ LP

MAX 5 T1 + 7 T2 + 10 T3
FELTVE, HOGY
2) - 9 T1 - 4 T2 - 16 T3 + 5 W1 + 14 W2 >=
3) - 5 T1 - 7 T2 - 10 T3 + 8 W1 + 15 W2 >=
4) - 4 T1 - 9 T2 - 13 T3 + 7 W1 + 12 W2 >=
5)
8 W1 + 15 W2 =
1
6)
W1 >= 0.0001
7)
W2 >= 0.0001
8)
T1 >= 0.0001
9)
T2 >= 0.0001
10)
T3 >= 0.0001
AZ OPTIMUMOT A 0. LPSBEN RTK EL
OPTIMLIS CLFGGVNYRTK
1)

773030000

VLTOZ
T1
T2
T3
W1
W2

RTK
.079821
.053275
.000100
.000100
.066613

REDUKLT KLTSG
.000000
.000000
.000000
.000000
.000000

SOR
2)
3)
4)
5)
6)
7)
8)
9)
10)

ELTRS
.000000
.226970
.000000
.000000
.000000
.066513
.079721
.053175
.000000

RNYKRAK
-.261538
.000000
-.661538
.773333
-.248206
.000000
.000000
.000000
-2.784615

ITERCIK SZMA=

0
0
0

5.11. A Data Envelopment Analysis

7. c) B R A
3. KRHZ LP

MAX 4 TI + 9 + T2 + 13 T3
FELTVE, HOGY
2) - 9 T1 - 4 T2 - 16 T3 + 5 W1 + 14 W2 >= 0
3) - 5 T1 - 7 T2 - 10 T3 + 8 W1 + 15 W2 >= 0
4) - 4 T1 - 9 T2 - 13 T3 + 7 W1 + 12 W2 >= 0
5)
W1 >=
0.0001
6)
W2 >=
0.0001
7)
T1 >=
0.0001
8)
T2 >=
0.0001
9)
T3 >=
0.0001
10)
7 W1 + 12 W2 = 1
AZ OPTIMUMOT A 7. LPSBEN RTK EL
OPTIMLIS CLFGGVNYRTK
1)

1.00000000

VLTOZ
T1
T2
T3
W1
W2

RTK
.099815
.066605
.000100
.000100
.083275

REDUKLT KLTSG
.000000
.000000
.000000
.000000
.000000

SOR
2)
3)
4)
5)
6)
7)
8)
9)
10)

ELTRS
.000000
.283620
.000000
.000000
.083175
.099715
.066505
.000000
.000000

RNYKRAK
.000000
.000000
-1.000000
.000000
.000000
.000000
.000000
.000000
1.000000

ITERCIK SZMA=

265

266

5. fejezet rzkenysgvizsglat s dualits

Az rnykrak s a DEA
Az rnykrak elemzse segtsgl szolgl annak a krdsnek a megvlaszolshoz, hogy
mi okozza a 2. krhz nem hatkony mukdst (s ugyanezen a mdon brmely, a DEA
ltal nem hatkonynak minostett egysget elemezni tudunk). A 7.(b) brn tekintsk mindazokat a krhzakat, amelyek hatkonysgi korltai nemzr rnykrakat (RNYKRAK) adnak a 2. krhz LP modelljnek megoldsban. (Pldnkban az 1. s 3. krhzhoz tartoz rnykrak nem 0 rtkuek.) Ha ezen krhzak input s output vektorait tlagoljuk (az rnykrak abszolt rtkeit hasznlva slyknt mindegyik krhz esetben),
akkor a kvetkezot kapjuk:
Output tlagvektor

5
4
9

.261538 4 + .661538 9 = 7
12.785
13
16

Input tlagvektor
.261538



  
5.938
7
5
=
+ .661538
11.6
12
14

Tegyk fel, hogy az 1. krhzbl s a 3. krhzbl a .261538 s .661538 slyokkal


kikevernk egy krhzat. Az output tlagvektor ekkor az gy sszetett krhzra vonatkoztatva azt mutatja, hogy ez a krhz az 1. s 2. outputbl ugyanazt a mennyisget szolgltatja, mint a 2. krhz, viszont a 3. output mennyisge (a 65 v fltti betegekre fordtott
gygytsi ido 100 napban mrve) ebben a krhzban 12.785 10 = 2.785 egysggel tbb.
Ha megnzzk az ilyen mdon sszetett krhzat jellemzo input tlagvektort, akkor azt
talljuk, ez a krhz a 2. krhznl kevesebbet hasznl fel mindkt inputbl. Lthatv vlt
teht, hogy mirt nem hatkony a 2. krhz!
Mellkesen azt is megfigyelhetjk, hogy a 2. krhz .7730 clfggvnyrtke szerint a
hatkonyabb sszetett krhz a magasabb output rtkeket gy lltja el o , hogy mindkt
inputnak legfeljebb 77.30%-t hasznlja fel. Figyeljk meg, hogy
az sszetett krhz 1. input felhasznlsa
< .7730 (a 2. krhz 1. input felhasznlsa) = 6.2186
s
az sszetett krhz 2. input felhasznlsa
= .7730 (a 2. krhz 2. input felhasznlsa) = 11.6
Annak magyarzata, hogy mirt az rnykrakat kell egy nem hatkony krhzat dominl
sszetett krhz elolltshoz felhasznlni, az 57. feladatokban tallhat.

5.11. A Data Envelopment Analysis

267

Feladatok
A csoport

48.

1. A Salemi iskolaszk rtkelni kvnja a vros ngy ltalnos iskoljnak hatkonysgt. Az iskolk szmra hrom output tnyezot hatroznak meg:
1. output = az olvassi osztlyzatok tlaga

TBLZAT

Input
Bank
1
2
3

1
15
14
16

2
20
23
19

Output
3
50
51
51

1
200
220
210

2
15
18
17

3
35
45
20

2. output = a matematika osztlyzatok tlaga


3. output = a magatartsjegyek tlaga
Hrom input tnyezot definilnak. Az 1. input = az anya iskolzottsgi szintjnek tlaga (a legmagasabb vgzettsget
figyelembe vve, egy olyan skln mrve, ahol 12 a kzpiskolai s 16 a foiskolai vgzettsg)

3. rtkelnie kell a vrosi rendorsg munkjt. Hrom kerleti egysg dolgozik a vrosban. A figyelembe veendo input s output tnyezok a kvetkezok:
1. input = a rendork szma
2. input = a gpjrmuvek szma
1. output = a jrorzo egysgekhez berkezett
hvsok szma (vi ezer darab)

2. input = az egy tanulra vettett szloi


iskolaltogatsok szma

2. output = az vente elfogott bunzok szma


(szz fo)

3. input = tanr/tanul arny


A ngy iskolra vonatkoz adatok a 47. tblzatban lthatk.
Mondjuk meg, hogy melyik iskola nem hatkony! A nem
hatkony iskolknl hatrozzuk meg ennek mibenltt!
47.

Az adatok a 49. tblzatban tallhatk. Hatrozza meg a hatkony egysgeket! Ha van nem hatkony egysg, vgezze
el a szoksos elemzst erre az egysgre vonatkozan!
49.

TBLZAT

TBLZAT

Input

Input
Iskola
1
2
3
4

1
13
14
11
15

2
4
5
6
8

Output
3
.05
.05
.06
.08

1
9
10
11
9

2
7
8
7
9

3
6
7
8
9

2. A Pine Valley Bank hrom fikot zemeltet. Az n feladata ezeknek a bankfikoknak a hatkonysgi elemzse.
Erre a clra a kvetkezo output s input tnyezoket hasznlhatja fel:

Egysg
1
2
3

1
200
300
400

2
60
90
120

Output
1
6
8
10

2
8
9.5
11

4. Az Indiana Egyetemtol kapott megbzs alapjn ngy


karra vonatkozan kell hatkonysgi vizsglatot vgeznie.
Ezek a Gazdlkodsi, a Tanrkpzo, a Termszettudomnyi
s az Egszsgtudomnyi kar. Az 50. tblzatban lvo informcikkal rendelkezik. Hasznlja a DEA mdszert arra,
hogy kimutassa, melyek a nem hatkony karok. Ha tall
ilyeneket, elemezze az okokat!

1. input = havi munkara (szz egysgben)


2. input = hasznos alapterlet (ngyzetlbban)
3. input = felhasznlt eszkzk (dollrban)
1. output = klcsnkrelmek szma havonta
2. output = havi pnztutalsok szma (ezer darab)
3. output = havonta bevltott csekkek szma (ezer db)
A megfelelo adatokat a 48. tblzatban adjuk meg. Ezek
felhasznlsval mondja meg, hogy van-e a fikok kztt
olyan, amelyik nem hatkony, s melyik az? A nem hatkony fikokra vgezzen elemzo vizsglatot!

B csoport
5. Magyarzza meg, hogy az sszetett krhz ltal az 1.
s 3. krhz output tnyezoinek tlagaknt kapott output rtkek (amelyekhez a slyokat az rnykrak abszolt rtkei szolgltattk) mirt lesznek legalbb akkork, mint a 2.
krhz megfelelo output rtke? (tmutats: rtkelje ki a
t1 , t2 s t3 vltozkat, valamint hasznlja fel azt a tnyt,
hogy ezeknek a vltozknak a clfggvny sorban tallhat egytthatinak az optimlis megoldsban 0-nak kell
lennik.)

268

5. fejezet rzkenysgvizsglat s dualits

6. Magyarzza meg, hogy a 8w1 + 15w2 = 1 felttelhez


tartoz rnykrnak mirt kell a 2. krhz optimlis z rtkvel egyenlonek lennie!
(a) Magyarzza meg, hogy mirt lesz az sszetett krhz egyes inputjaibl felhasznlt mennyisg legfeljebb
akkora, mint (a 2. krhz hatkonysgi rtke)(a 2. krhz ltal felhasznlt megfelelo input tnyezo mennyi-

50.

sge). (tmutats: rtkelje a w1 s w2 -t s hasznlja fel


a 6. feladatot.)
(b) Magyarzza meg, hogy mirt nem lehet az sszetett krhz ltal felhasznlt brmelyik input mennyisge
nagyobb, mint ugyanennek az inputnak a 2. krhzban
felhasznlt mennyisge!

TBLZAT

Gazdlkods
Tanrkpzs
Termszettudomny
Egszsgtudomny

Oktatk

Nem-oktatk

Mukdsi

kltsg
(milliban)

Kreditraszm
(ezerben)

Kutatsi
publikcik

150
60
800
30

70
20
140
15

5
3
20
1

15
5.4
56
2.1

225
70
1300
40

sszefoglals
Grafikus rzkenysgvizsglat
Amikor el kell dntennk, hogy optimlis marad-e az aktulis bzis a clfggvny valamelyik egytthatjnak mdostsa utn, figyeljnk arra, hogy a mdosts hatsra megvltozik a profitfggvny szintvonalnak meredeksge. Az adott bzis abban az esetben
marad optimlis, ha a lehetsges pontok tartomnyban (maximumfeladat esetn) z nvekedsnek irnyba haladva az aktulis optimumhely az utols olyan pont, amelyik a
profitfggvny valamelyik szintvonaln fekszik. Amikor nem vltozik az optimlis bzis,
akkor nem vltoznak a dntsi vltozk rtkei sem, de a z rtk megvltozhat.
Ha el kell dntennk, hogy optimlis marad-e az aktulis bzis egy korltoz felttel
jobb oldalnak mdostsa utn, akkor keressk meg az adott optimumhelyen aktv korltoz feltteleket (belertve az elojelmegktseket is). A jobb oldali korlt mdostsa
sorn addig optimlis az adott bzis, ameddig az a pont, ahol az emltett korltok aktvak, lehetsges marad. A dntsi vltozk rtkei, valamint az optimlis z rtk akkor is
megvltozhatnak, ha nem vltozik az optimlis bzis.

rnykrak
Egy lineris programozsi feladat i-edik korltoz felttelhez tartoz rnykr az az rtk, amennyivel az optimlis z rtk javul, amikor a jobb oldali korltot 1-gyel nveljk.

Jellsek
BVi = az i-edik korlthoz tartoz bzisvltoz az optimlis tblban
cBV = az a sorvektor, melynek i-edik eleme BVi
egytthatja az LP feladat clfggvnyben

sszefoglals

269

a j = az x j -hez tartoz oszlop az LP feladat korltoz feltteleiben


b = az eredeti LP feladat jobb oldala
c j = x j egytthatja az optimlis tbla clfggvnyben

Az eredeti LP feladat optimlis tbljnak kiszmtsa


x j oszlopa az optimlis tbla korltoz feltteleiben = B1 a j
az optimlis tbla jobb oldala = B

(5)
(6)

c j = cBV B a j c j
az si maradkvltoz egytthatja az optimlis clfggvnyben

(10)

= cBV B1 i-edik eleme


az ei feleslegvltoz egytthatja az optimlis clfggvnyben

(100 )

= (cBV B1 i-edik eleme)

(1000)

az ai mestersges vltoz egytthatja az optimlis clfggvnyben


= cBV B1 (i-edik eleme) + M
az optimlis clfggvny jobb oldala = cBV B1 b

(10000)
(11)

rzkenysgvizsglat
Maximumfeladat esetn egy tbla akkor s csak akkor optimlis, ha a clfggvnyben valamennyi vltoz egytthatja nemnegatv, s valamennyi korltoz felttel jobb oldaln
nemnegatv konstans ll. Minimumfeladat esetn egy tbla pontosan akkor optimlis, ha a
clfggnyben valamennyi vltoz egytthatja nempozitv, s mindegyik korltoz felttel jobb oldaln nemnegatv konstans ll.
Ha egy nembzis vltoz clfggvnybeli egytthatjnak mdostsa utn optimlis
marad az aktulis bzis, akkor a dntsi vltozk rtkei s az optimlis z rtk is vltozatlanul maradnak. Bzisvltoz egytthatjnak mdostsa esetn a dntsi vltozk rtkei
nem vltoznak, az optimlis z rtk azonban megvltozhat. A jobb oldal mdostsa esetn
a dntsi vltozk rtkei s az optimlis z rtk egyarnt megvltozhatnak. A dntsi vltozk j rtkeit B1 (j jobb oldali vektor) kiszmtsval kaphatjuk meg. Az j optimlis
z rtket vagy az rnykrak segtsgvel vagy pedig a (11) sszefggs felhasznlsval
kaphatjuk meg.

Clfggvny-egytthat rtktartomnya
Ha a clfggvny valamelyik egytthatja nem lp ki ebbo l a tartomnybl, akkor nem
vltozik meg az optimlis bzis. A tartomnyon bell nem vltoznak a dntsi vltozk
rtkei, az optimlis z rtk azonban megvltozhat.

Reduklt kltsg
Egy nembzis vltoz reduklt kltsge az az rtk, amivel a vltoz clfggvnybeli
egytthatjt javtani kell ahhoz, hogy az adott vltoz az LP feladat valamelyik optimlis
megoldsban bzisvltoz lehessen.

270

5. fejezet rzkenysgvizsglat s dualits

Jobboldali korlt rtktartomnya


Ha a korltoz felttel jobb oldaln ll konstans rtke nem lp ki ebb o l a tartomnybl,
akkor nem vltozik meg az optimlis bzis. A dntsi vltozk rtke viszont ltalban
megvltozik.

Egy LP feladat dulisnak felrsa


Norml maximumfeladat (minden korlt alak, s minden vltoz nemnegatv) vagy
norml minimumfeladat (minden korlt alak, s minden vltoz nemnegatv) esetn a
kvetkezokppen rjuk fel a dul feladatot:
Ha a 14. tblzatban soronknt olvassuk a priml feladatot, akkor oszloponknt olvassuk
a dult. Ha ugyancsak a 14. tblzatban oszloponknt olvassuk a primlt, akkor soronknt
olvassuk a dult. Egy maximumfeladat vltozit xi -vel s z-vel, egy minimumfeladat vltozit pedig y j -vel s w-vel jelljk.
Egy nemnorml maximumfeladat dulist a kvetkezo kppen hatrozzuk meg:
1. lps Kitltjk a 14. tblzatot gy, hogy soronknt lehessen olvasni a priml feladatot.
2. lps A kvetkezo mdostsok utn a megszokott mdon, oszloponknt olvashatjuk a
dul feladatot: (a) Ha az i-edik priml korlt alak, akkor a hozz tartoz y i dul vltozra
az yi 0 kiktsnek kell teljeslnie. (b) Ha az i-edik priml korlt egy egyenl o sg, akkor
az yi dul vltoz ktetlen elojelu. (c) Ha az i-edik priml vltoz ktetlen elo jelu, akkor
az i-edik dul korlt egyenlosg lesz.
Egy nemnorml minimumfeladat dulist a kvetkezo kppen hatrozzuk meg:
1. lps Felrjuk a priml feladatot gy, hogy azt a 14. tblzatban oszloponknt lehessen
olvasni.
2. lps A dulis feladat soronknt olvashat a tblzatbl, az albbi vltoztatsok figyelembevtelvel: (a) Ha az i-edik priml korlt alak, akkor a hozztartoz x i dul
vltozra az xi 0 kikts teljesl. (b) Ha az i-edik priml korlt egyenlo sg, akkor a hozztartoz xi dul vltoz ktetlen elojelu. (c) Ha az i-edik priml vltoz ktetlen elo jelu,
akkor az i-edik dul korlt egyenlo sg lesz.

A dualits-ttel
Legyen BV a priml feladat egyik optimlis bzisa. Ekkor cBV B1 a dul feladat optimlis
megoldsa. Ezenkvl z = w.

A dul optimlis megolds felrsa


Ha a priml feladat maximumfeladat, akkor a dul optimlis megoldst az optimlis tbla
clfggvnysorbl olvashatjuk ki a kvetkezo szablyok figyelembevtelvel:
az yi dul vltoz optimlis rtke
s egytthatja az
= i
ha az i-edik korlt alak
optimlis clfggvnyben

az yi dul vltoz optimlis rtke


(ei egytthatja az
=
ha az i-edik korlt alak
optimlis clfggvnyben)

az yi dul vltoz egytthatja


ha az i-edik korlt egyenlosg

(ai egytthatja az
optimlis clfggvnyben) M

(31)
(310 )
(3100)

sszefoglals

271

Ha a priml feladat minimumfeladat, akkor a dul optimlis megoldst az optimlis


tbla clfggvny-sorbl olvashatjuk ki a kvetkezo szablyok figyelembevtelvel:
s egytthatja az
az xi dul vltoz optimlis rtke
= i
optimlis clfggvnyben
ha az i-edik korlt alak

az xi dul vltoz optimlis rtke


(ei egytthatja az
=
ha az i-edik korlt alak
optimlis clfggvnyben)

az xi dul vltoz optimlis rtke


(a egytthatja az
= i
ha az i-edik korlt egyenlosg
optimlis clfggvnyben)+ M

rnykrak (folytats)
Maximumfeladat esetn az i-edik korltoz felttelhez tartoz rnykr nem ms, mint az
i-edik dul vltoz rtke a dul optimlis megoldsban. Minimumfeladat esetn az i-edik
korltoz felttelhez tartoz rnykr = (az i-edik dul vltoz rtke a dul optimlis
megoldsban).
j optimlis z rtk = (rgi optimlis z rtk)
+ (az i-edik korlt rnykra) bi
j optimlis z rtk = (rgi optimlis z rtk)
(az i-edik korlt rnykra) bi

(maximumfeladat)

(37)

(minimumfeladat)

(370 )

tpus korlt rnykra nempozitv; tpus korlt rnykra nemnegatv; s egy egyenlosg alak korlt rnykra egyarnt lehet pozitv, negatv vagy 0.

Dualits s rzkenysgvizsglat
A dualits ttelre adott bizonytsunkbl kvetkezik, hogy egy lehetsges BV bzis akkor s
csak akkor optimlis (teht minden clfggvny egytthat nemnegatv), ha a hozztartoz
cBV B1 dul megolds dul lehetsges.
Ennek az eredmnynek a segtsgvel j leheto sg nylik az rzkenysgvizsglat elvgzsre az albbi esetekben:
1. mdosts Egy nembzis vltoz egytthatjnak mdostsa a clfggvnyben
4. mdosts Egy nembzis vltoz oszlopnak megvltoztatsa
5. mdosts j tevkenysg beiktatsa
Mindegyik esetben knnyen eldntheto , hogy a vltoztats utn megmarad-e a dul lehetsgessg. Ha igen, akkor nem vltozik az optimlis bzis. Ha viszont megszunik a dul
lehetsgessg, akkor az aktulis bzis elveszti optimalitst.

272

5. fejezet rzkenysgvizsglat s dualits

Komplementarits
3. TTEL

Legyen

x1
x2

x= .
..

xn

egy priml lehetsges megolds, y = [y1 y2 . . . ym ] pedig egy dul lehetsges


megolds. Pontosan akkor lesz x priml optimlis, y pedig dul optimlis, ha
si yi = 0 (i = 1, 2, . . . , m)

(38)

e j x j = 0 ( j = 1, 2, . . . , n)

(39)

A dul szimplex mdszer


A dul szimplex mdszert (maximumfeladat esetn) akkor alkalmazzuk, amikor rendelkezsnkre ll egy bzismegolds, ahol a clfggvnyben valamennyi vltoz egytthatja nemnegatv. Egy ilyen bzismegolds birtokban a kvetkez o kppen mukdik a dul
szimplex mdszer:
1. lps Ha valamennyi korltoz felttel jobb oldala nemnegatv, akkor talltunk egy
optimlis megoldst; ellenkezo esetben legalbb egy korlt jobb oldaln negatv konstans
ll, s ttrnk a 2. lpsre.
2. lps Kivlasztjuk a leginkbb negatv bzisvltozt, s ez fogja elhagyni a bzist.
Ennek a sora lesz a belpo vltoz sora. A bzisba belpo vltoz megkeresse cljbl
minden olyan x j vltozra, amelynek a belpo vltoz sorban negatv egytthatja van,
kiszmtjuk az albbi hnyadost:
x j egytthatja a clfggvnyben
x j egytthatja a belpo vltoz sorban
Az a vltoz fog belpni a bzisba, amelyikhez (abszolt rtkben) a legkisebb hnyados
tartozik. Az j vltozt bzistranszformcival lptetjk be a bzisba.
3. lps Ha van olyan korlt, ahol a jobb oldali konstans negatv, s mindegyik vltoz
egytthatja nemnegatv, akkor az LP feladatnak nincsen priml lehetsges megoldsa.
Ez a helyzet pldul abban az esetben, ha (nhny bzistranszformci utn) egy x 1 +
2x2 + x3 = 5 alak korltoz felttelhez jutunk. Ha nem tallunk ilyen korltot (amelyik
a megoldhatatlansgot jelzi), visszatrnk az 1. lpshez.
Gyakran alkalmazzuk a dul szimplex mdszert a kvetkez o esetekben:
1.

Meg kell keresni az j optimlis megoldst egy j korltoz felttel beillesztse utn.

2.

Meg kell keresni az j optimlis megoldst a jobb oldal mdostsa utn.

3.

Egy norml minimumfeladat megoldst keressk.

ttekinto feladatok

273

ttekinto feladatok
A csoport
1. Tekintsk az albbi LP feladatot s az optimlis tbljt (51. tblzat):
max z = 4x1 + x2
f.h.

x1 x 2 3
x1 , x2 0

(a) rjuk fel a dul feladatot, s a dul optimlis megoldst!


(b) llaptsuk meg a b3 korlt azon rtkeinek tartomnyt, melyekre nem vltozik az optimlis bzis! Mi lenne
az j optimlis megolds b3 = 11 esetn?

x1

x2

e2

s3

a1

a2

J.o.

M 23

0
0

7
3
13
2
3

58
3
2
3
14
3

2
3
31

0
0

2. Az 1. feladatban szereplo LP feladatra grafikusan llaptsuk meg a c1 egytthat azon rtkeinek tartomnyt,
melyekre nem vltozik az optimlis bzis! (tmutats: A
lehetsges pontok halmaza egy egyenes szakasz.)
3. Tekintsk a kvetkezo LP feladatot, s az optimlis
tblt (52. tblzat):
max z = 5x1 + x2 + 2x3
f.h.

x 1 + x2 + x3 6

6x1

x2 + x 3 2

x2

1
6
1
6
1
6

X2 = naponta gyrtott teherautk szma


M1 = naponta brelt 1. tpus gpek szma

53.

TBLZAT

Napok
1. tpus
gpen
Szemlygpkocsi
Teheraut

0.8
1

Napok
2. tpus
gpen

Tonna
Acl

0.6
0.7

2
3

A cg clja a profit maximalizlsa. Vlaszoljuk meg a kvetkezo krdseket!

(b) Legfeljebb mekkora sszeget lenne rdemes +1 db


1. tpus gp egy napra trtno brlsrt fizetni?
(c) Legfeljebb mekkora sszeget lenne rdemes +1
tonna aclrt fizetni?

TBLZAT

x1

X1 = naponta gyrtott szemlygpkocsik szma

(a) Mi lenne a feladat j optimlis megoldsa, ha egy


szemlygpkocsi gyrtsbl 310$ nyeresg szrmazna?

+ x3 8

x1 , x2 , x3 0

4. Carco, egy autipari cg, szemlygpkocsikat s teherautkat gyrt. Egy szemlygpkocsibl 300$, egy teherautbl pedig 400$ nyeresg szrmazik. A gyrtshoz szksges eroforrsok az 53. tblzatban lthatk. A cg naponta
legfeljebb 98 1. tpus gpet tud brelni gpenknt 50$-rt.
Jelenleg 73 db 2. tpus gpe van a cgnek, s 260 tonna acl
ll rendelkezsre. Marketing szempontok miatt legalbb 88
szemlygpkocsit s legalbb 26 teherautt mindenkppen
gyrtani kell. Legyen

TBLZAT

52.

(b) Hatrozzuk meg a c1 egytthat azon rtkeinek tartomnyt, melyekre az optimlis bzis nem vltozik!
(c) Hatrozzuk meg a c2 egytthat azon rtkeinek tartomnyt, melyekre az optimlis bzis nem vltozik!

x1 + 2x2 = 6
2x1 + x2 10

51.

(a) rjuk fel a dulis feladatot s a dul optimlis megoldst!

s1

s2

s3

J.o.

0
1

7
6
65
61

5
6
16
1
6

x3

3
1
2

(d) Mekkora lenne a cg nyeresge, ha legalbb 86 szemlygpkocsit kellene mindenkppen gyrtani?


(e) A cg terepjrk gyrtst fontolgatja. Egy terepjr
gyrtsbl 600$ nyeresg szrmazik, az elolltshoz 4
tonna acl szksges, ezenkvl 1.2 munkanap az 1. gpen s 2 munkanap a 2. gpen. rdemes-e belefogni a
gyrtsba?

274

5. fejezet rzkenysgvizsglat s dualits

5. A kvetkezo LP feladat optimlis tblja az 54. tblzatban lthat:


max z = 4x1 + x2
f.h.

3x1 + x2 6
2x1 + x2 4
x1 + x 2 = 3
x1 , x2 0

54.

TBLZAT

x1

x2

e1

e2

a1

a2

a3

J.o.

1
0
0
0

0
1
0
0

3
1
2
1

0
0
1
0

0
0
0
1

M
0
1
0

M
0
0
1

M +4
1
3
2

12
3
3
2

(a) rjuk fel a feladat dulist s a dul optimlis megoldst!


(b) Az x2 vltoz clfggvnybeli egytthatjnak
mely rtkei esetn marad optimlis az aktulis bzis?
(c) Az x1 vltoz clfggvnybeli egytthatjnak
mely rtkei esetn marad optimlis az aktulis bzis?

A feladat optimlis megoldsa z = 32, x1 = 0, x2 = 8, s1 = 0,


s2 = 2. Grafikusan hatrozzuk meg a c1 vltoz azon rtkeit, melyekre optimlis marad az aktulis bzis!
8. Egy nyersanyag-feldolgozssal foglalkoz cg az 1-es
s a 2-es termkeket lltja elo. Legfeljebb 90 kg nyersanyag
szerezheto be 10$/kg ron. Egy kg nyersanyag feldolgozsval vagy 1 kilogrammnyi 1-es termk, vagy pedig 0.33
kilogrammnyi 2-es termk llthat elo. Az elobbi esetben 2
munkarra, az utbbi esetben 3 munkarra van szksg.
sszesen 200 munkara ll rendelkezsre, s a 2-es termkbol legfeljebb 40 kg adhat el. Az 1-es termk eladsi ra
13$/kg, a 2-es termk pedig 40$/kg. Legyen
RM = a feldolgozott nyersanyag kilban
P1 = az 1-es termkhez hasznlt
nyersanyag kilban
P2 = a 2-es termkhez hasznlt
nyersanyag kilban
A nyeresg maximalizlshoz a kvetkezo LP feladatot
kell megoldani:
max z = 10RM + 13P1 + 40(0.33)P2

f.h.

RM

2x1 + x2 + x3 8

4x1 + x2 x3 10
x1 , x2 , x3 0

TBLZAT

x1

x2

x3

1
0
0

0
0
1

0
1
0

1
3
1

s1

s2

1
2

1
2

12

1
1
2

J.o.
9
6
1

(a) rjuk fel a feladat dulist s a dul optimlis megoldst!


(b) Hatrozzuk meg b2 azon rtktartomnyt, melyre
az aktulis bzis nem vltozik! Mi lesz az j optimlis
megolds, ha b2 = 12?
7.

Tekintsk a kvetkezo LP feladatot:


max z = 3x1 + 4x2
f.h.

2P1 +

3P2 200
90

0.33P2 40

P1, P2, RM 0

max z = 3x1 + x2 x3

55.

P2

RM

6. Tekintsk a kvetkezo LP feladatot, s a hozztartoz


optimlis tblt (55. tblzat):
f.h.

P1 +

2x1 + x2 8

4x1 + x2 10
x1 , x2 0

Adjunk vlaszt a kvetkezo krdsekre:

(a) Mekkora lenne a cg nyeresge, ha csak 87 kg


nyersanyagot lehetne beszerezni?
(b) Mi lenne az j optimlis megolds, ha a 2-es termk
eladsi ra 39.50$/kg lenne?
(c) Legfeljebb mennyit fizetne a cg +1 kg nyersanyagrt?
(d) Legfeljebb mennyit fizetne a cg +1 munkarrt?
(e) Tegyk fel, hogy 1 kg nyersanyag feldolgozsval
0.8 kg 3-as termket lehet elolltani, ehhez 7 munkara szksges, s a 3-as termk eladsi ra 24$/kg. rdemes-e 3-as termket gyrtani?
9. Tekintsk a kvetkezo LP feladatot, s a hozztartoz
optimlis tblt (56. tblzat):
max z = 3x1 + 4x2 + x3
f.h.

x1 + x2 + x3 50

2x1 x2 + x3 15
x1 + x 2

= 10

x1 , x2 , x3 0
(a) rjuk fel a feladat dulist s a dul optimlis megoldst!

ttekinto feladatok
(b) Az x1 vltoz clfggvnybeli egytthatjnak
mely rtkeire marad optimlis az aktulis bzis?
(c) Az x1 vltoz clfggvnybeli egytthatjnak
mely rtkeire marad optimlis az aktulis bzis?
56.

TBLZAT

x1

x2

x3

s1

e2

a2

a3

J.o.

1
0
0
0

1
3
0
1

0
0
0
1

0
0
1
0

1
1
1
0

0
1
0
0

M
1
0
0

M +3
2
1
1

80
15
40
10

A1 = bzval beltetett terlet (hold)


A2 = zabbal beltetett terlet (hold)
L = ignybe vett mukark szma
A nyeresg maximalizlshoz a kvetkezo LP feladatot
kell megoldani:
max z =150A1 + 200A2 10L
f.h.

A1 +

A2

6A1 + 10A2
5A1

L 350
120

A1, A2, L 0
Adjunk vlaszt a kvetkezo krdsekre:

max z =

3x1 + 2x2

feltvel, hogy

2x1 + 5x2 8

(a) Legfeljebb mennyit rdemes fizetni +1 munkarrt?

x1 , x2 0

(b) Legfeljebb mennyit rdemes fizetni +1 hold


fldrt?

3x1 + 7x2 10

(a) rjuk fel a feladat dulist s a dul optimlis megoldst!

(c) Mennyi lenne a farmer nyeresge, ha csak 40 hold


fldje lenne?

(b) Hatrozzuk meg b2 azon rtktartomnyt, melyre


nem vltozik az optimlis bzis! lltsuk elo az j optimlis megoldst b2 = 5 esetn.

(d) Mi lenne az j optimlis megolds, ha 26$-ra esne a


bza ra?
(e) A farmer azt tervezi, hogy rpt is fog termelni. Az
rpa irnt korltlan kereslet mutatkozik. Egy hold fldn
4 vka rpa terem, s az aratshoz 3 munkarra van
szksg. rdemes-e rpt termeszteni, ha az rpa eladsi
ra 30$/vka?

TBLZAT

x1

x2

s1

s2

J.o.

1
0

0
0

0
1

10

23
1
3

4
3
10
3

1
3
7
3

45

L0

140

4A2

10. Tekintsk a kvetkezo LP feladatot s a hozztartoz


optimlis tblt (57. tblzat):

57.

275

13. Tekintsk a kvetkezo LP feladatot, s a hozztartoz


optimlis tblt (58. tblzat):
max z = 4x1 + x2 + 2x3

11. Tekintsk a kvetkezo LP feladatot:

f.h.

max z = 3x1 + x2
f.h.

6x1 + x2 + x3 8

2x1 + x2 8

4x1 + x2 10
x1 , x2 0

A feladat optimlis megoldsa z = 9, x1 = 1, x2 = 6. Grafikusan llaptsuk meg b2 azon rtkeit, melyekre optimlis
marad az aktulis bzis!
12. Egy farmer bzt s zabot termeszt a sajt 45 holdas
farmjn. Legfeljebb 140 vka bzt s legfeljebb 120 vka
zabot tud eladni. Egy beltetett holdon vagy 5 vka bza,
vagy pedig 4 vka zab terem. A bza eladsi ra 30$/vka,
a zab pedig 50$/vka. Egy hold bza aratshoz 6 munkara, egy hold zab aratshoz pedig 10 munkara szksges.
Legfeljebb 350 munkara veheto ignybe 10$/ra kltsggel. Legyen

8x1 + 3x2 + x3 2

x1 , x2 , x3 0

58.

TBLZAT

x1

x2

x3

s1

s2

J.o.

1
0
0

8
2
6

1
2
1

0
0
1

0
1
0

2
1
1

16
4
8

(a) rjuk fel a feladat dulist s a dul optimlis megoldst!


(b) Az x3 vltoz clfggvnybeli egytthatjnak
mely rtkeire marad optimlis az aktulis bzis?
(c) Az x1 vltoz clfggvnybeli egytthatjnak
mely rtkeire marad optimlis az aktulis bzis?

276

5. fejezet rzkenysgvizsglat s dualits

14. Tekintsk a kvetkezo LP feladatot s a hozztartoz


optimlis tblt (59. tblzat):

max z = 400X1 + 500X2 100R


f.h.

2X1 +

3X1 +

max z = 3x1 + x2
f.h.

X1 +

2x1 + x2 4

TBLZAT

x2

s1

e2

0
0
0

0
0
1

0
1
0

1
0
0

0
2
1

a2
M 1
0
2
1

J.o.

a3
M+
12
32
1

3
2

9
2
1
2
3
2

15. Tekintsk a kvetkezo LP feladatot:


max z = 3x1 + x2
f.h.

2X2

120
70

20

25

X1, X2 0

(a) rjuk fel a feladat dulist s a dul optimlis megoldst!


(b) Hatrozzuk meg a harmadik korltoz felttel jobb
oldaln ll konstansnak azon rtkeit, melyekre optimlis marad az aktulis bzis! rjuk fel az j optimlis megoldst arra az esetre, amikor a harmadik korlt jobb oldaln 15
2 ll!

x1

R 100

X2

4x1 + 2x2 = 7
x1 0, x2 0

2X2

X1

3x1 + 2x2 6

59.

3X2

4x1 + x2 7

5x1 + 2x2 10
x1 , x2 0

4
5
A feladat optimlis megoldsa z = 17
3 , x1 = 3 , x2 = 3 . Grafikus mdszerrel hatrozzuk meg a msodik korltoz felttel
jobb oldaln ll konstans azon rtkeit, melyekre optimlis
marad az aktulis bzis!
16. Egy kszersz ktfle gyurut kszt rubin s zafr felhasznlsval. Egy 1-es tpus gyuruhz 2 rubin, 3 zafr s
1 ra kszerszmunka szksges. Egy 2-es tpus gyuru elksztshez 3 rubinra, 2 zafrra s 2 ra kszerszmunkra
van szksg. Az 1-es tpus gyuru darabjt 400$-rt, a 2es tpus gyuru darabjt 500$-rt lehet eladni. Az kszersz mindegyik ltala ksztett gyurut el tudja adni. Jelenleg
100 rubin, 120 zafr s 70 kszersz-munkara ll rendelkezsre. Tovbbi rubinokat darabonknt 100$-rt tud beszerezni. A piaci kereslet megkveteli, hogy az kszersz legalbb 20 db 1-es tpus s legalbb 25 db 2-es tpus gyurut
ksztsen. A nyeresg maximalizlshoz a kvetkezo LP
feladatot kell megoldani:

X1 = 1-es tpus gyuruk szma


X2 = 2-es tpus gyuruk szma
R = megvsrolt rubinok szma

Adjunk vlaszt a kvetkezo krdsekre:


(a) Tegyk fel, hogy a rubinok beszerzsi ra 100$ helyett 190$. Vsrolna-e az kszersz rubinokat? Mi lenne
az j feladat optimlis megoldsa?
(b) Tegyk fel, hogy csak 23 darab 1-es tpus gyurut
kellene mindenkppen elkszteni. Mekkora lenne ebben
az esetben az kszersz nyeresge?
(c) Legfeljebb mennyit rdemes fizetni +1 kszerszmunkarrt?
(d) Legfeljebb mennyit rdemes fizetni +1 zafrrt?
(e) Az kszersz egy 3-as tpus gyurun gondolkodik.
Egy 3-as tpus gyuru elksztshez 4 rubinra, 2 zafrra
s 1 kszersz-munkarra van szksg, az eladsi ra
pedig 550$ lenne. rdemes-e 3-as tpus gyuruket kszteni?
17. Oldjuk meg a kvetkezo LP feladatot a dul szimplex
mdszerrel:
max z = 2x1 x2
f.h.

x 1 + x2 5
x1 2x2 8
x1 , x2 0

18. Tekintsk a kvetkezo LP feladatot:


max z = 4x1 x2
f.h.

4x1 + 3x2 6
x1 + 2x2 3

3x1 + x2 = 3
x1 , x2 0

Az elso korltoz felttelbol kivonunk egy e1 feleslegvltozt, a msodik korltoz felttelbe beillesztjk az s2
maradkvltozt, ezenkvl az elso s a harmadik korlthoz bevezetjk az a1 , illetve a3 mestersges vltozkat. Az
talaktsok utn kapott optimlis megoldst a 60. tblzat
tartalmazza.

ttekinto feladatok
60.
z

(a) Hatrozzuk meg c1 azon rtkeinek tartomnyt,


melyekre optimlis marad az aktulis bzis!

TBLZAT

x1

x2

e1

s2
1
5
3
5
15

0
0

1
0

0
0

0
1

a1

J.o.

a3

15

7
5

6
5
3
5

(c) Hatrozzuk meg b1 azon rtkeinek tartomnyt,


melyekre optimlis marad az aktulis bzis!

(a) rjuk fel a feladat dulist s a dul optimlis megoldst!


(b) Optimlis marad-e az eredetileg optimlis megolds, ha a feladatot az albbi mdon vltoztatjuk meg?
max z = 4x1 x2 x3
f.h.

(b) Hatrozzuk meg c2 azon rtkeinek tartomnyt,


melyekre optimlis marad az aktulis bzis!

18
5

2
5

0
1

4x1 + 3x2 + x3 6
x1 + 2x2 + x3 3

3x1 + x2 + x3 = 3
x1 , x2 , x3 0

(d) Hatrozzuk meg b2 azon rtkeinek tartomnyt,


melyekre optimlis marad az aktulis bzis!
22. Egy cg ktfle rdit gyrt. A munka az egyetlen
olyan eroforrs, mely a rdigyrtsnl szuk keresztmetszetet jelent. Jelenleg 2 munks dolgozik a cgnl. Az elso
munks legfeljebb heti 40 rt hajland dolgozni 5$ radjrt. A 2. munks legfeljebb 50 rt dolgozik hetenknt, s
radja 6$. Az egyes rdik rait, valamint az elolltsukhoz szksges eroforrsokat a 61. tblzat mutatja.
61.

f.h.

x 1 + x2 2

x1 + x2 1

TBLZAT

1. rdi

19. Tekintsk a kvetkezo LP feladatot:


max z = 2x1 + 6x2

277

2. rdi

Szksges
eroforrs

r
25$

1. munks:
1 ra
2. munks:
2 ra
nyersanyagkltsg: 5$

x1 , x2 0

Ennek a feladatnak a clfggvnye nem korltos. Ennek a


tnynek a figyelembevtelvel mutassuk meg, hogy a kvetkezo LP feladatnak nincs lehetsges megoldsa:

Szksges
eroforrs

r
22$

1. munks:
2 ra
2. munks:
1 ra
nyersanyagkltsg: 4$

min 2y1 + y2
f.h.

y1 y2 2

(a) Jelljk xi -vel az i-edik tpus rdibl hetente


gyrtand mennyisget. Mutassuk meg, hogy a cgnek
a kvetkezo LP feladatot kell megoldania (a feladat optimlis tbljt a 62. tblzat tartalmazza).

y1 + y 2 6

y1 0, y2 0

20. A komplementaritsi ttel segtsgvel hatrozzuk meg


a kvetkezo feladatnak, valamint dulisnak optimlis megoldst:

62.

max z = 3x1 + 4x2 + x3 + 5x4

f.h.

1
0
0

x1 + 2x2 + x3 + 2x4 5

2x1 + 3x2 + x3 + 3x4 8


x1 , x2 , x3 , x4 0

21. Az albbi LP feladat optimlis megoldsa z = 8,


x1 = 2, x2 = 0:
max z = 4x1 + x2
f.h.

3x1 + x2 6

5x1 + 3x2 15
x1 , x2 0

Grafikus mdszerrel adjunk vlaszt a kvetkezo krdsekre:

TBLZAT

x1
0
1
0

x2

s1

s2

J.o.

0
0
1

1
3
13
2
3

4
3
2
3
13

80
20
10

max z = 3x1 + 2x2


f.h.

x1 + 2x2 40

2x1 + x2 50
x1 , x2 0

(b) Az 1. tpus rdi rnak mely rtkeinl marad optimlis az aktulis bzis?

278

5. fejezet rzkenysgvizsglat s dualits

(c) A 2. tpus rdi rnak mely rtkeinl marad optimlis az aktulis bzis?

(c) Hatrozzuk meg a barna sr rnak azokat az rtkeit, melyre optimlis marad az aktulis bzis!

(d) Optimlis lenne-e az aktulis bzis, ha az 1. munks


csak 30 rt dolgozna hetente?

(d) Hatrozzuk meg a rendelkezsre ll rpa mennyisgnek azon rtkeit, melyre optimlis marad az aktulis
bzis!

(e) Optimlis lenne-e az aktulis bzis, ha a 2. munks


hetente legfeljebb 60 rt dolgozna?
(f) Maximlisan mennyit lenne rdemes fizetni az 1.
munksnak +1 ra munkrt?
(g) Mekkora lenne a cg nyeresge, ha a 2. munks csak
48 rt dolgozna egy hten? Ellenorizzk a vlaszt gy,
hogy meghatrozzuk az egyes rdikbl gyrtott mennyisgeket!
(h) Szba kerl egy 3. tpus rdi gyrtsa is. Ennek
a paramterei a kvetkezok: az ra 30$; az 1. munkstl
2 munkara, a msodik munkstl 2 munkara szksges, a nyersanyagkltsg 3$. rdemes-e 3. tpus rdit
gyrtani?
23. Beerco, egy srfozde, vilgos srt s barna srt gyrt
rpbl, komlbl s maltbl. Jelenleg 40 kg rpa, 30 kg
koml s 40 kg malta ll rendelkezsre. Egy hord vilgos srt 40$-rt lehet eladni, elolltshoz 1 kg rpa, 1 kg
koml s 2 kg malta szksges. Egy hord barna srt 50$rt lehet eladni, elolltshoz 2 kg rpra, 1 kg komlra
s 1 kg maltra van szksg. A srfozde el tudja adni az
ltala gyrtott vilgos srt s barna srt. Az sszrbevtel
maximalizlsa cljbl a kvetkezo LP feladatot kell megoldani:
max z = 40 vilgos sr + 50 barna sr
f.h.

vilgos sr + 2 barna sr 40
vilgos sr +

2 vilgos sr +

barna sr 30

barna sr 40

(rpa korlt)
(koml korlt)
(malta korlt)

vilgos sr, barna sr 0

(e) Hatrozzuk meg a rendelkezsre ll koml


mennyisgnek azon rtkeit, melyre optimlis marad az
aktulis bzis!
(f) Hatrozzuk meg a rendelkezsre ll malta
mennyisgnek azon rtkeit, melyre optimlis marad az
aktulis bzis!
(g) Tegyk fel, hogy a srfozde malta-likor gyrtst
fontolgatja. Egy hord malta-likor eladsi ra 50$, elolltshoz 0.5 kg rpra, 3 kg komlra s 3 kg maltra
van szksg. rdemes-e malta-likort gyrtani?
(h) Tegyk fel, hogy a srfozde feladat korltait dkgban adjuk meg. rjuk fel az j feladatot, s annak dulist!
(i) Mi lesz az j feladat dulisnak optimlis megoldsa? (tmutats: Gondoljuk vgig, mi trtnik a
cBV B1 vektorral! Az rnykrak fogalmnak segtsgvel magyarzzuk meg, hogy mirt klnbzik egymstl
az eredeti [kg-ban megadott] LP feladat s az j [dkg-ban
megadott] LP feladat dul optimlis megoldsa.)

B csoport
24. Tekintsk a kvetkezo LP feladatot:
max z = 3x1 + x2 + 2x3
f.h.

x1

2x1 3x2

vilgos sr = vilgos srbol gyrtott mennyisg hordban,


s barna sr = barna srbol gyrtott mennyisg hordban.
A feladat optimlis tbljt a 63. tblzat mutatja.
63.

TBLZAT

Vilgos sr

Barna sr

s1

s2

s3

J.o.

1
0

0
0

0
1

20

0
0

10
13

1200

0
0

0
1

0
0

2
3
13
13

1
0

13
2
3

40
3
10
3
40
3

(a) rjuk fel a feladat dulist s a dul optimlis megoldst!


(b) Hatrozzuk meg a vilgos sr rnak azokat az rtkeit, melyre optimlis marad az aktulis bzis!

x2 + 2x3 3

+ 3x3 1
2

x1 , x2 , x3 0

(a) rjuk fel a feladat dulist, s mutassuk meg, hogy


annak s az eredeti feladatnak a lehetsges tartomnya
azonos!
(b) A gyenge dualits segtsgvel igazoljuk, hogy a
priml (s a dul) feladat optimlis clfggvnyrtke 0
kell hogy legyen!
25. Tekintsk a kvetkezo LP feladatot:
max z = 2x1 + x2 + x3
f.h.

x1

+ x3 1

x2 + x 3 2

x1 + x 2

x1 , x2 , x3 0

ttekinto feladatok
Tudjuk, hogy
1
0
1

279

A cgnek a kvetkezo LP feladatot kell megoldania:


0
1
1

1
1
2
1
1
1 =

2
0
1

12
1
2
1
2

1
2
1
2
21

(a) Mutassuk meg, hogy az x1 , x2 s x3 bzisvltozk


ltal meghatrozott bzismegolds optimlis. rjuk fel az
optimlis megoldst!
(b) rjuk fel a feladat dulist s a dul optimlis megoldst!
(c) Mutassuk meg, hogy ha mindegyik korltoz felttel jobb oldalt megszorozzuk egy nemnegatv k konstanssal, akkor az j optimlis megoldst megkaphatjuk
gy, hogy az eredeti optimlis megolds mindegyik vltozjt megszorozzuk k-val!

max z = 15P1 + 8P2 6(OT) 1.5RM A1 A2


f.h. P1 10A1 50
(1)
P2 15A2 60

0.75P1 + 0.5P2 160 + (OT)

(2)

(3)

2P1 + P2 RM

(4)

A1 + A2 100

(6)

RM 400

1.5P1 + 0.8P2 320

(5)
(7)

minden vltoz nemnegatv

Adjunk vlaszt a kvetkezo krdsekre:


(a) Ignybe venne-e a cg tlrt, ha annak dja mindssze 4$ lenne rnknt?

26. Egy cg kt termket gyrt: az 1-est s a 2-est. A szksges adatokat a 64. tblzat mutatja. Hetente legfeljebb 400
egysg nyersanyagot lehet beszerezni egysgenknt 1.50$
ron. A cg ngy dolgozt alkalmaz, akik heti 40 rt dolgoznak (a brket fix kltsgnek tekintjk). A dolgozkat
tlrra is fel lehet krni, ennek a djazsa 6$ rnknt. Egy
hten 320 ra gpido ll rendelkezsre.

(b) Optimlis marad-e az aktulis bzis, ha mindegyik


termket egysgenknt 15.50$-rt lehet eladni? Mi lesz
ekkor az j optimlis megolds?

64.

(e) Mekkora lenne a cg nyeresge, ha mindegyik munksnak (regulris munkarendben) 45 rt kellene dolgoznia hetenknt?

TBLZAT

Eladsi r
Munkark szma
Szksges
gpido
Szksges
nyersanyag

1-es termk

2-es termk

15$
0.75 ra

8$
0.50 ra

1.5 ra

0.80 ra

2 egysg

1 egysg

Ha a cg nem folytat reklmtevkenysget, akkor az 1-es


termk utn heti 50 egysg, a 2-es termk utn pedig heti 60
egysg kereslet mutatkozik. Reklmozssal nvelni lehet a
keresletet mindkt termk irnt. Az 1-es termk reklmozsra fordtott minden egyes dollr 10 egysggel nveli a
keresletet, a 2-es termk esetn ez a nvekeds 15 egysg.
Reklmozsra legfeljebb 100$ fordthat. Vezessk be a kvetkezo jellseket:

(c) Legfeljebb mennyit rdemes +1 egysg nyersanyagrt fizetni?


(d) Mennyit lenne hajland fizetni a cg +1 ra gpidort?

(f) Magyarzzuk meg, hogy mirt 0.10 az elso korlthoz tartoz rnykr! (tmutats: Ha az (1) korlt jobb
oldalt 50-rol 51-re nvelnnk, akkor az 1-es termk reklmozsa nlkl 51 egysget lehetne eladni hetente.)
(g) A cg egy j termk (3-as termk) bevezetst fontolgatja. Ebbol egy egysg eladsi ra 17$, elolltshoz
2 rnyi munkra, 1 egysg nyersanyagra s 2 ra gpidore van szksg. rdemes-e belefogni a 3-as termk
gyrtsba?
(h) Optimlis maradna-e az aktulis bzis, ha a 2-es termk eladsi ra egysgenknt 10$ lenne?
27. A kvetkezo krdsek a 3.9. alfejezetben vizsglt
Rylon-pldra vonatkoznak. A kvetkezo defincikat hasznljuk:
RB = vente gyrtott Norml Brute mennyisge

P1 =
P2 =
OT =
RM =
A1 =

az 1-es termkbol hetente gyrtott egysgek szma


a 2-es termkbol hetente gyrtott egysgek szma
az ignybe vett tlrk szma
a nyersanyagbl beszerzett egysgek szma
az 1-es termk reklmozsra hetente fordtott
sszeg dollrban

A2 = a 2-es termk reklmozsra hetente fordtott


sszeg dollrban

LB = vente gyrtott Luxus Brute mennyisge


RC = vente gyrtott Norml Chanelle mennyisge
LC = vente gyrtott Luxus Chanelle mennyisge
RM = vente beszerzett nyersanyag mennyisge
Adjunk vlaszt a kvetkezo krdsekre:
(a) Ismertessk valamennyi rnykr jelentst.

280

5. fejezet rzkenysgvizsglat s dualits

(b) Mi lenne a feladat j optimlis megoldsa, ha 50


centtel nvelnnk a Norml Brute rt?
(c) A cg a laboratrium kapacitsnak nvelst fontolgatja. Kt vltozat vetodik fel:
1. vltozat 10 000$ kltsggel (jelenrtkben) a
laboratrium ves kapacitst 1000 rval lehet nvelni.
2. vltozat 200 000$ kltsggel (jelenrtkben) a
laboratrium ves kapacitst 10 000 rval lehet
nvelni.
Tegyk fel, hogy minden egyb felttel vltozatlan marad, s a jvobeli hozamokat vente 11 19 % kamatlbbal
diszkontljuk. Melyik vltozatot vlassza a cg (esetleg
egyiket sem)?
(d) A cg egy j tpus nyersanyag beszerzst fontolgatja. Ez a nyersanyag korltlan mennyisgben beszerezheto egysgenknti 8$ ron. Az j nyersanyag feldolgozshoz egysgenknt 3 rra van szksg a laboratriumban. Egy egysg felhasznlsval 2 egysg Norml Brute s 1 egysg Normal Chanelle ksztheto el.
rdemes-e az j tpus nyersanyaggal foglalkozni?
28. Tekintsk a kvetkezo kt LP feladatot:
max z = c1 x1 + c2 x2
f.h.

a11 x1 + a12 x2 b1
a21 x1 + a22 x2 b2

(LP 1)

x1 , x2 0

max z = 100c1 x1 + 100c2 x2


f.h.

100a11 x1 + 100a12 x2 b1

100a21 x1 + 100a22 x2 b2

(LP 2)

x1 , x2 0

Tegyk fel, hogy BV = {x1 , x2 } mindkt feladat optimlis bzisa, s az elso feladat optimlis megoldsa x1 = 50,
x2 = 500, z = 550. Tegyk fel tovbb, hogy az elso feladatban az elso s msodik korltozfelttelhez tartoz rnykr
egyarnt = 100
3 . Keressk meg a msodik feladatnak s dulisnak optimlis megoldst! (tmutats: Mi trtnik B1 zel, ha a mtrix valamennyi elemt 100-zal megszorozzuk?)
29. A kvetkezo krdsek a 3.6. alfejezetben megismert
Star Oil tokebefektetsi feladatra vonatkoznak.
(a) Hatrozzuk meg valamennyi korltoz felttel rnykrt, s magyarzzuk meg a jelentsket!
(b) Megvltozna-e a feladat optimlis megoldsa, ha az
1. befektets nett jelenrtke 5 milli dollr lenne?
(c) Tegyk fel, hogy van egy j (6.) befektetsi lehetosg is. A 6. befektets a 0. idopontban 5 milli dollr
kiadst, az 1. idopontban 10 milli dollr kiadst ignyel,
ugyanakkor a befektets nett jelenrtke 10 milli dollr. rdemes-e ebbe brmekkora sszeget befektetni?

30. A kvetkezo krdsek a Finco cg 3.11. alfejezetben


ismertetett befektetsi problmjra vonatkoznak.
(a) Mennyivel none a 3. idopontban a hozam, ha a 0.
idopontban 2000$-ral tbb toke llna a cg rendelkezsre?
(b) Vegyk szre, hogy ha a cg az 1. idopontban kapna
mg egy dollrt, akkor az 1. idopontban befektetheto
sszeg rtke 0.5A + 1.2C + 1.08S0 + 1 lenne. Ennek a
tnynek s a 2. korlthoz tartoz rnykrnak a figyelembevtelvel llaptsuk meg, hogy mennyivel javulna a cg
pnzgyi pozcija a 3. idopontban, ha +1 dollr llna az
1. idopontban a cg rendelkezsre?
(c) Mennyivel vltozna a 3. idopontban a cg rendelkezsre ll pnzsszeg, ha a 2. idopontban kapna a cg
+1 dollrt?
(d) Optimlis marad-e az aktulis bzis, ha a D befektets 1.80$-t hoz a 3. idopontban?
(e) Tegyk fel, hogy egy kituno pnzgyi alap 25% hozamot tudna nyjtani a 0. idoponttl az 1. idopontig terjedo peridusban. rdemes-e a Finco cgnek a 0. idopontban ebbe az alapba befektetni?
(f) Egy j befektetsi lehetosget (az F befektetst)
mrlegelnk. Az F lehetosgbe befektetett egy dollr a kvetkezo pnzramlst biztostja: 0. idopontban
1.00$; az 1. idopontban +1.10$; a 2. idopontban
+0.20$; a 3. idopontban +0.10$. rdemes-e a Finco cgnek az F lehetosgbe pnzt fektetni?
31. Ebben a feladatban azt vizsgljuk, hogyan interpretlhatak az rnykrak a keversi problma esetn (lsd 3.8.
alfejezet). Tekintsk a 3.8. alfejezet 2. feladatt. Legyen
x6J = a 6 pontos narancs mennyisge a narancslben
x9J = a 9 pontos narancs mennyisge a narancslben
x6B = 6 pontos narancs az elorecsomagolt termkben
x9B = 9 pontos narancs mennyisge a zacskban
Ekkor a feladatot felrhatjuk az albbi mdon:
max z = 0.45(x6J + x9J ) + 0.30(x6B + x9B )
f.h.

x6J + x6B 120000

x9J + x9B 100000

6x6J + 9x9J
8
x6J + x9J

6x6B + 9x9B
7
x6B + x9B
x6J , x9J , x6B , x9B 0

(6 pontos korlt)
(9 pontos korlt)
(narancsl korlt)

(1)

(zacsks narancs
korlt)

(2)

ttekinto feladatok
Az (1) s (2) egyenlotlensgek keversi korltok, hiszen
ezek adjk meg, hogy narancsl, illetve elorecsomagolt narancs ksztsekor milyen arnyban kell a 6 pontos s 9 pontos narancsot sszekeverni. Clszeru lenne meghatrozni,
hogy a narancsl, illetve a zacsks narancs szabvnynak
kismrtku mdostsa milyen mrtkben vltoztatja meg a
nyeresget. A feladat vgn megmutatjuk, hogy hogyan lehet az (1), illetve (2) felttelekhez tartoz rnykrak segtsgvel megvlaszolni a kvetkezo krdseket:

hogy melyik labdnak melyik rszlegben hny percet kell


tltenie. Marketing szempontok miatt legalbb 1000 db kznsges puha labdt mindenkppen el kell kszteni. Egy
kznsges puha labda ra 3$, a kemny labd 4$, a nagymretu puha labda ra pedig 5$. A szabszati rszleg kapacitsa 18 000 perc, a varrod 18 000 perc, a csomagolrszleg pedig 9000 perc. A cg clja a bevtel maximalizlsa.
Legyen
RS = a kznsges puha labdk szma

(a) Tegyk fel, hogy 8.1-re emeljk a narancsl elort


tlagos pontszmt. Hogyan vltozik a nyeresg, ha az
aktulis bzis optimlis marad?
(b) Tegyk fel, hogy 6.9-re cskkentjk a zacsks narancs elort tlagos pontszmt. Hogyan vltozik a nyeresg, ha az aktulis bzis optimlis marad?
Az (1) s (2) felttelekhez tartoz rnykr egyarnt
0.15. Az optimlis megolds x6J = 26, 666.67, x9J =
53 333.33, x6B = 93 333.33, x9B = 46 666.67. Az (1) s
(2) korltokhoz tartoz rnykrak interpretlsakor felttelezzk, hogy egy termk minosgi elorsnak kismrtku mdostsa a termkbol elolltott mennyisget csak
elhanyagolhat mrtkben befolysolja.
Vegyk szre, hogy (1) felrhat a
6x6J + 9x9J 8(x6J + x9J ), vagyis 2x6J + x9J 0
alakban. Ha a narancsl minosgi szabvnyt (8 + )-ra
mdostjuk, akkor (1)-bol
6x6J + 9x9J (8 + )(x6J + x9J )
vagyis

LS = a nagy puha labdk szma


HB = a kemny labdk szma.
Ekkor felrhatjuk az albbi LP feladatot:
max z = 3RS + 5LS + 4HB
f.h.

15RS + 10LS + 8HB 18000

15RS + 15LS + 4HB 18000

3RS + 4LS + 2HB 9000


RS

1000

RS, LS, HB

(szabs korlt)
(varrs korlt)
(csomagols
korlt)
(kereslet korlt)

A feladat optimlis tbljt a 66. tblzat mutatja.


65.

TBLZAT

Szabs

Labda
Kznsges puha
Nagy puha
Kemny

2x6J + x9J (x6J + x9J )

281

addik. Mivel feltettk, hogy a minosg elors mdostsa nem vltoztatja meg a termelt mennyisget, ezrt
x6J + x9J rtke tovbbra is 80 000 lesz, (1) pedig a

Varrs Csomagols
idotartama

15
10
8

15
15
4

3
4
2

(a) rjuk fel a feladat dulist s a dul optimlis megoldst!

alakot lti. Ennyi elokszts utn az rnykr defincijt hasznlva vlaszoljuk meg az (a) s (b) krdseket!

(b) Mutassuk meg, hogy a priml feladatnak egy msik optimlis megoldsa is ltezik! Hny perc van kihasznlva a teljes varrsi kapacitsbl a msik optimlis megolds esetn?

32. Egy cg nagymretu puha labdkat, valamint kznsges mretu puha s kemny labdkat gyrt. Mindegyik labda
hrom rszlegben kszl, a kvetkezo sorrendben: szabszat, varroda s csomagolrszleg. A 65. tblzat mutatja,

(c) +1 perc varrsi kapacits milyen mrtkben nveln a cg bevtelt? sszhangban van-e a vlasz azzal
a tnnyel, hogy a varr-kapacits aktv korlt? (tmutats: Vegyk figyelembe a (b) krdsre adott vlaszt.)

2x6J + x9J 80000

66.

TBLZAT

RS

LS

HB

s1

s2

s3

e4

a4

J.o.

1
0
0
0
0

0
0
0
0
1

0
0
1
0
0

0
1
0
0
0

0.5
0.19
0.05
0.17
0

0
0.125
0.10
0.15
0

0
0
0
1
0

4.5
0.94
0.75
1.88
1

M 4.5
0.94
0.75
1.88
1

4500
187.5
150
5025
1000

282

5. fejezet rzkenysgvizsglat s dualits

(d) A kznsges puha labdk szmra vonatkoz korltot 100-zal nvelve, hogyan vltozik a cg bevtele f.h.
optimlis marad az aktulis bzis?

35. Tekintsk az albbi LP feladatot s a feladat optimlis


tbljt (68. tblzat):
max z = c1 x1 + c2 x2

33. Tekintsk a kvetkezo LP feladatot:

f.h.

max z = c1 x1 + c2 x2
f.h.

a21 x1 + a22 x2 b2

3x1 + 4x2 6

x1 , x2 0

2x1 + 3x2 4

Hatrozzuk meg c1 , c2 , b1 , b2 , a11 , a12 , a21 s a22 rtkt!

x1 , x2 0

A feladat optimlis tblja a kvetkezo:


z

68.

+ s1 + 2s2 = 14
x1

+ 3s1 4s2 = 2

x2 2s1 + 3s2 = 0

Bziscsere nlkl hatrozzuk meg c1 s c2 rtkt!


34. Tekintsk a kvetkezo LP feladatot, s az optimlis
tblnak egy rszlett (67. tblzat):
max z = 20x1 + 10x2
f.h.

x1 +
x1

x2 = 150
40

x2 20

x1 , x2 0
67.

x1

x2

TBLZAT

x1

x2

s1

s2

1
0
0

0
1
0

0
0
1

2
3
1

3
2
1

5
2
5
2

36. Egy LP feladatban hrom tpus korltoz felttel


tallhat. A jobb oldali konstansok rtke rendre 10, 15 s
20. Az optimlis tblban s2 a msodik korlthoz tartoz
bzisvltoz, s a 2. korlt jobb oldaln ll konstans rtke
12. Hatrozzuk meg b2 rtknek azt a tartomnyt, melyre
optimlis marad az aktulis bzis! (tmutats: Hogyan alakul az optimlis tbla jobb oldala, ha a 2. korlt jobb oldaln
ll konstans rtke 15 + ?)
37. Oldjuk meg a vitorls cggel kapcsolatos 3.10. feladatot! Adjunk vlaszt a kvetkezo krdsekre:

TBLZAT

a11 x1 + a12 x2 b1

s2

e3

a1

a3

J.o.
1900

90

40

110

(a) Adjuk meg a teljes optimlis tblt!


(b) rjuk fel a feladat dulist s a dul optimlis megoldst!

(a) Mekkora lenne az elkvetkezo ngy hnap keresleteinek kielgtsvel kapcsolatos sszkltsg, ha az 1.
havi vitorlshaj-kereslet 35-re cskkenne?
(b) Mi lenne az j optimlis megolds, ha az 1. hnapban egy vitorlshaj rendes munkaidoben trtno elksztsnek kltsge 420$ lenne?
(c) Tegyk fel, hogy egy j vevo hajland lenne 425$-t
fizetni egy vitorlshajrt. rdemes-e teljesteni ezt a
megrendelst, ha az 1. hnapban kell szlltani? Hogyan
alakul a vlasz, ha a 4. hnapban kell szlltani?

Irodalom

283

Irodalom
Az albbi muvek rszletesen trgyaljk az rzkenysgvizsglatot s a dualitst:
Bazaraa, M., and J. Jarvis. Linear Programming and Network Flows. New York: Wiley,
1990.
Bradley, S., A. Hax, and T. Magnanti. Applied Mathematical Programming. Reading,
Mass.: Addison-Wesley, 1977.
A kvetkezo cikk a DEA analzis vilgos kifejtst tartalmazza:
Callen, J. Data Envelopment Analysis: Practical Survey and Managerial Accounting Applications, Journal of Management Accounting Research 3(1991):3557.
Dantzig, G. Linear Programming and Extensions. Princeton, N.J.: Princeton University
Press, 1963.
Gass, S. Linear Programming: Methods and Applications, 5th ed. New York: McGrawHill, 1985.
Luenberger, D. Linear and Nonlinear Programming, 2d ed. Reading, Mass.: AddisonWesley, 1984.
Murty, K. Linear Programming. New York: Wiley, 1983.
Simmons, D. Linear Programming for Operations Research. Englewood Cliffs, N.J.: Prentice Hall, 1972.
Simonnard, M. Linear Programming. Englewood Cliffs, N.J.: Prentice Hall, 1966.
Wu, N., and R. Coppins. Linear Programming and Extensions. New York: McGraw-Hill,
1981.

6
Szlltsi, hozzrendelsi s
sszetett szlltsi feladatok
Ebben a fejezetben a lineris programozsi feladatok hrom specilis tpust trgyaljuk: a
szlltsi, a hozzrendelsi s az sszetett szlltsi feladatot. Ezek mindegyike megoldhat
ugyan szimplex mdszerrel, m ennek ellenre kidolgoztak olyan specilis algoritmusokat,
amelyek az ilyen tpus feladatok megoldst sokkal hatkonyabb teszik.

6.1.

A szlltsi feladatok megfogalmazsa


A trgyalst a szlltsi feladat megfogalmazsval kezdjk. Ez azt jelenti, hogy a kvetkezo pldval illusztrlt helyzet lersra alkalmas lineris programozsi modellt lltunk fel.

1.

PLDA

1. T B L Z A T
Szlltsi kltsg
($), szolgltats s
kereslet a Powerco
feladatban

Megolds

A Powercnak hrom elektromos ero mutelepe van, ezek ngy vros szksglett ltjk el.1
Az egyes eromuvek a kvetkezo mennyisgu kilowattra (kWh) elektromos energit
kpesek szolgltatni: 1. eromu: 35 milli; 2. eromu: 50 milli; 3. eromu: 40 milli (lsd
1. tblzat). Az egyszerre (dlutn 2-kor) megjeleno cscsfogyasztsi ignyek ezekben a
vrosokban: 1. vros: 45 milli; 2. vros: 20 milli; 3. vros: 30 milli; 4. vros: 30 milli.
1 milli kWh ram szlltsa valamelyik ero mubol valamelyik vrosba attl fgg, hogy
milyen tvolsgra kell szlltani. Fogalmazzunk meg egy LP-t, amely minimalizlja annak
a kltsgt, hogy mindegyik vros cscsfogyasztsi ignye ki legyen elgtve!
Hov
Honnan

1. vros

2. vros

3. vros

4. vros

1. eromu
2. eromu
3. eromu

8
9
14

6
12
9

10
13
16

9
7
5

Igny
(milli kWh)

45

20

30

30

Szolgltats
(milli kWh)
35
50
40

A Powerco feladathoz tartoz LP megfogalmazst azzal kezdjk, hogy minden olyan dntshez, amelyet a Powercnak meg kell hoznia, definilunk egy vltozt. Mivel a Powercnak meg kell hatroznia az egyes ero muvekbol az egyes vrosokba szlltand elektromos
1 Aarvik

s Randolph (1975) alapjn.

286

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

energia mennyisgt, definiljuk (i = 1, 2, 3 s j = 1, 2, 3, 4 esetre) a kvetkez o vltozkat:


xi j = az i-edik eromuben termelt, s a j-edik vrosba szlltott milli kWh-k szma
Ezeknek a vltozknak a segtsgvel felrhatjuk a cscsfogyasztsi ignyek kielgtsnek
kltsgt az 14. vrosokban:
8x11 + 6x12 + 10x13 + 9x14
+ 9x21 + 12x22 + 13x23 + 7x24
+ 14x31 + 9x32 + 16x33 + 5x34

(az 1. eromubol val szllts kltsge)


(a 2. eromubol val szllts kltsge)
(a 3. eromubol val szllts kltsge)

A Powercnak ktfle tpus felttellel kell szembenznie. Elo szr is, az egyes eromuvekbol elszlltott sszes elektromos energia nem haladhatja meg az er o mu kapacitst.
Pldul az 1. eromubol a ngy vrosba elszlltott elektromossg mennyisge nem lehet
tbb mint 35 milli kWh. Minden 1-es indexu vltoz az 1. er o mubol trtno szlltst
jelent, gy teht ezt az elorst a kvetkezo LP felttellel fejezhetjk ki:
x11 + x12 + x13 + x14 35
Hasonl mdon okoskodva megtallhatjuk a 2. ero mu s a 3. eromu kapacitsainak
megfelelo feltteleket is. Mivel az ramellts az ero muvekbol trtnik, ezeket a helyeket
knlati pontoknak (vagy feladhelyeknek) nevezzk. Ennek megfelel o en egy olyan felttelt, amelyik azt biztostja, hogy az ero mubol elszlltott mennyisg nem lpi tl az ero mu
kapacitst, knlati felttelnek neveznk. A Powerco problma LP megfogalmazsban
a kvetkezo hrom knlati felttel szerepel:
x11 + x12 + x13 + x14 35

x21 + x22 + x23 + x24 50


x31 + x32 + x33 + x34 40

(1. eromu knlati felttele)


(2. eromu knlati felttele)
(3. eromu knlati felttele)

Msodszor, szksgnk van olyan felttelekre, amelyek azt biztostjk, hogy minden vros megkapja a cscsfogyasztsi ignyt kielgto ramot. Mivel minden vrosnak szksge
van elektromossgra, mindegyik egy rendeltetsi hely (vagy keresleti hely). Pldul az 1.
vrosnak legalbb 45 milli kWh ramot kell kapnia. Minden olyan vltoz, amelyiknl a
msodik index 1-es, az 1. vrosba trtno szlltsra vonatkozik, gy a kvetkezo felttelt
kapjuk:
x11 + x21 + x31 45

Hasonl okoskodssal nyerhetjk a 2., 3. s 4. vros ignyre vonatkoz feltteleket.


Egy olyan felttelt, amelyik azt biztostja, hogy egy helysznre megrkezzk az ignyelt
mennyisg, keresleti felttelnek neveznk. A Powercnak a kvetkez o ngy keresleti felttelt kell kielgtenie:
x11 + x21 + x31 45

x12 + x22 + x32 20


x13 + x23 + x33 30

x14 + x24 + x34 30

(1. vros keresleti felttele)


(2. vros keresleti felttele)
(3. vros keresleti felttele)
(4. vros keresleti felttele)

Mivel minden xi j -nek nemnegatvnak kell lennie, az eddigiekhez hozzvesszk az x i j


0, (i = 1, 2, 3; j = 1, 2, 3, 4) nemnegativitsi feltteleket.

6.1. A szlltsi feladatok megfogalmazsa

287

Most mr sszefoglalhatjuk a clfggvnyt, a keresleti feltteleket, a knlati feltteleket


s a nemnegativitsi feltteleket, s gy a Powerco feladat kvetkez o LP alakjhoz jutunk el:
min z = 8x11 + 6x12 + 10x13 + 9x14 + 9x21 + 12x22 + 13x23 + 7x24
f.h.

+ 14x31 + 9x32 + 16x33 + 5x34


x11 + x12 + x13 + x14 35
(knlati felttelek)
x21 + x22 + x23 + x24 50
x31 + x32 + x33 + x34 40

x11 + x21 + x31


x12 + x22 + x32
x13 + x23 + x33
x14 + x24 + x34

45
20

(keresleti felttelek)

30
30

xi j 0 (i = 1, 2, 3; j = 1, 2, 3, 4)
A 6.3. alfejezetben ltni fogjuk, hogy ennek az LP-nek az optimlis megoldsa: z =
1020, x12 = 10, x13 = 25, x21 = 45, x23 = 5, x32 = 10, x34 = 30. Az 1. bra a Powerco feladatot s annak optimlis megoldst szemllteti. Az xi j vltozt egy egyenes vagy grbe
vonal kpviseli, amely az i-edik szolgltat helyet (i-edik ero mu) s a j-edik keresleti helyet ( j-edik vros) kti ssze.
1.

BRA

A Powerco feladat grafikus bemutatsa s optimlis megoldsa


Knlati pontok

Keresleti pontok
1. vros

1. erm

2. vros

2. erm

3. vros

3. erm

4. vros

288

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

A szlltsi feladat ltalnos megfogalmazsa


Egy szlltsi feladatban ltalban a kvetkezo informcik szerepelnek:
1. Az m knlati pontbl ll halmaz, mely pontokbl a szllts trtnik. Az i-edik knlati hely legfeljebb si egysget kpes szlltani. A Powerco pldban m = 3, s1 = 35, s2 = 50
s s3 = 40.
2. Az n keresleti (felvevo) pontbl ll halmaz, mely pontokba a szllts trtnik. A
j-edik felvevohelynek legalbb d j egysgnyire van szksge a szlltott rubl. A Powerco
pldban n = 4, d1 = 45, d2 = 20, d3 = 30 s d4 = 30.
3. Minden olyan egysg, amelyet az i-edik knlati helyen lltanak el o s a j-edik felvevohelyre szlltanak, ci j vltoz kltsggel jr. A Powerco pldban c12 = 6.
Legyen
xi j = az i-edik knlati helyrol a j-edik felvevohelyre szlltott egysgek szma.
Ekkor a szlltsi feladat ltalnos formban gy rhat fel:
min

i=m j=n

ci j xi j

i=1 j=1
j=n

f.h.

xi j s i

(i = 1, 2, . . . , m)

(knlati felttelek )

xi j d j

( j = 1, 2, . . . , n)

(keresleti felttelek )

j=1
i=m

(1)

i=1

xi j 0 (i = 1, 2, . . . , m; j = 1, 2, . . . , n)
Ha egy feladatban az (1) alatti felttelek mellett maximalizlni kell, a problmt ebben
az esetben is szlltsi feladatnak nevezzk (lsd az alfejezet vgn a 7. feladatot). Ha
i=m

j=n

i=1

j=1

si = d j

akkor a teljes knlat egyenlo a teljes kereslettel. Ilyenkor a problmt kiegyenslyozott szlltsi feladatnak nevezzk. A magyar nyelvu szakknyvekben tallkozhatunk a
klasszikus szlltsi feladat elnevezssel is.
A Powerco feladatban az sszkereslet s az sszknlat is 125 egysg, teht ez egy kiegyenslyozott szlltsi feladat. Egy ilyen feladatban az sszes felttelnek aktv felttelnek
kell lennie. Ha pldul a Powerco feladatban valamelyik knlati felttel nem lenne aktv,
akkor a rendelkezsre ll elektromos energia nem lenne elegend o a ngy vros ignyeinek
kielgtsre. Egy kiegyenslyozott szlltsi feladat (1) a kvetkez o kppen rhat fel:
min

i=m j=n

ci j xi j

i=1 j=1
j=n

f.h.

xi j = s i

(i = 1, 2, . . . , m)

(knlati felttelek)

xi j = d j

( j = 1, 2, . . . , n)

(keresleti felttelek)

j=1
i=m
i=1

xi j 0 (i = 1, 2, . . . , m; j = 1, 2, . . . , n)

(2)

6.1. A szlltsi feladatok megfogalmazsa

289

Ebben a fejezetben ksobb ltni fogjuk, hogy viszonylag egyszeruen juthatunk el egy
kiegyenslyozott szlltsi feladat egy lehetsges megoldshoz. Ugyancsak leegyszerusti
a szmtsokat az is, hogy a szlltsi szimplex mdszerben nem kell szorozni s osztani,
elg sszeadni s kivonni. Ez j ok arra, hogy egy szlltsi feladatot lehet o sg szerint
kiegyenslyozott szlltsi feladat formjban fogalmazzunk meg.

A szlltsi feladat kiegyenslyozsa akkor, ha az sszknlat


meghaladja az sszkeresletet
Ha az sszknlat meghaladja az sszkeresletet, akkor a szlltsi feladatot gy tudjuk kiegyenslyozni, hogy egy olyan fiktv keresleti pontot konstrulunk, amelynek az ignye
ppen a felesleges knlati mennyisggel egyenlo . Mivel a fiktv keresleti pontra (felvevo
helyre) val szlltsok nem valdi szlltsok, ezekhez nulla szlltsi kltsget rendelnk.
A fiktv keresleti helyre val szlltsok a fel nem hasznlt knlatot jelzik. Illusztrljuk
egy fiktv felvevohely rtelmezst a kvetkezokppen: tegyk fl, hogy a Powerco feladatban az 1. vros kereslete csak 40 milli kWh lenne. A Powerco feladat kiegyenslyozsra bevezetnk egy fiktv keresleti pontot (5-s pont), amelynek 125 120 = 5 milli
kWh kereslete van. Az egyes ero muvekbol 1 milli kWh ram szlltsa a fiktv helyre
0 kltsggel jr. Ennek a kiegyenslyozott szlltsi feladatnak az optimlis megoldsa:
z = 975, x13 = 20, x12 = 15, x21 = 40, x23 = 10, x32 = 5, x34 = 30 s x35 = 5. Mivel x35 = 5,
a 3-as eromu knlatbl 5 milli kWh felhasznlatlan marad (lsd a 2. brt).
2.

BRA

A kiegyenslyozatlan Powerco feladat grafikus bemutatsa az optimlis megoldssal s a


fiktv keresleti ponttal
Knlati pontok

Keresleti pontok
1. vros

1. erm

2. vros

2. erm

3. vros

3. erm

4. vros

Fiktv
keresleti
pont

290

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

Egy szlltsi feladatot a knlat, a kereslet s a szlltsi kltsgek hatroznak meg.


A megfelelo adatok jl sszefoglalhatk egy gynevezett szlltsi tblzatban (lsd 2.
tblzat). Mindegyik xi j vltozhoz a szlltsi tblzat i-edik sorban s j-edik oszlopban
egy kis ngyszg vagy cella tartozik. Ha xi j bzisvltoz, akkor annak rtke a tblzat
ij-edik celljnak bal als sarkban lthat. Pldul a kiegyenslyozott Powerco feladat,
s annak optimlis megoldsa bemutathat gy, ahogyan az a 3. tblzatban lthat. A
tblzati forma kimondatlanul is kifejezi a knlati s keresleti feltteleket gy, hogy az
i-edik sorban a vltozk sszegnek si -nek, a j-edik oszlopban pedig a vltozk sszegnek
d j -nek kell lennie.
2.

TBLZAT

Knlat

Egy szlltsi
tblzat

c11

c12

c1n
s1

c21

c22

c2n
s2

cm1

cm2

cmn
sm

Kereslet

3.

TBLZAT

A Powerco
szlltsi tblzata

d1

d2

1. vros

2. vros
8

10

12

Knlat
9
35

13

5
14

20

50
16

10
45

4. vros

25

45

3. erm
Kereslet

3. vros

10

1. erm

2. erm

dn

5
30

30

40

30

A szlltsi feladat kiegyenslyozsa akkor, ha az sszknlat


kevesebb, mint az sszkereslet
Ha egy szlltsi feladatban a teljes knlat szigoran kisebb, mint a teljes kereslet, akkor a
feladatnak nincs lehetsges megoldsa. Pldul, ha az 1. er o mu kapacitsa csak 30 milli
kWh lenne, akkor az sszes rendelkezsre ll kapacits csak 120 milli kWh lenne. Az
ilyen mennyisgu elektromos energia nem elegendo a 125 milli kWh sszkereslet kielgtsre, s gy a Powerco feladatnak nem lenne lehetsges megoldsa.
Amikor az sszknlat kisebb, mint az sszkereslet, nhny esetben kvnatos azt a lehetosget megengedni, hogy a kereslet egy rsze kielgtetlen maradjon. Ilyen helyzetben

6.1. A szlltsi feladatok megfogalmazsa

291

a kielgtetlen kereslet gyakran bnteto kltsggel jr. A 2. plda bemutatja, hogy az ilyen
helyzetbol miknt juthatunk egy kiegyenslyozott szlltsi feladathoz.

2.

4.

PLDA

Kt vztrol ll rendelkezsre ahhoz, hogy hrom vros vzszksglett kielgtse. Mindkt vztrol naponta 50 milli kbmter vizet kpes szolgltatni. Mindegyik vrosnak
naponta 40 milli kbmter vzre lenne szksge. Minden milli kbmter kielgtetlen
kereslet bntetokltsggel jr. Az 1. vrosban a bnteto kltsg 20$, a 2. vrosban 22$, a 3.
vrosban pedig 23$. 1 milli kbmter vz szlltsi kltsge a vztrolkbl az egyes vrosokba a 4. tblzatban lthat. Fogalmazzunk meg egy kiegyenslyozott szlltsi feladatot
gy, hogy minimalizljuk a hinybl add, valamint a szlltsi kltsgeket!

TBLZAT

Szlltsi
kltsgek ($) a
vztrolkhoz

Megolds

Hov
Honnan

1. vros

2. vros

3. vros

1. vztrol
2. vztrol

7
9

8
7

10
8

Ebben a feladatban
napi knlat = 50 + 50 = 100 milli kbmter naponta
napi igny = 40 + 40 + 40 = 120 milli kbmter naponta
A feladat kiegyenslyozsra bevezetnk egy fiktv (vagy hiny) knlati pontot, amelynek 120 100 = 20 milli kbmter a napi knlata. 1 milli kbmter vz szlltsnak
kltsge a fiktv knlati helyrol egy vrosba ppen az arra a vrosra vonatkoz, a hinybl
fellpo bntetokltsg, milli kbmterenknt. Az 5. tblzat mutatja a kiegyenslyozott
szlltsi feladatot s annak optimlis megoldst. Az 1. trol szlltson naponta 20 milli
kbmtert az 1. vrosba s 30 milli kbmtert naponta a 2. vrosba, mg a 2. trol szlltson naponta 10 milli kbmtert a 2. vrosba s 40 milli kbmtert a 3. vrosba. Az 1.
vrosban naponta 20 milli kbmter vzigny kielgtetlen marad.

5. T B L Z A T
Szlltsi tblzat
a vztrolkhoz

1. vros
7
1. vztrol

20

50
7

10
20

Kereslet

8
40

22

50
23

20
40

Knlat

10

30

2. vztrol

Fiktv knlati pont

3. vros

2. vros

20
40

40

292

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

Kszletezsi problmk modellezse szlltsi feladatknt


Sok kszletezsi, raktrozstervezsi feladat modellezheto kiegyenslyozott szlltsi feladat formjban. Ennek bemutatsra most a 3.10. alfejezet Sailco problmjt megfogalmazzuk kiegyenslyozott szlltsi feladatknt.

3.

PLDA

Megolds

A Sailco vllalatnak el kell dntenie, hogy a kvetkez o ngy negyedv mindegyikben


hny vitorls hajt gyrtson. Az ignyek a kvetkezo k: 40 vitorls az elso negyedvben;
60 vitorls a msodik negyedvben; 75 vitorls a harmadik negyedvben; 25 vitorls a negyedik negyedvben. A Sailcnak azonnal ki kell elgtenie az ignyeket. Az els o negyedv
elejn a Sailco kszlete 10 vitorls. Minden negyedv elejn a Sailcnak el kell dntenie,
hogy abban a negyedvben hny vitorlst gyrtson. Az egyszerusg kedvrt felttelezzk,
hogy egy bizonyos negyedvben legyrtott vitorls felhasznlhat a foly negyedvi kereslet kielgtsre. Minden negyedvben a Sailco legfeljebb 40 vitorlst tud gyrtani rendes
munkaidoben (RM), ezek kltsge egyenknt 400$. Valamely negyedvben a Sailco mg
elo tud lltani vitorlsokat gy, hogy alkalmazottait tlmunkaid o ben dolgoztatja (TM). Ekkor a kltsg vitorlsonknt 450$. Az egyes negyedvek vgn (miutn a gyrts lezajlott,
s a foly ignyeket kielgtettk) vitorlsonknt 20$ trolsi kltsg lp fel. Fogalmazzunk meg egy kiegyenslyozott szlltsi feladatot gy, hogy minimalizljuk a termelsi s
raktrozsi kltsgeket a kvetkezo ngy negyedvre!
Definiljuk a knlatot s keresletet a kvetkezo kppen:
1. pont = kezdokszlet (s1 = 10)
2. pont = elso negyedvi norml munkaido beli (RM) gyrts (s2 = 40)
3. pont = elso negyedvi tlmunkaidos (TM) gyrts (s3 = 150)
knlati
pontok

4. pont = msodik negyedvi RM gyrts


(s4 = 40)
5. pont = msodik negyedvi TM gyrts (s5 = 150)
6. pont = harmadik negyedvi RM gyrts (s6 = 40)
7. pont = harmadik negyedvi TM gyrts (s7 = 150)
8. pont = negyedik negyedvi RM gyrts (s8 = 40)
9. pont = negyedik negyedvi TM gyrts (s9 = 150)

Minden olyan forrshoz, amelybo l a vitorlsok irnti igny kielgtheto , tartozik egy
knlati pont:
1. pont = elso negyedvi kereslet
keresleti
pontok

(d1 = 40)

2. pont = msodik negyedvi kereslet


3. pont = harmadik negyedvi kereslet

(d2 = 60)
(d3 = 75)

4. pont = negyedik negyedvi kereslet


(d4 = 25)
5. pont = fiktv keresleti pont
(d5 = 770 200 = 570)

Az elso negyedv norml munkaido s termelsbol a harmadik negyedvi igny kielgtsre vonatkoz egysgnyi szllts itt pldul azt jelenti, hogy 1 olyan egysget kell
gyrtani az elso negyedvben, amelyik a 3. negyedv 1 egysgnek kielgtsre szolgl.
Pldul a c13 meghatrozshoz azt kell szrevennnk, hogy egy egysg el o lltsa az elso
negyedvben, rendes munkaido ben, s ennek az egysgnek a 3. negyedvi eladsa a kvetkezo kltsgekkel jr: az 1 egysg termelse az 1. negyedvben norml munkaid o ben,
plusz az egysg trolsi kltsge 3 1 = 2 negyedven t. gy c 13 = 400 + 2(20) = 440.

6.1. A szlltsi feladatok megfogalmazsa

293

Mivel a tlrban trtno termels egyik negyedvben sincs korltozva, nem vilgos,
hogy milyen rtket kell vlasztani az egyes tlmunkaido s knlati pontokhoz. Mivel az
sszkereslet = 200, legfeljebb 200 10 = 190 (a 10 a kezdeti kszletb o l addik) egysget kell elolltani brmelyik negyedvben. Mielo tt brmely egysget tlmunkaido ben
lltannak elo, elobb 40 egysget le kell gyrtani norml munkaido ben. Ezltal a tlmunkaidos termels egyik negyedvben sem haladhatja meg a 190 40 = 150 egysget. A fel
nem hasznlt tlmunkaidos kapacits a fiktv keresleti pontra lesz elszlltva. Biztostanunk kell, hogy ne trtnjen meg az, hogy a keresletet mg le nem gyrtott vitorlssal
elgtik ki. Ebbol a clbl bevezetnk egy M kltsget (M egy nagy pozitv szm), s ezt
rendeljk hozz minden olyan cellhoz, amelyik ilyen esethez tartozik.
Az sszknlat = 770 s az sszkereslet = 200, gy be kell vezetnnk egy fiktv keresleti
pontot 770 200 = 570 egysg kereslettel, kiegyenslyozva a feladatot. Brmely knlati
pontrl a fiktv keresleti pontra trtno egy egysgnyi szllts kltsge 0.
Ezeket a megfontolsokat sszegezve egy kiegyenslyozott szlltsi feladatot kapunk,
amely az optimlis megoldssal egytt a 6. tblzatban lthat. gy a Sailcnak a kvetkezoket kell tennie: az 1. negyedv ignyeit a 10 egysg kezdeti kszletb o l s az 1. negyedv
RM-ben gyrtott 30 egysggel elgti ki; a msodik negyedv ignyeinek kielgtse 10
egysg elso negyedvi RM, 40 egysg msodik negyedvi RM s 10 egysg msodik ne6. T B L Z A T
Szlltsi tblzat
a Sailco feladathoz

2
0

Kezdkszlet

20

Fiktv keresleti
pont
Knlat

4
40

60

10

30

420

440

460

10
450

40
470

490

510

1. negyedvi TM

0
150

400

M
2. negyedvi RM

420

440

150
0

40

2. negyedvi TM

40
450

470

490

10
M

0
140

400

3. negyedvi RM

420

150
0

40
M

40
450

3. negyedvi TM

470

35
M

400

M
25

0
115

4. negyedvi RM

15

60

75

25

40
0

150
40

150
0

450

4. negyedvi TM
Kereslet

10
400

1. negyedvi RM

570

150

294

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

gyedvi TM termelsol trtnik; a harmadik negyedv ignyeit 40 egysg 3. negyedvi


RM s 35 egysg 3. negyedvi TM termelsbo l kell kielgteni; s vgl a 4. negyedv
ignyeit 25 egysg 4. negyedvi RM termelsbo l elgti ki.
Az alfejezet vgn a 12. feladatban megmutatjuk, hogy ez a megfogalmazs hogyan mdosthat, ha a kszletezsi problmk ms szempontjait (ksleltetett kereslet, romlkony
ru, stb.) is figyelembe kvnjuk venni.

Feladatok
A csoport
1. Egy vllalat hrom fogyasztnak szllt termkeket,
mindegyiknek 30 egysget. A vllalatnak kt raktra van.
Az 1. raktrban 40 egysg, a 2. raktrban pedig 30 egysg ll rendelkezsre. A 7. tblzatban lthatk a raktrakbl a fogyasztkhoz trtno szlltsok egysgkltsgei ($ban). Minden egyes kielgtetlen fogyaszti keresletegysghez brsg tartozik: az 1. vevonl 90$ brsgkltsg van; a
2. vevonl 80$; a 3. vevonl 110$. Fogalmazzon meg egy
kiegyenslyozott szlltsi feladatot a hinykltsgek s a
szlltsi kltsgek minimalizlsra!
7.

TBLZAT

fajta) gyrtshoz mennyi ido kell, s az is, hogy az egyes


gyrakban mennyibe kerl a klnbzofle aclok 1 tonnjnak gyrtsa. Minden hten mindegyik fajta aclbl 100
tonnnyit lehet elolltani. Minden gyrtelep heti 40 rt
dolgozik.
8.

Kltsgek ($)
1. gyr
2. gyr
3. gyr

Hov
Honnan

3. vevo

1. vevo

2. vevo

1. raktr
2. raktr

15
10

35
50

25
40

2. Hivatkozva az 1. feladatra, tegyk fl, hogy a vllalat egysgenknt 100 dollrrt megvsrolhat s raktraiba
szllthat termkegysgeket, msrszt pedig, hogy ki kell
elgteni az sszes ignyt. Fogalmazzon meg egy kiegyenslyozott szlltsi feladatot az extra vsrlsi s szlltsi
kltsgek minimalizlsra!
3. Egy cipogyr elorejelzse szerint a kvetkezo hat hnapban a kereslet gy alakul: az 1. hnapban 200; a 2. hnapban 260; a 3. hnapban 240; a 4. hnapban 340; az 5.
hnapban 140; a 6. hnapban 150. 7 dollrba kerl egy pr
cipo elolltsa norml munkaidoben (RM), s 11 dollrba
kerl tlmunkaidoben (TM). Mindegyik hnapban norml
munkaidoben legfeljebb 200 pr cipot, tlmunkaidoben legfeljebb 100 pr cipot lehet elolltani. Havonta 1 dollrba
kerl egy pr cipo trolsa a raktrban. Fogalmazzon meg
egy olyan kiegyenslyozott szlltsi feladatot az sszkltsg minimalizlsra, ahol a kltsgek a kvetkezo hat hnap keresletnek azonnali kielgtsbol addnak!
4. A Steelco hromfle aclt gyrt klnbzo gyrakban.
A 8. tblzatbl kiolvashat, hogy 1 tonna acl (brmelyik

TBLZAT

1. acl

2. acl

3. acl

ido (percben)

60
50
43

40
30
20

28
30
20

20
16
15

(a) Fogalmazzon meg egy kiegyenslyozott szlltsi


feladatot a Steelco heti gyrtsi kvetelmnyeihez tartoz kltsgek minimalizlsra!
(b) Tegyk fl, hogy az egy tonna acl elolltshoz
szksges ido fgg az acl fajtjtl is, nemcsak attl,
hogy melyik gyrtelepen gyrtjk (lsd 9. tblzat). Meg
lehet-e ezt a problmt fogalmazni szlltsi feladatknt?
9.

TBLZAT

Ido (percben)
1. gyr
2. gyr
3. gyr

1. acl

2. acl

3. acl

15
15
10

12
15
10

15
20
15

5. Egy romlkony orvossgbl 3 litert kell vsrolnia egy


krhznak a foly havi felhasznlsra, s 4 litert a kvetkezo hnapra. Mivel az orvossg romlkony, csak a vsrls
hnapjban hasznlhat fel. Kt vllalat (Daisy s Laroach)
rulja az orvossgot. Az orvossgbl hiny van. Ezltal a
kvetkezo kt hnapban a krhz korltozottan vsrolhat,
legfeljebb 5 litert mindegyik cgtol. A 10. tblzatban lthatk a havi literenknti rak az egyes cgeknl. Fogalmazzon
meg egy kiegyenslyozott szlltsi modellt a szksges orvossg beszerzsi kltsgnek minimalizlsra!

6.1. A szlltsi feladatok megfogalmazsa


10.

12.

TBLZAT

Daisy
Laroach

E havi
r ($)
literenknt

Jvo havi
r ($)
literenknt

800
710

720
750

6. Egy banknak kt irodja foglalkozik csekkek feldolgozsval. Az 1. helysznen naponta 10 000 csekket tudnak
feldolgozni, a 2. helysznen naponta 6000 csekket dolgoznak fel. A bank hromfle csekk feldolgozst intzi: eladi,
fizetsi s szemlyi csekkekt. A feldolgozsi kltsg fgg a
helyszntol (lsd 11. tblzat). Minden nap mindegyik tpusbl 5000 csekket kell feldolgozni. Fogalmazzon meg egy kiegyenslyozott szlltsi feladatot a csekkfeldolgozs napi
kltsgnek a minimalizlsra!
11.

TBLZAT

Eladi csekk
Fizetsi csekk
Szemlyi csekk

1. helyszn

2. helyszn

5c/
4c/
2c/

3c/
4c/
5c/

7.2 Az Egyeslt llamok kormnya elrverezi kt fldterlet olajbrleti szerzodst. Legyenek ezek: 1. fldterlet s 2. fldterlet. Mindkt fldterleten 100 000 hektr fldet lehet brelni. Cliff Ewing, Blake Barnes s Alexis Pickens licitlnak az olajra. A kormny ltal bevezetett
szablyok rtelmben egy-egy licitl az rverezett fldnek
legfeljebb 40%-t kaphatja meg. Cliff licitje 1000$/hektr
az 1. fldterletrt s 2000$/hektr a 2. fldterletrt. Blake
licitjei: 900$/hektr az 1. fldterlet fldjrt s 2200$/hektr a 2-es fldterlet fldjrt. Alexis pedig 1100$/hektr
licitet adott az 1. fldterlet fldjrt s 1900$/hektr licitet
a 2. fldterletrt. Fogalmazzon meg egy kiegyenslyozott
szlltsi modellt a kormny bevtelnek maximalizlsra!
8. Az Ayatola Oil Company kt olajmezo fltt rendelkezik. Az 1. mezo naponta legfeljebb 40 milli hord olajat termel, a 2. mezonl pedig a termels flmehet napi 50
milli hord olajra is. Az 1. olajmezon egy hord olaj kitermelse s finomtsa 3 dollrba kerl, a 2. olajmezonl ez
a kltsg 2$. Ayatola kt orszgnak adja el az olajat: Anglinak s Japnnak. A 12. tblzatban a szlltsi kltsgek
lthatk ($-ban). Anglia naponta legfeljebb 40 milli hordval (hordnknt 6$-rt) vsrolna, Japn pedig naponta
30 milli hord olajat (hordnknt 6.50$-rt) venne meg.
Fogalmazzon meg egy kiegyenslyozott szlltsi feladatot
Ayatola profitjnak maximalizlsra!
2 Jackson
3 Glassey

(1980) alapjn.
s Gupta (1974) alapjn.

295

TBLZAT

Hov
Honnan

Anglia

Japn

1. mezo
2. mezo

1
2

2
1

9. Ennek az alfejezetnek a pldival s feladataival kapcsolatban vizsglja meg, hogy sszeru-e felttelezni azt,
hogy a clfggvnyre teljesl az arnyossgi feltevs!
10. A Touche Youngnak hrom knyvvizsglja van.
Mindegyikk legfeljebb 160 rt tud dolgozni a kvetkezo
hnapban, s ezalatt hrom projektet kell befejezni. Az 1.
projekt idoszksglete 130 ra, a 2. projekt 140 ra, a 3.
projekt 160 ra. A 13. tblzatban lthat, hogy az egyes
knyvvizsglk mennyit szmlzhatnak az egyes projektekrt ($-ban). Fogalmazzon meg egy kiegyenslyozott szlltsi feladatot a kvetkezo hnapra a szmlzsi sszegek
maximalizlsra!
13.

TBLZAT

Projekt
Knyvvizsgl

1
2
3

120
140
160

150
130
140

190
120
150

B csoport
11.3 A Paperco jsgpapr, rtegelt papr s nemrtegelt papr jrafeldolgozst vgzi. Az eredmny jrafeldolgozott
jsgpapr, jrafeldolgozott rtegelt papr s jrafeldolgozott nemrtegelt papr. Az jrafeldolgozott jsgpaprt jsgpapr s nemrtegelt papr feldolgozsval lltjk elo.
Az jrafeldolgozott rtegelt papr brmelyik fajta papr feldolgozsval elollthat. Az jrafeldolgozott nemrtegelt
papr elolltsa rtegelt vagy nemrtegelt papr feldolgozsval nyerheto. Az jrafeldolgozott jsgpapr elolltsakor alkalmazott eljrs az import masszjnak 20%-t elviszi, ezltal az input masszjnak 80%-a marad meg az jrafeldolgozott papr cljra. Az jrafeldolgozott rtegelt papr
elolltsra alkalmazott eljrsban elvsz az input masszjnak 10%-a. Az jrafeldolgozott nemrtegelt papr elolltsra alkalmazott eljrsnl az input masszjnak 15%-a
a vesztesg. A 14. tblzat mutatja a vsrlsi kltsgeket,
a feldolgozsi kltsgeket, valamint a rendelkezsre ll

296
14.

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok


TBLZAT

A paprmassza
tonnnknti
vtelra ($)
jsgpaprmassza
Rtegelt paprmassza
Nemrtegelt paprmassza
jsgpaprbl jrafeldolgozott jsg
jsgpaprbl jrafeldolgozott rtegelt
Nemrtegeltbol jrafeldolgozott jsg
Nemrtegeltbol jrafeldolgozott nemrtegelt
Nemrtegeltbol jrafeldolgozott rtegelt
Rtegeltbol jrafeldolgozott nemrtegelt
Rtegeltbol jrafeldolgozott rtegelt

mennyisgeket az egyes paprflkbol. Az ignyek kielgtshez a Papercnak legalbb 250 tonna jrafeldolgozott
jsgmasszt, legalbb 300 tonna jrafeldolgozott nemrtegelt masszt s legalbb 150 tonna jrafeldolgozott rtegelt paprmasszt kell elolltania. Fogalmazzon meg egy
kiegyenslyozott szlltsi feladatot, amellyel a Paperco az
ignyek kielgtsnek kltsgeit minimalizlhatja!
12. Magyarzza meg, hogy a kvetkezok hogyan mdostjk a Sailco problma kiegyenslyozott szlltsi feladatknt trtno megfogalmazst:

6.2.

Az inputmassza
tonnnknti
feldolgozsi
kltsge ($)

10
9
8

Rendelkezsre
ll mennyisg

500
300
200
3
4
4
1
6
5
3

(a) Tegyk fl, hogy a kereslet kielgtse ksleltetheto,


havonta s vitorlsonknt 30$ kltsgggel. (tmutats:
Ez azt jelenti, hogy gy megengedheto pldul egy msodik havi gyrts tvitele elso havi keresletbe.)
(b) Ha egy vitorlsra val ignyt nem tudnak idoben kielgteni, akkor az zlet nem jn ltre s 450$ vesztesg
ll elo.
(c) A vitorlsokat legfeljebb kt hnapig szabad trolni.
(d) A Sailco havonta legfeljebb 10 vitorlst vsrolhat
is egy alvllalkoztl, hajnknt 440$-rt.

Lehetsges bzismegolds elolltsa


a szlltsi
feladatban
Tekintsnk egy kiegyenslyozott szlltsi feladatot m knlati s n keresleti ponttal. A
(2)-bol lthat, hogy egy ilyen feladat felrsban m + n egyenlo sgi felttel van. A nagy
M mdszerrel s a ktfzis szimplex mdszerrel kapcsolatban szerzett tapasztalatainkbl
tudjuk, hogy elg bonyolult egy lehetsges bzismegoldst tallni akkor, ha az LP sszes
felttele egyenlosg. Szerencsre a kiegyenslyozott szlltsi feladat specilis szerkezete
nagyon megknnyti a lehetsges bzismegolds elo lltst.
Mielott a lehetsges bzismegolds megkeressre ltalban hasznlt hrom mdszert
lernnk, egy lnyeges megfigyelst tesznk. Ha az xi j rtkek halmaza egy kivtelvel
kielgti a kiegyenslyozott szlltsi feladat feltteleit, akkor az xi j rtkek automatikusan
kielgtik azt az egy felttelt is. Pldul tegyk fel, hogy a Powerco feladatban tudjuk, hogy
egy xi j rtkhalmaz kielgti az sszes felttelt, kivve az elso knlati felttelt. Ekkor az
xi j -knek ez a halmaza d1 + d2 + d3 + d4 = 125 milli kWh-t szllt az 14. vrosokba s
s2 + s3 = 125 s1 = 90 milli kWh-t szllt el a 2. s 3. ero muvekbol. gy az 1. eromunl
125(125s1) = 35 milli kWh megmarad, ezltal teht az xi j -k kielgtik az elso knlati
felttelt is.


6.2. Lehetsges bzismegolds elolltsa
a szlltsi feladatban

297

A fenti okoskods azt mutatja, hogy amikor egy kiegyenslyozott szlltsi feladatot
oldunk meg, akkor figyelmen kvl hagyhatunk egy tetsz o legesen kivlasztott felttelt, s
megoldhatjuk az LP-t m + n 1 felttellel. Felttelezzk (nknyesen), hogy az els o knlati felttelt hagyjuk figyelmen kvl.
Amikor a megmaradt m + n 1 felttelhez egy lehetsges bzismegoldst keresnk,
azt hihetnnk, hogy brmely m + n 1 darab vltoz egyttese bzismegoldst ad. Sajnos
ez nem gy van. Pldul tekintsk a (3) szerint felrt kiegyenslyozott szlltsi feladatot.
(Nem tntetjk fel a kltsgeket, mert ezek nem szksgesek a lehetsges bzismegolds
megkeresshez.)
4
5
3

Ez a kiegyenslyozott szlltsi feladat mtrix formban gy rhat fel:

x

1 1 1 0 0 0 11
4
0 0 0 1 1 1 x12 5


1 0 0 1 0 0 x13 = 3

x21
2
0 1 0 0 1 0
x22
0 0 1 0 0 1
4
x23

(3)

(30 )

Az elso knlati felttel elhagysa utn a kvetkezo lineris egyenletrendszert kapjuk:

x11

0 0 0 1 1 1
5
x12
1 0 0 1 0 0 x13 3


(300 )
0 1 0 0 1 0 x21 = 2

0 0 1 0 0 1 x22
4
x23

A (300 ) egy bzismegoldsban ngy bzisvltoznak kell lennie. Tegyk fel, hogy a
BV = {x11 , x12 , x21 , x22 } halmazzal prblkozunk. Ekkor

0 0 1 1
1 0 1 0

B=
0 1 0 1
0 0 0 0

Ahhoz, hogy {x11 , x12 , x21 , x22 } bzismegoldst adjon, meg kellene lennie annak a lehetosgnek, hogy B-t esm-ek segtsgvel I4 -gy alaktsuk. Mivel B rangja = 3, s az esm-ek
nem vltoztatjk meg a mtrix rangjt, nincs md arra, hogy B-t esm-ek segtsgvel I4 gy alaktsuk. gy a BV = {x11 , x12 , x21 , x22 } a (300 )-nek nem bzismegoldsa. Szerencsre
egy hurok elnevezsu egyszeru fogalom alkalmazhat annak eldntsre, hogy egy tetszoleges m + n 1 vltozbl ll halmaz bzismegoldsa-e a kiegyenslyozott szlltsi
feladatnak, vagy sem.

298

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

D EFINCI

Huroknak neveznk egy legalbb ngy klnbzo cellbl ll rendezett sorozatot, ha


1. brmely kt egymsutn kvetkezo cella vagy ugyanabban a sorban, vagy ugyanabban az oszlopban fekszik;
2. hrom egymsutn kvetkezo cella nem fekszik ugyanabban a sorban vagy oszlopban;
3. a sorozat utols cellja a sorozat elso celljval vagy kzs sorban, vagy kzs
oszlopban fekszik.

A hurok defincijban az elso cella kveti az utols cellt, gy a hurok egy zrt tnak tekintheto. lljon itt nhny plda a fenti defincira: a 3. bra a (2, 1)(2, 4)(4, 4)
(4, 1) hurkot mutatja; a 4. bra az (1, 1)(1, 2)(2, 2)(2, 3)(4, 3)(4, 5)(3, 5)(3, 1) hurkot mutatja. Az 5. brn lthat (1, 1)(1, 2)(2, 3)(2, 1) tvonal nem hurok, mert (1, 2)
s (2, 3) nem fekszik sem ugyanabban a sorban, sem ugyanabban az oszlopban. A 6. brn
az (1, 2)(1, 3)(1, 4)(2, 4)(2, 2) tvonal szintn nem hurok, mert (1, 2), (1, 3), s (1, 4)
ugyanabban a sorban vannak.
3.

BRA

4.

BRA

5.

BRA

6.

BRA


6.2. Lehetsges bzismegolds elolltsa
a szlltsi feladatban

299

Az 1. ttel (amelyet bizonyts nlkl kzlnk) megmutatja, hogy mirt fontos a hurok
fogalma.

1. TTEL

Egy kiegyenslyozott szlltsi feladatban, amelyben m knlati pont s n keresleti


pont van, egy m + n 1 vltozbl ll halmazhoz tartoz cellk akkor s csak akkor
nem tartalmaznak hurkot, ha ez az m + n 1 vltoz egy bzismegoldst ad.
Az 1. ttel abbl a tnybol kvetkezik, hogy az m + n 1 cella akkor s csak akkor nem
tartalmaz hurkot, ha az ezekhez a cellkhoz tartoz m + n 1 oszlop linerisan fggetlen.
Mivel (1, 1)(1, 2)(2, 2)(2, 1) egy hurok, az 1. ttel rtelmben {x 11 , x12 , x22 , x21 } nem
adhat bzismegoldst (300 ) szmra. Msrszt viszont az (1, 1)(1, 2)(1, 3)(2, 1) cellkbl nem lehet hurkot kialaktani, gy {x11 , x12 , x13 , x21 } a (300 )-nek egy bzismegoldsa.
Most mr kszen llunk hrom olyan mdszer megtrgyalsra, amelyek segtsgvel
lehetsges bzismegoldst tallhatunk egy kiegyenslyozott szlltsi feladathoz. Ezek:
1.

szaknyugati sarok mdszer.

2.

Minimlis kltsgek mdszere.

3.

Vogel mdszer.

szaknyugati sarok mdszer egy lehetsges bzismegolds

elolltsra
Az szaknyugati sarok mdszer egy lehetsges bzismegolds megkeressre gy kezd o dik, hogy a szlltsi tblzat bal felso (vagyis szaknyugati) sarkban x11 -et olyan nagynak
vlasztjuk, amennyire csak lehetsges. Magtl rteto do, hogy x11 nem lehet nagyobb, mint
s1 s d1 kzl a kisebbik. Ha x11 = s1 , trljk a szlltsi tblzat elso sort; ezzel jelezzk,
hogy az elso sorbl mr nem kaphatunk tbb bzisvltozt. Ezenkvl d 1 -et d1 s1 -re vltoztatjuk. Ha x11 = d1 , trljk a szlltsi tblzat elso oszlopt; ezzel azt jelezzk, hogy
az elso oszlopbl nem kaphatunk tbb bzisvltozt. Ezenkvl mg s 1 helyre s1 d1-et
runk. Ha x11 = s1 = d1 , akkor tetszoleges mdon vagy az elso sort vagy az elso oszlopot
trljk (de nem mind a kettot). Ha az elso sort trltk, akkor d1 helybe 0-t runk; ha az
elso oszlopot trltk, akkor s1 helybe 0-t runk.
Az eljrst azzal a legszaknyugatibb cellval folytatjuk, amelyik egy nem trlt sorban
vagy oszlopban fekszik. Vgl eljutunk egy ponthoz, amikor mr csak egyetlen olyan cella
van, amelyikhez rtket rendelhetnk. Ehhez a cellhoz hozzrendeljk a sor, vagy oszlopkeresletet, s a cella sort is s oszlopt is trljk. gy egy lehetsges bzismegoldst
kaptunk.
Az szaknyugati sarok mdszer alkalmazst a 15. tblzattal kezd o doen mutatjuk be,
ezeken a tblzatokon keresztl tallunk a kiegyenslyozott szlltsi feladathoz egy lehetsges bzismegoldst. (Nem rjuk fel a kltsgeket, mert ezek nem szksgesek az algoritmus alkalmazshoz.) Egy sor vagy oszlop trlst gy jelljk, hogy a sor knlatnak,
vagy az oszlop keresletnek helyre egy -et runk.
Kezdolpsknt legyen x11 = min {5, 2} = 2. Ezutn trljk az elso oszlopot s s1
helyre 5 2 = 3-at runk. Ez lthat a 16. tblzatban. A megmaradt vltozk kzl a legszaknyugatibb az x12 . gy teht x12 a kvetkezo rtket kapja: x12 = min {3, 4} = 3. Most
trljk az elso sort, s d2 helyre 4 3 = 1-et runk. Ez a 17. tblzatot adja. A rendelkezsre ll legszaknyugatibb vltoz most x22 . Ennek az x22 = min {1, 1} = 1 rtket adjuk.
Mivel az ehhez a cellhoz tartoz kereslet s knlat egyenlo , trljk a msodik sort, vagy

300
15.

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok


TBLZAT

5
1

3
2

16.

TBLZAT

17.

TBLZAT

a msodik oszlopot (de nem mind a ketto t). Minden klnsebb ok nlkl azt vlasztjuk,
hogy a msodik sort trljk. Ekkor d2 -t meg kell vltoztatni: 1 1 = 0-ra. Az eredmny
a 18. tblzatban lthat. A kvetkezo lps egy degenerlt lehetsges bzismegoldshoz
vezet.
18.

TBLZAT

A rendelkezsnkre ll legszaknyugatibb cella most az x 32 , gy ennek rtkt kijelljk: x32 = min {3, 0} = 0. Ezutn trljk a msodik oszlopot s s3 -at megvltoztatjuk
3 0 = 3-ra. Az eredmny a 19. tblzat. Most mr x33 kvetkezik: x33 = min {3, 2} = 2.


6.2. Lehetsges bzismegolds elolltsa
a szlltsi feladatban

301

Ezutn trljk a harmadik oszlopot, s redukljuk s3 -at 3 2 = 1-re. Ennek eredmnye a


20. tblzatban lthat. Az egyetlen rendelkezsre ll cella az x 34 . Belltjuk x34 rtkt
is: x34 = min {1, 1} = 1. Ezutn trljk a harmadik sort s a negyedik oszlopot. Mivel mr
nincs tbb cella, az eljrst befejeztk. Megkaptuk a lehetsges bzismegoldst, amelyben
x11 = 2, x12 = 3, x22 = 1, x32 = 0, x33 = 2, x34 = 1.
19.

TBLZAT

20.

3
2

TBLZAT

1
1

A krds az, hogy mirt ad az szaknyugati sarok mdszer egy lehetsges bzismegoldst? A mdszer biztostja, hogy bzisvltoznak biztosan nem adunk negatv rtket
(mivel a felttelek egyiknek sem negatv a jobb oldala). Ezenkvl biztostja azt is, hogy
minden egyes knlati s keresleti felttel ki legyen elgtve (minthogy minden sor s oszlop vgl is trlve lett). gy az szaknyugati sarok mdszer egy lehetsges megoldst ad.
Az szaknyugati sarok mdszer befejezshez m + n sort s oszlopot kellett trlnnk. Mivel a legutols rtk, amit egy vltoznak adunk, azt eredmnyezi, hogy egy sort s egy
oszlopot egyszerre trlnk, az szaknyugati sarok mdszer m + n 1 vltozhoz rendel rtket. Az szaknyugati sarok mdszer ltal vlasztott vltozk nem alkothatnak hurkot, gy
az 1. ttel rtelmben az szaknyugati sarok mdszer egy lehetsges bzismegoldst ad.

A minimlis kltsg mdszere egy lehetsges bzismegolds

elolltsra
Az szaknyugati sarok mdszer nem foglalkozik a szlltsi kltsgekkel, gy esetleg egy
olyan kezdo lehetsges bzismegoldst ad, amelyikhez nagyon magas szlltsi kltsg
tartozik. Ezutn az optimlis megolds elrshez esetleg sok javtsi lpsre lehet szksg.
A minimlis kltsg mdszere felhasznlja a szlltsi kltsgeket is, annak remnyben,
hogy egy olyan lehetsges bzismegoldst talljunk, amelyiknek alacsonyabb kltsge van.
Ilyen mdon remlhetoleg kevesebb javtsi lpsre lesz szksg az optimlis megolds
elrshez.

302

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

A minimlis kltsg mdszervel gy kezdjk a vltozk kivlasztst, hogy megkeressk azt a vltozt, amelyikhez a legkisebb szlltsi kltsg tartozik (nevezzk x i j -nek). Ezutn xi j -hez a leheto legnagyobb rtket rendeljk: min{si , d j }. Ugyangy, mint az szaknyugati sarok mdszernl, trljk az i-edik sort vagy a j-edik oszlopot, valamint redukljuk a nem trlt sor vagy oszlop knlatt vagy kereslett xi j rtkkel. Ezutn vlasztunk
az olyan cellk kzl, amelyek nem trlt sorban vagy oszlopban fekszenek. Most is azt a
cellt vlasztjuk, amelyikhez a legkisebb szlltsi kltsg tartozik. Ismteljk az eljrst.
Folytatjuk addig, amikor mr csak egyetlen vlaszthat cella van. Ekkor trljk a cellhoz tartoz sort s oszlopot is. Ne felejtsk el azonban, hogy (az utols vltoz kivtelvel)
amikor egy vltoz egyszerre elgt ki egy knlati s egy keresleti felttelt, akkor csak vagy
a hozztartoz sort, vagy a hozztartoz oszlopot trljk, de nem mind a kett o t.
A minimlis kltsg mdszernek illusztrlsra a 21. tblzatban lthat kiegyenslyozott szlltsi feladathoz keresnk egy lehetsges bzismegoldst. A minimlis szlltsi
kltsggel rendelkezo vltoz az x22 . Ekkor teht legyen x22 = min {10, 8} = 8. Ezutn trljk a msodik oszlopot, s redukljuk s2 -t 10 8 = 2-re (lsd 22. tblzat). Most akr
x11 -et, akr x21 -et vlaszthatjuk (mindkettohz a 2 szlltsi kltsg tartozik). Vlasszuk
pldul x21 -et, s rendeljk hozz az x21 = min {2, 12} = 2 rtket. Ezutn trljk a msodik sort, s d1 rtkt 122 = 10-re vltoztatjuk (23. tblzat). Most x11 kvetkezik, ahol
x11 = min {5, 10} = 5, trljk az elso sort, s d1 -et 10 5 = 5-re vltoztatjuk (24. tblzat). Ezutn x31 -hez tartozik a legkisebb olyan kltsg, amelyik egy nem trlt sorban vagy
oszlopban fekszik. Kijelljk a megfelelo rtket: x31 = min {15, 5} = 5, trljk az elso
oszlopot, s redukljuk s3 -at 15 5 = 10-re (25. tblzat). Ezutn x33 = min {10, 4} = 4
kvetkezik, trljk a harmadik oszlopot, s redukljuk s 3 -at 10 4 = 6-ra (26. tblzat).
Az egyetlen cella, amit most vlaszthatunk, az x34 . Ekkor x34 = min {6, 6} = 6, s trljk a harmadik sort s a negyedik oszlopot is. gy egy lehetsges bzismegoldst kaptunk:
x11 = 5, x21 = 2, x22 = 8, x31 = 5, x33 = 4 s x34 = 6.
21.

TBLZAT

6
5

5
10

6
15

12

22.

TBLZAT

6
5

6
15

12


6.2. Lehetsges bzismegolds elolltsa
a szlltsi feladatban

23.

TBLZAT

303

6
5

2
2

6
15

10

24.

TBLZAT

6
5

2
2

6
15

25.

TBLZAT

6
5

2
2

10

26.

TBLZAT

6
5

2
2

Mivel a minimlis kltsg mdszere gy vlasztja ki a vltozkat, hogy a kis szlltsi


kltsgu vltozk legyenek bzisvltozk, az ember azt gondolhatn, hogy ez a mdszer
mindig olyan lehetsges bzismegoldst ad, amelyhez viszonylag alacsony szlltsi kltsg tartozik. A kvetkezo feladat megmutatja, hogy a minimlis kltsg mdszere hogyan
zavarhat bele egy viszonylag magas kltsgu lehetsges bzismegoldsba.

304

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

Ha a minimlis kltsg mdszert a 27. tblzatra alkalmazzuk, akkor x 11 = 10-zel kezdnk, s trljk az elso sort. Ez arra knyszert bennnket, hogy x22 s x23 bzisvltozk
legyenek, ilyen mdon magukkal hozva a magas szlltsi kltsget. gy teht a minimlis
kltsg mdszere egy kltsges lehetsges bzismegoldshoz vezet. Vogel mdszere lesz
az, amelyik a lehetsges bzismegolds megtallsa sorn ltalban elkerli a klnlegesen
magas szlltsi kltsgeket.
27.

TBLZAT

8
10

15

80

78
15

15

Vogel mdszere egy lehetsges bzismegolds elolltsra


Eloszr is ki kell szmtanunk minden sorhoz (s oszlophoz) egy bntetst, ami nem ms,
mint az illeto sorban (vagy oszlopban) a kt legkisebb kltsg klnbsge. Ezutn megkeressk a legnagyobb bntetssel rendelkezo sort vagy oszlopot. Azt a vltozt vlasztjuk
elso bzisvltoznak ebben a sorban vagy oszlopban, amelyikhez a legkisebb szlltsi
kltsg tartozik. Mint ahogyan azt az szaknyugati sarok mdszernl s a minimlis kltsg mdszernl mr lertuk, ennek a kivlasztott vltoznak a lehet o legnagyobb rtket
adjuk. Ezutn trljk a sort vagy oszlopot, s megvltoztatjuk a bzisvltozhoz tartoz
knlati vagy keresleti rtket. Most j bntetseket szmolunk (de csak olyan cellkra vonatkozan, amelyek nem trlt sorban vagy oszlopban fekszenek), s folytatjuk az eljrst
addig, amikor mr csak egyetlen cella marad. Ennek a vltoznak az rtke a hozztartoz
kereslet-knlat rtk lesz. Ezutn trljk a vltoz sort s oszlopt. gy egy lehetsges
bzismegoldst kapunk.
A lehetsges bzisvltoz elolltsra szolgl Vogel-mdszert a 28. tblzatban lthat feladaton mutatjuk be. A legnagyobb bntets a msodik oszlophoz tartozik, gy ott
kezdnk, s x12 = min {10, 5} = 5. Ezutn trljk a msodik oszlopot, s redukljuk s 1 et 10 5 = 5-re. Most j bntetseket szmtunk ki (figyeljk meg, hogy ha egy oszlopot
trltnk, akkor az oszlopokhoz tartoz bntetsek vltozatlanok maradnak), ezek a 29.
tblzatban lthatk. A legnagyobb bntets most a harmadik oszlopban van, gy teht
x13 = min {5, 5}. Most trlhetjk vagy az elso sort, vagy a harmadik oszlopot. Tallomra
kivlasztjuk a harmadik oszlopot, trljk, s redukljuk s 1 -et 5 5 = 0-ra. Mivel minden
sorban csak egy olyan cella van, amelyik nincs trlve, nincsenek sorhoz tartoz bntetsek. Ezt a 30. tblzatban lthatjuk. Az elso oszlopban van az egyetlen (s termszetesen a
legnagyobb) bntets. gy x11 = min {0, 15} = 0, trljk az elso sort, s megvltoztatjuk
d1 -et 15 0 = 15-re. Az eredmny a 31. tblzatban lthat. Mr nem tudunk tbb bntetst szmolni, s az egyetlen olyan cella, amelyik egy nem trlt sorban vagy oszlopban
fekszik, az x21 . Ezltal x21 = 15, s trljk az elso oszlopot s a msodik sort. Vogel mdszernek alkalmazsval kszen vagyunk, s elo lltottunk egy lehetsges bzismegoldst:
x11 = 0, x12 = 5, x13 = 5 s x21 = 15 (lsd 32. tblzat).
Figyeljk meg, hogy a Vogel-mdszer elkerli az x22 s x23 vltozkhoz tartoz kltsges szlltsokat. Ez azrt trtnik gy, mert a magas szlltsi kltsgek nagy bntetseket
adnak, emiatt pedig a Vogel-mdszerrel ms vltozkat kell vlasztanunk a msodik s
harmadik keresleti felttel kielgtsre.


6.2. Lehetsges bzismegolds elolltsa
a szlltsi feladatban

28.

TBLZAT

15

29.

15

Oszlop szerinti
bntets

15-6=9

80-7=73

78-8=70

TBLZAT

30.

80

15

Oszlop szerinti
bntets

70

TBLZAT

7
5

31.

80

15

Oszlop szerinti
bntets

TBLZAT

7
5

Knlat

Sor szerinti
bntets

8-6=2

15

78-15=63

Knlat

Sor szerinti
bntets

15

Knlat

Sor szerinti
bntets

15

8
5

15

78-15=63

78

Kereslet

15

8
5

15

7-6=1

78

Kereslet

10

5
15

Sor szerinti
bntets

78

Kereslet

Knlat
8

80

305

80

78

Kereslet

15

Oszlop szerinti
bntets

306
32.

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok


TBLZAT

6
0

7
5

8
5

15

10

80

78

15

15
15

A most megtrgyalt hrom mdszer kzl a lehetsges bzismegolds el o lltsra az


szaknyugati sarok mdszer ignyli a legkevesebb, s a Vogel-mdszer a legtbb er o fesztst. Alapos kutatsok (Glover s msok [1974]) megmutattk, hogy amikor a Vogelmdszerrel lltjuk elo a kezdo lehetsges bzismegoldst, akkor lnyegesen kevesebb javtsi lpsre van szksg, mint a msik kt mdszer alkalmazsakor. Ezrt nagymretu
szlltsi feladatok esetn az elso lehetsges bzismegolds elolltsra az szaknyugati
mdszert s a minimlis kltsg mdszert csak ritkn hasznljk.

Feladatok
A csoport
1. Alkalmazza az szaknyugati sarok mdszert a 6.1. alfejezet 1., 2. s 3. feladatban egy lehetsges bzismegolds
elolltsra!
2. Alkalmazza a minimlis kltsg mdszert egy lehetsges bzismegolds elolltsra a 6.1. alfejezet 4., 7. s 8.
feladatnl! (tmutats: Egy maximalizlsi feladatban a

6.3.

minimlis kltsg mdszert tnevezzk a maximlis profit


mdszernek vagy a maximlis bevtel mdszernek.)
3. lltson elo egy lehetsges bzismegoldst Vogel mdszervel a 6.1. alfejezet 5. s 6. feladatban!
4. Hogyan kellene a Vogel-mdszert mdostani egy maximalizlsi feladat megoldshoz?

A szlltsi szimplex mdszer


Ebben az alfejezetben megmutatjuk, hogy a szimplex algoritmus milyen egyszeruv vlik, amikor egy szlltsi feladatot kell megoldani. (Ezt a mdszert a magyar nyelvu szakirodalom disztribcis mdszernek nevezi.) A trgyalst a vltozk cserjnek technikai
megoldsval kezdjk.
Emlkezznk arra, hogy amikor a szimplex mdszerben egy bzisvltoz cserjt hajtottuk vgre, ltalban sok szorzsra volt szksg. Egy szlltsi feladat megoldsnl a
vltozk cserje csak sszeadsokat s kivonsokat ignyel.

Hogyan cserljnk vltozkat a szlltsi feladatban?


A kvetkezo eljrs segtsgvel a szlltsi feladatban a vltozk cserje gy hajthat
vgre, hogy a szlltsi tblzat keretein bell dolgozunk:
1. lps (Egy rvidesen bemutatand kritrium segtsgvel) hatrozzuk meg azt a vltozt, amelyet bevisznk a bzisba.
2. lps Keressk meg azt a hurkot (bizonythat, hogy csak egy ilyen hurok ltezik),
amelyik tartalmazza a bzisba belpo vltozt, s a tbbi bzisvltozk kzl nhnyat.

6.3. A szlltsi szimplex mdszer

307

3. lps Csak a hurokban lvo cellkat szmolva jelljk meg pros cellaknt a 2. lpsben kapott olyan cellkat, amelyek a belptetendo vltoztl pros (0, 2, 4, stb.) szm
cellnyira vannak. Hasonl mdon jelljk meg pratlan cellaknt azokat, amelyek a belptetendo vltoztl szmtva pratlan cellnyira vannak.
4. lps Keressk meg azt a pratlan cellt, amelyikhez tartoz vltoz a legkisebb rtket
kpviseli. Ezt a legkisebb rtket -nak nevezzk. Az a vltoz fog kilpni a bzisbl,
amelyik ehhez a legkisebb rtku pratlan cellhoz tartozik. A bzisvltozk cserjt gy
hajtjuk vgre, hogy minden pratlan cella rtkt cskkentjk -val, s minden pros cella
rtkt nveljk -val. A hurokban nem szereplo vltozk rtkei vltozatlanok maradnak.
A bzisvltozk cserje ezzel megtrtnt. Ha = 0, akkor a bzisba belp o vltoz rtke
0 lesz, s egy olyan pratlan, rgi bzisvltoz, amelyiknek az rtke 0 volt, ki fog lpni
a bzisbl. Ebben az esetben mr a bzisvltozk cserje elo tt egy degenerlt lehetsges
bzismegoldsunk volt, s a csere utn is ez a helyzet. Amennyiben a hurokban egynl
tbb pratlan cella egyenlo -val, akkor tetszolegesen vlaszthatjuk ezek kzl az egyik
ilyen pratlan cellt arra, hogy a hozztartoz vltoz kikerljn a bzisbl; gy is egy
degenerlt lehetsges bzismegoldst kapunk eredmnyl.
A Powerco pldn mutatjuk be a bzisvltozk cserjnek ezt a lpst. Ha az szaknyugati sarok mdszert alkalmazzuk a Powerco pldra, akkor a 33. tblzatban lthat
lehetsges bzismegoldst kapjuk. Ebben a lehetsges bzismegoldsban a bzisvltozk:
x11 = 35, x21 = 10, x22 = 20, x23 = 20, x33 = 10 s x34 = 30.
33.

TBLZAT

Lehetsges
bzismegolds a
Powerco
feladatban az
szaknyugati sarok
mdszerrel

35

35
10

45

20

20

20

50

10

30

30

30

40

Tegyk fl, hogy olyan lehetsges bzismegoldst szeretnnk tallni, amelyben x 14 szerepel a bzisban. Az x14 -et, s mg kizrlag bzisvltozkat tartalmaz hurok a kvetkez o
pros pratlan pros pratlan pros pratlan
(1, 4) (3, 4) (3, 3) (2, 3) (2, 1) (1, 1)
Ebben a hurokban (1, 4), (3, 3) s (2, 1) a pros cellk, s (1, 1), (3, 4) s (2, 3) a pratlan cellk. A legkisebb rtkkel rendelkezo pratlan cella az x23 = 20. gy a vltozk
cserje utn x23 mr nem lesz a bzisban. Most minden pros cellhoz hozzadunk 20-at,
s minden pratlan cellbl kivonunk 20-at. A 34. tblzat ezt mutatja. Mivel minden sorban s oszlopban ugyanannyi +20 van, mint 20, az j megolds is kielgti a knlati
s keresleti feltteleket. Azzal, hogy a legkisebb rtku pratlan cellhoz tartoz vltozt
lptettk ki a bzisbl, biztostottuk azt, hogy a vltozk rtkei mind nemnegatvak maradnak. gy teht az j megolds egy lehetsges megolds. Mivel nem ltezik olyan hurok,
amelyik az (1, 1), (1, 4), (2, 1), (2, 2), (3, 3) s (3, 4) cellkat tartalmazn, az j megolds
egy lehetsges bzismegolds. A bzisvltozk cserje utn az j lehetsges bzismegolds x11 = 15, x14 = 20, x21 = 30, x22 = 20, x33 = 30 s x34 = 10, s az sszes tbbi vltoz
rtke 0.

308
34.

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok


TBLZAT

j lehetsges
bzismegolds,
miutn x14
bekerlt a bzisba

35-20
10+20

45

0+20
20

20

20-20
(nembzis)

35

50

10+20

30-20

30

30

40

A vltozk cserjnek a fentiekben bemutatott pldja vilgosan megmutatja, hogy a


szlltsi feladatban egy bzisvektorcsere csak sszeadssal s kivonssal jr. Ezt a tnyt
felhasznlva, meg tudjuk mutatni, hogy ha a szlltsi feladatban minden knlat s minden
kereslet egsz szm, akkor a szlltsi feladatnak lesz olyan optimlis megoldsa, amelyben a vltozk rtkei egsz szmok. Kezdjk annak megfigyelsvel, hogy az szaknyugati sarok mdszerrel mindig tudunk tallni olyan lehetsges bzismegoldst, amelyben a
vltozk rtkei mind egsz szmok. Mivel minden egyes bzisvektorcsere csak sszeadsokat s kivonsokat ignyel, minden olyan lehetsges bzismegolds, amelyet a szimplex
algoritmussal kaptunk (belertve az optimlis megoldst is), egsz rtkeket jell ki minden vltozra. Az a tny, hogy egy olyan szlltsi feladatnak, amelyben a keresletek s
knlatok egsz szmok, van egsz szmokbl ll optimlis megoldsa, egy nagyon hasznos tny. Ez biztost ugyanis bennnket arrl, hogy nem kell aggdnunk az oszthatsgi
feltevs teljeslse miatt.

A nembzis vltozk kirtkelse


A szlltsi szimplex mdszer trgyalsnak befejezshez most mg megmutatjuk, hogyan
szmoljuk ki a clfggvny sort egy lehetsges bzismegoldshoz. Az 5.2. alfejezetb o l
tudjuk, hogy egy olyan lehetsges bzismegoldsnl, amelyben a bzisvltozk halmaza
BV, az xi j vltoz egytthatja (nevezzk ci j -nek) a tblzat clfgvnysorban
ci j = cBV B1 ai j ci j
ahol ci j az xi j egytthatja a clfggvnyben s ai j az eredeti LP-ben az xi j -hez tartoz
oszlop (felttelezzk, hogy az elso knlati felttelt elhagytuk).
Mivel egy minimalizlsi feladatot oldunk meg, az aktulis lehetsges bzismegolds
optimlis lesz, ha az sszes ci j -ok nempozitvak; ha nem gy van, akkor belptetjk a bzisba azt a vltozt, amelyiknl a ci j rtk a legpozitvabb.
Miutn meghatroztuk cBV B1 -et, knnyen megkaphatjuk ci j rtket. Mivel az elso felttelt elhagytuk, a cBV B1 vektornak m + n 1 eleme lesz. Ezeket gy rjuk fel:


cBV B1 = u2 u3 . . . um v1 v2 . . . vn
ahol u2 , u3 , . . . , um a cBV B1 vektornak az m 1 knlati felttelhez tartoz elemei, s
v1 , v2 , . . . , vn az n keresleti felttelhez tartoz elemek.
A cBV B1 meghatrozshoz felhasznljuk azt a tnyt, hogy brmelyik tblzatban minden xi j bzisvltozhoz ci j = 0 rtket kell felvennie. gy a BV halmazban mind az m+n1
vltozra
cBV B1 ai j ci j = 0
(4)

6.3. A szlltsi szimplex mdszer

309

Egy szlltsi feladatnl a (4) egyenletek megoldsa nagyon egyszeru. A (4) megoldst
illusztrljuk az (5) alatti tblzattal kezdve, amely nem ms, mint a Powerco feladatban
az szaknyugati sarok mdszerrel nyert lehetsges bzismegolds. Keressk meg az (5)
tblzathoz tartoz cBV B1 -et.
8

10

35

35
9

10

12
20

13
20

14

50

16
10

45

20

5
30

30

(5)

40
30

Ebben a lehetsges bzismegoldsban BV = {x11 , x21 , x22 , x23 , x33 , x34 }. (4) alkalmazsval a kvetkezoket kapjuk:

0
0


1

c11 = u2 u3 v1 v2 v3 v4
0 8 = v1 8 = 0

0
0

1
0


1

c21 = u2 u3 v1 v2 v3 v4
0 9 = u 2 + v1 9 = 0

0
0

1
0


0

c22 = u2 u3 v1 v2 v3 v4
1 12 = u2 + v2 12 = 0

0
0

1
0


0

c23 = u2 u3 v1 v2 v3 v4
0 13 = u2 + v3 13 = 0

1
0

0
1


0

c33 = u2 u3 v1 v2 v3 v4
0 16 = u3 + v3 16 = 0

1
0

310

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok


c34 = u2

u3

v1

v2


0
1

 0

v4
0 5 = u 3 + v4 5 = 0

0
1

v3

Minden xi j bzisvltozra nzve (kivve az i = 1 indexueket) lthatjuk, hogy (4) az


ui + v j = ci j alakra redukldik. Ha gy definiljuk, hogy u1 = 0 legyen, akkor azt ltjuk,
hogy (4) minden bzisvltozra az ui + v j = ci j alakra redukldik. gy a kvetkezo m + n
egyenletbol ll rendszert kell megoldanunk: u1 = 0, ui + v j = ci j minden bzisvltozra.
Az (5) tblzathoz cBV B1 gy addik, hogy megoldjuk a kvetkezo egyenletrendszert:
u1 = 0

(6)

u1 + v 1 = 8
u2 + v 1 = 9

(7)
(8)

u2 + v2 = 12
u2 + v3 = 13

(9)
(10)

u3 + v3 = 16

(11)

u3 + v 4 = 5

(12)

(7)-bol v1 = 8. (8)-bl u2 = 1. Ezutn (9) adja a v2 = 11-et s (10) adja a v3 = 12-t. (11)bol u3 = 4. Vgl (12)-bol v4 = 1 addik. Most minden nembzis vltozra kiszmtjuk a
ci j = ui + v j ci j rtkeket. Azt kapjuk, hogy
c12 = 0 + 11 6 = 5
c14 = 0 + 1 9 = 8

c31 = 4 + 8 14 = 2

c13 = 0 + 12 10 = 2
c24 = 1 + 1 7 = 5

c32 = 4 + 11 9 = 6

Mivel c32 a legnagyobb pozitv ci j , most x32 fog belpni a bzisba. Minden egysg x32 ,
amely belp a bzisba, Powerco kltsgt 6 dollrral fogja cskkenteni.

Az optimumkritrium magyarzata
A vltozk s felttelek jelentse alapjn nzzk meg most azt, hogyan lehet eldnteni,
hogy egy lehetsges bzismegolds optimlis-e, illetve ha nem az, akkor hogyan kell eldnteni, hogy melyik nembzis vltozt lptessk be a bzisba? Legyen u i (i = 1, 2, . . . , m)
az i-edik knlati felttel rnykra, s legyen v j ( j = 1, 2, . . . , n) a j-edik keresleti felttel
rnykra. Felttelezzk, hogy az elso knlati felttelt elhagytuk, gy megtehetjk, hogy
u1 = 0 legyen. Az rnykrak defincijbl tudjuk, hogy ha az i-edik knlati felttel s a
j-edik keresleti felttel jobb oldalt 1-gyel nvelnnk, akkor az optimlis z rtk u i v j vel cskkenne. Ugyangy mondhatjuk azt is, hogy ha az i-edik knlati felttel s a j-edik
keresleti felttel jobb oldalt 1-gyel cskkentennk, akkor az optimlis z rtk u i v j -vel
nvekedne. Most tegyk fl, hogy xi j egy nembzis vltoz. Belptessk-e xi j -t a bzisba?
Figyeljk meg, hogy ha xi j -t 1-gyel nveljk, akkor a kltsgek ci j -vel nvekednek.
Ugyanakkor az xi j rtknek 1-gyel val nvelse azt is jelenti, hogy az i-edik knlati
pontrl egy egysggel kevesebbet szlltunk el, s a j-edik keresleti pontra is egy egysggel
kevesebbet szlltunk. Ez a gondolatmenet azt jelenti, hogy az i-edik knlati felttel s a
j-edik keresleti felttel jobb oldalt 1-gyel cskkentjk. Ez z rtkt u i v j -vel nveli.

6.3. A szlltsi szimplex mdszer

311

gy mindent sszevve, az xi j rtknek 1-gyel val nvelse z rtkt ci j ui v j -vel


nveli. gy teht ha minden nembzis vltozra ci j ui v j 0 (vagy ui + v j ci j
0)), akkor az aktulis lehetsges bzismegolds mr optimlis. Mindazonltal, ha egy x i j
nembzis vltozra vonatkozan ci j ui v j < 0 (vagy ui + v j ci j > 0), akkor z mg
cskkentheto xi j egysgenknt ui + v j ci j -vel gy, hogy xi j belp a bzisba. gy teht
a kvetkeztetseink arra vezettek, hogy ha minden nembzis vltozra u i + v j ci j 0,
akkor az aktulis lehetsges bzismegolds optimlis.
Ha nem gy van, akkor a legnagyobb pozitv ui + v j ci j rtkkel rendelkezo nembzis vltozt kell belptetnnk a bzisba. Hogyan talljuk meg az u i -kat s v j -ket? Mivel
az xi j nembzis vltoz egytthatja brmelyik tblzat clfggvnysorban az a mennyisg, amennyivel xi j egysgnyi nvelse cskkenti z-t, a kvetkezo kre jutottunk: brmelyik
nembzis vltoz (s mint ahogy kiderl, a bzisvltozk is) egytthatja a clfggvny
sorban ui +v j ci j . gy teht megoldhatjuk ui -kre s v j -kre a kvetkezo egyenletrendszert:
u1 = 0 s ui + v j ci j = 0 minden bzisvltozra.
A fenti okoskods illusztrlsra tekintsk jra a Powerco feladat (5) alatt bemutatott
lehetsges bzismegoldst.
8

10

35

35
9

10

12
20

13

50

20

14

16
10

45

20

5
30

30

40
30

(5)

Az ui s v j rtkeket a kvetkezo egyenletrendszer megoldsbl kapjuk:


u1 = 0

(6)

u1 + v 1 = 8

(7)

u2 + v 1 = 9
u2 + v2 = 12

(8)
(9)

u2 + v3 = 13
u3 + v3 = 16

(10)
(11)

u3 + v 4 = 5

(12)

(7)-bol v1 = 8. (8)-bl u2 = 1. Ezutn (9) adja a v2 = 11-et s (10) adja a v3 = 12-t. (11)bol u3 = 4. Vgl (12)-bol v4 = 1 addik. Minden nembzis vltozra most kiszmtjuk a
ci j = ui + v j ci j rtkeket. Azt kapjuk, hogy
c12 = 0 + 11 6 = 5

c14 = 0 + 1 9 = 8
c31 = 4 + 8 14 = 2

c13 = 0 + 12 10 = 2

c24 = 1 + 1 7 = 5
c32 = 4 + 11 9 = 6

Mivel c32 a legnagyobb pozitv ci j , most x32 fog belpni a bzisba. Minden egysg x32 ,
amely belp a bzisba, Powerco kltsgt 6 dollrral fogja cskkenteni.
Ezek utn sszefoglalhatjuk a szlltsi szimplex mdszer alkalmazsi technikjt egy
szlltsi (min) feladat megoldsra.

312

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

A szlltsi szimplex mdszer sszefoglalsa s illusztrcija


1. lps Ha a feladat kiegyenslyozatlan, egyenslyozzuk ki.
2. lps Alkalmazzuk a 6.2. alfejezetben trgyalt mdszerek valamelyikt egy lehetsges
bzismegolds megkeressre.
3. lps Alkalmazzuk az aktulis lehetsges bzismegoldsban a kvetkez o sszefggseket: u1 = 0 s ui + v j = ci j minden bzisvltozra, gy megtallhatjuk
[ u1 u2 . . . um v1 v2 . . . vn ]-et.
4. lps Ha minden nembzis vltozra ui + v j ci j 0, akkor az aktulis lehetsges
bzismegolds optimlis. Ha nem ez a helyzet, akkor a legnagyobb pozitv u i + v j ci j
rtkhez tartoz xi j vltozt lptetjk be a bzisba. gy egy j lehetsges bzismegoldshoz
jutunk.
5. lps Az j lehetsges bzismegoldsra alkalmazzuk a 3. s 4. lpst.
Egy maximalizlsi feladat esetn ugyangy kezdjk az eljrst, de a 4. lpst a 4 0 lpssel
helyettestjk.
40 . lps Ha ui + v j ci j 0 minden nembzis vltozra, akkor az aktulis lehetsges
bzismegolds optimlis. Ha nem ez a helyzet, akkor a legnagyobb abszolt rtku negatv ui + v j ci j rtkhez tartoz xi j vltozt lptetjk be a bzisba az alfejezetben lert
bzisvltoz-csere eljrssal.
Most illusztrci gyannt megoldjuk a Powerco feladatot. Kezdjk az (5) alatti lehetsges bzismegoldssal. Ugyancsak eldntttk mr azt is, hogy x 32 -nek kell bekerlnie a
bzisba. Mint ahogy a 35. tblzatban lthat, az idetartoz hurok, amelyikben x 32 s kizrlag bzisvltozk vannak: (3, 2)(3, 3)(2, 3)(2, 2). Ebben a hurokban a pratlan cellk
(3, 3) s (2, 2). Mivel x33 = 10 s x22 = 20, a bzisvltozk cserje gy jelenik meg, hogy
x33 s x22 rtkei 10-zel cskkennek, mg x32 s x23 rtkei 10-zel nvekednek. A 36. tblzatban lthat az j lehetsges bzismegolds. Az j lehetsges bzismegoldshoz tartoz
ui s v j rtkeket a kvetkezo egyenletrendszer megoldsval kapjuk:
u1 = 0
u2 + v2 = 12
u3 + v 4 = 5

u2 + v3 = 13
u 2 + v1 = 9
u 3 + v2 = 9

u1 + v 1 = 8
35.

TBLZAT

Az x32 vltoz
belptetshez
szksges hurok

10

35

35
9

10

12
20

13

50

20

14

16
10

45

20

5
30

30

40
30

6.3. A szlltsi szimplex mdszer

36.

TBLZAT

x32 belpett a
bzisba s x12 a
kvetkezo belpo

vj =

11
8

ui = 0

35

10

12
6

313

7
10

9
35

12
10

14
2

13

7
50

30
9

16

10
45

5
30

20

30

40
30

Minden nembzis vltozhoz kiszmtjuk a ci j = ui + v j ci j rtkeket. Azt kapjuk,


hogy csak c12 = 5, c24 = 1 s c13 = 2 a pozitv rtkek. gy most x12 -t lptetjk be a bzisba.
Az x12 -hz tartoz hurok, amely x12 -t s kizrlag bzisvltozkat tartalmaz: (1, 2)(2, 2)
(2, 1)(1, 1). A pratlan cellk (2, 2) s (1, 1). Mivel x22 = 10 a pratlan cellkhoz tartoz
rtkek kzl a legkisebb, x22 s x11 rtkeit 10-zel cskkentjk s x12 s x21 rtkeit 10-zel
nveljk. A 37. tblzat mutatja az eredmnyl kapott lehetsges bzismegoldst. Ehhez a
lehetsges bzismegoldshoz a kvetkezo egyenletrendszer megoldsaknt add ui s v j
rtkek tartoznak:
u1 = 0
u2 + v 1 = 9

u 1 + v2 = 6
u 3 + v2 = 9

u1 + v 1 = 8
u2 + v3 = 13

u 3 + v4 = 5

Minden nembzis vltozhoz kiszmtjuk a ci j rtkeket, s azt talljuk, hogy az egyetlen pozitv ci j rtk a c13 = 2. gy x13 lesz a belptetendo vltoz. Az x13 belpo vltozt
s mg kizrlag bzisvltozkat magban foglal hurok az (1, 3)(2, 3)(2, 1)(1, 1). A
pratlan cellk x23 s x11 . Mivel x11 = 25 a pratlan cellkhoz tartoz rtkek kzl a legkisebb, x23 s x11 rtkeit 25-tel cskkentjk s x13 , valamint x21 rtkeit 25-tel nveljk.
Ezltal a 38. tblzatban lthat lehetsges bzismegoldshoz jutunk. Ehhez a lehetsges
bzismegoldshoz az ui s v j rtkeket az

37.

TBLZAT

x12 belpett a
bzisba s x13 a
kvetkezo belpo

vj =

u1 = 0
u2 + v 1 = 9

u2 + v3 = 13
u1 + v3 = 10

u3 + v 4 = 5
u1 + v 2 = 6

u 3 + v2 = 9

6
8

ui = 0

25

20

12
6

2
10

10

35

12

13

7
50

30
14

16

10
45

5
30

20

30

40
30

314

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

38. T B L Z A T
Optimlis tblzat
a Powerco
feladatban

vj =

6
8

ui = 0

6
10

2
10

25

9
3

10

35

12

45

13

7
50

5
14

16

10
45

5
30

20

30

40
30

egyenletrendszer megoldsval kapjuk. Az olvas elleno rizheti, hogy ennl a lehetsges


bzismegoldsnl minden ci j 0, gy teht optimlis megoldst kaptunk. A Powerco feladat optimlis megoldsa teht: x12 = 10, x13 = 25, x21 = 45, x23 = 5, x32 = 10, x34 = 30 s
z = 6(10) + 10(25) + 9(45) + 13(5) + 9(10) + 5(30) = 1020$.

Feladatok
A csoport
Alkalmazza a szlltsi szimplex mdszert a 6.1. alfejezet
18. feladatainak megoldsra! Kezdjen a 6.2. alfejezet vgn, a feladatokban feladott (s megoldott) indul lehetsges bzismegoldsokkal (indul tblzatokkal)!

6.4.

Szlltsi feladatok rzkenysgvizsglata4


Azt mr lttuk, hogy egy szlltsi feladatban a megolds technikja egyszeru: knnyu
meghatrozni egy lehetsges bzismegoldst s a clfggvny sort az adott bzisvltozkhoz, valamint nagyon egyszeru a bzisvltozk cserje is. gy termszetesen nem lesz
meglepo, hogy az 5.3. alfejezetben trgyalt rzkenysgvizsglat bizonyos rszei is leegyszerusdnek a szlltsi feladatnl. Ebben az alfejezetben a szlltsi feladatra vonatkoz
rzkenysgvizsglatot a kvetkezo hrom szempont szerint vgezzk el:
1. vltoztats Egy nembzis vltoz clfggvnybeli egytthatjnak megvltoztatsa.
2. vltoztats Egy bzisvltoz clfggvnybeli egytthatjnak megvltoztatsa.
3. vltoztats Egyetlen knlat s egyetlen kereslet nvelse -val.
Ezeknek az illusztrlsra a Powerco feladatot fogjuk hasznlni. Feleleventjk a 6.3.
alfejezetbol azt, hogy a Powerco feladat optimlis megoldsa z = 1020$ volt, az optimlis
tblzat pedig a 39. tblzat.
4 Ezen

alfejezet kihagysa nem szaktja meg a trgyals folytonossgt.

6.4. Szlltsi feladatok rzkenysgvizsglata

39. T B L Z A T
Optimlis tblzat
a Powerco szmra

1. vros

2. vros

3. vros

4. vros

10

vj=

8
1. erm

6
10

ui=0

3. erm

9
35

12

45

13

5
14

Kereslet

Knlat

25

9
2. erm

10

50

16

10
45

5
30

20

315

30

40
30

Egy nembzis vltoz clfggvny egytthatjnak vltoztatsa


Mint ahogy az 5.3. alfejezetben lttuk, egy xi j nembzis vltoz clfggvny egytthatjnak megvltoztatsa az optimlis tblzat jobb oldalt vltozatlanul hagyja. gy az aktulis
bzis is lehetsges bzis marad. Mivel nem vltoztatjuk cBV B1 -et, az ui -k s v j -k vltozatlanok maradnak. A clfggvny sorban csak az xi j egytthatja vltozik. Ezltal, egszen
addig, amg az optimlis megoldsban a clfggvny sorban x i j egytthatja nem pozitv,
az aktulis bzis optimlis marad.
A mdszer megvilgtsra feltesszk s megvlaszoljuk a kvetkez o krdst: 1 milli
kWh elektromos energia szlltsnak kltsge az elso teleprol az 1. vrosba milyen rtktartomnyban vltozhat gy, hogy az aktulis bzismegolds optimlis maradjon? Tegyk
fl, hogy c11 -et 8-rl 8 + -ra vltoztatjuk. mely rtkeire marad az aktulis bzismegolds optimlis? Most c11 = u1 + v1 c11 = 0 + 6 (8 + ) = 2 . gy az aktulis bzis
optimlis marad, ha 2 0, vagyis 2 s c11 8 2 = 6.

Egy bzisvltoz clfggvny-egytthatjnak megvltoztatsa


Mivel megvltoztatjuk cBV B1 -t, a clfggvny sorban a nembzis vltozk egytthati
vltozhatnak. Annak eldntsre, hogy a jelenlegi bzis optimlis marad-e, meg kell hatroznunk az j ui -ket s v j -ket, s ezeket az rtkeket kell felhasznlnunk a nembzis vltozk kirtkelsre. Az aktulis bzis optimlis marad egszen addig, mg az sszes nembzis vltozk a kirtkelskor nempozitvak maradnak. Ennek a meggondolsnak szemlltetsre a kvetkezot tesszk: a Powerco feladatban meghatrozzuk 1 milli kWh ramnak az
elso teleprol a harmadik vrosba val szlltsi kltsgrtknek azt a tartomnyt, amelyben mg az aktulis bzis optimlis marad.
Tegyk fl, hogy c13 rtkt 10-rol 10 + -ra vltoztatjuk. Ekkor a c13 = 0 egyenlosg
is megvltozik: u1 + v3 = 10 helyett u1 + v3 = 10 + lesz. gy az ui -k s v j -k meghatrozshoz meg kell oldanunk a kvetkezo egyenletrendszert:
u1 = 0
u2 + v 1 = 9
u1 + v 2 = 6

u 3 + v2 = 9
u1 + v3 = 10 +
u 3 + v4 = 5

u2 + v3 = 13
Azt kapjuk, hogy u1 = 0, v2 = 6, v3 = 10 + , v1 = 6 + , u2 = 3 , u3 = 3 s v4 = 2.

316

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

Most mindegyik nembzis vltozt kirtkeljk. Az aktulis bzis optimlis marad egszen addig, ameddig a clfggvny sorban mindegyik nembzis vltoznak nempozitv
egytthatja van.
c11 = u1 + v1 8 = 2 0,
c14 = u1 + v4 9 = 7,

c22 = u2 + v2 12 = 3 0,
c24 = u2 + v4 7 = 2 0,

c31 = u3 + v1 14 = 5 + 0,
c33 = u3 + v3 16 = 3 0,

ha 2
ha 3
ha 2

ha 5
ha 3

gy az aktulis bzis optimlis marad, ha 2 2 vagy 8 = 10 2 c 13 10 +


2 = 12.

Az si knlat s d j kereslet -val val nvelse


Eloszr is, vegyk szre, hogy ez a vltoztats megtartja a szlltsi feladat kiegyenslyozottsgt. Mivel ui -kre s v j -kre is gy tekinthetnk, mint az egyes felttelekhez tartoz
dul vltozk ellentett rtkre, az 5. fejezet (370 )-bol tudjuk, hogy ha az aktulis bzis
optimlis marad, akkor
j z rtk = rgi z rtk + ui + v j
Pldul, ha az elso eromu knlatt s a msodik vros kereslett 1 egysggel nveljk,
akkor (j kltsg) = 1020 + 1(0) + 1(6) = 1026$.
A dntsi vltozkra j rtkeket kaphatunk a kvetkezo mdon is:
1.

Ha xi j az optimlis megoldsban bzisvltoz, akkor xi j -t -val nveljk.

2. Ha xi j az optimlis megoldsban nembzis vltoz, akkor keressk meg az x i j -t s


mg kizrlag bzisvltozkat tartalmaz hurkot. Ezutn keressnk egy pratlan cellt az
i-edik sorban. Nveljk ennek a pratlan cellnak az rtkt -val, s ezt vezessk vgig a
hurkon, az aktulis bzisvltozkat vltakozva nvelve s cskkentve -val.
Az elso esetet illusztrlva tegyk fl, hogy s1 -et s d2 -t 2-vel nveljk. Mivel x12 az optimlis megolds egyik bzisvltozja, az j optimlis megolds a 40. tblzatban bemutatott
megolds lesz. Az j optimlis z rtk 1020 + 2u1 + 2v2 = 1032$. A msodik tpus helyzetet bemutatand, tegyk fl, hogy s1 -et s d1 -et 1-gyel nveljk. Mivel x11 az aktulis
optimlis megoldsban nembzis vltoz, meg kell tallnunk az x 11 -et s mg kizrlag
bzisvltozkat tartalmaz hurkot. A hurok (1, 1)(1, 3)(2, 3)(2, 1). Az els o sorban lvo
pratlan cella x13 . gy az j optimlis megoldst gy kapjuk, hogy x13 s x21 rtkeit 1-gyel
nveljk, s x23 rtkt 1-gyel cskkentjk. Ez azutn a 41. tblzatban lthat optimlis
megoldshoz vezet. Az j optimlis z rtk: (j z rtk) = 1020 + u 1 + v1 = 1026$. Vegyk szre, hogy ha s1 -et s d1 -et 6-tal nveltk volna, akkor az aktulis bzis egy nem
lehetsges megolds lenne. (Mirt?)

6.4. Szlltsi feladatok rzkenysgvizsglata

40. T B L Z A T
Optimlis tblzat
a Powerco
feladatban, ha
s1 = 35 + 2 = 37
s
d2 = 20 + 2 = 22

1. vros

2. vros

3. vros

4. vros

10

vj=

8
1. erm

6
12

ui=0

3. erm

30

30

1. vros

2. vros

3. vros

4. vros

10

6
10

10

Knlat

26

36

12

46

13

4
14

Kereslet

40

22

3. erm

5
30

16

45

ui=0

2. erm

7
50

10

vj=
1. erm

13
5

14

41. T B L Z A T
Optimlis tblzat
a Powerco
feladatban, ha
s1 = 35 + 1 = 36
s
d1 = 45 + 1 = 46

9
37

12

45

Kereslet

Knlat

25

9
2. erm

10

50

16

10

5
30

46

20

317

30

40
30

Feladatok
A csoport

42.

A kvetkezo feladatok a Powerco pldra vonatkoznak.


1. Hatrozza meg c14 rtkeinek azt a tartomnyt, amelyekre az aktulis bzis optimlis marad!
2. Hatrozza meg c34 rtkeinek azt a tartomnyt, amelyekre az aktulis bzis optimlis marad!
3. Ha s2 s d3 rtkeit 3-mal nveljk, akkor mi lesz az
j optimlis megolds?
4. Ha s3 s d3 rtkeit 2-vel cskkentjk, akkor mi lesz az
j optimlis megolds?
5. Kt telephely lt el hrom fogyasztt egszsggyi ksztmnyekkel. Az egyes telepekrol a fogyasztkhoz trtno
szlltsi kltsgek ($-ban), valamint a knlati s keresleti
adatok a 42. tblzatban lthatk.

5 Wagner

s Rubin (1990) pldja alapjn.

TBLZAT

Hov
Honnan

1.

2.
fogyaszt

3.

Knlat

1. telep
2. telep
Kereslet

55
10
10

65
15
10

80
25
10

20
20

(a) A vllalat clja a fogyaszti ignyek kielgtse minimlis kltsggel. Keressen kt optimlis lehetsges bzismegoldst erre a szlltsi feladatra.
(b) Tegyk fl, hogy a 2. fogyaszt ignye egy egysggel nvekszik. Mennyivel no a szlltsi kltsg?5

318

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

6.5.

Hozzrendelsi feladatok
A szlltsi szimplex mdszer nagyon hatkonynak tunik, mgis van a szlltsi feladatoknak egy olyan csoportja, ahol a szlltsi szimplex mdszer gyakran nem bizonyul elg
jnak. Ezek a hozzrendelsi feladatok. Ebben az alfejezetben definiljuk a hozzrendelsi
feladatokat, s lerunk egy nagyon hatkony megold algoritmust.

4.

PLDA

43. T B L Z A T
Belltsi idok a
Machineco
feladatban

Megolds

A Machinecnak ngy gpe van, s ngy olyan munka, amelyeket ezeken a gpeken kell
elvgezni. Minden egyes gpre egy munkt kell kijellni, amelyet a gp teljesen elvgez.
A 43. tblzat mutatja, hogy az egyes gpeknek az egyes munkkra val belltsa mennyi
idot ignyel. A Machineco minimalizlni szeretn a ngy munka elvgzshez szksges
sszes belltsi idot. Alkalmazzunk lineris programozst a feladat megoldsra!
Ido (rban)
1. gp
2. gp
3. gp
4. gp

1. munka

2. munka

3. munka

4. munka

14
2
7
2

5
12
8
4

8
6
3
6

7
5
9
10

A Machinecnak el kell dntenie, hogy melyik gp melyik munkt vgezze el. Definiljuk
a kvetkezo vltozkat (i, j = 1, 2, 3, 4-re):
xi j = 1, ha az i-edik gpet jelljk ki a j-edik munkra
xi j = 0, ha az i-edik gpet nem jelljk ki a j-edik munkra
Ekkor a Machineco problmja gy rhat fel:
min z = 14x11 + 5x12 + 8x13 + 7x14 + 2x21 + 12x22 + 6x23 + 5x24
+ 7x31 + 8x32 + 3x33 + 9x34 + 2x41 + 4x42 + 6x43 + 10x44
f.h.

x11 + x12 + x13 + x14 = 1


x21 + x22 + x23 + x24 = 1

(gp felttelek)

x31 + x32 + x33 + x34 = 1


x41 + x42 + x43 + x44 = 1
x11 + x21 + x31 + x41 = 1

(13)
(munka felttelek)

x12 + x22 + x32 + x42 = 1


x13 + x23 + x33 + x43 = 1
x14 + x24 + x34 + x44 = 1
xi j = 0 or xi j = 1
(13)-ban az elso ngy felttel azt biztostja, hogy minden gpre kerljn munka, az
utols ngy felttel pedig azt biztostja, hogy minden munka el legyen vgezve. Ha x i j = 1,
akkor a clfggvny kivlasztja az i-edik gp j-edik munka id o szksglett; ha xi j = 0,
akkor a clfggvny nem vlasztja ki ezt az ido t.
Egy pillanatra tekintsnk el az xi j = 0 vagy xi j = 1 megszortstl. gy lthatjuk, hogy a
Machineco problmja valjban egy kiegyenslyozott szlltsi feladat, amelyben minden

319

6.5. Hozzrendelsi feladatok

knlati pontnak 1 a knlata, s minden keresleti pontnak 1 a kereslete. ltalban a hozzrendelsi feladat egy olyan kiegyenslyozott szlltsi feladat, amelyikben minden knlat
s kereslet 1. gy egy hozzrendelsi feladatot azzal jellemezhetnk, ha ismerjk minden
egyes knlati pontnak minden egyes keresleti ponthoz val hozzrendelsnek kltsgt.
A hozzrendelsi feladatban a kltsgek mtrixt kltsgmtrixnak nevezzk.
Mivel a Machineco feladatban (s brmely hozzrendelsi feladatban) az sszes knlat
s kereslet egsz szm, a 6.3. alfejezetben trgyaltak alapjn tudjuk, hogy a Machineco optimlis megoldsban minden vltoznak egsz szmnak kell lennie. Mivel minden felttel
jobb oldala 1, s minden xi j 1-nl nem nagyobb nemnegatv egsz, ezrt minden xi j vagy
0, vagy 1 rtket fog felvenni. Ez azt jelenti, hogy figyelmen kvl hagyhatjuk az x i j = 0
vagy 1 feltteleket, s (13)-at kiegyenslyozott szlltsi feladatknt oldhatjuk meg. A minimlis kltsgek mdszervel a 44. tblzatban lthat lehetsges bzismegoldst kapjuk.
Ez a bzismegolds erosen degenerlt. (Brmely m m-es hozzrendelsi feladatban egy
lehetsges bzismegoldsban m olyan bzisvltoz lesz, amelynek az rtke 1, s m 1
olyan bzisvltoz, amelynek az rtke 0.)
44.

TBLZAT

Lehetsges
bzismegolds a
Machineco
szmra

1. munka

2. munka

3. munka

4. munka

vj=

14
1. gp

5
1

ui=0
2

2. gp

-2

3. gp

-5

4. gp

-1

8
0

7
0

12

5
1

1
2
1

10

0
1

1
1

Azt ltjuk, hogy c43 = 1 az egyetlen pozitv ci j . Ezltal x43 -at belptetjk a bzisba.
Az ehhez tartoz, s rajta kvl kizrlag bzisvltozkat tartalmaz hurok (4, 3)(1, 3)
(1, 2)(4, 2). A hurokban lvo pratlan vltozk x13 s x42 . Mivel x13 = x42 = 0, vagy x13 ,
vagy x42 lp ki a bzisbl. Vlasszuk x13 -at a bzis elhagysra! A bziscsert vgrehajtva,
a 45. tblzatban lthat lehetsges bzismegoldst kapjuk. Most mr minden ci j nempozitv, gy optimlis hozzrendelst kaptunk: x12 = 1, x24 = 1, x33 = 1 s x41 = 1. Ez azt jelenti,
hogy az 1. gpre kerl a 2. munka, a 2. gp ki van jellve a 4. munkra, a 3. gp a 3. munkt kapja, s a 4. gp vgzi majd az 1. munkt. Az ehhez szksges teljes gpbelltsi id o :
5 + 5 + 3 + 2 = 15 ra.

A magyar mdszer
Ha visszatekintnk az indul lehetsges bzismegoldsra, akkor lthatjuk, hogy az optimlis megolds volt. Termszetesen ezt nem tudtuk, amg vgre nem hajtottunk egy lpst
a szlltsi szimplex mdszerrel. Ez azt mutatja, hogy a hozzrendelsi feladatban fellp o

320
45.

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok


TBLZAT

x43 belpett a
bzisba

1. munka

2. munka

3. munka

4. munka

vj=

14
1. gp

ui=0

2. gp

-2

3. gp

-4

4. gp

-1

7
0

12

5
1

1
2
1

4
0

1
6

10

0
1

1
1

nagyfok degenerltsg azt okozhatja, hogy a szlltsi szimplex mdszer nem elg hatkony a hozzrendelsi feladatok megoldsra. Ez az oka annak (tovbb az a tny, hogy
a kvetkezo algoritmus mg a szlltsi feladatnl is egyszerubb), hogy a hozzrendelsi
(min) feladatok megoldsra ltalban a magyar mdszert hasznljk.
1. lps Keressk meg az m m-es kltsgmtrix minden sorban a legkisebb elemet.
Kpezznk egy j mtrixot gy, hogy a sor minden kltsgelemb o l kivonjuk a legkisebb
kltsgelemet. Ebben az j mtrixban keressk meg minden oszlopban a legkisebb kltsgelemet. Kpezznk egy j mtrixot (ezt reduklt kltsgmtrixnak nevezzk) gy, hogy az
oszlop minden kltsgelembo l kivonjuk a legkisebb kltsgelemet.
2. lps Rajzoljuk be a leheto legkevesebb olyan vonalat (vzszintes s/vagy fggo leges),
amelyek segtsgvel a reduklt kltsgmtrixban tallhat sszes nulla lefedhet o . Ha ehhez m fedovonal szksges, akkor a mtrixban lvo lefedett nullk kztt rendelkezsnkre
ll az optimlis megolds. Ha m-nl kevesebb vonallal fedtk le az sszes nullt, akkor a
3. lps kvetkezik.
3. lps Keressk meg a reduklt kltsgmtrixban azt a legkisebb nemnulla elemet (nevezzk k-nak), amelyiket a 2. lpsben nem fedtnk le. Most vonjuk ki k-t a reduklt kltsgmtrix minden nem lefedett elembo l, valamint adjunk hozz k-t a ktszer lefedett elemekhez. Trjnk vissza a 2. lpshez.

M EGJEGYZSEK

1. Ha olyan hozzrendelsi feladatot akarunk megoldani, amelyikben a clfggvnyt maximalizlni


kell, akkor a profitmtrix minden elemt megszorozzuk 1-gyel s megoldjuk a feladatot, mint egy
minimum feladatot.
2. Ha a kltsgmtrixban a sorok s oszlopok szma nem egyenlo, akkor a hozzrendelsi feladat
kiegyenslyozatlan. Ha a feladat kiegyenslyozatlan, akkor a magyar mdszer esetleg nem ad helyes
megoldst. gy teht minden hozzrendelsi feladatot kiegyenslyozott kell tenni (egy vagy tbb
fiktv pont bevezetsvel), mielott a magyar mdszerrel megoldannk.
3. Egy nagymretu feladatban elofordulhat, hogy nem knnyu megtallni az sszes nullt lefedo fedovonalak minimlis szmt. A minimlis fedovonalszm megkeressvel foglalkozik Gillett (1976).
Bizonythat, hogy ha j vonal szksges a lefedshez, akkor csak j darab munka rendelheto hozz

6.5. Hozzrendelsi feladatok

321

a mtrix nulla kltsgelemeihez. Ez megmagyarzza, hogy az algoritmus mirt r vget, amikor m


vonal szksges a lefedshez.

A Machineco plda megoldsa magyar mdszerrel


A magyar mdszert a Machineco feladat megoldsval mutatjuk be (lsd 46. tblzat).
46.

TBLZAT

A Machineco
feladat
kltsgmtrixa

Sorminimum
14

12

10

1. lps Minden sorban kivonjuk a sorminimumot a sor minden elemb o l, gy kapjuk


a 47. tblzatot. Ezutn kivonunk 2-t a 4. oszlop minden elemb o l, s megkapjuk a 48.
tblzatot.
47. T B L Z A T
Kltsgmtrix a
sorminimumok
kivonsa utn

Oszlopminimum

10

2. lps Ahogy a tblzatbl lthat, az elso sor, a harmadik sor s az elso oszlop lefedi
a reduklt kltsgmtrix sszes nulljt. A 3. megjegyzsbo l kvetkezik, hogy az aktulis kltsgmtrixban csak hrom munka rendelheto hozz nulla kltsgelemekhez. Mivel
ngynl kevesebb vonal volt szksges az sszes nulla lefedshez, tovbbmegynk a 3.
lpsre.
3. lps A legkisebb nem lefedett elem 1, gy teht kivonunk 1-et a reduklt kltsgmtrix
minden nem lefedett elembol, s hozzadunk 1-et a ktszer lefedett elemekhez. Eredmnyl a 49. tblzatot kapjuk. Most ngy vonal szksges az sszes nulla lefedshez. Ez azt
jelenti, hogy az optimlis megolds rendelkezsre ll. Keressk meg az optimlis hozzrendelsi rendszert. Vegyk szre, hogy a harmadik oszlopban az egyetlen lefedett 0 az x 33 ,

322

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

48. T B L Z A T
Kltsgmtrix az
oszlopminimumok
kivonsa utn

10

teht x33 = 1. Ugyancsak egy lefedett nulla ll a msodik oszlopban, gy x 12 = 1. Egyttal


tudomsul vesszk, hogy az elso sor s a msodik oszlop mr nem hasznlhat fel mg
egyszer. A negyedik oszlopban teht mr csak egy lefedett nulla ll rendelkezsre, az x 24
helyen, gy x41 = 1-et vlasztjuk (ezltal kizrva a msodik sort s a negyedik oszlopot a
tovbbi felhasznlsbl). Vgl x41 = 1.
gy megtalltuk az optimlis hozzrendelst, s ez: x12 = 1, x24 = 1, x33 = 1 s x41 = 1.
Termszetesen ugyanazt az eredmnyt kaptuk, mint amikor a szlltsi szimplex mdszert
alkalmaztuk.
A magyar mdszer intuitv igazolsa
Ahhoz, hogy intuitv magyarzatot adjunk arra a krdsre, hogy mirt mukdik a magyar
mdszer, fel kell hasznlnunk a kvetkezo tnyt: ha egy kiegyenslyozott hozzrendelsi
feladatban egy sorban (vagy oszlopban) minden kltsghez hozzadjuk ugyanazt a konstans
szmot, akkor a feladat optimlis megoldsa nem vltozik. Megmutatjuk, hogy ez mirt
igaz. Tegyk fl, hogy a Machineco feladatban az elso sor kltsgeihez hozzadunk k-t.
Ekkor az
j clfggvny = rgi clfggvny+ k(x11 + x12 + x13 + x14 )
Mivel a Machineco feladat minden lehetsges megoldsban x 11 + x12 + x13 + +x14 = 1,
j clfggvny = rgi clfggvny+ k
49.

TBLZAT

Ngy vonal
szksges; az
optimlis
megolds
rendelkezsre ll

10

323

6.5. Hozzrendelsi feladatok

gy teht a Machineco feladat optimlis megoldsa vltozatlan marad, ha az els o sor


minden kltsgelemhez egy k konstanst hozzadunk. Ehhez hasonl okoskods alkalmazhat minden ms sorra vagy oszlopra.
A magyar mdszer elso lpse abbl ll (minden sorra s oszlopra), hogy a sor, illetve
oszlop minden elembol kivonunk egy konstanst. gy az elso lps egy j kltsgmtrixot szolgltat, amelyhez azonban ugyanaz az optimlis megolds tartozik, mint az eredeti
kltsgmtrixhoz. A magyar mdszer harmadik lpse (lsd a 7. feladatot ennek az alfejezetnek a vgn) azt jelenti, hogy minden olyan kltsghez hozzadunk k-t, amely kltsg
egy lefedett sorban van, s minden olyan kltsgbo l kivonunk k-t, amelyik egy nem lefedett oszlopban van (vagy fordtva). Ezltal a 3. lps egy j kltsgmtrixot ad, amelyhez
ugyanaz az optimlis megolds tartozik, mint az eredeti hozzrendelsi feladathoz. Minden
alkalommal, amikor a 3. lpst vgrehajtjuk, legalbb egy j nullt lltunk el o a kltsgmtrixban.
Az elso s harmadik lps azt is biztostja, hogy a kltsgek nemnegatvok maradnak. gy a magyar mdszer elso s harmadik lpsnek sszhatsa az, hogy (nemnegatv kltsgelemekkel rendelkezo ) hozzrendelsi feladatoknak egy olyan sorozatt lltja
elo, amelyeknek ugyanaz az optimlis megoldsa, mint az eredeti hozzrendelsi feladatnak. Tekintsk azt a hozzrendelsi feladatot, amelyben a kltsgek mind nemnegatvok.
Minden olyan lehetsges hozzrendelsnek, amelyben minden x i j = 1-hez nulla kltsg
tartozik, egy ilyen hozzrendelsi feladatban optimlisnak kell lennie. gy amikor a msodik lps azt mutatja, hogy a kltsgmtrixban tallhat sszes nulla lefedshez m vonal
szksges, akkor az eredeti feladat egy optimlis megoldshoz jutottunk.

Feladatok
A csoport
1. t alkalmazott ll rendelkezsnkre ngy munka elvgzsre. Az 50. tblzatban lthat, hogy melyik alkalmazott melyik munkt hny ra alatt tudja elvgezni. Hatrozza meg az alkalmazottak kijellst az egyes munkkra
gy, hogy a ngy munka elvgzshez szksges ido minimlis legyen!
50.

TBLZAT

Ido (rban)
Szemly
1.
2.
3.
4.
5.

1. munka 2. munka 3. munka 4. munka


22
18
26
16
21

18

20
22

30
27
28

25

18
22
28
14
28

Megjegyzs: A gondolatjelek azt jelzik, hogy az illeto szemly azt a munkt nem tudja elvgezni.
2.6 Doc Councillman a 4 100 mteres vegyes vltra vlogatja ssze szcsapatt. Minden sznak 100 mtert kell
sznia vagy mellen, vagy hton, vagy pillangn, vagy gyor6 Machol

(1970) alapjn.

son. Doc gy gondolja, hogy mindegyik sz tudja hozni


az 51. tblzatban lert idoket. Ha a csapat sszidejnek minimalizlsa a cl, akkor melyik sz melyik szsnemben
induljon?
51.

TBLZAT

Ido (msodperc)
Gary Hall
Mark Spitz
Jim Montgomery
Chet Jastremski

gyors

mell

pillang

ht

54
51
50
56

54
57
53
54

51
52
54
55

53
52
56
53

3. Tom Selleck, Burt Reynolds, Tony Geary s John Travolta egy elhagyott szigeten rekedt a kvetkezo hlgyekkel:
Olivia Newton-John, Loni Anderson, Dolly Parton s Genie Francis. Az 52. tblzatban lthat sszeegyeztethetosgi mrtkek azt mutatjk, hogy az egyes lehetsges prok mennyi boldogsghoz jutnnak, ha az egsz idot egymssal tltenk. Egy pr ltal elrt boldogsg arnyos az
egytt tlttt idovel. Pldul, ha Tony s Genie az ido felt tlti egytt, akkor az ltaluk elnyert boldogsg mrtke
1 (9) = 4.5.
2

324
52.
TS
BR
TG
JT

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

B csoport

TBLZAT

ONJ

LA

DP

GF

7
7
3
5

5
8
5
5

8
9
7
6

2
4
9
7

5. Minden szlltsi feladat megfogalmazhat hozzrendelsi feladatknt is. Ennek a gondolatnak a bemutatsra
hatrozzon meg egy olyan hozzrendelsi feladatot, amelyik felhasznlhat az 54. tblzatban lthat szlltsi feladat optimlis megoldsnak elolltsra. (tmutats: t
knlati s t keresleti pontra lesz szksg.)

(a) Legyen xi j az idonek az a trtrsze, amelyet az iedik frfi a j-edik novel tlt. A cl az, hogy a nyolc embernek a szigeten eltlttt idejn maximlis legyen az
sszboldogsga. Fogalmazzon meg egy LP-t, amelynek
optimlis megoldsa az xi j -k optimlis rtkt adja!
(b) Magyarzza meg, hogy az (a) alatti feladat optimlis
megoldsban mirt lesz ngy xi j = 1 s tizenkt xi j = 0?
Mivel az optimlis megolds rtelmben minden szemly
az ellenkezo nemuek kzl egy szemllyel tlti a teljes
idot, ezt az eredmnyt gyakran hzassgi ttelnek is nevezik.
(c) Hatrozza meg minden szemlyhez a hzastrsat!
(d) Mit gondol, rvnyesl-e itt a lineris programozs
arnyossgi feltevse?
4. Egy vllalat ngy ptkezsre fogad el ajnlatokat. Hrom ember tett ajnlatot a munkkra. Ajnlataik (ezer dollrban) az 53. tblzatban lthatk (a azt jelenti, hogy az
a szemly arra a munkra nem licitlt).
53.

TBLZAT

1
1. szemly
2. szemly
3. szemly

50
51

ptkezs
2
3
46
48
47

42
44
45

54.

TBLZAT

1
2

3
3

6. A Chicago Board of Education ajnlatokat fogad el a


vros ngy iskolabuszvonalra. Ngy vllalat ajnlkozik az
55. tblzatban lthat rakkal ($-ban).
55.

TBLZAT

rajnlatok az tvonalakra
1. vllalat
2. vllalat
3. vllalat
4. vllalat

1.

2.

3.

4.

4000

3000

5000
4000

2000
4000

4000

5000

4
40

45

Az 1. szemly csak egy konstrukcis munkt tud elvgezni,


de a 2. s 3. szemly kettot is el tud vllalni. Hatrozza meg
a minimlis kltsggel jr szemly munka hozzrendelst!

(a) Tegyk fl, hogy egy ajnlkoz vllalat csak egy tvonalat kaphat meg. Hasznlja a hozzrendelsi mdszert
arra, hogy Chicago a ngy busztvonalat minimlis kltsggel lthassa el!
(b) Tegyk fl, hogy az egyes vllalatok kt tvonalat is
elvllalhatnak. Hasznlja a hozzrendelsi mdszert Chicago ngy buszkltsgnek minimalizlsra! (tmutats: Minden vllalathoz kt knlati pontra lesz szksg.)
7. Mutassa meg, hogy a magyar mdszer harmadik lpse a kvetkezo muveletek vgrehajtst jelenti: (1) Adjunk hozz k-t minden olyan kltsghez, amelyik egy lefedett sorban fekszik. (2) Vonjunk ki k-t minden olyan kltsgbol, amelyik egy nem lefedett oszlopban fekszik.
8. Tegyk fl, hogy ci j egy hozzrendelsi feladat iedik sornak s j-edik oszlopnak legkisebb eleme. Igaz-e,
hogy szksgkppen brmely optimlis hozzrendelsben
xi j = 1?

6.6. sszetett szlltsi feladatok

6.6.

325

sszetett szlltsi feladatok


Egy szlltsi feladat csak olyan szlltsokat enged meg, amelyek egy knlati pontbl
egyenesen egy keresleti pontba irnyulnak. Nagyon sok olyan helyzet van azonban, amelyekben knlati pontok kztt, vagy keresleti pontok kztt is szlltsok trtnnek. Nha
elofordulhatnak a szlltsban kzbenso llomsok is (ezeket tszlltsi vagy kzblso
szlltsi pontoknak nevezzk). sszetett szlltsi feladatok azok, amelyekben hasonl
termszetu esemnyek elofordulnak. Szerencsre egy sszetett szlltsi feladat optimlis
megoldsa mindig megtallhat egy szlltsi feladat megoldsa rvn.
A kvetkezokben gy definiljuk a knlati pontot, mint egy olyan pontot, amelyik
egy msik pontra termkeket kldhet, de nem fogadhat termkeket egyetlen msik pontrl
sem. Ehhez hasonlan a keresleti pont egy olyan pont, amelyik ms pontokrl termkeket
fogadhat, de nem kldhet termkeket egyetlen ms pontra sem. Az tszlltsi pont egy
olyan pont, amelyik fogadhat is termkeket ms pontokrl, s kldhet is termkeket ms
pontokra. A kvetkezo plda ezeket a defincikat mutatja be (a azt jelenti, hogy a
szllts abban a viszonylatban nem lehetsges).

5.

56.

PLDA

A Widgetco herkentyuket kszt kt gyrban, az egyik Denverben van, a msik Memphisben. A memphisi gyr naponta legfeljebb 150 herkentyut tud kszteni, a denveri gyr pedig naponta legfeljebb 200 herkentyut tud elo lltani. A herkentyuket Los Angelesbe s
Bostonba szlltjk a vevokhz, lgi ton. A vevok ignye mindkt vrosban naponta 130
herkentyu. A lgi szlltsi djak szablyozatlansga miatt a Widgetco gy gondolja, hogy
esetleg olcsbb lehet nhny herkentyut elo szr New Yorkba vagy Chicagba repltetni, s
onnan a rendeltetsi helyeikre. Egy herkentyu szlltsi kltsgei az 56. tblzatban lthatk. A Widgetco minimalizlni szeretn a kvnt mennyisgu herkentyuknek a fogyasztkhoz trtno szlltsi sszkltsgt.

TBLZAT

Szlltsi
kltsgek ($) az
sszetett
szlltshoz

Hov
Honnan

Memphis

Denver

N.Y.

Chicago

L.A.

Boston

Memphis
Denver
N.Y.
Chicago
L.A.
Boston

8
15
0
6

13
12
6
0

25
26
16
14
0

28
25
17
16

Ebben a feladatban Memphis s Denver knlati pontok, rendre 150 s 200 herkentyu
napi knlattal. New York s Chicago tszlltsi pontok. Los Angeles s Boston keresleti
pontok, mindketto napi 130 herkentyu ignnyel. A lehetsges szlltsok grafikus szemlltetse a 7. brn lthat.
Most megmutatjuk, hogy egy ilyen sszetett szlltsi feladat optimlis megoldsa hogyan kaphat meg egy szlltsi feladat megoldsval. Egy adott sszetett szlltsi feladat
esetn eloszr is egy kiegyenslyozott szlltsi feladatot alkotunk a kvetkez o eljrssal
(felttelezzk, hogy az sszknlat meghaladja az sszkeresletet):
1. lps Ha szksges, akkor vegynk fel egy fiktv keresleti pontot (0 knlattal s a
feladat tlknlatnak megfelelo kereslettel) a feladat kiegyenslyozsra. A szlltsok

326

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

7. B R A
Egy sszetett
szlltsi feladat

kltsge a fiktv pontra, s egy pontrl nmaghoz termszetesen nulla. Legyen s = az


sszes rendelkezsre ll knlat.
2. lps rjunk fel egy szlltsi tblzatot a kvetkezo kppen: a tblzatban minden knlati ponthoz s minden tszlltsi ponthoz kell egy-egy sor, s minden keresleti ponthoz s
minden tszlltsi ponthoz kell egy-egy oszlop. Minden knlati pont knlata egyenl o az
eredeti knlattal, s minden keresleti pont kereslete egyenlo az eredeti kereslettel. Legyen
s = az sszes rendelkezsre ll knlat. Ezutn az egyes tszlltsi pontoknl a knlat
= ( a pont eredeti knlata ) + s; a kereslet = ( a pont eredeti kereslete ) + s. Ez azt biztostja, hogy brmely tszlltsi pontnak, amelyik tisztn knlati, lesz egy nett kiszlltsa,
ami egyenlo a pont eredeti knlatval, s ehhez hasonlan, egy tisztn keresletinek pedig
lesz egy nett beszlltsa, ami egyenlo a pont eredeti keresletvel. Br nem tudjuk, hogy
mennyit fogunk az egyes tszlltsi pontokon keresztl szlltani, abban biztosak lehetnk,
hogy a teljes mennyisg nem lpi tl s-t. Ez a magyarzata annak, hogy mirt adtunk hozz
s-t a knlathoz s kereslethez mindegyik tszlltsi ponton. Ugyanazt a mennyisget hozzadva a knlathoz s a kereslethez biztostjuk azt, hogy az egyes tszlltsi pontokon a
tiszta kiszllts mennyisge korrekt lesz, s kzben megtartottuk a szlltsi tblzat kiegyenslyozottsgt.
A Widgetco pldban ez az eljrs az 57. tblzatban bemutatott szlltsi tblzatot s
az ugyancsak ott lthat optimlis megoldst adja. Mivel s = (sszknlat) = 150 + 200 =
350 s (sszkereslet) = 130 + 130 = 260, a fiktv keresleti pont kereslete: 350 260 = 90.
A szlltsi tblzat egyb knlatai s keresletei gy addnak, hogy s = 350-et hozzadunk
az tszlltsi pontok knlathoz s kereslethez.
Az sszetett szlltsi feladatbl alkotott szlltsi feladat megoldsnak rtelmezshez egyszeruen figyelmen kvl hagyjuk a fiktv pontra val szlltsokat s egy pont nmaghoz trtno szlltsait. Az 57. tblzatbl kiolvashatan a Widgetco ksztsen 130
herkentyut Memphisben, ezeket szlltsa New Yorkba s New Yorkbl szlltsa tovbb Los
Angelesbe. A Denverben elolltott 130 herkentyut egyenesen Bostonba kell szlltani. Az
egyes vrosokbl trtno nett kiszlltsok:
Memphis:
Denver:
N.Y.:

130 + 20
130 + 70

= 150
= 200

220 + 130 130 220 = 0

6.6. sszetett szlltsi feladatok

57. T B L Z A T
sszetett szlltsi
feladat felrsa
kiegyenslyozott
szlltsi
feladatknt

N.Y.

Chicago
8

Memphis

L.A.

13

25

12

26

25

220

17

200
0

130
6

Chicago

16

150

70

130

350
14

16

350
350

350

Chicago:
L.A.:
Boston:
Fiktv keresleti pont:

Knlat

0
20

15

Kereslet

28

130

Denver

N.Y.

Fiktv keresleti
pont

Boston

327

350
130

130

90

350 350

=0

20 70

= 90

130
130

Egy negatv kiszllts beszlltst jelent. Figyeljk meg, hogy mindegyik tszlltsi
pontnak (New York s Chicago) a nett kiszlltsa 0; amit beszlltottunk egy tszlltsi
pontra, azt onnan ki is kell szlltani. A 8. brn grafikusan is bemutatjuk a Widgetco plda
optimlis megoldst.
8. B R A
A Widgetco
feladat optimlis
megoldsa

Tegyk fl, hogy mdostjuk a Widgetco pldt s megengednk szlltsokat Memphis


s Denver kztt. Ezzel Memphis s Denver tszlltsi pontokk vltoznnak, s az 57.
tblzathoz mg Memphis s Denver oszlopokat kellene csatolni. gy a Memphis sornak
a tblzatban 150 + 350 = 500 lenne a knlata, a Denver sornak pedig 200 + 350 = 550
lenne a knlata. Az j Memphis oszlop kereslete 0 + 350 = 350 lenne, az j Denver oszlop
kereslete pedig 0 + 350 = 350 lenne. Vgl tegyk fl, hogy az L.A. s Boston keresleti
pontok kztt is lehetne szllts. Ezzel L.A. s Boston is tszlltsi pontokk vlna, a
tblzathoz pedig L.A. s Boston sorokat kellene csatolni. A knlat mind L.A., mind Boston sorban 0 + 350 = 350 lenne, a kereslet pedig mind az L.A., mind a Boston oszlopban
130 + 350 = 480 lenne.

328

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

Feladatok
A csoport

Angelesben s 140 000 hord New Yorkban. Az 59. tblzatban az 1000 hordra eso szlltsi kltsgek lthatk
($-ban). Fogalmazzon meg egy sszetett szlltsi modellt
(s a vele ekvivalens szlltsi modellt), amelyik minimalizlja a Los Angeles s New York vrosban lvo ignyek
kielgtsnek szlltsi kltsgeit!

1. A General Ford autkat gyrt L.A.-ben s Detroitban,


van egy raktra Atlantban s Houstonban, valamint Tampban knlja autit a vevoknek. Az 58. tblzatban lthatk
egy aut szlltsi kltsgei ($-ban) az egyes pontok kztt
(a jel azt jelenti, hogy a szllts nincs megengedve).
L.A.-ben legfeljebb 1100 aut gyrthat, Detroitban legfeljebb 2900 aut gyrthat. Houston ignye 2400 aut, Tampa
ignye 1500 aut.
58.

3. A 2. feladatban ttelezzk fel, hogy mielott Los Angelesbe vagy New Yorkba menne egy szlltmny, a kutakbl kinyert olajat vagy Galvestonban, vagy Mobile-ban finomtani kell. 1000 hord olaj finomtsa Mobile-ban 12$ s
Galvestonban 10$. Feltve, hogy mind Mobile, mind Galveston olajfinomt kapacitsa vgtelen nagy, fogalmazzon
meg egy sszetett szlltsi s kiegyenslyozott szlltsi
modellt a napi szlltsi s finomtsi kltsgek minimalizlsra, Los Angeles s New York olajszksgletnek kielgtsre!

TBLZAT

Hov
Honnan L.A. Detroit Atlanta Houston Tampa
L.A.
0
Detroit 145
Atlanta 105
Houston 89
Tampa 210

140
0
115
109
117

100
111
0
121
82

90
110
113
0

225
119
78

4. Dolgozza t a 3. feladatot azzal a felttelezssel, hogy


Galveston napi finomt kapacitsa 150 000 hord, s Mobile- 180 000 hord! (tmutats: Mdostsa azt a mdszert, amelyet az egyes tszlltsi pontok knlatnak s
keresletnek meghatrozsra alkalmaztunk. Hasznlja azt
gy fel, hogy beptse a modellbe a finomtk kapacitskorltait, de kzben figyeljen arra, hogy a feladat kiegyenslyozott maradjon!)

(a) Fogalmazzon meg egy kiegyenslyozott szlltsi


feladatot, amelyik minimalizlja a Houston s Tampa
ignyeit kielgto szlltsi kltsgeket!

5. A General Fordnak kt gyrtelepe, kt raktra s hrom


vevoje van. Ezek elhelyezkedse a kvetkezo:

(b) Mdostsa vlaszt az (a) krdsre, ha L.A. s Detroit kztt nincs megengedve a szllts!

gyrtelepek: Detroit s Atlanta

(c) Mdostsa a vlaszt az (a) krdsre, ha Houston s


Tampa kztt 5 dollrrt megengedett a szllts!

raktrak: Denver s New York


vevok: Los Angeles, Chicago s Philadelphia

2. A Sunco Oil kt ktbl nyeri az olajat. Az 1. kt naponta legfeljebb 150 000 hordt ad, a 2. kt naponta legfeljebb 200 000 hord olajat szolgltat. Lehetsges az is, hogy
az olajat a kutaktl egyenesen a Sunco vevoihez szlltjk
Los Angelesbe s New Yorkba. Egy msik lehetosg az,
hogy a Sunco elszlltja az olajat Mobile s Galveston kiktoibe, s azutn tankhajval szlltja tovbb New Yorkba
s Los Angelesbe. Az ignyek: naponta 160 000 hord Los

59.

Az autkat a gyrtelepeken gyrtjk, azutn raktrba kerlnek, vgl pedig a vevokhz szlltjk. Detroit hetenknt
150 autt, Atlanta hetente 100 autt tud gyrtani. Los Angeles ignye 80 aut hetente, Chicago ignye 70, s Philadelphia ignye 60 aut hetente. Mindegyik telepen 10 000$ba kerl egy aut gyrtsa, s a szlltsi kltsgek ($-ban)
a 60. tblzatban lthatk. Hatrozza meg, hogyan lehet a

TBLZAT

Hov
Honnan

1. kt

2. kt

Mobile

Galveston

N.Y.

L.A.

1. kt
2. kt
Mobile
Galveston
N.Y.
L.A.

10
15
0
6

13
12
6
0

25
26
16
14
0
15

28
25
17
16
15
0

Megjegyzs:

A gondolatjelek azt jelentik, hogy nincs megengedett szllts.

sszefoglals

329

General Ford heti kvetelmnyeinek minimlis kltsggel


megfelelni!

ktvnyekre bntets van. A 61. tblzat mutatja ezeket a


bntetseket ($-ban) az egyes ktvnyfajtk 1 dollrjra.

60.

61.

TBLZAT

TBLZAT

Az elads hnapja

Hov
Honnan

Denver

New York

Detroit
Atlanta

1253
1398

637
841

Ktvny 1
1
2
3

0.21 0.19 0.17 0.13 0.09 0.05


0.50 0.50 0.50 0.33 0
0
1.00 1.00 1.00 1.00 1.00 0

Hov
Honnan

Los Angeles Chicago Philadelphia

Denver
New York

1059
2786

996
802

1691
100

B csoport
6.7 Egy vllalatnak a kvetkezo hat hnapban minden hnap elejn a kvetkezo kszpnzignye van: 1. hnapban
200$; 2. hnapban 100$; 3. hnapban 50$; 4. hnapban 80$;
5. hnapban 160$; 6. hnapban 140$. Az elso hnap elejn a cgnek van 150$ kszpnze s 200$ rtku ktvnye
az egyik tpusbl, 100$ rtku ktvnye a msik tpusbl
s 400$ rtku ktvnye a harmadik tpusbl. A vllalatnak majd el kell adnia nhny ktvnyt, hogy ignyei kielgthetok legyenek, de a hatodik hnap vge elott eladott

(a) Feltve, hogy minden szmlt idoben ki kell fizetni,


fogalmazzon meg egy kiegyenslyozott szlltsi feladatot, amelyik minimalizlja a kszpnzignyek kielgtsnek kltsgeit a kvetkezo hat hnapra!
(b) Felttelezzk, hogy a szmlkat ksve is ki lehet
fizetni, de havonta 5 cent bntetst kell fizetni minden
egyes egy hnapra elodzott kifizets utn. Feltve, hogy
a hatodik hnap vgre minden szmlt ki kell fizetni,
dolgozzon ki egy sszetett szlltsi modellt, amelyik minimalizlja a kvetkezo hat hnap szmlinak kifizetsvel jr kltsget! (tmutats: tszlltsi pontok kellenek a kvetkezo formban: Ct = rendelkezsre ll kszpnz a t-edik hnap elejn, miutn a ktvnyeket a t-edik
hnapban eladtk, de mielott a t-edik hnap szksglett kielgtettk volna. Szlltsok Ct -be ktvnyeladsbl s Ct1 -bol trtnnek. Szlltsok Ct -bol Ct+1 -be s
az 1, 2, . . .t hnapok ignyeibe trtnnek.)

sszefoglals
Jellsek
m = knlati pontok szma
n = keresleti pontok szma
xi j = az i-edik knlati pontbl a j-edik keresleti pontba szlltott egysgek szma
ci j = 1 egysg szlltsi kltsge az i-edik knlati pontbl a j-edik keresleti pontba
si = az i-edik knlati pont knlata
d j = a j-edik keresleti pont kereslete
ci j = xi j egytthatja a clfggvny sorban egy adott tblzatban
ai j = xi j oszlopa a szlltsi felttelben
Egy szlltsi feladat kiegyenslyozott, ha az sszknlat egyenlo az sszkereslettel. Ha
az ebben a fejezetben trgyalt mdszerrel oldunk meg egy szlltsi feladatot, a feladatot
7 Srinivasan

(1974) alapjn.

330

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

eloszr ki kell egyenslyozni egy fiktv knlati vagy egy fiktv keresleti pont beiktatsval.
Egy kiegyenslyozott szlltsi feladat gy rhat fel:
min

i=m j=n

ci j xi j

i=1 j=1
j=n

f.h.

xi j = s i

(i = 1, 2, . . . , m)

(knlati felttelek)

xi j = d j

( j = 1, 2, . . . , n)

(keresleti felttelek)

j=1
i=m
i=1

xi j 0 (i = 1, 2, . . . , m; j = 1, 2, . . . , n)

Lehetsges bzismegolds megkeresse a kiegyenslyozott


szlltsi feladatban
A kiegyenslyozott szlltsi feladat egy lehetsges bzismegoldst megkereshetjk az
szaknyugati sarok mdszerrel, a minimlis kltsg mdszerrel s a Vogel mdszerrel.
Nzzk ezek kzl az elsot! Az szaknyugati sarok mdszer gy adja meg az indul lehetsges bzismegoldst, hogy a vltozk megvlasztst a tblzat bal fels o (szaknyugati)
sarkban kezdjk, s x11 -nek olyan nagy rtket adunk, amekkort lehet. Magtl rtet o do,
hogy x11 nem lehet nagyobb, mint s1 s d1 kzl a kisebbik. Ha x11 = s1 , akkor trljk a
szlltsi tblzat elso sort; ezzel jelezzk, hogy a tblzat elso sorbl mr nem kerlhet
be tbb bzisvltoz. Egyttal d1 -et d1 s1 -re vltoztatjuk. Ha x11 = d1 , akkor trljk
a szlltsi tblzat elso oszlopt s s1 -et s1 d1 -re vltoztatjuk. Ha x11 = s1 = d1 , akkor
trljk vagy az elso sort, vagy az elso oszlopot (de nem mindkettot). Ha az elso sort trljk, akkor d1 -et 0-ra vltoztatjuk, ha az elso oszlopot trljk, akkor s1 -et vltoztatjuk 0-ra.
Folytatjuk ezt az eljrst a legszaknyugatibb cellval, amelyik egy nem trlt sorban vagy
oszlopban fekszik. Vgl eljutunk oda, hogy mr csak egyetlen cella van, amelynek rtket adhatunk. Kijelljk ehhez a cellhoz a sorhoz vagy oszlophoz tartoz rtket, s most
egyszerre trljk a cella sort s oszlopt. gy egy lehetsges bzismegoldshoz jutunk.

A szlltsi feladat optimlis megoldsnak megkeresse


1. lps Ha a feladat kiegyenslyozatlan, akkor egyenslyozzuk ki.
2. lps Alkalmazzuk a 6.2. alfejezetben lert mdszerek egyikt egy lehetsges bzismegolds felrsra.
3. lps Hasznljuk fel azt a tnyt, hogy minden bzisvltozra u 1 = 0 s ui + v j = ci j , s
gy szmtsuk ki [ u1 u2 . . . um v1 v2 . . . vn ]-et az aktulis lehetsges bzismegoldsra.
4. lps Ha minden nembzis vltozra ui + v j ci j 0, akkor az aktulis lehetsges
bzismegolds optimlis. Ha nem ez az eset ll fenn, akkor a bzisba azt a vltozt lptetjk be, amelyikhez a legnagyobb pozitv ui + v j ci j tartozik. A belptets egy hurok
segtsgvel trtnik. Megkeressk a hurkot, s csak a hurokban lvo cellkat szmolva
megjelljk a pros cellkat, s megjelljk a pratlan cellkat is. Ezutn megkeressk azt
a pratlan cellt, amelyikhez a legkisebb rtk tartozik. Az ehhez a pratlan cellhoz
tartoz vltoz kilp a bzisbl. A bzisvltozk cserjt gy hajtjuk vgre, hogy minden
pratlan cella rtkt -val cskkentjk, s minden pros cella rtkt -val nveljk. A
hurokban nem szereplo vltozk rtkei vltozatlanok maradnak. gy vgrehajtottuk a bzisvltozk cserjt. Ha = 0, akkor a belpo vltoz rtke 0 lesz, s az egyik olyan

sszefoglals

331

pratlan vltoz, amelyiknek 0 az rtke, kilp a bzisbl. Ebben az esetben egy degenerlt lehetsges bzismegoldsunk lesz. Ha a hurokban egynl tbb cella rtke , akkor
tetszolegesen vlaszthatjuk ki ezek kzl, hogy melyiket lptetjk ki a bzisbl, s gy is
degenerlt lehetsges bzismegoldshoz jutunk. A vltozk cserje egy j lehetsges bzismegoldst ad.
5. lps Az j lehetsges bzismegoldssal visszatrnk a 3. s 4. lpshez.
Maximalizlsi feladat esetben ugyangy jrunk el, de a 4. lps helyett a 4 0 lpst
hajtjuk vgre.
40 . lps Ha minden nembzis vltozra ui + v j ci j 0, akkor az aktulis lehetsges bzismegolds optimlis. Ellenkezo esetben a szoksos bziscsere eljrssal belptetjk a bzisba azt a vltozt, amelyikhez a legnagyobb abszolt rtku negatv u i + v j ci j tartozik.

Hozzrendelsi feladatok
A hozzrendelsi feladat egy olyan kiegyenslyozott szlltsi feladat, ahol minden kereslet s knlat egysgnyi. Az m m-es hozzrendelsi feladatot hatkonyan meg tudjuk
oldani a magyar mdszer segtsgvel:
1. lps Keressk meg a kltsgmtrix minden sorban a legkisebb elemet. Kpezznk
egy j mtrixot gy, hogy a sorok minden elembo l kivonjuk az illeto sor legkisebb elemt.
Ebben az j mtrixban keressk meg minden oszlopban a legkisebb elemet. Kpezznk egy
j mtrixot (reduklt kltsgmtrix) gy, hogy minden oszlopban az oszlop minden egyes
elembol kivonjuk a legkisebb kltsgelemet.
2. lps A reduklt kltsgmtrixban a leheto legkevesebb vonallal fedjk le az sszes
nullt. Ha m vonal szksges a lefedshez, akkor az optimlis megolds rendelkezsnkre
ll a mtrixban lvo lefedett nullk kztt. Ha m-nl kevesebb vonal kell a lefedshez,
akkor az eljrst a 3. lpssel folytatjuk.
3. lps A reduklt kltsgmtrixban keressk meg azt a legkisebb nemnulla elemet (k),
amelyiket a 2. lpsben nem fedtnk le egy vonallal sem. Ezutn vonjunk ki k-t minden le
nem fedett elembol, s adjunk hozz k-t minden ktszer lefedett elemhez. Trjnk vissza a
2. lpshez.

M EGJEGYZSEK

1. Ha olyan hozzrendelsi feladatot oldunk meg, amelyikben a clfggvnyt maximalizlni akarjuk, akkor a profitmtrixot vgigszorozzuk 1-gyel, s megoldjuk a feladatot, mint egy minimum
feladatot.
2. Ha a sorok s oszlopok szma nem egyenlo, akkor a feladat kiegyenslyozatlan. A magyar mdszer esetleg nem ad j megoldst, ha a feladat kiegyenslyozatlan. gy mielo tt a magyar mdszerrel
hozzkezdennk a hozzrendelsi feladat megoldshoz, elobb ki kell egyenslyoznunk azt (egy vagy
tbb fiktv pont hozzadsval).

sszetett szlltsi feladatok


Egy sszetett szlltsi feladatban szerepelhetnek knlati s keresleti pontok kztt szlltsok, valamint elofordulhatnak olyan kzbenso tszlltsi pontok is, amelyeken keresztl

332

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

az rucikkeket egy knlati pontrl egy keresleti pontra tszlltjk. A kvetkez o mdszer
alkalmazsval egy sszetett szlltsi feladatot talakthatunk egy kiegyenslyozott szlltsi feladatt.
1. lps Szksg esetn csatoljunk egy fiktv keresleti pontot (amelyiknek 0 knlata van,
s a kereslete egyenlo a feladat tlknlatval), hogy kiegyenslyozzuk a feladatot. A fiktv
pontra val szlltsi kltsg s egy pontrl nmagra val szlltsi kltsg termszetesen
nulla. Legyen s = a rendelkezsre ll sszknlat.
2. lps rjunk fel egy olyan szlltsi tblzatot, amelyben minden knlati ponthoz s
minden tszlltsi ponthoz tartozik egy sor, s minden keresleti ponthoz s minden tszlltsi ponthoz tartozik egy oszlop. Az egyes knlati pontokhoz az eredeti knlat, az egyes
keresleti pontokhoz az eredeti kereslet tartozik. Legyen s = a rendelkezsre ll sszknlat. Ekkor minden tszlltsi pont knlata = (a pont eredeti knlata) + s, s a kereslet =
(a pont eredeti kereslete) + s.

Szlltsi feladatok rzkenysgvizsglata


Az 5. fejezet rzkenysgvizsglatnak trgyalsmdjt kvetve kielemezhetjk, hogy a
szlltsi feladatban eszkzlt egy-egy vltoztats hogyan befolysolja a feladat optimlis
megoldst.
1. vltoztats Egy nembzis vltoz clfggvny egytthatjnak megvltoztatsa. Az
aktulis bzis egszen addig optimlis marad, amg a clfggvny sorban x i j egytthatja
nem pozitv.
2. vltoztats Egy bzisvltoz clfggvny egytthatjnak megvltoztatsa. Itt meg
kell nznnk, hogy az aktulis bzis optimlis marad-e. Ki kell szmtanunk az j u i -ket
s v j -ket, s ezek segtsgvel ki kell rtkelnnk az sszes nembzis vltozt. Az aktulis bzis egszen addig optimlis marad, amg a clfggvny sorban minden nembzis
vltoz egytthatja nempozitv.
3. vltoztats Az si knlat s a d j kereslet nvelse -val:
j z rtk = rgi z rtk + ui + v j
A dntsi vltozk j rtkeit a kvetkezo mdon tallhatjuk meg:
1.

Ha xi j az optimlis megolds egyik bzisvltozja, akkor xi j -t -val nveljk.

2. Ha xi j az optimlis megoldsban egy nembzis vltoz, akkor keressk meg az x i j -t


s mg kizrlag bzisvltozkat tartalmaz hurkot. Kivlasztunk az i-edik sorban egy a
hurokban lvo pratlan cellt. Ennek a pratlan cellnak az rtkt -val nveljk, vgighaladunk a hurkon, a hurokban szereplo aktulis bzisvltozk rtkeit felvltva -val
nvelve s cskkentve.

ttekinto feladatok

333

ttekinto feladatok
A csoport
1. A Televco hrom zemben tv-kpcsveket gyrt. Az 1.
zem hetenknt legfeljebb 50 kpcsvet, a 2. zem hetenknt legfeljebb 100 kpcsvet, a 3. zem pedig hetenknt
legfeljebb 50 kpcsvet tud elolltani. Az egy kpcsore eso
profit ($-ban megadva) attl fgg, hogy melyik telephelyen
gyrtottk, s attl, hogy melyik vevo veszi meg a kpcsvet (lsd 62. tblzat). Az 1. vevo legfeljebb 80 kpcsvet
vesz meg hetenknt, a 2. vevo legfeljebb 90-et s a 3. vevo
legfeljebb 100-at. A Televco egy olyan gyrtsi s szlltsi
tervet keres, amelyik maximalizlja a profitjt.
62.

TBLZAT

1. vevo

2. vevo

3. vevo

1. telep
2. telep
3. telep

75
79
85

60
73
76

69
68
70

(b) Alkalmazza az szaknyugati sarok mdszert egy lehetsges bzismegolds megkeressre!


(c) Hasznlja a szlltsi szimplex mdszert a feladat
optimlis megoldshoz!
2. t munks ll rendelkezsre ngy munkafeladat vgrehajtshoz. A 63. tblzatban lthat, hogy az egyes munksok mennyi ido alatt tudjk vgrehajtani a feladatot. A
cl az, hogy a munksok gy legyenek kijellve az egyes
feladatokra, hogy az sszido minimlis legyen. Hasznlja a
magyar mdszert a feladat megoldsra!
TBLZAT

Ido (rban)
1. munka 2. munka 3. munka 4. munka
1. munks
2. munks
3. munks
4. munks
5. munks

10
12
12
6
16

15
8
9
12
12

10
20
12
15
8

15
16
18
18
12

3. Egy vllalatnak a kvetkezo ignyeket kell kielgtenie


egy termkbol: janurban 30 egysg, februrban 30 egysg
8 Evans

(1984) alapjn.

TBLZAT

Gyrtsi
kapacits

Egysgnyi termelsi
kltsg ($)

35
30
35

400
420
410

(a) Fogalmazzon meg egy kiegyenslyozott szlltsi


feladatot a kereslet kielgtsnek sszkltsgre (ez tartalmazza a ksleltets, raktrozs s gyrts kltsgeit)!

(a) rjon fel egy olyan kiegyenslyozott szlltsi feladatot, amelyik maximalizlja a Televco profitjt!

63.

64.

Janur
Februr
Mrcius

Hov
Honnan

s mrciusban 20 egysg. A kereslet kielgtse ksleltetheto, de ennek kltsge 5$ egysgenknt, havonta. Mrcius
vgig minden keresletet ki kell elgteni. Ha teht pldul
a januri 1 egysg keresletet csak mrciusban tudjk kielgteni, akkor a ksleltets kltsge 5(2) = 10$.
A 64. tblzat mutatja a havi gyrtsi kapacitsokat s az
egysgnyi termelsi kltsgeket havonta. A raktrozott termkekre minden hnap vgn egysgenknt 20$ trolsi
kltsg lp fel.

(b) Alkalmazza a Vogel mdszert egy lehetsges bzismegolds megkeressre!


(c) Alkalmazza a szlltsi szimplex mdszert annak
meghatrozsra, hogyan kell a havi keresleteket kielgteni! Adja meg az optimlis megolds szveges magyarzatt!
4. Az Appletree takart vllalatnl t takartno dolgozik. A laksom teljes kitakartsa porszvzsbl, a konyha
kitakartsbl, a frdoszoba kitakartsbl s ltalnos
rendraksbl ll. A 65. tblzat megadja, hogy az egyes
takartnoknek az egyes munkk mennyi ideig tartanak.
Mindegyikk egy munkt vgez el. Alkalmazza a magyar
mdszert annak eldntsre, hogy melyik takartno melyik
munkt lssa el gy, hogy a laks kitakartsa a leheto legkevesebb munkart hasznlja fel!
5.8 Az llami Egyetem jelenleg 200 file-t tud trolni merevlemezen, 100-at a szmtgp-memriban s 300-at
szalagon. A felhasznlk 300 szvegszerkeszto, 100 programcsomag s 100 adatfile-t szeretnnek trolni. Egy tipikus szvegszerkeszto file-t minden hnapban nyolcszor, egy
tipikus programcsomagot ngyszer, s egy tipikus adatfile-t
ktszer hvnak le. Amikor egy file-t lehvnak, a megjelents ideje a file tpustl s a trols mdjtl fgg (lsd 66.
tblzat).
(a) Fogalmazzon meg egy kiegyenslyozott szlltsi
feladatot a file-ok trolsra, ha az a cl, hogy a felhasznlnak havonta a leheto legkevesebb idot kelljen a hozzfrsre fordtani!

334
65.

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok


TBLZAT

Ido (rban)

1. takartno
2. takartno
3. takartno
4. takartno
5. takartno

porszvzs

a konyha
kitakartsa

a frdoszoba
kitakartsa

ltalnos
rendraks

6
9
8
7
5

5
8
5
7
5

2
7
9
8
6

1
3
4
3
4

(b) Hasznlja a minimlis kltsg mdszert egy lehetsges bzismegolds megtallsra!

68.

TBLZAT

Tanulk
szma

(c) Alkalmazza a szlltsi szimplex mdszert egy optimlis megolds megkeressre!


66.

TBLZAT

szvegszerkeszts

programcsomag

adat

5
2
10

4
1
8

4
1
6

Merevlemez
Memria
Szalag

6. A Gotham City rendorsg ppen most kapott hrom telefonhvst. Jelenleg t aut van szolglatban. A 67. tblzat mutatja, hogy az egyes autk milyen tvolsgra vannak az egyes hvsoktl (a tvolsgot hztmbkben adjuk
meg). Gotham City szeretn minimalizlni az ssztvolsgot, vagyis azoknak az utaknak az sszegt, amennyit az
egyes autknak meg kell tennik a hvs helysznre rkezshez. Hasznlja a magyar mdszert annak eldntsre,
hogy melyik aut melyik hvs helysznre menjen!
67.

fehrek feketk 2. krzethez 3. krzethez


1. krzet
2. krzet
3. krzet

Ido (percben)

Tvolsg

210
210
180

120
30
150

5
4

Fogalmazzon meg egy kiegyenslyozott szlltsi feladatot


arra, hogy a tanulk ltal buszon megtett ssztvolsg minimlis legyen, mikzben eleget tesznek a Legfelsobb Brsg
elorsnak! Felttelezzk, hogy az olyan tanul, aki a sajt
iskolakrzetben marad, nem buszozik.
8. Hasznljon szaknyugati sarok mdszert egy lehetsges bzismegolds megtallsra, s keresse meg (a szlltsi szimplex mdszer segtsgvel) az optimlis megoldst
a 69. tblzatban bemutatott szlltsi (minimum) feladatra!
69.

TBLZAT

12

14

16
60

TBLZAT

14

13

19

Tvolsg (hztmbben)
1. aut
2. aut
3. aut
4. aut
5. aut

1. hvs

2. hvs

3. hvs

10
6
7
5
9

11
7
8
6
4

18
7
5
4
7

7. Busville vrosban hrom iskolakrzet van. A 68. tblzat mutatja az egyes krzetekhez tartoz fekete s fehr
tanulk szmt. A Legfelsobb Brsg elorsa szerint azonban a vrosban az iskolkban egyenletesen kell elosztani a
klnbzo tanulkat. gy minden iskolba pontosan 300 tanul fog jrni, s minden iskolban ugyanannyi fekete tanulnak kell lennie. A 68. tblzatban az iskolakrzetek kztti tvolsgok is lthatk.

50
17

15

18
40

40
9.

70

10

Oldja meg a kvetkezo LP-t:


min z = 2x1 + 3x2 + 4x3 + 3x4
f.h.

x 1 + x2

x3 + x 4 5

x1

+ x3
x2

xj 0

+ x4 6

( j = 1, 2, 3, 4)

ttekinto feladatok
10. Keresse meg a 70. tblzatban megadott (kiegyenslyozott szlltsi minimalizlsi) feladat optimlis megoldst!
70.

a New York-iaknak naponta 300 000 hord finomtott olajra


van szksgk. A 72. tblzat 100 000 hord (finomtott
vagy finomtatlan) olaj szlltsi kltsgt mutatja ($-ban)
az egyes vrosok kztt. Fogalmazzon meg egy kiegyenslyozott szlltsi modellt ennek a helyzetnek a lersra!

TBLZAT

72.

15
12

Honnan

10

10

10

2
10

18

12

12

13. Keresse meg az optimlis megoldst a 12. feladathoz!


14. Az Oilcnak olajmezoi vannak San Diego s Los Angeles krnykn. A San Diegi mezo naponta legfeljebb
500 000 hord, a Los Angeles-i naponta legfeljebb 400 000
hord olajat ad. Az olaj a mezokrol egy finomtba kerl,
vagy Dallasba, vagy Houstonba (felttelezzk, hogy az olajfinomtknak korltlan kapacitsuk van). 100 000 hord olaj
finomtsa Dallasban 700$-ba, Houstonban 900$-ba kerl.
A finomtott olajat a chicagi s New York-i fogyasztkhoz szlltjk. A Chicagi fogyasztknak naponta 400 000,

Rendelkezsre ll autk szma

Atlanta
Boston
Chicago
L.A.
74.

1
15

550
530

TBLZAT

Telep

6
5

450
470

17. Egy vllalat Atlantban, Bostonban, Chicagban s


Los Angelesben gyrt autkat. Az autkat a gyrts utn
a kvetkezo helyeken lvo raktrakba szlltjk: Memphis,
Milwaukee, New York City, Denver s San Francisco. A 73.
tblzatban az egyes telepeken gyrtott autk szma lthat.
Minden raktrban szksg van bizonyos szm autra, ezeket a szmokat a 74. tblzatban adjuk meg. Az egyes vrosok kztti tvolsgok (mrfldben) a 75. tblzatban lthatk.
73.

110
100

16. A Powerco feladatban keresse meg c23 rtkeinek azt


a tartomnyt, amelyben az aktulis bzis optimlis marad!

TBLZAT

11

300
420

15. A Powerco feladatban keresse meg c24 rtkeinek azt


a tartomnyt, amelyben az aktulis bzis optimlis marad!

12. Alkalmazza az szaknyugati sarok mdszert, a minimlis kltsg mdszert s a Vogel-mdszert a 71. tblzatban megadott szlltsi feladat egy lehetsges bzismegoldsnak megkeressre!

20

Dallas Houston N.Y. Chicago

L.A.
San Diego
Dallas
Houston

11. Tegyk fel, hogy a 10. feladatban s1 -et 16-ra s d3 -at


11-re nveljk. A feladat most is kiegyenslyozott, s mivel
(30 egysg helyett) 31 egysget kell szlltani, azt gondolhatnnk, hogy a szlltsi sszkltsg nvekszik. Mutassa
meg, hogy a valsgban a szlltsi sszkltsg 2 dollrral
cskken! (Ezt gy is nevezik, hogy a tbbet kevesebbrt
paradoxon.) Magyarzza meg, hogy a knlat s a kereslet
nvelse mirt cskkenti a kltsget! Hasznlja fel a dualits ttelt a magyarzathoz, megvilgtva azt is, honnan
tudhattuk volna elore, hogy s1 s d3 1-gyel val nvelse 2
dollrral cskkenti az sszkltsget!

71.

TBLZAT

Hov

15
10

335

5000
6000
4000
3000

TBLZAT

Raktr

Szksges autmennyisg

Memphis
Milwaukee
N.Y.
Denver
San Francisco
75.

6000
4000
4000
2000
2000

TBLZAT

Memphis Milwaukee N.Y. Denver S.F.


Atlanta
Boston
Chicago
L.A.

371
1296
530
1817

761
1050
87
2012

841
206
802
2786

1398
1949
996
1059

2496
3095
2142
379

336

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok

(a) Felttelezve, hogy egy aut szlltsi kltsge (dollrban) a kt vros tvolsgval egyenlo, hatrozzon meg
egy optimlis szlltsi tervet!
(b) Felttelezve, hogy egy aut szlltsi kltsge
(dollrban) a kt vros tvolsgnak ngyzetgykvel
egyenlo, hatrozzon meg egy optimlis szlltsi tervet!
18. A kvetkezo hrom negyedvben az Aircnak ki kell
elgtenie a lgkondicionl kompresszorok irnti keresletet. Ezek: 200 darab az elso negyedvben, 300 a msodik
negyedvben s 100 a harmadik negyedvben. Egy-egy negyedv alatt legfeljebb 240 kompresszort lehet elolltani.
A 76. tblzatban lthatjuk a kompresszorok egysgnyi elolltsi kltsgeit negyedvenknt.
76.

2. negyedv

3. negyedv

200$

180$

240$

B csoport

Egy lgkompresszor raktrozsi kltsge 100 dollr negyedvenknt. A kereslet kielgtse ksleltetheto (de legksobb a harmadik negyedv vgre teljesteni kell), ennek
kltsge egy kompresszorra egy negyedvre 60 dollr. rja
fl annak a kiegyenslyozott szlltsi feladatnak az indul
tblzatt, amelynek megoldsa minimalizlja az 13. negyedvekre a kereslet kielgtsnek sszkltsgt az Airco
szmra!
19. Egy vllalat ngyfle munkra akar flvenni embereket. A 77. tblzat azt mutatja, hogy az egyes munkkra
hny embert kvnnak alkalmazni. Ngyfle tpus emberbol vlaszthat a vllalat. Mindenkinek olyan a minostse,
hogy a 78. tblzat szerinti megoszlsban ktfle tpus
munkra kpes.

21.9 A Carter Vendglt Vllalat a kvetkezo mennyisgu


tiszta asztalkendot ignyli reggelenknt: 15 az elso napon,
12 a msodik napon, 18 a harmadik napon s 6 a negyedik
napon. Hasznlat utn egy asztalkendo ktflekppen tisztthat: gyorstiszttssal vagy norml tiszttssal. A gyorstisztts kltsge 10 cent asztalkendonknt, s a gyorstiszttott asztalkendo mr a hasznlat utni nap jra hasznlhat. A norml tisztts 6 centbe kerl asztalkendonknt, s
ezek az asztalkendok csak kt nappal az utols hasznlat
utn hasznlhatk jra. j asztalkendoket is lehet vsrolni
20 centrt darabjt. Fogalmazzon meg egy kiegyenslyozott
szlltsi feladatot, amely minimalizlja a kvetkezo ngynapi asztalkendo-szksglet kielgtsnek kltsgt!
22. A Braneast Airlines ppen most osztja be a szemlyzetet a New York s Chicago kztti napi jratokra. Ezek a
79. tblzatban lthatk.

TBLZAT

Emberek szma
78.

20. A kvetkezo kt hnapban egy termkbol havonta legfeljebb 50 egysget tudunk elolltani, az elso hnapban
egysgenknt 12 dollrrt, a msodik hnapban egysgenknt 15 dollrrt. A vevo legfeljebb 60 egysget hajland
megvenni a termkbol mindkt hnapban. Ez a vevo egysgenknt 20 dollrt fizet az elso hnapban s 16 dollrt a msodik hnapban. Egy egysg egyhavi raktrozsi kltsge
1$. Fogalmazzon meg egy kiegyenslyozott szlltsi feladatot, amely segt bennnket a profit maximalizlsban!

TBLZAT

1. negyedv

77.

megoldsa megtervezi a vllalat szmra azt, hogyan maximalizlja a megfelelo munkkhoz hozzrendelt alkalmazottak szmt! (Megjegyzs: Egy-egy szemly legfeljebb egy
fajta munkra jellheto ki.)

79.

Munka
2
3

30

30

20

40

Indul rkezik
Indul rkezik
Jrat Chicago N.Y. Jrat N.Y. Chicago

TBLZAT

1
Mely munkra
kpes

1 s 2

Embertpusok
2
3
2 s 3

3 s 4

4
4 s 1

A munkkra 20 fo 1-es tpus, 30 fo 2-es tpus, 40 fo 3-as


tpus s 20 fo 4-es tpus szemly jelentkezett. Fogalmazzon meg egy kiegyenslyozott szlltsi feladatot, amelynek
9 Jacobs

TBLZAT

(1954) alapjn.

1
2
3
4
5
6
7

6.00
9.00
12.00
15.00
17.00
19.00
20.00

10.00
13.00
16.00
19.00
21.00
23.00
24.00

1
2
3
4
5
6
7

7.00
8.00
10.00
12.00
14.00
16.00
18.00

9.00
10.00
12.00
14.00
16.00
18.00
20.00

A Braneast minden alkalmazottja vagy New Yorkban, vagy


Chicagban lakik. A szemlyzet minden tagjnak minden
nap egyszer az egyik, egyszer a msik irnyba kell replnie

ttekinto feladatok
gy, hogy kzben legalbb egy ra llsido legyen. A Braneast gy szeretn beosztani a szemlyzetet, hogy az sszllsido minimlis legyen. rjon fel egy hozzrendelsi feladatot ennek a clnak az elrst segtendo! (tmutats: Legyen xi j = 1, ha a szemlyzet egy tagja, aki az i-edik jraton
dolgozik, dolgozik a j-edik jraton is, s xi j = 0 egybknt.
Ha xi j = 1, akkor ehhez ci j kltsg tartozik, ami annak a szemlynek az llsidejbol addik, aki mind az i-edik, mind a
j-edik jraton repl.) Termszetesen nhny hozzrendels
nem lehetsges. Keresse meg a szemlyzet beosztsnak azt
a rendszert, amelyik minimalizlja az sszes llsidot! A
szemlyzet hny tagjt rendeljk az egyes vrosokba? Felttelezzk, hogy a nap vgre a szemlyzet minden tagjnak
otthon kell lennie.
23. Egy cg csak egyfle termket gyrt. Van hrom telepk s ngy fogyasztjuk. A kvetkezo peridusban a hrom telepen rendre 3000, 5000 s 5000 egysget termelnek.
A cg elktelezte magt, hogy fogyasztinak a kvetkezo
mennyisgeket adja el: 4000 egysget az 1. vevonek, 3000
egysget a 2. vevonek s legalbb 3000 egysget a 3. vevonek. A 3. s 4. vevo annyi megmaradt egysget szeretne
venni a termkbol, amennyit csak lehetsges. A 80. tblzat
azt mutatja ($-ban), hogy az i-edik teleprol a j-edik vevohz
szlltott egysgnyi termk mennyi profitot hoz. Fogalmazzon meg egy kiegyenslyozott szlltsi feladatot, amely
maximalizlja a vllalat profitjt!
80.

TBLZAT

Melyik vevohz
Honnan

1. telep
2. telep
3. telep

65
68
63

63
67
60

62
65
59

64
62
60

24. Egy vllalat legfeljebb 35 egysget tud termelni havonta. A vllalat elsodleges fogyasztinak ignyeit minden
hnapban azonnal ki kell elgteni. Ha a vllalat gy gondolja, akkor msodlagos fogyasztinak is adhat el egysgeket minden hnapban. A raktrozsi kltsg egysgenknt 1
dollr a hvgi leltr szerint. A megfelelo adatok a 81. tblzatban lthatk. Fogalmazzon meg egy kiegyenslyozott
szlltsi feladatot, amely maximalizlja a kvetkezo hrom
hnapban megkeresheto profitot!

81.

25. Egy szp nagy hzban ngy rtkes festmny elad.


Ngy vevo licitl a kpekre. Az elso vevo hajland kt kpet
is megvenni, a tbbi azonban legfeljebb csak egy-egy kpet
vsrolna. A 82. tblzat mutatja az rajnlatokat (ezer $ban). Hasznlja a magyar mdszert a festmnyek eladsbl
szrmaz sszbevtel maximalizlsra!
82.

TBLZAT

Licit a/az
1. vevo
2. vevo
3. vevo
4. vevo

1. kpre

2. kpre

3. kpre

4. kpre

8
9
9

11
13

12
11
12

26. A Powerhouse kondenztorokat gyrt hrom helyen:


Los Angelesben, Chicagban s New Yorkban. A kondenztorokat ezekrol a helyekrol t rgi kzmuveihez szlltjk,
ezek a terletek a kvetkezok: szakkelet (K), szaknyugat (Ny), kzpnyugat (KNy), dlkelet (DK) s dlnyugat
(DNy). A 83. tblzatban lthat egy kondenztor gyrtsi
s szlltsi kltsge ($-ban) mindegyik teleprol az orszg
minden rgijba. Mindegyik telepen vi 100 000 kondenztort tudnak gyrtani. Minden vben az egyes terleteknek a kvetkezo szm kondenztort meg kell kapniuk: K
55 000, Ny 50 000, KNy 60 000, DK 60 000 DNy 45 000.
A Powerhouse gy rzi, hogy a szlltsi kltsgek tl magasak, s ezrt a vllalat azon gondolkodik, hogy ptene
egy vagy kt j gyrtelepet. A lehetsges helysznek Atlanta
s Houston. A 84. tblzat mutatja a kondenztorok gyrtsi
s szlltsi kltsgeit ($-ban) az j helysznekrol az orszg
minden terletre. Mai ron szmolva 3 milli dollrba kerl egy j telep ptse, ezenkvl egy telep mukdtetse
50 000$ fix kltsggel jr (a vltoz szlltsi s gyrtsi
kltsgek mellett) vente. Egy telep Atlantban vagy Houstonban 100 000 kondenztort gyrtana vente.
83.

TBLZAT

Hov
Honnan

Ny KNy

DK

DNy

L.A.
27.86 4.00 20.54 21.52 13.87
Chicago 8.02 20.54 2.00 6.74 10.67
N.Y.
2.00 27.86 8.02 8.41 15.20

TBLZAT

1. hnap
2. hnap
3. hnap

337

Termelsi
kltsg egysgenknt

Elsodleges
kereslet

Eladhat
msodlagos
fogyasztnak

Eladsi
r egysgenknt

13$
12$
13$

20
15
25

15
20
15

15$
14$
16$

338
84.

6. fejezet Szlltsi, hozzrendelsi s sszetett szlltsi feladatok


TBLZAT

Hov
Honnan

ny KNy DK DNy

Atlanta
8.41 21.52 6.74 3.00 7.89
Houston 15.20 13.87 10.67 7.89 3.00

idoben rt tartani, az 1-es pedig azt jelenti, hogy nem akar


akkor tantani. Hatrozzon meg egy hozzrendelst a professzorok s a tanfolyamok kztt gy, hogy a professzorok
megelgedettsge maximlis legyen!
86.

TBLZAT

9.00 10.00 11.00 13.00 14.00 15.00


Felttelezzk, hogy a kereslet s a gyrtsi kltsgek vltozatlanok maradnak. Ha a kltsgek ves diszkontrtja
11 19 %, hogyan tudja a Powerhouse minimalizlni az sszes
kltsg jelenrtkt, mely kltsgek a jelenlegi s jvobeli
keresletek kielgtsbol addnak?
27.10 Jlius hnapban B.Fly pittsburghi lakosnak ngy odavissza reploutat kell megtennie Pittsburgh s Chicago kztt. A 85. tblzat mutatja az utazsok dtumait. B.Fly-nak
ngy retrjegyet kell vennie. Egy sima retrjegy, kedvezmnyek nlkl Pittsburgh s Chicago kztt 500 dollrba
kerl. Ha Fly a htvgt egy vrosban tlti, akkor 20% kedvezmnyt kap a replojegyre. Ha legalbb 21 napig egy vrosban marad, akkor 35%-os a kedvezmny, s ha 10 napnl
tovbb marad egy helyen, akkor 30% engedmnyt kap. Termszetesen brmilyen jegy vsrlsakor csak egy kedvezmny veheto ignybe. Fogalmazza meg s oldja meg azt a
hozzrendelsi feladatot, amelyik minimalizlja a ngy retrjegy sszkltsgt! (tmutats: legyen xi j = 1, ha egy
retrjegy a Pittsburghbol val i-edik replsre s a Chicagbl val j-edik replsre j. Ugyancsak gondolkozzk azon,
hogy hol vsrolja Fly a jegyet, ha pldul x21 = 1.)
85.

TBLZAT

Pittsburghbol

Chicagbl

jlius 1, htfo
jlius 9, kedd
jlius 15, htfo
jlius 24, szerda

jlius 5, pntek
jlius 11, cstrtk
jlius 19, pntek
jlius 25, cstrtk

1. professzor
2. professzor
3. professzor

10 Hansen

1. tuz:

6
8
9

5
8
6

7
4
9

6
4
9

6t11 + 4t12

2. tuz:

7t21 + 3t22

3. tuz:

9t31 + 8t32 + 5t33

Hrom tuzolttrsasg van, amelyik a hrom tuzhz kivonulhat. Az 1-es tuzoltsgnak hrom autja van, a 2-esnek
s a 3-asnak kt-kt aut ll rendelkezsre. A 87. tblzat
azt mutatja, hogy mennyi ideig tart a tuzoltautknak az llomshelykrol a tuzhz rkezni.
(a) rjon fl egy szlltsi feladatot, s oldja is meg!
Minimalizlja a tuzoltautk elosztsnak kltsgt! (tmutats: Ht keresleti pontra lesz szksg.)
(b) Az (a) alatti szlltsi feladat akkor is rvnyes
marad-e, ha az elso tuz kltsge 4t11 + 6t12 ?
TBLZAT

1. tuzoltsg
2. tuzoltsg
3. tuzoltsg

s Wendell (1982) alapjn.


Rothblum s Swersey (1988) alapjn.

11 Denardo,

7
9
6

29.11 Hrom nagy tuz gyulladt ki New Yorkban. Az elso s


msodik tuzhz kt tuzoltaut kell, a harmadikhoz hrom.
A tzekre val reagls kltsge attl az idoponttl fgg,
amikor a tuzoltaut megrkezik. Legyen ti j (percben) az az
ido, amikor a j-edik tuzoltaut megrkezik az i-edik tuzhz. gy az egyes tzekre val reagls kltsgei a kvetkezok:

87.
28. Hrom professzort kell beosztani hat pnzgy tanfolyam oktatsra. Mindegyik professzornak kt pnzgy tanfolyamot kell tantania. A 86. tblzatban az lthat, hogy a
tanrok miknt rangsoroltk a tantsi idopontokat. A 10-es
azt jelenten, hogy az illeto tanr nagyon szeretne az adott

8
9
7

1. tuz

2. tuz

3. tuz

6
5
6

7
8
9

9
11
10

Irodalom

339

Irodalom
A kvetkezo hat knyv foglalkozik tbbek kztt szlltsi, hozzrendelsi s sszetett szlltsi feladatokkal:
Bazaraa, M., and J. Jarvis. Linear Programming and Network Flows. New York: Wiley,
1990.
Bradley, S., A. Hax, and T. Magnanti. Applied Mathematical Programming. Reading,
Mass.: Addison-Wesley, 1977.
Dantzig, G. Linear Programming and Extensions. Princeton, N.J.: Princeton University
Press, 1963.
Gass, S. Linear Programming: Methods and Applications, 5th ed. New York: McGrawHill, 1985.
Murty, K. Linear Programming. New York: Wiley, 1983.
Wu, N., and R. Coppins. Linear Programming and Extensions. New York: McGraw-Hill,
1981.
Aarvik, O., and P. Randolph. The Application of Linear Programming to the Determination of Transmission Line Fees in an Electrical Power Network, Interfaces 6(1975):
1731.
Denardo, E., U. Rothblum, and A. Swersey. Transportation Problem in Which Costs Depend on Order of Arrival, Management Science 34(1988):774784.
Evans, J. The Factored Transportation Problem, Management Science 30(1984):1021
1024.
Gillett, B. Introduction to Operations Research: A Computer-Oriented Algorithmic Approach. New York: McGraw-Hill, 1976.
Glassey, R., and V. Gupta. A Linear Programming Analysis of Paper Recycling, Management Science 21(1974):392408.
Glover, F., et al. A Computational Study on Starting Procedures, Basis Change Criteria,
and Solution Algorithms for Transportation Problems, Management Science 20(1974):
793813.
Hansen, P., and R. Wendell. A Note on Airline Commuting, Interfaces 11(no. 12, 1982):
8587.
Jackson, B. Using LP for Crude Oil Sales at Elk Hills: A Case Study, Interfaces 10(1980):
6570.
Jacobs, W. The Caterer Problem, Naval Logistics Research Quarterly 1(1954):154165.
Machol, R. An Application of the Assignment Problem, Operations Research 18(1970):
745746.
Srinivasan, P. A Transshipment Model for Cash Management Decisions, Management
Science 20(1974):13641376.
Wagner, H., and D. Rubin. Shadow Prices: Tips and Traps for Managers and Instructors,
Interfaces 20(no. 4, 1990):150157.

7
Hlzati modellek
Szmos fontos optimalizlsi feladat a problma egy grafikus vagy hlzati reprezentcija
segtsgvel elemezheto a legknnyebben. Ebben a fejezetben ngy olyan specilis hlzati modellel a legrvidebb t problmval, a maximlis folyam problmval, a CPM-PERT
problmval foglalkozunk, amelyek
projekt-temezsi modellel s a minimlis fesztofa
megoldsra hatkony eljrsok lteznek. Ugyancsak trgyaljuk a minimlis kltsgu hlzati folyam problmt (MKHFP), aminek a szlltsi, a hozzrendelsi, az trakodsi, a
legrvidebb t, a maximlis folyam problma s a CPM projekt-temezsi modell egyarnt
specilis esetei. Vgezetl ismertetjk a szlltsi szimplex mdszer egy ltalnostst,
a hlzati szimplex mdszert, amivel minimlis kltsgu hlzati folyam feladatokat lehet
megoldani. A fejezetet a grfokra s hlzatokra vonatkoz alapfogalmak bevezetsvel
kezdjk.

7.1.

Alapfogalmak
Egy grfot vagy hlzatot szimblumok kt halmaza definil, ezek elemeit cscsoknak,
illetve leknek hvjuk. Eloszr megadunk egy V -vel jellt halmazt, aminek az elemei a grf
vagy hlzat cscspontjai, vagy csak rviden cscsai.
Egy msik, A-val jellt halmazt is megadunk, ennek elemei az lek.

D EFINCI

Az l egy cscspontokbl ll rendezett pr, amely megadja a kt cscspont kztti


mozgs vagy ramls lehetsges irnyt.
Egy hlzatban szereplo ( j, k) l azt reprezentlja, hogy elmozduls trtnhet a j cscsbl a k cscsba. Tegyk fel, hogy az 1. brban az 1, 2, 3 s 4 cscsok vrosokat jelkpeznek, az lek pedig (egyirny) utakat kt vros kztt. Ebben a hlzatban V = {1, 2, 3, 4}
s A = {(1, 2), (2, 3), (3, 4), (4, 3), (4, 1)}. A ( j, k) l esetn a j cscs a kezd o pont, a k cscs
pedig a vgpont. A ( j, k) lre azt mondjuk, hogy a j cscsbl a k cscsba megy. Pldul,
a 2-bol a 3-ba meno (2, 3) l kezdopontja a 2 cscs, vgpontja a 3 cscs. A (2, 3) lt tekinthetjk mint a 2-es vrosbl a 3-as vrosba vezeto (egyirny) utat. Az 1. bra lei azt
mutatjk, hogy a 4-es s 3-as vrosok kztt mindkt irnyban megengedett a kzlekeds,
a tbbi viszonylatban viszont legfeljebb csak egy irnyban.
A tovbbiakban gyakran dolgozunk lek egy csoportjval. Az albbi defincik hasznosak lesznek lek bizonyos halmazainak lersakor.

342

7. fejezet Hlzati modellek

1. B R A
Plda egy
hlzatra

D EFINCI

D EFINCI

Lnc alatt lek egy olyan sorozatt rtjk, amelyben az egymst kvet o brmely kt
lnek egyetlen kzs cscsa van.

Az t egy olyan lnc, amelyben (az utols l kivtelvel) mindegyik l vgpontja


azonos a sorozatban kvetkezo l kezdopontjval.
Az 1. brn pldul, az (1, 2)(2, 3)(4, 3) egy lnc, de nem egy t; az (1, 2)(2, 3)
(3, 4) viszont lnc s t is. Az (1, 2)(2, 3)(3, 4) t leheto v tesz egy utazst az 1-es vrosbl (cscsbl) a 4-es vrosba (cscsba).

7.2.

A legrvidebb t problma
Ebben az alfejezetben feltesszk, hogy a hlzat mindegyik lnek van adott hossza. Vlasszunk ki egy cscspontot (mondjuk az 1-es cscsot). Az 1-es cscsbl a hlzat sszes
tbbi cscsba vezeto legrvidebb utak (minimlis sszhosszsg utak) keresst nevezzk a legrvidebb t problmnak. Az 1. s 2. pldk legrvidebb t feladatok.

1.

PLDA

Vegyk a Powerco pldjt (2. bra). Tegyk fel, hogy amikor az 1-es er o mubol (1-es
cscs) elektromos energia ramlik az 1-es vrosba (6-os cscs), kzvett o llomsokon kell
thaladnia (25 cscsok). Ha kt cscs kztt lehetsges ramot kldeni, a kztk lv o
tvolsgot (mrfldben) a 2. bra mutatja. Pldul, a 2-esto l a 4-es kzvetto llomsig 3
mrfld az t, viszont nem haladhat ram a 4-es s 5-s llomsok kztt. A Powerco az
ramot gy akarja az 1-es eromubol az 1-es vrosba kldeni, hogy az a leheto legkisebb
tvolsgot tegye meg. A Powerco feladata teht a 2. brn lv o hlzatban az 1-es cscsbl
a 6-osba vezeto legrvidebb t megkeresse.

2. B R A
A Powerco
hlzata
1. erm

1. vros

kzvett llomsok

7.2. A legrvidebb t problma

343

Amennyiben az ram tovbbtsnak kltsge arnyos a tvolsggal, a 2. brn lv o


hlzatban az 1-es cscsbl a 6-osba vezeto legrvidebb t ismerete lenne szksges ahhoz,
hogy a Powerco feladat 6. fejezetben trgyalt szlltsi verzijban a megfelel o szlltsi
kltsget meg tudjuk adni.

2.

PLDA

1. T B L Z A T
Aut fenntartsi
kltsgek

2.

TBLZAT

Beszmtsi r

Megolds

ppen most vettem egy j autt 12 000$-rt. Egy aut ves fenntartsi kltsge az autnak
az vkezdettel szmtott kortl fgg, ahogyan az 1. tblzat mutatja. Azrt, hogy elkerljem az idovel nvekvo fenntartsi kltsgek tl magasra emelkedst, a korosod autt
jra cserlhetem. A rgi autt a 2. tblzatban feltntetett ron szmtjk be a csernl. Az
egyszerusg kedvrt tegyk fel, hogy egy j aut ra a teljes id o szakban 12 000$. Clom
a nett kltsgeimet (j aut(k) ra + fenntartsi kltsgek lecserlt aut(k) ra) minimalizlni a kvetkezo t vre vonatkozan. Fogalmazzuk meg ezt a problmt mint egy
legrvidebb t feladatot!

Az aut kora
(v)

ves
fenntartsi
kltsg ($)

0
1
2
3
4

2000
4000
5000
9000
12000

Az aut kora
(v)

Beszmtsi r ($)

1
2
3
4
5

7000
6000
2000
1000
0

Hlzatunknak most hat cscsa van (1, 2, 3, 4, 5 s 6). Az i cscs jelzi az i-edik v kezdett.
Minden i < j-re van egy (i, j) l, amely azt reprezentlja, hogy az i-edik v elejn vesznk
egy j autt s azt hasznljuk a j-edik v elejig. Az (i, j) l hossza (jellje c i j ) az lhez
tartoz authoz kapcsold teljes nett kltsg, azaz
ci j = az i, i + 1, . . ., j 1 vekre a fenntartsi kltsgek
+ j aut vtelra az i-edik v elejn
rgi aut beszmtsi ra a j-edik v elejn

A kpletet a feladatbeli adatokra alkalmazva azt kapjuk, hogy (ezer dollrban mrve)
c12 = 2 + 12 7 = 7

c13 = 2 + 4 + 12 6 = 12

c14 = 2 + 4 + 5 + 12 2 = 21

c15 = 2 + 4 + 5 + 9 + 12 1 = 31

c16 = 2 + 4 + 5 + 9 + 12 + 12 0 = 44

344

7. fejezet Hlzati modellek

c23 = 2 + 12 7 = 7

c24 = 2 + 4 + 12 6 = 12

c35 = 2 + 4 + 12 6 = 12

c36 = 2 + 4 + 5 + 12 2 = 21

c25 = 2 + 4 + 5 + 12 2 = 21

c45 = 2 + 12 7 = 7

c34 = 2 + 12 7 = 7

c56 = 2 + 12 7 = 7

c26 = 2 + 4 + 5 + 9 + 12 1 = 31 c46 = 2 + 4 + 12 6 = 12
Ltjuk, hogy az 1-es cscsbl a 6-os cscsba vezeto mindegyik t hossza az t lei ltal
megadott, a kvetkezo t vre szl autcserlsi stratgia nett sszkltsge. Pldul, tegyk fel, hogy a 3. v elejn s az 5. v vgn (a 6. v elejn) cserlek autt. Ehhez a
stratgihoz a 3. brban az 136 t tartozik. Ennek az tnak a hossza (c 13 + c36 ) megadja a teljes nett kltsgt annak, hogy a mostani autvsrlstl szmtva a harmadik
s a hatodik v elejn cserljek autt. Teht a 3. brban az 1-es cscsbl a 6-os cscsba
vezeto legrvidebb t hossza a kvetkezo t vre egy aut tartsnak minimlis teljes nett
kltsgt adja meg.
3. B R A
Az autkltsgek
minimalizlsnak
hlzata

Dijkstra algoritmusa
Amennyiben minden l hossza nemnegatv, Dijkstra algoritmusa hasznlhat egy kiindul cscsbl (mondjuk az 1-es cscsbl) az sszes tbbi cscsba vezet o legrvidebb utak
meghatrozsra. Eloszr is az 1-es cscsot elltjuk az lland 0 cmkvel. Ezutn minden
olyan i cscsot amelybe az 1-bol megy l, ideiglenesen megcmkzzk az (1, i) l hosszval. Minden ms cscs (termszetesen az 1-es kivtelvel) a ideiglenes cmkt kapja. Kivlasztjuk a legkisebb ideiglenes cmkvel rendelkezo cscsot (vagy tetszolegesen egyet,
ha tbb van) s cmkjt llandnak mino stjk.
Tegyk fel, hogy az i volt az utols, a (k + 1)-edik cscs, amelyik lland cmkt kapott.
Ekkor az i cscs a k-adik legkzelebbi cscs az 1-eshez. Ebben a pillanatban, egy cscs
(mondjuk az i0 ) ideiglenes cmkjnek rtke ppen az 1-esbo l az i0 cscsba vezeto legrvidebb olyan t hossza, amelyik csak az 1-eshez legkzelebbi k 1 cscsot rinti. Mindegyik
ideiglenes cmkvel elltott olyan j cscs cmkjt, amelybe l vezet az i-b o l, kicserljk a
kvetkezokppen szmolt ideiglenes cmkvel:
(
a j cscs ideiglenes cmkje
min
az i lland cmkje + az (i, j) l hossza

7.2. A legrvidebb t problma

345

(A min{a, b} az a s b szmok kzl a nem nagyobb.) A j cscs j ideiglenes cmkje


ppen az 1-esbol a j-be vezeto legrvidebb olyan t hossza, amelyik csak az 1-eshez legkzelebbi k cscsot rinti. Ezutn a legkisebb ideiglenes cmkt (vagy ha tbb ilyen van,
akkor egyet kzlk) llandv vltoztatjuk. Az a cscs, amelynek cmkjt ppen most
minostettk llandnak, a (k + 1)-edik legkzelebbi cscs az 1-eshez. Folytassuk ezt az
eljrst egszen addig, amg minden cscs lland cmkt nem kap. Az 1-esb o l valamelyik
j cscsba vezeto legrvidebb utat gy kapjuk meg, hogy a j-bo l visszafel haladva azokat a
cscsokat vlasztjuk, amelyek cmki kztti klnbsg pontosan a kztk lv o l hossza.
Termszetesen, ha csak az 1-bo l a j-be vezeto legrvidebb utat akarjuk meghatrozni, abbahagyhatjuk a cmkzsi eljrst, amikor a j cscs cmkje llandra vltozott.
Szemlltetskppen meghatrozzuk a 2. brban az 1-esb o l a 6-os cscsba vezeto legrvidebb utat. A kvetkezo cmkkkel kezdnk (a lland cmkt jell, tovbb, az i-edik
szm az i cscs cmkje): [0 4 3 ]. A 3-as cscs a legkisebb ideiglenes
cmke. Ezt llandv vltoztatva, a kvetkezo cmkket kapjuk:


0 4 3
Tudjuk, hogy a 3-as az 1-eshez legkzelebbi cscs. j ideiglenes cmkket szmolunk
azokra a cscsokra, amelyekbe a 3-asbl vezet l. Most csak az 5-s cscs ilyen.
az 5-s cscs j ideiglenes cmkje = min {, 3 + 3} = 6
Az ideiglenes cmkvel rendelkezo cscsok kztt a 2-es a legkisebb cmke, az lesz most
lland. Ebbol tudjuk, hogy a 2-es cscs van az 1-esto l a msodik legrvidebb tvolsgra.
Cmkink most a kvetkezok:


0 4 3 6 .
Mivel a legutbb llandstott 2-es cscsbl megy l a 4-es s az 5-s cscsokba, cmkjket jra kell szmolnunk. A 4-es cscs j ideiglenes cmkje min {, 4 + 3} = 7, az 5-s
cscs pedig min {6, 4 + 2} = 6. A legkisebb ideiglenes cmke most az 5-s cscs, gy azt
vltoztatjuk llandv. Tudjuk, hogy a harmadik legkzelebbi cscs az 1-eshez az 5-s. Az
j cmkk pedig


0 4 3 7 6 .

Mivel csak a 6-osba vezet l az 5-sbo l, a 6-os cscs ideiglenes cmkjt mdostjuk
min {, 6 + 2} = 8-ra. A legkisebb ideiglenes cmke a 4-es cscs, gy az vlik llandv.
Ebbol tudjuk, hogy a 4-es cscs van az 1-esto l a negyedik legrvidebb tvolsgra. A cmkk
most a kvetkezok:


0 4 3 7 6 8 .

Mivel a legutoljra llandstott 4-es cscsbl csak a 6-osba megy l, csak ezt az ideiglenes cmkt kell jraszmolni: min {8, 7 + 2} = 8. Mivel csak a 6-osnak ideiglenes a
cmkje, azt llandnak minostve megkapjuk a vgso cmkket:


0 4 3 7 6 8 .

Az 1-esbol a 6-osba vezeto legrvidebb utat visszafel haladva hatrozzuk meg. A 6-os
s 5-s cscsok lland cmki kztti klnbsg 2 = az (5, 6) l hossza, teht az 5-s
cscsba lpnk vissza. Az 5-s s 2-es cscsok lland cmki kztti klnbsg 2 = a
(2, 5) l hossza, teht a 2-es cscsba lpnk vissza, ahonnan persze az 1-esbe kell visszalpnnk. Teht, az 1256 a legrvidebb t (hossza 8) az 1-es cscsbl a 6-os cscsba.
Vegyk szre, hogy az 5-s cscsbl a 3-asba is visszalphettnk volna, ekkor az 1356
legrvidebb utat kaptuk volna.

346

7. fejezet Hlzati modellek

A legrvidebb t problma sszetett szlltsi feladatknt


Egy hlzatban az i s j cscsok kztti legrvidebb t meghatrozsa megfogalmazhat
egy tszlltsi feladatknt is. Egyszeruen minimalizljuk egy egysgnyi ru i-b o l j-be szlltsnak kltsgt (tszlltsi pontnak tekintve a hlzat sszes tbbi cscst), ha egysgnyi ru k-bl k0 -be szlltsnak kltsge a (k, k0 ) l hossza, ha van ilyen l, s M (egy nagy
pozitv szm), ha nincs ilyen l. Miknt a 6.6 alfejezetben lttuk, egy cscsbl nmagba
szlltani nem jr kltsggel. Kvetve a 6.6 alfejezetben ismertetett mdszert, az gy kapott
tszlltsi feladat is trhat egy kiegyenslyozott szlltsi feladatt.
Szemlltetskppen megadjuk a 2. bra 1-es s 6-os cscsai kztti legrvidebb t feladathoz kapcsold kiegyenslyozott szlltsi feladatot. Egy egysget akarunk az 1-b o l a
6-ba kldeni. Az 1-es cscs egy kibocst, a 6-os egy vgs o fogadsi pont, a 2, 3, 4 s 5
cscsok pedig tszlltsi pontok. Az s = 1 rtkadssal a 3. tblzatbeli kiegyenslyozott
szlltsi feladatot kapjuk, amelynek kt optimlis megoldsa van:
1. z = 4 + 2 + 2 = 8, x12 = x25 = x56 = x33 = x44 = 1 (minden ms vltoz = 0). Ez
a megolds tartozik az 1256 thoz.
2. z = 3 + 3 + 2 = 8, x13 = x35 = x56 = x22 = x44 = 1 (minden ms vltoz = 0). Ez
a megolds tartozik az 1356 thoz.
3. T B L Z A T
A legrvidebb t
feladat mint
sszetett szlltsi
feladat s az 1.
optimlis
megolds

Cscs

2
4

Cscs
4

3
3

1
0

M
1

1
0

M
3

M
1

1
M

4
M

2
1

M EGJEGYZS

Knlat
M

Kereslet

6
M

1
1

Miutn tfogalmaztuk a legrvidebb t feladatot egy sszetett szlltsi feladatt, knnyen megoldhatjuk pldul egy tblzatkezelo optimalizl programmal.

7.2. A legrvidebb t problma

347

Feladatok
A csoport
1. Hatrozza meg a 3. brban az 1-es cscsbl a 6-os
cscsba vezeto legrvidebb utat!
2. Hatrozza meg a 4. brban az 1-es cscsbl az 5-s
cscsba vezeto legrvidebb utat!
4.

BRA

A 2. feladat hlzata

6. Egy telefonkszlk 40$-ba kerl. Tegyk fel, hogy


legfeljebb t vig tudok egy kszlket hasznlni, tovbb,
hogy a becslt fenntartsi kltsg az 1. vben 20$, a 2. vben 30$, a 3. vben 40$, a 4. vben 60$, az 5. vben 70$. ppen most vettem egy telefonkszlket. Feltve, hogy egy
hasznlt kszlket mr nem tudok rtkesteni, hatrozza
meg, hogyan minimalizlhatom az elkvetkezendo hat vre
a telefonkszlkkel kapcsolatos vteli s fenntartsi kltsgeimet!
7. Egy j gpet kell venni az elso v elejn. Egy i ves
gp fenntartsi kltsge az 5. tblzatban tallhat.
5.

3.

rja t a 2. feladatot sszetett szlltsi feladatt!

TBLZAT

Kor az v
kezdetn

Fenntartsi kltsg ($)


arra az vre

0
1
2
3
4

38 000
50 000
97 000
182 000
304 000

4. Dijkstra algoritmusval keresse meg a legrvidebb utat


az 1-es cscsbl a 4-es cscsba az 5. brn lthat hlzatban! Mirt ad helytelen vlaszt Dijkstra algoritmusa?
5.

BRA

A 4. feladat hlzata

Egy j gp vtelra az egyes vek kezdetn a 6. tblzatban


tallhat.
6.

5. Tegyk fel, hogy egy j aut 10 000$-ba kerl. Az


ves fenntartsi kltsget s egy hasznlt aut eladsi rt a
4. tblzat mutatja. Feltve, hogy jelen pillanatban van egy
j autja, hatrozzon meg egy olyan autcserlsi politikt,
amelyik a kvetkezo hat vre minimalizlja egy aut hasznlatnak nett kltsgeit!
4.

TBLZAT

Az aut kora
(v)

Eladsi
r ($)

Mukdtetsi

kltsg ($)

1
2
3
4
5
6

7000
6000
4000
3000
2000
1000

300 (1. v)
500 (2. v)
800 (3. v)
1200 (4. v)
1600 (5. v)
2200 (6. v)

1 Ravindran

(1971) alapjn.

TBLZAT

Vtelr ($)

1
2
3
4
5

170 000
190 000
210 000
250 000
300 000

Egy hasznlt gpet mr nem lehet rtkesteni. Minimalizlni kell az egy gp hasznlatval kapcsolatban t v
alatt felmerlo sszes (vteli s fenntartsi) kltsget. Mely
vekben kell j gpet venni?

B csoport
8.1 Egy knyvtr polcrendszert akar kszttetni, hogy elhelyezhessen 200 db 4 hvelyk magas, 100 db 8 hvelyk magas, s 80 db 12 hvelyk magas knyvet. Mindegyik knyv
0.5 hvelyk vastag. Tbbfle megolds is lehetsges. Kszlhet pldul egy 8 hvelyk magas polc az sszes 8 hvelyknl nem magasabb knyv, s egy 12 hvelyk magas

348

7. fejezet Hlzati modellek

polc a 12 hvelykes knyvek trolsra. De kszlhet csak


egy 12 hvelyk magas polc is, azon mindenfle knyv elfr.
Egy (akrmilyen magassg) polc elksztsnek kltsge
2300$. Ugyanakkor, ngyzet-hvelykenknt 5$-ra becslik
a trolsi kltsget (egy knyv trolsi terlete a knyv vastagsga szorozva az elfoglalt polcmagassggal).
Fogalmazza meg a knyvek minimlis kltsgu elhelyezsnek problmjt egy legrvidebb t feladatknt! Oldja
meg a feladatot! (tmutats: Vegyen fel ngy cscsot (0,
4, 8 s 12), s legyen ci j annak a kltsge, hogy minden > i
s j hvelyk magas knyvet egyetlen polcon trolunk.)
9. Egy vllalat dobozokat gyrt ht klnbzo mretben.
Az egyes tpusokra mutatkoz ignyt adja meg a 7. tblzat.
A gyrts vltoz kltsge (dollrban) megegyezik a doboz
trfogatval. A fixkltsg brmelyik mretu doboz esetn

7.3.

1000$. A gyr nagyobb mretu dobozzal is kielgthet egy


adott tpusra vonatkoz ignyt. A cl az ignyek maradktalan kielgtse minimlis kltsggel. Fogalmazza meg a
problmt egy legrvidebb t feladatknt, majd oldja meg!
7.

TBLZAT

Doboz
Mret
Kereslet

33 30 26 24 19 18 17
400 300 500 700 200 400 200

10. Magyarzza meg, hogyan lehet egyetlen sszetett szlltsi feladat megoldsval megtallni egy hlzat egy kitntetett cscsbl a hlzat mindegyik msik cscsba
vezeto legrvidebb utat!

A maximlis folyam problma


Szmos dntsi helyzet lerhat egy olyan hlzattal amelyben az leknek korltozott tereszto kpessgk van, s ez korltozza az adott len tovbbthat termkmennyisget.
Ilyen helyzetekben a cl gyakran a maximlis mennyisg eljuttatsa egy kiindulsi pontbl
(forrs) egy vgpontba (nyelo). Ezt a feladattpust hvjuk maximlis folyam problmnak. Szmos specializlt algoritmus ltezik a maximlis folyam feladatok megoldsra. Ezt
az alfejezetet azzal kezdjk, hogy megmutatjuk miknt oldhat meg egy maximlis folyam
feladat lineris programozssal, majd a FordFulkerson (1962) mdszert ismertetjk.

Maximlis folyam feladatok megoldsa LP-vel

3.

PLDA

6. B R A
A Sunco hlzata

A Sunco olajtrsasg a leheto legnagyobb mennyisgu olajat akarja (rnknt) eljuttatni a


6. brn lthat csovezetken keresztl a so cscsbl a si cscsba. A so-bl a si-be vezet o
tjn az olaj esetleg tmegy az 1, 2 s 3 szivatty-llomsokon, ahol klnbz o tmroju
csovezetkek kapcsoldnak egymshoz. A 8. tblzat mutatja, hogy az egyes leken maximlisan hny milli hord olaj nyomhat keresztl (rnknt). Ezeket a szmokat hvjuk
lkapacitsnak. rjunk fel egy olyan LP-t, amelyikkel meghatrozhat a so-bl a si-be
kldheto olaj maximlis mennyisge (rnknt).

7.3. A maximlis folyam problma

8.

TBLZAT

lkapacitsok a
Sunco hlzatban

Megolds

Kapacits

(so, 1)
(so, 2)
(1, 2)
(1, 3)
(3, si)
(2, si)

2
3
3
4
1
2

349

A so cscs a forrs (source), mivel onnan jn, de oda nem megy olaj. Analg mdon, a
si cscs a nyelo (sink), mivel oda megy, de onnan nem jn olaj. Kso bb vilgoss vl
okokbl bevezettnk egy mestersges a0 let, ami a nyelobol vezet a forrsba. Az a0 -n
keresztl nem igazi olaj folyik; elnevezse ezrt mestersges l.
A kvnt LP felrshoz vegyk szre: a Suncnak azt kell eldntenie, hogy mennyi
olajat kldjn (rnknt) az (i, j) len keresztl. Legyen teht
xi j = a hlzat (i, j) ln keresztl halad olaj mennyisge rnknt (milli hord)
Egy megvalsthat megoldst (egy lehetsges folyamot) adnak meg a 6. brn zrjelben
feltntetett szmok:
xso,1 = 2,

x13 = 0,

x12 = 2,

x3,si = 0,

x2,si = 2,

xsi,so = 2,

xso,2 = 0.

Egy folyam akkor lehetsges, ha teljesti a kvetkezo kt megktst:


0 len tmeno folyam lkapacits
s

cscsba bejvo folyam = cscsbl kimeno folyam

(minden lre)
(minden cscsra)

(1)
(2)

Felttelezzk, hogy szllts kzben olaj nem folyik el, ezrt egy lehetsges folyamra
fenn kell llnia a (2) felttelnek, a folyam-megorzsi megktsnek. A mestersges a 0 l bevezetse teszi lehetov, hogy a folyam-megorzsi felttelt a forrsra s a nyelore is felrjuk.
Ha x0 jelli a mestersges len tmeno folyamot, akkor a folyam-mego rzsi korlt miatt
x0 = a nyelobe rkezo olajmennyisg. A Sunco clja teht az x0 maximalizlsa az (1) s
(2) felttelek mellett:
max z = x0
f.h.

xso,1
xso,2
x12
x2,si
x13
x3,si
x0

(lkapacits korltok)

3
3

2
4

1
= xso,1 + xso,2

(so cscs folyam felttel)

xso,1
= x12 + x13
xso,2 + x12 = x2,si

(1-es cscs folyam felttel)


(2-es cscs folyam felttel)

x13
= x3,si
x3,si + x2,si = x0

(3-as cscs folyam felttel)


(si cscs folyam felttel)

xi j 0

350

7. fejezet Hlzati modellek

Ennek az LP-nek egy optimlis megoldsa: z = 3, xso,1 = 2, x13 = 1, x12 = 1, xso,2 = 1, x3,si =
1, x2,si = 2, x0 = 3. A maximlis megvalsthat olajfolyam a so-bl a si-be teht 3 milli
hord, ami a so12si, so13si, illetve so2si tvonalak mindegyikn kldtt 1 milli
hordbl ll ssze.
A maximlis folyam problma, gy a lineris programozsi megfogalmazsa is, specilis
esete a minimlis kltsgu hlzati folyam (MKHF) problmnak, amit a 7.5. alfejezetben
trgyalunk. A szlltsi szimplex algoritmus egy ltalnostsa (az n. hlzati szimplex)
hasznlhat majd fel az MKHF feladatok megoldsra.
Mielott a maximlis folyam feladatok megoldsra kidolgozott FordFulkerson mdszert ismertetnnk, nzznk kt pldt maximlis folyam feladatra vezet o dntsi helyzetekre.

4.

9.

PLDA

A Fly-by-Night lgitrsasg meg akarja tudni, hogy naponta hny csatlakoz jrat szervezheto az alaszkai Juneau-bl a texasi Dallasba. A csatlakozsok miatt a jratnak meg
kell llnia Seattle-ben, majd utna Los Angelesben vagy Denverben. Repl o tri korltozsok miatt a Fly-by-Night csak a 9. tblzatban megadott szm jratot indthat az egyes
viszonylatokban. Adjunk meg egy olyan maximlis folyam feladatot amelynek megoldsbl kiderl, hogy tud a lgitrsasg maximlis szm csatlakoz jratot kzlekedtetni
naponta Juneau-bl Dallasba.

TBLZAT

lkapacitsok a
Fly-by-Night
feladatban

Megolds

7. B R A
A Fly-by-Night
hlzata

Vrosok

A napi jratok
maximlis szma

JuneauSeattle (J, S)
SeattleL.A. (S, L)
SeattleDenver (S, De)
L.A.Dallas (L, D)
DenverDallas (De, D)

3
2
3
1
2

A 7. bra mutatja a megfelelo hlzatot. Az (i, j) l kapacitsa az i vrosbl a j vrosba indthat jratok maximlis szma. Ennek a maximlis folyam feladatnak az optimlis megoldsa: z = x0 = 3, xJ,S = 3, xS,L = 1, xS,De = 2, xL,D = 1, xDe,D = 2. A Fly-by-Night teht
hrom jratot tud mukdtetni: egyet a JuneauSeattleL.A.Dallas, s kett o t a Juneau
SeattleDenverDallas tvonalon.

7.3. A maximlis folyam problma

5.

10.

PLDA

t frfi s t noi hressg vesz rszt egy blon. A tncmester clja, hogy a lehet o legtbb,
sszeillo partnerekbol ll prost alaktson ki. A 10. tblzat mutatja, hogy melyik frfin o
prosok az sszeilloek. Adjunk meg egy hlzatot amely, leheto v teszi, hogy a maximlis
szm sszeillo prostst egy maximlis folyam feladat megoldsbl kapjuk meg.

TBLZAT

sszeillo prok
Kevin Costner
Burt Reynolds
Tom Selleck
Michael Jackson
Tom Cruise
Megjegyzs:

Megolds

351

Loni
Anderson

Meryl
Streep

Katharine
Hepburn

Linda
Evans

Victoria
Principal

jelzi az sszeillosget.

A 8. brn egy erre a clra alkalmas hlzat lthat. Ebben a hlzatban mindegyik l kapacitsa 1. A forrsbl minden frfihez megy egy l, minden sszeill o pros frfi- s notagja
kztt van l, s mindegyik hlgyto l megy l a vgso cscsba. A maximlis folyam ebben
a hlzatban pontosan megadja a vlaszt a tncmester problmjra. Pldul, a KCMS,
BRLA, MJVP s TCKH prosok megfelelnek egy 4 egysgnyi folyamnak a forrsbl
a nyelobe. (Ez egybknt egy maximlis folyam ebben a hlzatban.)

8. B R A
A tncmester
hlzata

Gondoljuk meg, hogy mirt alkalmas ez a hlzat a tncmester problmjnak megoldsra! Mivel mindegyik l kapacitsa 1, a folyam megmaradsnak szablya miatt mindegyik hlgy legfeljebb egy frfival, s mindegyik frfi legfeljebb egy n o vel lehet prostva.
Ugyanakkor a nem sszeillo szereplok kztt nem megy l, teht egy k egysgnyi folyam
a forrsbl a nyelobe biztosan k sszeillo prost ad meg.

A FordFulkerson mdszer maximlis folyam feladatok megoldsra


Feltve, hogy egy lehetsges folyamot mr ismernk (minden len nulla mennyisget szlltani mindig lehetsges folyam), felmerl a kvetkezo kt fontos krds:
1. krds Hogyan dntjk el egy lehetsges folyamrl, hogy optimlis folyam-e (azaz,
maximalizlja-e az x0 -t)?

352

7. fejezet Hlzati modellek

2. krds Amennyiben egy lehetsges folyam nem optimlis, hogyan lehet gy mdostani, hogy egy magasabb rtku (a forrsbl a nyelo be nagyobb mennyisget juttat) j
lehetsges folyamot kapjunk?
Eloszr a 2. krdsre adjuk meg a vlaszt. A hlzat minden egyes lre meghatrozzuk,
hogy a kvetkezo tulajdonsgok kzl melyiket teljestik:
1. tulajdonsg Az (i, j) len tmeno folyam kisebb az l kapacitsnl. Ebben az esetben
az (i, j) len tmeno folyam nvelheto. Jellje I az ezzel a tulajdonsggal rendelkezo lek
halmazt.
2. tulajdonsg Az (i, j) len tmeno folyam pozitv. Ebben az esetben az (i, j) len tmeno folyam cskkentheto. Jellje R az ezzel a tulajdonsggal rendelkezo lek halmazt.
Az I s R halmazok defincijnak szemlltetsre tekintsk a 9. brt. Ennek a hlzatnak
az lei a kvetkezokppen osztlyozhatk: (so, 1) eleme I-nek s R-nek is; (so, 2) az I-be
tartozik; (1, si) az R eleme; (2, si) s (2, 1) is I-beliek.
9. B R A
I s R tpus lek

Most mr ismertetni tudjuk a FordFulkerson cmkzsi eljrst, aminek clja egy lehetsges folyam mdostsa a folyam ero ssgnek nvelse rdekben.
1. lps Cmkzzk meg a forrst.
2. lps Cmkzzk meg a cscsokat s az leket (az a0 l kivtelvel) a kvetkezo szablyok szerint: (1) Ha az x cscs mr kapott cmkt, de az y cscs mg nem, s az (x, y) l
az I eleme, akkor cmkzzk meg az y cscsot s az (x, y) lt. Ebben az esetben az (x, y) lt
eloremeno lnek hvjuk. (2) Ha az x cscs mr kapott cmkt, de az y cscs mg nem, s
az (y, x) l az R eleme, akkor cmkzzk meg az y cscsot s az (y, x) lt. Ebben az esetben
az (y, x) lt htrameno lnek hvjuk.
3. lps Folytassuk ezt a cmkzsi eljrst, amg a nyelo cmkt nem kap, vagy tovbbi
cscsokat mr nem lehet cmkvel elltni.
Amennyiben az eljrs sorn megcmkzzk a nyelo t is, lesz egy cmkzett lekbol ll
lnc (jellje C) a forrs s a nyelo kztt. A C-beli leken tmeno folyam alkalmas mdostsval egyrszt megorizhetjk a folyam lehetsgessgt, msrszt nvelhetjk a folyam
erossgt. Ennek beltshoz vegyk szre, hogy
1. eset C vagy kizrlag eloremeno lekbol ll,
2. eset vagy C tartalmaz elore- s htrameno l(eke)t is.2
2 Mivel az a lt kizrjuk a cmkzsi eljrsbl, csak htramen o
lekbol ll lnc nem keletkezhet a forrs s
0
a nyelo kztt.

7.3. A maximlis folyam problma

353

10. B R A
A cmkzsi
mdszer 1. esete

A folyam rtke=2
A lnc: (so, 1)_(1, 2)_(2, si)

11. B R A
A javtott folyam
az 1. esetben

A folyam rtke=3

Brmelyik esetben kaphatunk egy, a jelenleginl magasabb rtku j lehetsges folyamot.


Az 1. esetben a C lnc kizrlag elo remeno lekbol ll. Mindegyik C-beli eloremeno lre
legyen i(x, y) az a mennyisg, amennyivel az (x, y) len tmen o folyam jelenleg kevesebb
mint az (x, y) l kapacitsa. Legyen
k = min i(x, y)
(x,y)C

Biztosan k > 0. Nveljk a C mindegyik ln az tmeno folyam mennyisgt k egysggel.


Ugyancsak nveljk az a0 len tmeno folyam mennyisgt k egysggel. Ezzel az leken
kapacitskorltot nem srtnk meg, s a cscsoknl is mego rzodik a folyam-megmarads.
Az j folyam teht szintn lehetsges, ugyanakkor k egysggel tbbet juttat a forrsbl a
nyelobe, mint a jelenlegi lehetsges folyam.
A 10. brn illusztrljuk az 1. esetet. Jelenleg 2 egysg jut el a forrsbl a nyel o be.
A cmkzsi eljrs a nyelo megcmkzsvel r vget, s a C = (so, 1) (1, 2) (2, si)
lncot eredmnyezi. Mindegyik l I-be tartozik, s i(so, 1) = 5 2 = 3; i(1, 2) = 3 2 = 1;
s i(2, si) = 4 2 = 2. Most k = min (3, 1, 2) = 1. Teht egy javtott lehetsges folyamot
kapunk, ha a C lein tmeno folyamot vgig 1 egysggel megnveljk. Az j folyam 3
egysgnyit juttat a forrsbl a nyelo be (lsd 11. brt).
A 2. esetben a forrst a nyelovel sszekto C lncban vannak elore- s htrameno lek is.
Mindegyik C-beli (x, y) htrameno lre legyen r(x, y) az a mennyisg, amennyivel az (x, y)
len tmeno folyam cskkentheto (azaz a jelenlegi pozitv mennyisg). Legyen tovbb
k1 =

min

(x,y)CR

r(x, y)

k2 = min

(x,y)CI

i(x, y).

Termszetesen k1 s k2 , s gy min (k1 , k2 ) is > 0. A folyam erossgt mindegyik C-beli


len mdostjuk: a htrameno leken min (k1 , k2 )-vel cskkentjk, az eloremeno leken
min (k1 , k2 )-vel nveljk. Nveljk az a0 len tmeno folyam mennyisgt min (k1 , k2 )vel. Ezzel a cscsoknl megorizzk a folyam-megmaradst, az leken pedig tovbbra is
nemnegatv, az lkapacitsokat nem srto folyam megy keresztl. Mivel a nyelo t rinto Cbeli l biztosan eloremeno l, talltunk egy j lehetsges folyamot, amelyik min (k1 , k2 )-vel
tbbet juttat a nyelobe, mint a jelenlegi folyam.

354

7. fejezet Hlzati modellek

12. B R A
A cmkzsi
mdszer 2. esete

A folyam rtke=2
A lnc: (so,2)_(1, 2)_(1, 3)_(3, si)

13. B R A
A javtott folyam a
2. esetben

A folyam rtke=3

A 2. esetet a 12. brn lthat lehetsges folyamon illusztrljuk. Erre a folyamra (so, 1)
R; (so, 2) I; (1, 3) I; (1, 2) I s R; (2, si) R; vgl, (3, si) I.
Eloszr a (so, 2) lt s a 2-es cscsot cmkzzk meg (vagyis (so, 2) egy el o remeno l).
Majd az (1, 2) l s az 1-es cscs kap cmkt. Az (1, 2) egy htramen o l, mert az 1-es
cscsnak mg nem volt cmkje, s az (1, 2) l az R eleme. Mivel a so, 1 s 2 cscsok
mr cmkzettek, az (1, 3) l s a 3-as cscs is cmkt kaphat. (Az (1, 3) egy el o remeno l,
hiszen a vgpontjnak nem volt eddig cmkje.) Vgl a (3, si) l s a si cscs kap cmkt
(a (3, si) is egy eloremeno l). Elrtk teht a nyelot a C = (so, 2) (1, 2) (1, 3) (3, si)
lncon keresztl. Az (1, 2) l kivtelvel a lnc sszes le elo remeno l. Mivel i(so, 2) =
3; i(1, 3) = 4; i(3, si) = 1 s r(1, 2) = 2,
min

(x,y)CR

r(x, y) = 2

min

(x,y)CI

i(x, y) = 1.

Teht a C-beli eloremeno leken 1-gyel nvelhetjk, a htrameno leken pedig 1-gyel cskkenthetjk a folyamot. Az ily mdon 1 egysggel (2-ro l 3-ra) nvelt rtku lehetsges folyamot mutatja a 13. bra. Ltjuk, hogy az eredetileg (1, 2) len keresztl halad folyambl
1 egysgnyit tirnytottunk az 13si tra. Ezzel leheto v vlt egy tovbbi egysg eljuttatsa a forrsbl a nyelobe a so2si ton keresztl. Figyeljk meg, hogy ez a javts a
htrameno l nlkl nem lett volna lehetsges.
Ha a nyelot nem tudjuk megcmkzni, a jelenlegi folyam optimlis. Ennek bizonytsa
a vgs fogalmn alapszik.

D EFINCI

Legyen V 0 egy hlzat cscsainak tetszoleges olyan halmaza, amelyik tartalmazza a


nyelot, de nem tartalmazza a forrst. Ekkor a hlzat olyan (i, j) leinek halmaza,
amelyek i kezdopontja nem V 0 -beli, a j vgpontja viszont V 0 -beli, egy vgs a hlzatban.

7.3. A maximlis folyam problma

D EFINCI

355

Egy vgs kapacitsa alatt a vgst alkot lek kapacitsainak sszegt rtjk.
Rviden, egy vgs az lek egy olyan halmaza, amit ha elhagyunk a hlzatbl, a forrsbl a nyelobe mr nem vezet t. Egy hlzatban szmos vgs lehet. Pldul, a 14. brabeli
hlzatban a cscsok V 0 = {1, si} halmaza a (so, 1) s (2, si) lekbo l ll, 2 + 1 = 3 kapacits vgst definilja. A V 0 = {1, 2, si} halmaz viszont a (so, 1) s (so, 2) lekbo l ll, 2
+ 8 =10 kapacits vgst.

14. B R A
Plda egy vgsra

A V'={1, si} cscshalmaz


a {(so, 1), (2, si)} vgst adja

Az albbi kt segdttel adja meg a vgsok s a maximlis folyamok kztti kapcsolatot.

1. SEGDTTEL

A forrsbl a nyelo be vezeto brmelyik folyam erossge kisebb vagy egyenlo, mint akrmelyik vgs kapacitsa.

Bizonyts

Vegyk a cscsok egy tetszo leges olyan V 0 halmazt, amelyik tartalmazza a nyelo t, de
nem tartalmazza a forrst, s tekintsk a V 0 ltal meghatrozott vgst. A hlzat tbbi
cscsnak halmazt jellje V . Vegynk tovbb egy tetszo leges lehetsges folyamot, ennek
rtkt jellje f , az (i, j) len thalad mennyisget pedig xi j . Ha a V -beli minden i cscsra
sszegezzk a folyam-megorzsi egyenleteket (az i cscsbl kimeno folyam az i cscsba
bemeno folyam = 0), kiesnek az olyan (i, j) lekhez tartoz tagok, amelyekben i s j is a
V -hez tartozik. Azt kapjuk, hogy

iV ;
jV 0

xi j

xi j = f .

(3)

iV 0 ;
jV

A (3)-ban az elso sszeg kisebb vagy egyenlo , mint a vgs kapacitsa. Mivel mindegyik
xi j nemnegatv, ltjuk, hogy f a vgs kapacitsa, miknt azt lltottuk.
Az 1. segdttel az 5. fejezetben trgyalt gyenge dualitsi sszefggs megfelel o je. Kvetkezik belole, hogy brmelyik vgs kapacitsa a forrsbl a nyelo be raml maximlis
folyam erossgnek egy felso korltja. Teht, ha tallunk egy lehetsges folyamot s egy
vgst gy, hogy a folyam rtke egyenlo a vgs kapacitsval, akkor talltunk egy maximlis folyamot.
Tegyk fel, hogy egy lehetsges folyamra a nyelo t nem tudjuk megcmkzni. Legyen
VGS a cmkzetlen cscsok halmaza ltal meghatrozott vgs.

356

7. fejezet Hlzati modellek

2. SEGDTTEL

Ha a cmkzsi eljrs a nyelo t nem ri el, akkor


a VGS kapacitsa = az aktulis folyam ero ssge.

Bizonyts

Legyen V 0 a cmkzetlen, V pedig a cmkzett cscsok halmaza. Vegynk egy (i, j) lt a


VGS-bl, azaz i a V -nek, j a V 0 -nek eleme. Ekkor xi j -nek egyenlonek kell lennie az (i, j)
l kapacitsval, klnben a j cscsot meg tudtuk volna cmkzni (egy el o remeno llel) s
j nem a V 0 -hez tartozna. Tekintsnk most egy olyan (i, j) lt, amelyre az i van V 0 -ben s a
j a V -ben. Ekkor xi j = 0 kell teljesljn, klnben az i cscsot meg tudtuk volna cmkzni
(egy htrameno llel), s i nem a V 0 -hez tartozna. Az aktulis lehetsges folyamra a (3)
alapjn teljesl, hogy
a VGS kapacitsa =

xi j = f = az aktulis folyam erossge,

iV ;
jV 0

amint azt lltottuk.


Az 1. segdttel utni megllapts szerint teht, amikor a nyelo t nem lehet megcmkzni, az aktulis folyam egy maximlis folyam.

A FordFulkerson mdszer sszefoglalsa s szemlltetse


1. lps Keressnk egy lehetsges folyamot (a minden len 0 rtku folyam mindig lehetsges).
2. lps A cmkzsi eljrssal prbljuk elrni a nyelo t. Ha nem lehet a nyelot megcmkzni, az adott lehetsges folyam maximlis. Ha elrjk a nyel o t, folytassuk a 3. lpssel.
3. lps A korbban ismertetett mdszerrel hatrozzunk meg egy magasabb rtku lehetsges folyamot. Trjnk vissza a 2. lpsre.
Szemlltetskppen, a FordFulkerson mdszerrel megoldjuk a Sunco problmjt (3.
plda, 6. bra). Kezdetben minden len 0 mennyisget szlltunk. A cmkzsi eljrsban
eloszr a forrs, majd a (so, 1) l s az 1-es cscs, utna az (1, 2) l s a 2-es cscs, vgl a
(2, si) l s a si cscs kap cmkt. A C = (so, 1)(1, 2)(2, si) mindegyik le el o remeno l,
nvelhetjk teht rajtuk a mennyisget min (2, 3, 2) = 2 egysggel. Ezt mutatja a 15. bra.
15. B R A
A Sunco hlzata
(elso nvelt
folyam)

A folyam rtke=2
A (so, 2)_(1, 2)_(1, 3)_(3, si) megcmkzi a nyelt

Amint a 12. bra kapcsn lttuk, ekkor a C = (so, 2)(1, 2)(1, 3)(3, si) lncon keresztl a nyelo megcmkzheto. Nvelhetjk a (so, 2), (1, 3) s (3, si) elo remeno leken tmeno

7.3. A maximlis folyam problma

357

16. B R A
A Sunco hlzata
(optimlis folyam)

A folyam rtke=3
A nyel nem cmkzhet, a folyam optimlis

mennyisget 1 egysggel, s cskkenthetjk az (1, 2) htramen o len tmeno mennyisget


1 egysggel. Az eredmnyt mutatja a 16. bra. Ekkor a nyel o mr nem elrheto: elsoknt
csak a (so, 2) l s a 2-es cscs cmkzheto , ezt kvetoen pedig csak az (1, 2) s (1, 3) lek
s az 1, 3 cscsok. De a nyelo sehogyan sem elrheto.
Ez a folyam maximlis. A cmkzetlen cscsok (ez esetben csak a si) ltal definilt
(most a (2, si) s (3, si) lekbol ll) vgs kapacitsa (2 + 1 = 3) ugyanis megegyezik az
aktulis lehetsges folyam erossgvel (a forrsbl a nyelobe juttatott mennyisggel). A
fenti segdttelek szerint teht a folyam optimlis.
A FordFulkerson mdszerre egy msik plda a 17. brn tallhat. Vegyk szre, hogy
a htrameno lek nlkl a 7 egysgnyi maximlis folyam nem lenne elrhet o . A (termszetesen 7 kapacits) minimlis vgst az 1, 3 s si cscsok hatrozzk meg, elemei a (so, 1),
(so, 3) s (2, 3) lek.
17.

BRA

Plda a
FordFulkerson
mdszerre

(a) Eredeti hlzat

(c) Megcmkzzk a nyelt a so_1_2_3_si


lnccal (csak elremen leket hasznlva
2 egysggel nveljk a folyamot)

(b) Megcmkzzk a nyelt a so_3_si


lnccal (csak elremen leket hasznlva
3 egysggel nveljk a folyamot)

(d) Megcmkzzk a nyelt a so_2_1_si


lnccal (az (1, 2) htramen lt is hasznlva
2-vel nveljk a folyamot; elrjk a 7 egysg
maximlis folyamot)

358

7. fejezet Hlzati modellek

Feladatok
A csoport

21.

BRA

A 4. feladat hlzata

22.

BRA

Az 5. feladat hlzata

13. A 1820. brk tartoznak az 13. feladatokhoz. Keresse meg az egyes hlzatokban a maximlis folyamokat!
Melyik vgs kapacitsa egyezik meg a maximlis folyam
erossgvel az adott hlzatban? rja fel a maximlis folyam
meghatrozsra alkalmas LP-t is az adott hlzatra!
18.

BRA

Az 1. feladat hlzata
3

so

si

19.

BRA

A 2. feladat hlzata
3
4

so

si

2
3

20.

BRA

A 3. feladat hlzata
3

so

1
3

si
3

2
2

45. A 21., illetve 22. brn lthat hlzatban keresse meg


a maximlis folyamot! Adja meg azt a vgst is, amelynek
kapacitsa megegyezik a maximlis folyam erossgvel!
6. t gpkocsinak kell htfle csomagot kzbestenie.
Mindegyik tpus csomagbl 3 darab van, a gpkocsik kapacitsa 6, 4, 5, 4 s 3 darab csomag a tpustl fggetlenl.
Adjon meg egy olyan maximlis folyam feladatot, amivel
eldntheto, hogy fel lehet-e pakolni a csomagokat gy, hogy
egy gpkocsi egyfle csomagbl egynl tbbet ne szlltson!

7. Ngy munksunk van az 14. feladatok elvgzsre.


Sajnos, hrom munks csak bizonyos feladatokat kpes teljesteni: az 1-es munks csak az 1. feladatot; a 2-es munks
csak az 1. s 2. feladatokat; a 3-as munks csak a 2. feladatot. A 4-es munksra brmelyik feladatot rbzhatjuk. Adjon meg egy olyan maximlis folyam feladatot, amelynek
a megoldsval eldntheto, hogy akad-e az sszes feladatra
alkalmas munks!
8. A Hatfield, Montague, McCoy s Capulet csaldok kzs piknikre mennek. Ngy autjuk van, ezek kapacitsa a
kvetkezo: 1-es aut ngy szemly; 2-es aut hrom szemly; 3-as aut hrom szemly; 4-es aut ngy szemly.
Mindegyik csald ngytag s kettonl tbb szemly egyik
csaldbl sem lhet ugyanabba az autba. A legtbben hnyan mehetnek a piknikre? Fogalmazzuk meg a problmt
maximlis folyam feladatknt!
910. A 23., illetve 24. brn lthat hlzatban keresse
meg a maximlis folyamot! Adja meg azt a vgst is, amelynek a kapacitsa megegyezik a maximlis folyam erossgvel!
23.

BRA

so

si

2
2

7.3. A maximlis folyam problma


24.

BRA

15. A Fly-by-Night lgitrsasg hrom jrat indtst fontolgatja. Az egyes jratokbl szrmaz bevtel, s a jratok
ltal rintett reploterek a 11. tblzatban tallhatk.

9
so

3
7

11.

si

6
6

TBLZAT

Jrat

Bevtel ($)

1
2
3

900
600
800

rintett replotr
1-es s 2-es replotr
2-es replotr
2-es s 3-as replotr

B csoport
11. Tegyk fel, hogy egy hlzatban vges sok l van s
mindegyik lkapacits egsz szm. Indokolja meg, hogy a
FordFulkerson mdszer mirt tall meg biztosan egy maximlis folyamot vges sok lpsben! Mirt lesz a maximlis
folyam egszrtku?
12. Tekintsnk egy olyan hlzati folyam problmt,
amelyben tbb forrs s tbb nyelo van, s a cl a forrsokbl a nyelokbe juttatott folyam rtknek maximalizlsa.
Mutassa meg, hogyan lehet ezt a feladatot talaktani egy
egyetlen forrssal s egyetlen nyelovel rendelkezo hlzatra
vonatkoz maximlis folyam feladatt!
13. Tegyk fel, hogy egy hlzat egy cscsba rkezo folyam mennyisge a 10 egysget nem haladhatja meg. Hogyan lehet ezt a megktst egy lkapacitsi felttellel helyettesteni? (Teht cscskapacitsok esetn is hasznlhatjuk a FordFulkerson mdszert a maximlis folyam meghatrozsra.)
14. Tegyk fel, hogy rnknt legfeljebb 300 gpkocsi
kzlekedhet az 1, 2, 3 s 4 vrosok kzl brmelyik
ketto kztt. Adjon meg egy maximlis folyam feladatot,
amellyel meg lehet hatrozni, hogy a kvetkezo kt rban
hny gpkocsi kldheto az 1-es vrosbl a 4-es vrosba!
(tmutats: A hlzatnak legyenek a t = 0,t = 1 s t = 2-t
reprezentl rszei.)

25. B R A
A hlzat a 15.
feladatban

359

Egy replotr hasznlatrt a Fly-by-Nightnak a kvetkezo


fix (a leszllsok szmtl fggetlen) kltsget kell fizetnie:
1-es reptr 300$; 2-es reptr 700$; 3-as reptr 500$. Pldul,
az 1-es s 3-as jrat indtsa 900 + 800 300 700 500 =
200$ profitot hoz. Mutassa meg, hogy a 25. bra hlzatra
teljesl, hogy (maximlis profit) = (a jratok bevteleinek
sszege) (a minimlis vgs kapacitsa)! Magyarzza
meg, hogyan hasznlhat ez az eredmny a Fly-by-Night
profitjnak maximalizlsra (mg jratok szzainak esetn
is)! (tmutats: Vegyk jratok egy F halmazt (mondjuk
az 1 s 3 jratokt). Tekintsk azt a vgst, amit a nyelo,
az F-be nem tartoz jratokat reprezentl cscsok s az F
ltal nem hasznlt replotereket megjelento cscsok hatroznak meg. Mutassa meg, hogy (ezen vgs kapacitsa) =
(az F-be nem tartoz jratokbl szrmaz sszbevtel) +
(az F ltal hasznlt reploterek kltsgei)!)
16. Az eljvendo ngy hnap alatt egy ptsi vllalatnak
hrom projektet kell befejeznie. Az 1-es projekt hrom hnap alatt befejezendo s mg 8 havi munkt ignyel. A 2-es
projekt ngy hnap alatt befejezendo s mg 10 havi munkt ignyel. A 3-as projektet a msodik hnap vgig be
kell fejezni s mg 12 havi munkt ignyel. Mindegyik hnapban 8 munks ll rendelkezsre, de egyetlen hnapban
sem dolgozhat 6-nl tbb munks ugyanazon a projekten.
Adjon meg egy alkalmas maximlis folyam feladatot annak
eldntsre, hogy vajon befejezheto-e idoben mind a hrom
projekt! (tmutats: Amennyiben a megfelelo hlzatban
a maximlis folyam erossge 30, mindegyik projekt idoben
befejezheto.)

360

7. fejezet Hlzati modellek

7.4.

CPM s PERT
A hlzati modellek hasznos segdeszkzt jelentenek a sok tevkenysgb o l ll sszetett
projektek temezsben is. Ha a tevkenysgek ido tartama biztosan tudhat, a kritikus t
mdszer (Critical Path Method, CPM) hasznlhat a projekt befejezshez szksges id o tartam meghatrozsra. A CPM arra is vlaszt ad, hogy mely tevkenysgek halaszthatk
(s mennyivel) anlkl, hogy a projekt befejezse csszna. A CPM-et az 1950-es vek vgn fejlesztettk ki a du Pont s Sperry Rand kutati.
Ha a tevkenysgek idotartama tl bizonytalan, a program kirtkelsi s fellvizsglati
technika (Program Evaluation and Review Technique, PERT) segtsgvel becslhet o annak a valsznusge, hogy a projekt egy adott hatrido re befejezodik. A PERT-et a Polaris
rakta kifejlesztst segto tancsadk dolgoztk ki szintn az 1950-es vek vgn. A CPM
s PERT mdszereknek nagy szerepk volt abban, hogy a Polaris raktk a hatrid o elott
kt vvel mukdokpesek voltak.
A CPM s PERT technikkat sokfel sikeresen alkalmaztk, tbbek kztt
1.

ptsi projektek (irodahzak, utak, uszodk) temezsre,

2.

egy 400 gyas krhz tkltztetsekor, az oregoni Portlandben,

3.

a raktakilvsek visszaszmllsi eljrsnak kidolgozsra,

4.

egy j szmtgpes rendszer installlsra,

5.

egy j termk megtervezsre s piaci bevezetsre,

6.

nagyvllalatok kztti sszeolvads modellezsre,

7.

hajptsi munklatok temezsre.

A CPM s PERT alkalmazshoz szksg van a projektet alkot tevkenysgek listjra. A projektet akkor tekintjk befejezettnek, ha mindegyik rszfeladata befejez o dik.
Mindegyik tevkenysgnek lehetnek elo zmnyei, azaz olyan tevkenysgek, amelyeknek
be kell fejezodnik ahhoz, hogy az adott tevkenysg elkezdo dhessen. A tevkenysgek
kztti ilyen elorsokat egy projekt-hlzattal reprezentljuk. Trgyalsunkban a tevkenysgeket az irnytott lek jelentik meg, a cscsok pedig a tevkenysgek bizonyos
csoportjainak befejezst jelzik. (Ezrt a projekt-hlzatunk cscsaira gyakran mint esemnyekre hivatkozunk.) Az ilyen tpus projekt-hlzatot hvjk AOA (activity on arc)
hlzatnak.3
Lssuk, hogyan jelenti meg egy AOA hlzat a megelo zsi viszonyokat. Tegyk fel,
hogy az A tevkenysg elozmnye a B tevkenysgnek. Az AOA hlzat egy cscsa egy
vagy tbb tevkenysg befejezst szimbolizlja. A 26. brn teht a 2-es cscs az A tevkenysg befejezst s a B tevkenysg kezdett jelzi. Tegyk most fel, hogy az A s a
B tevkenysgnek is be kell fejezo dnie a C tevkenysg indulsa elo tt. A 27. brn a 3-as
cscs reprezentlja azt, hogy az A s B is befejezo dtt. A 28. bra azt mutatja, hogy az A
tevkenysg elozmnye a B-nek s a C-nek is.
26. B R A
A-nak be kell
fejezodnie a B
kezdete elott

Tevkenysgek s elozmnyek egy adott listjbl a kvetkezo szablyok segtsgvel kszthetjk el a projekt egy AOA reprezentcijt (amit projekt-hlzatnak vagy
projekt-diagramnak hvunk):
3 Egy AON (activity on node) tpus projekt-hlzatban a cscsok reprezentljk a tevkenysgeket, az lek
pedig a kzttk fennll megelo zsi elorsokat. Lsd pl. Wiest s Levy (1977).

7.4. CPM s PERT

361

27. B R A
A-nak s B-nek be
kell fejezodnie a C
kezdete elott

28. B R A
A-nak be kell
fejezodnie a B s a
C kezdete elott

1. Az 1-es cscs jelzi a projekt kezdett. Az elo zmny nlkli tevkenysgeket az 1-es
cscsbl kiindul lekkel jelentjk meg.
2. Egy a projekt befejezst szimbolizl befejezs cscsot is tartalmaznia kell a hlzatnak.
3. Szmozzuk gy a hlzat cscsait, hogy egy tevkenysg vgt mutat cscs sorszma
mindig nagyobb legyen, mint a tevkenysg kezdett mutat cscs (ennek a szablynak
persze tbb szmozs is megfelelhet).
4.

Egy tevkenysget csak egy l reprezentlhat.

5.

Kt cscs kztt legfeljebb egy l mehet.

A 4. s 5. szably betartshoz szksg lehet nulla ido tartam fiktv tevkenysgek bevezetsre. Tegyk fel pldul, hogy az A s B tevkenysgek egyszerre kezd o dhetnek, s
mindketten elozmnyei a C tevkenysgnek. Az 5. szably hinyban a 29. bra megfelel o
lenne. Az 1-es s 2-es cscs kztt azonban tbb mint egy l megy, ezrt a 29. bra nem
felel meg az 5. szablynak. Ekkor bevezethetnk egy fiktv tevkenysget (a szaggatott
l), amint a 30. bra mutatja. Ily mdon az 5. szablynak is megfelelve biztostjuk, hogy
C csak az A s B befejezse utn kezdo dhet. Az alfejezet utni 10. feladat mutatja, hogy
fiktv tevkenysgre a 4. szably betartsa rdekben is szksg lehet.
A 6. plda egy projekt-hlzatot szemlltet.

29. B R A
Srl az 5. szably

30. B R A
Egy fiktv
tevkenysg
hasznlata
Fiktv l

362

7. fejezet Hlzati modellek

6.

12.

PLDA

A Widgetco egy j termk (3-as termk) bevezetsre kszl. Egy egysg 3-as termk egy
egysg 1-es s egy egysg 2-es termkbo l ll. Az 1-es s 2-es termkek termelse elo tt
az alapanyagot be kell szerezni s a munksokat ki kell kpezni. Az 1-es s 2-es termkek sszeszerelse elott a ksz 2-es termknek ellenorzsen kell tesnie. A tevkenysgek
s elozmnyeik listja a 12. tblzatban tallhat. Rajzoljunk fel egy alkalmas projektdiagramot!

TBLZAT

A Widgetco
projekt adatai

Megolds

Tevkenysg
A
B
C
D
E
F

=
=
=
=
=
=

munksok kikpzse
alapanyag beszerzse
1-es termk gyrtsa
2-es termk gyrtsa
2-es termk ellenorzse
1-es s 2-es termkek sszeszerelse

Elozmnyek

Idotartam
(nap)

A, B
A, B
D
C, E

6
9
8
7
10
12

Vegyk szre, hogy ugyan csak a C-t s az E-t tntettk fel mint az F el o zmnyeit, valjban az A, B s D tevkenysgeknek is be kell fejezo dnik az F kezdete elott. Mivel a
C csak az A-t s a B-t kvetoen kezdodhet, valamint az E csak a D utn jhet, flsleges
lenne az F elozmnyeiknt az A, B s D tevkenysgeket is felsorolni. A projekt-hlzat
felrajzolsakor teht elegendo a tevkenysgeket kzvetlenl megelo zo tevkenysgeket
tekinteni.
A projekt AOA hlzata a 31. brn tallhat (az lek feletti szmok az adott tevkenysg napokban mrt idotartamt jelentik). Az 1-es cscs a projekt kezdett, a 6-os cscs a
projekt befejeztt jelkpezi. A (2, 3) fiktv l beiktatsra az 5. szably miatt van szksg.

31. B R A
A Widgetco
projekt diagramja
Fiktv

1-es cscs _ kezds


6-os cscs _ befejezs

A CPM mdszer kt kulcsfogalma egy esemny korai ido ztse (early event time, ET),
illetve ksoi idoztse (late event time, LT).

D EFINCI

D EFINCI

Az i cscs korai idoztse (jellse ET (i)) az a legkorbbi ido pont, amikor a cscshoz tartoz esemny bekvetkezhet.
Az i cscs ksoi idoztse (jellse LT (i)) az a legksobbi idopont, amikor a cscshoz tartoz esemny bekvetkezhet anlkl, hogy a projekt befejezst ksleltetn.

7.4. CPM s PERT

363

A korai idozts
kiszmolsa
A cscsok korai idoztsnek kiszmolst a projekt kezdett jelzo 1-es csccsal kezdjk, ET (1) = 0. Ezutn kvetkezik az ET (2), ET (3) stb. meghatrozsa az ET (befejezsi
cscs) rtkkel bezrlag. Egy ET (i) szmolst a 32. brn lthat hlzatrszlettel szemlltetjk. Tegyk fel, hogy mr tudjuk: ET (3) = 6, ET (4) = 8 s ET (5) = 10. A 6-os
cscshoz tartoz esemny csak akkor kvetkezhet be, ha a (3, 6), (4, 6) s (5, 6) lek ltal
reprezentlt esemnyek mr mind befejezo dtek, vagyis

ET (3) + 8 = 14
ET (6) = max ET (4) + 4 = 12

ET (5) + 3 = 13.
A 6-os cscs bekvetkezsnek legkorbbi ideje 14, vagyis ET (6) = 14.

32. B R A
Az ET (6)
meghatrozsa

A pldbl vilgos, hogy egy ET (i) kiszmolsa ignyli bizonyos ET ( j) rtkek ( j < i)
ismerett. Ez a magyarzata, hogy a korai ido ztseket mirt az elozmnyek ET rtkeinek meghatrozsval kezdjk. ltalnosan, ha ET (1), ET (2), . . . , ET (i 1) mr rendelkezsre ll, az ET (i)-t a kvetkezokppen szmtjuk ki:
1. lps Keressk meg az i cscsba mutat lek kezdo cscspontjait. Ezek az esemnyek
az i esemny kzvetlen elozmnyei.
2. lps Az i esemny mindegyik kzvetlen elo zmnynek ET rtkhez adjuk hozz az
elozmnybol az i-be vezeto lhez tartoz tevkenysg ido tartamt.
3. lps ET (i) egyenlo a 2. lpsben szmtott rtkek maximumval.
Szmoljuk most ki az ET (i) rtkeket a 6. pldban. Elo szr is ET (1) = 0. Mivel az
1-es cscs a 2-es cscs egyetlen kzvetlen elo zmnye, ET (2) = ET (1) + 9 = 9. A 3-as
cscs kzvetlen elozmnyei az 1-es s 2-es cscsok, ezrt
(
ET (1) + 6 = 6
= 9.
ET (3) = max
ET (2) + 0 = 9
Mivel a 3-as cscs a 4-es egyetlen kzvetlen elo zmnye, ET (4) = ET (3) + 7 = 16. Az 5-s
cscs kzvetlen elozmnyei a 3-as s a 4-es, ezrt
(
ET (3) + 8 = 17
= 26.
ET (5) = max
ET (4) + 10 = 26
Vgl, az 5-s cscs a 6-os egyetlen kzvetlen elo zmnye, teht ET (6) = ET (5)+12 = 38.
Mivel a 6-os cscs a projekt befejezst jelenti, ltjuk, hogy a 3-as termk el o lltsa a
kezdstol szmtva 38 napnl hamarabb nem lehetsges.

364

7. fejezet Hlzati modellek

Meg lehet mutatni, hogy ET (i) a projekt-hlzatban a kezdo ponttl az i cscsba vezeto
leghosszabb t hossza.

idozts

A ksoi
szmolsa
Az LT (i)-ket a befejezsi cscsbl visszafel (a cscsok sorszmnak cskken o sorrendjben) haladva szmtjuk ki egszen az LT (1) meghatrozsig. Mivel a 6. pldabeli projekt 38 nap alatt befejezheto, LT (6) = 38. A befejezsi cscstl klnbzo cscsra az LT
kiszmtst a 33. brabeli hlzatrszleten szemlltetjk. Tegyk fel, hogy mr tudjuk:
LT (5) = 24, LT (6) = 26 s LT (7) = 28. De mennyi az LT (4)? Ha a 4-es cscshoz tartoz
esemny LT (5) 3 utn kvetkezik be, az 5-s cscshoz tartoz esemny csak LT (5) utn
kvetkezhet be, de ekkor a projekt befejezse csszik. Hasonlkppen, ha a 4-es cscs az
LT (6) 4 vagy LT (7) 5 idopont utn kvetkezik be, a projekt befejezse ksedelmet
szenved. Teht,

LT (5) 3 = 21
LT (4) = min LT (6) 4 = 22 = 21

LT (7) 5 = 23.
33. B R A
Az LT (4)
kiszmtsa

ltalnosan, ha az LT ( j) rtkek ismertek j > i-re, az LT (i) a kvetkez o kppen szmtand:


1. lps Keressk meg azokat a cscsokat, amelyekbe megy l az i cscsbl. Ezek az
esemnyek az i esemny kzvetlen kveto i (utdjai).
2. lps Az i esemny mindegyik kzvetlen utdjnak LT rtkb o l vonjuk le az i-bol az
utdba vezeto lhez tartoz tevkenysg ido tartamt.
3. lps LT (i) egyenlo a 2. lpsben szmtott rtkek minimumval.
Szmoljuk most ki az LT (i) rtkeket a 6. pldban. Idzzk fel, hogy LT (6) = 38.
Mivel a 6-os cscs az 5-s egyetlen kzvetlen utdja, LT (5) = LT (6) 12 = 26. A 4-es
cscs egyetlen kzvetlen utdja az 5-s, ezrt LT (4) = LT (5) 10 = 16. A 4-es s 5-s
cscsok a 3-as kzvetlen kveto i, teht

LT (3) = min

LT (4) 7 = 9

LT (5) 8 = 18.

7.4. CPM s PERT

365

Mivel a 3-as cscs a 2-es egyetlen kzvetlen utdja, LT (2) = LT (3) 0 = 9. Vgl, az 1-es
cscsnak a 2-es s a 3-as a kzvetlen kveto i, ezrt
LT (1) = min

LT (3) 6 = 3

LT (2) 9 = 0.

A 6. pldra vonatkoz szmtsainkat sszegzi a 13. tblzat. Ha LT (i) = ET (i), az i


bekvetkezsnek brmilyen ksedelme a projekt befejezsnek csszst okozza. Pldul,
mivel LT (4) = ET (4), brmilyen kss a 4-es cscs bekvetkezsben ksedelmet okoz a
projekt befejezsben.
13.

TBLZAT

ET s LT a
Widgetco
projektben

Cscs
1
2
3
4
5
6

ET (i)

LT (i)

0
9
9
16
26
38

0
9
9
16
26
38

Turshatr

A projekt elindulsa elott a tevkenysgek idotartamt teljes bizonyossggal nem ismerjk.


A projekt-hlzat megszerkesztsnl hasznlt rtkek a tnyleges id o tartamoknak csak a
becslsei. Egy tevkenysg turshatrnak fogalma felhasznlhat annak mrsre, hogy
mennyire kell gyelnnk a tevkenysg becslt ido tartamnak betartsra.

D EFINCI

Egy tevkenysg, illetve az azt reprezentl (i, j) l turshatra

(jellse TH(i, j))


az a szm, amennyivel a tevkenysg elkezdse a legkorbbi kezdsi id o pontjtl
eltoldhat anlkl, hogy a projekt befejezse ksedelmet szenvedne (feltve, hogy a
tbbi tevkenysg nem csszik).
Mskppen, egy tevkenysg turshatra azt mutatja, hogy mennyivel nvekedhet meg a
tnyleges idotartam a becslt rtkhez kpest anlkl, hogy a projekt befejezse ksedelmet
szenvedne.
Ha ti j jelli az (i, j) tevkenysg hosszt, a TH(i, j) knnyen kifejezheto az LT ( j) s
ET (i) rtkekkel. Az (i, j) tevkenysg az i cscsnl kezdo dik. Ha az i esemny bekvetkezse vagy az (i, j) tevkenysg ido tartama k idoegysgnyit csszik, az (i, j) tevkenysg
az ET (i) + k + ti j idopontban r vget. A projekt befejezse akkor nem csszik, ha
ET (i) + k + ti j LT ( j),

vagy k LT ( j) ET (i) ti j .

Kvetkezskppen,
TH(i, j) = LT ( j) ET (i) ti j .

366

7. fejezet Hlzati modellek

A 6. pldban a TH(i, j) rtkek a kvetkezo k:


B tevkenysg: T H(1, 2) = LT (2) ET (1) 9 = 0
A tevkenysg: T H(1, 3) = LT (3) ET (1) 6 = 3

D tevkenysg: T H(3, 4) = LT (4) ET (3) 7 = 0


C tevkenysg: T H(3, 5) = LT (5) ET (3) 8 = 9

E tevkenysg: T H(4, 5) = LT (5) ET (4) 10 = 0


F tevkenysg: T H(5, 6) = LT (6) ET (5) 12 = 0

fiktv tevkenysg: T H(2, 3) = LT (3) ET (2) 0 = 0.

A kritikus t meghatrozsa
Ha egy tevkenysg turshatra nulla, kezdsnek (vagy id o tartamnak) brmilyen elhzdsa kslelteti a projekt befejezst. Egy ilyen tevkenysg teht dnt o fontossg a projekt
befejezse szempontjbl.

D EFINCI
D EFINCI

Egy nulla turshatrral rendelkezo tevkenysget kritikus tevkenysgnek hvunk.

Egy csupa kritikus tevkenysgbo l ll, a kezds cscsbl a befejezs cscsba vezeto
utat kritikus tnak hvunk.
A 31. brn a B, D, E, F s a fiktv tevkenysgek a kritikus tevkenysgek, az 1234
56 pedig a kritikus t (egy hlzatban tbb kritikus t is lehet). Egy projekt-hlzatban a
kritikus t a kezds cscsbl a befejezs cscsba vezeto leghosszabb t (lsd a 7.5. alfejezet
2. feladatt).
Mivel egy kritikus tevkenysg brmilyen elhzdsa kslelteti a projekt befejezst,
clszeru fokozott figyelemmel ksrni a kritikus tevkenysgek befejezst.

Mozgshatr
Amint lttuk, egy tevkenysg turshatra egyfajta mro szma a tevkenysg flexibilitsnak. Pldul, az A tevkenysg ido tartama a tervezett 6 napot akr 3 nappal is meghaladhatja anlkl, hogy htrltatn a projekt tervezett befejezst. A flexibilits egy msik
mroszma a mozgshatr.

D EFINCI

Egy tevkenysg, illetve az azt reprezentl (i, j) l mozgshatra (jellse MH(i, j))
az a szm, amennyivel a tevkenysg elkezdse (vagy id o tartama) elhzdhat anlkl, hogy ezzel brmelyik kso bbi tevkenysg kezdsi idopontja a legkorbbi kezdsi idopontjnl ksobbre toldna.
Tegyk fel, hogy az i esemny bekvetkezse vagy az (i, j) tevkenysg id o tartama k
idoegysgnyit csszik. Ekkor a j esemnyre legkorbban az ET (i) + t i j + k idopontban kerlhet sor. Vagyis, a j esemny akkor nem ksik a korai kezdsi id o pontjhoz kpest, ha
ET (i) + ti j + k ET ( j), vagy k ET ( j) ET (i) ti j . Ha a j esemny nem ksik, a ksobbi esemnyek sem cssznak a korai kezdsi ido pontjukhoz kpest. Kvetkezskppen,
MH(i, j) = ET ( j) ET (i) ti j .

7.4. CPM s PERT

367

A 6. pldban az MH(i, j) rtkek a kvetkezo k:


B tevkenysg: MH(1, 2) = 9 0 9 = 0

A tevkenysg: MH(1, 3) = 9 0 6 = 3
D tevkenysg: MH(3, 4) = 16 9 7 = 0

C tevkenysg: MH(3, 5) = 26 9 8 = 9
E tevkenysg: MH(4, 5) = 26 16 10 = 0

F tevkenysg: MH(5, 6) = 38 26 12 = 0.

Pldul, mivel a C tevkenysg mozgshatra 9 nap, a C kezdetnek vagy id o tartamnak 9


napot meghalad elhzdsa ksedelmet okoz valamelyik ks o bbi tevkenysg kezdetben
(jelen esetben az F-ben).

A kritikus t meghatrozsa lineris programozssal


Habr egy projekt-hlzatban a kritikus t megkeressre korbban ismertetett mdszer
knnyen gpestheto, a kritikus t hosszt lineris programozssal is meghatrozhatjuk.
Jellje
x j = a j cscshoz tartoz esemny bekvetkezsnek ido pontjt.
Mindegyik (i, j) tevkenysg esetn igaz, hogy a j esemny el o tt az i esemnynek be kell
kvetkeznie, s az (i, j) tevkenysgnek be kell fejezo dnie. Vagyis a projekt-hlzat mindegyik (i, j) le esetn: x j xi + ti j . Jellje az F cscs a projekt befejezst. Mivel clunk
az, hogy minimalizljuk a projekt ido tartamt, a z = xF x1 clfggvnyt hasznljuk.
Illusztrcikppen, hatrozzuk meg lineris programozssal a kritikus t hosszt a 6.
pldban. A megfelelo LP:
f.h.

min z = x6 x1
x 3 x1 + 6
x2 x 1 + 9

((1, 3) l felttel)
((1, 2) l felttel)

x5 x4 + 10
x6 x5 + 12

((4, 5) l felttel)
((5, 6) l felttel)

x5 x 3 + 8
x4 x 3 + 7

x3 x 2

((3, 5) l felttel)
((3, 4) l felttel)

((2, 3) l felttel)

minden vltoz elojelktetlen


Ennek az LP-nek egy optimlis megoldsa: z = 38, x1 = 0, x2 = 9, x3 = 9, x4 = 16, x5 = 26
s x6 = 38, vagyis a projekt 38 nap alatt befejezheto .
Az LP-nek sok alternatv optimlis megoldsa van. ltalnosan igaz, hogy egy optimlis
megoldsban az xi brmilyen rtket felvehet az ET (i) s LT (i) kztt. Viszont az sszes
optimlis megolds azt mutatja, hogy a kritikus utak hossza 38 (nap).
Ebben a projekt-hlzatban egy t a kezds cscstl a befejezs cscsig akkor kritikus t, ha a benne szereplo mindegyik lhez tartoz felttel rnykra 1. A 34. brn
lthat szmtgpes outputbl tudjuk, hogy az 123456 t egy kritikus t. Ha egy
felttel dul ra 1, a kapcsold tevkenysg hossznak -val val nvelse pontosan
-val nveli a projekt futamidejt. Pldul, a B tevkenysg ido tartamnak nappal val
nvekedse a projekt idotartamnak nappal val nvekedst idzi elo (feltve persze,
hogy az aktulis bzis optimlis marad).

368

7. fejezet Hlzati modellek

34. B R A
A Widgetco
feladat
szmtgpes
megoldsa

MIN
X6 - X1
FELTVE, HOGY
2) - X1 +
3) - X1 +
4) - X3 +
5) - X3 +
6)
X5 7)
X6 8)
X3 -

X3
X2
X5
X4
X4
X5
X2

>=
>=
>=
>=
>=
>=
>=

6
9
8
7
10
12
0

AZ OPTIMUMOT A 7. LPSBEN RTK EL


CLFGGVNYRTK
1)

38.0000000

VLTOZ
X6
X1
X3
X2
X5
X4

RTK
38.000000
0.000000
9.000000
9.000000
26.000000
16.000000

REDUKLT KLTSG
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000

SOR

HINY VAGY TBBLET


3.000000
0.000000
9.000000
0.000000
0.000000
0.000000
0.000000

RNYKR
0.000000
-1.000000
0.000000
-1.000000
-1.000000
-1.000000
-1.000000

2)
3)
4)
5)
6)
7)
8)

ITERCIK SZMA =

A projekt lervidtse
Gyakran elofordul, hogy a projektnek hamarabb vget kell rnie, mint amennyi a kritikus
t hossza. Tegyk fel pldul, hogy a Widgetco vezetsnek meggy o zodse szerint csak
akkor lehetnek sikeresek, ha a 3-as termk a versenytrs termkt megel o zve kerl a piacra.
A Widgetco tudja, hogy a vetlytrs termke 26 nap mlva megjelenik a piacon, az o 3as termkknek teht 25 napon bell kszen kell lennie. Mivel a 6. pldban a kritikus t
hossza 38 nap, elengedhetetlen, hogy ptllagos ero forrsok bevetsvel megprbljk 25
napra leszortani a hatridot. Mindezt persze a leheto legkisebb kltsggel szeretnk elrni.
Ilyen esetekben a lineris programozs gyakran segthet.
Tegyk fel, hogy ptllagos ero forrsok bevetsvel a Widgetco brmelyik tevkenysg
idotartamt akr 5 nappal is le tudja rvidteni. A 14. tblzat mutatja, hogy mennyibe kerl
az egyes tevkenysgek hosszt egy-egy nappal megkurttani. Vezessk be az A, B, C, D,
E s F vltozkat:
14.

TBLZAT

10$

20$

3$

30$

40$

50$

7.4. CPM s PERT

369

A = azon napok szma, amennyivel az A tevkenysget lervidtjk


..
..
.
.
F = azon napok szma, amennyivel az F tevkenysget lervidtjk
x j = a j esemny bekvetkezsnek ido pontja
Ekkor a Widgetcnak a kvetkezo LP-t kell megoldania:
min z = 10A + 20B + 3C+ 30D + 40E + 50F
f.h.

A5

B5

C5

D5

E 5

F 5

x2 x 1 + 9 B

((1, 2) l felttel)

x5 x3 + 8 C

((3, 5) l felttel)

x3 x 1 + 6 A
x4 x 3 + 7 D

((1, 3) l felttel)
((3, 4) l felttel)

x5 x4 + 10 E

((4, 5) l felttel)

x3 x 2 + 0

((2, 3) l felttel)

x6 x5 + 12 F

((5, 6) l felttel)

x6 x1 25

A, B,C, D, E, F 0, x j elojelktetlen

Az elso hat felttel miatt egyik tevkenysget sem fogjuk 5 napnl tbbel lervidteni. Mint
korbban is, a kvetkezo ht felttel biztostja, hogy a j esemny csak az i esemny bekvetkezse, s az (i, j) tevkenysg befejezo dse utn kvetkezhet be. Pldul, a B tevkenysg (az (1, 2) l) idotartama most 9 B, a kapcsold felttel teht x2 x1 + (9 B). Az
x6 x1 25 felttel garantlja, hogy a projekt nem tart tovbb mint a kvnt 25 nap. A clfggvny a tevkenysgek lervidtsnek sszkltsge. Az LP egy optimlis megoldsa:
z = 390$, x1 = 0, x2 = 4, x3 = 4, x4 = 6, x5 = 13, x6 = 25, A = 2, B = 5, C = 0, D = 5, E = 3,
F = 0. A 35. bra mutatja a B, A, D s E tevkenysgek adott rtku lervidtse utni
projekt-hlzatot. Ellenorizze az olvas, hogy itt az A, B, D, E s F kritikus tevkenysgek, tovbb, hogy az 123456, illetve az 13456 utak a kritikus utak (mindegyik
hossza 25). Teht a projekt idotartama 390$ kltsggel szorthat le a kvnt 25 napra.
35. B R A
A tevkenysgek
idotartama az
sszenyoms utn

370

7. fejezet Hlzati modellek

PERT: Program kirtkelsi s fellvizsglati technika


A CPM felttelezi, hogy az egyes tevkenysgek ido tartama nagy biztonsggal ismert. Ez
a felttel szmos esetben nyilvnvalan nem teljesl. A CPM-nek ezt a hinyossgt ksrli
meghaladni a PERT azzal, hogy az egyes tevkenysgek id o tartamt valsznusgi vltoznak tekinti. A PERT az egyes tevkenysgekkel kapcsolatban a kvetkez o hrom adatot
ignyli a projekt vezetojtol:
a = a tevkenysg idotartamnak becslse
a legkedvezobb felttelek esetn
b = a tevkenysg idotartamnak becslse
a legkedvezotlenebb felttelek esetn
m = a tevkenysg idotartamnak legvalsznubb rtke
Jellje Ti j (a valsznusgi vltozk vastagon szedettek) az (i, j) tevkenysg id o tartamt.
A PERT felttelezi, hogy a Ti j -k bta eloszlsak. A bta eloszls pontos defincijnl
szmunkra rdekesebb az, hogy vele sokfle valsznusgi vltozt lehet kzelteni, belertve negatv ferdesgu, pozitv ferdesgu s szimmetrikus eloszlsakat is. Ha a T i j bta
eloszlst kvet, megmutathat, hogy a vrhat rtke, illetve a variancija a kvetkez o kppen becslheto:
E(Ti j ) =

a + 4m + b
6

(4)

(b a)2
.
(5)
36
A PERT felttelezi tovbb, hogy a tevkenysgek ido tartamai egymstl fggetlen valsznusgi vltozk. Ekkor a projekt-hlzatban egy t id o tartamnak (ami persze szintn
egy valsznusgi vltoz) a vrhat rtke s a variancija a kvetkez o :
varTi j =

E(Ti j ) = az utat alkot tevkenysgek vrhat sszhossza

(6)

varTi j = az utat alkot tevkenysgek hosszainak sszvariancija

(7)

(i, j)t
(i, j)t

Jellje a CP valsznusgi vltoz a CPM ltal tallt kritikus t tevkenysgeinek sszid o tartamt. A PERT felttelezi, hogy a CPM ltal tallt kritikus t kello en sok tevkenysgbol
ll ahhoz, hogy alkalmazhassuk a centrlis hatreloszls ttelt, s megllaptsuk, hogy a
CP =

Ti j

(i, j) kritikus t

valsznusgi vltoz kzeltoleg normlis eloszls. Ekkor a (4)(7) sszefggsek alapjn vlaszolni tudunk a projekt egy adott hatrido ig trtno befejezsnek valsznusgre
vonatkoz krdsekre. Tegyk fel pldul, hogy a 6. plda tevkenysgeire a 15. tblzatban szereplo a, b s m becslseket kapjuk. Ekkor a (4) s (5) alapjn
{5 + 13 + 36}
=9
6
{2 + 10 + 24}
=6
E(T13 ) =
6
{3 + 13 + 32}
E(T35 ) =
=8
6
{1 + 13 + 28}
E(T34 ) =
=7
6

E(T12 ) =

(13 5)2
36
(10 2)2
varT13 =
36
(13 3)2
varT35 =
36
(13 1)2
varT34 =
36
varT12 =

= 1.78
= 1.78
= 2.78
=4

7.4. CPM s PERT

15.

TBLZAT

a, b s m a
Widgetco
tevkenysgeire

Tevkenysg

(1, 2)
(1, 3)
(3, 5)
(3, 4)
(4, 5)
(5, 6)

5
2
3
1
8
9

13
10
13
13
12
15

9
6
8
7
10
12

{8 + 12 + 40}
= 10
6
{9 + 15 + 48}
E(T56 ) =
= 12
6
Termszetesen, mivel a (2, 3) l egy fiktv l,
E(T45 ) =

371

(12 8)2
= 0.44
36
2
(15 9)
varT56 =
= 1.
36
varT45 =

E(T23 ) = varT23 = 0.
Vegyk szre, hogy a tevkenysgek vrhat rtkei megegyeznek azokkal az id o tartamokkal, amelyekre a CPM az 123456 kritikus utat tallta meg (31. bra). A (6) s
(7) alapjn
E(CP) = 9 + 0 + 7 + 10 + 12 = 38
varCP = 1.78 + 0 + 4 + 0.44 + 1 = 7.22.
A CP szrsa teht (7.22)1/2 = 2.69.
Felttelezve, hogy a CP normlis eloszls, vlaszolni tudunk olyan krdsekre, mint
pldul: mi a valsznusge annak, hogy a projekt 35 nap alatt befejez o dik? Szksges
mg egy feltevs: A projekt tevkenysgeinek idotartamra brmilyen rtkek addjanak
is, az 123456 kritikus t lesz. Ekkor annak a valsznusge, hogy a projekt 35 nap
alatt befejezodik, egyszeruen P(CP 35). Standardizls utn a CP felttelezett normlis
eloszlsbl kvetkezoen azt kapjuk, hogy


CP 38 35 38

= P(Z 1.12) = .13,


P(CP 35) = P
2.69
2.69
ahol az F(1.12) = .13 rtket a standard normlis eloszls tblzatbl olvastuk ki. A
PERT szerint teht 13% az eslye annak, hogy a projekt 35 nap alatt befejez o dik.

A PERT alkalmazsnak akadlyai


A PERT alkalmazst tbb akadly is neheztheti:
1. Nehz meggyozodni arrl, hogy a tevkenysgek ido tartamai egymstl tnyleg fggetlenek.
2.

A tevkenysgek idotartamai esetleg nem bta eloszlsak.

3. Esetleg nem megalapozott az a feltevs, hogy a vrhat id o tartamokra alkalmazott


CPM ltal tallt kritikus t mindig kritikus t marad.
Az utols a legkomolyabb akadly. A 6. plda valsznusgi elemzse sorn pldul feltteleztk, hogy az 123456 mindig kritikus t lesz. Ugyanakkor, ha az A tevkenysg jelentos mrtkben elnylik, a B tevkenysg pedig lervidl, az 13456 vlhat az
egyetlen kritikus tt.

372

7. fejezet Hlzati modellek

36. B R A Projekt-hlzat a PERT


akadlyainak szemlltetsre

37. B R A A hlzat, amennyiben


mindegyik tevkenysg idotartama m

Nzzk a kvetkezo konkrtabb pldt arra a tnyre, hogy (a tevkenysgek id o tartamnak bizonytalansga miatt) a projekt befejezsnek tnyleges id o pontjt nem a vrhat
idotartamokra alkalmazott CPM ltal tallt kritikus t adja meg. Tekintsk a 36. brn
lthat egyszeru projekt-hlzatot. Tegyk fel, hogy a 16. tblzatbeli a, b s m rtkek
mindegyik tevkenysg esetn azonos 31 valsznusggel kvetkezhetnek be. Ha a tnyleges idotartamoknak a vrhat idotartamok addnak, a 37. brn lthat hlzatot kapjuk.
Ebben az 124 a kritikus t. Elo fordulhat azonban, hogy az 134 a kritikus t. Amennyiben pldul a B idotartama a legkedvezobb becsls (6 nap), a tbbi tevkenysg pedig az
m szerint alakul, az 134 a kritikus t ebben a hlzatban. Feltve, hogy a ngy tevkenysg idotartama egymstl fggetlen valsznusgi vltozk, elemi szmols utn (lsd a
11. feladatot) kapjuk, hogy 10
usggel az 134 az egyedli kritikus t, 15
27 valszn
27 val2
sznusggel az 124 az egyedli kritikus t, s 27 valsznusggel az 124 s az 134
is kritikus t. A 17. tblzat mutatja, hogy ebben a pldban melyik tevkenysg milyen
valsznusggel kritikus. vatosaknak kell teht lennnk, amikor egy tevkenysget kritikusnak minostnk.
16. T B L Z A T
a, b s m rtkek a
36. brhoz

17.

TBLZAT

Annak a
valsznusge,
hogy az egyes lek
egy kritikus ton
vannak

Tevkenysg

A
B
C
D

1
6
5
7

9
14
7
9

5
10
6
8

Tevkenysg

Valsznusg

17
27
17
27
12
27
12
27

B
C
D

A PERT helyett a Monte Carlo szimulci (lsd 21. fejezet) is hasznlhat annak meghatrozsra, hogy mennyi a kritikus t ido tartamnak vrhat rtke s variancija, valamint,
hogy az egyes tevkenysgek milyen valsznusggel kritikus tevkenysgek.

373

7.4. CPM s PERT

Feladatok
A csoport

39.

BRA

A 3. feladat hlzata

1. Milyen problmt okozna, ha a 38. bra egy projekthlzat egy rszt mutatn?
38.

BRA

Az 1. feladat hlzata

2. Egy vllalat egy olyan termk gyrtst kszti elo,


amelyet hrom rszbol (A, B s C) szerelnek ssze. Azzal
szmolnak, hogy 5 hetet vesz ignybe a hrom alkotelem
megtervezse s sszeszerelsk mikntjnek kidolgozsa.
Az A gyrtsnak idoignyt 4 htre, a B-t 5 htre, a C-t
pedig 3 htre becslik. Elkszlte utn az A rszt tesztelni
kell, ez 2 htbe telik. Az sszeszerelsi folyamat ezutn a
kvetkezo: egybeptik az A s B rszeket (2 ht), majd hozzrgztik a C rszt (1 ht). Vgl a termket 1 htig tesztelik. Rajzolja meg a projekt-hlzatot s hatrozza meg a kritikus utat, valamint az egyes tevkenysgek turs- s mozgshatrt! rja fel a kritikus t hossznak meghatrozsra
alkalmas LP-t is!
A 3. s 4. feladatokban a kritikus t meghatrozsakor tegye
fel, hogy m = a tevkenysg idotartama.
3. Tekintsk a 39. brabeli projekt-hlzatot. Az egyes tevkenysgekre vonatkoz a, b s m becslseket a 18. tblzat tartalmazza. Hatrozza meg a kritikus utat, valamint az
egyes tevkenysgek turs- s mozgshatrt! Mennyi a valsznusge, hogy a projekt 40 nap alatt befejezodik? rja fel
a kritikus t hossznak meghatrozsra alkalmas LP-t is!
18.

TBLZAT

4. Egy rockkoncert szervezojnek a 19. tblzatban felsorolt teendoi vannak (minden idotartam napban rtendo).
(a) Rajzolja meg a projekt-hlzatot!
(b) Hatrozza meg a kritikus utat!
(c) Ha a szervezo 99% esllyel jnius 30-ig ksz akar
lenni minden elokszlettel, mikor kell elkezdeni a koncert helysznnek keresst?
(d) rja fel a kritikus t hossznak meghatrozsra alkalmas LP-t is!
19.

TBLZAT

Tevkenysg
A
B
C
D
E
F

Tevkenysg

(1, 2)
(1, 3)
(2, 4)
(3, 4)
(3, 5)
(3, 6)
(4, 7)
(5, 7)
(6, 8)
(7, 9)
(8, 9)

4
2
1
6
5
7
5
1
2
10
6

8
8
7
12
15
18
12
3
6
20
11

6
4
3
9
10
12
9
2
3
15
9

G
H
I
J

Lers
Helyszn keresse
Mrnkk toborzsa
Elozenekar
biztostsa
Rdi- s tv-hirdetsek eloksztse
Jegyrusts
megszervezse
Hangosts
eloksztse
Plaktok nyomtatsa
Szllts
megszervezse
Prbk
Utols simtsok

Kzvetlen
elozmnyek a b

A
A

2 4 3
1 3 2
2 10 6

3 2

5 3

4 3

C
C

3 7 5
0.5 1.5 1

F, H
I

1
1

2 1.5
3 2

5. Tekintsk egy fahz ptsnek (egyszerustett) tevkenysglistjt (20. tblzat).


(a) Rajzolja meg a projekt-hlzatot, keresse meg a kritikus utat, hatrozza meg az egyes tevkenysgek turss mozgshatrt!

374

7. fejezet Hlzati modellek

(b) Tegyk fel, hogy tovbbi munksok felfogadsval


a tevkenysgek lervidthetok. A 21. tblzat mutatja,
hogy maximum hny nappal cskkentheto egy tevkenysg idotartama, valamint hogy a rvidts mennyibe kerl
naponta. rja fel azt az LP-t, amely alkalmas a minimlis tbbletkltsg meghatrozsra akkor, ha 20 nap alatt
kell a hznak elkszlnie!
20.

TBLZAT

Tevkenysg

Lers

Kzvetlen
elozmnyek

A
B
C
D
E
F
G

Alapozs
Falak, mennyezet
Tetofeds
Villanyszerels
Nylszrk
Klso burkolat
Fests

A
B
B
B
E
C, F

Idotartam
(nap)
5
8
10
5
4
6
3

(a) Rajzolja meg a projekt-hlzatot, keresse meg a kritikus utat, hatrozza meg az egyes tevkenysgek turss mozgshatrt!
(b) rja fel azt az LP-t, amely alkalmas a kritikus t
meghatrozsra!
7. Egy vllalat auditlsnak elso fzisban a knyvvizsgl cgnek eloszr meg kell tanulnia az gyfelt. Ez a
folyamat a 23. tblzatban felsorolt tevkenysgeket jelenti.
(a) Rajzolja meg a projekt-hlzatot, keresse meg a kritikus utat, hatrozza meg az egyes tevkenysgek turss mozgshatrt! rja fel azt az LP-t is, amely alkalmas
a kritikus t meghatrozsra!
(b) Tegyk fel, hogy a projektnek 30 nap alatt be kell
fejezodnie. Brmelyik tevkenysg hossza rvidtheto, a
kltsgeket a 24. tblzat tartalmazza. rjon fel egy olyan
LP-t, amely alkalmas a minimlis tbbletkltsg meghatrozsra!
24.

21.

TBLZAT

TBLZAT

Az idotartam cskkentsnek
kltsge
maximuma
naponta ($)
(nap)

Tevkenysg
Alapozs
Falak, mennyezet
Tetofeds
Villanyszerels
Nylszrk
Klso burkolat
Fests

30
15
20
40
20
30
40

2
3
1
2
2
3
1

6. A Horizon Cable trsasg nhny izgalmas csatornval


ki akarja bovteni a kbel tv-szolgltatst Kisvrosban. A
teendoket a 22. tblzat tartalmazza.
22.

A
B
C
D
E
F

Lers
Csatornk
kivlasztsa
Bovts
engedlyeztetse
az nkormnyzattal
Jelerostok
megrendelse
j parabola
zembe helyezse
Jelerostok
zembe helyezse
Szmlzsi
rendszer talaktsa

A tevkenysg
lervidtsnek
maximuma (nap)

A
B
C
D
E
F
G

100
80
60
70
30
20
50

3
4
5
2
4
4
4

8. A 40. brn lthat szmtgpes outputbl meghatrozhat az 5. feladatbeli kritikus t. Hasznlja az outputot a
kvetkezokre:
(a) Rajzolja meg a projekt-diagramot!
(b) Hatrozza meg a kritikus t hosszt s a kritikus tevkenysgeket!

TBLZAT

Tevkenysg

Tevkenysg

A tevkenysg
lervidtsnek
kltsge $/nap

Kzvetlen
elozmnyek

Idotartam
(ht)

9. Magyarzza meg, hogy egy tevkenysg mozgshatra


mirt nem haladhatja meg a tevkenysg turshatrt!

10. Egy projekt akkor r vget, ha az AE tevkenysgek mindegyike befejezodik. Az elozmnyeket a 25. tblzat mutatja. Rajzolja meg a megfelelo projekt-diagramot!
(tmutats: Ne srtse meg a 4. szablyt!)

25.

C, D
B

10
4

TBLZAT

Tevkenysg
A
B
C
D
E

Elozmnyek

A
A
B
B, C

7.4. CPM s PERT

23.

TBLZAT

Tevkenysg

Lers

A
B

A vizsglat feltteleinek meghatrozsa


Az auditlhatsg kockzatnak
felbecslse
A tranzakci-tpusok s hibaleheto sgek
azonostsa
A rendszer lersa
A rendszerlers verifiklsa
A belso ellenorzs rtkelse
Az auditls menetnek megtervezse

C
D
E
F
G
40. B R A
Szmtgpes
output a 8.
feladathoz

MIN
X6 - X1
FELTVE, HOGY
2) - X1 +
3) - X2 +
4) - X3 +
5) - X3 +
6) - X4 +
7)
X6 8)
X6 -

X2
X3
X4
X5
X5
X3
X5

>=
>=
>=
>=
>=
>=
>=

Kzvetlen
elozmnyek

Idotartam
(nap)

3
6

14

C
D
B, E
F

5
8
4
10
6
5
3

AZ OPTIMUMOT A 6. LPSBEN RTK EL


CLFGGVNYRTK
1)

26.0000000

VLTOZ
X6
X1
X2
X3
X4
X5
SOR
2)
3)
4)
5)
6)
7)
8)

41.

RTK
26.000000
0.000000
5.000000
13.000000
17.000000
23.000000

AZ ITERCIK SZMA =
BRA

REDUKLT KLTSG
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000

HINY VAGY TBBLET


0.000000
0.000000
0.000000
0.000000
0.000000
8.000000
0.000000

RNYKRAK
-1.000000
-1.000000
-1.000000
0.000000
-1.000000
0.000000
-1.000000

2
A20

C50

4
B25

D40
3

E30

375

8
4
8
9

376

7. fejezet Hlzati modellek

11. Hatrozza meg, hogy a 36. brban az 124, illetve az


134 utak milyen valsznusggel kritikus utak!

rtorok betantsa (O). A szmtgp installlsa (I) azonnal kezdodhet, ha az plet s a szmtgp is elkszlt.
Ezutn a szmtgp mukdokpes, s ha a szemlyzet is
felkszlt, indulhat a prbazem. Rajzolja meg a megfelelo
projekt-hlzatot!

12. A 26. tblzatbeli adatok alapjn (a) rajzolja meg a


megfelelo projekt-hlzatot, s (b) hatrozza meg a kritikus
utat!
26.

14. Tekintsk a 41. brn lvo projekt-diagramot. A projektnek 90 nap alatt el kell kszlnie. Minden egyes tevkenysg zsugorthat, de csak legfeljebb 5 nappal. A kltsgeket a 27. tblzat tartalmazza.
rjon fel egy olyan LP-t, amelyiknek a megoldsa alapjn
minimalizlhat a projekt 90 napon belli befejezsnek
kltsge!

TBLZAT

Tevkenysg

Kzvetlen
elozmnyek

Idotartam
(nap)

A
B
C
D
E
F
G
H

A, B
A, B
B, C
D, E
E

3
3
1
3
3
2
4
3

27.

13. A kormnyzat egy szuperszmtgp ptst hatrozta


el. Amint a szmtgp tervezse (T) ksz, kivlaszthat a
helyszn (H), a szmtgp gyrtja (GY) s az zemelteto
szemlyzet (). A helyszn kivlasztsa utn kezdodhet az
ptkezs (). A szmtgp gyrtsa (SZ) s az zemeltetsi kziknyv elksztse (K) csak a gyrt kivlasztsa
utn kezdodhet. Ha az zemelteto szemlyzet kivlasztsa
megtrtnt, s a kziknyv is elkszlt, kezdodhet az ope-

42.

TBLZAT

Tevkenysg

A tevkenysg lervidtsnek
kltsge $/nap

A
B
C
D
E

300
200
350
260
320

1516. A 42., illetve a 43. brn lthat projekt-hlzatban


hatrozza meg a kritikus utat s az egyes tevkenysgek
turs- s mozgshatrt!

BRA

F1

B6
1

A2

D4

H1

4
BRA

G5

3
F4

B3
1

A3

C4

E2

C4

43.

G2

H6

I5
5

E3

D3

K2

J4

L6

7.5. Minimlis kltsgu hlzati folyam problmk

7.5.

377

Minimlis kltsgu hlzati folyam problmk


A szlltsi, hozzrendelsi, sszetett szlltsi feladatok, a legrvidebb t, maximlis folyam s CPM problmk mind specilis esetei a minimlis kltsgu hlzati folyam problmnak (MKHFP). Egy MKHFP megoldhat a szlltsi szimplex egy ltalnostsval,
az gynevezett hlzati szimplex mdszerrel.
Az MKHFP defincijban legyen
xi j = az i cscsbl a j cscsba az (i, j) len keresztl halad folyam mennyisge
bi = az i cscs nett kibocstsa (kiramlsberamls)
ci j = az i cscsbl a j cscsba az (i, j) len
keresztl kldtt egysgnyi folyam szlltsi kltsge
Li j = az (i, j) len tmeno folyam als korltja
(ha nincs als korlt, legyen Li j = 0)
Ui j = az (i, j) len tmeno folyam felso korltja
(ha nincs felso korlt, legyen Ui j = )
Ezekkel a jellsekkel az MKHFP gy rhat fel:

min

ci j xi j

minden lre

f.h.

xi j xki = bi

(a hlzat minden i cscsra)

(8)

Li j xi j Ui j

(a hlzat minden (i, j) lre)

(9)

A (8) felttel biztostja, hogy az i cscsbl kimeno nett folyam egyenlo legyen bi -vel.
A (8) feltteleket folyam-egyensly egyenleteknek hvjuk. A (9) felttelek garantljk,
hogy a folyam eleget tesz mindegyik lkapacits megktsnek. Minden eddigi pldnkban
Li j = 0 volt.
Eloszr megmutatjuk, hogy a szlltsi s a maximlis folyam problmk specilis esetei
a minimlis kltsgu hlzati folyam problmnak.

A szlltsi problma MKHFP feladatknt


Vegyk a 28. tblzattal megadott szlltsi feladatot. Az 1-es s 2-es cscsok a kld o
pontok, a 3-as s 4-es cscsok pedig a fogad pontok. Ekkor b 1 = 4, b2 = 5, b3 = 6 s
b4 = 3. Az ehhez a szlltsi feladathoz tartoz hlzat lei az (1, 3), (1, 4), (2, 3) s (2, 4)
lek (44. bra). A kapcsold LP a 29. tblzatban tallhat.
28.

TBLZAT

6
(3-as cscs)

2
4

(1-es cscs)

(2-es cscs)

3
(4-es cscs)

378

7. fejezet Hlzati modellek

44. B R A
A szlltsi feladat
MKHFP
feladatknt

29. T B L Z A T
A szlltsi feladat
MKHFP alakban

1. kibocst pont

1. felvev pont

2. kibocst pont

2. felvev pont

min z = x13 + 2x14 + 3x23 + 4x24


x23

x24

J.o.

x13

x14

1
0
1
1

1
0
0 =
4
0
1
1 =
5
0 1
0 =
6
1
0 1 =
3
minden vltoz nemnegatv

Felttel
1-es cscs
2-es cscs
3-as cscs
4-es cscs

Az elso kt felttel a kldo pontokhoz, a msodik kt felttel pedig (1-gyel val szorzs utn) a fogad pontokhoz tartoz egyenlet. Mivel ebben a szlltsi feladatban lkapacitsi megszorts nincsen, a folyam-egyensly egyenletek az egyedli felttelek. Megjegyezzk, hogy nem tudtuk volna tfogalmazni a feladatot, ha nem lett volna kiegyenslyozott. Ha ugyanis az sszkibocsts meghaladja az sszbefogadst, nem tudjuk megmondani
az egyes cscsok nett kibocstst. Szksges lehet teht egy fiktv cscspont bevezetse
ahhoz, hogy egy szlltsi (vagy egy tszlltsi) feladatot MKHFP alakban felrhassunk.

A maximlis folyam problma MKHFP feladatknt


Nzzk hogyan lehet egy maximlis folyam feladatot mint egy minimlis kltsgu hlzati
folyam feladatot megadni. Tekintsk a 6. bra hlzatt, s keressk a forrsbl a nyel o be
vezeto maximlis folyamot. A nyelot a forrssal sszekto a0 l beiktatsa utn mr bso =
b1 = b2 = b3 = bsi = 0. Ekkor a maximlis folyam feladat LP felttelei a 30. tblzatban
lthat mdon rhatk fel.
Az elso t felttel a hlzat cscsaihoz tartoz folyam-egyensly egyenletek, az utols
hat felttel pedig az lkapacitsi megktsek. Mivel a mestersges len tmen o folyamra
nincs felso korlt, az a0 lhez nem tartozik lkapacits felttel.
Brmely MKHFP-ben a folyam-egyensly egyenleteknek megvan a kvetkez o fontos
tulajdonsguk: Mindegyik xi j vltoznak +1 az egytthatja az i cscshoz tartoz folyamegyensly egyenletben, 1 az egytthatja a j cscshoz tartoz folyam-egyensly egyenletben, s 0 az egytthatja az sszes tbbi folyam-egyensly egyenletben. Pldul, egy
szlltsi feladatban az xi j egytthatja +1 az i kldo cscshoz tartoz folyam-egyensly
egyenletben, 1 a j fogad cscshoz tartoz folyam-egyensly egyenletben, s 0 az sszes
tbbi folyam-egyensly egyenletben. Egy LP felttelei rnzsre esetleg nem mutatjk,
hogy valjban egy hlzat folyam-egyensly egyenletei, okos transzformcival viszont
mgis kiderlhet, hogy az LP ekvivalens egy MKHFP-vel (lsd az alfejezet vgn a 6.
feladatot).
Egy MKHFP megoldhat a szlltsi szimplex egy ltalnostsval, az gynevezett hlzati szimplex algoritmussal (7.7. alfejezet). Miknt a szlltsi szimplex mdszerben, a
bziscserk a hlzati szimplexben is csak sszeadsbl s kivonsbl llnak. Ezen tny

7.5. Minimlis kltsgu hlzati folyam problmk

30.

TBLZAT

A maximlis
folyam feladat
MKHFP alakja

xso,1

xso,2

1
1
0
0
0
1
0
0
0
0
0

1
0
1
0
0
0
1
0
0
0
0

x13
0
1
0
1
0
0
0
1
0
0
0

x12

min z = x0

x3,si

x2,si

x0

0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
minden vltoz nemnegatv

=
=
=
=
=

J.o.

Felttel

0
0
0
0
0
2
3
4
3
1
2

so cscs
1-es cscs
2-es cscs
3-as cscs
si cscs
(so, 1) l
(so, 2) l
(1, 3) l
(1, 2) l
(3, si) l
(2, si) l

379

alapjn bizonythat, hogy amennyiben mindegyik bi s mindegyik lkapacits egsz szm,


az MKHFP optimlis bzismegoldsban is minden vltoz egszrtku. A hlzati szimplex szmtgpes implementcii gyorsan meg tudnak oldani akr hatalmas mretu hlzati feladatokat. Megoldottak pldul 5000 cscsot s 600 000 lt tartalmaz MKHFP-ket
10 percnl rvidebb ido alatt. A hlzati szimplex szmtgpes implementcii inputknt
csak a hlzat cscsainak s leinek listjt, az lekhez tartoz c i j -ket s lkapacitsokat, s
a cscsokhoz tartoz bi -ket ignyli. Mivel a hlzati szimplex nagyon hatkony s knnyen
hasznlhat, kimondottan fontos, hogy egy LP-t, amennyiben lehetsges, MKHFP-knt rjunk fel.
Az alfejezet vgn egy egyszeru forgalomirnytsi feladatot fogalmazunk meg MKHFP
feladatknt.

7.

PLDA

45.

BRA

A 45. brn lthat hlzat 1-es cscsba rnknt kb. 900 gpkocsi rkezik s a 6-os
cscsba szeretne eljutni. A menetido t az egyes leken a 31. tblzat mutatja. A 45. brn

A
forgalomirnytsi
plda MKHFP
feladatknt

az egyes lek feletti szmok az adott tszakasz rnknti tereszt o kpessgt adjk meg.
Fogalmazzunk meg egy MKHFP-t, amely minimalizlja az egy ra alatt az 1-es cscsbl
indul sszes aut 6-os cscsig vett menetidejnek az sszegt.
Megolds

Legyen
xi j = az i-bol a j-be tart tszakaszon egy ra alatt thalad autk szma.
Ekkor minimalizlni akarjuk a

380
31.

7. fejezet Hlzati modellek


TBLZAT

Menetidok a
forgalomirnytsi
pldban

Menetido
(perc)

(1, 2)
(1, 3)
(2, 5)
(2, 4)
(5, 6)
(4, 5)
(4, 6)
(3, 5)
(3, 4)

10
50
70
30
30
30
60
60
10
z = 10x12 + 50x13 + 70x25 + 30x24 + 30x56 + 30x45 + 60x46 + 60x35 + 10x34

clfggvnyt. Adott, hogy b1 = 900, b2 = b3 = b4 = b5 = 0 s b6 = 900 (nem vezetjk


most be a 6-osbl az 1-esbe vezeto mestersges lt). A keresett MKHFP felttelei a 32.
tblzatban tallhatk.
Szmtgpes programmal megoldva azt kapjuk, hogy a 7. plda optimlis megoldsa:
x12 = 700, x13 = 200, x24 = 600, x25 = 100, x34 = 200, x45 = 400, x46 = 400, x56 = 500.
A menetidok sszege pedig z = 95 000 perc.
32.
x12
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0

TBLZAT

x13
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0

x24
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0

A forgalomirnytsi plda MKHFP alakja


x25
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0

x34
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0

x35

x45

x46

x56

0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
minden vltoz nemnegatv

=
=
=
=
=
=

J.o.

Felttel

900
0
0
0
0
900
800
600
600
100
300
400
600
400
600

1-es cscs
2-es cscs
3-as cscs
4-es cscs
5-s cscs
6-os cscs
(1, 2) l
(1, 3) l
(2, 4) l
(2, 5) l
(3, 4) l
(3, 5) l
(4, 5) l
(4, 6) l
(5, 6) l

7.5. Minimlis kltsgu hlzati folyam problmk

381

Feladatok
Figyelem: Egy MKHFP felrshoz fel kell rajzolni a megfelelo hlzatot, s meghatrozni a ci j , a bi rtkeket, valamint az lkapacitsokat.

(a) Adjon meg egy MKHFP-t, amellyel minimalizlhat az ignyek kielgtsnek sszes (termelsi + szlltsi) kltsge!

A csoport
1. Fogalmazza meg a 2. bra 1-es cscsbl a 6-os
cscsba vezeto legrvidebb t meghatrozsnak feladatt MKHFP feladatknt. (tmutats: A legrvidebb t egy
olyan t, amelyen minimlis kltsggel lehet 1 egysgnyi
folyamot az 1-es cscsbl a 6-osba eljuttatni.)
2. (a) Adja meg a 7.4. alfejezet 6. feladatban a kritikus t
hossznak meghatrozsra hasznlt LP duljt!
(b) Igazolja, hogy az (a)-beli vlasz egy MKHFP!
(c) Magyarzza meg, hogy az (a)-beli LP optimlis clfggvnyrtke mirt a leghosszabb t hossza a projekthlzatban az 1-es s a 6-os cscsok kztt! Hogyan tmasztja ez al azt a korbbi lltsunkat, hogy egy kritikus t egy projekt-hlzatban a kezds cscsbl a befejezs cscsba vezeto leghosszabb t?
3. A Fordco az autkat Detroitban s Dallasban gyrtja.
A detroiti zem legfeljebb 6500 aut, a dallasi legfeljebb
6000 aut elolltsra kpes. Detroitban egy aut elksztsnek kltsge 2000$, Dallasban 1800$. Az autkat hrom
vrosba kell szlltani: az 1-es vrosba 5000 darabot, a 2-es
vrosba 4000 darabot, a 3-as vrosba pedig 3000 darabot. A
33. tblzat mutatja egy aut szlltsnak kltsgt ($-ban)
az zemek s a vrosok kztt. Brmelyik zembol brmelyik vrosba legfeljebb 2200 aut kldheto. Adjon meg egy
MKHFP-t, amellyel minimalizlhat az ignyek kielgtsnek sszkltsge!
33.

TBLZAT

Hov
Honnan
Detroit
Dallas

kldik, esetleg Chicagn keresztl. A 34. tblzat tartalmazza egy szmtgp szlltsnak kltsgt ($-ban) az
egyes vrosok kztt.

1-es vros

2-es vros

3-as vros

800
500

600
200

300
200

(b) Hogyan mdostan a modellt, ha Chicagn keresztl 200-nl tbb szmtgp nem kldheto? (tmutats:
Bovtse az (a)-beli hlzatot egy csccsal s egy llel!)
34.

TBLZAT

Hov
Honnan

Chicago

Austin

Los Angeles

Boston
Raleigh
Chicago

80
100

220
140
40

280
170
50

5. Az Oilco olajktjai San Diego, illetve Los Angeles kzelben vannak. A San Diego melletti mezobol napi legfeljebb 500 000 hord, a Los Angeles melletti mezobol napi
legfeljebb 400 000 hord olaj termelheto ki. A nyersolajat a
dallasi vagy a houstoni finomtba kldik (tegyk fel, hogy
mindkt finomtnak korltlan kapacitsa van). Dallasban
100 000 hord finomtsa 700$-ba, Houstonban 900$-ba kerl. A finomtott olajat Chicagba, illetve New Yorkba szlltjk: Chicagba 400 000 hordnyit, New Yorkba 300 000
hordnyit naponta. A 35. tblzat mutatja, hogy mennyi
100 000 hord (nyers vagy finomtott) olaj szlltsi kltsge ($-ban) az egyes helysznek kztt.
(a) Adjon meg egy MKHFP-t, amellyel minimalizlhat az ignyek kielgtsnek sszes kltsge!
(b) Hogyan mdostan a modellt, ha egyik finomt
sem lenne kpes napi 500 000 hordnl tbb olaj feldolgozsra?
35.

TBLZAT

Hov
Honnan

4. A DataCorp szmtgpeket kszt, vente legfeljebb


400-at Bostonban s legfeljebb 300-at Raleigh-ban. Los
Angelesbe 400 szmtgpet, Austinba 300 szmtgpet
kell kldeni. Egy szmtgp termelsi kltsge Bostonban
800$, Raleigh-ban 900$. A szmtgpeket replogppel

Los Angeles
San Diego
Dallas
Houston

Dallas Houston New York Chicago


300
420

110
100

450
470

550
530

382

7. fejezet Hlzati modellek

B csoport

(b) Az (a)-beli LP feltteleit cserljk ki az albbiakra:

6. A kvetkezo hrom hnapban a Workcnak munksokra van szksge: az elso hnapban 20 munksra; a msodik hnapban 16-ra; a harmadik hnapban pedig 25 munksra. Jelenleg a Workcnak egyetlen munksa sincs. Egy
munks felvtele 100$-ba, elbocstsa 50$-ba kerl, a havi
bre pedig 140$. A Workco olyan felvteli-elbocstsi stratgit szeretne, amellyel minimalizlni tudja a kvetkezo
hrom (vagy ltalnosabban, a kvetkezo n) hnap alatt
felmerlo kltsgeit. Megmutatjuk, hogy a Workco problmja megfogalmazhat egy MKHFP-knt.
(a) Legyen
xi j = az i-edik hnap elejn felvett s a j 1-edik
hnap vgig dolgoz munksok szma
(ha j = 4, a munkst sosem bocstjk el). Magyarzza
meg, hogy a kvetkezo LP optimlis megoldsa mirt
adja meg a minimlis kltsgu szemlyzeti stratgit:
min z = 50(x12 + x13 + x23 )
+100(x12 + x13 + x14 + x23 + x24 + x34 )
+140(x12 + x23 + x34 )
+280(x13 + x24 ) + 420x14
f.h.

(1)

x12 + x13 + x14

e1 = 20

(1. hnap felttel)


(2)

x13 + x14 + x23 + x24 e2 = 16

(2. hnap felttel)

(3)

x14 + x24 + x34

e3 = 25

(3. hnap felttel)


xi j 0
4 Glover

36.

TBLZAT

i.

Felttel (1);

ii.

Felttel (2) Felttel (1);

iii. Felttel (3) Felttel (2);


iv.

(Felttel (3)).

Magyarzza meg, hogy az (i)(iv) felttelekkel rendelkezo LP mirt egy MKHFP!


(c) Rajzolja fel a (b)-beli MKHFP hlzatt!
7.4 A Braneast Airlines meg akarja hatrozni, hogy hny
replogpet hasznljon, s milyen jratokat mukdtessen a
BostonNew YorkWashington lgifolyosn. A Braneast a
36. tblzatban felsorolt napi jratok brmelyikt mukdtetheti. Egy replogp zemeltetsnek fixkltsge 800$/nap.
Adjon meg egy MKHFP-t, amellyel a Braneast maximalizlni tudja a napi profitjt! (tmutats: A hlzat mindegyik cscsa egy vrost s egy idopontot reprezentl, az lek
pedig a jratokat s annak a lehetosgt, hogy egy replogp
egy vagy kt rig helyben marad. A replogpek zemeltetsnek fixkltsgt a kvetkezokppen jelenthetjk meg:
bevezetnk egy lt a Boston 19.00 cscsbl a Boston 9.00
cscsba, egy msik lt a New York 19.00 cscsbl a New
York 9.00 cscsba, s egy harmadik lt pedig a Washington
19.00 cscsbl a Washington 9.00 cscsba.)
8. A Daisymay embereket szllt New York, Philadelphia
s Washington kztt. A kisbuszoknak egy napba telik az t
brmelyik kt vros kztt. Egy kisbusz egy napi kltsge:
1000$, ha teli van s megy; 800$, ha res s megy; 700$, ha
teli van, de egy vrosban marad; s 400$, ha res s egy vrosban marad. A 37. tblzat tartalmazza, hogy a ht melyik

et al. (1982) alapjn.

Indul
vros idopont

rkezik
vros idopont

N.Y.
N.Y.
N.Y.
N.Y.
Wash.
Wash.
Wash.
Wash.
Bos.
Bos.
Bos.
Bos.

Wash.
Wash.
Bos.
Bos.
N.Y.
N.Y.
Bos.
Bos.
N.Y.
N.Y.
Wash.
Wash.

9.00
14.00
10.00
16.00
9.00
15.00
10.00
17.00
10.00
14.00
11.00
15.00

10.00
15.00
11.00
17.00
10.00
16.00
12.00
19.00
11.00
15.00
13.00
17.00

A jrat
bevtele ($)
900
600
800
1200
1100
900
1500
1800
900
800
1100
1200

A jrat
vltoz kltsge ($)
400
350
400
450
400
350
700
900
500
450
600
650

problma
7.6. A minimlis fesztofa
napjn hny kisbusznyi utast kell elszlltani. Htfon pldul, 2 kisbuszt kell kldeni Philadelphibl New Yorkba
(ahova kedden rkeznek meg). Szintn 2 kisbuszt kell kldeni Philadelphibl Washingtonba pnteken (tegyk fel,
hogy htfon kell megrkeznik). Adjon meg egy MKHFP-t,
amivel minimalizlhat a heti szlltsi kvetelmnyek ki-

37.

TBLZAT

Htfo

Phil.N.Y.
Phil.Wash.
N.Y.Phil.
N.Y.Wash.
N.Y.Phil.
Wash.N.Y.

7.6.

2
3

Kedd

383

elgtsnek kltsge! Az egyszerusg kedvrt tegyk fel,


hogy a szlltsi kvetelmnyek hetente ismtlodnek. Ekkor elfogadhatnak tunik a feltevs, hogy brmelyik kisbusz
ugyanabban a vrosban kezdi a hetet, ahol az elozo hetet
kezdte.

Szerda

2
2

Cstrtk
1

2
1

Pntek
2

2
1

problma
A minimlis fesztofa
Tegyk most fel, hogy a hlzat mindegyik (i, j) le irnytatlan, teht csak azt jelzi, hogy
az i s j cscsok kztt valamilyen sszekttets van. Tegyk fel tovbb, hogy mindegyik (i, j) lnek adott a (nemnegatv) hossza. Pldul, ha egy hlzat cscspontjai egy
egyetem szmtgpeit jelentik, az (i, j) l reprezentlhatja az i s j szmtgpeket kzvetlenl sszekto kbelt. Sok alkalmazsban arra vagyunk kvncsiak, hogyan lehet az
lek minimlis sszhosszsg halmazval az sszes cscsot (kzvetlenl vagy kzvetetten) sszektni. Az vilgos, hogy az lek egy ilyen halmaza nem tartalmazhat krt (amit
gyakran huroknak is neveznek). A 46. brn pldul az lek (1, 2)(2, 3)(3, 1) sorozata
egy kr.

46. B R A
Plda krre s
minimlis
fesztofra

(1, 2)(2, 3)(3, 1)


egy kr
(1, 3), (2, 3) alkotja a
minimlis fesztoft

D EFINCI

Egy n cscsponttal rendelkezo hlzatban a fesztofa az leknek egy olyan n 1


elemu halmaza, amely sszekttetst teremt brmely kt cscs kztt s nem tartalmaz krt.
A 46. brn hrom fesztofa van:
1.

az (1, 2) s (2, 3) lek halmaza,

2.

az (1, 2) s (1, 3) lek halmaza,

3.

az (1, 3) s (2, 3) lek halmaza.

384

7. fejezet Hlzati modellek

A hlzat egy fesztofja egy minimlis fesztofa, ha benne az lhosszak sszege minimlis. A 46. brn az (1, 3) s (2, 3) lek alkotjk az egyetlen minimlis feszt o ft.
A kvetkezo mdszer (MFF algoritmus) segtsgvel meghatrozhat egy minimlis
fesztofa.
1. lps Vlasszuk ki a hlzat egy tetszo leges i cscst. Keressk meg az i-hez legkzelebbi cscsot (nevezzk j-nek). Az i s j cscsok egy sszefgg o C = {i, j} halmazt
alkotnak, az (i, j) l pedig a minimlis feszto fa eleme lesz. A hlzat tbbi (a C-beli cscsokkal a kivlasztott lek ltal nem sszekttt) cscsnak halmazt jelljk C 0 -vel.
2. lps Vlasszuk ki a C 0 egy olyan n elemt, amelyik a legkzelebb van a C valamelyik
m elemhez. Ekkor az (m, n) l a minimlis feszto fa eleme lesz. Aktualizljuk a C s C 0
halmazokat. Mivel az n cscs most mr a kivlasztott leken keresztl sszekttetsben van
a C-beli cscsokkal, az n-et ttesszk a C 0 -bol a C-be.
3. lps Addig ismteljk az elozo lpst, amg minden cscs t nem kerl C-be. A kivlasztott lek alkotjk a minimlis feszto ft. Tbb legkzelebbi cscs (tbb legrvidebb C
s C0 kztti l) esetn tetszolegesen vlaszthatunk.
Mivel mindegyik lpsben a legrvidebb lt vlasztjuk a C cscshalmaz b o vtsre, az algoritmust gyakran moh algoritmusnak titulljuk. Figyelemre mlt tny, hogy az egyes
lpsekben kvetett moh vlaszts sosem fog kso bb egy rossz l vlasztsra knyszerteni bennnket. A 8. fejezet 1. pldjban ltni fogjuk, hogy bizonyos tpus problmkra egy loklisan moh algoritmus nem felttlenl eredmnyez optimlis megoldst. A
fenti algoritmus igazolsa az alfejezet vgn lvo 3. feladat trgya. A 8. plda szemllteti
az algoritmust.

8.

PLDA

Egy egyetemnek t miniszmtgpe van, ezeket egy fld alatti kbelhlzattal kell sszektni. A 47. bra mutatja a gptermek kztti tvolsgokat. Ha kt cscs kztt nem megy
l, az azt jelenti, hogy a kt helyszn kztt kbel nem fektethet o . Minimlisan milyen
hosszsg kbelre van szksg?

47. B R A
Az egyetemi
szmtgpek
kztti tvolsgok

Megolds

A 47. brn akarunk egy minimlis feszto ft tallni az MFF algoritmus segtsgvel.

problma
7.6. A minimlis fesztofa

385

1. iterci Kivlasztjuk (mondjuk) az 1-es cscsot. Az 1-eshez legkzelebbi cscs a 2-es.


Most C = {1, 2},C 0 = {3, 4, 5}, s az (1, 2) l lesz a minimlis feszto fa egyik le (lsd a
48.a brt).
2. iterci Az 5-s cscs van a C-hez legkzelebb. Mivel az 5-s kt egysg tvolsgra
van az 1-es s a 2-es cscstl is, a minimlis feszto fba vlaszhatjuk akr a (2, 5), akr az
(1, 5) lt. Mondjuk, a (2, 5) lt vlasztjuk. Ekkor C = {1, 2, 5} s C 0 = {3, 4} (48.b bra).
3. iterci Mivel a 3-as cscs van a C-hez, mgpedig az 5-s cscshoz a legkzelebb, az
(5, 3) l lesz a minimlis fesztofa eleme. Most C = {1, 2, 3, 5} s C 0 = 4 (48.c bra).

4. iterci Mivel a 4-es cscshoz a C-beliek kzl az 5-s van a legkzelebb, az (5, 4) lt
vesszk be a minimlis fesztofba (49.d bra).

A minimlis fesztofa teht az (1, 2), (2, 5), (5, 3) s (5, 4) lekbo l ll. Az lek sszhossza a
minimlis fesztofban 1 + 2 + 2 + 4 = 9 egysg.
48.

BRA

Az MFF algoritmus a szmtgpes pldra

(a) 1. iterci

(b) 2. iterci

Az MFF az (1, 2), (2, 5), (5, 3)


s (5, 4) lekbl ll

(c) 3. iterci

(d) 4. iterci: a minimlis fesztfa

386

7. fejezet Hlzati modellek

Feladatok
A csoport

B csoport

1. Az Indiana llambeli Gary, Fort Wayne, Evansville,


Terre Haute s South Bend vrosok kztti tvolsgokat
(mrfldben) adja meg a 38. tblzat. Olyan thlzatot
kell pteni, amelyik sszekttetst biztost ezen vrosok
kztt. Tegyk fel, hogy politikai okok miatt Gary s Fort
Wayne, valamint South Bend s Evansville kztt nem plhet t. Minimlisan milyen sszhosszsg thlzatra van
szksg?

3. Ebben a feladatban megmagyarzzuk, hogy mirt mukdik az MFF algoritmus. Legyen

2. Kisvros t kerletbol ll. A polgrmester telefonvonalakat akar kipttetni gy, hogy a hlzatban mind az t kerlet elrheto legyen. A 49. bra mutatja a kerletek kztti
tvolsgokat. Minimlisan milyen hosszsg telefonvonalhlzat szksges? Tegyk fel, hogy az 1-es s 4-es kerletek kztt kzvetlen kapcsolat nem ltestheto.
38.

TBLZAT

Fort Evans- Terre


Gary Wayne ville Haute
Gary
Fort Wayne
Evansville
Terre Haute
South Bend
49.

BRA

132
217
164
58

132

290
201
79

217
290

113
303

South
Bend

164
201
113

196

A 2. feladat hlzata

5 Peterson

58
79
303
196

S = minimlis fesztofa
Ct = az sszekttt cscsok halmaza az MFF
algoritmus t-edik itercija utn
Ct0 = a Ct -be nem tartoz cscsok halmaza
At = a kivlasztott lek halmaza az MFF
algoritmus t-edik itercija utn
Ttelezzk fel, hogy az MFF algoritmus nem egy minimlis
fesztoft hatroz meg. Ekkor biztosan van egy olyan t, hogy
minden At1 -beli l az S-nek is eleme, de az MFF algoritmus t-edik itercijban vlasztott l (jellje at ) nem tartozik az S-hez. Az S-ben kell legyen egy olyan at0 l, amelyik
0 -beli cscsot kt ssze. Mutassa
egy Ct1 -beli s egy Ct1
0
meg, hogy az at lt az at lre cserlve, az S-nl rvidebb fesztoft kapunk! Ez az ellentmonds igazolja, hogy az MFF
algoritmus ltal kivlasztott mindegyik l az S-hez tartozik.
Teht az MFF algoritmus valban egy minimlis fesztoft
eredmnyez.
4. (a) Egy egyenlo oldal hromszg cscspontjaiban
egy-egy vros helyezkedik el. A Flying Lion Airlines
kapcsold jratokkal akarja sszektni a hrom vrost.
Mi a minimlis replsi tvolsg, amivel ez megoldhat?
(b) Tegyk fel, hogy a Flying Lion Airlines egy tszllsi pontot hoz ltre az egyenlo oldal hromszg kzppontjban. Mutassa meg, hogy ekkor a hrom vrost
sszekto reploutak hossza 13%-kal cskkentheto! (tmutats: Megmutattk, hogy ilyen tszllsi pont(ok) beiktatsval az eredeti pontokat sszekto trendszer sszhossza legfeljebb 13%-kal cskkentheto, akrhny eredeti pontot kell is sszektni s akrhny tszllsi pontot vezetnk is be.)5

(1990) alapjn.

7.7. A hlzati szimplex mdszer

7.7.

387

A hlzati szimplex mdszer6


Ebben az alfejezetben megmutatjuk, hogy a szimplex algoritmus miknt egyszerusdik
le, ha egy MKHFP-re alkalmazzuk. A knyelmesebb trgyals kedvrt feltesszk, hogy
mindegyik lre Li j = 0. Ekkor egy (8)(9) alak MKHFP definilshoz szksges adatok
az 50. brhoz hasonlan grafikusan is megadhatk. Az egy lhez tartoz c i j rtket a
$ szimblummal klnbztetjk meg az l Ui j felso korltjtl. A nemnulla kibocsts
cscsokhoz tartoz bi rtkeket zrjelben tntetjk fel. Az 50. bra teht azt az MKHFP-t
definilja, amelyben c12 = 5, c25 = 2, c13 = 4, c35 = 8, c14 = 7, c34 = 10, c45 = 5; b1 = 10,
b2 = 4, b3 = 3, b4 = 4, b5 = 7; U12 = 4, U25 = 10,U13 = 10,U35 = 5,U14 = 4,U34 =
5,U45 = 5. A hlzati szimplex alkalmazshoz bi = 0 kell legyen; ez egy fiktv cscs
beiktatsval ltalban elrheto.

50. B R A
Egy MKHFP
grafikus brzolsa

Idzzk fel, hogy amikor a szimplex mdszerrel egy szlltsi feladatot oldottunk meg, a
szimplex algoritmus kvetkezo alkotelemei vltak egyszerubb: egy lehetsges bzismegolds (lbm) megadsa, egy nembzis vltoz clfggvny-sorbeli egytthatjnak kiszmtsa, s a bziscsere. Nzzk most meg, hogy a szimplex algoritmus ezen alkotelemei
miknt egyszerusdnek le egy MKHFP esetn.

Egy MKHFP lehetsges bzismegoldsai


Hogyan dntheto el, hogy egy MKHFP egy lehetsges megoldsa lehetsges bzismegolds-e (lbm)? Eloszr is vegyk szre, hogy egy MKHFP egy lbm-ben hromfle vltoz
lehet:
1. Bzisvltoz: degenerci hinyban mindegyik xi j bzisvltozra Li j < xi j < Ui j teljesl; degenerci esetn elkpzelheto , hogy egy xi j bzisvltoz az (i, j) l als vagy felso
korltjval egyenlo.
2.

Nembzis vltoz xi j = Ui j = az (i, j) l felso korltja.

3.

Nembzis vltoz xi j = Li j = az (i, j) l als korltja.

Egy n cscsponttal rendelkezo MKHFP megoldsakor tekintsk az n folyam-mego rzsi


felttelt, s (ksobb vilgoss vl okok miatt) hagyjuk figyelmen kvl az lek als, ill.
felso korltjait. A szlltsi feladathoz hasonlan, valamely n 1 folyam-meg o rzsi felttel
megoldsa egyben megoldsa az utols folyam-mego rzsi felttelnek is, egy ilyen felttelt
teht elhagyhatunk. Ez azt jelenti, hogy egy n-cscs MKHFP lbm-ben n 1 bzisvltoz van. De hogyan tudjuk eldnteni, hogy a vltozk (lek) egy n 1 elemu halmaza
6 Ezen

alfejezet kihagysa nem szaktja meg a trgyals folytonossgt.

388

7. fejezet Hlzati modellek

51. B R A
Plda egy
MKHFP-re

52. B R A
Plda egy lbm-re

lehetsges bzismegoldst hatroz-e meg? A vltozk egy n 1 elemu halmaza akkor s


csak akkor hatroz meg egy lehetsges bzismegoldst, ha a vltozkhoz tartoz lek a
hlzat egy fesztofjt alkotjk. Vegyk pldul az 51. brn lthat MKHFP-t. Ennek
egy lbm-t mutatja az 52. bra. A bzisvltozk: x13 , x35 , x25 s x45 . Az x12 = 5 s x14 = 4
vltozk a felso korltjuknl lvo nembzis vltozk (az ilyeneket szaggatott lek jellik).
Mivel az (1, 3), (3, 5), (2, 5) s (4, 5) lek egy feszto ft alkotnak (hiszen rajtuk keresztl
a grf minden cscsa elrheto, ugyanakkor krt nem tartalmaznak), tudjuk, hogy ez egy
lbm. Hamarosan ltni fogjuk, hogy kismretu feladatokra egy lbm gyakran prblkozssal
is megkaphat.

Egy lbm clfggvnysornak kiszmtsa


Hogyan szmoljuk ki egy adott lbm esetn egy nembzis vltoz clfggvny egytthatjt? Tegyk fel, hogy az 1-es cscshoz tartoz folyam-meg o rzsi felttelt hagytuk el. Egy
adott lbm esetn legyen cBV B1 = [y2 y3 yn ]. Egy xi j vltoz egytthatja +1 az
i cscshoz tartoz felttelben, s 1 a j cscshoz tartozban. Ha y 1 = 0-t vesznk, az xi j
clfggvnysor egytthatja ci j = yi y j ci j . Mivel mindegyik bzisvltozra ci j = 0 kell
legyen, az y1 , y2 , . . . , yn meghatrozshoz megoldjuk az
y1 = 0,

y i y j = ci j

minden bzisvltozra

lineris egyenletrendszert. Egy adott lbm-hez tartoz y1 , y2 , . . . , yn szmokat gyakran az


lbm szimplex szorzinak hvjk.
Hogyan dntjk el, hogy optimlis-e egy lehetsges bzismegolds? Nyilvn akkor optimlis egy lbm, ha a z rtkt nem tudjuk javtani (cskkenteni) egy nembzis vltoz
rtknek megvltoztatsval. Vegyk szre, hogy ci j 0 akkor s csak akkor, ha az xi j
nvelse a z-t nem cskkenti. Tovbb, ci j 0 akkor s csak akkor, ha az xi j cskkentse
a z-t nem cskkenti. Ezen szrevtelek alapjn megmutathat, hogy egy lehetsges bzismegolds akkor s csak akkor optimlis, ha teljeslnek a kvetkez o k:

7.7. A hlzati szimplex mdszer

389

1. Ha xi j = Li j , az xi j nvelse a z-t nem cskkentheti. Teht ha xi j = Li j s az adott lbm


optimlis, akkor ci j 0 kell legyen.

2. Ha xi j = Ui j , az xi j cskkentse a z-t nem cskkentheti. Teht ha xi j = Ui j s az adott


lbm optimlis, akkor ci j 0 kell legyen.
Ha az 1. s 2. felttelek nem teljeslnek, a z javthat (a degenercitl eltekintve) egy
olyan nembzis vltoz bzisba vonsval amelyik nem teljesti valamelyik felttelt. Szemlltetskppen szmoljuk ki az 52. brn lthat lbm esetn a nembzis vltozk clfggvny egytthatit. Az
y1 = 0,

y1 y3 = 12,

y2 y5 = 6,

y3 y5 = 7,

y 4 y5 = 3

egyenletek megoldsbl kapjuk, hogy y1 = 0, y2 = 13, y3 = 12, y4 = 16 s y5 = 19.


Majd berazzuk a nembzis vltozkat:
c12 = y1 y2 c12 = 0 (13) 10 = 3
(nembzis vltoz a felso korltjnl, teljesti az optimalitsi felttelt)
c14 = y1 y4 c14 = 0 (16) 6 = 10
(nembzis vltoz a felso korltjnl, teljesti az optimalitsi felttelt)
c32 = y3 y2 c32 = 12 (13) 2 = 1
(nembzis vltoz az als korltjnl, teljesti az optimalitsi felttelt)
c34 = y3 y4 c34 = 12 (16) 3 = 1
(nembzis vltoz az als korltjnl, megsrti az optimalitsi felttelt)
Mivel c34 = 1 > 0, az x34 nvelse (megengedett, mert az als korltjnl ll) egy egysggel cskkenteni fogja a z-t egy egysggel. A z rtke teht javthat, ha az x 34 -et behozzuk a bzisba. Amennyiben egy, a felso korltjnl ll xi j nembzis vltozra ci j < 0, a
z cskkentheto, ha cskkentjk az x34 -et s behozzuk a bzisba. Most pedig bemutatjuk,
hogy egy MKHFP esetn a bziscsere is majdnem rnzsre elvgezhet o .

Bziscsere a hlzati szimplexben


Mint lttuk, az 52. brabeli lbm javthat az x34 bzisba vonsval. Ha a kapcsold (3, 4)
lt hozzvesszk az aktulis bzisvltozkhoz tartoz lekhez, egy kr keletkezik. Mivel
most x34 = 0, nveljk az als korltjnl ll x34 -et egysggel. A folyam-mego rzsi felttelek meghatrozzk, hogy miknt mdosul a tbbi vltoz rtke. Az 53. brn ltjuk,
hogy a (3, 4), (4, 5) s (3, 5) lek alkotjk a krt. A bziscsere utn a krbe nem tartoz
lek vltozinak rtke a korbbi marad, de a krt alkot lek vltozinak rtke mdosul.
53. B R A
A (3, 4), (4, 5),
(3, 5) kr segt
behozni az x34 -t

390

7. fejezet Hlzati modellek

54. B R A
Az j lbm a
bziscsere utn
(x34 be, x35 ki)

Ha x34 = , a 4-es cscsba bemeno folyam egysggel nvekszik, ezrt az onnan kimeno
folyamnak is nvekednie kell egysggel, azaz x45 = 4 + . Ez egysggel megnveli
az 5-s cscsba az egyik len bemeno folyamot, ezrt a msik bemeno len ugyanennyivel
kell cskkenteni a bemeno folyamot, azaz x35 = 1 . A bziscsere vltozatlanul hagyja
az sszes tbbi vltoz rtkt. Az x34 = rtket persze a leheto legmagasabbra akarjuk
emelni. Addig emelhetjk az x34 rtkt, amg valamelyik bzisvltoz el nem ri az als
vagy a felso korltjt. Esetnkben, a (3, 4) l miatt 5; a (3, 5) l miatt 1 0 vagy
1; a (4, 5) l miatt pedig 4 + 6 vagy 2. Vagyis, = 1 a legjobb, amit elrhetnk. Az a bzisvltoz kerl ki a bzisbl, amelyik elo szr ri el az als vagy a felso
korltjt (dntetlen esetn tetszolegesen vlaszthatunk). Most az x35 kerl ki a bzisbl. Az
j lehetsges bzismegolds az 54. brn lthat. Az aktualizlt bzisvltozkhoz tartoz
fesztofa lei: (1, 3), (3, 4), (4, 5) s (2, 5). Kiszmoljuk a nembzis vltozk clfggvnysor egytthatit. Eloszr is megoldjuk az
y1 = 0,

y1 y3 = 12,

y3 y4 = 3,

y2 y5 = 6,

y 4 y5 = 3

egyenletrendszert. Azt kapjuk, hogy y1 = 0, y2 = 12, y3 = 12, y4 = 15 s y5 = 18.


Ekkor a felso korltjuknl lvo nembzis vltozk clfggvnysor egytthati:
c12 = 0 (12) 10 = 2

c14 = 0 (15) 6 = 9

Az als korltjuknl lvo nembzis vltozk clfggvnysor egytthati pedig:


c32 = 12 (12) 2 = 2

c35 = 12 (18) 7 = 1

Mivel mindegyik felso korltjn ll nembzis vltozra ci j 0 s mindegyik als korltjn ll nembzis vltozra ci j 0, a jelenlegi lehetsges bzismegolds optimlis. Az
51. brabeli MKHFP optimlis megoldsa teht
felso korlton ll vltozk: x12 = 5,

x14 = 4

als korlton ll vltozk: x32 = x35 = 0


bzisvltozk: x13 = 1, x34 = 1, x25 = 5, x45 = 5

A hlzati szimplex mdszer sszefoglalsa


1. lps Meghatrozunk egy kiindul lbm-et. Az n 1 bzisvltoz egy feszt o ft definil. Jelezzk a felso korltjukon ll nembzis vltozkat szaggatott llel.
2. lps Hatrozzuk meg az y1 , y2 , . . . yn szimplex szorzkat az y1 = 0, yi y j = ci j (minden xi j bzisvltozra) egyenletrendszerbo l. A nembzis vltozkra szmoljuk ki a ci j =

7.7. A hlzati szimplex mdszer

391

yi y j ci j clfggvnysor egytthatkat. Az aktulis lbm optimlis, ha ci j 0 minden


xi j = Li j esetn, s ci j 0 minden xi j = Ui j esetn. Ha az lbm nem optimlis, vlasszuk azt
a nembzis vltozt belpo vltoznak, amelyik a leginkbb srti az optimalitsi feltteleket.
3. lps Azonostsuk azt az egyetlen krt, amit a belpo vltozhoz tartoz l s az aktulis lbm fesztofjnak bizonyos lei alkotnak. A folyam-mego rzs szablya alapjn hatrozzuk meg a krbeli vltozk j rtkeit. Az a vltoz lp ki a bzisbl, amelyik el o szr
ri el az als vagy a felso korltjt a belpo vltoz rtknek a megfelelo irnyba trtno
mdostsa sorn.
4. lps Az elozo lpsben meghatrozott kr lein a folyamero ssgeket aktualizlva kapjuk az j lbm-et. A 2. lpssel folytatjuk.
A 9. pldn illusztrljuk a hlzati szimplex mdszert.

9.

PLDA

A hlzati szimplex mdszerrel oldjuk meg az 55. brabeli MKHFP-t.

55. B R A
Plda a hlzati
szimplexre

Megolds

Egy lbm egy fesztofhoz tartozik (hrom l, amelyek krmentesen ktik ssze az 1, 2, 3
s 4 cscsokat). A fesztofhoz nem tartoz leken a folyam ero ssgnek vlaszthatjuk az
als vagy a felso korltot. Prblkozssal kaphatjuk az 56. brn lthat lbm-et, aminek a
fesztofja az (1, 2), (1, 3) s (2, 4) lekbo l ll.
Megoldva az
y1 = 0,

56. B R A
Egy lbm a 9.
pldban

y1 y2 = 4,

y2 y4 = 3,

y 1 y3 = 3

392

7. fejezet Hlzati modellek

57. B R A
A kr az x34
belpsekor

58.

BRA

Az lbm a
bziscsere utn
(x12 ki, x34 be)

egyenletrendszert azt kapjuk, hogy y1 = 0, y2 = 4, y3 = 3 s y4 = 7. A nembzis vltozk clfggvnysor egytthati:


c34 = 3 (7) 6 = 2 (megsrti az optimalitsi felttelt)
c23 = 4 (3) 1 = 2 (teljesti az optimalitsi felttelt)
c32 = 3 (4) 2 = 1 (teljesti az optimalitsi felttelt)

Vagyis az x34 lp be a bzisba. Ha x34 = 5 , az 57. brn lthat krt kapjuk. Az


(1, 2) l miatt 5 + 7 vagy 2; az (1, 3) l miatt 5 0 vagy 5; a (2, 4) l
miatt 5 + 8 vagy 3; a (3, 4) l miatt pedig 5 0 vagy 5. Teht = 2,
ekkor x12 lp ki a bzisbl, mert o rte el eloszr az egyik (most a felso) korltjt. Az j
lbm lthat az 58. brn.
Az j lbm az (1, 3), (2, 4) s (3, 4) lekbo l ll fesztofhoz tartozik. A szimplex szorzk
j rtkeit az
y1 = 0, y1 y3 = 3, y3 y4 = 6, y2 y4 = 3

egyenletekbol kapjuk, mgpedig: y1 = 0, y2 = 6, y3 = 3, y4 = 9. A nembzis vltozk


clfggvnysor egytthati:
c12 = 0 (6) 4 = 2
c23 = 6 (3) 1 = 4

c32 = 3 (6) 2 = 1

(teljesti az optimalitsi felttelt)


(teljesti az optimalitsi felttelt)
(megsrti az optimalitsi felttelt)

Most az x32 lp a bzisba, az 59. brn lthat krt hozva ltre. A (2, 4) len 7 + 8
vagy 1; a (3, 4) len 3 0 vagy 3. A (3, 2) len 6. Vagyis = 1, s x 24
lp ki a bzisbl, mert elrte a felso korltjt. Az j lbm a 60. brn lthat.
Az aktulis bzismegolds fesztofjnak lei: (1, 3), (3, 2) s (3, 4). Megoldva az
y1 = 0,

y1 y3 = 3,

y3 y2 = 2,

y 3 y4 = 6

7.7. A hlzati szimplex mdszer

393

59. B R A
A kr az x32
belpsekor

60. B R A
Az j lbm a
bziscsere utn
(x32 be, x24 ki)

egyenletrendszert megkapjuk a szimplex szorzk j rtkeit: y 1 = 0, y2 = 5, y3 = 3, y4 =


9. A nembzis vltozk clfggvnysor egytthati most
c23 = 5 (3) 1 = 3
c12 = 0 (5) 4 = 1
c24 = 5 (9) 3 = 1

(teljesti az optimalitsi felttelt)


(teljesti az optimalitsi felttelt)
(teljesti az optimalitsi felttelt)

Ez a lehetsges bzismegolds teht az MKHFP egy optimlis megoldsa:


bzis vltozk: x13 = 3, x32 = 1, x34 = 2
felso korltjukon ll nembzis vltozk: x12 = 7,

x24 = 8

als korltjukon ll nembzis vltozk: x23 = 0.


Az optimlis z rtk pedig
z = 7(4) + 3(3) + 1(2) + 8(3) + 2(6) = 75$.

Feladatok
A csoport
1. Tekintsk a 2. brn az 1-es cscsbl a 6-os cscsba
vezeto legrvidebb t feladatot.
(a) Fogalmazza meg a feladatot egy MKHFP-knt!
(b) Keressen egy lbm-et, amelyben x12 , x24 s x46 pozitvak. (tmutats: Az lbm degenerlt lesz.)
(c) A hlzati szimplex mdszerrel hatrozza meg az
1-es cscsbl a 6-os cscsba vezeto legrvidebb utat!

2.

Adjon meg egy lbm-et a 61. brn lthat MKHFP-re!

3. Hatrozza meg a 62. brn lthat MKHFP optimlis


megoldst a 63. brn lthat lbm-bol kiindulva!
4.

Adjon meg egy lbm-et a 64. brn lthat hlzatra!

5. Hatrozza meg a 65. brn lthat MKHFP optimlis


megoldst a 66. brn lthat lbm-bol kiindulva!

394

7. fejezet Hlzati modellek

61.

BRA

62.

BRA

63.

BRA

64.

BRA

65.

BRA

66.

BRA

sszefoglals

395

sszefoglals
Legrvidebb t feladatok
Tegyk fel, hogy meg akarjuk hatrozni egy nemnegatv hosszsg leket tartalmaz hlzatban az 1-es cscsbl az m jelu cscsba vezeto legrvidebb utat.
Dijkstra algoritmusa
1. Az 1-es cscsot elltjuk az lland 0 cmkvel. Ezutn minden olyan i cscsot, amelybe az 1-bol megy l, ideiglenesen megcmkznk az (1, i) l hosszval. Minden ms cscs a
ideiglenes cmkt kapja. Kivlasztjuk a legkisebb ideiglenes cmkvel rendelkez o cscsot
(vagy tetszolegesen egyet, ha tbb van) s cmkjt llandnak mino stjk.
2. Tegyk fel, hogy az i volt a (k + 1)-edik cscs, amelyik lland cmkt kapott. Mindegyik ideiglenes cmkvel elltott olyan j cscs cmkjt, amelybe l vezet az i-b o l, kicserljk a j cscs ideiglenes cmkjnek s az (i lland cmkje + az (i, j) l hossza)
sszegnek a minimumval. Ezutn a legkisebb ideiglenes cmkt llandv vltoztatjuk.
Folytassuk ezt az eljrst egszen addig, amg minden cscs lland cmkt nem kap. Az
1-esbol az m jelu cscsba vezeto legrvidebb utat gy kapjuk meg, hogy az m-bo l visszafel haladva azokat a cscsokat vlasztjuk, amelyek cmki kztti klnbsg pontosan a
kztk lvo l hossza. Ha csak az 1-bol az m-be vezeto legrvidebb utat akarjuk, abbahagyhatjuk a cmkzsi eljrst, mihelyst az m jelu cscs cmkje llandra vltozott.
A legrvidebb t problma sszetett szlltsi feladatknt
Az 1-es cscsbl a j cscsba vezeto legrvidebb utat meghatrozhatjuk gy is, hogy minimalizljuk egy egysgnek az 1-es cscsbl a j cscsba trtn o szlltsnak kltsgt (a
hlzat tbbi pontja tszlltsi pont), ha egy egysg szlltsi kltsge a k cscsbl a k 0
cscsba a (k, k0 ) l hossza, ha van ilyen l, s M (egy nagy pozitv szm), ha nincs ilyen l.
A 6.6. alfejezethez hasonlan egy egysg szlltsi kltsge egy cscsbl nmagba nulla.

Maximlis folyam feladatok


Egy hlzatban a forrsbl a nyelo be meno maximlis folyamot meghatrozhatjuk egy
lineris programmal, vagy a FordFulkerson mdszerrel.
A maximlis folyam meghatrozsa lineris programozssal
Legyen
x0 = a folyam nagysga a nyelobol a forrsba vezeto mestersges len
Ekkor a forrsbl a nyelobe meno maximlis folyam meghatrozshoz maximalizljuk az
x0 vltozt a kvetkezo felttelek mellett:
1.

a folyam mindegyik len nemnegatv, de nem haladhatja meg az l kapacitst,

2.

mindegyik cscsnl a bemeno folyam = a kimeno folyam (folyam-megorzs).

396

7. fejezet Hlzati modellek

A maximlis folyam meghatrozsa a FordFulkerson mdszerrel


Legyen
I = azon lek halmaza, amelyeken a folyam nvelheto
R = azon lek halmaza, amelyeken a folyam cskkentheto
1. lps Talljunk egy lehetsges folyamot (a mindegyik len nulla folyam mindig lehetsges).
2. lps A kvetkezo eljrssal keressnk egy cmkzett lekbo l s cscsokbl ll lncot
a forrstl a nyeloig. Cmkzzk meg a forrst, majd cmkzznk meg cscsokat s (az a 0
kivtelvel) leket a kvetkezo szablyok szerint: (1) Ha az x cscs mr kapott cmkt, de
az y cscs mg nem, s az (x, y) l az I eleme, akkor cmkzzk meg az y cscsot s az
(x, y) lt. Ebben az esetben az (x, y) lt elo remeno lnek hvjuk. (2) Ha az x cscs mr
kapott cmkt, de az y cscs mg nem, s az (y, x) l az R eleme, akkor cmkzzk meg az
y cscsot s az (y, x) lt. Ebben az esetben az (y, x) lt htrameno lnek hvjuk.
Amennyiben a nyelot nem lehet megcmkzni, a jelenlegi folyam egy maximlis folyam;
ha a nyelo is kapott cmkt, a 3. lpssel folytatjuk.
3. lps Ha a forrs s a nyelo kztti cmkzett lekbol ll lnc kizrlag eloremeno
lekbol ll, akkor mindegyik eloremeno len nveljk a folyam erossgt (megorizve a
folyam lehetsgessgt), s gy a forrsbl a nyelo be meno folyam erossgt. Ha a forrs
s a nyelo kztti cmkzett lekbol ll lnc tartalmaz elore- s htrameno l(eke)t is,
az eloremeno leken nveljk, a htrameno leken pedig cskkentjk a folyam ero ssgt
(megorizve a folyam lehetsgessgt), s gy a forrsbl a nyelo be meno folyam erossgt.
Trjnk vissza a 2. lpsre.

A kritikus t mdszer (CPM)


Amennyiben mindegyik tevkenysg ido tartama ismert, a kritikus t mdszer (CPM) hasznlhat egy projekt idotartamnak meghatrozsra.
Egy AOA projekt-diagram szerkesztsnek szablyai
1. Az 1-es cscs jelzi a projekt kezdett. Az elo zmny nlkli tevkenysgeket az 1-es
cscsbl kiindul lekkel jelentjk meg.
2. Egy a projekt befejezst szimbolizl n. befejezs cscsot is tartalmaznia kell a
hlzatnak.
3. Szmozzuk gy a hlzat cscsait, hogy egy tevkenysg vgt mutat cscs sorszma
mindig nagyobb legyen, mint a tevkenysg kezdett mutat cscs (ennek a szablynak
persze tbb szmozs is megfelelhet).
4.

Egy tevkenysget csak egy l reprezentlhat.

5.

Kt cscs kztt legfeljebb egy l mehet.

A 4. s 5. szably betartshoz szksges lehet nulla ido tartam fiktv tevkenysgek bevezetsre.

sszefoglals

397

A korai idozts
kiszmtsa
Az i cscs korai idoztse (jellse ET (i)) az a legkorbbi ido pont, amikor a cscshoz
tartoz esemny bekvetkezhet. Az ET (i) kiszmtsa:
1. lps Keressk meg azokat a cscsokat, amelyekbo l l megy az i cscsba. Ezek a cscsok (esemnyek) az i cscs (esemny) kzvetlen elo zmnyei.
2. lps Az i cscs mindegyik kzvetlen elo zmnynek ET rtkhez adjuk hozz az
adott elozmnybol az i-be meno l hosszt (tevkenysg idotartamt).
3. lps Az ET (i) egyenlo az elozo lpsben kiszmtott sszegek maximumval.
idozts

A ksoi
kiszmtsa
Az i cscs ksoi idoztse (jellse LT (i)) az a legksobbi idopont, amikor a cscshoz tartoz esemny mg bekvetkezhet anlkl, hogy a projekt befejezse ksedelmet szenvedne.
Az LT (i) kiszmtsa:
1. lps Keressk meg azokat a cscsokat, amelyekbe l megy az i cscsbl. Ezek a cscsok (esemnyek) az i cscs (esemny) kzvetlen kveto i.
2. lps Az i cscs mindegyik kzvetlen kveto jnek LT rtkbol vonjuk le az i-bol az
adott kvetobe meno l hosszt (tevkenysg idotartamt).
3. lps Az LT (i) egyenlo az elozo lpsben kiszmtott klnbsgek minimumval.
Turshatr

Egy tevkenysg, illetve az azt reprezentl (i, j) l turshatra

(jellse TH(i, j)) az az


ido, amennyivel a tevkenysg elkezdse eltoldhat a legkorbbi kezdsi id o pontjtl anlkl, hogy a projekt befejezse ksedelmet szenvedne (feltve, hogy a tbbi tevkenysg
nem csszik):
TH(i, j) = LT ( j) ET (i) ti j

(ti j az (i, j) lhez tartoz tevkenysg ido tartama)

Egy nulla turshatrral rendelkezo tevkenysget kritikus tevkenysgnek hvunk. Egy


csupa kritikus tevkenysgbol ll, a kezds cscsbl a befejezs cscsba vezeto utat kritikus tnak neveznk. Brmelyik kritikus t (egy projekt-hlzatban tbb is lehet) a leghosszabb, a kezds cscsbl a befejezs cscsba vezeto t. Ha egy kritikus tevkenysg
kezdete csszik, vagy az idotartama megnvekszik, akkor a projekt befejezse ksedelmet
szenved.
Mozgshatr
Egy tevkenysg, illetve az azt reprezentl (i, j) l mozgshatra (jellse MH(i, j)) az
az ido, amennyivel a tevkenysg elkezdse (vagy vgrehajtsa) elhzdhat anlkl, hogy
ezzel brmelyik ksobbi tevkenysg kezdsi idopontja a legkorbbi kezdsi ido pontjnl
ksobbre toldna:
MH(i, j) = ET ( j) ET (i) ti j
A lineris programozs mdszere is hasznlhat a kritikus t, illetve a projekt id o tartamnak meghatrozsra. Legyen
x j = a j esemny (cscs) bekvetkezsnek ido pontja
F = a projekt befejezst jelkpezo cscs

398

7. fejezet Hlzati modellek

A kritikus t meghatrozshoz minimalizljuk az z = xF x1 clfggvnyt, feltve, hogy


x j xi + ti j vagy
x j elojelktetlen

x j x i ti j

minden lre

Az optimlis clfggvnyrtk a kritikus t hossza (a projekt befejezshez szksges id o ).


Egy kritikus utat pedig gy kapunk meg, hogy keresnk egy olyan az 1-es cscsbl az F
cscsba vezeto utat, amelynek mindegyik (i, j) lre a kapcsold (x j xi ti j ) felttelnek
1 az rnykra.
A lineris programozs segtsgvel meghatrozhatjuk a tevkenysgek lervidtsnek
egy minimlis kltsggel jr mdjt is akkor, ha a projektet egy adott hatrid o ig be kell
fejezni.

PERT
Amennyiben a projektben a tevkenysgek ido tartamai bizonytalanok, a PERT segtsgvel
adhat becsls annak a valsznusgre, hogy a projekt egy adott id o alatt befejezodik. A
PERT az egyes tevkenysgekre vonatkozan a kvetkez o hrom szm megadst ignyli:
a = a tevkenysg idotartamnak becslse a legkedvezo bb esetben
b = a tevkenysg idotartamnak becslse a legkedvezo tlenebb esetben
m = a tevkenysg idotartamnak legvalsznubb rtke
Ha az a, b s m becslsek az (i, j) l ltal reprezentlt tevkenysgre vonatkoznak, amelynek
idotartamt a Ti j valsznusgi vltoz jelli, akkor kzelto leg igaz, hogy
a + 4m + b
6
(b a)2
varTi j =
36

E(Ti j ) =

Ekkor

E(Ti j ) = az t idotartamnak vrhat rtke

varTi j = az t idotartamnak variancija

(i, j)t
(i, j)t

Feltve (nha nem helytllan), hogy a vrhat ido tartamokkal szmtott kritikus t lesz
a tnyleges kritikus t, tovbb, hogy a kritikus t ido tartama normlis eloszlst kvet, a
fenti sszefggsek alapjn becsls adhat annak a valsznusgre, hogy a projekt egy
adott ido alatt befejezodik.

Minimlis kltsgu hlzati folyam feladatok


A szlltsi, hozzrendelsi, sszetett szlltsi feladatok, a legrvidebb t, maximlis folyam s kritikus t problmk mind specilis esetei a minimlis kltsgu hlzati folyam
problmnak (MKHFP).

sszefoglals

399

Legyen
xi j = az i cscsbl a j cscsba az (i, j) len tmeno folyam-egysgek szma
bi = az i cscs nett kibocstsa (kimeno bejvo folyam)

ci j = egy folyam-egysg kldsnek kltsge az (i, j) len keresztl


Li j = az (i, j) len tmeno folyam als korltja (ha nincs
megszabott als korlt, Li j = 0)
Ui j = az (i, j) len tmeno folyam felso korltja (ha nincs
megszabott felso korlt, Ui j = )
Ezen jellsekkel egy MKHFP gy rhat fel:

min

ci j xi j

minden lre

f.h.

xi j xki = bi

(a hlzat mindegyik i cscsra)

Li j xi j Ui j

(a hlzat mindegyik (i, j) lre)

Az elso felttelcsoportot a folyam-egyensly egyenletek, a msodikat az lkapacits korltok alkotjk.


Egy MKHFP megoldhat a hlzati szimplex valamilyen szmtgpes implementcijval. A felhasznlnak inputknt meg kell adnia a hlzat cscsait s leit, mindegyik
lre a ci j , illetve az lkapacits rtkt, s mindegyik cscsra a bi rtket. Egy problmnak
egy MKHFP-knt val megfogalmazsa szksgess teheti egy fiktv cscspont beiktatst.

problma
A minimlis fesztofa
A kvetkezo mdszer (MFF algoritmus) hasznlhat egy hlzatban a minimlis feszt o fa
megtallsra:
1. lps Vlasszuk ki a hlzat egy tetszo leges i cscst. Keressk meg az i-hez legkzelebbi cscsot, tegyk fel, hogy ez a j cscs. Az i s j cscsok egy sszefgg o C = {i, j}
halmazt alkotnak, az (i, j) l pedig a minimlis feszto fa eleme lesz. A hlzat tbbi (a
C-beli cscsokkal a kivlasztott lek ltal nem sszekttt) cscsnak halmazt jelljk
C0 -vel.
2. lps Vlasszuk ki a C 0 egy olyan n elemt, amelyik a legkzelebb van a C valamelyik
m elemhez. Ekkor az (m, n) l a minimlis feszto fa eleme lesz. Aktualizljuk a C s C 0
halmazokat. Mivel az n cscs most mr a kivlasztott leken keresztl sszekttetsben van
a C-beli cscsokkal, az n-et ttesszk a C 0 -bol a C-be.
3. lps Addig ismteljk az elozo lpst, amg minden cscs t nem kerl C-be. A kivlasztott lek alkotjk a minimlis feszto ft. Tbb legkzelebbi cscs (tbb legrvidebb C
s C0 kztti l) esetn tetszolegesen vlaszthatunk.

A hlzati szimplex mdszer


1. lps Meghatrozunk egy kiindul lehetsges bzismegoldst (lbm). Az n 1 bzisvltoz egy fesztoft definil. Jelezzk a felso korltjukon ll nembzis vltozkat szaggatott llel.

400

7. fejezet Hlzati modellek

2. lps Hatrozzuk meg az y1 , y2 , . . . yn szimplex szorzkat az y1 = 0, yi y j = ci j (minden xi j bzisvltozra) egyenletrendszerbo l. A nembzis vltozkra szmoljuk ki a ci j =
yi y j ci j clfggvnysor egytthatkat. Az aktulis lbm optimlis, ha ci j 0 minden
xi j = Li j esetn, s ci j 0 minden xi j = Ui j esetn. Ha az lbm nem optimlis, vlasszuk azt
a nembzis vltozt belpo vltoznak, amelyik a leginkbb srti az optimalitsi feltteleket.
3. lps Azonostsuk azt az egyetlen krt, amelyet a belpo vltozhoz tartoz l s az
aktulis lbm fesztofjnak bizonyos lei alkotnak. A folyam-mego rzs szablya alapjn
hatrozzuk meg a krbeli vltozk j rtkeit. Az a vltoz lp ki a bzisbl, amelyik
eloszr ri el az als vagy a felso korltjt a belpo vltoz rtknek a megfelelo irnyba
trtno mdostsa sorn.
4. lps Az elozo lpsben meghatrozott kr lein a folyamero ssgeket aktualizlva kapjuk az j lbm-et. A 2. lpssel folytatjuk.

ttekinto feladatok
A csoport
1. Egy kamion New Yorkbl Los Angelesbe visz egy
szlltmnyt. A szba jheto tvonalak a 67. brn lthatk,
az lekhez rendelt szmok az adott tszakasz megttelhez
szksges zemanyag literben mrt mennyisgt mutatjk.
(a) Dijkstra algoritmusval keresse meg a legkevesebb
zemanyagot ignylo tvonalat New Yorkbl Los Angelesbe!
(b) Adjon meg egy kiegyenslyozott szlltsi feladatot,
amellyel meghatrozhat a legtakarkosabb New Yorkbl Los Angelesbe vezeto tvonal!
(c) Fogalmazza meg a legtakarkosabb New Yorkbl
Los Angelesbe vezeto tvonal meghatrozsnak feladatt egy MKHFP-knt!
2. A New Yorkbl Los Angelesbe meno telefonhvsok
eloszr vagy Chicagba, vagy Memphisbe mennek, majd
vagy Denveren, vagy Dallason keresztl jutnak el Los Angelesbe. A 39. tblzat mutatja, hogy az egyes vrosok kztt hny telefonvonal fut.
39.

TBLZAT

Vrosok
N.Y.Chicago
N.Y.Memphis
ChicagoDenver
ChicagoDallas
MemphisDenver
MemphisDallas
DenverL.A.
DallasL.A.

Telefonvonalak
szma
500
400
300
250
200
150
400
350

(a) rjon fel egy LP-t, amellyel meghatrozhat, hogy


egy adott idopontban maximlisan hny telefonhvs mehet New Yorkbl Los Angelesbe!
(b) A FordFulkerson mdszerrel hatrozza meg, hogy
egy adott idopontban maximlisan hny telefonhvs mehet New Yorkbl Los Angelesbe!
3. Egy j termk bevezetse elott a 40. tblzatban felsorolt lpseket kell megtenni (az idoigny hetekben adott).
(a) Rajzolja meg a projekt-diagramot!
(b) Hatrozza meg az sszes kritikus utat s tevkenysget!
(c) Szmolja ki az egyes tevkenysgek turs- s mozgshatrt!
(d) rjon fel egy LP-t a kritikus t meghatrozsra!
(e) Fogalmazza meg a kritikus t meghatrozsnak
feladatt egy MKHFP-knt!
(f) Mostantl 12 ht mlva karcsony. Mekkora valsznusggel kerl a termk karcsony elott a boltokba?
(g) Brmelyik tevkenysg hossza legfeljebb 2 httel
cskkentheto. Az egyes tevkenysgek egy httel trtno
lervidtsnek kltsge a kvetkezo: A, 80$; B, 60$; C,
30$; D, 60$; E, 40$; F, 30$; G, 20$. A tevkenysgek
megadott idotartamait biztosnak vve rjon fel egy LP-t,
amellyel minimalizlhat annak a kltsge, hogy a termk karcsony elott a boltokba kerljn!
4. Az eljvendo hrom hnap alatt egy cipoipari vllalatnak a kvetkezo megrendelseket kell hatridore teljestenie: az elso hnapban 1000 pr; a msodik hnapban 1500
pr; a harmadik hnapban 1800 pr. Egy pr cipo elksztse

ttekinto feladatok

401

67. B R A
Az 1. feladat
hlzata

1 ra lomunkt ignyel. A vllalatnak az elso hnapban


1000 ra; a msodik hnapban 1200 ra; a harmadik hnapban 1200 ra alapmunkaido ll a rendelkezsre. Ezen
tl a dolgozk havonta legfeljebb 400 ra tlmunkaidore is
ktelezhetok. A dolgozknak a tnyleges munkaidejk utn
fizet a vllalat, rabrk az alapmunkaidoben 4$, a tlmunkaidoben pedig 6$. A raktrozsi kltsgeket a hvgi kszlet utn szmtjk fel, pronknt 1.50$-t. Fogalmazzon meg
egy MKHFP-t, amellyel minimalizlhat az emltett kltsgek sszege az eljvendo hrom hnapra a hatridok betartsa mellett! Ehhez rajzolja fel a megfelelo hlzatot, adja
meg az lek kapacitst s ci j rtkeit, valamint a cscsok bi
rtkeit! Hogyan vltoztatn meg a vlaszt, ha az ignyeket
megkezdett hnaponknt 20$/pr ktbr terhe mellett hatridon tl is lehetne teljesteni (de a harmadik hnap vgig
tovbbra is minden ignyt ki kell elgteni)?
5. Hatrozzon meg egy minimlis fesztoft a 67. brabeli
hlzatban!
6. Egy vllalat egy bizonyos termket kt zemben is
gyrtja. Kt idoszakra vonatkozan a darabonknti termelsi kltsgeket, illetve a termelsi kapacitsokat a 41. tblzat tartalmazza. A termket azonnal a vllalat egyetlen
vsrljhoz szlltjk a 42. tblzatban feltntetett ($-ban
megadott) darabonknti kltsggel. Az elso idoszakban k-

40.

sztett termkek is felhasznlhatk a msodik idoszakban


fellpo ignyek kielgtsre, de a raktrozs darabonknt
13$-ba kerl. Radsul, az elso idoszak vgn legfeljebb 6
darab termk lehet raktron. Az ignyek a kvetkezok: az
elso idoszakban 9 darab; a msodik idoszakban 11 darab.
Adjon meg egy MKHFP-t, amellyel minimalizlhat az emltett kltsgek sszege az eljvendo kt idoszakra! Rajzolja
fel a hlzatot, hatrozza meg az lek kapacitst s kltsgegytthatjt, valamint a cscsok nett kibocstst!
41.

TBLZAT

Termelsi
kltsg ($)/db

Kapacits

33
43
30
41

7
4
9
9

1-es zem (1. idoszak)


1-es zem (2. idoszak)
2-es zem (1. idoszak)
2-es zem (2. idoszak)
42.

TBLZAT

1. idoszak

2. idoszak

51
42

60
71

1-es zemtol vsrlig


2-es zemtol vsrlig

TBLZAT

Tevkenysg

Lers

A
B
C
D
E
F
G
H

Termk megtervezse
Piackutats
Alapanyagok megrendelse
Alapanyagok bevtelezse
Prototpus elksztse
Reklm megszervezse
Tmegtermels beindtsa
Termk kiszlltsa a boltokba

Elozmnyek

A
C
A, D
B
E
G, F

Idotartam

6
5
3
2
3
2
4
2

2
4
2
1
1
3
2
0

10
6
4
3
5
5
6
4

6
5
3
2
3
4
4
2

402

7. fejezet Hlzati modellek

7. Egy projektben az elvgzendo tevkenysgek adatait a


43. tblzat tartalmazza.
43.

TBLZAT

Tevkenysg

Idotartam

A
B
C
D
E
F

2
3
1
5
7
5

Kzvetlen
elozmnyek

A
A, B
B, C
D, E

(a) Rajzolja fel a projekt-hlzatot! Jelezze az egyes


lek ltal reprezentlt tevkenysget!
(b) Hatrozza meg a kritikus utat! A projekt leghamarabb mikor fejezodhet be?
8.7 Egy egyetem hrom professzora venknt ngy-ngy
kurzust tart. Minden vben marketingbol, szmvitelbol s
termelsszervezsbol ngy-ngy kurzust kell meghirdetni.
Mindkt flvben mindegyik trgybl indtani kell legalbb
egy kurzust. Az egyes professzoroknak az idopontokra, illetve a trgyakra vonatkoz preferencia-pontjait a 44. tblzat mutatja.
Egy professzor egy kurzus tartsval kapcsolatos elgedettsgt a kt preferencia-pont sszege mutatja. Pldul,
az 1. professzor elgedettsgi indexe 3 + 6 = 9, ha az
o szi flvben marketinget tant. Adjon meg egy MKHFP-t,
amellyel meghatrozhat a professzoroknak a kurzusokhoz
val olyan hozzrendelse, amelyik maximalizlja a hrom
professzor elgedettsgi indexnek az sszegt!

B csoport

ket kell hatridore kielgtenie. A termelshez kt gp hasznlhat, mindketto legfeljebb 40 ra hosszat dolgozik havonta. Radsul, az 1-es gp csak az 1-es s 2-es termkeket, a 2-es gp pedig csak a 2-es s 3-as termkeket kpes gyrtani. A 46. tblzat mutatja az egyes termkekre
a gyrtsi idot (ami fggetlen a hasznlt gp tpustl), a
darabonknti gyrtsi kltsget (a gp tpustl fggoen),
s egy hnapra a darabonknti raktrozsi kltsget. Adjon
meg egy MKHFP-t, amellyel minimalizlhat az sszes felmerlo kltsg az adott idoszakban, a hatridok betartsa
mellett!
44.

TBLZAT

Professzor
1. 2. 3.

Oszi
flv
Tavaszi flv

3
4

5
3

4
4

Marketing
Szmvitel
Termelsszervezs

6
5
4

4
6
5

5
4
6

45.

TBLZAT

1. hnap
2. hnap
46.

1-es termk

2-es termk

3-as termk

50 db
60 db

70 db
90 db

80 db
120 db

TBLZAT

Termelsi kltsg ($)


Termelsi
Termk ido (perc) 1-es gp 2-es gp

9.8

Egy vllalatnak a 45. tblzatban megadott, hromfle


termkre s az eljvendo kt hnapra szl megrendelse-

1.
2.
3.

30
20
15

40
45

60
55

Raktrkltsg ($)
15
10
5

Irodalom
Brown, G., A. Geoffrion s G. Bradley. Production and Sales Planning with Limited Shared Tooling at the Key Operation, Management Science 27(1981):247259.
Glover, F., et al. The Passenger-Mix Problem in the Scheduled Airlines, Interfaces
12(1982):7380.
7 Mulvey

8 Brown,

(1979) alapjn.
Geoffrion s Bradley (1981) alapjn.

Irodalom

403

Mulvey, M. Strategies in Modeling: A Personnel Example, Interfaces 9(no. 3, 1979):


6675.
Peterson, I. Proven Path for Limiting Shortest Shortcut, Science News December 22,
1990: 389.
Ravidran, A. On Compact Book Storage in Libraries, Opsearch 8(1971).
A kvetkezo hrom knyv a hlzatok bevezeto szintu ttekintst adja:
Chachra, V., P. Ghare s J. Moore. Applications of Graph Theory Algorithms. New York:
North-Holland, 1979.
Mandl, C. Applied Network Optimization. Orlando, Fla.: Academic Press, 1979.
Phillips, D. s A. Diaz. Fundamentals of Network Analysis. Englewood Cliffs, N.J.: Prentice Hall, 1981.
A legrvidebb t feladatok megoldsi mdszereinek rszletes trgyalsa megtallhat a
kvetkezo hrom muben:
Denardo, E. Dynamic Programming: Theory and Applications. Englewood Cliffs, N.J.:
Prentice Hall, 1982.
Evans, T. s E. Minieka. Optimization Algorithms for Networks and Graphs. New York:
Dekker, 1992.
Hu, T. Combinatorial Algorithms. Reading, Mass.: Addison-Wesley, 1982.
Evans s Minieka (1992), valamint Hu (1982) a maximlis folyam problmt is trgyaljk, csakgy mint az albbi hrom knyv:
Ford, L. s D. Fulkerson. Flows in Networks. Princeton, N.J.: Princeton University Press,
1962.
Jensen, P. s W. Barnes. Network Flow Programming. New York: Wiley, 1980.
Lawler, E. Combinatorial Optimization: Networks and Matroids. Chicago: Holt, Rinehart
& Winston, 1976.
A CPM s PERT kituno trgyalst adja:
Hax, A. s D. Candea. Production and Inventory Management. Englewood Cliffs, N.J.:
Prentice Hall, 1984.
Wiest, J. s F. Levy. A Management Guide to PERT/CPM, 2d ed. Englewood Cliffs, N.J.:
Prentice Hall, 1977.
Jensen s Barnes (1980), valamint a kvetkezo muvek mindegyike rszletesen ismerteti
a hlzati szimplex mdszert:
Chv`atal, V. Linear Programming. San Francisco: Freeman, 1983.
Shapiro, J. Mathematical Programming: Structures and Algorithms. New York: Wiley,
1979.
Wu, N. s R. Coppins. Linear Programming and Extensions. New York: McGraw-Hill,
1981.
Az MKHFP alkalmazsainak kivl trgyalst tartalmazza:
Glover, F., D. Klingman s N. Phillips. Network Models and Their Applications in Practice.
New York: Wiley, 1992.

8
Egszrtku programozs
Emlkeztetjk az olvast, hogy az egszrtku programozst a 3.1. alfejezetben az oszthatsgi feltevs trgyalsakor mr definiltuk. Rviden, egy egszrtku programozsi
feladat (IP) egy olyan LP, amelyben nhny, vagy az sszes vltoz csak egsz rtket
vehet fel.1
Ebben a fejezetben ltni fogjuk (miknt a 3. fejezetben az LP-kre), hogy szmos vals
Ki fog derlni az is, hogy az IP-ket sajnos sokkal
dntsi helyzet IP-knt modellezheto.
nehezebb megoldani mint az LP-ket.
A 8.1. alfejezetben a szksges defincikkal s nhny bevezeto megjegyzssel kezdjk. A 8.2. alfejezetben megmutatjuk, hogy miknt lehet egszrtku programozsi modelleket felrni. A 8.38.8. alfejezetekben trgyaljuk az IP-k megoldsra hasznlt mdszereket.

8.1.

Bevezets az egszrtku programozsba


Egy olyan IP-t, amelyben mindegyik vltoznak egszrtkunek kell lennie, tiszta egszrtku programozsi feladatnak hvunk.
Pldul
max z = 3x1 + 2x2
(1)
f.h.
x 1 + x2 6
x1 , x2 0,

x1 , x2 egsz

egy tiszta egszrtku programozsi feladat.


Egy olyan IP-t, amelyben csak nhny vltozra kveteljk meg az egszrtkusget,
vegyes egszrtku programozsi feladatnak neveznk.
Pldul
max z = 3x1 + 2x2
f.h.
x 1 + x2 6
x1 , x2 0, x1 egsz
egy vegyes egszrtku programozsi feladat (az x2 felvehet nem egsz rtkeket is).
Egy olyan egszrtku programozsi feladatot, amelyben mindegyik vltoz rtke csak
0 vagy 1 lehet, 01 IP-nek hvunk. A 8.2. alfejezetben ltni fogjuk, hogy 01 IP-k megle1 Egy nemlineris egszrtk
u programozsi feladat egy olyan optimalizlsi feladat, amelyben a clfggvny
s/vagy valamelyik felttel bal oldala nemlineris fggvny s nhny, vagy az sszes vltoz csak egsz rtket
vehet fel.

406

8. fejezet Egszrtku programozs

poen sok szituciban fordulnak elo .2 me egy plda egy 01 IP-re:


max z = x1 x2

f.h. x1 + 2x2 2
2x1 x2 1

(2)

x1 , x2 = 0 vagy 1

A kimondottan a 01 IP-k megoldsra szolgl eljrsokat a 8.7. alfejezetben trgyaljuk.


Az LP-lazts fogalma kulcsszerepet jtszik az egszrtku programozsi feladatok
megoldsban.

D EFINCI

Egy egszrtku programozsi feladat LP-laztsa az az LP, amelyet gy kapunk az


IP-bol, hogy a vltozkra tett minden egszrtkusgi vagy 01 megktst eltrlnk.
Pldul az (1) LP-laztsa:
max z = 3x1 + 2x2
f.h.
a (2) LP-laztsa pedig:

x 1 + x2 6
x1 , x2 0

(10 )

max z = x1 x2
f.h.

x1 + 2x2 2
2x1 x2 1

(20 )

x1 , x2 0

Egy IP nem ms, mint az LP-laztsa s mg nhny olyan megkts, amelyek megmondjk, hogy mely vltozknak kell egsz-, ill. 01 rtkueknek lennik. Az LP-lazts teht
egy kevsb korltozott (puhtott) vltozata az IP-nek. Ebbo l kvetkezik, hogy brmelyik
IP lehetsges megoldshalmaza rsze az LP-laztsa lehetsges megoldstartomnynak.
Ha az IP egy maximum feladat, akkor
az LP-lazts optimlis z rtke az IP optimlis z rtke.

(3)

Ez az eredmny fontos szerepet jtszik az IP-k megoldsban.


A kvetkezo egyszeru IP rvilgt az egszrtku programozsi feladatok nhny tulajdonsgra:
max z = 21x1 + 11x2
(4)
f.h.
7x1 + 4x2 13
x1 , x2 0;

x1 , x2 egsz

Az 1. brbl ltjuk, hogy a lehetsges megoldsok halmaza: S = {(0, 0), (0, 1), (0, 2),
(0, 3), (1, 0), (1, 1)}. Az LP-k lehetsges tartomnytl eltro en a (4) lehetsges megoldshalmaza nem konvex halmaz. Egyszeruen kiszmolva s sszehasonltva a hat lehetsges
pont z rtkt azt kapjuk, hogy a (4) optimlis megoldsa z = 33, x 1 = 0, x2 = 3.
Ha egy tiszta IP LP-laztsnak lehetsges tartomnya korltos, mint a (4)-ben is, az IP
lehetsges megoldshalmaza vges sok pontbl ll. Egy ilyen IP elmletileg megoldhat
gy, mint azt az elobb is tettk: kiszmoljuk az sszes lehetsges megolds z rtkt s
2 Valjban

brmelyik tiszta IP tfogalmazhat egy ekvivalens 01 IP-v (8.7. alfejezet).

8.1. Bevezets az egszrtku programozsba

1. B R A
A (4) IP lehetsges
megoldsai

407

x2

3.5
3.0

= egy lehetsges megolds

2.5
2.0

7x1+4x2=13

1.5
1.0
0.5

x1
0.5

1.0

1.5

2.0

2.5

3.0

kivlasztjuk a legnagyobb z rtket ad lehetsges pontot. Ezzel a megkzeltssel az a baj,


hogy a valsgos IP-knek legtbbszr millird s millird lehetsges megoldsuk van. Ilyen
esetekben az sszes lehetsges pont teljes leszmllsa tl sok szmtgpid o t ignyelne.
Mgis a 8.3. alfejezetben majd ltni fogjuk, hogy IP-ket gyakran oldanak meg az sszes
lehetsges pont okosan szervezett leszmllsval.
A (4) tovbbi vizsglata rvilgt az IP-k nhny tovbbi rdekes tulajdonsgra. Tegyk fel, hogy naivan a kvetkezo t tesszk: eloszr megoldjuk az LP-laztst, majd minden
olyan egsz vltozt, amelyik trtrtket vett fel az LP-lazts optimlis megoldsban, a
legkzelebbi egszre kerektjk.
A (4) esetben az LP-lazts optimlis megoldsa: x1 = 13
7 , x2 = 0. Ezt kerektve az
x1 = 2, x2 = 0 pontot kapjuk, mint egy jelltet a (4) optimlis megoldsra. Csakhogy az
x1 = 2, x2 = 0 nem lehetsges megoldsa a (4)-nek, gy optimlis megoldsa sem lehet.
Mg ha gy kerektjk is a vltozkat (esetnkben x1 -et lefel), hogy lehetsges megoldst kapjunk (most x1 = 1, x2 = 0), akkor sem biztos, hogy optimlis megoldst kapunk
(pldnkban az x1 = 0, x2 = 3 az optimlis megolds).
Bizonyos IP-k esetn mg az is elofordulhat, hogy az LP-lazts optimlis megoldsnak koordintit brhogyan kerektjk is, nem kapunk lehetsges megoldst. Pldaknt
tekintsk a kvetkezo IP-t:
max z = 4x1 + x2
f.h. 2x1 + x2 5

2x1 + 3x2 = 5
x1 , x2 0; x1 , x2 egsz

Az LP-lazts optimlis megoldsa: z = 10, x1 = 25 , x2 = 0. Kerektve vagy az x1 = 2,


x2 = 0, vagy az x1 = 3, x2 = 0 pontot kapjuk. Egyik sem lehetsges megoldsa az IP-nek.
Idzzk fel a 4. fejezetbol, hogy az LP-k megoldsa sorn a szimplex algoritmus egy
lehetsges bzismegoldsrl egy jobb lehetsges bzismegoldsra lp, tovbb, hogy a legtbb esetben az sszes lehetsges bzismegoldsnak csak egy tredkt rintve jut el az
optimlis megoldsig. Emiatt viszonylag nagy LP-ket is meglepo en rvid ido alatt meg
tudunk oldani. Hasonlkppen remlhetnnk, hogy az IP-k megoldsra is van egy olyan

408

8. fejezet Egszrtku programozs

algoritmus, amelyik a lehetsges egszrtku megoldsok egyre javul sorozatn keresztl


jut el az optimlis megoldshoz. Sajnos ilyen algoritmus nem ismert.
sszegezve, jllehet egy IP lehetsges megoldshalmaza rsze az LP-laztsa lehetsges
tartomnynak, az IP-t ltalban sokkal nehezebb megoldani, mint az LP-laztst.

8.2.

Egszrtku programozsi feladatok felrsa


Ebben az alfejezetben megmutatjuk, hogyan lehet egszrtku programozsi feladatknt
megfogalmazni szmos gyakorlati problmt. Nhny egyszeru pldval kezdjk, majd fokozatosan haladunk az sszetettebb modellek fel. Elso pldnk egy, a 3.6. alfejezetbeli
Star Oilra emlkezteto tokefelosztsi problma.

1.

PLDA

A Stockco ngy befektetsi leheto sget vizsgl. Az 1-es befektets hozamnak nett jelenrtke (net present value, NPV) 16 000$; a 2-es befektets 22 000$; a 3-as 12 000$; a
4-es pedig 8000$. Az egyes befektetsek jelenbeni kszpnzignye a kvetkez o : az 1-es
5000$; a 2-es 7000$; a 3-as 4000$; a 4-es pedig 3000$. Fogalmazzunk meg egy IP-t,
amellyel a Stockco maximalizlni tudja az 14 befektetsek sszhozamnak NPV-jt, ha
jelen pillanatban 14 000$ kszpnz vr befektetsre!

Megolds

Miknt az LP modellek felrsnl, most is azzal kezdjk, hogy egy vltozt definilunk a
Stockco mindegyik dntsi leheto sgre. Bevezetjk teht a kvetkezo 01 vltozkat:

1 ha befektetnek a j lehetosgbe
x j ( j = 1, 2, 3, 4) =
0 klnben
Pldul, x2 = 1, ha befektetnek a 2-es leheto sgbe, s x2 = 0, ha nem.
A Stockco ltal elrt NPV (ezer dollrban)
a Stockco ltal realizlt NPV = 16x1 + 22x2 + 12x3 + 8x4.

(5)

Valban, ha x j = 1 akkor (5) tartalmazza a j-edik befektets NPV-jt; de ha x j = 0, akkor nem. Vagyis a befektetsek brmilyen kombincijra az (5) az sszhozam NPV-jt
adja. Pldul, ha a Stockco az 1-es s a 4-es leheto sgbe invesztl, az sszhozam NVP-je
16 000 + 8000 = 24 000 (dollr). Ezt a befektetskombincit az x 1 = x4 = 1, x2 = x3 = 0
reprezentlja, s ekkor az (5) pontosan 16(1) + 22(0) + 12(0) + 8(1) = 24 (ezer dollr)
NVP-t jelez. A Stockco clfggvnye teht
max z = 16x1 + 22x2 + 12x3 + 8x4 .

(6)

Figyelembe kell persze venni, hogy a Stockco legfeljebb 14 000$-t fektethet be. Az (5)-t
eredmnyezo gondolatmenethez hasonlan addik, hogy
a teljes befektetett sszeg (ezer dollrban) = 5x1 + 7x2 + 4x3 + 3x4 .

(7)

Pldul, ha a Stockco a 2-es, 3-as s 4-es leheto sgekbe fektet be, ez sszesen 7 + 4 + 3 =
14 (ezer $) kszpnzt ignyel. A vltozk rtke ekkor x1 = 0, x2 = x3 = x4 = 1, s a (7)
pont a szksges 5(0)+7(1)+4(1)+3(1) = 14 (ezer $) sszeget mutatja. Mivel legfeljebb
14 000$ ll rendelkezsre, az x1 , x2 , x3 s x4 vltozkra fenn kell lljon, hogy
5x1 + 7x2 + 4x3 + 3x4 14.

(8)

8.2. Egszrtku programozsi feladatok felrsa

409

A (6), a (8) s az x j = 0 vagy 1 ( j = 1, 2, 3, 4) felttelek adjk a keresett 01 IP-t:


max z = 16x1 + 22x2 + 12x3 + 8x4
f.h.
5x1 + 7x2 + 4x3 + 3x4 14

(9)

x j = 0 vagy 1 ( j = 1, 2, 3, 4)

M EGJEGYZSEK

1. A 8.5. alfejezetben majd megmutatjuk, hogy a (9) optimlis megoldsa: x1 = 0, x2 = x3 = x4 = 1,


amire z = 42 000$. Vagyis a Stockcnak a 2-es, 3-as s 4-es befektetst kell vlasztania, az 1-est
nem. Mivel az egy dollrra jut NVP az 1-es befektetsnl a legmagasabb (az 1-esnl 3.20$, a 2esnl 3.14$, a 3-asnl 3$, a 4-esnl pedig 2.67$), megleponek tunik, hogy az 1-es befektets nem
rsze a (9) optimlis megoldsnak. Ennek oka, hogy az 1-es lehetosget tartalmaz brmelyik kombinci legfeljebb 12 000$-t fektet be, s gy 2000$ parlagon marad. Ezzel szemben az optimlis
befektets-kombinci felhasznlja mind a 14 000$-t, ezrt lesz az NVP-je magasabb, mint az 1-es
lehetosget tartalmaz brmelyik kombinci. Amennyiben, mint a 3. fejezetben, tredk befektetsek is megengedettek lennnek, a (9) laztsnak optimlis megoldsa x1 = x2 = 1, x3 = 0.50, x4 = 0
lenne, amire z = 44 000$. Ekkor teht a legjobb 1-es lehetosgbe is befektetnnek. Ez az egyszeru
plda is mutatja, hogy alapvetoen ms lehet egy tokefelosztsi problmra javasolt megolds, ha egy
lineris programozsi vagy egy egszrtku programozsi modellt alkalmazunk.
2. Egy olyan IP-t, mint a (9) is, amelyben csak egy felttel van, htizsk feladatnak hvunk. Tegyk
fel, hogy Josie Camper egy ktnapos trra kszl. Ngy trgy van, amire szksge lehet. Ezen
trgyak slya, illetve haszna (Josie szerint) az 1. tblzatban tallhat.

1. T B L Z A T
A trgyak slya,
illetve haszna

1-es trgy
2-es trgy
3-es trgy
4-es trgy

Sly
(font)

Haszon

5
7
4
3

16
22
12
8

Tegyk fel, hogy Josie a htizskjban legfeljebb 14 fontot br el. Definiljuk j = 1, 2, 3, 4-re

1 ha Josie magval viszi a j-edik trgyat
xj =
0 klnben
Ekkor a (9) megoldsval Josie maximalizlhatja a htizskba pakolt trgyak sszhasznt.

A kvetkezo pldban megmutatjuk, a Stockco hogyan mdostsa a modelljt, ha tovbbi megszortsokat is figyelembe kell vennie.

2.

PLDA

Mdostsuk a Stockco modellt a kvetkezo kvetelmnyeknek megfelelo en:


1.

A Stockco legfeljebb kt befektetsbe szllhat be.

2.

Ha a Stockco a 2-es lehetosgbe befektet, akkor az 1-esbe is be kell fektetnie.

3.

Ha a Stockco a 2-es lehetosgbe befektet, a 4-est mr nem szabad vlasztania.

410

8. fejezet Egszrtku programozs

Megolds

1.

Bovtsk a (9)-et az
x1 + x 2 + x 3 + x 4 2

(10)

felttellel. Mivel hrom- vagy ngyfle befektets esetn x1 +x2 +x3 +x4 3, a (10) kizrja
az ilyen kombincikat a lehetsges megoldsok kzl. Ugyanakkor a (10)-et teljesti az
sszes, legfeljebb kt befektetst tartalmaz kombinci.
2. Az x1 s x2 vltozkkal megfogalmazva, ezen megszorts szerint, ha x 2 = 1, akkor
x1 -nek szintn 1-nek kell lennie. Bo vtsk a (9)-et az
x2 x 1

vagy x2 x1 0

(11)

felttellel. Nzzk meg, hogy helyesen reprezentlja-e a (11) a 2. kvetelmnyt? Kt eset


lehetsges, x2 = 1 vagy x2 = 0.
1. eset Ha x2 = 1, a (11) miatt x1 1. Mivel az x1 csak 0 vagy 1 rtku lehet, azt
kapjuk, hogy x1 = 1, ahogy megkveteljk.
2. eset Ha x2 = 0, a (11) az x1 0-ra redukldik, ami megengedi, hogy akr x1 = 0,
akr x1 = 1 legyen. Vagyis az x2 = 0 esetn a (11) nem jelent megktst az x1 rtkre,
s ez megfelel a 2. kvetelmnynek.
Teht az x2 brmely rtkre a (11) ekvivalens a 2. kvetelmnnyel.
3.

Bovtsk a (9)-et az
x2 + x 4 1

(12)

felttellel. Megmutatjuk, hogy akr x2 = 1, akr x2 = 0, a (12) huen tkrzi a 3. megszortst.


1. eset Az x2 = 1 azt jelzi, hogy a 2-es befektetsbe beszllunk, ekkor viszont a 4esbol ki kell maradjunk, vagyis x4 = 0 kell legyen. Vegyk szre, hogy x2 = 1 esetn
a (12) az 1 + x4 1-et jelenti, vagyis x4 0. Azaz, ha x2 = 1, a (12) konzisztens a 3.
kvetelmnnyel.
2. eset Az x2 = 0 esetben a 3. kvetelmny nem korltozza az x4 rtkt. Vegyk szre,
hogy ha x2 = 0, a (12) jelentse x4 1, azaz az x4 szabadon lehet akr 0, akr 1.

A fixkltsg problma
A kvetkezo plda bemutat egy olyan fontos trkkt, amely jl hasznlhat szmos teleptsi, illetve termelsi problma IP-knt trtno megfogalmazsban.

3.

PLDA

A Clothco hromfle ruhadarabot kpes gyrtani: ingeket, shortokat s nadrgokat. Mindegyik ruhafle gyrtshoz specilis gpek kellenek, ezeket a Clothco brli. A heti brleti
djak a kvetkezok: 200$ az ingekhez hasznlt gpek, 150$ a shortokhoz hasznlt gpek,
s 100$ a nadrgokhoz hasznlt gpek. Az egyes ruhadarabok gyrtshoz szksges szvetmennyisget, illetve lomunkt mutatja a 2. tblzat.
Hetente 150 ra lomunka s 160 ngyzetmter szvet ll rendelkezsre. A darabonknti vltoz kltsget, illetve eladsi rat a 3. tblzat tartalmazza. Adjunk meg egy IP-t,
amelynek a megoldsa maximalizlja a Clothco heti profitjt!

8.2. Egszrtku programozsi feladatok felrsa

2.

TBLZAT

A ruhadarabok
eroforrs-szksglete

Megolds

Munka Szvet
(ra) (m2 )
Ing
Short
Nadrg

3
2
6

4
3
4

3.

TBLZAT

rbevtel, ill.
vltoz
kltsg-adatok

Eladsi
r ($)
Ing
Short
Nadrg

411

Vltoz
kltsg ($)

12
8
15

6
4
8

Miknt az LP-k felrsakor, egy dntsi vltozval reprezentljuk a Clothco mindegyik


meghozand dntst. A Clothco nyilvn azt akarja meghatrozni, hogy az egyes ruhaflkbol hny darabot ksztsenek hetente. Legyen teht
x1 = a hetente gyrtand ingek szma
x2 = a hetente gyrtand shortok szma
x3 = a hetente gyrtand nadrgok szma.
Mivel a gpbrlet dja csak a gyrtott ruhadarabok tpustl fgg, a darabszmtl nem, a
brleti djat kifejezhetjk a kvetkezo jelzovltozk segtsgvel:

1 ha kszlnek ingek
y1 =
0 klnben

1 ha kszlnek shortok
y2 =
0 klnben

1 ha kszlnek nadrgok
y3 =
0 klnben
Rviden, ha x j > 0, akkor y j = 1; s ha x j = 0, akkor y j = 0. A Clothco heti profitja = (heti
rbevtel) (heti vltoz kltsgek) (heti gpbrleti dj).
Nyilvn
a gpbrleti dj hetente = 200y1 + 150y2 + 100y3.
(13)
Vegyk szre, hogy a (13) csak a tnylegesen gyrtott ruhaflkhez szksges gpek djt
tartalmazza. Pldul, ha csak ingek s nadrgok kszlnek, akkor a modellben y 1 = y3 = 1
s y2 = 0 kell legyen. Ez esetben a heti brleti dj 200 + 100 = 300$.
Mivel a brleti dj nem fgg attl, hogy az adott tpus ruhaflb o l hny darab kszl,
az ilyen tpus kltsget fixkltsgnek hvjuk. Egy tevkenysg fixkltsge az a rgztett
sszegu kltsg, ami felmerl, valahnyszor a tevkenysg egy nemnulla szinten beindul.
A fixkltsgek jelenlte miatt a Clothco modellje jval bonyolultabb lesz.
A Clothco heti profitja teht
heti profit = (12x1 + 8x2 + 15x3) (6x1 + 4x2 + 8x3) (200y1 + 150y2 + 100y3)
= 6x1 + 4x2 + 7x3 200y1 150y2 100y3.

Azaz a Clothco maximalizlni akarja a


z = 6x1 + 4x2 + 7x3 200y1 150y2 100y3
clfggvnyt, a rendelkezsre ll ero forrsokat megjelento felttelek mellett:
1. felttel Legfeljebb 150 ra munka veheto ignybe hetente.
2. felttel Legfeljebb 160 ngyzetmter szvet hasznlhat fel hetente.

412

8. fejezet Egszrtku programozs

Az 1. felttel reprezentnsa:
3x1 + 2x2 + 6x3 150

(munka felttel)

(14)

(szvet felttel)

(15)

A 2. felttel reprezentnsa:
4x1 + 3x2 + 4x3 160

Ugyancsak fenn kell llnia az x j 0 s x j egsz ( j = 1, 2, 3), valamint az y j = 0 vagy 1


( j = 1, 2, 3) megktseknek. A (14) s (15) felttelekkel illetve a clfggvnnyel egybevve
kapjuk a kvetkezo IP-t:
max z = 6x1 + 4x2 + 7x3 200y1 150y2 100y3
f.h. 3x1 + 2x2 + 6x3 150
4x1 + 3x2 + 4x3 160
x1 , x2 , x3 0; x1 , x2 , x3 egsz

(IP 1)

y1 , y2 , y3 = 0 vagy 1

A feladat optimlis megoldsa: x1 = 30, x3 = 10, x2 = y1 = y2 = y3 = 0. Ez nem lehet a vlasz a Clothco problmjra, hiszen a vltozk rtkei azt jelentik, hogy ingek s nadrgok
kszlhetnek anlkl, hogy a gyrtsukhoz szksges gpek brleti djt levontuk volna.
A modell azrt nem helynval, mert az y1 , y2 s y3 vltozk nem szerepelnek a felttelekben, s gy semmi sem akadlyozza meg, hogy y1 = y2 = y3 = 0 legyen. Mivel az yi = 0
nyilvn kedvezobb clfggvnyrtket ad, mint az yi = 1, az (IP 1) optimlis megoldsban
mindig yi = 0 lesz. Mdostanunk kell az (IP 1)-et gy, hogy xi > 0 esetn mindig yi = 1
legyen. A kvetkezo fogs mindig clravezeto. Legyen M1 , M2 s M3 hrom kelloen nagy
szm, s bovtsk az (IP 1)-et az albbi felttelekkel:
x1 M1 y1

x2 M2 y2
x3 M3 y3

(16)
(17)
(18)

A (16)(18) felttelek garantlni fogjk, hogy ha xi > 0, akkor yi = 1. A (16) pldul biztostja, hogy x1 > 0 esetn y1 = 1 legyen, hiszen ha y1 = 0 lenne, a (16) miatt x1 0, azaz
x1 = 0 kellene hogy legyen. Teht valahnyszor x1 > 0, a (16) biztostja, hogy y1 = 1 lesz.
Vagyis, ha ingek is kszlnek (x1 > 0), a (16) miatt y1 = 1, a clfggvnyben teht megjelenik az ingek gyrtshoz szksges gpek brleti dja. Ugyanakkor, ha y 1 = 1, a (16) az
x1 M1 felttell vlik, amely flslegesen nem korltozza az x1 rtkt, amennyiben az
M1 elg nagy. Fontos, hogy az M1 kelloen nagy legyen, mert ha csak M1 = 10 lenne, a (16)
szksgtelenl korltozn az x1 rtkt. ltalban igaz, hogy az Mi -t legalbb akkornak
kell vlasztani, mint amekkora rtket az xi maximlisan elrhet. Pldnkban legfeljebb 40
ing kszlhet, hiszen ennl tbb inghez nincs elegendo szvet. Nyugodtan vlaszthatjuk
teht az M1 = 40 rtket. Igazolja az olvas, hogy az M2 = 53, illetve M3 = 25 vlasztsok
szintn alkalmasak.
Az x1 = 0 esetn a (16) a 0 M1 y1 felttell vlik. Ez megengedi, hogy akr y1 = 0, akr
y1 = 1 legyen. Mivel az y1 = 0 kevsb kltsges, mint az y1 = 1, az optimlis megoldsban
biztosan y1 = 0 lesz, valahnyszor x1 = 0. sszefoglalva: megmutattuk, hogy ha a (16)
(18) felttelekkel bovtjk az (IP 1)-et, xi > 0 esetn yi = 1, mg xi = 0 esetn yi = 0 lesz
az optimlis megoldsban.
A Clothco problmjnak optimlis megoldsa z = 75, x3 = 25, y3 = 1. Vagyis a Clothcnak 25 nadrgot kell gyrtania hetente.

8.2. Egszrtku programozsi feladatok felrsa

413

A Clothco feladat a fixkltsg problma egy pldja. Egy fixkltsg feladatban szerepel
egy olyan kltsg, ami akkor merl fel, ha egy tevkenysg egy nemnulla szinten beindul,
de a nagysga nem fgg a tevkenysg szintjto l. A Clothco pldban, ha egyltaln gyrtunk inget (mindegy mennyit), 200$ fixkltsggel (a gpbrleti djjal) kell szmolnunk.
Azok a helyzetek is gyakran fixkltsg feladatra vezetnek, amelyekben objektumok elhelyezsrol (teleptsrol) kell dnteni. Ilyenek lehetnek pldul zemek, ruhzak, irodk,
berendezsek teleptsnek problmi, amelyekben a fixkltsg gyakorta az pts, telepts egyszeri kltsge. A kvetkezo plda egy fixkltsg feladatra vezeto tipikus teleptsi
problma.

4.

4.

PLDA

A lockbox problma A Nickles-lnchoz az orszg ngy rgijbl rkeznek hitelkrtys


fizetsek. A vsrlk naponta tlagosan a kvetkezo sszegu fizetsi szmlt postzzk: a
nyugati rgibl 70 000$; az szaki rgibl 50 000$; a keletib o l 60 000$; a dlibol pedig 40 000$. A Nickles meg akarja hatrozni, hogy hova kldjk a vsrlk a szmlikat.
Mivel bevtelei befektetsvel a Nickles vi 20% kamatot tud elrni, rdeke, hogy minl
hamarabb megkapja az elismervnyeket. Ezrt azt mrlegeli, hogy hozzon-e ltre regionlis
bevltfikokat (lockbox). A ngy lehetsges helyszn: Los Angeles, Chicago, New York
s Atlanta. A fizetsi elismervnyek postzstl a bevltsukig eltelt napok tlagos szmt a 4. tblzat mutatja. Pldul, ha egy szmlt a nyugati rgibl Atlantba postznak,
tlagosan 8 napba kerl, amg a pnz mr a Nicklesnek kamatozik. Mindegyik lockbox
ves mukdtetsi kltsge 50 000$. rjon fel egy IP-t amellyel a Nickles minimalizlhatja
a lockboxok mukdsi kltsgeinek s az elmaradt kamatoknak az sszegt! Tegyk fel,
hogy egy egsz rgibl ugyanabba a vrosba mennek a szmlk, valamint, hogy egy lockbox brmennyi szmlt kpes kezelni.

TBLZAT

A szmlk
tfutshoz
szksges napok
tlagos szma

Megolds

Honnan

1-es vros
(Los Angeles)

1-es rgi Nyugat


2-es rgi szak
3-as rgi Kelet
4-es rgi Dl

2
6
8
8

Hova
2-es vros 3-as vros
(Chicago) (New York)
6
2
5
5

8
5
2
5

4-es vros
(Atlanta)
8
5
5
2

A Nicklesnek ktfle dntst kell hoznia. Elo szr is, hogy hov teleptsen lockboxot. Legyen j = 1, 2, 3, 4-re,

1 ha egy lockbox mukdik a j-edik vrosban
yj =
0 klnben

Azaz y2 = 1, ha Chicagban mukdik lockbox, s y3 = 0, ha New Yorkban nincs lockbox.


Msodszor azt kell eldnteni, hogy az egyes rgikbl hov menjenek a szmlk. Legyen
i, j = 1, 2, 3, 4-re,

1 ha az i-edik rgibl a j-edik vrosba mennek a szmlk
xi j =
0 klnben
Pldul x12 = 1, ha a nyugati rgi Chicagba postz, s x23 = 0, ha az szaki rgibl nem
New Yorkba kldik az elismervnyeket.

414
5.

8. fejezet Egszrtku programozs


TBLZAT

Az ves kieso
kamat szmtsa

Hozzrendels
Nyugat L. A.
Nyugat Chicago
Nyugat N. Y.
Nyugat Atlanta
szak L. A.
szak Chicago
szak N. Y.
szak Atlanta
Kelet L. A.
Kelet Chicago
Kelet N. Y.
Kelet Atlanta
Dl L. A.
Dl Chicago
Dl N. Y.
Dl Atlanta

Elmaradt kamat
ves szinten ($)
0.20(70 000)2 = 28 000
0.20(70 000)6 = 84 000
0.20(70 000)8 = 112 000
0.20(70 000)8 = 112 000
0.20(50 000)6 = 60 000
0.20(50 000)2 = 20 000
0.20(50 000)5 = 50 000
0.20(50 000)5 = 50 000
0.20(60 000)8 = 96 000
0.20(60 000)5 = 60 000
0.20(60 000)2 = 24 000
0.20(60 000)5 = 60 000
0.20(40 000)8 = 64 000
0.20(40 000)5 = 40 000
0.20(40 000)5 = 40 000
0.20(40 000)2 = 16 000

A Nickles minimalizlni akarja a (teljes ves kltsg) = (a lockboxok ves mukdsi


kltsgei) + (elmaradt ves kamat) clfggvnyt. Az elmaradt ves kamat meghatrozshoz ki kell szmtanunk, hogy mennyi az tfutsi ido alatti kamat, ha a szmlk az i-edik
rgibl a j-edik vrosba mennek. Pldul mennyi kamatot veszt el a Nickles, ha a nyugati rgibl New Yorkba postzzk a szmlkat? Minden egyes napon 8 napnak megfelel o
8(70 000) = 560 000$ rtku szmla van ton ebbo l a rgibl, az ves 20%-os kamatlbbal szmolva teht a Nickles 0.20(560 000) = 112 000$ kamatvesztesget szenved el ves
szinten ebben az esetben. Az sszes lehetsges rgivros hozzrendelsre a hasonlan
szmtott elmaradt kamatokat tartalmazza az 5. tblzat. Mivel az i-edik rgibl a j-edik
vrosba postzs ily mdon szmtott kltsge csak akkor merl fel, ha x i j = 1, a kieso
kamat ves szinten (ezer dollrban):
ves elmaradt kamat = 28x11 + 84x12 + 112x13 + 112x14
+ 60x21 + 20x22 + 50x23 + 50x24
+ 96x31 + 60x32 + 24x33 + 60x34
+ 64x41 + 40x42 + 40x43 + 16x44
A lockbox mukdtetse az i-edik vrosban akkor s csak akkor merl fel, ha y i = 1, gy
a lockboxok ves mukdsi sszkltsge (ezer dollrban):
a lockboxok ves mukdsi sszkltsge = 50y1 + 50y2 + 50y3 + 50y4
A Nickles clfggvnye teht
min z = 28x11 + 84x12 + 112x13 + 112x14
+ 60x21 + 20x22 + 50x23 + 50x24
+ 96x31 + 60x32 + 24x33 + 60x34
+ 64x41 + 40x42 + 40x43 + 16x44
+ 50y1 + 50y2 + 50y3 + 50y4

(19)

415

8.2. Egszrtku programozsi feladatok felrsa

A Nickles kttpus megktssel szembesl:


1. tpus felttel. Mindegyik rgibl a szmlkat egyetlen vrosba kell kldeni.
2. tpus felttel. Egy rgibl csak olyan vrosba postzhatnak, ahol mukdik lockbox.
Az 1-es tpus elors fordtsa, hogy az i = 1, 2, 3, 4 rtkek mindegyikre az i-edik rgihoz tartoz xi1 , xi2 , xi3 s xi4 vltozk kzl pontosan egynek kell 1-nek lennie, a tbbinek
0-nak. Ez a kvetkezo ngy felttellel megoldhat:
x11 + x12 + x13 + x14 = 1
x21 + x22 + x23 + x24 = 1

(nyugat felttel)
(szak felttel)

(20)
(21)

x31 + x32 + x33 + x34 = 1


x41 + x42 + x43 + x44 = 1

(kelet felttel)
(dl felttel)

(22)
(23)

A 2-es tpus megkts szerint, ha


xi j = 1

(azaz az i-edik rgi a j-edik vrosba postz)

(24)

akkor y j -nek 1-nek kell lennie. Legyen pldul x12 = 1. Ekkor a 2-es vrosban lockboxnak
kell mukdnie, vagyis y2 = 1 kell legyen. Ez a kvetkezo 16 felttellel biztosthat:
xi j y j

(i = 1, 2, 3, 4; j = 1, 2, 3, 4)

(25)

Ha xi j = 1, a (25) miatt biztosan y j = 1, ahogy akartuk. Ugyanakkor, ha x1 j = x2 j = x3 j =


x4 j = 0, a (25) megengedi, hogy akr y j = 0, akr y j = 1 legyen. A fixkltsg pldhoz
hasonlan a minimalizls eredmnye az y j = 0 lesz. sszegezve, a (25) biztostja, hogy a
Nickles csak akkor fizet egy lockboxrt, ha azt hasznlja is.
A (19)(23) s (25) felttelek, valamint a vltozk 01 rtkusge egytt adja a kvetkezo modellt:
min z = 28x11 + 84x12 + 112x13 + 112x14 + 60x21 + 20x22 + 50x23 + 50x24
+96x31 + 60x32 + 24x33 + 60x34 + 64x41 + 40x42 + 40x43 + 16x44
+50y1 + 50y2 + 50y3 + 50y4
f.h.

x11 + x12 + x13 + x14 = 1


x21 + x22 + x23 + x24 = 1

(nyugat felttel)
(szak felttel)

x31 + x32 + x33 + x34 = 1


x41 + x42 + x43 + x44 = 1

(kelet felttel)
(dl felttel)

x11 y1 , x21 y1 , x31 y1 , x41 y1 , x12 y2 , x22 y2 , x32 y2 , x42 y2 ,


x13 y3 , x23 y3 , x33 y3 , x43 y3 , x14 y4 , x24 y4 , x34 y4 , x44 y4
mindegyik xi j s y j = 0 vagy 1

Az optimlis megolds: z = 242, y1 = 1, y3 = 1, x11 = 1, x23 = 1, x33 = 1, x43 = 1.


Vagyis a Nicklesnek Los Angelesben s New Yorkban kell lockboxot mukdtetnie. A nyugati rgibl Los Angelesbe, a tbbi rgibl pedig New Yorkba kell kldeni a szmlkat.
A 2-es tpus megktsek egy msik mdon is modellezheto k. A 16 darab xi j y j alak
felttel helyett hasznlhatjuk a kvetkezo ngyet:
x11 + x21 + x31 + x41 4y1

(Los Angeles felttel)

x14 + x24 + x34 + x44 4y4

(Atlanta felttel)

x12 + x22 + x32 + x42 4y2


x13 + x23 + x33 + x43 4y3

(Chicago felttel)
(New York felttel)

416

8. fejezet Egszrtku programozs

Ezek a felttelek garantljk, hogy ha egy lockboxot hasznlnak, a Nickles fog rte fizetni.
Vegyk pldul az x14 + x24 + x34 + x44 4y4 felttelt. Atlantban a lockboxot akkor hasznljk, ha az x14 = 1, x24 = 1, x34 = 1 vagy x44 = 1 kzl legalbb egy fennll. Ekkor
viszont az Atlanta felttel biztostja, hogy y4 = 1 legyen, vagyis a Nickles fizet a lockboxrt. Ha viszont mind a ngy vltoz 0, a minimalizls a kedvez o bb y4 = 0 rtket lltja
be, az atlantai lockbox kltsge nem merl fel. De mirt van egy 4-es ezen felttelek jobb
oldaln? Ez biztostja, hogy akr mind a ngy rgibl abba a vrosba postzzanak. A 8.3.
alfejezetben majd ltjuk, hogy a kt modell kzl melyiknek egyszerubb a szmtgpes
megoldsa. A vlasz lehet, hogy meglepo lesz.

A halmazlefedsi problma
Az albbi egy tipikus plda az IP-k egy fontos tpusra, amelyet halmazlefedsi problmaknt ismernk.

5.

PLDA

6. T B L Z A T
A vrosok kztti
elrsi ido (perc)

Egy megye vezetse el akarja dnteni, hogy a megye hat vrosa kzl melyekben legyen
tuzoltlloms. A leheto legkevesebb llomst akarjk pteni azon elo rs mellett, hogy
mindegyik vros elrheto legyen valamelyik tuzoltllomsrl 15 percen bell. A 6. tblzat tartalmazza a vrosok kztti elrsi ido ket. Adjunk meg egy IP-t, amellyel meghatrozhat, hogy hny tuzoltllomsra van szksg, s azokat hov teleptsk!

Honnan
1-es vros
2-es vros
3-as vros
4-es vros
5-s vros
6-os vros

Megolds

1-es
vros

2-es
vros

0
10
20
30
30
20

10
0
25
35
20
10

Hov
3-as
4-es
vros vros
20
25
0
15
30
20

30
35
15
0
15
25

5-s
vros

6-os
vros

30
20
30
15
0
14

20
10
20
25
14
0

A megynek dntenie kell minden egyes vros esetben, hogy legyen-e ott tuzoltlloms.
Definiljuk az x1 , x2 , x3 , x4 , x5 s x6 01 vltozkat:

1 ha az i-edik vrosban tuzoltlloms pl
xi =
0 klnben
Az ptendo tuzoltllomsok szma ekkor x1 + x2 + x3 + x4 + x5 + x6 , a megye szndka
teht minimalizlni a
z = x1 + x2 + x3 + x4 + x5 + x6
clfggvnyt. De mik a felttelek? Biztostani kell, hogy mindegyik vros 15 perces krzetben legyen tuzoltsg. A 7. tblzat megadja, hogy mely vrosokbl rhet o el egy vros
15 percen bell. Az 1-es vroshoz 15 percen bell lesz legalbb egy tuzoltlloms, ha
x1 + x 2 1

(1-es vros felttel).

8.2. Egszrtku programozsi feladatok felrsa

7. T B L Z A T
Egy adott vrosbl
a 15 percen bell
elrheto vrosok

1-es vros
2-es vros
3-as vros
4-es vros
5-s vros
6-os vros

417

1, 2
1, 2, 6
3, 4
3, 4, 5
4, 5, 6
2, 5, 6

Ez a felttel kizrja, hogy x1 = x2 = 0 legyen, teht legalbb egy tuzoltlloms biztosan


pl az 1-es vros 15 perces krzetben. Hasonlan, az
x1 + x 2 + x 6 1

(2-es vros felttel)

garantlja, hogy lesz legalbb egy tuzoltlloms a 2-es vros 15 perces krzetben.
Ugyangy adhatk meg a felttelek a 36-os vrosokra. Ez a hat felttel, a vltozk 01
rtkusge s a clfggvny alkotja a keresett IP-t:
min z = x1 + x2 + x3 + x4 + x5 + x6
f.h.
x 1 + x2
1
x1 + x 2

(1-es vros felttel)

+ x6 1
1

(2-es vros felttel)


(3-as vros felttel)

x2
+ x5 + x6 1
xi = 0 vagy 1 (i = 1, 2, 3, 4, 5, 6)

(6-os vros felttel)

x3 + x 4

x3 + x 4 + x 5
1
x4 + x 5 + x 6 1

(4-es vros felttel)


(5-s vros felttel)

Ennek az IP-nek egy optimlis megoldsa: z = 2, x2 = x4 = 1, x1 = x3 = x5 = x6 = 0.


A megynek teht kt tuzoltllomst kell ptenie, mgpedig a 2-es s 4-es vrosokban.
Az 5. plda egy tipikus halmazlefedsi feladat. Egy halmazlefedsi feladatban egy
adott S1 halmaz minden elemt le kell fedni egy msik S2 halmaz valamely olyan elemvel, amely az S1 -beli elem szmra elfogadhat. A halmazlefedsi feladatban a cl
a minimlis szm olyan S2 -beli elem kivlasztsa, amelyek egyttesen lefedik az S1 halmazt. Az 5. pldban az S1 a vrosok halmaza, az S2 pedig a tuzoltllomsok. A 2-es
vrosban lvo lloms lefedi az 1-es, 2-es s 6-os vrosokat; a 4-es vrosban lv o lloms
lefedi a 3-as, 4-es s 5-s vrosokat. Halmazlefedsi feladatok szmos helyen felmerlnek, pldul a replogpjratok, illetve a szemlyzet temezsben, a politikai krzetek
kialaktsban, a kamionok tvonalainak meghatrozsban.

Vagy-vagy felttelek
Az albbi szituci gyakran elofordul matematikai programozsi feladatokban. Adott kt
felttel:
f (x1 , x2 , . . . , xn ) 0
(26)
g(x1 , x2 , . . . , xn ) 0,

(27)

s azt akarjuk, hogy a (26) s (27) kzl legalbb az egyik teljesljn. Az ilyen megktseket gyakran vagy-vagy feltteleknek hvjk. Vegyk be a modellbe az albbi (26 0 ) s (270 )
feltteleket:

418

8. fejezet Egszrtku programozs

f (x1 , x2 , . . . , xn ) My

g(x1 , x2 , . . . , xn ) M(1 y),

(260 )
(270 )

ahol y egy 01 vltoz, s M egy kello en nagy szm ahhoz, hogy a modell tbbi felttelt kielgto brmely x1 , x2 , . . . , xn rtkekre teljeslnek az f (x1 , x2 , . . . , xn ) M s a
g(x1 , x2 , . . . , xn ) M felttelek.
Most megmutatjuk, hogy a (260 ) s (270 ) felttelek biztostjk, hogy a (26) s (27) kzl
legalbb az egyik teljesl. Ha y = 0, akkor a (260 ) s (270 ) az f 0 s g M felttelekk
vlnak, vagyis a (26) biztosan fennll (esetleg a (27) is). Hasonlkppen, ha y = 1, akkor a
(260 ) s (270 ) az f M s g 0 felttelekk vlnak, teht a (27) biztosan fennll (esetleg
a (26) is). Azt kaptuk, hogy akr y = 0, akr y = 1, a (260 ) s (270 ) garantlja, hogy a (26)
s (27) kzl legalbb az egyik biztosan fennll.
A kvetkezo plda szemllteti a vagy-vagy felttelek hasznlatt.

6.

PLDA

8. T B L Z A T
Az eroforrsok s
a profit autnknt

Megolds

A Dorian Auto hromfle autt tervez gyrtani. Az egyes tpusokhoz szksges er o forrsokat, valamint az elrt hasznot mutatja a 8. tblzat. Jelenleg 6000 tonna acl, 60 000 ra
lomunka ll rendelkezsre. Egy tpus gyrtsa csak akkor gazdasgos, ha abbl a tpusbl legalbb 1000 aut kszl. Adjunk meg egy IP-t, amellyel maximalizlhat a Dorian
profitja!

Acl
Munka
Profit

Kompakt

Kzepes

Csaldi

1.5 tonna
30 ra
2000$

3 tonna
25 ra
3000$

5 tonna
40 ra
4000$

A Dorian azt akarja megtudni, hogy az egyes tpusokbl hny autt gyrtson. Legyen teht
x1 = a gyrtand kompakt autk szma
x2 = a gyrtand kzepes mretu autk szma
x3 = a gyrtand csaldi autk szma.
Ekkor a haszon (ezer dollrban) 2x1 + 3x2 + 4x3, a Dorian clja teht maximalizlni a
max z = 2x1 + 3x2 + 4x3
clfggvnyt. Mivel ha egy tpust gyrtanak, akkor legalbb 1000 olyan tpus autt kell
kszteni, mindegyik i = 1, 2, 3 esetn vagy xi 0 vagy xi 1000 kell legyen. Az acl
s az lomunka korltozottan ll csak rendelkezsre, gy teljesteni kell a kvetkez o t
megszortst:
1. felttel Vagy x1 0, vagy x1 1000.

2. felttel Vagy x2 0, vagy x2 1000.

3. felttel Vagy x3 0, vagy x3 1000.

4. felttel A felhasznlt acl nem lehet tbb, mint 6000 tonna.


5. felttel A felhasznlt lomunka nem lehet tbb, mint 60 000 ra.
Korbban lttuk, hogy ha f (x1 , x2 , x3 ) = x1 s g(x1 , x2 , x3 ) = 1000 x1, az 1-es felttel
helyettestheto a kvetkezo felttelekkel:

8.2. Egszrtku programozsi feladatok felrsa

419

x1 M1 y1

1000 x1 M1 (1 y1)
y1 = 0 vagy 1
Azt akarjuk, hogy az x1 , illetve az 1000 x1 egyszerre sose lpje tl az M1 -et. Ehhez
elegendo az M1 -et akkornak vlasztani, hogy egyrszt nagyobb legyen 1000-nl, msrszt
az x1 ne haladja meg M1 -et. Mivel 6030000 = 2000 kompakt aut gyrtsa felemszten a
rendelkezsre ll sszes lomunkt (aclbl mg maradna valamennyi), legfeljebb 2000
kompakt aut ksztheto. Ezrt az M1 = 2000 egy alkalmas vlaszts. Hasonlkppen a
2-es felttel helyettestheto az
x2 M2 y2
1000 x2 M2 (1 y2)
y2 = 0 vagy 1

felttelekkel. Ellenorizze az olvas, hogy az M2 = 2000 megfelelo. Hasonlkppen a 3-as


felttel helyettestheto az
x3 M3 y3
1000 x3 M3 (1 y3)
y3 = 0 vagy 1

felttelekkel. Ellenorizze az olvas, hogy az M3 = 1200 egy alkalmas vlaszts. A 4-es


megszorts fordtsa nyilvn
1.5x1 + 3x2 + 5x3 6000

(acl felttel),

az 5-s megszorts pedig


30x1 + 25x2 + 40x3 60 000

(munka felttel).

Figyelembe vve, hogy xi 0 s xi rtkei egszek, az albbi IP-t kapjuk:


max z = 2x1 + 3x2 + 4x3
f.h.

x1 2000y1
1000 x1 2000(1 y1)

x2 2000y2
1000 x2 2000(1 y2)

x3 1200y3
1000 x3 1200(1 y3)

1.5x1 + 3x2 + 5x3 6000

(acl felttel)

30x1 + 25x2 + 40x3 60 000


(munka felttel)
x1 , x2 , x3 0; x1 , x2 , x3 egsz
y1 , y2 , y3 = 0 vagy 1

Az IP optimlis megoldsa: z = 6000, x2 = 2000, y2 = 1, y1 = y3 = x1 = x3 = 0. A Doriannak teht 2000 kzepes mretu autt kell ksztenie. Amennyiben nem kellett volna
gyrtott tpusonknt legalbb 1000 autt kszteni, az optimlis megolds 570 kompakt s
1715 kzepes mretu aut ksztst rta volna elo .

420

8. fejezet Egszrtku programozs

Ha-akkor felttelek
Szmos alkalmazsban felmerl a kvetkezo igny: azt akarjuk, hogy az f (x1 , x2 , . . . , xn ) >
0 felttel teljeslse esetn a g(x1 , x2 , . . . , xn ) 0 felttel is teljesljn, de ha f (x1 , x2 , . . . ,
xn ) > 0 nem teljesl, akkor mindegy, hogy a g(x1 , x2 , . . . , xn ) 0 teljesl-e vagy sem. Rviden, azt szeretnnk, hogy az f (x1 , x2 , . . . , xn ) > 0 maga utn vonja a g(x1 , x2 , . . . , xn ) 0-t.
Ez megoldhat a kvetkezo felttelekkel:
g(x1 , x2 , . . . , xn ) My

(28)

f (x1 , x2 , . . . , xn ) M(1 y)
y = 0 vagy 1

(29)

Az M most is egy olyan nagyra vlasztott pozitv szm, hogy az f M s g M teljesljn az x1 , x2 , . . . , xn minden olyan rtkre, amely a modell tbbi felttelt kielgti.
Vegyk szre, hogy f > 0 esetn a (29) csak y = 0-val llhat fenn. Ekkor a (28) miatt
g 0, mskppen g 0, amint azt szerettk volna. Teht ha f > 0, akkor a (28) s (29)
biztostjk, hogy g 0 legyen. Viszont, ha az f > 0 nem teljesl, a (29) megengedi az
y = 0 vagy y = 1-et is. Az y = 1 esetben a (28) automatikusan igaz. Vagyis, ha az f > 0
nem ll fenn, az x1 , x2 , . . . , xn rtkek szabadon mozoghatnak, s akr a g < 0, akr a g 0
bekvetkezhet.
Szemlltetskppen vegyk a Nickles lockbox problmt, s kssk ki, hogy ha az 1-es
rgibeli vsrlk az 1-es vrosba kldik a szmlikat, akkor oda mr mshonnan nem
postzhatnak. A dntsi vltozkkal kifejezve,
ha x11 = 1,

akkor

x21 = x31 = x41 = 0.

(30)

Mivel az sszes xi j vagy 0, vagy 1, a (30) gy is rhat:


ha x11 > 0,

akkor x21 + x31 + x41 0,

vagy

x21 x31 x41 0

(300 )

Legyen f = x11 s g = x21 x31 x41 . A (28) s (29) alapjn trhatjuk a (300 )-t (teht a
(30)-at is) a kvetkezokppen:
x21 + x31 + x41 My
x11 M(1 y)
y = 0 vagy 1

Mivel sem a g, sem az f nem lehet tbb, mint 3, vlaszthatjuk az M = 3-at, s az eredeti
lockbox-modellt kiegszthetjk az
x21 + x31 + x41 3y

x11 3(1 y)
y = 0 vagy 1

felttelekkel.

8.2. Egszrtku programozsi feladatok felrsa

421

Egszrtku programozs s a szakaszonknt lineris fggvnyek3


A kvetkezo pldn bemutatjuk, hogy 01 vltozk segtsgvel hogyan lehet kezelni
olyan optimalizlsi feladatokat, amelyek szakaszonknt lineris fggvnyeket tartalmaznak. Egy szakaszonknt lineris fggvny grafikonja nhny egyenes vonaldarabbl ll.
A 2. brn lthat szakaszonknt lineris fggvnyt ngy egyenes szakasz alkotja. Egy szakaszonknt lineris fggvny trspontjai azok a pontok, ahol a fggvny meredeksge
vltozik (vagy az rtelmezsi tartomny vget r). A 2. brn lthat fggvny trspontjai
a 0, 10, 30, 40 s 50 pontok.
2. B R A
Egy szakaszonknt
lineris fggvny

Most nzzk, hogy mirt fordulhatnak elo szakaszonknt lineris fggvnyek az alkalmazsokban? Tegyk fel, hogy benzint finomtunk nyersolajbl. Az olaj beszerzsekor a
szlltnk mennyisgi rengedmnyt ad. Az elso 500 liter olaj ra 25c/ literenknt; a kvetkezo 500 liter ra 20c/ literenknt; az ezen felli 500 liter pedig 15c/ literenknt. Legfeljebb
1500 liter olajat vsrolhatunk. Jellje x a vsrolt olaj mennyisgt (literben), s c(x) az x
liter olaj rt (centben). Nyilvn x 0-ra c(x) = 0. Ha 0 x 500 akkor c(x) = 25x. Ha
500 x 1000, a c(x) = (az elso 500 liter ra 25c//liter ron) + (a fennmarad x 500
liter ra 20c//liter ron) = 25(500) + 20(x 500) = 20x + 2500. Vgl 1000 x 1500
esetn c(x) = (az elso 1000 liter ra) + (a fennmarad x 1000 liter ra 15c//liter ron) =
c(1000) + 15(x 1000) = 7500 + 15x. A c(x) trspontjai teht a 0, 500, 1000 s 1500
pontok (3. bra).
Mivel egy szakaszonknt lineris fggvny nem egy lineris fggvny, azt gondolhatnnk, hogy az ilyen fggvnyeket tartalmaz optimalizlsi feladatok megoldsban
a lineris programozs nem hasznlhat. Szerencsre 01 vltozk segtsgvel a szakaszonknt lineris fggvnyek lineris alakra hozhatk. Tegyk fel, hogy a szakaszonknt lineris f (x) fggvny trspontjai a b1 , b2 , . . . , bn pontok. Ha valamilyen k-ra (k =
1, 2, . . . , n 1), bk x bk+1 , akkor valamilyen zk (0 zk 1) szmra igaz, hogy
x = zk bk + (1 zk )bk+1 .
Mivel az f (x) lineris a bk x bk+1 intervallumon, rhatjuk, hogy
f (x) = zk f (bk ) + (1 zk) f (bk+1 ).
3 Ezen

alfejezet kihagysa nem szaktja meg a trgyals folytonossgt.

422

8. fejezet Egszrtku programozs

3. B R A
A vsrolt olaj ra
30000
27000
24000
21000
18000
15000
12000
9000
6000
3000
0

250

500

750

1000

1250

1500

Az tlet szemlltetsre legyen x = 800 az olajvsrls pldnkban. Ekkor b 2 = 500


800 1000 = b3 , s fennll, hogy
x = 25 (500) + 35 (1000)

f (x) = f (800) = 25 f (500) + 53 f (1000)


= 25 (12 500) + 35 (22 500) = 18 500
Lssuk teht, hogy miknt fejezhetnk ki egy szakaszonknt lineris fggvnyt lineris
felttelek s 01 vltozk segtsgvel:
1. lps Az optimalizlsi feladatban mindentt helyettestsk az f (x)-et a z 1 f (b1 ) +
z2 f (b2 ) + + zn f (bn ) lineris kifejezssel.
2. lps Kveteljk meg a kvetkezo feltteleket:

z1 y1 , z2 y1 + y2, z3 y2 + y3 , . . . , zn1 yn2 + yn1, zn yn1


y1 + y2 + + yn1 = 1
z1 + z 2 + + z n = 1

x = z 1 b1 + z 2 b2 + + z n bn
yi = 0 vagy 1 (i = 1, 2, . . . , n 1); zi 0 (i = 1, 2, . . . , n)

7.

PLDA

A Euing Gas ktfle benzint (B1 s B2) finomt ktfle olajbl (O1 s O2). A B1 minden
liternek legalbb 50% O1-et kell tartalmaznia, a B2 minden liternek pedig legalbb 60%
O1-et. A B1 literenknt 12c/-rt, a B2 literenknt 14c/-rt adhat el. Jelenleg 500 liter O1 s
1000 liter O2 ll rendelkezsre. Ezenfell tovbbi legfeljebb 1500 liter O1 is beszerezhet o a
kvetkezo literenknti rakon: az elso 500 literre 25c/; a msodik 500 literre 20c/; a harmadik
500 literre pedig 15c/. rjunk fel egy IP-t, amellyel maximalizlhat a Euing Gas profitja
(bevtel beszerzsi kltsg)!

8.2. Egszrtku programozsi feladatok felrsa

Megolds

423

Attl eltekintve, hogy a tbblet O1 beszerzsi kltsge egy szakaszonknt lineris fggvny, ez egy sima keversi feladat. Legyen
x = a vsrolt O1 mennyisge
xi j = a B j-hez felhasznlt Oi mennyisge

(i, j = 1, 2)

Ekkor (centben kifejezve)


sszbevtel az O1 beszerzsi kltsge = 12(x11 + x21) + 14(x12 + x22 ) c(x)
Amint korbban mr lttuk,

25x
c(x) = 20x + 2500

15x + 7500

(0 x 500)
(500 x 1000)
(1000 x 1500)

A Euing Gas maximalizland clfggvnye teht


z = 12x11 + 12x21 + 14x12 + 14x22 c(x)
A kvetkezo feltteleket kell figyelembe venni:
1. felttel A Euing legfeljebb x + 500 liter O1-et hasznlhat fel.
2. felttel A Euing legfeljebb 1000 liter O2-et hasznlhat fel.
3. felttel A B1-hez felhasznlt olaj legalbb 50%-a O1 legyen.
4. felttel A B2-hz felhasznlt olaj legalbb 60%-a O1 legyen.
Az 1. felttel fordtsa
a 2. felttel
a 3. felttel

x11 + x12 x + 500,


x21 + x22 1000,
x11
0.5 vagy 0.5x11 0.5x21 0,
x11 + x21

a 4. felttel pedig
x12
0.6 vagy 0.4x12 0.6x22 0.
x12 + x22
Tovbb minden vltoz nemnegatv. A Euing Gas megoldand optimalizlsi feladata
teht:
max z = 12x11 + 12x21 + 14x12 + 14x22 c(x)
f.h.
x11
+ x12
x + 500
x21
0.5x11 0.5x21
xi j 0,

x22 1000
0

0.4x12 0.6x22 0
0 x 1500

Mivel a c(x) egy szakaszonknt lineris fggvny, a clfggvny nemlineris fggvnye


az x-nek, ezrt a feladat nem egy LP. A korbban ismertetett mdszerrel viszont IP-v
alakthat. Mivel a c(x) trspontjai a 0, 500, 1000 s 1500 pontok, a kvetkez o kppen
jrunk el:

424

8. fejezet Egszrtku programozs

1. lps Behelyettestjk, hogy c(x) = z1 c(0) + z2c(500) + z3c(1000) + z4c(1500).


2. lps Felvesszk a kvetkezo feltteleket:
x = 0z1 + 500z2 + 1000z3 + 1500z4
z1 y 1 , z2 y 1 + y 2 , z3 y 2 + y 3 , z4 y 3
z1 + z2 + z3 + z4 = 1, y1 + y2 + y3 = 1
yi = 0 vagy 1(i = 1, 2, 3);

zi 0 (i = 1, 2, 3, 4)

gy a kvetkezo IP-t kapjuk:


max z = 12x11 + 12x21 + 14x12 + 14x22 z1 c(0) z2c(500) z3c(1000) z4c(1500)
f.h.

x11

x12

x21
0.5x11 0.5x21

x + 500
+ x22 1000

0
0.4x12 0.6x22 0

x = 0z1 + 500z2 + 1000z3 + 1500z4


z1 y 1

(31)
(32)

z4 y 3
y1 + y 2 + y 3 = 1

(35)
(36)

z1 + z 2 + z 3 + z 4 = 1
yi = 0 vagy 1 (i = 1, 2, 3);

(37)

z2 y 1 + y 2
z3 y 2 + y 3

xi j 0

(33)
(34)

zi 0 (i = 1, 2, 3, 4)

Nzzk, hogy mirt alkalmas ez az trs? Mivel y1 + y2 + y3 = 1 s yi = 0 vagy 1, pontosan


egy yi lesz 1, a tbbi 0 rtket vesz fel. Ekkor a (32)(37) miatt, yi = 1 esetn a zi s zi+1
lehetnek pozitvok, de a tbbi zi biztosan 0 lesz. Pldul, ha y2 = 1, akkor y1 = y3 = 0. Ekkor a (32)(35) felttelek a kvetkezo k: z1 0, z2 1, z3 1 s z4 0. Ezek a felttelek
kiknyszertik a z1 = z4 = 0-t, de megengedik, hogy z2 s z3 brmilyen 1-nl nem nagyobb nemnegatv rtket vegyen fel. gy lthat, hogy a (31)(37) alkalmas a szakaszonknt lineris c(x) fggvny megjelentsre. Vlasszunk egy rtket x-nek, legyen mondjuk
x = 800, amelyre b2 = 500 800 1000 = b3 . Az x = 800 esetn feltteleink milyen rtket adnak az y1 , y2 , ill. y3 vltozknak? Lehetetlen, hogy y1 = 1 legyen. Ekkor ugyanis
y2 = y3 = 0, s gy a (34)(35) miatt z3 = z4 = 0 lenne. Ebben az esetben a (31) jelentse
800 = x = 500z2, ami nem llhat fenn a z2 1 miatt. Ugyangy kapjuk, hogy az y3 = 1 sem
fordulhat elo. Ha y2 = 1-el prblkozunk, a (32) s (35) miatt z1 = z4 = 0. Ekkor a (33) s
(34)-bol kvetkezoen z2 1 s z3 1. A (31) rtelme ekkor 800 = x = 500z2 + 1000z3.
Lvn z2 + z3 = 1, azt kapjuk, hogy z2 = 25 s z3 = 53 , a clfggvny pedig
2c(500) 3c(1000)

.
5
5
2c(500) 3c(1000)
Mivel
c(800) =
+
5
5
clfggvnynk valban a Euing profitjnak tnyleges rtkt adja.
12x11 + 12x21 + 14x21 + 14x22

8.2. Egszrtku programozsi feladatok felrsa

425

A Euing Gas problmjnak optimlis megoldsa: z = 12 500, x = 1000, x 12 = 1500,


x22 = 1000, y3 = z3 = 1. Vagyis 1000 liter O1-et kell mg vsrolniuk, s 2500 liter B2-t
ksztenik.
ltalnosan is igaz, hogy a (31)(37) alak felttelek biztostjk, hogy ha b i x bi+1 ,
akkor yi = 1 s csak a zi s zi+1 lehetnek pozitvak. Mivel a c(x) lineris a bi x bi+1
intervallumon, a clfggvny a korrekt rtket adja a c(x)-nek.
Ha olyan szakaszonknt lineris f (x) fggvnyt tartalmaz a modell, amelyben az egyes
szakaszok meredeksgei az x nvekedsvel egyre kedvez o tlenebb vlnak a dntshoz
szmra, akkor az imnt ltott fradsgos IP-trsra nincs szksg.

8.

PLDA

Megolds

A Dorian Auto 20 000$-t szn hirdetsre. A kt magazin, ahol egsz oldalas hirdetseket vehetnek, az Inside Jocks (IJ) s a Family Square (FS). Egy expozci alatt azt rtjk,
hogy egy olvas eloszr tallkozik a Dorian Auto hirdetsvel. Az IJ-beli hirdetsek hatkonysga a kvetkezokppen alakul: az 16. hirdetsek egyenknt 10 000 expozcit; a
710. hirdetsek mindegyike 3000 expozcit; a 1115. hirdetsek egyenknt 2500 expozcit; a 16.-tl kezdve viszont mr 0 expozcit eredmnyeznek. Pldul 8 db IJ-hirdets
6(10 000) + 2(3000) = 66 000 expozcit jelent. Az FS-beli hirdetsek egyenknt a kvetkezo szm expozcit generljk: az 14. hirdetsek 8000; az 512. hirdetsek 6000;
a 1315. hirdetsek 2000; a 16.-tl kezdve viszont itt is mr 0 expozcit. Pldul 13 hirdets az FS-ben 4(8000) + 8(6000) + 1(2000) = 82 000 expozcit eredmnyez. Az egsz
oldalas hirdetsek ra mindkt magazin esetben 1000$. Tegyk fel, hogy nincs tfeds a
kt magazin olvastbora kztt. Adjunk meg egy IP-t, amellyel maximalizlhat az elrt
expozcik szma az adott hirdetsi kltsgvets mellett!
Amennyiben
x1 = a 10 000 expozcit eredmnyezo IJ-hirdetsek szma
x2 = a 3000 expozcit eredmnyezo IJ-hirdetsek szma
x3 = a 2500 expozcit eredmnyezo IJ-hirdetsek szma
y1 = a 8000 expozcit eredmnyezo FS-hirdetsek szma
y2 = a 6000 expozcit eredmnyezo FS-hirdetsek szma
y3 = a 2000 expozcit eredmnyezo FS-hirdetsek szma
az expozcik szma sszesen (ezer darabban kifejezve)
10x1 + 3x2 + 2.5x3 + 8y1 + 6y2 + 2y3
A Dorian teht maximalizlni akarja a
z = 10x1 + 3x2 + 2.5x3 + 8y1 + 6y2 + 2y3
clfggvnyt. Mivel az elklttt sszeg (ezer dollrban megadva) ppen megegyezik a feladott hirdetsek szmval, a kltsgvetsi felttel gy rhat:
x1 + x2 + x3 + y1 + y2 + y3 20
A problma lersbl kvetkezik, hogy x1 6, x2 4, x3 5, y1 4, y2 8 s y3 3 kell
legyen. Hozzvve a vltozkra tett elo jel, illetve egszrtkusgi megktseket kapjuk a
kvetkezo IP-t:

426

8. fejezet Egszrtku programozs

max z = 10x1 + 3x2 + 2.5x3 + 8y1 + 6y2 + 2y3


f.h.

x1 + x2 + x3 + y1 + y2 + y3 20
x1
6
x2

4
5

x3
y1
y2
xi , yi egsz

4
8

y3 3
(i = 1, 2, 3)

xi , yi 0 (i = 1, 2, 3)

A dntsi helyzet lersbl kvetkezik, hogy az x2 addig nem lehet pozitv, amg az x1 a
maximlis rtkt, a 6-ot el nem ri. Ugyangy az x3 addig nem vlhat pozitvv, amg az
x2 el nem ri a szmra legnagyobb 4 rtket. Mivel azonban az x 1 -es hirdetsek tbb expozcit eredmnyeznek, mint az x2 -es hirdetsek, a maximalizls biztostani fogja, hogy
az x2 csak akkor vlik pozitvv, ha az x1 mr elrte a leheto legnagyobb rtkt. Ugyangy,
mivel az x3 -as hirdetsek kevesebb expozcit generlnak, mint az x2 -es hirdetsek, az x3
csak akkor vlik pozitvv, ha az x2 mr elrte a leheto legnagyobb rtkt. Hasonlkppen,
y2 csak akkor lesz pozitv, ha mr y1 = 4, s y3 csak akkor lesz pozitv, ha mr y2 = 8.
A Dorian IP optimlis megoldsa: z = 146 000, x1 = 6, x2 = 2, y1 = 4, y2 = 8, x3 = 0,
y3 = 0. Azaz a Dorian az elrheto legtbb expozcit x1 + x2 = 8 IJ-beli s y1 + y2 = 12
FS-beli hirdetssel ri el.
A 8. pldban az egy magazinban val hirdetsek szmnak emelkedsvel a hozadk
cskkeno mrtkben nvekedett. Emiatt az xi (yi ) csak akkor vlt pozitvv, ha az xi1
(yi1 ) mr elrte a maximlis rtkt. Amennyiben a tovbbi hirdetsek nvekv o mrtkben
emeltk volna az expozcik szmt, a mostani modell mr nem lenne megfelel o . Tegyk
fel pldul, hogy az egy IJ-hirdets ltal elrt expozcik szma az 16. hirdetsekre 2500,
a 710. hirdetsekre 3000, a 1115. hirdetsekre pedig 10 000 expozci lenne; mg az egy
FS-hirdets ltal elrt expozcik szma az 14. hirdetsekre 2000, az 512. hirdetsekre
6000, vgl a 1315. hirdetsekre 8000 expozci lenne.
Ekkor, amennyiben
x1 = a 2500 expozcit eredmnyezo IJ-hirdetsek szma
x2 = a 3000 expozcit eredmnyezo IJ-hirdetsek szma
x3 = a 10 000 expozcit eredmnyezo IJ-hirdetsek szma
y1 = a 2000 expozcit eredmnyezo FS-hirdetsek szma
y2 = a 6000 expozcit eredmnyezo FS-hirdetsek szma
y3 = a 8000 expozcit eredmnyezo FS-hirdetsek szma
lenne, az elozo esetben alkalmazott meggondolsok a kvetkezo modellhez vezetnnek:

8.2. Egszrtku programozsi feladatok felrsa

427

max z = 2.5x1 + 3x2 + 10x3 + 2y1 + 6y2 + 8y3


f.h.

x1 + x2 + x3 + y1 + y2 + y3 20
x1
6
x2

4
5

x3
y1
y2
xi , yi egsz

4
8

y3 3
(i = 1, 2, 3)

xi , yi 0 (i = 1, 2, 3)

Ennek az IP-nek az optimlis megoldsa: x3 = 5, y3 = 3, y2 = 8, x2 = 4, x1 = 0, y1 = 0,


ami nem lehet megfelelo. E megolds szerint x1 + x2 + x3 = 9 IJ-hirdetst kell feladni,
vagyis x1 = 6 s x2 = 3 kellene hogy legyen. Ltjuk teht, hogy a Dorian Auto pldban
felrt modell csak akkor megfelelo, ha a szakaszonknt lineris clfggvny meredeksgei az x nvekedsvel egyre kedvezo tlenebb vlnak. A felttelezett msodik esetben egy
hirdets hatkonysga a magazinban feladott hirdetsek szmnak emelkedsvel egytt
nvekedett, ezrt a maximalizls mr nem garantlja, hogy az x i csak akkor vlhat pozitvv, ha az xi1 mr elrte a legnagyobb rtkt. Ilyenkor a Euing Gas pldban hasznlt
megkzelts vezetne egy korrekt modellhez (lsd a 8. feladatot).

Feladatok
A csoport

(c) Ha a 3-as jtkos kezd, a 6-os nem kezdhet.

1. Egy kosrlabdaedzo a kezdo ts sszelltsn tpreng. A rendelkezsre ll ht jtkos szba jheto szerepkrt (vdo V, center C, bedob B), valamint a labdakezelsi, dobsi, lepattanszerzsi, ill. vdekezsi kpessgeinek minostst (1 = gyenge, 3 = kivl) tartalmazza a
9. tblzat.
9.

TBLZAT

Szerep- LabdaLepattan- VdeJtkos kr


kezels Dobs szerzs
kezs
1
2
3
4
5
6
7

V
C
V-B
B-C
V-B
B-C
V-B

3
2
2
1
1
3
3

3
1
3
3
3
1
2

1
3
2
3
1
2
2

3
2
2
1
2
3
1

Az edzo a kezdo tst gy akarja sszelltani, hogy teljesljenek a kvetkezok:


(a) Legalbb 4 jtkos legyen kpes vdo, legalbb 2
bedob s legalbb 1 center szerepben jtszani.
(b) A kezdocsapat tlagos labdakezelsi, dobsi, ill. lepattanszerzsi szintje legalbb 2 legyen.

(d) Ha az 1-es jtkos kezd, a 4-esnek s az 5-snek is


kezdenie kell.
(e) A 2-es vagy a 3-as jtkosnak a kezdocsapatban kell
lennie.
Ezen megktsek mellett az edzo maximalizlni akarja a
kezdocsapat sszestett vdekezsi kpessgt. rjon fel egy
IP-t, amely segthet a kezdocsapat kivlasztsban!
2. A Momiss foly tlzott szennyezettsge miatt az llam
szennyvztisztt llomsokat fog pteni. Hrom helyszn
(1, 2 s 3) jhet szba. Klnsen kt szennyezoanyag (1
s 2) mennyisge rdekes. A trvnyhozs elorsa szerint
legalbb 80 000 tonna 1-es s legalbb 50 000 tonna 2-es
szennyezoanyagot kell a folybl eltvoltani. A 10. tblzat tartalmazza a vonatkoz adatokat. rjon fel egy IP-t,
amellyel minimalizlhat az emltett clok elrsnek kltsge!
10. T B L Z A T
Helyszn
1.
2.
3.

Az lloms
ptsi
kltsge ($)

1 tonna vz
tiszttsi
kltsge ($)

100 000
60 000
40 000

20
30
40

Kiszurt
anyag
1 tonna vzbol (t)
1-es
2-es
0.40
0.25
0.20

0.30
0.20
0.25

428

8. fejezet Egszrtku programozs

3. Egy vllalatnak az 1-es termke 2$, a 2-es termke


pedig 5$ profitot hoz darabonknt. Egy darab 1-es termkhez hrom egysg, egy darab 2-es termkhez hat egysg
alapanyag szksges. sszesen 120 egysg alapanyag ll
rendelkezsre. Az 1-es termk gyrtsnak beindtsi kltsge 10$, a 2-es termk gyrts 20$. rjon fel egy IP-t a
profit maximalizlsra!
4. Tegyk fel, hogy az 1. pldt (Stockco) kiegsztjk a
kvetkezo megszortssal: ha a 2-es s 3-as befektetst is vlasztjk, akkor a 4-es lehetosget is vlasztani kell. Milyen
felttelekkel szksges kiegszteni a szvegbeli modellt?
5. Hogyan mdostank a kvetkezo megszortsok a 6.
plda (Dorian-autk mrete) modelljt? (Vegye az egyes
rszeket kln-kln.)
(a) Ha kzepes mretu autkat gyrtanak, akkor kompaktokat is kell kszteni.
(b) Kompakt autkat vagy csaldi autkat mindenkppen gyrtani kell.
6. Egy egyetem opercikutats szakn legalbb kt matematika, legalbb kt opercikutats s legalbb kt szmtgpes kurzust kell elvgezni. Bizonyos kurzusok tbb
kvetelmny teljestsbe is beszmthatnak: Analzis
matematika; Opercikutats matematika s opercikutats; Adatstruktrk szmtstechnika s matematika;
zleti statisztika matematika s opercikutats; Szmtgpes szimulci opercikutats s szmtstechnika;
Szmtgpes programozs szmtstechnika; Elorejelzs
opercikutats s matematika.
Bizonyos kurzusok elofelttelei ms kurzusoknak: az Analzis az zleti statisztiknak; a Szmtgpes programozs
a Szmtgpes szimulci, illetve az Adatstruktrk cmu
trgyaknak; az zleti statisztika az Elorejelzs trgynak. rjon fel egy IP-t, amellyel minimalizlhat a kvetelmnyek
teljestshez szksges kurzusok szma!
7. A 7. pldban (Euing Gas) tegyk fel, hogy x = 300.
Mennyi ekkor az y1 , y2 , y3 , z1 , z2 , z3 s z4 rtke? s
amennyiben x = 1200?
8. rjon fel egy IP-t a Dorian Auto hirdetsi problmjra
abban az esetben, amikor a hirdetsek szmnak emelkedsvel nvekszik egy hirdets hatkonysga!
9. Hogyan biztosthat az egszrtku programozsban,
hogy az x vltoz csak az 1, 2, 3 s 4 rtkeket vehesse fel?
10. Ha x s y egszrtkuek, hogyan biztosthat, hogy
teljestsk az x + y 3 vagy a 2x + 5y 12 (vagy mindkt)
felttelt?
11. Ha x s y egszrtkuek, hogyan biztosthat, hogy
amennyiben x 2, akkor y 3 legyen?

12. Egy trsasg raktrak ltestst fontolgatja. Ngy vros jhet szba: New York, Los Angeles, Chicago s Atlanta. Hetente brmelyik raktrbl 100 egysg szllthat.
4 Day

(1965) alapjn.

Egy raktr zemeltetsnek fix heti kltsge New Yorkban


400$, Los Angelesben 500$, Chicagban 300$ s Atlantban 150$. Az 1-es rgi hetente 80 egysget ignyel, a 2-es
rgi 70 egysget, a 3-as rgi pedig 40 egysget. A 11. tblzat mutatja egy egysg szlltsi kltsgt (dollrban) az
egyes raktrakbl az egyes rgikba. A heti ignyeket minimlis kltsggel akarjuk kielgteni, de be kell tartanunk
a kvetkezo megszortsokat is:
11.

TBLZAT

Hova
Honnan

1-es rgi

2-es rgi

3-as rgi

20
48
26
24

40
15
35
50

50
26
18
35

New York
Los Angeles
Chicago
Atlanta

(a) Ha New Yorkban lesz raktr, akkor Los Angelesben


is legyen.
(b) Legfeljebb kt raktr nyithat.
(c) Atlantban vagy Los Angelesben mindenkppen
kell raktrt nyitni.
rjon fel egy IP-t, amellyel minimalizlhat az ignyek kielgtsnek heti kltsge!
13. A Glueco hromfle ragasztt llt elo kt gyrtsoron.
Egyidejuleg mindegyik gyrtsoron legfeljebb ht munks
dolgozhat. Az 1-es soron egy munks heti bre 500$, a 2-es
soron 900$. Az 1-es gyrtsor mukdtetse hetente 1000$ba, a 2-es 2000$-ba kerl. A 12. tblzat mutatja, hogy
az egyes gyrtsorokon egy munks hetente hny vdr
ragasztt tud elolltani az egyes fajtkbl. Minden hten
legalbb 120 vdr 1-es ragasztt, legalbb 150 vdr 2-es
s legalbb 200 vdr 3-as ragasztt kell gyrtani. rjon
fel egy IP-t a heti ignyeket kielgto termels kltsgnek
minimalizlsra!
12.

TBLZAT

1-es gyrtsor
2-es gyrtsor

1-es
ragaszt

2-es
ragaszt

3-as
ragaszt

20
50

30
35

40
45

14.4 Egy egyetem kzponti szmtgpnek kezeloje 5 fjlhoz akar hozzfrni. Tz lemez van, amelyeken a fjlok
megtallhatk, a 13. tblzat mutatja, hogy melyik lemezen
melyik fjl. A lemezek trignye a kvetkezo: 1-es lemez
3K; 2-es lemez 5K; 3-as lemez 1K; 4-es lemez 2K; 5-s
lemez 1K; 6-os lemez 4K; 7-es lemez 3K; 8-as lemez 1K;
9-es lemez 2K; 10-es lemez 2K.

429

8.2. Egszrtku programozsi feladatok felrsa


13.

15.

TBLZAT

Lemez
1-es fjl
2-es fjl
3-as fjl
4-es fjl
5-s fjl

x
x

Gp
7

x
x

x
x
x

x
x

(b) Mdostsa a modellt gy, hogy ha a 3-as vagy 5-s


lemezt hasznljuk, akkor a 2-es lemezt is hasznlni kell!
15. A Fruit Computer Pear s Apricot tpus szmtgpeket gyrt. A 14. tblzat tartalmazza a vonatkoz adatokat.
sszesen 3000 chip s 1200 ra lomunka ll rendelkezsre.
rjon fel egy IP-t a profit maximalizlsra!
TBLZAT

Munka- Chipek Gyrtsor Eladsi


igny (ra) szma kltsge ($) r ($)
Pear
Apricot

1
2

2
5

5000
7000

Vltoz
kltsg ($)

Kapacits
(ra)

1
2
3
4

1000
920
800
700

20
24
16
28

900
1000
1200
1600

(a) rjon fel egy IP-t, amelyik megadja a lemezeknek egy minimlis trignyu olyan kombincijt, hogy
mindegyik fjl legalbb egy kivlasztott lemezrol elrheto legyen! Egy lemez tartalmbl vagy semmit, vagy
mindent trolni kell.

14.

Fixkltsg ($)

10

x
x

TBLZAT

400
900

18. A Bookco Kiad t tanknyv kiadst vizsglja. A 16.


tblzat mutatja az eladhat legnagyobb pldnyszmot, a
knyvenknti vltoz elolltsi kltsget, az eladsi rat s
a szerzoi honorriumot az egyes knyvek esetn.
16.

TBLZAT

Knyv
1
Legnagyobb kereslet
Vltoz kltsg ($)
Eladsi r ($)
Honorrium (ezer $)

17. Egy termk ngy klnbzo gpen is ksztheto. A 15.


tblzat tartalmazza az egyes gpek fix beindtsi kltsgt,
az egysgnyi termelsre vonatkoz vltoz kltsget, s a
gp termelsi kapacitst. sszesen 2000 egysgnyi termk
ksztendo. rjon fel egy IP-t az sszkltsg minimalizlsra!

5000 4000 3000 4000 3000


25
20
15
18
22
50
40
38
32
40
80
50
60
30
40

Pldul, ha 2000 pldny kszl az 1-es knyvbol, akkor a bevtel 2000(50) = 100 000$, a kltsg viszont
80 000 + 25(2000) = 130 000$. A Bookco sszesen legfeljebb 10 000 knyvet tud elkszteni. Hogyan maximalizlhatjk a profitjukat?
19. A Comquat vllalat ngy zemben gyrtja a szmtgpeit. vente legfeljebb 20 000 szmtgpet tudnak
eladni 3500$-os egysgron. Az egyes zemek termelsi
kapacitst, a gpenknti termelsi kltsget s az zem
mukdtetsnek ves fix kltsgt mutatja a 17. tblzat.
17.

16. Egy lakparkban hzak s laksok is plhetnek,


sszesen legfeljebb 10 000 lakegysg. Emellett vagy
egy sportkomplexum vagy egy vitorlskikto fog biztosan plni, de mindketto nem. Ha a kikto pl meg, akkor
legalbb hromszor annyi hznak kell elkszlni, mint laksnak. A kikto 1.2 milli dollrba, a sportkomplexum
2.8 milli dollrba kerl. A beruhzk gy gondoljk, hogy
egy laksbl (jelenrtken szmolva) 48 000$, egy hzbl
46 000$ bevtel szrmazik. Egy hz s egy laks ptsi
kltsge egyarnt 40 000$. rjon fel egy IP-t a nyeresg
maximalizlsra!

TBLZAT

zem Termelsi
zem fix
Egy szmtgp
kapacits kltsge (m $) kltsge ($)
1
2
3
4

10 000
8 000
9 000
6 000

9
5
3
1

1000
1700
2300
2900

Hogyan maximalizlhatja a Comquat az ves nyeresgt?


20. A WSP tanknyveket rust. Kt gynknek akarja
a 4. brn lthat terlet kt-kt szomszdos krzett kijellni. Az egyes krzetekben a dikok szmt (ezerben) az
bra mutatja.
Pldul egy gynk megkaphatja az A s B krzeteket, de az
A s D-t nem. A WSP clja a kijellt krzetekben tanul dikok szmnak maximalizlsa. rjon fel egy IP-t, amelynek
a megoldsa megmondja, hogy az gynkket mely krzetekkel kell megbzni, majd oldja meg az IP-t szmtgppel!

430
4.

8. fejezet Egszrtku programozs


Minden sz annyi pontot r, ahnyadik az angol bcben
az utols betuje. Pldul a DBA 1 pontot, a DEG 7 pontot
r. A cl a kivlasztott szavak sszpontjnak a maximalizlsa azon felttel mellett, hogy az elso betuk bcbeli
pozciinak sszege legalbb akkora, mint a msodik betuk
bcbeli pozciinak sszege. rjon fel egy IP-t a problma
megoldsra!

BRA

B 29
E 56
A 34

23. Egy zemben t munkt kell elvgezni. Az egyes munkk elvgzshez szksges idok attl fggnek, hogy melyik gpet hasznljk. A gpeket hasznlatuk elott be kell
zemelni. A vonatkoz adatokat (percben megadva) tartalmazza a 20. tblzat.

F 18

C 42

G 71

D 21

20.
21. Egy vllalat lgkondicionlkat gyrt s rust. Az
ves kereslet az orszg ngy rgijban a kvetkezo: Kelet
100 000; Dl 150 000; szak 110 000; Nyugat 90 000.
A gyrts helyszne lehet New York, Atlanta, Chicago s
Los Angeles. Egy lgkondicionl dollrban megadott helyi gyrtsi kltsgt s az adott vrosbl az egyes rgikba
trtno szlltsi kltsgt egytt mutatja a 18. tblzat.
18.

1. gp
2. gp
3. gp
4. gp
5. gp

42
X
58
58
X

70
85
X
X
60

Munka
3
4
93
45
X
55
X

X
X
37
X
54

5
X
X
X
38
X

Bezemelsi ido
30
40
50
60
20

TBLZAT

New York
Atlanta
Chicago
Los Angeles

Kelet

Dl

206
225
230
290

225
206
221
270

Rgi
szak
230
221
208
262

Nyugat
290
270
262
215

Brmelyik zem legfeljebb 150 000 lgkondicionlt kpes elolltani vente. A 19. tblzat tartalmazza az egyes
zemek mukdtetsnek ves fixkltsgt.
19.

TBLZAT

TBLZAT

Vros

ves fixkltsg (m $)

New York
Atlanta
Chicago
Los Angeles

6
5.5
5.8
6.2

Az szaki rgi keresletbol legalbb 50 000 darabot vagy


New Yorkbl, vagy Atlantbl kell kielgteni. rjon fel
egy IP-t, amelynek a megoldsa megadja, hogy a vllalat
hogyan minimalizlhatja az ignyek kielgtsnek ves
sszkltsgt!
22. Tekintsk a kvetkezo rejtvnyt. A kvetkezo hrombetus szavak kzl kell ngyet kivlasztani:
DBA DEG ADI FFD GHI BCD FDF BAI
5 Efroymson

s Ray (1966) alapjn.

Az zem clja az 5 munka elvgzshez szksges (gyrtsi


s bezemelsi) ido minimalizlsa. rjon fel egy alkalmas
IP-t, majd hatrozza meg a megoldst!

B csoport
24.5 A Breadco egy j stoipari lnc Indiana llamban. j
stdk ptsre hrom helyszn jhet szba: Evansville,
Indianapolis s South Bend. vente mindegyik stde legfeljebb 900 000 vekni kenyeret tud stni. A stde ptse
Evansville-ben 5 milli dollrba, Indianapolisban 4 milli dollrba, mg South Bendben 4.5 milli dollrba kerl.
Az egyszerusg kedvrt feltesszk, hogy a Breadcnak
csak hrom vsrlja van: az 1-es vsrl 700 000 vekni,
a 2-es vsrl 400 000 vekni, mg a 3-as vsrl 300 000
vekni kenyeret rendel vente. A 21. tblzat mutatja, hogy
mennyibe kerl egy vekni kenyr elolltsa s egy adott
vevohz szlltsa.
Tegyk fel, hogy a jvobeni gyrtsi s szlltsi kltsgeket vi 11 19 %-kal diszkontljuk, valamint, hogy egy
felptett stde rkk mukdik. Adjon meg egy IP-t,
amellyel a Breadco minimalizlhatja a jelenlegi s jvobeli rendelsei kielgtsnek sszkltsgt! (tmutats: Szksge lehet arra a tnyre, hogy |x| < 1 esetn
a + ax + ax2 + ax3 + = a/(1 x).) Hogyan mdostan
a modellt, ha Evansville-nek vagy South Bendnek legalbb
800 000 vekni kenyeret kellene ksztenie vente?

8.2. Egszrtku programozsi feladatok felrsa


21.

26.7 Egy llam kormnyzja meg akarja szavaztatni a trvnyhozssal a vlasztsi kerletek talaktst. Az llam
tz vrosbl ll. A 23. tblzat mutatja, hogy az egyes vrosokban hny ezren regisztrltattk magukat a szavazi
nvjegyzkben republiknusknt, illetve demokrataknt.
Az llamnak t kongresszusi kpviseloje van. A vlasztsi
kerletek kialaktsakor a vrosok a kvetkezo szablyok
szerint csoportosthatk:

TBLZAT

Honnan

1-es
vsrl

Hova
2-es
vsrl

3-as
vsrl

16c/
40c/
45c/

34c/
30c/
45c/

26c/
35c/
23c/

Evansville
Indianapolis
South Bend

(a) Egy vros minden szavazja ugyanabba a krzetbe


tartozzon.

25.6 Egy szerencsejtk trsasg sorsjtkutalvnyokat fizet ki ngy rgiban lo nyerteseknek: Southeast (SE),
Northeast (NE), Far West (FW) s Midwest (MW). Az
egyes rgikba naponta postzott nyertes utalvnyok sszrtke a kvetkezo: SE 40 000$; NE 60 000$; FW
30 000$; MW 50 000$. A napi nyerteseknek a trsasg
kteles mg aznap postzni az utalvnyokat. Ksleltetheti
az utalvnyok bevltst, ha eldugott helyen lvo bankokban lehet csak o ket bevltani. Ebbol a clbl ngy helyszn
jhet szba: Frosbite Falls, Montana (FF), Redville, South
Carolina (R), Painted Forest, Arizona (PF) s Beanville,
Maine (B). Az ves szmlavezetsi dj az egyes helyszneken a kvetkezo: FF 50 000$; R 40 000$; PF 30 000$;
B 20 000$. A kifizetsre kerlo utalvnyok sszrtke
egyik banknl sem haladhatja meg a 90 000$-t. Az utalvnyok postzstl a bevltsukig tlagosan eltelt napok
szmt mutatja a 22. tblzat. Tegyk fel, hogy a trsasg
vi 15%-os hozammal tudja a nla lvo pnzt befektetni.
Mely vros(ok)ban vezessen a trsasg bankszmlt, s melyik bankban bevlthat utalvnyokat postzzanak az egyes
rgibeli nyerteseknek?
22.

(b) Mindegyik krzetbe 150 000250 000 szavaz tartozzon. (Tegyk fel, hogy fggetlen szavazk nincsenek.)
A kormnyz demokrata. Tegyk fel, hogy mindegyik szavaz gy szavaz, ahogyan regisztrltatta magt. rjon fel
egy IP-t, amelynek a megoldsbl a kormnyz megtudn,
hogy miknt maximalizlhat a demokratk ltal elnyert
kongresszusi helyek szma!
23.

TBLZAT

Republiknus

Demokrata

80
60
40
20
40
40
70
50
70
70

34
44
44
24
114
64
14
44
54
64

1. vros
2. vros
3. vros
4. vros
5. vros
6. vros
7. vros
8. vros
9. vros
10. vros

TBLZAT

SE
NE
FW
MW

FF

PF

7
8
4
5

2
4
8
4

6
5
2
7

5
3
11
5

27.8 A Domino vllalat fnymsol gpeket rust a kvetkezo hat vrosban: Boston, New York, Philadelphia, Washington, Providence s Atlantic City. A gyors szervizelhetosg fontos szempont a msolk eladsakor. A vrhatan
eladott msolk szma fgg attl, hogy van-e szervizkpviselo az adott vros 150 mrfldes krzetben (24. tblzat).

6 Shanker

s Zoltners (1972) alapjn.


s Nemhauser (1970) alapjn.
8 Gelb s Khumawala (1984) alapjn.
7 Garfinkel

24.

431

TBLZAT

Van-e szerviz
150 mrfldn
bell?
Igen
Nem

Boston

New York

700
500

1000
750

Eladsok szma
Philadelphia Washington
900
700

800
450

Providence

Atlantic City

400
200

450
300

432

8. fejezet Egszrtku programozs

Egy msol elksztse 500$-ba kerl, eladsi ra pedig


1000$. A szervizkpviselo ves dja 80 000$. A Domino
meg akarja hatrozni, hogy hol legyen kpviselete. Csak
Boston, New York, Philadelphia s Washington jhet szba.
A 25. tblzat mutatja a vrosok kztti tvolsgot (mrfldben). rjon fel egy IP-t, amellyel maximalizlhat a
Domino ves profitja!
25.

TBLZAT

Boston

N. Y.

Phila.

Wash.

0
222
310
441
47
350

222
0
89
241
186
123

310
89
0
146
255
82

441
241
146
0
376
178

Boston
New York
Philadelphia
Washington
Providence
Atlantic City

28.9 Thaifldn a haditengerszet hrom sorozkzpontjba hvjk be az joncokat, majd kikpzsre hrom bzisra
kldik o ket. A 26. tblzat mutatja egy jonc szlltsnak
kltsgt (dollrban) az egyes sorozkzpontokbl az egyes
kikpzobzisokra.
26.

1. kzpont
2. kzpont
3. kzpont

27.

TBLZAT

tvonal
sorszma

rintett
helysznek

Megtett
mrfldek

1
2
3
4
5
6
7

B1B
B12B
B23B
B2B
B3B
B13B
B123B

370
515
665
460
600
640
720

29. Madonna legjabb albumnak kazettavltozatt kell


sszelltani. A kazetta mindkt oldalra 14 s 16 perc
kztti zent kell felvenni. Az egyes dalok idotartama s
tpusa a 28. tblzatban lthat. A dalok kivlasztsakor a
kvetkezoket kell figyelembe venni:
(a) Mindkt oldalon pontosan kt lass szm legyen.
(b) Az 1-es oldalra legalbb hrom slger kerljn.

TBLZAT

Honnan

i-edik tvonalon a j-edik kikpzobzisrl a (B)-re egy nagy


hajval szlltott joncok szma; Si = az i-edik tvonalat
megtevo kis hajk szma; Li = az i-edik tvonalat megtevo
nagy hajk szma.)

(c) Az 5-s vagy 6-os dalnak az 1-es oldalon kell lennie.

1. bzis

Hova
2. bzis

3. bzis

200
300
300

200
400
400

300
220
250

vente 1000 frfit hvnak be az 1. kzpontba, 600-at a 2.


kzpontba s 700-at a 3. kzpontba. Az 1. bzis 1000 jonc
kikpzsre kpes, a 2. bzis 800-ra, mg a 3. bzis 700
joncra. A kikpzs utn az joncokat Thaifld fo haditengerszeti bzisra (B) szlltjk vagy egy kis hajn, vagy
egy nagy hajn. Egy kis haj hasznlata 5000$-ba s mrfldenknt tovbbi 2$-ba kerl. Egy t sorn egy kis haj
legfeljebb kt kikpzobzist rinthet, s legfeljebb 200 embert szllthat. Egy nagy haj hasznlata 10 000$-ba s mrfldenknt tovbbi 3$-ba kerl. Egy t sorn egy nagy haj
akr mindhrom kikpzobzisra elmehet, de 500 embernl
tbbet nem szllthat. Ht kis haj s t nagy haj ll rendelkezsre. A lehetsges tvonalakat a 27. tblzat tartalmazza.
Tegyk fel, hogy a behvottakat a szlltsi feladat megoldsa alapjn kldik a kikpzobzisokra. rjon fel egy IP-t,
amelyik minimalizlja az joncok szlltsnak teljes kltsgt a kikpzobzisokrl a fo bzisra! (tmutats: Legyen
yi j = az i-edik tvonalon a j-edik kikpzobzisrl a fo bzisra (B) egy kis hajval szlltott joncok szma; xi j = az
9 Choypeng,

(d) Ha a 2-es s 4-es dalok az 1-es oldalon vannak, az


5-snek a 2-es oldalra kell kerlnie.
28.

TBLZAT

Dal
1
2
3
4
5
6
7
8

Tpus
Lass szm
Slger
Lass szm
Slger
Lass szm
Slger
Lass szm s slger

Idotartam
(perc)
4
5
3
2
4
3
5
4

Mutassa meg, hogy miknt hasznlhat az egszrtku


programozs annak eldntsre, hogy elrendezhetok-e a
dalok a megfogalmazott elvrsoknak megfeleloen!
30. Egy rdilloms a hirdetseket 60 msodperces blokkokban sugrozza. Egy adott rban lejtszand egy-egy
15, 16, 20, 25, 30, 35, 40 s 50 msodperces hirdets. lltson fel egy egszrtku programozsi modellt, amellyel
sszellthat a minimlis szm 60 msodperces hirdetsi

Puakpong s Rosenthal (1986) alapjn.

8.2. Egszrtku programozsi feladatok felrsa


blokk a sugrzand hirdetsekbol! (tmutats: Nyolcnl
tbb blokkra biztosan nincs szksg. Legyen yi = 1, ha az
i-edik blokkot hasznljk, s yi = 0 klnben.)
31.10 Egy olajszllt gpkocsi tartlya t rekeszbol ll,
ezek rendre 2700, 2800, 1100, 1800 s 3400 liter u rtartalmak. A gpkocsival hromfle benzint (szuper, norml,
lommentes) kell egy vsrlhoz szlltani. A 29. tblzat
tartalmazza az egyes fajtkbl az ignyelt mennyisget (literben), a ki nem elgtett igny utni bntetst (literenknt
dollrban) s a megengedett legnagyobb elmaradst (literben). Egy tartlyrekeszben csak egyfajta benzin szllthat.
rjon fel egy IP-t, amelynek a megoldsa megadja, hogy
miknt kell a tartlyt megtlteni ahhoz, hogy az elmaradt
mennyisg utni bntets minimlis legyen!
29.

TBLZAT

Elmarads Maximlis
Benzinfajta Igny bntetse elmarads
Szuper
2900
Norml
4000
lommentes 4900

10
8
6

500
500
500

433

20 milli dollr kszpnzhez jut. A trsasgnak az elso vben legalbb 20 milli dollr kszpnzhez, a msodik vben
legalbb 30 milli dollrhoz, a harmadik vben pedig legalbb 35 milli dollr kszpnzhez kell jutnia. lltson fel
egy IP-t, amellyel a trsasg meghatrozhatja, hogy miknt
maximalizlhatja a vagyontrgyak rtkestsbol szrmaz
bevtelt a hrom v alatt! E modell megvalstsakor hogyan lehetne a grdlo tervezsi horizont tlett hasznlni?
31.

TBLZAT

zletek szma
zlettpus

kszer
Cipo
ruhz
Knyv
Ruha

9
10
27
16
17

8
9
21
9
13

7
5
20
7
10

32.

TBLZAT

rtkests
32.11

Egy bevsrlkzpont meg akarja hatrozni, hogy


milyen tpus zleteknek adja brbe a 10 000 m2 kereskedelmi terletet. Az egyes zletfajtk minimlis s maximlis
szmt, valamint alapterlett adja meg a 30. tblzat. Az
zletek ves nyeresge persze fgg attl, hogy a bevsrlkzpontban hny ugyanolyan tpus zlet van. Ezt mutatja
a 31. tblzat (a nyeresgek 10 000$-ban rtendok). Kt
cipobolt esetn pldul mindkt zlet nyeresge 9000$. A
brleti dj mindegyik zlet esetn az ves nyeresg 5%-a.
rjon fel egy IP-t a bevsrlkzpont brleti djakbl szrmaz bevtelnek maximalizlsra!
30.

TBLZAT

zlettpus
kszer
Cipo
ruhz
Knyv
Ruha

m2

Minimum

Maximum

500
600
1500
700
900

1
1
1
0
1

3
3
3
3
3

33.12 Egy pnzgyi trsasg tulajdonban hat vagyontrgy


van. A 32. tblzat tartalmazza (milli dollrban megadva)
az egyes vagyontrgyak vrhat eladsi rt. Pldul, ha az
1-es vagyontrgyat a msodik vben rtkestik, a trsasg
10 Brown

(1987) alapjn.
Bean et al. (1988) alapjn.
12 Bean, Noon s Salton (1987) alapjn.
13 Walker (1974) alapjn.

11

1. vagyontrgy
2. vagyontrgy
3. vagyontrgy
4. vagyontrgy
5. vagyontrgy
6. vagyontrgy

1. v

2. v

3. v

15
16
22
10
17
19

20
18
30
20
19
25

24
21
36
30
22
29

34.13 Egy kisvrosban ht tuzolt riasztdoboz s ht hagyomnyos ltrs brigd van. A 33. tblzat mutatja, hogy
az egyes riasztdobozokhoz melyik kt brigd van a legkzelebb. A vrosatyk a leheto legtbb hagyomnyos ltrs
brigdot szeretnk toronyltrs brigddal felvltani. Politikai szempontok miatt azonban a csere nem lehet nagyon
radiklis, a riasztdobozokhoz legkzelebbi kt brigd kzl legalbb az egyiknek tovbbra is hagyomnyos ltrs
brigdnak kell lennie.
(a) rjon fel egy IP-t, amellyel maximalizlhat a felvlthat hagyomnyos brigdok szma!
(b) Legyen yk = 1, ha a k-adik hagyomnyos brigdot
lecserlik. Mutassa meg, hogy a zk = 1 yk vltozcsere
utn az (a)-beli modell ekvivalens egy halmazlefedsi
feladattal!

434

8. fejezet Egszrtku programozs

33.

lenyvllalatait, s nll munkaadnak minostheti o ket.


Amennyiben pldul sszevonja a 2-es s 3-as lenyvllalatt, az sszevont vrhat brtmeg 20%-t kell kifizetnie
biztostsi djknt. rjon fel egy IP-t, amellyel meghatrozhat, hogy mely lenyvllalatok vonandk ssze!

TBLZAT

Riasztdoboz

A kt legkzelebbi
tuzoltbrigd

1
2
3
4
5
6
7

2, 3
3, 4
1, 5
2, 6
3, 6
4, 7
5, 7

36.

Lenyvll. tlagos brt. Tartalkalap Vrhat brt.


1
2
3

35.14 Egy hoeromunek hrom kaznja van. Ha mukdik


egy kazn, akkor a 34. tblzatban lthat minimum s
maximum rtkek kztti mennyisgu gozt tud termelni
(tonnban mrve), az adott tonnnknti ron. A kaznok
ltal termelt gozzel hrom turbina fejleszthet ramot. Egy
turbina, ha mukdik, a 35. tblzatban lthat minimum s
maximum rtkek kztti mennyisgu gozt kpes feldolgozni (tonnban mrve). A tblzat azt is megadja, hogy
egy tonna goz feldolgozsval az egyes turbink mennyi
ramot fejlesztenek, valamint, hogy ez mibe kerl. rjon fel
egy IP-t, amellyel minimalizlhat 8000 kWh ram elolltsnak kltsge!
34.

TBLZAT

Kazn

Minimum
goz

Maximum
goz

Kltsg $/tonna

1
2
3

500
300
400

1000
900
800

10
8
6

35.

Turbina

Min.

Max.

kWh ram egy


tonna gozbol

Kltsg
$/tonna

1
2
3

300
500
600

600
800
900

4
5
6

2
3
4

36.15 Az Ohio llambeli Clevcinn hrom lenyvllalatbl


ll, amelyeknek az tlagos brtmegt, munkanlkli tartalkalapjt s vrhat brtmegt a 36. tblzat tartalmazza
(milli dollrban megadva). Egy Ohio llambeli munkaad a vrhat brtmegnek 20%-t vagy 10%-t fizeti ki
munkanlkli biztostsi djknt attl fggoen, hogy a tartalkalapjnak az tlagos brtmeghez viszonytott arnya
kisebb 1-nl, vagy legalbb 1. A Clevcinn sszevonhatja a
14 Cavalieri,

300
600
800

400
510
600

350
400
500

37. Egy zleti iskola kt 50 frohelyes, egy 100 frohelyes


s egy 150 frohelyes tanteremmel rendelkezik. Napi t idosvban folyik az oktats. A jelenlegi ngyfle teremignyt
tartalmazza a 37. tblzat.
37.

TBLZAT

Ignyelt Ignyelt Ignyek


Tpus teremmret idosvok szma
1
2
3
4

50 fo
150 fo
100 fo
50 fo

2, 3, 4
1, 2, 3
5
1, 2

3
1
1
2

El kell dnteni, hogy az egyes tpusokbl hny ignyt milyen teremmel elgtsenek ki. A 38. tblzatban lthat
bntetoponttal jr az, ha egy krst egy nagyobb mretu
teremmel teljestenek.

TBLZAT

15 Salkin

TBLZAT

38.

TBLZAT

Ignyelt
mret
50
100
150

Teljestett
teremmret
50 100 150
0
X
X

2
0
X

4
1
0

Bntetopont
100

(ignyelt idosv)
100 (ignyelt idosv)
100 (ignyelt idosv)

Az X azt jelzi, hogy egy ignyt csak egy megfelelo mretu teremmel lehet kielgteni. Fogalmazzon meg egy IP-t,
amelynek a megoldsa megadja, hogy miknt kell a teremignyeket teljesteni gy, hogy a bntetopontok szma
minimlis legyen!

Roversi s Ruggeri (1971) alapjn.


(1979) alapjn.

8.2. Egszrtku programozsi feladatok felrsa


38. Egy vllalat htfle dobozt rust. Az egyes dobozok
mrete (kbdecimterben mrve), illetve a dobozok irnti
kereslet a 39. tblzatban lthat.
39.

TBLZAT

Doboz
1
Mret
Kereslet

33 30 26 24 19 18 17
400 300 500 700 200 400 200

A termels vltoz kltsge (dollrban) mindegyik doboz


esetn megegyezik a doboz mretvel. Ezenfell brmelyik
fajta doboz ksztse esetn 1000$ fixkltsg is fellp. Egy
igny egy nagyobb dobozzal is kielgtheto. rjon fel egy IPt, amelynek segtsgvel minimalizlhat a dobozok irnti
sszes kereslet kielgtsnek kltsge, majd hatrozza meg
az optimlis megoldst!
39. Egy vllalat t zemben kszt paradicsomszszt. Az
egyes zemek (tonnban megadott) kapacitsa a 40. tblzatban lthat.
40.

Honnan

1.

Hova
Vsrl
2.
3.

1. raktr
2. raktr
3. raktr

40
70
80

80
70
30

300

200

300

200

400

A paradicsomszsz trolsa hrom raktrban trtnik. A


41. tblzat tartalmazza egy tonna paradicsomszsz elolltsnak s raktrba szlltsnak kltsgt (szz dollrban
megadva) az egyes zemek, ill. raktrak viszonylatban.
TBLZAT

90
60
50

4.
50
80
60

Az egyes vsrlk rendelst (tonnban) tartalmazza a 43.


tblzat.
(a) Fogalmazzon meg egy kiegyenslyozott szlltsi
feladatot, amelynek a megoldsbl kiderl, hogy miknt lehet minimlis kltsggel kielgteni a vsrlk
ignyeit!
(b) Mdostsa a feladatot, ha a fentiek ves ignyek,
s a 44. tblzatban tallhat fixkltsggel jr az egyes
zemek, illetve raktrak mukdtetse!
43.

TBLZAT

Vsrl

44.

zem

41.

TBLZAT

Igny

TBLZAT

Kapacits

42.

435

200

300

150

250

TBLZAT

ves fixkltsg
(ezer $-ban)
1. zem
2. zem
3. zem
4. zem
5. zem
1. raktr
2. raktr
3. raktr

35
45
40
42
40
30
40
30

Geoffrion s Graves (1974) alapjn.

Honnan

1. raktr

Hova
2. raktr

3. raktr

1. zem
2. zem
3. zem
4. zem
5. zem

8
7
8
5
7

10
5
6
6
6

12
7
5
7
5

A paradicsomszsz irnt ngy vsrl rdeklodik. A 42. tblzat mutatja (dollrban), hogy egy tonna paradicsomszszt
milyen kltsggel lehet az egyes raktrakbl az egyes vsrlkhoz szlltani.

40. Az eljvendo 20 vben a Telstar tvkzlsi vllalat


becslsei szerint a 45. tblzatban megadott szm vonalra
lesz szksg az Egyeslt llamok s Franciaorszg, Nmetorszg, Svjc, ill. az Egyeslt Kirlysg kztt.
45.

TBLZAT

Orszg

Vonalak szma

Franciaorszg
Nmetorszg
Svjc
Egyeslt Kirlysg

20 000
60 000
16 000
60 000

436

8. fejezet Egszrtku programozs

Egy tvkzlsi vonal lehet vezetkes vagy muholdas. Ktfle vezetkes vonal ltezik: a TA7, ill. a TA8. Az egyes
vezetkek kiptsnek fix kltsgt, illetve vonalkapacitst mutatja a 46. tblzat.
A TA7 s TA8 tpus vezetkek a tenger alatt futnak az
Egyeslt llamoktl a La Manche csatornig, a vonalak kiterjesztse a msik kt eurpai orszgig ezrt tovbbi kltsggel jr. A vonalanknti ves vltoz kltsgeket mutatja
a 47. tblzat.
46.

TBLZAT

Vezetktpus

A kipts fixkltsge

Kapacits

1.6 millird $
2.3 millird $

8500
37800

TA7
TA8
47.

TBLZAT

Orszg

Vonalanknti ves kltsg ($)

Franciaorszg
Nmetorszg
Svjc
Egyeslt Kirlysg

0
310
290
0

A muholdas vonalakhoz szksg van muholdra s orszgonknt fldi vevolloms(ok)ra. Egy muhold felbocstsa
3 millird dollrba kerl, de utna 140 000 vonalat kpes
kezelni. Mindegyik fldi vevolloms 190 vonalat kpes kezelni 6000$-os ves mukdtetsi kltsg rn. Adjon meg
egy egszrtku programozsi modellt, amellyel minimalizlhat a szksges vonalak kiptsnek s mukdtetsnek sszkltsge az eljvendo 20 vben!16
41. Egy nagy gygyszergyr meg akarja hatrozni, hogy
hny orvosltogatt bzzon meg ngy rtkestsi krzetben. Annak ves kltsge, hogy egy krzetben n megbzott
van (88 000 + 80 000n) dollr. A 48. tblzat mutatja, hogy
hny rt vesz ignybe egy adott krzetben lo gynknek
egy adott krzetben dolgoz orvos felkeresse.
48.

TBLZAT

Orvosltogat
bzis krzete

Felkeresett krzet
1
2
3
4

1
2
3
4

1
4
5
7

4
1
3
5

5
3
1
2

7
5
2
1

Mindegyik orvosltogat havonta legfeljebb 160 rt tud


dolgozni. Az egyes krzetekben megltogatand orvosok
szmt a 49. tblzat adja meg.
16 Calloway,

17 Strong

49.

TBLZAT

Krzet
1
2
3
4

Ltogatsok szma
50
80
100
60

Rszmunkaidos gynkket nem alkalmaznak, azaz nem


egsz szm gynk egyik krzetben sem lehet. Hatrozza
meg, hogy hny orvosltogatt bzzanak meg az egyes krzetekben!
42.17 Ebben a feladatban megmutatjuk, hogy Wall Street-i
cgek hogyan vlaszthatnak ki egy optimlis ktvnyportflit az egszrtku programozs s a ktvny idotartamnak fogalma segtsgvel. Egy ktvny (vagy brmilyen kifizetsfolyam) idotartama alatt a kvetkezo rtendo: Legyen C(t) a ktvny kifizetse a t idopontban
(t = 1, 2, . . . , n), valamint r = a piaci kamatlb. Amennyiben a ktvny kifizetseinek idovel slyozott tlaga
t=n

tC(t)/(1 + r)t

t=1

s a ktvny piaci ra
P=

t=n

C(t)/(1 + r)t

t=1

akkor a ktvny idotartama (duration) D a kvetkezo:


n

tC(t)
(1
+ r)t
t=1

D = (1/P)

Vagyis a ktvny idotartama az az tlagos ido (vekben mrve), amennyi alatt egy vletlenszeruen vlasztott
1$ nett jelenrtket (NPV) kapunk. Tegyk fel, hogy egy
biztost-trsasgnak a kvetkezo 10 v sorn hathavonta
20 000$-t kell kifizetnie. Ha a piaci ves kamatlb 10%,
ennek a kifizetsfolyamnak 251 780$ az NPV-je s 4.47 v
az idotartama. Ha minimalizlni akarjuk a ktvnyportflinknak a kamatlb vltozsbl fakad rzkenysgt a
kifizetsi ktelezettsgek betartsa mellett, akkor, mint azt
megmutattk, az elso v elejn 251 780$-t kell olyan ktvnyportfliba fektetni, amelyiknek az idotartama megegyezik a kifizetsfolyam idotartamval.
Tegyk fel, hogy egy ktvnyportfli tartsnak egyetlen
kltsge a ktvnyek vsrlsnak tranzakcis kltsge. Az
50. tblzat hat felttelezett ktvny kifizetsfolyamt tartalmazza. Brmelyik ktvny esetn k egysg vsrlsnak

Cummins s Freeland (1990) alapjn.


(1989) alapjn.

8.3. A korltozs s sztvlaszts mdszere


tranzakcis kltsge 500 + 5k dollr. Pldul 1-es ktvnybol egy egysg beszerzse 505$-ba, tz egysg 550$-ba
kerl. Tegyk fel, hogy a ktvnyekbol trtszm egysget is lehet venni, de diverzifikcis okokbl mindegyikbol
legfeljebb 100 egysget. llamktvnyek is vsrolhatk
(tranzakcis kltsg nlkl). Egy llamktvny 980$-ba
kerl, idotartama pedig 0.25 v (90 nap).
Miutn kiszmtotta (pl. valamilyen tblzatkezelo programmal) az egyes ktvnyek rt s idotartamt, az egszrtku programozs segtsgvel hatrozza meg azt a ktvnyportflit, amely minimlis tranzakcis kltsggel beszerezheto. Felttelezheti, hogy a portfli idotartama a
ktvnyek idotartamainak slyozott tlaga, ahol a slyok az
egyes ktvnyekbe fektetett sszegek.

437

43. A Fordnak ngy zeme van, brmelyikben gyrthat


Taurus, Lincoln vagy Escort is, de egyszerre csak egyetlen
tpus. Az zemek mukdtetsnek ves fixkltsgt s az
egyes tpusokbl egy aut gyrtsnak vltoz kltsgt az
51. tblzat tartalmazza.
51.

TBLZAT

Fixkltsg
(millird $)
1. zem
2. zem
3. zem
4. zem

7
6
4
2

Vltoz kltsg ($)


Taurus Lincoln Escort
12 000
15 000
17 000
19 000

16 000
18 000
19 000
22 000

9 000
11 000
12 000
14 000

A Ford a kvetkezo megszortsokkal nz szembe:


50.

(a) Mindegyik zem csak egy tpust gyrthat.

TBLZAT

1-es

Szba jvo ktvnyek


2-es
3-as
4-es
5-s

1
2
3
4
5
6
7
8
9
10

50
60
70
80
90
100
110
120
130
1010

100
90
80
70
60
50
40
30
20
1040

8.3.

130
130
130
130
130
130
130
130
130
1130

20
20
20
20
20
80
40
150
200
1200

100
100
100
100
100
100
100
100
100
1100

6-os
120
100
80
140
100
90
110
130
180
950

(b) Egy tpust csak egy zemben gyrthatnak. Pldul,


ha gyrtanak Taurust az 1-es zemben, akkor az sszes
Taurust ott kell gyrtani.
(c) Ha mukdtetik a 3-as s a 4-es zemet is, akkor az
1-est is hasznlni kell.
A Fordnak vente mindegyik tpusbl 500 000 autt kell
elolltania. rjon fel egy IP-t, amelynek a megoldsa megmutatja, hogy a Ford miknt minimalizlhatja az autk
gyrtsnak ves sszkltsgt!
44. Magyarzza meg, hogy a lockbox problma modelljben (4. plda) mirt nem szksges kiktni, hogy az xi j
vltozk csak 0 vagy 1 rtket vehetnek fel!

A korltozs s sztvlaszts mdszere tiszta


egszrtku programozsi feladatok megoldsra
A gyakorlatban a legtbb IP-t a korltozs s sztvlaszts mdszervel oldjk meg. A korltozs s sztvlasztsi mdszerek egy IP optimlis megoldst gy talljk meg, hogy hatkonyan leszmlljk egy-egy rszfeladat lehetsges megoldsait. Miel o tt ezt rszletesen
elmagyarznnk, tegyk meg a kvetkezo elemi, de fontos szrevtelt: Egy tiszta egszrtku feladat LP-laztsnak egy olyan optimlis megoldsa, amelyben mindegyik vltoz
egszrtku, egyttal optimlis megoldsa az IP-nek is.
Szemlltetskppen tekintsk a kvetkezo IP-t:
max z = 3x1 + 2x2
f.h.
2x1 + x2 6
x1 , x2 0; x1 , x2 egsz
Az egszrtku feladat LP-laztsnak optimlis megoldsa az x1 = 0, x2 = 6, z = 12. Mivel
mindegyik vltoz egsz rtket vett fel, teht lehetsges megoldsa az IP-nek is, az el o zo

438

8. fejezet Egszrtku programozs

5. B R A
Egy IP, ill. az
LP-laztsnak
lehetsges
megoldsai

x2

= IP lehetsges pontja
= LP-lazts lehetsges tartomnya

5
4

3
2
1

x1
1

megllapts szerint az x1 = 0, x2 = 6, z = 12 egyttal optimlis megoldsa az IP-nek is.


Mirt? Vegyk szre, hogy az IP lehetsges megoldsai az LP-lazts lehetsges tartomnynak pontjai (lsd 5. bra). Ezrt az IP optimlis z rtke nem lehet nagyobb, mint az
LP-lazts optimlis z rtke. Az IP optimlis z rtke teht biztosan 12. Ugyanakkor az
x1 = 0, x2 = 6 pont egy olyan lehetsges megoldsa az IP-nek, amelyre z = 12. Vagyis az
x1 = 0, x2 = 6, z = 12 optimlis az IP-ben.

9.

PLDA

Megolds

A Telfa asztalokat s szkeket kszt. Egy asztalhoz 1 ra munka s 9 ngyzetmter deszkalap szksges, egy szkhez pedig 1 ra munka s 5 ngyzetmter deszkalap. Jelenleg
6 ra munka s 45 ngyzetmter deszkalap ll rendelkezsre. Egy asztalon a nyeresg 8$,
egy szken 5$. rjon fel egy IP-t a Telfa nyeresgnek maximalizlsra, majd oldja meg a
feladatot!
Legyen
x1 = a ksztendo asztalok szma
x2 = a ksztendo szkek szma
Mivel x1 -nek s x2 -nek is egsz rtkeket kell felvennie, a Telfnak a kvetkez o IP-t kell
megoldania:
max z = 8x1 + 5x2
f.h.

x 1 + x2 6
9x1 + 5x2 45

x1 , x2 0;

(munkaido felttel)
(deszkalap felttel)

x1 , x2 egsz

A korltozs s sztvlaszts mdszere elo szr az egszrtku feladat LP-laztst oldja


meg. Ha az LP-lazts optimlis megoldsban mindegyik dntsi vltoz egszrtku,
akkor az LP-lazts optimlis megoldsa egyben az IP optimlis megoldsa is. Ezt az LPlaztst az 1-es rszfeladatnak hvjuk. Sajnos az LP-lazts optimlis megoldsa: z = 165
4 ,
9

,
x
=
(lsd
6.
bra).
A
8.1.
alfejezetb
o
l
tudjuk,
hogy
(az
IP
optimlis
z
rtke)
x1 = 15
2
4
4
(az LP-lazts optimlis z rtke). Ebbo l kapjuk, hogy az IP optimlis z rtke nem lehet
korltja.
tbb, mint 165
4 , vagyis az LP-lazts optimlis z rtke a Telfa profitjnak egy fels o

8.3. A korltozs s sztvlaszts mdszere

6.

BRA

A Telfa
feladatnak
lehetsges
megoldshalmaza

x2
= IP lehetsges pontja
= LP-lazts lehetsges tartomnya

9
8

9x1+5x2=45
7

x1+x2=6
6
5
4
3

Az 1. rszfeladat optimlis megoldsa

z=20
2

x1=3.75
x2=2.25

x1
1

7. B R A
A Telfa 2. s 3.
rszfeladatainak
lehetsges
tartomnyai

x2
ABC = a 2. rszfeladat lehetsges tartomnya
DEFG = a 3. rszfeladat lehetsges tartomnya
= az eredeti IP lehetsges pontja
C = a 2. rszfeladat optimlis megoldsa

9
8
7

G
6
5
4

3. rszfeladat
3

F
z=20
2

x1=3

x1=4
2. rszfeladat

D
1

B
3

A
4

x1
6

439

440

8. fejezet Egszrtku programozs

8. B R A
A Telfa 1. s 2.
rszfeladatainak
megoldsa

A kvetkezo lps az LP-lazts lehetsges tartomnynak rszekre bontsa, s ezzel


az IP optimlis megoldsnak pontosabb behatrolsa. Tetsz o legesen kivlasztjuk az LPlazts optimlis megoldsnak valamelyik trtrtku vltozjt, mondjuk, az x 1 -et. Vegyk
szre, hogy az IP minden lehetsges megoldsra vagy x1 3, vagy x1 4 teljesl, hiszen
az egszrtkusg miatt 3 < x1 < 4 nem llhat fenn. Ezrt az x1 vltoz szerint gaztatunk, s ltrehozzuk a kvetkezo kt rszfeladatot:
2. rszfeladat Az 1-es rszfeladat + az x1 4 felttel.

3. rszfeladat Az 1-es rszfeladat + az x1 3 felttel.

Fontos szrevenni, hogy sem a 2. rszfeladat, sem a 3. rszfeladat nem tartalmaz olyan
sem a
pontot, ahol x1 = 15
4 , vagyis az LP-lazts optimlis megoldsa nem bukkanhat el o
2., sem a 3. rszfeladat megoldsa sorn.
A 7. brbl is ltjuk, hogy a Telfa IP minden lehetsges megoldsa benne van vagy a
2., vagy a 3. rszfeladat lehetsges tartomnyban, amelyek egybknt kzs ponttal nem
rendelkeznek. Mivel a 2. s 3. rszfeladatok az x1 -re vonatkoz felttelek hozzadsval
szlettek, azt mondjuk, hogy a 2. s 3. rszfeladatok az x 1 szerinti gaztats termkei.
Ezutn kivlasztjuk brmelyik olyan rszfeladatot, amelyet LP-knt mg nem oldottunk
meg. Legyen ez a 2. rszfeladat. A 7. bra alapjn kapjuk, hogy a 2. rszfeladat optimlis
megoldsa: z = 41, x1 = 4, x2 = 59 (a C pont). A 8. bra sszegzi eddigi eredmnyeinket.
A ltrehozott sszes rszfeladatot egy fa brzolja, a rszfeladatok a fa cscsai a cscsokat sszekto vonalak az lek. A fa egy cscshoz tartoz felttelek az eredeti feladat
LP-laztsnak felttelei, kiegsztve az 1. rszfeladattl az adott cscsig vezet o lekhez
tartoz felttelekkel. A t cmke a rszfeladatok megoldsi sorrendjt mutatja.
Mivel a 2. rszfeladat optimlis megoldsa nem teljesen egszrtku, ebb o l a rszfeladatbl tovbbi kt rszfeladatot hozunk ltre. Kivlasztunk a 2. rszfeladat optimlis megoldsban egy trtrtku vltozt, s aszerint gaztatunk. Mivel x 2 az egyedli trtrtku
vltoz a 2. rszfeladat optimlis megoldsban, az x2 szerint gaztatunk. A 2. rszfeladat
lehetsges megoldshalmazt aszerint bontjuk fel, hogy x2 2 vagy x2 1. gy a kvetkezo kt rszfeladathoz jutunk:
4. rszfeladat 1. rszfeladat + az x1 4 s x2 2 felttelek = 2. rszfeladat + az x2 2
felttel.
5. rszfeladat 1. rszfeladat + az x1 4 s x2 1 felttelek = 2. rszfeladat + az x2 1
felttel.
A 4. s 5. rszfeladatok lehetsges tartomnya a 9. brn lthat. A megoldatlan rszfeladatok halmaza a 3., 4. s 5. rszfeladatokbl ll. Kivlasztjuk az egyiket. Ks o bb trgyaland

8.3. A korltozs s sztvlaszts mdszere

9. B R A
A Telfa 4. s 5.
rszfeladatainak
lehetsges
tartomnyai

441

x2

ABHI = az 5. rszfeladat lehetsges tartomnya


A 4. rszfeladat lehetsges tartomnya res (x22 nem metszi az ABC-t)

C=(4, 1.8)
B=(4, 0)
A=(5, 0)
H=(4, 1)
40
I= 9 , 1

z=20

x2=2

C
H

x2=1

5. rszfeladat
B
1

A
4

x1
6

okokbl a legutbb ltrehozott rszfeladatot vlasztjuk. (Ezt hvjk LIFO szablynak, lastin-first-out: utoljra-be-elsonek-ki.) A LIFO szably szerint most a 4. vagy 5. rszfeladatot
kell megoldanunk. Mi a 4. rszfeladatot vlasztjuk. A 9. brbl kitunik, hogy a 4. rszfeladatnak nincs lehetsges megoldsa, gy nem adhat optimlis megoldst sem. Ezt egy
-el jelezzk (lsd 10. bra). Mivel a 4. rszfeladatbl indul gak semmilyen hasznos
10. B R A
A Telfa 1., 2. s 4.
rszfeladatainak
megoldsa

1. rszfeladat

2. rszfeladat
3. rszfeladat

4. rszfeladat
nem lehetsges

5. rszfeladat

442

8. fejezet Egszrtku programozs

11. B R A
A Telfa 6. s 7.
rszfeladatainak
lehetsges
tartomnyai

ABHI =az 5. rszfeladat lehetsges tartomnya


A =a 6. rszfeladat lehetsges tartomnya
BH =a 7. rszfeladat lehetsges tartomnya

6. rszfeladat

7. rszfeladat

12. B R A
A Telfa 1., 2., 4. s
5. rszfeladatainak
megoldsa

1. rszfeladat

2. rszfeladat
3. rszfeladat

5. rszfeladat
4. rszfeladat
nem lehetsges

6. rszfeladat

7. rszfeladat

8.3. A korltozs s sztvlaszts mdszere

443

informcival sem szolglhatnak, flsleges o ket ltrehozni. Amikor egy rszfeladat tovbbi gaztatsa tovbbi hasznos informcit mr nem eredmnyezhet, azt mondjuk, hogy
a rszfeladat (cscs) feldertett. Eddigi eredmnyeinket mutatja a 10. bra.
Ekkor mr csak a 3. s 5. rszfeladatok a megoldatlanok. A LIFO szably alapjn most
az 5. rszfeladat kvetkezik. A 9. brbl azt kapjuk, hogy az 5. rszfeladat optimlis meg40
oldsa az I pont: z = 365
ol a megoldsbl semmilyen azonnal felhasz9 , x1 = 9 , x2 = 1. Ebb
nlhat informcit sem nyertnk, ezrt tovbb bontjuk az 5. rszfeladat lehetsges tartomnyt a trtrtku x1 vltoz szerint gaztatva. Kt tovbbi rszfeladatot kapunk (lsd
11. bra).
6. rszfeladat 5. rszfeladat + az x1 5 felttel.

7. rszfeladat 5. rszfeladat + az x1 4 felttel.

A 6. s 7. rszfeladatok egytt tartalmazzk az 5. rszfeladat lehetsges tartomnyban


lvo sszes egsz pontot. Az 5. rszfeladat optimlis megoldsa ugyanakkor kiesik, hiszen
sem a 6., sem a 7. rszfeladat lehetsges tartomnya nem tartalmaz olyan pontokat, amelyekben x1 = 40
9 . Az 5. rszfeladat optimlis megoldsa teht sem a 6. sem a 7. rszfeladat
megoldsa sorn nem bukkanhat fel jra. A rszfeladatok aktulis fja a 12. brn lthat.
Megoldatlanok a 3., 6. s 7. rszfeladatok. A LIFO szably szerint a 6. vagy 7. rszfeladatnak kell kvetkeznie. Mi a 7.-et vlasztjuk. A 11. bra alapjn kapjuk, hogy a 7.
rszfeladat optimlis megoldsa a H pont: z = 37, x1 = 4, x2 = 1. Mivel x1 s x2 is egsz
rtket vesz fel, ez a megolds lehetsges megoldsa az eredeti IP-nek is. A 7. rszfeladat
13. B R A
A korltozs s
sztvlasztsi fa t
rszfeladat
megoldsa utn

1. rszfeladat

2. rszfeladat
3. rszfeladat

5. rszfeladat
4. rszfeladat
nem lehetsges

6. rszfeladat

7. rszfeladat

megolds-jellt

444

8. fejezet Egszrtku programozs

14. B R A
A korltozs s
sztvlasztsi fa
hat rszfeladat
megoldsa utn

1. rszfeladat

2. rszfeladat
3. rszfeladat

5. rszfeladat
4. rszfeladat
nem lehetsges

6. rszfeladat

7. rszfeladat

megolds-jellt

megolds-jellt

teht egy olyan lehetsges egszrtku megoldst eredmnyezett, amelyre z = 37. Tudjuk,
hogy a 7. rszfeladat olyan lehetsges egszrtku megoldst nem eredmnyezhet, amelyre
z > 37, vagyis a 7. rszfeladat tovbbi gaztatsa az IP optimlis megoldsnak holltr o l
tovbbi informcit mr nem kpes adni. gy ez a rszfeladat mr feldertett. A jelenlegi
ft mutatja a 13. bra.
Ha egy rszfeladat optimlis megoldsban mindegyik vltoz rtke egsz, akkor talltunk egy megolds-jelltet. Mivel a megolds-jellt bizonyulhat optimlisnak is, egszen
addig tartanunk kell, amg az IP egy jobb lehetsges megoldst nem hatrozzuk meg (ha
van ilyen egyltaln). Van teht egy olyan lehetsges IP-megoldsunk, amelyre z = 37,
ezrt az IP optimlis z rtke 37. A megolds-jellt z rtke egy als korlt az eredeti
IP optimlis z rtkre. Ezt gy jelezzk, hogy a kvetkezo rszfeladat dobozba berjuk,
hogy LB = 37 (lsd 14. bra).
Csak a 3. s a 6. rszfeladatok maradtak megoldatlanok. A LIFO szablyt kvetve a 6.
rszfeladattal folytatjuk. A 11. bra szerint a 6. rszfeladat optimlis megoldsa az A pont:
z = 40, x1 = 5, x2 = 0. Ez egy megolds-jellt, hiszen mindegyik dntsi vltoz rtke
egsz. A z rtke 40, ami tbb, mint az eddig tallt legjobb megolds-jellt z rtke (a
7-es jellt z = 37-je). A 7. rszfeladat teht nem adhatja az IP optimlis megoldst (ezt
a 7. rszfeladat doboza mell tett -el jelezzk). Az LB als korlt rtkt pedig 40-re
mdostjuk. A 15. bra sszegzi elo rehaladsunkat.

8.3. A korltozs s sztvlaszts mdszere

15. B R A
A Telfa feladatban
a korltozs s
sztvlaszts
vgso fja

445

1. rszfeladat

2. rszfeladat

3. rszfeladat

5.. rszfeladat
4. rszfeladat
nem lehetsges

6. rszfeladat

7. rszfeladat

megolds-jellt

megolds-jellt

Egyedl a 3. rszfeladat a megoldatlan. A 7. bra szerint a 3. rszfeladat optimlis megoldssa az F pont: z = 39, x1 = x2 = 3. Mivel a 3. rszfeladat nem adhat a jelenlegi 40
als korltnl magasabb z rtket, a 3. rszfeladatbl nem kaphatunk optimlis megoldst
az eredeti IP-re. Ezt egy -el jelezzk a 15. brn. Azt ltjuk, hogy nem maradt megoldatlan rszfeladat, valamint, hogy csak a 6. rszfeladat adhat optimlis megoldst az IP-re. Az
IP optimlis megoldsa szerint teht a Telfa maximlisan 40$ nyeresget rhet el, mgpedig
5 asztal s 0 szk ksztsvel.
A Telfa feladat korltozs s sztvlasztssal trtno megoldsa sorn kzvetetten szmba vettk az IP sszes lehetsges megoldst. Vgso soron az sszes ilyen pontot (az optimlis megolds kivtelvel) kizrtuk, a korltozs s sztvlaszts eljrsa teht megfelel o .
Annak szemlltetsre, hogy a korltozs s sztvlaszts mdszere tnyleg figyelembe
veszi az IP sszes lehetsges megoldst, vegynk nhny lehetsges megoldst, s nzzk meg, hogy a korltozs s sztvlasztsi eljrs miknt tallja o ket nem optimlisnak.
Honnan tudjuk pldul, hogy az x1 = 2, x2 = 3 nem optimlis? Ez a pont a 3. rszfeladat
lehetsges tartomnyhoz tartozik, s tudjuk, hogy az sszes odatartoz pontra z 39. A 3.
rszfeladat elemzse mutatja teht, hogy az x1 = 2, x2 = 3 megolds nem adhat z = 40-nl
tbbet, s gy nem lehet optimlis. Egy msik pldnak vegyk az x 1 = 4, x2 = 2-t. Ez mirt

446

8. fejezet Egszrtku programozs

nem optimlis? A fa gait kvetve kiderl, hogy az x1 = 4, x2 = 2 a lehetsges megoldssal


nem rendelkezo 4. rszfeladathoz tartozik, ezrt biztosan megsrti az eredeti IP valamelyik
felttelt, s gy kizrt, hogy optimlis megolds legyen. Hasonlkppen zrja ki a korltozs s sztvlaszts mdszere az sszes x1 , x2 pontot (az optimlis megolds kivtelvel
persze).
gy tunhet, hogy a Telfa egyszeru feladatt a korltozs s sztvlaszts mdszervel
megoldani olyan, mintha gyval lo nnk verbre. Olyan IP-k megoldsban azonban, amelyeknek nagyon sok lehetsges megoldsuk van, a korltozs s sztvlaszts igen hatkony
mdszer lehet a nem optimlis pontok kikszblsre. Tegyk fel pldul, hogy a korltozs s sztvlasztst alkalmazzuk, s az aktulis als korlt az LB = 42. Ha egy olyan
rszfeladatot oldunk meg, amelyiknek a lehetsges tartomnya az IP 1 milli lehetsges
pontjt tartalmazza, s azt kapjuk, hogy a rszfeladat optimlis megoldsnl z < 42, akkor
1 milli nem optimlis pontot tudtunk kiszurni egyetlen LP megoldsval.
A tiszta IP-k korltozs s sztvlaszts mdszervel trtno megoldsnak a kvetkezok a kulcslpsei (a vegyes IP-k megoldst a kvetkezo alfejezetben trgyaljuk):
1. lps Ha egy rszfeladat feldertett, szksgtelen sztvlasztani. Egy rszfeladat hromflekppen lehet feldertett: (1) A rszfeladat nem lehetsges. (2) A rszfeladatnak van
olyan optimlis megoldsa, amelyben mindegyik vltoz egszrtku. (3) A rszfeladat optimlis z rtke (maximum feladatban) nem haladja meg az als korlt aktulis LB rtkt.
2. lps Egy rszfeladat a kvetkezo esetekben zrhat ki: (1) A rszfeladat nem lehetsges. A Telfa pldban a 4. rszfeladatot emiatt zrtuk ki. (2) Az LB (= az eddigi legjobb
megolds-jellt z rtke) legalbb akkora, mint a rszfeladat z rtke. A Telfa pldban a 3.
s 7. rszfeladatokat emiatt zrtuk ki.
A Telfa problma korltozs s sztvlasztssal trtno megoldsa sorn tbbszr tetszolegesen dntttnk. Az 1. rszfeladat optimlis megoldsban pldul mind az x 1 , mind
az x2 trtrtku volt, az gaztat vltozt nknyesen vlasztottuk. Ugyancsak nknyesen
dntttnk, amikor a kvetkezo megoldand rszfeladatot jelltk ki. Ezekto l a dntsektol
a keletkezo fa mrete, s gy az optimlis megolds megtallshoz szksges szmtgpido is nagymrtkben fgg. Tapasztalatukra s lelemnyessgkre alapozva a korltozs s
sztvlaszts alkalmazi kidolgoztak nhny tmutatst ilyen krdsek eldntsre.
ltalban kt megkzeltst hasznlnak a kvetkezo megoldand rszfeladat kijellsre. Leginkbb a LIFO szablyt kvetik, amely a legkso bb ltrehozott rszfeladatot oldja
meg.18 A LIFO levisz bennnket a korltozs s sztvlasztsi fa egyik oldaln (mint a
Telfa pldban), s hamar megtall egy megolds-jelltet. Majd visszamszunk a fa msik gnak tetejig. Emiatt a LIFO szablyt gyakran visszalptetsnek (backtracking) is
nevezik.
A msik gyakorta hasznlt mdszer a keresztlptets (jumptracking). Egy cscs gaztatsa utn a keresztlptets az sszes keletkezo rszfeladatot megoldja, majd a leggretesebb z rtkkel rendelkezo csccsal folytatja. Emiatt a keresztlptets gyakorta tugrik
a fa egyik oldalrl a msikra. ltalban tbb rszfeladatot generl s tbb szmtgpidot ignyel, mint a visszalptets. A keresztlptets arra az tletre pl, hogy a j z rtku
rszfeladatokat vizsglva hamarabb eljutunk a legjobb z rtkhez.
Nzzk meg, hogy melyik vltoz szerint gaztassunk, ha tbb trtrtku vltoz is
van a rszfeladat optimlis megoldsban? Gyakran a legjobb stratgia a legfontosabb
trtrtku vltozt vlasztani. Tegyk fel pldul, hogy a Nickles problmban egy rszfeladat optimlis megoldsban y1 s x12 is trtrtku. Az elobbi szablyt kvetve az y1
18 Ha kt rszfeladat is keletkezik egyidej
uleg, szmos kifinomult mdszer ltezik a kzlk val vlasztsra.
A rszletekre vonatkozan lsd Taha (1975) munkjt.

8.3. A korltozs s sztvlaszts mdszere

447

szerint gaztatnnk, mivel az y1 azt a dntst reprezentlja, hogy legyen (vagy ne legyen) lockbox az 1-es vrosban, s ez fontosabb dnts annl, hogy az 1-es rgibl a
2-es vrosba menjenek-e az utalvnyok. Szmos szmtgpes program a legkisebb indexu trtrtku vltoz szerint gaztat. Ezrt, ha egy egszrtku programozsi szmtgpes program indexelt vltozkat ignyel, a fontossguk szerint rdemes o ket megszmozni
(1 = legfontosabb).

M EGJEGYZSEK

1. Bizonyos IP-k esetn az LP-lazts optimlis megoldsa egyben az IP optimlis megoldsa is.
Tegyk fel, hogy az IP felttelei az Ax = b alakba rhatk. Amennyiben az A mindegyik ngyzetes almtrixnak +1, 1 vagy 0 a determinnsa19 , azt mondjuk, hogy az A mtrix unimodulris.
Ha az A unimodulris s a b mindegyik eleme egsz szm, az LP-lazts optimlis bzismegoldsban mindegyik vltoz egsz rtket vesz fel (a bizonytst lsd pl. Shapiro (1979) munkjban),
kvetkezskppen az IP-nek is optimlis megoldsa. Megmutathat, hogy brmelyik MKHF feladat
felttelmtrixa unimodulris. Emiatt, amint a 7. fejezetben lttuk, minden olyan MKHF feladatnak,
amelyben az sszes cscs nett kibocstsa, valamint az sszes l kapacitsa egsz, van egszrtku
optimlis megoldsa.
2. ltalnos szablyknt elmondhat, hogy minl inkbb hasonlt egy IP egy MKHF feladatra, annl
knnyebb az IP-t a korltozs s sztvlaszts mdszervel megoldani. Clszeru ezrt olyan modellt
keresni, amelyben a leheto legtbb vltoz egytthatja +1, 1 vagy 0. Szemlltetskppen idzzk
fel, hogy a 8.2. alfejezetbeli Nickles (lockbox) pldban szerepelt a kvetkezo 16 felttel:
1. felrs

xi j y j (i = 1, 2, 3, 4; j = 1, 2, 3, 4)
(25)
Mr a 8.2. alfejezetben megllaptottuk, hogy a (25) alatti 16 felttel kicserlse a kvetkezo 4 felttelre ekvivalens megfogalmazst ad:
2. felrs

x11 + x21 + x31 + x41 4y1

x12 + x22 + x32 + x42 4y2

x13 + x23 + x33 + x43 4y3

x14 + x24 + x34 + x44 4y4


Mivel a 2. felrsban 16 4 = 12 felttellel kevesebb van, azt gondolhatnnk, hogy a 2. felrs megoldsa ignyli a kevesebb szmtgpidot. De ez nem gy van. Lssuk, hogy mirt nem. Idzzk fel,
hogy a korltozs s sztvlaszts mdszere az egszrtku feladat LP-laztst oldja meg elo szr.
A 2. felrs LP-laztsnak lehetsges tartomnya sokkal tbb nemegsz pontot tartalmaz, mint az
1. felrs. Az y1 = y2 = y3 = y4 = 14 , x11 = x22 = x33 = x44 = 1 (a tbbi xi j egyenlo 0) pldul a
2. felrs LP-laztsnak lehetsges tartomnyban van, de nincs az 1. felrsban. Mivel a korltozs s sztvlaszts mdszernek az sszes nemegsz pontot ki kell szurnie, rtheto nek tunik, hogy
a 2. felrs megoldsa tbb idot ignyel, mint az 1. felrs. Valban, a LINDO nevu szmtgpes
program az 1. felrs optimlis megoldst rgtn megkapta az LP-lazts optimlis megoldsaknt.
Ugyanakkor, a 2. felrs megoldsa sorn 17 rszfeladatot oldott meg, mielo tt megtallta volna az optimlis megoldst. Vegyk szre, hogy a 2. felrsban szerepelnek a 4y1 , 4y2 , 4y3 s 4y4 tagok, amik
megzavarjk a lockbox feladat hlzatszeru szerkezett, s kevss hatkonny teszik a korltozs
s sztvlaszts mdszert.
3. Amikor egy IP-t oldunk meg egy valdi alkalmazsban, gyakran megelgsznk egy optimlishoz
kzeli megoldssal. Tegyk fel pldul, hogy egy lockbox problma megoldsa sorn az LP-lazts
optimumrtke 200 000($), teht a lockbox IP optimlis megoldsa is biztosan legalbb 200 000$os minimum kltsget jelez. Ha a korltozs s sztvlaszts sorn tallunk egy megolds-jelltet,
amelynl a kltsg 205 000$, mirt folytassuk az eljrst? Mg ha meg is talljuk az IP optimlis megoldst, 5000$-nl tbb kltsget akkor sem sprolhatunk meg a 205 000$-os megolds-jellthz kpest. Az is elofordulhat, hogy az optimlis megolds pontos meghatrozsa tbbe kerl, mint 5000$.
19 Egy

mtrix determinnst a 2.6 alfejezetben definiltuk.

448

8. fejezet Egszrtku programozs


Emiatt a korltozs s sztvlasztst gyakran befejezzk, ha olyan megolds-jelltet tallunk, amelynek a z rtke kzel van az LP-lazts z rtkhez.
4. A korltozs s sztvlasztsi problmk rszfeladatait gyakran a dul szimplex algoritmus egy
varinsval oldjk meg. Szemlltetskppen trjnk vissza a Telfa pldhoz. Az LP-lazts optimlis
tblja:
z
+ 1.25s1 + 0.75s2 = 41.25
x1

x2 + 2.25s1 0.25s2 = 2.25


1.25s1 + 0.25s2 = 3.75

Az LP-lazts megoldsa utn a 2. rszfeladatot oldottuk meg, ami nem ms, mint az 1. rszfeladat,
kibovtve az x1 4 felttellel. Idzzk fel, hogy a dul szimplex egy hatkony mdszer egy olyan
LP j optimlis megoldsnak megtallsra, amikor ismerjk az optimlis tblt, s egy j felttellel bovtjk az LP-t. Most az x1 4 felttellel bovtnk (ami az x1 e3 = 4 alakba is rhat). A
dul szimplex alkalmazshoz el kell tntetnnk az x1 bzisvltozt ebbol a felttelbol, s az e3 -at
kell az x1 e3 = 4 felttel bzisvltozjnak tenni. Kivonva az az optimlis tbla msodik sorbl
az x1 e3 = 4 felttelt, kapjuk a 1.25s1 + 0.25s2 + e3 = 0.25 felttelt. Ezt hozzvve az 1. rszfeladat optimlis tbljhoz, megkapjuk az 52. tblzatban szereplo tblt. A dul szimplex mdszer
szablyai szerint a harmadik sor valamelyik vltozjt kell a bzisba vonni. Mivel ebben a sorban
egyedl az s1 vltoznak negatv az egytthatja, az s1 lp be a bzisba. A bziscsere utn nyerjk
az 53. tblzatban szereplo optimlis tblt.
A 2. rszfeladat optimlis megoldsa teht z = 41, x2 = 1.8, x1 = 4, s1 = 0.20.

52. T B L Z A T
A dul szimplex
kiindul tblja a
2. rszfeladat
megoldsakor

53. T B L Z A T
A dul szimplex
optimlis tblja a
2. rszfeladat
megoldsakor

Bzisvltoz
z

+ 1.25s1 + 0.75s2
= 41.25
x2 + 2.25s1 0.25s2
= 2.25
x1 
1.25s1 + 0.25s2
= 3.75
1.25s1 + 0.25s2 + e3 = 0.25


z = 41.25
x2 = 2.25
x1 = 3.75
e3 = 0.25
Bzisvltoz

+
s2 +
e3 = 41
x2 + 0.20s2 + 1.8e3 = 1.8
x1

e3 = 4
s1 0.20s2 0.80e3 = 0.20

z = 41
x2 = 1.8
x1 = 4
s1 = 0.20

5. A 8. feladatban megmutatjuk, hogy ha az xk i s xk i + 1 felttelekkel gaztatunk, akkor az


elso keletkezo rszfeladat optimlis megoldsban xk = i, mg a msodik keletkezo rszfeladat optimlis megoldsban xk = i + 1 rtket vesz fel. Ez az szrevtel klnsen a rszfeladatok grafikus
megoldsa sorn hasznos. Pldul, ha tudjuk, hogy a 9. plda 5. rszfeladatnak optimlis megoldsban x2 = 1, akkor az x1 -nek az a legnagyobb rtke lesz az 5. rszfeladat megoldsa, amelyik az
x2 = 1 mellett az sszes felttelt kielgti.

8.3. A korltozs s sztvlaszts mdszere

449

Feladatok
A csoport

2. rszfeladat 0. rszfeladat + az x1 i + 1 felttel,

Oldjuk meg a korltozs s sztvlaszts mdszervel a kvetkezo IP-ket:


1.

max z = 5x1 + 2x2


f.h. 3x1 + x2 12
x1 + x 2 5

2.
3.

x1 , x2 0;

A Dorian Aut pldt a 3.2. alfejezetbol.


max z = 2x1 + 3x2
f.h.

x1 , x2 0;

x1 , x2 egsz

f.h. 4x1 + 9x2 26

5.

x1 , x2 0;

x1 + 4x2 5

3x1 + 2x2 7
6.

x1 , x2 egsz

min z = 4x1 + 5x2


f.h.

x1 , x2 0;

x1 , x2 egsz

max z = 4x1 + 5x2


f.h. 3x1 + 2x2 10
x1 + 4x2 11

3x1 + 3x2 13
x1 , x2 0;

7.

x1 , x2 egsz

max z = 7x1 + 3x2


f.h.

2x1 + x2 9

3x1 + 2x2 13

x1 , x2 0;

(c) A c(MOL0) + (1 c)MOL1 z rtke legalbb olyan


j, mint a MOL1 z rtke.
Magyarzza meg, hogy miknt segthet ez az eredmny a
korltozs s sztvlasztsi feladatok grafikus megoldsakor!

max z = 4x1 + 3x2


8x1 + 5x2 17

(a) Az x1 rtke a c(MOL0) + (1 c)MOL1-ben


egyenlo i-vel.
(b) A c(MOL0) + (1 c)MOL1 az 1. rszfeladat lehetsges megoldsa.

x1 + 2x2 10

3x1 + 4x2 25
4.

x1 , x2 egsz

ahol i egy egsz szm. Igazolja, hogy lesz legalbb egy


olyan optimlis megoldsa az 1. rszfeladatnak, amelyben
x1 = i, s legalbb egy olyan optimlis megoldsa a 2. rszfeladatnak, amelyben x1 = i + 1. tmutats: Tegyk fel,
hogy az 1. rszfeladatnak van egy olyan optimlis megoldsa (hvjuk MOL1-nek), amelyben x1 = x1 , ahol x1 < i.
Ekkor van olyan c (0 < c < 1) szm, amelyre a c(MOL0) +
(1 c)MOL1 kifejezs a kvetkezo hrom tulajdonsggal
rendelkezik:

x1 , x2 egsz

B csoport
8. Tegyk fel, hogy elgaztattunk egy rszfeladatot (hvjuk 0. rszfeladatnak, az optimlis megoldst pedig
MOL0-nak), s a kvetkezo kt rszfeladat keletkezett:
1. rszfeladat 0. rszfeladat + az x1 i felttel,

9. Az elkvetkezendo t hnapban az 54. tblzatban


megadott ignyeket kell idoben teljesteni. Az 1. hnap elejn a raktrkszlet 0. Ha egy hnapban van termels, az a
250$-os beindtsi kltsgen tl darabonknt 2$-os termelsi kltsggel jr. Mindegyik hnap vgn az tvitt kszlet
utn darabonknt 1$-os raktrozsi kltsg is felmerl.
(a) Hatrozza meg az sszkltsget minimalizl termelsi menetrendet a kvetkezo dntsi vltozkat hasznlva: xt = a t-edik hnap sorn elolltott termkek
szma; yt = 1, ha van termels a t-edik hnapban, yt = 0
klnben.
(b) Hatrozza meg az sszkltsget minimalizl termelsi menetrendet a kvetkezo dntsi vltozkat hasznlva: yt ugyanaz, mint az (a) rszben; xit = az i-edik
hnap sorn elolltott s a t-edik hnapban felhasznlt
termkek szma.
(c) Melyik modellfelrs ignyel kevesebb szmtgpidot?
(d) Adjon intuitv magyarzatot arra, hogy mirt a (b)
rszbeli felrst lehet gyorsabban megoldani, mint az (a)
rszbeli modellt!
54.

TBLZAT

Hnap
Igny

220

280

360

140

270

450

8. fejezet Egszrtku programozs

8.4.

A korltozs s sztvlaszts mdszere vegyes


egszrtku programozsi feladatok megoldsra
Emlkezznk vissza arra, hogy vegyes IP-kben bizonyos vltozk csak egsz rtkeket
vehetnek fel, mg a tbbi vltoz egsz s nem egsz rtkeket egyarnt felvehet. Vegyes
IP-k megoldsa esetn a korltozs s sztvlaszts 8.3. alfejezetben ismertetett mdszert
gy kell mdostani, hogy csak olyan vltoz szerint gaztatunk, amelyiknek egszrtkunek kell lennie. Tovbb ahhoz, hogy egy rszfeladat optimlis megoldsa megoldsjelltnek minosljn, elegendo csak az egszrtku vltozknak egsz rtket felvennik.
Szemlltetskppen tekintsk a kvetkezo vegyes IP-t:
max z = 2x1 + x2
f.h. 5x1 + 2x2 8

x1 + x 2 3
x1 , x2 0; x1 egsz

Most is az IP LP-laztst oldjuk meg eloszr. Az LP-lazts optimlis megoldsa: z = 11


3 ,
2
7
x1 = 3 , x2 = 3 . Mivel x2 trt is lehet, az x2 szerint nem gaztatunk; ha gy tennnk, kizrnnk a 2 s 3 kztti x2 -vel rendelkezo pontokat, s ezt nem akarjuk. Teht csak az x1 szerint
gaztathatunk. gy kapjuk a 16. brn lthat 2. s 3. rszfeladatokat.
16. B R A
A korltozs s
sztvlasztsi fa a
vegyes IP-re

1. rszfeladat

2. rszfeladat

3. rszfeladat

megolds-jellt

megolds-jellt

A 2. rszfeladattal folytatjuk. Ennek optimlis megoldsa: z = 3, x 1 = 0, x2 = 3, ami egy


megolds-jellt. A 3. rszfeladat megoldsa: z = 27 , x1 = 1, x2 = 32 , egy msik megoldsjellt. Mivel a 3. rszfeladat megoldsnak z rtke magasabb, mint a 2. rszfeladat megoldsnak z rtke, a 2. rszfeladat kizrhat. Azt kapjuk, hogy a 3. rszfeladatbl szrmaz
jellt (z = 72 , x1 = 1, x2 = 23 ) a vegyes IP optimlis megoldsa.

8.5. Htizsk feladatok megoldsa a korltozs s sztvlaszts mdszervel

451

Feladatok
A csoport

2.

f.h. x1 + 5x2 8

A korltozs s sztvlaszts mdszervel oldja meg a kvetkezo IP-ket:


1.

max z = 3x1 + x2

x1 , x2 0;

8.5.

x1 + 2x2 4

3.

f.h. 5x1 + 2x2 10


4x1 + x2 7

min z = 3x1 + x2

x1 , x2 0;

x1 egsz

max z = 4x1 + 3x2 + x3


f.h.

3x1 + 2x2 + x3 7

2x1 + x2 + 2x3 11

x2 egsz

x1 , x2 , x3 0;

x2 , x3 egsz

Htizsk feladatok megoldsa a korltozs s


sztvlaszts mdszervel
A 8.2. alfejezetbol tudjuk, hogy htizsk feladat egy olyan IP, amelyben egyetlen felttel
van. Ebben az alfejezetben olyan htizsk feladatokat vizsglunk, amelyekben mindegyik
vltoz csak 0 vagy 1 rtket vehet fel (az alfejezet vgn az 1. feladatban megmutatjuk,
hogy brmilyen htizsk feladat tfogalmazhat 01 rtku htizsk feladatt). Egy csupa
01 rtku vltozval rendelkezo htizsk feladat a kvetkezokppen rhat fel:
max z = c1 x1 + c2x2 + + cnxn
f.h. a1 x1 + a2x2 + + an xn b

(38)

xi = 0 vagy 1 (i = 1, 2, . . . , n),

ahol ci az i-edik dolog haszna, b a rendelkezsre ll ero forrs mennyisge, amibol az


i-edik dolog ai -t hasznl el.
55. T B L Z A T
A dolgok rangsora
a legjobbtl a
legrosszabbig egy
htizsk feladatban

1. dolog
2. dolog
3. dolog
4. dolog
5. dolog
6. dolog
7. dolog

ci
ai

Rangsor
(1 = legjobb, 7 = legrosszabb)

3.5 (dntetlen: harmadik-negyedik)


2
7
3.5
6
5
1

8
5
1
3

1
4
10
1
2

Amikor htizsk feladatokat oldunk meg korltozs s sztvlasztssal, a mdszer kt


szempontbl is nagyban leegyszerusdik. Mivel mindegyik vltoz csak 0 vagy 1 lehet, az
xi szerinti gaztats egy xi = 0 s egy xi = 1 gat fog eredmnyezni. Az LP-lazts (s a
tovbbi rszfeladatok) rnzsre megoldhatk. Vegyk szre ugyanis, hogy a acii hnyados
azt jelzi, hogy az i-edik dolog hogyan hasznost egy egysgnyi er o forrst. A legjobb dolgok
a legnagyobb acii -vel rendelkezok, a legrosszabbak pedig azok, amelyekre a acii a legalacsonyabb. A htizsk feladat egy rszfeladatnak megoldshoz szmtsuk ki a acii arnyokat.

452

8. fejezet Egszrtku programozs

Tegyk a legjobb dolgot a htizskba, majd a msodik legjobb dolgot s gy tovbb, amg
csak a kvetkezo legjobb dolog egszben mr nem fr be. Tltsk ki a htizskot ennek a
dolognak akkora rszvel, ami mg befr.
Szemlltetskppen, oldjuk meg a kvetkezo htizsk feladat LP-laztst:
max z = 40x1 + 80x2 + 10x3 + 10x4 + 4x5 + 20x6 + 60x7
f.h. 40x1 + 50x2 + 30x3 + 10x4 + 10x5 + 40x6 + 30x7 100

(39)

xi = 0 vagy 1 (i = 1, 2, . . . , 7)

Eloszr kiszmtjuk a acii arnyokat, s rangsoroljuk a vltozkat a legjobbtl a legrosszabbig (55. tblzat). A (39) LP-laztsnak megoldshoz elo szr a 7. dolgot vlasztjuk (x7 =
1). Marad 100 30 = 70 egysgnyi ero forrs. A msodik legjobb dolgot (a 2. dolog) is a
htizskba tesszk, x2 = 1. Marad 70 50 = 20 egysgnyi ero forrs. Mivel a 4. s az 1. dologra azonos a acii arny, brmelyik lehet a kvetkezo . Legyen x4 = 1. Ekkor 20 10 = 10
egysgnyi eroforrs marad. Az 1. dolog a kvetkezo legjobb, ebbol tltjk meg a hti10
zskot. Mivel 10 egysgnyi eroforrs van mg, x1 = 40
= 41 . A (39) LP-laztsnak egy
optimlis megoldsa teht z = 80 + 60 + 10 + ( 41 )(40) = 160, x2 = x7 = x4 = 1, x1 = 41 ,
x3 = x5 = x6 = 0.
Oldjuk most meg a korltozs s sztvlaszts mdszervel a Stockco problmjt (1.
plda). A modell a kvetkezo htizsk feladat volt.
max z = 16x1 + 22x2 + 12x3 + 8x4
f.h. 5x1 + 7x2 + 4x3 + 3x4 14
x j = 0 vagy 1

A korltozs s sztvlasztsi fa a 17. brn lthat. Ltjuk, hogy az 1. plda optimlis


megoldsa: z = 42, x1 = 0, x2 = x3 = x4 = 1, vagyis a 2., 3. s 4. befektetsi leheto sget kell
vlasztani, amelynek az NPV-je 42 000$. Amint a 8.2. alfejezetben emltettk, a legjobb
lehetosg kimarad.
M EGJEGYZS

A 17. brn lthat fa bejrsa a kvetkezokppen trtnt:


1.

A LIFO szably szerint hatroztuk meg, hogy melyik rszfeladatot oldjuk meg.

2. A 2. s 3. rszfeladatok kzl nknyesen vlasztva a 3.-kal kezdtnk. A 3. rszfeladat megoldst az x3 = 1 rtkadssal kezdtk, majd megoldottuk az gy keletkezo htizsk feladatot. Az
x3 = 1 utn 14 4 = 10 milli dollr vrt mg befektetsre. Az LP-lazts megoldst a fent trgyalt
mdon vgezve azt kaptuk, hogy a 3. rszfeladat optimlis megoldsa: x3 = 1, x1 = 1, x2 = 57 , x4 = 0,
z = 16 + ( 57 )(22) + 12 = 306
7 . A tbbi rszfeladatot hasonlan oldottuk meg, figyelve arra, hogy ha
egy rszfeladathoz az xi = 0-n keresztl jutottunk, akkor az optimlis megolds nem fektethet be az
i-edik lehetosgbe.
3. A 4. rszfeladat az x1 = x3 = x4 = 1, z = 36 megolds-jelltet eredmnyezte. Belltottuk, hogy
LB = 36.
4. A 6. rszfeladatbl egy olyan megolds-jelltet kaptunk, amelyre z = 42. Emiatt a 4. rszfeladatot kizrtuk a tovbbi vizsglatbl, s az als korltot felemeltk LB = 42-re.
5. A 7. rszfeladat nem volt lehetsges, hiszen az x1 = x2 = x3 = 1 megvalstsa nmagban is
mr 16 milli dolllrt ignyelt volna.
6.

A 8. rszfeladatot kizrtuk, mivel z rtke (z = 38) nem haladta meg az aktulis LB = 42 rtket.

8.5. Htizsk feladatok megoldsa a korltozs s sztvlaszts mdszervel

453

7. A 9. rszfeladat z rtke 42 67 . Mivel minden tiszta egszrtku megolds z rtke egsz, a 9.


rszfeladat gaztatsval 42-t meghalad egsz z rtket nem kaphatunk. Emiatt a 9. rszfeladatot is
kizrtuk a tovbbi vizsglatokbl.

A 20. fejezetben megmutatjuk, hogy miknt lehet a dinamikus programozs mdszervel megoldani a htizsk feladatokat.
17. B R A
A korltozs s
sztvlasztsi fa a
Stockco htizsk
feladatban

1. rszfeladat

2. rszfeladat

8. rszfeladat

9. rszfeladat

3. rszfeladat

4. rszfeladat

5. rszfeladat

megolds-jellt

6. rszfeladat

7. rszfeladat
nem lehetsges

megolds-jellt

454

8. fejezet Egszrtku programozs

Feladatok
A csoport

57.

1. Mutassa meg, hogy a kvetkezo problma miknt


fogalmazhat meg olyan htizsk feladatknt, amelyben
mindegyik vltoz 01! A NASA arra kvncsi, hogy az
u rsikl fedlzetre hromfle trgybl melyeket vigyk fel.
Az egyes trgyak slya s haszna az 56. tblzatban tallhat. Ha az u rsiklra ezekbol a trgyakbl legfeljebb 26 font
kerlhet fel, melyek legyenek azok?
56.

TBLZAT

1. trgy
2. trgy
3. trgy

Haszon

Tmeg
(font)

10
15
17

3
4
5

2. New Jerseybol Indianba kltzm. Olyan teherautt


breltem, amelyikbe 1.1 kbmter btor pakolhat. Az 57.
tblzat tartalmazza a kltztetendo darabok trfogatt s
rtkt. Mely darabokat vigyem magammal? Ha ezt a problmt htizsk feladatknt akarjuk megoldani, milyen nem
valszeru feltevseket kell tennnk?

8.6.

TBLZAT

Btor
Hlgarnitra
tkezogarnitra
Sztere
Pamlag
Tv

rtk
($)

Trfogat
(kbmter)

60
48
14
31
10

0.8
0.6
0.3
0.4
0.2

3. Ngy befektetsi lehetosgnk van. Az egyes projektek az 58. tblzatban megadott kszpnzt ignylik, illetve
nett jelenrtket eredmnyeznek (mindketto milli dollrban megadva). Ha a 0. idopontban 6 milli dollr befektetnivalnk van, melyik kombinci maximalizlja az NPV-t?
58.

TBLZAT

1. projekt
2. projekt
3. projekt
4. projekt

Kszpnzigny
a 0. idopontban
(milli $)

NPV

3
5
2
4

5
8
3
7

Kombinatorikus optimalizlsi feladatok megoldsa


a korltozs s sztvlaszts mdszervel
Kiss pontatlanul fogalmazva, egy kombinatorikus optimalizlsi feladat minden olyan
optimalizlsi feladat, amelynek vges sok lehetsges megoldsa van. Az ilyen problmk
megoldsra a korltozs s sztvlaszts gyakran a leghatkonyabb mdszer. Nzznk
hrom pldt kombinatorikus optimalizlsi feladatra:
1. Tz munkt kell egy gpen elvgezni. Ismerjk az egyes munkk elvgzshez szksges idot s a befejezs hatridejt. A munkk milyen sorrendje minimalizlja a kssek
sszegt?
2. Egy gynknek tz vros mindegyikt egyszer kell felkeresnie, miel o tt visszatrne
otthonba. A vrosok milyen sorrendje minimalizlja a megtett ssztvolsgot? Nem meglepo, hogy ezt a problmt utaz gynk problmnak (TSP travelling salesperson problem) hvjk.
3. Hogyan helyezznk el nyolc vezrt egy sakktbln gy, hogy semelyik kett o ne thesse egymst (lsd a 7. feladatot az alfejezet vgn)?
Ezekben a problmkban sok lehetsges megolds kzl kell vlasztanunk. Az 1. feladatban pldul a tz munka brmelyikvel kezdhetnk, majd a fennmarad kilenc munka

8.6. Kombinatorikus optimalizlsi feladatok megoldsa

455

brmelyikvel folytathatjuk s gy tovbb. Mg ebben a viszonylag kis problmban is


10(9)(8) (1) = 10! = 3 628 000 lehetsges sorrendje van a munkknak. Mivel egy kombinatorikus optimalizlsi feladatnak sok lehetsges megoldsa lehet, explicit felsorolsuk
jelentos szmtgpidot ignyelhet. Emiatt a korltozs s sztvlaszts mdszert gyakran hasznljk az sszes lehetsges megolds implicit szmbavtelre. Mint ltni fogjuk, a
korltozs s sztvlaszts mdszernek ki kell hasznlnia az adott kombinatorikus optimalizlsi feladat szerkezett.
Annak szemlltetsre, hogy a korltozs s sztvlaszts mdszervel hogyan oldhatunk meg kombinatorikus optimalizlsi feladatokat, megoldjuk a fenti 1. s 2. tpus problmt.

A korltozs s sztvlaszts mdszere a gptemezsi


problmra
A 10. pldban megmutatjuk, hogy miknt hasznlhat a korltozs s sztvlaszts mdszere munkknak egy gpre val temezsnek meghatrozsra. A gptemezsi problmra vonatkoz egyb korltozs s sztvlasztsi megkzeltsek Baker (1974), illetve
Hax s Candea (1984) munkiban tallhatk.

10.

59.

PLDA

TBLZAT

A munkk
idotartama s
hatrideje

Megolds

60.

Ngy munkt kell egy gpen elvgezni. A szksges munkaid o t s a munkk elvgzsnek
hatridejt az 59. tblzat tartalmazza. Egy munka ksse alatt a hatrid o tol a befejezsig
eltelt napok szmt rtjk (ha a munka a hatrido re vagy elotte elkszl, a kss 0). Milyen
sorrendben vgezzk a munkkat ahhoz, hogy a kssek sszege minimlis legyen?

1. munka
2. munka
3. munka
4. munka

Hatrido

6
4
5
8

8. nap vge
4. nap vge
12. nap vge
16. nap vge

Tegyk fel, hogy a munkk a kvetkezo sorrendben kerlnek sorra: 1234. Ekkor a
60. tblzatban lthat ksedelmek kvetkeznek be. Erre a sorrendre a kssek sszege =
0 + 6 + 3 + 7 = 16 nap. Most bemutatunk egy korltozs s sztvlasztsi megkzeltst az
ilyen tpus gptemezsi feladat megoldsra.

TBLZAT

A ksedelmek a
munkk 1234
elvgzsi sorrendje
esetn

A munka elvgzshez
szksges ido (nap)

1. munka
2. munka
3. munka
4. munka

A munka elkszltnek
idopontja

A munka
ksedelme

6
6 + 4 = 10
6 + 4 + 5 = 15
6 + 4 + 5 + 8 = 23

0
10 4 = 6
15 12 = 3
23 16 = 7

Mivel a feladat egy lehetsges megoldsa megadja a munkk elvgzsnek sorrendjt,


legyen

1 ha az i-edik munka a j-edik a sorban
xi j =
0 klnben

456

8. fejezet Egszrtku programozs

18. B R A
A korltozs s
sztvlasztsi fa a
gptemezsi
feladatban
1. cscs

2. cscs

3. cscs

10. cscs

11. cscs

12. cscs

4. cscs

5. cscs

6. cscs

8. cscs

7. cscs

9. cscs

A korltozs s sztvlasztsi megkzeltsnk elo szr az utoljra elvgzendo munka szerint osztlyozza a megoldsokat. Brmelyik sorrendben van utoljra elvgzend o munka,
teht brmely megoldsban x14 = 1, x24 = 1, x34 = 1 vagy x44 = 1. Ez eredmnyezi a 18.
brn az 14. gakat. Egy gaztatssal ltrejvo cscs egy als korltot ad a kssek sszegre (D). Pldul, ha x44 = 1, akkor a 4. munkt vgezzk el utoljra. Ebben az esetben
a 4. munka a 6 + 4 + 5 + 8 = 23. nap vgre kszl el, 23 16 = 7 nap ksssel. Vagyis
D 7 minden olyan megoldsban, amelyben x44 = 1. Ezt jelzi a 18. brn a 4. cscsban
a D 7. Hasonl szmolssal kapjuk, hogy ha x34 = 1, akkor D 11, ha x24 = 1, akkor
D 19, s ha x14 = 1, akkor D 15. Mivel nincs okunk az 14. cscsok egyikt sem kizrni, kivlasztjuk az egyiket s gaztatjuk. A keresztlptets elve szerint a D-re legkisebb
korltot ad cscsot, a 4.-et vlasztjuk. Az idetartoz megoldsokban x 13 = 1, x23 = 1 vagy
x33 = 1. A 4. cscs gaztatsa a 18. bra 57. cscsait adja. Mindegyik j cscsra kiszmtjuk a ksedelemsszeg als korltjt. Pldul a 7. cscsnl tudjuk, hogy a 4. munka lesz
az utols s a 3. munka az utols elo tti. A 4. cscs elemzsbol tudjuk, hogy a 4. munka
7 nap ksssel kszl el. A 3. munka 6 + 4 + 5 = 15 nap mltn lesz kszen, 15 12 = 3
nap ksssel. A 7. cscshoz tartoz sorrendek mindegyikre teht D 7 + 3 = 10 nap. Hasonl szmts adja, hogy az 5. cscsnl D 14, a 6. cscsnl pedig D 18. Tovbbra sem
zrhatjuk ki az 17. cscsok egyikt sem. A keresztlptets elvt kvetve a leggretesebb
7. cscs gaztatsval folytatjuk. Az sszes idetartoz megoldsban vagy az 1., vagy a 2.
munka a msodik a sorban, vagyis x12 = 1 vagy x22 = 1. A 7. cscs gaztatsa a 18. bra
8. s 9. cscst adja.
A 9. cscshoz a munkk 1234 sorrendje tartozik. Ezen temezs mellett a kssek
sszege: 7(a 4. munkra) + 3(a 3. munkra) + (6 + 4 4) (a 2. munkra) + 0 (az 1. munkra) = 16 nap. A 9. cscs egy lehetsges sorrendet reprezentl, egy olyan megoldsjelltet, amelyikre D = 16. Kizrhatjuk teht az ennl magasabb als korltot ad cscsokat.

8.6. Kombinatorikus optimalizlsi feladatok megoldsa

457

A 8. cscshoz a munkk 2134 sorrendje tartozik. Ezen temezs mellett a kssek


sszege: 7(a 4. munkra) + 3(a 3. munkra) + (4 + 6 8) (az 1. munkra) + 0 (a 2. munkra) = 12 nap. A 8. cscs egy lehetsges sorrendet reprezentl, egy olyan megoldsjelltet, amelyikre D = 12. Mivel a 8. cscs jobb, mint a 9. cscs, az utbbi kizrhat.
Hasonl okbl kizrhat mg az 5. cscs (D 14), a 6. cscs (D 18), az 1. cscs
(D 15) s a 2. cscs (D 19). A 3. cscshoz tartoz megoldsok kztt viszont mg lehet
olyan, amelyre D = 11. Emiatt a 3. cscsot gaztatjuk, s megkapjuk a 1012. cscsokat
aszerint, hogy x13 = 1, x23 = 1 vagy x43 = 1.
A 10. cscsnl D (kss, ha a 3. munka az utols) + (kss, ha az 1. munka a harmadik) = 11 + (6 + 4 + 8 8) = 21. Mivel minden idetartoz megoldsra D 21, ugyanakkor
van egy D = 12-es jelltnk, a 10. cscsot kizrhatjuk.
A 11. cscsnl D (kss, ha a 3. munka az utols) + (kss, ha a 2. munka a harmadik)
= 11 + (6 + 4 + 8 4) = 25. Minden idetartoz megoldsra D 25, teht a 11. cscsot is
kizrhatjuk.
Vgezetl, a 12. cscsnl D (kss, ha a 3. munka az utols) + (kss, ha a 4. munka
a harmadik) = 11 + (6 + 4 + 8 16) = 13. Minden idetartoz megoldsra D 13, teht a
12. cscsot is kizrhatjuk.
A 8. cscs kivtelvel a 18. bra minden cscst kizrtuk a vizsglatbl. A 8. cscs adja
a kss-minimalizl sorrendet: x44 = x33 = x12 = x21 = 1. A munkkat teht a 2134
sorrendben kell elvgezni, ezzel a kssek sszege csak 12 nap.

A korltozs s sztvlaszts mdszere az utaz gynk


problmra
11.

PLDA

61. T B L Z A T
A vrosok kztti
tvolsgok az
utaz gynk
feladatban

Megolds

Joe az Indiana llambeli Gary-ben l. Biztostsi irodi vannak Gary-ben, Fort Wayne-ben,
Evansville-ben, Terre Haute-ban s South Bendben. Minden decemberben vgigltogatja
az irodit. A 61. tblzat mutatja az egyes helysznek kztti tvolsgot (mrfldben). Milyen sorrendben ltogassa meg Joe az irodit, hogy a lehet o legkisebb tvolsgot kelljen
utaznia?

1. vros Gary
2. vros Fort Wayne
3. vros Evansville
4. vros Terre Haute
5. vros South Bend

Gary

Fort
Wayne

Evansville

Terre
Haute

South
Bend

0
132
217
164
58

132
0
290
201
79

217
290
0
113
303

164
201
113
0
196

58
79
303
196
0

Joe-nak meg kell hatroznia az t vrosnak egy olyan felkeressi sorrendjt, amely a megtett tvolsgot minimalizlja. Ha pldul Joe az 134521 tvonalon megy, sszesen
217 + 113 + 196 + 79 + 132 = 737 mrfldet tesz meg.
Az utaz gynk problma megfogalmazshoz legyen

1 ha Joe az i-edik vrosbl a j-edik vrosba megy
xi j =
0 klnben

458

8. fejezet Egszrtku programozs

19. B R A
Rszkrutak az
utaz gynk
feladatban

Tovbb, i 6= j-re,
ci j = az i-edik s j-edik vrosok kztti tvolsg
cii = M, ahol M egy nagy pozitv szm
Elkpzelheto, hogy Joe problmjra a vlaszt megkaphatjuk annak a hozzrendelsi feladatnak a megoldsval, amelyben a kltsgmtrix i j eleme c i j . Tegyk fel pldul, hogy
ennek a hozzrendelsi feladatnak az optimlis megoldsa: x 12 = x24 = x45 = x53 = x31 = 1.
Vagyis Joe-nak a GaryFort WayneTerre HauteSouth BendEvansvilleGary tvonalat
kell kvetnie. Ez a megolds 124531 alakban is rhat. Egy titervre azt mondjuk,
hogy egy krt ha ugyanabban a vrosban kezdo dik s vgzodik, tovbb a tbbi vrost
pontosan egyszer rinti.
Ha az elobbi hozzrendelsi feladat optimlis megoldsa egy krt, akkor az egyben
optimlis megoldsa az utaz gynk feladatnak is. (Mirt?) A hozzrendelsi feladat optimlis megoldsa sajnos nem felttlenl egy krt, lehet pldul az x 15 = x21 = x34 = x43 =
x52 = 1 is. Eszerint Gary-bol South Bendbe, onnan Fort Wayne-be, majd onnan vissza
Gary-be kell menni. Ez a megolds azt is mondja, hogy ha Joe Evansville-ben van, akkor
onnan Terre Haute-ba menjen, majd vissza Evansville-be (lsd 19. bra). Joe persze Garybol indul, teht ez a megolds nem viszi o t sem Evansville-be sem Terre Haute-ba. Ennek
oka, hogy a hozzrendelsi feladat optimlis megoldsa kt rszkrtbl ll. Egy rszkrt
olyan, mint egy krt, csak nem rint minden vrost. A jelenlegi megolds kt rszkrtbl ll: 1521 s 343. Ha ki tudnnk zrni az olyan lehetsges megoldsokat, amelyek
tbb rszkrtbl llnak, s gy megoldani a hozzrendelsi feladatot, akkor megkapnnk
az utaz gynk feladat optimlis megoldst. Ez azonban nem knnyu. A legtbb esetben a korltozs s sztvlaszts mdszere adja az utaz gynk feladat leghatkonyabb
megoldst.
Szmos korltozs s sztvlasztsi megkzelts ismert az utaz gynk feladat megoldsra (lsd Wagner (1975)). Mi egy olyat ismertetnk, amelyben a rszfeladatok hozzrendelsi feladatokk redukldnak. Azzal a hozzrendelsi feladattal kezdjk, amelyben
i 6= j-re a ci j kltsgelem az i s j vrosok kztti tvolsg, tovbb cii = M (ami kizrja,
hogy egy vrosbl nmagba mutasson az titerv). Mivel ebben a hozzrendelsi feladatban semmi sem zrja ki a rszkrutakat, ez a kevsb korltozott feladat egy laztsa az
eredeti utaz gynk feladatnak. Teht, ha a hozzrendelsi feladat optimlis megoldsa
egy lehetsges megoldsa az utaz gynk feladatnak (azaz, ha az optimlis hozzrendels
nem tartalmaz rszkrutakat), akkor annak optimlis megoldsa is. A korltozs s sztvlasztsi eljrst mutatja a 20. bra.
Eloszr a 62. tblzatbeli hozzrendelsi feladatot oldjuk meg (1. rszfeladat). Az optimlis megolds: x15 = x21 = x34 = x43 = x52 = 1, z = 495, ami kt rszkrtbl ll (1521
s 343), s gy nem lehet Joe problmjnak az optimlis megoldsa.

8.6. Kombinatorikus optimalizlsi feladatok megoldsa

20. B R A
A korltozs s
sztvlasztsi fa az
utaz gynk
feladatban

459

1. rszfeladat

3. rszfeladat

2. rszfeladat

4. rszfeladat

5. rszfeladat

megolds-jellt

6. rszfeladat

62. T B L Z A T
Az 1. rszfeladat
kltsgmtrixa

1. vros
2. vros
3. vros
4. vros
5. vros

7. rszfeladat

1. vros

2. vros

3. vros

4. vros

5. vros

M
132
217
164
58

132
M
290
201
79

217
290
M
113
303

164
201
113
M
196

58
79
303
196
M

Az 1. rszfeladatot gaztatjuk oly mdon, hogy kizrjuk az 1. rszfeladat egyik rszkrtjt a keletkezo rszfeladatok megoldsai kzl. A 343 rszkrt letiltst vlasztjuk.
Vegyk szre, hogy Joe problmjnak optimlis megoldsban biztosan x 34 = 0, vagy
x43 = 0 (ha x34 = x43 = 1 lenne az optimlis megoldsban, akkor megjelenne a 343
rszkrt). Az 1. rszfeladat gaztatsbl keletkezik a kvetkez o ketto:
2. rszfeladat 1. rszfeladat + (x34 = 0 vagy c34 = M).
3. rszfeladat 1. rszfeladat + (x43 = 0 vagy c43 = M).
Most (nknyesen vlasztva) a 2. rszfeladattal folytatjuk. A magyar mdszert alkalmazzuk a 63. tblzatbeli kltsgmtrixra. Az optimlis megolds: z = 652, x 14 = x25 = x31 =

460
63.

8. fejezet Egszrtku programozs


TBLZAT

A 2. rszfeladat
kltsgmtrixa

1. vros
2. vros
3. vros
4. vros
5. vros

1. vros

2. vros

3. vros

4. vros

5. vros

M
132
217
164
58

132
M
290
201
79

217
290
M
113
303

164
201
M
M
196

58
79
303
196
M

x43 = x52 = 1. Ebben kt rszkrt van: az 1431 s a 252, gy ez sem lehet Joe problmjnak optimlis megoldsa.
Kizrand a 252 rszkrutat, a 2. rszfeladatot gaztatjuk. Garantlnunk kell, hogy
x25 vagy x52 egyenlo nullval. gy kapjuk a kvetkezo kt rszfeladatot:
4. rszfeladat 2. rszfeladat + (x25 = 0 vagy c25 = M).
5. rszfeladat 2. rszfeladat + (x52 = 0 vagy c52 = M).
A LIFO szably szerint a 4. vagy az 5. rszfeladat kvetkezik. Mi (nknyesen) a 4.-et
vlasztjuk. A magyar mdszert a 64. tblzatbeli kltsgmtrixra alkalmazva azt kapjuk,
hogy az optimlis megolds: z = 668, x15 = x24 = x31 = x43 = x52 = 1. Ez a megolds
nem tartalmaz rszkrutat, az 152431 krutat adja. A 4. rszfeladatbl teht egy
megolds-jellt szrmazik, erre z = 668. Az olyan cscsokat teht kizrhatjuk, amelyek
z rtke > 668.
64.

TBLZAT

A 4. rszfeladat
kltsgmtrixa

1. vros
2. vros
3. vros
4. vros
5. vros

1. vros

2. vros

3. vros

4. vros

5. vros

M
132
217
164
58

132
M
290
201
79

217
290
M
113
303

164
201
M
M
196

58
M
303
196
M

A LIFO szablyt kvetve, az 5. rszfeladat van soron. A magyar mdszert a 65. tblzatbeli kltsgmtrixra alkalmazva azt kapjuk, hogy az optimlis megolds: z = 704,
x14 = x43 = x32 = x25 = x51 = 1. Ez is egy krt, de mivel z = 704 rtke rosszabb, mint
a 4. rszfeladatban tallt jellt z = 668 rtke, az 5. rszfeladatot kizrhatjuk a tovbbi
vizsglatokbl.
65. T B L Z A T
Az 5. rszfeladat
kltsgmtrixa

1. vros
2. vros
3. vros
4. vros
5. vros

1. vros

2. vros

3. vros

4. vros

5. vros

M
132
217
164
58

132
M
290
201
M

217
290
M
113
303

164
201
M
M
196

58
79
303
196
M

Egyedl a 3. rszfeladat marad. A 66. tblzatbeli hozzrendelsi feladat optimlis megoldsra x13 = x25 = x34 = x41 = x52 = 1, z = 652 addik. Ez a megolds kt rszkrtbl ll: 1341 s 252. Azonban 652 < 668, a 3. rszfeladat teht mg tartalmazhat
olyan megoldst, amelyben nincsen rszkrt s jobb, mint a z = 668. Ezrt gaztatjuk a
3. rszfeladatot, kizrand a fenti rszkrutakat. Az utaz gynk feladat brmelyik, a 3.

8.6. Kombinatorikus optimalizlsi feladatok megoldsa

66.

TBLZAT

A 3. rszfeladat
kltsgmtrixa

1. vros
2. vros
3. vros
4. vros
5. vros

1. vros

2. vros

3. vros

4. vros

5. vros

M
132
217
164
58

132
M
290
201
79

217
290
M
M
303

164
201
113
M
196

58
79
303
196
M

461

rszfeladathoz tartoz lehetsges megoldsban x25 = 0 vagy x52 = 0 kell legyen (mirt?).
Emiatt a kvetkezo rszfeladatokat hozzuk ltre:
6. rszfeladat 3. rszfeladat + (x25 = 0 vagy c25 = M).
7. rszfeladat 3. rszfeladat + (x52 = 0 vagy c52 = M).
A 6. rszfeladattal folytatjuk. Az optimlis megolds: x15 = x34 = x23 = x41 = x52 = 1,
z = 704. Ez ugyan nem tartalmaz rszkrutat, de 704-es z rtke gyengbb, mint a 4. rszfeladatbl szrmaz megolds-jellt, ezrt a 6. rszfeladatbl optimlis megoldst nem
kaphatunk.
Mr csak a 7. rszfeladat maradt. Ennek optimlis megoldsa az x 13 = x25 = x31 = x42 =
x54 = 1, z = 910. Mivel a z = 910 is gyengbb a z = 668-nl, a 7. rszfeladat sem adhat
optimlis megoldst.
A 4. rszfeladat eredmnyezte teht az optimlis megoldst: Joe-nak a GarySouth
BendFort WayneTerre HauteEvansvilleGary tvonalon kell haladnia, s sszesen 668
mrfldet kell megtennie.

Heurisztikus eljrsok a TSP megoldsra


Amikor a korltozs s sztvlaszts mdszervel olyan utaz gynk feladatokat (TSP)
oldunk meg, amelyekben sok vrost kell felkeresni, jelent o s szmtgpes futsi idovel
kell szmolnunk. Emiatt a TSP-kre gyakran heurisztikus mdszereket hasznlnak, amelyek gyorsan egy j (de nem felttlenl a legjobb) megoldshoz vezetnek. Heurisztikus
mdszeren egy olyan intuitven igazolt eljrst rtnk, amelyik a feladatot prblkozsos
kzeltssel oldja meg, s olyankor hasznljuk, amikor a feladat pontos megoldsa tl sokig tartana. Kt heurisztikt mutatunk be a TSP-k (kzelto ) megoldsra: a legkzelebbiszomszd, illetve a legolcsbb-beszrs heurisztikkat.
A legkzelebbi-szomszd heurisztika (NNH nearest-neighbor heuristic) egy tetsz o legesen vlasztott vrosbl indul, majd a legkzelebbi vrosba megy. A legutoljra felkeresett vrosbl a hozz legkzelebbi mg meg nem ltogatott vrosba vezet tovbb az
tvonal egszen addig, amg egy krutat nem kapunk. Most a 11. pldra alkalmazzuk
az NNH-t. Az (nknyesen vlasztott) 1. vrosbl indulunk. Az 1. vroshoz az 5. vros
van legkzelebb, ltrehozzuk az 15 lt. A 2., 3. s 4. vrosok kzl a 2. van a legkzelebb az 5. vroshoz, gy mr kt lnk van: 152. A 3. s 4. vrosok kzl a 4. van a
legkzelebb a 2. vroshoz, az lek teht: 1524. Ezutn persze a 3. vrosnak kell kvetkeznie, majd visszatrnk az 1. vrosba. gy kapjuk az 152431 krutat. Ebben
az esetben az NNH egy optimlis krutat eredmnyezett. Ugyanakkor, ha a 3. vrossal
kezdtnk volna, a 341523 krutat kaptuk volna (ellen o rizzk!). Ennek a krtnak a
hossza 113 + 164 + 58 + 79+ 290 = 704 mrfld, nem a lehet o legkevesebb. Az NNH teht
nem felttlenl ad optimlis krutat. Clszeru mindegyik vrosbl kiindulva alkalmazni az
NNH-t, s az eredmnyl kapott krutak kzl a legjobbat vlasztani.

462

8. fejezet Egszrtku programozs

A legolcsbb-beszrs heurisztika (CIH cheapest-insertion heuristic) is egy tetsz o legesen vlasztott vrosbl indul. Eloszr megkeressk a legkzelebbi szomszdot, s ltrehozzuk az e kt vrosbl ll rszkrutat. Ezutn a leheto legolcsbb mdon beszrunk egy
vrost a rszkrtba, azaz gy helyettestjk a rszkrt egyik lt (mondjuk az (i, j) lt)
egy csatlakoz lprral ez esetben az (i, k) s (k, j) lekkel, ahol k egy, az aktulis rszkrtban nem szereplo vros , hogy a rszkrt hossza a legkevsb nvekedjen. Legyen c i j
az (i, j) l hossza. Ha az (i, j) lt kicserljk az (i, k) s (k, j) lekkel, a rszkrt hosszhoz
cik + ck j ci j addik. Addig folytatjuk a vrosok beszrst, amg egy krutat nem kapunk.
Kezdjk a CIH-t is az 1. vrossal. Hozz az 5. vros a legkzelebbi, az els o rszkrt teht
az (1, 5)(5, 1). Az (1, 5) lt helyettesthetjk az (1, 2)(2, 5), (1, 3)(3, 5) s (1, 4)(4, 5)
lprokkal, az (5, 1) lt pedig az (5, 2)(2, 1), (5, 3)(3, 1) s (5, 4)(4, 1) kitr o kkel. A 67.
tblzat mutatja azokat a szmtsokat, amelyekbo l meghatrozhat, hogy az (1, 5)(5, 1)
rszkrt melyik lt kell kicserlni, s mire (* jelli a helyes dntst). Amint lthat, akr
az (1, 5), akr az (5, 1) kicserlheto . Mi az (1, 5) lt vlasztjuk, s helyettestjk az (1, 2)
(2, 5) lprral. gy kapjuk az (1, 2)(2, 5)(5, 1) rszkrutat. Ennek egy (i, j) lt kell az
(i, k)(k, j) lprra cserlni, ahol k = 3 vagy 4. A szmtsokat a 68. tblzat mutatja.
67.

TBLZAT

Szmtsok az
(1, 5)(5, 1) egyik
lnek
helyettestshez

68.

TBLZAT

Szmtsok az
(1, 2)(2, 5)(5, 1)
egyik lnek
helyettestshez

Kilpo l

Belpo lpr

Hozzadott tvolsg

(1, 5)*
(1, 5)
(1, 5)
(5, 1)*
(5, 1)
(5, 1)

(1, 2)(2, 5)
(1, 3)(3, 5)
(1, 4)(4, 5)
(5, 2)(2, 1)
(5, 3)(3, 1)
(5, 4)(4, 1)

c12 + c25 c15 = 153


c13 + c35 c15 = 462
c14 + c45 c15 = 302
c52 + c21 c51 = 153
c53 + c31 c51 = 462
c54 + c41 c51 = 302

Kilpo l

Belpo lpr

Hozzadott tvolsg

(1, 2)
(1, 2)*
(2, 5)
(2, 5)
(5, 1)
(5, 1)

(1, 3)(3, 2)
(1, 4)(4, 2)
(2, 3)(3, 5)
(2, 4)(4, 5)
(5, 3)(3, 1)
(5, 4)(4, 1)

c13 + c32 c12 = 375


c14 + c42 c12 = 233
c23 + c35 c25 = 514
c24 + c45 c25 = 318
c53 + c31 c51 = 462
c54 + c41 c51 = 302

Most az (1, 2) lt cserljk az (1, 4)(4, 2) lprra, s kapjuk az (1, 4)(4, 2)(2, 5)
(5, 1) rszkrutat. Ennek a rszkrtnak valamelyik (i, j) lt kell most az (i, 3)(3, j) lprral helyettesteni. A szmtsokat a 69. tblzat tartalmazza. Az (1, 4) helyett az (1, 3)
s (3, 4) leket behozva megkapjuk az (1, 3)(3, 4)(4, 2)(2, 5)(5, 1) krutat. Ebben a
pldban a CIH optimlis krthoz vezetett de ez ltalban nem felttlenl van gy.
69.

TBLZAT

Szmtsok az
(1, 4)(4, 2)
(2, 5)(5, 1) egyik
lnek
helyettestshez

Kilpo l

Belpo lpr

Hozzadott tvolsg

(1, 4)*
(4, 2)
(2, 5)
(5, 1)

(1, 3)(3, 4)
(4, 3)(3, 2)
(2, 3)(3, 5)
(5, 3)(3, 1)

c13 + c34 c14 = 166


c43 + c32 c42 = 202
c23 + c35 c25 = 514
c53 + c31 c51 = 462

8.6. Kombinatorikus optimalizlsi feladatok megoldsa

463

Heurisztikus eljrsok rtkelse


Heurisztikk rtkelsre a kvetkezo hrom szempont vetodik fel:
1.

Teljestmnygarancik.

2.

Valsznusgi elemzs.

3.

Empirikus elemzs.

A teljestmnygarancia egy legrosszabb-eset korlt, amely megmondja, hogy a heurisztika


ltal kapott krt legfeljebb mennyire maradhat el az optimlistl. Az NNH-ra vonatkozan
meg lehet mutatni, hogy tetszoleges r szmot vve lehet olyan TSP-t konstrulni, hogy az
NNH szerinti krt r-szer hosszabb, mint az optimlis krt. A lehet o legrosszabb esetet
nzve teht az NNH gyengn teljest. A CIH-ra vonatkozan megmutattk, hogy ha a TSP
kltsgmtrixa szimmetrikus s teljesti a hromszg-egyenlo tlensgeket (azaz ci j = c ji s
cik ci j + c jk minden i, j, k-ra), akkor a CIH szerinti krt legfeljebb ktszer olyan hossz,
mint az optimlis krt.
A valsznusgi elemzs sorn felttelezik, hogy a vrosok elhelyezkedse valamilyen
ismert valsznusgi eloszlst kvet. Feltehetjk pldul, hogy a vrosok pozciit egy egysgnyi hosszsg, szlessgu s magassg kockn egyenletes eloszlst kvet o , fggetlen
valsznusgi vltozk rjk le. Az egyes heurisztikkra ekkor kiszmtjuk a kvetkez o
arnyt:
a heurisztika szerinti krt vrhat hossza
az optimlis krt vrhat hossza
Minl kzelebb van ez az arny az 1-hez, annl jobb a heurisztika.
Az empirikus elemzs sorn sszehasonltjk a heurisztika szerinti megoldst az optimlissal szmos olyan pldban, amelyekben ismert az optimlis krt. t, egyenknt 100
vrost tartalmaz TSP-t vve Golden, Bodin, Doyle s Stewart (1980) azt talltk, hogy
az NNH amikor mindegyik vrosbl indtva lefuttattk, s a legjobb megoldst vettk
tlagosan 15%-kal hosszabb krutakat tallt, mint az optimlis krutak. Ugyanezekre a pldkra alkalmazva a CIH (szintn mindegyik vrosbl indtva s a legjobb megoldst vve)
az optimlis krutakhoz kpest ugyancsak tlagosan 15%-kal hosszabb krutakat tallt.

M EGJEGYZSEK

1. Golden, Bodin, Doyle s Stewart (1980) lernak egy olyan heurisztikt, amellyel rendszeresen az
optimlis krthoz 2-3%-on bell lehet kerlni.
2. A heurisztikk sszevetsekor a szmtgpes futsi ido, illetve az implementci egyszerusge
is fontos szempont.
3. A heurisztikk kituno trgyalst adjk Lawler (1985) knyvnek 57. fejezetei.

A TSP egy egszrtku programozsi modellje


Ebben a rszben megadunk egy IP-t a TSP megoldsra. Megjegyezzk, hogy nagymretu
TSP-k esetn ez a megfogalmazs nehezen kezelheto s nem hatkony. Tegyk fel, hogy a
TSP-ben az 1, 2, 3, . . . , N vrosok szerepelnek, i 6= j-re ci j = az i-edik vrostl a j-edik
vrosig vett tvolsg, s cii = M, ahol M egy nagyon nagy szm (a feladatbeli tvolsgokhoz kpest). A cii = M rtkads biztostja, hogy az i-edik vrosbl nem megynk rgtn

464

8. fejezet Egszrtku programozs

az i-edik vrosba. Legyen tovbb


(
1 ha az utaz gynk az i-edik vrosbl a j-edik vrosba megy
xi j =
0 klnben
Ekkor a TSP megoldhat a kvetkezo IP-vel:
min z = ci j xi j
i

f.h.

(40)

i=N

xi j = 1

( j = 1, 2, . . . , N)

(41)

xi j = 1

(i = 1, 2, . . . , N)

(42)

i=1
j=N
j=1

ui u j + Nxi j N 1 (i 6= j; i = 2, 3, . . . , N; j = 2, 3, . . . , N)

(43)

minden xi j = 0 vagy 1, minden u j 0

A (40) clfggvny a krt leinek sszhosszt adja meg. A (41) felttelek biztostjk, hogy
mindegyik vrosba egyszer rkeznk meg, a (42) felttelek pedig azt, hogy mindegyik
vrosbl egyszer indulunk el. A modell kulcsfelttelei a (43) alattiak, ezek biztostjk a
kvetkezoket:
1. Az xi j rtkeknek semelyik rszkrutat tartalmaz halmaza nem lehetsges megolds
(mert megsrti a (43) felttelt).
2. Az xi j rtkeknek brmelyik krutat alkot halmaza lehetsges megolds (mert vannak olyan u j rtkek, amelyekkel fennll a (43)).
Annak szemlltetsre, hogy az xi j rtkeknek brmelyik rszkrutat tartalmaz halmaza
megsrti a (43)-at, tekintsk a 19. brn lthat 1521 s 343 rszkrutakat eredmnyezo x15 = x21 = x34 = x43 = x52 = 1 hozzrendelst. Vlasszuk az 1-es vrost nem
rinto 343 rszkrutat, s rjuk fel az lekhez tartoz (43) alatti u 3 u4 + 5x34 4 s
u4 u3 + 5x43 4 feltteleket. sszeadva o ket kapjuk az 5(x34 + x43 ) 8 felttelt, ami
nyilvnvalan kizrja, hogy x43 = x34 = 1 legyen. A 343 rszkrutat (s a tbbi rszkrutat is!) kiszurik a (43) felttelek.
Lssuk most, hogy az xi j rtkek tetszoleges, krutat alkot halmaza esetn mirt lteznek olyan u j rtkek, hogy teljesl az sszes (43) alatti felttel. Tegyk fel, hogy az
1-es vrosbl indulunk (mivel mindegyiket rinteni fogjuk, ezt megtehetjk). Legyen t i =
az i-edik vros pozcija a krton. Ekkor az ui = ti rtkekkel az sszes (43) alatti felttel
teljesl. Szemlltetskppen vegyk az 134521 krutat. Ekkor u 1 = 1, u2 = 5, u3 = 2,
u4 = 3 s u5 = 4. Lssuk a (43) feltteleket, eloszr egy xi j = 1 lhez tartozt. Az x52 -hz
pldul az u5 u2 + 5x52 4 tartozik. Mivel a 2-es vros rgtn az 5-s utn kvetkezik,
u5 u2 = 1, az x52 -hz tartoz (43)-beli felttel (1 + 5 4) teht teljesl. Egy xi j = 0
lhez, mondjuk az x32 -hz az u3 u2 + 5x32 4 felttel tartozik, ami az u3 u2 4-re
egyszerusdik. Mivel u3 5 s u2 2, az u3 u2 nem lehet 5 2-nl tbb.
Ez mutatja, hogy a (40)(43) felttelek kiszurik az N vros 1-gyel kezd o do sorozatai kzl az sszes olyat, amelyik tartalmaz rszkrutat, de egy olyat sem, amelyik nem tartalmaz
rszkrutat. A (40)(43)-at megoldva teht a TSP optimlis megoldst kapjuk.

8.6. Kombinatorikus optimalizlsi feladatok megoldsa

465

Feladatok
A csoport

72.

1. Ngy munkt kell elvgezni egy gpen. A 70. tblzat adja meg az egyes munkk idotartamt s befejezsnek
hatridejt. A korltozs s sztvlaszts mdszervel hatrozza meg a munkk elvgzsnek azt a sorrendjt, amelyik
minimalizlja a kssek sszegt!
70.

0
1
2
2

1
0
3
2.9

2
3
0
3

2
2.9
3
0

TBLZAT

A munka
idotartama
(perc)

A munka
hatrideje

7
5
9
11

a 14. perc vge


a 13. perc vge
a 18. perc vge
a 15. perc vge

1. munka
2. munka
3. munka
4. munka

2. A Sunco naponta ngyfle benzint llt elo: lommentes szupert (OMS), lommentes normlt (OMN), lmozott
szupert (OTS) s lmozott normlt (OTN). A berendezsek
tiszttsa s belltsa miatt egy adag benzin elolltsnak
ideje fgg attl, hogy elotte milyen tpus benzin kszlt.
Tovbb tart pldul az tlls az lommentes s lmozott
benzinfajtk kztt, mint kt lommentes kztt. A 71. tblzat mutatja (percben megadva) az egyes benzinfajtkbl
a napi adagok elolltshoz szksges idot. A korltozs
s sztvlaszts mdszervel hatrozza meg, hogy naponta
milyen sorrendben kszljenek az egyes benzinfajtk!
71.

1
2
3
4

TBLZAT

TBLZAT

Utoljra
elolltott
benzin
OMN
OMS
OTN
OTS

Elolltand benzin
OMN OMS OTN OTS

60
90
130

50

130
120

120
140

80

140
110
60

Megjegyzs: Tegyk fel, hogy a tegnapi utoljra kszlt


benzin az elodje a mai elsonek.
3. Egy hlzatban Hamilton-tnak egy olyan zrt tvonalat neveznk, amelyik mindegyik cscson pontosan egyszer halad t, mielott visszatrne a kiindul cscsba. Egy
ngy vrost tartalmaz TSP pldjn magyarzza meg, hogy
a TSP mirt ekvivalens a hlzat legrvidebb Hamiltontjnak megkeressvel!
4. Egy nyomtatott ramkrn ngy tske van, a kzttk
lvo tvolsgokat mutatja (cm-ben megadva) a 72. tblzat.

(a) Tegyk fel, hogy hrom huzallal gy akarjuk sszektni a tskket, hogy a felhasznlt huzalok sszhossza
minimlis legyen. Oldja meg ezt a problmt a 8. fejezetben trgyalt technikk egyikvel!
(b) Tegyk fel, hogy tovbbra is minimlis sszhosszsg hrom huzallal akarjuk sszektni a tskket, de
most gy, hogy semelyik tskt ne rintse kettonl tbb
huzal (mert akkor rvidzrlat keletkezik). Adjon meg
egy olyan utaz gynk feladatot, amellyel a problma
megoldhat! (tmutats: Legyen egy mindegyik tsktol 0 tvolsgra lvo 0 jelu tske is.)
5.

(a) Adja meg a 2. feladatbeli TSP-nek az NNH


szerinti megoldst! Kezdje az OMN-nel!
(b) Adja meg a 2. feladatbeli TSP-nek a CIH szerinti
megoldst! Kezdje az OMNOMSOMN rszkrttal!

6. Egy csomagkldo t klnbzo helysznen trolja a ruhkat. Naponta tbbszr kikldenek egy autt a raktrakhoz, hogy szedje ssze a rendelseket, majd trjen velk
vissza a csomagolba. Vzoljon fel egy TSP-t, amellyel minimalizlhat a rendelsek begyujtshez s a csomagolba
val szlltshoz szksges ido!

B csoport
7. A korltozs s sztvlaszts mdszervel lltson fel
(ha lehetsges) ngy vezrt egy 4 4-es sakktblra gy,
hogy semelyik ketto ne sse egymst! (tmutats: Legyen
xi j = 1, ha egy vezr kerl a sakktbla i-edik sornak j-edik
oszlopbeli helyre, s xi j = 0 klnben. gaztassunk gy,
mint a gptemezsi feladatban. Szmos cscs kizrhat,
mert nem megengedett. Az x11 = x22 = 1 lekhez tartoz
cscs pldul nem megengedett, mert a kt vezr egyms
tls tsvonalban ll.)
8. Jllehet a magyar mdszer hatkonyan oldja meg a
hozzrendelsi feladatokat, e clra a korltozs s sztvlaszts is hasznlhat. Tegyk fel, hogy egy vllalatnak
t gyra s t raktra van. Mindegyik gyr ignyt egyetlen raktrbl kell kielgteni, s mindegyik raktrbl csak
egyetlen gyrba szllthatnak. A 73. tblzat mutatja (ezer

466

8. fejezet Egszrtku programozs

$-ban megadva) az egyes gyrak ignynek az egyes raktrakbl trtno kielgtsnek a kltsgt.

egy utols vgssal a kiindul mintapozcit vissza kell lltanunk.

73.

74.

TBLZAT

TBLZAT

Gyr
1. raktr
2. raktr
3. raktr
4. raktr
5. raktr

5
10
5
8
9

15
12
17
9
10

20
5
18
10
5

25
15
9
5
11

10
19
11
12
7

Legyen xi j = 1, ha az i-edik raktrt rendeljk a j-edik gyrhoz, s xi j = 0 klnben. gaztassunk eloszr az 1. gyrhoz
rendelt raktr szerint. gy t g keletkezik: x11 = 1, x21 = 1,
x31 = 1, x41 = 1 s x51 = 1. Hogyan kaphatunk egy als
korltot az egy ghoz tartoz hozzrendelsek sszkltsgre? Vegyk az x21 = 1 gat. Ha x21 = 1, a 2. sorbl, illetve az 1. oszlopbl tbb kltsgelem mr nem jhet, gy
annl olcsbb megoldst mr nem kaphatunk, mint ha a 2.
sor s az 1. oszlop trlse utni reduklt mtrixban a sorok
minimlis elemeit vennnk. Teht minden olyan hozzrendels sszkltsge legalbb 10 + 10 + 9 + 5 + 5 = 39, amiben x21 = 1. Ugyangy nem kaphatunk olcsbb megoldst,
mint ha a 2. sor s az 1. oszlop trlse utni reduklt mtrixban az oszlopok minimlis elemeit vennnk. Azt kapjuk,
hogy minden olyan hozzrendels sszkltsge legalbb
10 + 9 + 5 + 5 + 7 = 36, amelyben x21 = 1. A kt lehetosg
kzl a szigorbbat vve addik, hogy minden olyan hozzrendels sszkltsge legalbb max(36, 39) = 39, amiben x21 = 1. Amennyiben teht egy gon olyan megoldsjelltet tallunk, amelynek az sszkltsge nem tbb, mint
39, az x21 = 1 g kizrhat. Ezen tlet segtsgvel oldja
meg a feladatot a korltozs s sztvlaszts mdszervel!
9.20 Tekintsnk egy hossz tekercs taptt, amelynek a
mintja mterenknt ismtlodik. Ngy taptadarabot kell levgnunk a tekercsrol. A vgtol (0 pont) szmtva az egyes
darabok kezdo- s vgpontja a 74. tblzatban tallhat.
Vagyis az 1. darab mintja a tekercs vgtol 0.3 mterre
(aztn ismt 1.3 mterre) kezdodik, s a tekercs vgtol 0.7
mterre (majd jra 1.7 mterre) vgzodik. A tekercs vgtol
szmtva milyen sorrendben vgjuk le a darabokat, hogy minimlis mennyisgu hulladk keletkezzk? Tegyk fel, hogy

20 Garfinkle

21 Magirou

(1977) alapjn.
(1986) alapjn.

Kezdopont
(mter)

Vgpont
(mter)

0.3
0.4
0.2
0.7

0.7
0.8
0.5
0.9

1. darab
2. darab
3. darab
4. darab

10.21 Nyomtatott ramkrk alaplapjait egy programozhat


frgp lyukasztja. Az t elksztendo furat x s y koordintit adja meg a 75. tblzat. A frfej mozgatsa kt furat kztt annyi msodpercet vesz ignybe, mint amennyi
a tvolsguk. Milyen frsi sorrend minimalizlja a frfej
mozgatshoz szksges idot?
75.

TBLZAT

Furat

1
3
5
7
8

2
1
3
2
3

1
2
3
4
5

11. Ngy munkt kell ugyanazon a gpen elvgezni. Az


egyes munkk idotartamt, elvgzsnek hatridejt s a ksedelmi bntetst (dollr/nap) a 76. tblzat adja meg.
76.

TBLZAT

1. munka
2. munka
3. munka
4. munka

Idotartam

Hatrido

Bntets

4 nap
5 nap
2 nap
3 nap

4. nap
2. nap
13. nap
8. nap

4
5
7
2

A korltozs s sztvlaszts mdszervel hatrozza meg a


munkknak azt a sorrendjt, amelyik minimalizlja a ksedelmi bntetst!

8.7. Implicit leszmlls

8.7.

467

Implicit leszmlls
Az implicit leszmlls mdszervel gyakran oldanak meg 01 IP-ket arra tmaszkodva,
hogy mindegyik vltoz csak 0 vagy 1 rtket vehet fel, s ez leegyszerusti a korltozs
s sztvlasztsi eljrsban az gaztatst, az als korlt meghatrozst, illetve egy cscs
kizrhatsgnak eldntst.
Az implicit leszmlls trgyalsa elott megmutatjuk, hogy miknt lehet brmilyen
tiszta IP-t tfogalmazni 01 IP-v: fejezzk ki az eredeti IP mindegyik vltozjt a 2 hatvnyainak sszegeknt. Pldul, ha az xi vltoz egszrtku, s n az a legkisebb egsz
szm, amelyikre biztosan igaz, hogy xi < 2n+1 , akkor az xi (egyrtelmuen) felrhat a
20 , 21 , . . . , 2n1 , 2n hatvnyok sszegeknt, mgpedig az
xi = un 2n + un12n1 + + u222 + 2u1 + u0

(44)

alakban, ahol ui = 0 vagy 1 (i = 0, 1, . . . , n).


Az eredeti IP-nek 01 IP-v val tfogalmazsa cljbl mindentt cserljk ki az x i -t
a (44) jobb oldalra. Tegyk fel pldul, hogy tudjuk, x i 100. Mivel xi < 26+1 = 128, a
(44) alapjn
xi = 64u6 + 32u5 + 16u4 + 8u3 + 4u2 + 2u1 + u0
(45)
ahol ui = 0 vagy 1 (i = 0, 1, . . . , 6). Cserljk teht ki xi -t a (45) jobb oldaln ll kifejezsre.
Hogyan tallhatjuk meg az u-k rtkt xi egy adott rtkre? Legyen pldul xi = 93. Mivel
a 26 = 64 a legnagyobb hatvny, ami megvan a 93-ban, u 6 = 1 lesz. A (45) jobb oldaln a
maradk ekkor 93 64 = 29. Mivel a kvetkezo hatvny, a 25 = 32, tbb, mint a 29, u5 = 0
kell legyen. A 24 = 16 viszont megvan a 29-ben, teht u4 = 1. Ekkppen folytatva kapjuk,
hogy u3 = 1, u2 = 1, u1 = 0 s u0 = 1. Teht 93 = 26 + 24 + 23 + 22 + 20 .
Hamarosan kiderl, hogy 01 IP-ket ltalban knnyebb megoldani, mint egyb tiszta
IP-ket. Hogy akkor mirt nem runk t minden tiszta IP-t 01 IP-v? Egyszeruen azrt, mert
a 01 IP-v val tfogalmazs ltalban nagyon megnveli a vltozk szmt. Ugyanakkor
szmos helyzet (mint a lockbox vagy a htizsk problmk) termszetes mdon vezetnek
01 feladatokhoz. Szval igenis megri megismerkedni a 01 IP-k megoldsval.
Az implicit leszmllsi mdszerben hasznlt fa hasonlt ahhoz, amelyiket a 01 htizsk feladat megoldsban lttunk a 8.5. alfejezetben. A fa mindegyik ga valamely x i
vltozra azt mondja meg, hogy xi = 0, vagy xi = 1. A cscsoknl pedig bizonyos vltozk
rtke meghatrozott. Tegyk fel pldul, hogy egy 01 feladat vltozi az x 1 , x2 , x3 , x4 ,
x5 s x6 , tovbb, hogy a 21. bra a fa egy rszlett mutatja. A 4-es cscsnl az x 3 , x4 s x2
vltozk rtke meghatrozott, ezeket kttt vltozknak hvjuk. A nem rgztett rtku
vltozk pedig a szabad vltozk az adott cscsnl. Vagyis a 4-es cscsnl az x 1 , x5 s x6
a szabad vltozk. Ha egy cscsnl konkretizljuk az sszes szabad vltoz rtkt, akkor
a cscs egy befejezsrol beszlnk. Az x1 = 1, x5 = 1 s x6 = 0 rtkads a 4-es cscs
egy befejezse.
Lssuk ezek utn az implicit leszmlls hrom fo tlett:
1. A kttt vltozk rtkei mellett tallhat-e knnyen olyan befejezse az adott cscsnak, amely lehetsges megoldsa az eredeti 01 IP-nek? A krds megvlaszolsa rdekben gy adjunk (0 vagy 1) rtket a szabad vltozknak, hogy a clfggvny a lehet o
legnagyobb (maximum feladatban) vagy legkisebb (minimum feladatban) legyen. Ha ez a
befejezs lehetsges, akkor bizonyosan ez a legjobb lehetsges befejezse a cscsnak, s gy
a cscs elgaztatsa szksgtelen. Tegyk fel, hogy feladatunk:
max z = 4x1 + 2x2 x3 + 2x4

f.h. x1 + 3x2 x3 2x4 1


xi = 0 vagy1 (i = 1, 2, 3, 4)

468

8. fejezet Egszrtku programozs

21. B R A
Szabad s kttt
vltozk

Egy olyan cscsnl (hvjuk 4-es cscsnak), amelyiknl x1 = 0 s x2 = 1 mr rgztettek,


a legjobb befejezs az x3 = 0 s x4 = 1. Mivel x1 = 0, x2 = 1, x3 = 0 s x4 = 1 az eredeti
feladat egy lehetsges megoldsa, megtalltuk a 4-es cscs legjobb lehetsges befejezst.
A 4-es cscsot teht feldertettk, s megkaptuk az x1 = 0, x2 = 1, x3 = 0, x4 = 1 megoldsjelltet, amelyiknek a z rtke 4.
2. Ha a cscs legjobb befejezse nem is ad lehetsges megoldst, akkor is ad egy korltot
a legjobb lehetsges befejezs clfggvnyrtkre. Ezen korlt alapjn a cscsot gyakran
kizrhatjuk a tovbbi vizsglatokbl. Tegyk fel pldul, hogy korbban mr talltunk egy
z = 6-ot ad megolds-jelltet, clunk pedig maximalizlni a
z = 4x1 + 2x2 + x3 x4 + 2x5
clfggvnyt. Annl a cscsnl, amelynl az x1 = 0, x2 = 1 s x3 = 1 a kttt rtkek, a
legjobb befejezs az x4 = 0 s x5 = 1. A z rtk ekkor 2 + 1 + 2 = 5. Mivel a z = 6-os
jelltn semmikppen sem javthatunk, a cscs rgtn kizrhat (fggetlenl attl, hogy a
befejezs lehetsges-e vagy sem).
3. Eldntheto-e knnyen, hogy egy adott cscs egyetlen befejezse sem lehetsges megolds? Tegyk fel, hogy a 23. brabeli 4-es cscsban vagyunk, egyik felttelnk pedig
2x1 + 3x2 + 2x3 3x4 x5 + 2x6 5

(46)

Van-e olyan befejezse a 4-es cscsnak, amelyik kielgti ezt a felttelt? Adjunk olyan
rtkeket a szabad vltozknak, hogy a (46) bal oldala a lehet o legkisebb legyen. Ha a (46)
ezzel a befejezssel sem teljesl, akkor bizonyosan a 4-es cscs egyetlen befejezsre sem
ll fenn. Legyen ezrt x1 = 1, x5 = 1 s x6 = 0. Behelyettestve ezeket, illetve a rgztett
rtkeket, azt kapjuk, hogy 2 + 3 + 2 3 1 5. Mivel az egyenl o tlensg nem teljesl,
a 4-es cscs semelyik befejezsre sem fog teljeslni. A 4-es cscs egyetlen befejezse sem
adhat lehetsges megoldst, a cscs ezrt kizrhat.
Annak eldntsre, hogy egy cscshoz tartozik-e lehetsges megolds, mindegyik felttelhez megkeressk a teljeslshez legkedvezo bb befejezst a 77. tblzatban sszefoglalt
mdon.22 Amennyiben akr egyetlen felttel is akad, amelyet a szmra legkedvez o bb befejezs nem teljest, tudjuk, hogy a cscshoz nem tartozik lehetsges megolds. Ebben az
esetben a cscs nem eredmnyezhet optimlis megoldst sem.
Elofordulhat, hogy egy cscsnak nincsen lehetsges befejezse, de ezt a fenti durva ellenorzs csak ksobb mutatja ki, mikor mr lejjebb haladtunk a fn, s tbb vltoz vlt
kttt. Amennyiben semmilyen informci nem szrmazott a cscs ilyen vizsglatbl,
egy szabad xi vltoz szerint gaztatunk, s ltrehozunk kt j cscsot: az egyikben x i = 1,
a msikban xi = 0 mr rgztett rtkek lesznek.
22 Az

egyenlosgi felttelek egy-egy , illetve felttellel helyettestendo k.

8.7. Implicit leszmlls

77. T B L Z A T
Hogyan llaptjuk
meg, hogy egy
cscsnak van-e
egy felttelt
kielgto
befejezse

12.

PLDA

A felttel
tpusa

A szabad vltoz
egytthatjnak
elojele a felttelben

A szabad vltoz
rtke legyen
0
1
1
0

Implicit leszmllssal oldjuk meg a kvetkezo 01 IP-t:


max z = 7x1 3x2 2x3 x4 2x5
f.h.
4x1 2x2 + x3 2x4 x5 3
4x1 2x2 4x3 + x4 + 2x5 7
xi = 0 vagy 1 (i = 1, 2, 3, 4, 5)

Megolds

469

(47)
(48)

Kezdetben (1-es cscs) minden vltoz szabad. El o szr azt ellenorizzk, hogy az 1-es cscs
legjobb befejezse lehetsges-e. Az 1-es cscs legjobb befejezse: x 1 = 0, x2 = 0, x3 = 0,
x4 = 0, x5 = 0, ami nem lehetsges (mindkt felttelt megsrti). Most azt elleno rizzk,
hogy az 1-es cscsnak van-e lehetsges befejezse. A (47) teljesthet o sgnek ellenorzst
az x1 = 1, x2 = 1, x3 = 0, x4 = 1, x5 = 1 rtkekkel vgezzk. Ez kielgti a (47)-et (mert
9 3). A (48) teljesthetosgnek ellenorzshez legyen x1 = 1, x2 = 1, x3 = 1, x4 = 0,
x5 = 0. Az 1-es cscs ezen befejezse kielgti a (48)-at (mert 10 7). Mivel a (47),
illetve (48) felttelhez is talltunk lehetsges befejezst, nem mino sthetjk az 1-es cscsot
nem lehetsgesnek. A tetszolegesen vlasztott x1 szabad vltoz szerint gaztatva kt j
cscsot kapunk: a 2-est az x1 = 1 felttellel, mg a 3-ast az x1 = 0 felttellel (lsd 22. bra).

22. B R A
Az 1-es cscs
gaztatsa

Folytatsnak a 2-es cscsot vlasztjuk. Ennek legjobb befejezse: x 1 = 1, x2 = 0, x3 = 0,


x4 = 0 s x5 = 0. Ez sajnos nem lehetsges. Lssuk most, hogy van-e a 2-es cscsnak
lehetsges befejezse. Az x1 = 1, x2 = 1, x3 = 0, x4 = 1, x5 = 1 befejezs kielgti a (47)-et
(mert 9 3). Az x1 = 1, x2 = 1, x3 = 1, x4 = 0, x5 = 0 befejezs pedig a (48)-at (mert
10 7). Ellenorzsnkbol teht nem derlt ki, hogy a 2-es cscsnak van-e lehetsges
befejezse.
A 2-es cscsnl szabad x2 vltoz szerinti gaztatssal kapjuk a 4-es s 5-s cscsokat
(lsd 23. bra). A LIFO szablyt kvetve az 5-s cscs kvetkezik. Az 5-s legjobb befejezse: x1 = 1, x2 = 0, x3 = 0, x4 = 0, x5 = 0. Ez sem lehetsges. A cscs lehetsgessgnek
tesztje kvetkezik. Az x1 = 1, x2 = 0, x3 = 0, x4 = 1, x5 = 1 befejezs teljesti a (47)-et
(mert 7 3). Az x1 = 1, x2 = 0, x3 = 1, x4 = 0, x5 = 0 befejezssel fennll a (48) (mert
8 7). A tesztbol teht most sem derlt ki semmi. Az 5-s cscsnl szabad x3 vltoz
szerint gaztatva kapjuk a 6-os s 7-es cscsokat (lsd 24. bra).

470

8. fejezet Egszrtku programozs

23. B R A
A 2-es cscs
gaztatsa

24. B R A
Az 5-s cscs
gaztatsa

A LIFO szably szerint a 6-os cscs elemzse kvetkezik. Itt a legjobb befejezs: x 1 = 1,
x2 = 0, x3 = 1, x4 = 0, x5 = 0, z = 9. Ez egy lehetsges befejezs, talltunk teht egy
olyan megolds-jelltet, amelyre z = 9. A LIFO szably szerint a 7-es a kvetkez o cscs,
amelynek a legjobb befejezse: x1 = 1, x2 = 0, x3 = 0, x4 = 0, x5 = 0, z = 7. Ez ugyan nem
lehetsges, de mivel a z = 7 jobb, mint a z = 9, a 7-es cscsnak mg lehet a jelenlegi
jelltnl jobb befejezse. Ellenorizzk, hogy van-e a 7-es cscsnak lehetsges befejezse.
Az x1 = 1, x2 = 0, x3 = 0, x4 = 1, x5 = 1 kielgti a (47)-et (mert 7 3). A (48) szmra
legkedvezobb x1 = 1, x2 = 0, x3 = 0, x4 = 0, x5 = 0 befejezs viszont srti a felttelt (mert
4 7), vagyis a 7-es cscs semelyik befejezse sem elgti ki a (48)-at. A 7-es cscsnak
teht nincsen lehetsges befejezse, ezrt kizrhat a tovbbi vizsglatokbl (a 25. brn
ezt jelzi).
A LIFO szably szerint most a 4-es cscsot kell vizsglnunk. Itt a legjobb befejezs:
x1 = 1, x2 = 1, x3 = 0, x4 = 0, x5 = 0. Mivel clfggvnyrtke z = 10, a 4-es cscs nem
javthat a jelenlegi z = 9-es megolds-jelltn. A 4-es cscsot teht kizrhatjuk.
25. B R A
A 6-os cscs
megolds-jelltet
ad, a 7-esnek nincs
lehetsges
befejezse

Jellt
z=_9

Nincs lehetsges
befejezs

8.7. Implicit leszmlls

471

26. B R A
A 4-es cscs nem
javthat a 6-os
jelltjn

Nem rhet el
z=_10-nl
jobb

Jellt
z=_9

27. B R A
A 3-as cscsnak
nincs lehetsges
befejezse

Nincs lehetsges
befejezs

Nincs lehetsges
befejezs
Nem rhet el
z=_10-nl
jobb

Jellt
z=_9

Nincs lehetsges
befejezs

Az aktulis helyzetet a 26. bra mutatja, egyedl a 3-as cscs vr elemzsre. Ennek legjobb befejezse: x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 0. Ez a befejezs ugyan nem lehetsges,
de a z = 0 miatt mg elkpzelheto, hogy szrmazik a 3-as cscsbl olyan lehetsges megolds, amely jobb, mint a jelenlegi z = 9-es megolds-jellt. Lssuk, van-e a 3-as cscsnak
lehetsges befejezse? Az x1 = 0, x2 = 1, x3 = 0, x4 = 1, x5 = 1 kielgti a (47)-et (mert
5 3). Ugyanakkor, a (48) szmra legkedvezo bb x1 = 0, x2 = 1, x3 = 1, x4 = 0, x5 = 0
befejezs viszont srti a felttelt (mert 6 7), vagyis a 3-as cscs semelyik befejezse
sem elgti ki a (48)-at, ezrt kizrhat a tovbbi vizsglatokbl. gy kapjuk a 27. brn
lthat ft.
Mivel nem maradt tbb megvizsgland cscs, a 6-osbl szrmaz z = 9-et ad x 1 = 1,
x2 = 0, x3 = 1, x4 = 0, x5 = 0 jellt a 01 IP optimlis megoldsa. Vegyk szre, hogy
impliciten megvizsgltuk az sszes olyan (x1 , x2 , x3 , x4 , x5 ) pontot, amelyben xi = 0 vagy
1, s az optimlis megolds kivtelvel mindegyiket kiszurtk. Az x 1 = 1, x2 = 1, x3 = 1,
x4 = 1, x5 = 0 pontot pldul a 4-es cscs elemzsekor szurtk ki, ugyanis ott lttuk, hogy
a z rtke nem lehet jobb, mint a 9. Az x1 = 0, x2 = 1, x3 = 1, x4 = 1, x5 = 1 pontot pedig
akkor zrtuk ki, amikor kiderlt, hogy a 3-as cscsnak egyetlen befejezse sem lehetsges.
Finomabb nem-lehetsgessgi tesztek (ptfelttelek) alkalmazsval gyakran cskkentheto a vizsgland cscsok szma. Tekintsk pldul egy 01 IP kvetkez o kt felttelt:
x1 + x 2 + x 3 + x 4 + x 5 2

x1 x 2 + x 3 x 4 x 5 1

(49)
(50)

472

8. fejezet Egszrtku programozs

Tegyk fel, hogy az x1 = x2 = 1 cscsban vagyunk. Annak eldntsre, hogy van-e a cscsnak lehetsges befejezse, eloszr azt vizsglnnk, hogy az x1 = 1, x2 = 1, x3 = 0, x4 = 0,
x5 = 0 befejezs kielgti-e a (49)-et (igen). Majd az x1 = 1, x2 = 1, x3 = 1, x4 = 0, x5 = 0
befejezs s az (50) felttel kvetkezne (kielgti). Ez a nyers nem-lehetsgessgi teszt nem
mutatja ki, hogy ez a cscs nem lehetsges. Vegyk szre, hogy x 1 = x2 = 1 miatt a (49)
csak akkor llhat fenn, ha x3 = x4 = x5 = 0, de az x1 = x2 = 1 ezen befejezse srti az
(50)-et. Az x1 = x2 = 1 cscsnak teht nincsen lehetsges befejezse. Ezt a tnyt vgl is
az ltalunk hasznlt nyers nem-lehetsgessgi teszt is kimutatn, de addig tovbbi cscsokat is meg kellene vizsglnunk. Egy sszetettebb feladatban egy, a feltteleket kombinl,
finomabb nem-lehetsgessgi teszt esetleg kevesebb cscs elemzst ignyli. Egy krmnfontabb teszt persze tbb szmolst ignyel, s a tbblet ero feszts esetleg nem ri meg.
A ptfelttelek alkalmazst trgyalja pl. Salkin (1975), Taha (1975), valamint Nemhauser
s Wolsey (1988).
Mint brmilyen ms korltozs s sztvlasztsi algoritmusban, az implicit leszmllsi
algoritmus sorn is szmos alkalommal tetszo legesen vlasztunk, s ezek befolysoljk a
hatkonysgot. Az implicit leszmllsi technikkkal bo vebben foglalkozik Salkin (1975),
Taha (1975), valamint Nemhauser s Wolsey (1988).

Feladatok
A csoport
Oldja meg implicit leszmllssal a kvetkezo 01 IP-ket:
1.
max z = 3x1 + x2 + 2x3 x4 + x5
f.h.

2x1 + x2

3x4

x1 + 2x2 3x3 x4 + 2x5 2


xi = 0 vagy 1

2.

max z = 2x1 x2 + x3
f.h.

x1 + 2x2 x3 1
x1 + x 2 + x 3 2

xi = 0 vagy 1

3. A Finco t projektbe fektethet be. A 78. tblzat mutatja (milli dollrban megadva), hogy az egyes projektek
mennyi 0. idopontbeli kszpnzt ignyelnek, illetve mennyi
NPV-t eredmnyeznek. A 0. idopontban 10 milli dollr
kszpnz vr befektetsre. Az 1-es s 2-es projektek klcsnsen kizrjk egymst (egyszerre nem vlaszthatk).
A 3-as s 4-es projektek is klcsnsen kizrjk egymst.
Tovbb a 2-es projekt csak akkor vlaszthat, ha az 5sbe is fektetnek pnzt. Implicit leszmllssal hatrozza

meg, hogy melyik projekteket vlasztva maximalizlhat az


NPV!
78.

TBLZAT

Projekt

Kszpnzigny
a 0. idopontban

NPV

1
2
3
4
5

4
6
5
4
3

5
9
6
3
2

4. Implicit leszmllssal hatrozza meg az 5. plda (a


halmazlefedsi feladat) optimlis megoldst!
5. Implicit leszmllssal oldja meg a 8.2. alfejezet 1. feladatt!

B csoport
6. Mirt egyrtelmuek az u0 , u1 , . . . , un rtkek a (44)ben?


8.8. A metszosk
algoritmus

8.8.

473

A metszosk
algoritmus23
E fejezetben eddig korltozs s sztvlasztsi mdszereket mutattunk be rszletesebben.
Ebben az alfejezetben az IP-k megoldsnak egy alternatv mdszert, a metsz o sk algoritmust ismertetjk. Szemlltetskppen a Telfa Corporation problmjt (9. plda) oldjuk
meg a metszosk algoritmussal. Idzzk fel a modellt:
max z = 8x1 + 5x2
f.h.
x 1 + x2 6

9x1 + 5x2 45
x1 , x2 0; x1 , x2 egsz

(51)

Az s1 s s2 kiegszto vltozk bevezetse utn a Telfa feladat LP-laztst megoldva


kapjuk a 79. tblzatban lthat optimlis tblt:
79.

TBLZAT

A Telfa
LP-laztsnak
optimlis tblja

x1

x2

s1

s2

J.o.

1
0
0

0
0
1

0
1
0

1.25
2.25
1.25

0.75
0.25
0.25

41.25
2.25
3.75

A metszosk mdszerben egy olyan felttelt vlasztunk az LP-lazts optimlis tbljban, amelyiknek trtrtku a bzisvltozja. Mi (nknyesen) az
x1 1.25s1 + 0.25s2 = 3.75

(52)

msodik felttelt vlasztjuk. Jellje [x] az x egszrszt, azaz azt a legnagyobb egsz szmot, amelyik mg nem nagyobb, mint x. Pldul [3.75] = 3 s [1.25] = 2. Brmelyik x
szm felrhat mint [x] + f , ahol 0 f < 1. Ezt az f -et az x trtrsznek hvjuk. Pldul,
3.75 = 3 + 0.75, s 1.25 = 2 + 0.75. Az (51) optimlis tbljban mindegyik vltoz
egytthatjt, illetve felttel jobb oldalt az [x] + f alakban rjuk fel, ahol 0 f < 1. Ekkor
az (52) gy alakul:
x1 2s1 + 0.75s1 + 0s2 + 0.25s2 = 3 + 0.75
(53)

Az sszes egsz egytthatj tagot a bal oldalra, s az sszes trt egytthatj tagot a jobb
oldalra rendezve azt kapjuk, hogy
x1 2s1 + 0s2 3 = 0.75 0.75s1 0.25s2

(54)

A metszosk algoritmusban a kvetkezo felttellel bovtjk az LP-lazts optimlis tbljt:


az (54) jobb oldala 0
vagyis

0.75 0.75s1 0.25s2 0

(55)

Ezt a felttelt egy vgsnak hvjuk (mindjrt ltni fogjuk, hogy mirt). Most megmutatjuk,
hogy egy ily mdon ltrehozott vgsra teljesl a kvetkez o kt tulajdonsg:
1.
2.

Az IP mindegyik lehetsges pontja kielgti a vgst.


Az LP-lazts jelenlegi optimlis megoldsa nem elgti ki a vgst.
23 Ezen

alfejezet kihagysa nem szaktja meg a trgyals folytonossgt.

474

8. fejezet Egszrtku programozs

Vagyis egy vgs lemetszi az LP-lazts jelenlegi optimlis megoldst, ugyanakkor


meghagyja az IP sszes lehetsges megoldst. Amikor az LP-laztst egy vgssal b o vtjk, azt remljk, hogy egy tiszta egszrtku megoldshoz jutunk. Amennyiben igen,
akkor megtalltuk az eredeti IP optimlis megoldst. Viszont ha az j optimlis megolds
(mrmint a vgssal bovtett LP-lazts) tartalmaz trtrtku vltozt, akkor egy jabb vgst generlunk, s folytatjuk az eljrst. Gomory (1958) megmutatta, hogy ez a folyamat
vges sok vgs utn az IP optimlis megoldst eredmnyezi. Miel o tt meghatrozzuk az
(51) IP optimlis megoldst, beltjuk, hogy az (55) vgs teljesti az 1. s 2. tulajdonsgokat.
Az elso tulajdonsg beltshoz vegyk az (51) IP egy tetszo leges (x1 , x2 ) lehetsges
megoldst. Ekkor x1 s x2 is egsz szmok, s az (51) LP-laztsnak is lehetsges megoldst alkotjk. Mivel az (54) pusztn egy trendezse az optimlis tbla msodik felttelnek, az IP brmelyik lehetsges pontja kielgti az (54)-et. Az IP brmelyik lehetsges
megoldsban s1 0 s s2 0 kell legyen. Mivel 0.75 < 1, az (54) jobb oldala az IP
brmelyik lehetsges megoldsnl kisebb, mint 1. Ugyanakkor, az (54) bal oldala az IP
brmelyik lehetsges megoldsnl egy egsz szm. Az (54) jobb oldala teht az IP brmelyik lehetsges megoldsnl egy 1-nl kisebb egsz szm. Az (55) vgs teht valban
nem metszi le az IP egyetlen lehetsges megoldst sem.
Most megmutatjuk, hogy az LP-lazts aktulis optimlis megoldsa nem teljesti az
(55) vgst. Az LP-lazts aktulis optimlis megoldsban ugyanis s 1 = s2 = 0, az (55) teht nem llhat fenn. Ez az rvels azrt mukdik, mert a kivlasztott msodik felttel jobb
oldalnak a trtrsze (0.75) nagyobb, mint 0. Teht az optimlis tbla brmelyik trtrtku jobb oldallal rendelkezo felttelt vlaszthatjuk az LP-lazts optimlis megoldsnak
levgsra.
Az (55) vgs hatst a 28. bra mutatja: az (51) IP sszes lehetsges pontja kielgti
az (55) vgst, az LP-lazts optimlis megoldsa (x1 = 3.75 s x2 = 2.25) viszont nem.
A vgs grafikonjt gy kaptuk, hogy az s1 -et 6 x1 x2 -vel, az s2 -t pedig 45 9x1 5x2vel helyettestettk, s gy a vgst a 3x1 + 2x2 15 alakba rhattuk.
Ezutn az LP-lazts optimlis tbljt kibo vtjk az (55)-tel, majd a dul szimplex mdszerrel megoldjuk az gy keletkezo LP-t. Az (55) vgst a 0.75s1 0.25s2 0.75 alakba
rjuk. Ezt a felttelt az s3 vltozval kiegsztve addik a 80. tblzatban lthat tbla.
80. T B L Z A T
A metszosk tbla
az (55) vgs utn

x1

x2

1
0
0
0

0
0
1
0

0
1
0
0

s1

s2

1.25
0.75
2.25 0.25
1.25
0.25

0.75 0.25


s3

J.o.

0
0
0
1

41.25
2.25
3.75
0.75

A dul szimplex arnyteszt szerint az s1 -nek kell a bzisba lpnie, mgpedig a harmadik
felttelhez tartozan. A bziscsere utn kapjuk a 81. tblzatban szerepl o tblt, amibol
ltjuk, hogy az optimlis megolds: z = 40, x1 = 5, x2 = 0.
81.

TBLZAT

A metszosk
mdszer optimlis
tblja

x1

x2

s1

s2

s3

J.o.

1
0
0
0

0
0
1
0

0
1
0
0

0
0
0
1

0.33
1
0.67
0.33

1.67
3
1.67
1.33

40
0
5
1


8.8. A metszosk
algoritmus

28. B R A
Plda metszoskra

475

x2
3x1+2x2 = 15 a megfelel sk
= az IP lehetsges tartomnya
= az LP-lazts lehetsges tartomnya

9
8

9x1+5x2=45
7

x1+x2=6
6

3x1+2x2=15
5
4

Az LP-lazts optimlis megoldsa

z=20
2

x1=3.75
x2=2.25

x1
1

Mivel egy vgs az IP egyetlen lehetsges megoldst sem metszi le, az IP optimlis
megoldst megkapjuk, ha tallunk egy tiszta egszrtku megoldst a nhny vgsi felttellel kibovtett LP-laztshoz. Jelenlegi feladatunk optimlis megoldsban az x 1 s x2 is
egsz, teht ez a pont az (51) IP optimlis megoldsa. Termszetesen, ha az els o vgs rgtn nem eredmnyezte volna az IP optimlis megoldst, tovbbi vgsokkal kellett volna
bovteni a feladatot egszen addig, amg nem kapunk egy olyan optimlis tblt, amelyben
mr minden vltoz egszrtku.

M EGJEGYZSEK

1. Az algoritmus megkvnja, hogy a vltozk egytthati, illetve a felttelek jobb oldalai mind
egsz szmok legyenek. Ez biztostja ugyanis, hogy ha az eredeti dntsi vltozk mind egszek,
akkor az eltrs- s tbbletvltozk is mind egszek lesznek. Az x1 + 0.5x2 3.6 felttelt pldul a
10x1 + 5x2 36 felttellel kell helyettesteni.

2. Ha az algoritmus sorn tbb felttel jobb oldala is trtszm, a legclravezeto bb abbl a felttelbol
generlni a vgst, amelyik jobb oldalnak a trtrsze a legkzelebb van az 12 -hez.

A metszosk
algoritmus sszefoglalsa
1. lps Hatrozzuk meg az IP lineris programozsi laztsnak optimlis tbljt. Ha
ebben az optimlis megolds tiszta egszrtku, akkor ez az IP optimlis megoldsa is;
klnben folytassuk a 2. lpssel.
2. lps Vlasszunk egy olyan felttelt az LP-lazts optimlis tbljban, amelyik jobb
oldalnak trtrsze a legkzelebb van az 21 -hez. Ebbol a felttelbol egy vgst ksztnk.

476

8. fejezet Egszrtku programozs

2a. lps A 2. lpsben kivlasztott felttel jobb oldalt s mindegyik vltozjnak


egytthatjt rjuk az [x] + f alakba, ahol 0 f < 1.

2b. lps Rendezzk t a felttelt a kvetkezo kppen:

minden egszegytthats tag = minden trtegytthats tag


Hozzuk ltre a vgst:

minden trtegytthats tag 0

3. lps A dul szimplex mdszerrel oldjuk meg a 2b. lpsben generlt vgsi felttellel
kibovtett LP-laztst. Ha az optimlis megoldsban mindegyik vltoz egszrtku, megtalltuk az IP optimlis megoldst. Klnben, vlasszunk egy leginkbb trtrtku jobb
oldallal rendelkezo felttelt, abbl hozzunk ltre egy jabb vgst, s azzal bo vtsk a tblt. Ezt az eljrst addig folytassuk amg egy tiszta egszrtku optimlis megoldst nem
kapunk. Ez lesz az IP optimlis megoldsa.

Feladatok
A csoport
1.

83.

Az albbi IP
max z = 14x1 + 18x2
f.h.

x1 + 3x2 6
7x1 +

x1 , x2 0;

x2 35

x1 , x2 egsz

lineris programozsi laztsnak optimlis tblja a 82. tblzatban tallhat. A metszosk algoritmussal oldja meg ezt
az IP-t!
82.

TBLZAT

x1

x2

e1

e2

J.o.

1
0
0

0
1
0

0
0
1

45
25

18
5

88
5
4
5
8
5

3.

1
5

1
5
53

Az albbi IP
max z =

2x1 4x2

f.h.

TBLZAT

2x1 + x2 5

4x1 + 4x2 5

x1

x2

s1

s2

J.o..

x1 , x2 0; x1 , x2 egsz

0
1

1
0

30
11
1
22
3
22

126

0
0

56
11
7
22
1
22

lineris programozsi laztsnak optimlis tblja a 84. tblzatban tallhat. A metszosk algoritmussal oldja meg ezt
az IP-t!

2.

7
2
9
2

84.

Az albbi IP
min z = 6x1 + 8x2
f.h.

3x1 + x2 4
x1 + 2x2 4

x1 , x2 0;

x1 , x2 egsz

lineris programozsi laztsnak optimlis tblja a 83. tblzatban tallhat. A metszosk algoritmussal oldja meg ezt
az IP-t!

TBLZAT

x1

x2

s1

s2

J.o.

23
1
3
1
3

65
1
12
1
6

15
2

5
4
5
2

sszefoglals

477

sszefoglals
Az egszrtku programozsi feladatokat (IP-ket) ltalban jval nehezebb megoldani,
mint a lineris programozsi feladatokat.

Egszrtku programozsi modellek


A legtbb egszrtku programozsi modell tartalmaz 01 vltozkat.

Fixkltsg problmk
Tegyk fel, hogy az i tevkenysg brmilyen pozitv szinten trtn o bekvetkezse egy fix
kltsget von maga utn. Legyen
xi = az i tevkenysg szintje

1 ha az i tevkenysg pozitv szinten kvetkezik be (xi > 0)
yi =
0 ha xi = 0
Ekkor egy xi Mi yi felttelt kell a modellbe felvennnk, ahol Mi egy kelloen nagy szm
ahhoz, hogy minden szba jheto xi biztosan kisebb legyen, mint Mi .

Vagy-vagy felttelek
Tegyk fel, hogy garantlni azt akarjuk, hogy az
f (x1 , x2 , . . . , xn ) 0

g(x1 , x2 , . . . , xn ) 0

(26)
(27)

felttelek kzl legalbb az egyik (de akr mindketto ) teljesljn. A modellbe vegyk fel a
kvetkezo kt felttelt:
f (x1 , x2 , . . . , xn ) My

g(x1 , x2 , . . . , xn ) M(1 y)

(260 )
(270 )

ahol y egy 01 vltoz, M pedig egy kello en nagy szm ahhoz, hogy biztosan teljesljenek
az f (x1 , x2 , . . . , xn ) M s g(x1 , x2 , . . . , xn ) M egyenlotlensgek az x1 , x2 , . . . , xn minden,
a tbbi felttelt kielgto rtkre. Ekkor a (260) s (270 ) felttelek garantljk, hogy a (26)
s (27) kzl legalbb az egyik teljesl.

Ha-akkor felttelek
Tegyk fel, hogy biztostani akarjuk azt, hogy f (x1 , x2 , . . . , xn ) > 0 esetn g(x1 , x2 , . . . , xn )
0 legyen. Vegyk fel a modellbe a
g(x1 , x2 , . . . , xn ) My

f (x1 , x2 , . . . , xn ) M(1 y)
y = 0 vagy 1

(280 )
(29)

feltteleket, ahol M egy kelloen nagynak vlasztott pozitv szm ahhoz, hogy teljesljenek
az f M s g M egyenlotlensgek az x1 , x2 , . . . , xn minden, a tbbi felttelt kielgto
rtkre.

478

8. fejezet Egszrtku programozs

Szakaszonknt lineris fggvny modellezse 01 vltozkkal


Tegyk fel, hogy az f (x) szakaszonknt lineris fggvnynek b 1 , b2 , . . . , bn a trspontjai.
1. lps Az optimalizlsi feladatban az f (x)-et mindentt helyettestsk a z 1 f (b1 ) +
z2 f (b2 ) + + zn f (bn ) kifejezssel.

2. lps Vegyk fel a modellbe a kvetkezo feltteleket:

z1 y1 , z2 y1 + y2, z3 y2 + y3 , . . . , zn1 yn2 + yn1, zn yn1


y1 + y2 + + yn1 = 1
z1 + z 2 + + z n = 1
x = z 1 b1 + z 2 b2 + + z n bn
yi = 0 vagy 1 (i = 1, 2, . . . , n 1); zi 0 (i = 1, 2, . . . , n)

A korltozs s sztvlaszts mdszere


Az IP-ket ltalban a korltozs s sztvlaszts mdszernek valamilyen vltozatval
oldjk meg. A korltozs s sztvlaszts mdszere implicit mdon megvizsglja az IP
minden lehetsges megoldst. Egyetlen rszfeladat megoldsval esetleg szmos lehetsges megoldst ki tudunk zrni a tovbbi vizsglatbl.

A korltozs s sztvlaszts tiszta IP-kre


A rszfeladatok egy alkalmasan vlasztott trtrtku xi vltoz szerinti sztvlaszts (gaztats) eredmnyeknt szletnek. Tegyk fel, hogy egy adott rszfeladatban (hvjuk rgi
rszfeladatnak) az xi rtke az i s i + 1 egszek kz eso trtszm. Ekkor kt rszfeladatot
generlunk:
1. j rszfeladat Rgi rszfeladat + az xi i felttel.

2. j rszfeladat Rgi rszfeladat + az xi i + 1 felttel.

Egy rszfeladatra azt mondjuk, hogy feldertett, ha nem szksges elgaztatni. Egy maximalizlsi feladatban a kvetkezo hrom esetben nyilvntunk egy rszfeladatot feldertettnek: (1) A rszfeladat nem lehetsges, s gy nem adhatja az IP optimlis megoldst.
(2) A rszfeladat egy tiszta egszrtku optimlis megoldst ad. Ha az optimlis z rtk
jobb, mint az IP eddig ismert legjobb lehetsges megoldsnak z rtke, akkor a rszfeladat
optimlis megoldsa egy megolds-jellt lesz, z rtke pedig az IP optimlis z rtknek
aktulis als korltjv (LB) vlik. Ebben az esetben ez a rszfeladat adhatja az IP optimlis megoldst. (3) A rszfeladat optimlis z rtke nem haladja meg (max feladatban) a
jelenlegi LB als korltot, s gy nem adhatja az IP optimlis megoldst.

A korltozs s sztvlaszts vegyes IP-kre


Csak olyan trtrtku vltoz szerint gaztatunk, amelyikre az IP-ben ki van ktve az
egszrtkusg.

A korltozs s sztvlaszts a htizsk feladatokra


A rszfeladatokat knnyen megoldhatjuk gy, hogy addig rakjuk egszben a (slyegysgre
eso haszonrtk szempontjbl) legjobb trgyakat a htizskba, ameddig csak frnek, majd
a kvetkezo leghasznosabb trgy megfelelo rszvel kitltjk a htizskot.

sszefoglals

479

A korltozs s sztvlaszts egy gp temezsre


Az gaztatst kezdjk annak meghatrozsval, hogy melyik az utoljra elvgzend o munka. Tegyk fel, hogy n munka van. Egy olyan cscsnl, amelynl a j-edik, j + 1-edik, . . . ,
n-edik elvgzendo munka mr rgztett, a teljes kss egy als korltjt adja a kvetkez o
sszeg: (a j-edik munka csszsa) + (a ( j + 1)-edik munka csszsa) + + (az n-edik
munka csszsa).

A korltozs s sztvlaszts az utaz gynk problmra


A rszfeladatok hozzrendelsi feladatok. Ha egy rszfeladat optimlis megoldsa nem tartalmaz rszkrutat, akkor az egyben lehetsges megoldsa az utaz gynk feladatnak is.
A rszkrutak kizrsa cljbl hozzuk ltre az j rszfeladatokat. Kizrunk egy rszfeladatot, ha optimlis z rtke rosszabb, mint az addig tallt legjobb lehetsges megolds.

Heurisztikk a TSP-re
A legkzelebbi-szomszd heurisztika (NNH) szerint brmelyik vrosbl indulva mindig a
legutoljra felkeresett vroshoz legkzelebbi mg nem felkeresett vrosba megynk, amg
csak egy krt nem keletkezik. Ezt az eljrst mindegyik vrosbl indulva vgigcsinljuk,
majd a krutak kzl a legjobbat vlasztjuk.
A legolcsbb-beszrs heurisztika (CIH) szerint kiindulunk valamelyik vrosbl s
megkeressk a legkzelebbi szomszdjt. E kt vros egy rszkrutat alkot. gy helyettestjk az aktulis rszkrtnak valamelyik (i, j) lt egy kapcsold (i, k) s (k, j) lprral
(ahol k nem rsze az aktulis rszkrtnak), hogy a rszkrt hossza a lehet o legkevsb
nvekedjk. Az ilyen legolcsbb beszrst addig folytatjuk, amg krutat nem kapunk. Az
eljrst mindegyik vrosbl indulva vgigcsinljuk, majd a krutak kzl a legjobbat vlasztjuk.

Implicit leszmlls
Egy 01 IP-t megoldhatunk implicit leszmllssal is. Egy cscs gaztatst egy, az adott
cscsban szabad xi vltoz szerint vgezve kt j rszfeladatot hozunk ltre, az egyiket az
xi = 0, a msikat az xi = 1 felttel hozzvtelvel. Ha egy cscs legjobb befejezse lehetsges, akkor a cscsot mr nem kell gaztatnunk. Ha a legjobb befejezs lehetsges s jobb,
mint az aktulis megolds-jellt, akkor az lesz az j megolds-jellt, clfggvnyrtke pedig az j LB als korlt (max feladatban). Ha a legjobb befejezs lehetsges, de nem jobb,
mint az aktulis megolds-jellt, akkor a vizsglt cscs esetleg kizrhat. Pldul akkor, ha
valamelyik felttelt a cscs egyetlen befejezse sem elgti ki, s gy a cscs mg lehetsges
megoldst sem adhat, nemhogy optimlisat.

A metszosk
algoritmus
1. lps Hatrozzuk meg az IP lineris programozsi laztsnak optimlis tbljt. Ha itt
az optimlis megolds tiszta egszrtku, akkor ez az IP optimlis megoldsa is; klnben
folytassuk a 2. lpssel.
2. lps Vlasszunk egy olyan felttelt az LP-lazts optimlis tbljban, amelyik jobb
oldalnak trtrsze a legkzelebb van az 21 -hez. Ebbol a felttelbol egy vgst ksztnk.

480

8. fejezet Egszrtku programozs

2a. lps A 2. lpsben kivlasztott felttel jobb oldalt s mindegyik vltozjnak


egytthatjt rjuk az [x] + f alakba, ahol 0 f < 1.

2b. lps Rendezzk t a felttelt a kvetkezo kppen:

minden egszegytthats tag = minden trtegytthats tag


Hozzuk ltre a vgst:

minden trtegytthats tag 0

3. lps A dul szimplex mdszerrel oldjuk meg a 2b. lpsben generlt vgsi felttellel
kibovtett LP-laztst. Ha az optimlis megoldsban mindegyik vltoz egszrtku, megtalltuk az IP optimlis megoldst. Klnben, vlasszunk egy leginkbb trtrtku jobb
oldallal rendelkezo felttelt, abbl hozzunk ltre egy jabb vgst, s azzal bo vtsk a tblt. Ezt az eljrst addig folytassuk, amg egy tiszta egszrtku optimlis megoldst nem
kapunk. Ez lesz az IP optimlis megoldsa.

ttekinto feladatok
A csoport
1. A 3.10. alfejezetben szereplo Sailco problmban tegyk fel, hogy mindegyik negyedvben 200$ fixkltsg
keletkezik, amennyiben van termels. rjon fel egy IP-t,
amellyel minimalizlhat a ngy negyedves igny kielgtsnek teljes kltsge!
2. Az egszrtku programozs, illetve szakaszonknt lineris fggvnyek segtsgvel hogyan oldan meg a kvetkezo optimalizlsi problmt? (tmutats: Kzeltse x2 -et
s y2 -et szakaszonknt lineris fggvnyekkel.)
max z = 3x2 + y2
f.h.

x +y 1

x, y 0

3.24 Egy hattag noi tornszcsapat edzojnek ki kell vlasztania hrom sportolt, akik gerendn s talajon is indulnak,
figyelembe vve, hogy mindkt szmban a csapatbl pontosan ngy versenyzot kell indtani. A 85. tblzat tartalmazza
az egyes sportolk ltal elrheto pontszmokat az egyes versenyszmokban. rjon fel egy IP-t, amellyel maximalizlhat a csapat sszpontszma!
85.

86.

Gerenda

Talaj

8.8
9.4
9.2
7.5
8.7
9.1

7.9
8.3
8.5
8.7
8.1
8.6
24 Ellis

TBLZAT

s Corn (1984) alapjn.


(1973) alapjn.

Feketk

80
70
90
50
60

30
5
10
40
30

TBLZAT

1. krzet
2. krzet
3. krzet
4. krzet
5. krzet

25 Liggett

Fehrek
1. krzet
2. krzet
3. krzet
4. krzet
5. krzet

87.

TBLZAT

1. tornsz
2. tornsz
3. tornsz
4. tornsz
5. tornsz
6. tornsz

4.25 Egy bri dnts rtelmben Metropolis vros mindkt kzpiskoljban a fekete boru dikok arnynak legalbb 20 szzalknak kell lennie. A 86. tblzat mutatja a
fekete ill. fehrboru kzpiskols dikok szmt a vros t
iskolakrzetben. A 87. tblzat adja meg (km-ben), hogy
az egyes krzetekben lak dikoknak mennyit kell utazniuk
az egyes kzpiskolkig. Kvetelmny, hogy egy krzetbol
minden dik ugyanabba az iskolba jrjon, tovbb, hogy
mindkt iskolba legalbb 150 dik jrjon. rjon fel egy IP-t,
amellyel minimalizlhat a Metropolis vros kzpiskolsai
ltal az iskoljukig megtett ssztvolsg!

1-es szm
kzpiskola

2-es szm
kzpiskola

1
0.5
0.8
1.3
1.5

2
1.7
0.8
0.4
0.6

ttekinto feladatok
5. Egy baseballcsapat dobjtkosokat akar leigazolni.
Jelenleg a kvetkezo (monogramjukkal megadott) jtkosok
szabadszk: RS, BS, DE, ST, TS. Az egyes dobjtkosok ra, illetve a vele elrt gyozelmek szma a 88. tblzatban tallhat. A kvetkezo szempontok figyelembevtelvel
szeretn a csapat azokat a dobkat leigazolni, akikkel a leheto legtbb gyozelmet rik el.
88.

RS
BS
DE
ST
TS

481

9. A korltozs s sztvlaszts mdszervel oldja meg


az albbi IP-t:
max z = x1 + 2x2
f.h.

x1 + x2 10

2x1 + 5x2 30

x1 , x2 0; x1 , x2 egsz

TBLZAT

A dobjtkos
ra
(milli $)

Elrt
gyozelmek
szma

6
4
3
2
2

6 (jobbkezes)
5 (jobbkezes)
3 (jobbkezes)
3 (balkezes)
2 (jobbkezes)

(a) Legfeljebb 12 milli dollrt klthetnek.


(b) Ha DE-t s ST-t is leigazoljk, akkor BS-t mr nem
igazolhatjk le.
(c) Legfeljebb kt jobbkezes dobt szerzodtethetnek.

10. Vegynk egy orszgot, ahol a kvetkezo pnzrmk


vannak hasznlatban: 1c/, 5c/, 10c/, 20c/, 25c/ s 50c/. Egy boltban egy vsrlnak 91c/ visszajr. rjon fel egy IP-t, amellyel
meghatrozhat, hogy miknt lehet a legkevesebb szm rmvel visszaadni a pontos sszeget! Hasznlja fel, amit a
htizsk feladatnak a korltozs s sztvlasztssal trtno
megoldsrl tud. (tmutats: Elegendo a 90c/ problmjt
megoldani.)
11. A korltozs s sztvlaszts mdszervel keresse meg
a 89. tblzattal megadott utaz gynk feladat optimlis
megoldst!
89.

TBLZAT

(d) Nem igazolhatjk le egyszerre BS-t s RS-t.


rjon fel egy IP-t, amelyik segthet meghatrozni, hogy a
baseball csapat kiket szerzodtessen!
6. Egy egyetem 1100 szmtgpet akar vsrolni. A plyzatra hrom ajnlat rkezett. Az 1-es szllt szmtgpenknt 500$-t s az zembe helyezsrt 5000$-t kr. A 2es szllt szmtgpenknt 350$-t s az zembe helyezsrt 4000$-t kr. A 3-as szllt szmtgpenknt 250$-t
s az zembe helyezsrt 6000$-t kr. Az 1-es szllt legfeljebb 500 szmtgpet, a 2-es legfeljebb 900-at, a 3-as
pedig legfeljebb 400 gpet tud szlltani. lltson fel egy
IP-t, amellyel minimalizlhat a szmtgpek beszerzsnek sszkltsge!
7. A korltozs s sztvlaszts mdszervel oldja meg
az albbi IP-t:
maxz = 3x1 + x2
f.h.

5x1 + x2 12

x1 , x2 0;

2x1 + x2 8

x1 , x2 egsz

8. A korltozs s sztvlaszts mdszervel oldja meg


az albbi IP-t:
min z = 3x1 + x2
f.h.

2x1 x2 6
x1 + x 2 4

x1 , x2 0; x1 egsz

1. vros
2. vros
3. vros
4. vros
5. vros

1.
vros

2.
vros

3.
vros

4.
vros

5.
vros

3
1
7
2

4
4
2

1
4

4
2

7
4
4

2
2
2
7

12. Az implicit leszmlls mdszervel hatrozza meg az


5. feladat optimlis megoldst!
13. Az implicit leszmlls mdszervel hatrozza meg a
kvetkezo 01 IP optimlis megoldst:
max z = 5x1 7x2 + 10x3 + 3x4 x5

f.h. x1 3x2 + 3x3 x4 2x5 0


2x1 5x2 + 3x3 2x4 2x5 3

x2 + x3 + x4 x5 2

minden vltoz 0 vagy 1

14. A szdskocsi az 1. helysznrol indul, s a 2., 3., 4.


s 5. helysznekre kell szdt vinnie, mielott visszatrne az
1. helysznre. Az egyes helysznek kztti tvolsgokat a
90. tblzat adja meg. A szdskocsi minimalizlni akarja a
megteendo ssztvolsgot. Milyen sorrendben keresse fel a
helyszneket?

482
90.

8. fejezet Egszrtku programozs


rolni, ezek slya (tonnban), tonnnknti ra (dollrban),
szn-, illetve molibdntartalma (szzalkban) a 93. tblzatban tallhat. Hromfle tvzetet tudnak beszerezni, ezek
tonnnknti ra (dollrban), szn-, illetve molibdntartalma
(%-ban) a 94. tblzatban tallhat.

TBLZAT

1. helyszn
2. helyszn
3. helyszn
4. helyszn
5. helyszn

0
20
4
10
35

20
0
5
25
10

4
5
0
6
6

10
30
6
0
20

25
10
6
20
0

93.

15. Egy krhzban hatfle muttet tudnak elvgezni. A 91.


tblzatban X jelzi, hogy melyik sebsz milyen tpus muttet vgezhet. Tegyk fel, hogy az 1-es, illetve 2-es sebsz
rossz viszonyban van, ezrt egyszerre nem lehetnek gyeletben. rjon fel egy IP-t, amelynek a megoldsa megadja, hogy
minimlis szm sebsszel hogyan lehet biztostani mind a
hatfle mutt elvgezhetosgt!
91.

TBLZAT

Mutt
tpusa

1-es sebsz
2-es sebsz
3-as sebsz
4-es sebsz
5-s sebsz
6-os sebsz

x
x

x
x
x

16. Az Eastinghouse havonta 12 000 akkumultort szllt a


fogyasztinak. Az akkumultorok hrom zemben kszlhetnek. A 92. tblzat tartalmazza az egyes zemek termelsi kapacitst, a termels havi fix kltsgt, s egy akkumultor elksztsnek vltoz kltsgt.
92.

TBLZAT

1. zem
2. zem
3. zem

Buga

Sly
(t)

r
($/t)

Szn
(%)

Molibdn
(%)

1
2
3
4

5
3
4
6

350
330
310
280

5
4
5
3

3
3
4
4

94.

Fixkltsg
(ezer $-ban)

Vltoz
kltsg
($/db)

Termelsi
kapacits
(db)

80
40
30

20
25
30

6000
7000
6000

A fixkltsg csak akkor merl fel, ha az adott zemben kszlnek akkumultorok. rjon fel egy egszrtku programozsi modellt, amelyiknek a megoldsa megadja, hogy
az Eastinghouse miknt elgtheti ki a fogyaszti ignyeket
minimlis kltsggel!
17.26 Egy aclmu megrendelst kapott 25 tonna olyan acl
szlltsra, amely 5% szenet s 5% molibdnt tartalmaz.
Az acl hrom sszetevo (aclbuga, cskavas s tvzetek)
kombincijaknt kszl. Ngy aclbugt tudnak megvs26 Westerberg,

27

TBLZAT

tvzet

r ($/t)

Szn (%)

Molibdn (%)

1
2
3

500
450
400

8
7
6

6
7
8

x
x
x

TBLZAT

cskavasat tonnnknt 100$-rt korltlanul be tudnak szerezni. Az cskavas 3% szenet s 9% molibdnt tartalmaz.
lltson fel egy vegyes egszrtku programozsi feladatot, amelyet megoldva kiderl, hogy az aclmu miknt tudja
megrendelst minimlis kltsggel elolltani!
18.27 Egy vegyszergyr vente 359 milli kg anhidridet llt elo. Az anhidrid elolltsra ngy reaktor alkalmas, ezek
mindegyike hromfle belltssal mukdhet. Az egyes
reaktoroknak az egyes belltsokkal val mukdtetse egy
v alatt a 95. tblzatban szereplo (ezer dollrban megadott)
kltsggel jr, s az ott tallhat (milli kg-ban megadott)
mennyisget eredmnyezi.
95.

TBLZAT

Reaktor

Bellts

1
1
1
2
2
2
3
3
3
4
4
4

1
2
3
1
2
3
1
2
3
1
2
3

Bjorklund s Hultman (1977) alapjn.


Boykin (1985) alapjn.

Kltsg

Termels

50
80
100
65
90
120
70
90
110
40
60
70

80
140
170
100
140
215
112
153
195
65
105
130

ttekinto feladatok
Egy reaktornak az v sorn vgig ugyanazzal a belltssal kell mukdnie. rjon fel egy IP-t, amelynek a megoldsa
megadja, hogy miknt lehet az ves anhidrid ignyt minimlis kltsggel kielgteni!
19.28 A Hallco vllalatnl nappali s jjeli muszak is van.
Fggetlenl attl, hogy hny munkadarab kszl el egy muszak alatt, a termelsi kltsg csak a beindtsi kltsg, ami
8000$ egy nappali s 4500$ egy jjeli muszak esetn. Az eljvendo ngy muszak alatt a kvetkezo ignyeket kell kielgteni: 1. nappal 2000; 1. jjel 3000; 2. nappal 2000; 2. jjel
3000. Egy munkadarab raktrozsi kltsge egy muszakra
1$. Hatrozzon meg egy olyan termelstemezst, amelyik
minimalizlja a beindtsi s raktrozsi kltsgek sszegt!
Az sszes ignyt idoben ki kell elgteni.
20.28 A termelsszervezs japn elmletrol tudomst szerezve az elozo feladatbeli Hallco 1000$-ra szortotta le a
nappali muszak beindtsi kltsgt s 3500$-ra az jszakait. Hatrozzon meg most egy olyan termelstemezst,
amelyik minimalizlja a beindtsi s raktrozsi kltsgek
sszegt! Az sszes ignyt idoben ki kell elgteni. Mutassa meg, hogy a beindtsi kltsgek cskkentse az tlagos kszletszint emelkedst okozta!

B csoport
21.29 Gotham vrosnak nyolc kerlete van. A 96. tblzat
mutatja, hogy hny percig tart, amg egy mentoaut az egyik
kerletbol a msikba r.
96.

TBLZAT

Kerlet
Kerlet

1
2
3
4
5
6
7
8

0
3
4
6
8
9
8
10

3
0
5
4
8
6
12
9

4
5
0
2
2
3
5
7

6
4
2
0
3
2
5
4

8
8
2
3
0
2
2
4

9
6
3
2
2
0
3
2

8
12
5
5
2
3
0
2

10
9
7
4
4
2
2
0

Az egyes kerletek lakossga (ezer foben megadva) a kvetkezo: 1. kerlet 40; 2. kerlet 30; 3. kerlet 35; 4. kerlet
20; 5. kerlet 15; 6. kerlet 50; 7. kerlet 45; 8. kerlet 60.
A vrosnak csak kt mentoautja van. Hol llomsoztassk
o ket, hogy maximalizljk azok szmt, akikhez a mentokocsik 2 percen bell kirnek? Adjon meg egy olyan IP-t,
amely segt a problma megoldsban!
28 Zangwill
29 Eaton

(1992) alapjn.
et al. (1985) alapjn.

483

22. Egy zemben hrom munkt kell elvgezni. A megmunklsi idoket (percben megadva) a 97. tblzat tartalmazza. Egy munka addig nem kerlhet a j gpre, amg az
sszes i < j gpen nem vgeztk el rajta a teendoket. Ha egy
gpen elkezdtek egy munkt, akkor azt be is kell fejezni,
mielott ms munka kerlne sorra. Egy munka futamidejn
a munka elkszltnek idopontja s az elso fzis megkezdsnek idopontja kztti klnbsget rtjk. lltson fel
egy IP-t, amellyel minimalizlhat a hrom munka futamidejnek tlaga! (tmutats: Ktfle felttelre lesz szksg:
az elso tpus felttelek biztostjk, hogy egy munka nem
kerlhet egy gpre addig, amg az sszes megelozo munkafzis be nem fejezodtt. t ilyen felttel lesz. A msik tpus felttelek azt biztostjk, hogy minden idopontban csak
egy munkn dolgozhat egy gp. Az 1. gpen pldul vagy
az 1-es munka elozi meg (teljes egszben) a 2-es munkt,
vagy a 2-es az 1-est.)
97.

TBLZAT

Gp
1-es munka
2-es munka
3-as munka

20
15

20
35

25

28

30
18

23. Egy knyveloiroda vllalati adbevallsokat kszt.


Ebben az vben a februr 15.prilis 15. kztti nyolchetes idoszakban a 98. tblzatban szereplo t bevallst kell
elkszteni. Az irodban ngy knyvelo dolgozik, heti 40
rs rendes munkaidoben. Szksg esetn akr 20 tlrt
is vllalnak, de ezrt rnknt 100$ jr nekik. Egszrtku
programozssal hatrozza meg, hogy miknt tudja a knyveloiroda a tlrakltsget minimalizlni! Az sszes bevallsnak el kell kszlnie prilis 15-ig.
98.

TBLZAT

1. bevalls
2. bevalls
3. bevalls
4. bevalls
5. bevalls

Idotartam
(ht)

Szksges
knyvelsi ido
(ra/ht)

3
4
3
2
4

120
160
80
80
100

24. A PSI ramszolgltat szerint az eljvendo t v sorn


a 99. tblzatban megadott nagysg ramfejleszto kapacitsra lesz szksgk. Ezt eromuvek ptsvel (majd mu-

484

8. fejezet Egszrtku programozs

kdtetsvel) tudjk biztostani. Az eromuvek adatait a 100.


tblzat tartalmazza. rjon fel egy IP-t, amellyel minimalizlhat a megadott ramfejleszto kapacitsok biztostsnak
sszes kltsge!30
99.

TBLZAT

ramfejleszto kapacits
(milli kWh)
1. v
2. v
3. v
4. v
5. v

100.

(a) Minden vben 60 munks ll rendelkezsre.


(b) vente legfeljebb egy ptkezst kezdhetnek el.

80
100
120
140
160

(c) A 2-es irodahznak kszen kell lennie a 4. v vgig.


lltson fel egy IP-t, amelyik maximalizlja a 4. v vgig
beszedett sszes brleti djat!
102.

TBLZAT

Eromu
1.
2.
3.
4.

26.31 Egy ingatlanfejlesztsi cg hrom irodahz ptst


fontolgatja. A 102. tblzat mutatja az egyes irodahzak felptsnek idotartamt, illetve az llandan az adott pleten dolgoz munksok szmt. Az elkszlt irodahzakbl a
kvetkezo ves brleti djbevtelek szrmaznak: 1-es irodahz 50 000$; 2-es irodahz 30 000$; 3-as irodahz 40 000$.
A cgnek a kvetkezoket is figyelembe kell vennie:

ramfejleszto
kapacits
(milli kWh)

ptsi
kltsg
(milli $)

Mukdtets

ves kltsge
(milli $)

70
50
60
40

20
16
18
14

1.5
0.8
1.3
0.6

25.30

Tegyk most fel, hogy az elozo feladatban az 14.


eromuvek az elso v elejn mr kszen vannak s mukdnek. Mindegyik v elejn a PSI dnthet egy mukdo eromu
lelltsa vagy egy piheno eromu jraindtsa mellett. A
101. tblzat tartalmazza a lelltsi, illetve jraindtsi kltsgeket. rjon fel egy IP-t a megadott ignyek minimlis
kltsggel trtno kielgtsnek meghatrozsra! tmutats: Legyen
Xit = 1, ha az i. eromu mukdik a t. vben

TBLZAT

1. plet
2. plet
3. plet

103.

TBLZAT

1. eromu
2. eromu
3. eromu
4. eromu

jraindtsi
kltsg
(milli $)

Lelltsi
kltsg
(milli $)

1.9
1.5
1.6
1.1

1.7
1.2
1.3
0.8
30 Muckstadt
31

s Wilson (1968) alapjn.


Peiser s Andrus (1983) alapjn.

2
2
3

30
20
20

TBLZAT

Zit = 1, ha az i. eromuvet jraindtjk a t. v elejn

101.

Az lland
munksok
szma

27. Ngy furgon ll rendelkezsre, hogy t zletbe kiszlltsa a tejet. A 103. tblzat mutatja az egyes furgonok kapacitst, illetve napi zemeltetsi kltsgt. Egy zlet ignyt egyetlen furgonnal kell kielgteni, de egy furgon tbb
zletbe is szllthat. Az zletek ignyei a kvetkezok: 1. zlet 100 liter; 2. zlet 200 liter; 3. zlet 300 liter; 4. zlet
500 liter; 5. zlet 800 liter. lltson fel egy IP-t, amellyel
meghatrozhat az t zlet ignynek minimlis kltsggel
trtno kielgtse!

Yit = 1, ha az i. eromuvet lelltjk a t. v vgn


Biztostani kell, hogy ha Xit = 1 s Xi,t+1 = 0, akkor Yit = 1,
valamint, ha Xi,t1 = 0 s Xit = 1, akkor Zit = 1.)

Az ptkezs
idotartama
(v)

1. furgon
2. furgon
3. furgon
4. furgon

Kapacits
(liter)

Napi
zemeltetsi
kltsg ($)

400
500
600
1100

45
50
55
60

28. Texas llam gyakorta auditlja a terletn mukdo


olyan vllalatokat is, amelyeknek a kzpontja egy msik llamban van. Ilyenkor is az auditorok mennek a helysznre.
vente az auditorok 500 utazst tesznek az szakkeleti, 400at a kzpnyugati, 300-at a nyugati s 400-at a dli rgiban levo vrosokba. Felmerlt, hogy alkalmazzanak Chi-

Irodalom
cago, New York, Atlanta, ill. Los Angeles szkhellyel rendelkezo auditorokat. Ennek ves kltsge mindegyik vros
esetn 100 000$. A 104. tblzat tartalmazza az egyes auditoroknak az egyes rgikba trtno kikldsnek kltsgt dollrban. Adjon meg egy IP-t, amelynek a megoldsa
minimalizlja az llamon kvli auditlsok ves sszkltsgt!32

104.

485

TBLZAT

New York
Chicago
Los Angeles
Atlanta

szakkelet

Kzpnyugat

Nyugat

Dl

1100
1200
1900
1300

1400
1000
1700
1400

1900
1500
1100
1500

1400
1200
1400
1050

Irodalom
A kvetkezo hat knyv az egszrtku programozs elmlyltebb trgyalst adja:
Garfinkel, R. s G. Nemhauser. Integer Programming. New York: Wiley, 1972.
Nemhauser, G. s L. Wolsey. Integer and Combinatorial Optimization. New York: Wiley,
1988.
Parker, G. s R. Rardin. Discrete Optimization. San Diego: Academic Press, 1988.
Salkin, H. Integer Programming. Reading, Mass.: Addison-Wesley, 1975.
Shapiro, J. Mathematical Programming: Structures and Algorithms. New York: Wiley,
1979.
Taha, H. Integer Programming: Theory, Applications, and Computations. Orlando, Fla.:
Academic Press, 1975.
Az albbi hrom munka behatan mutatja be az egszrtku programozsi modellek alkotsnak muvszett:
Plane, D. s C. McMillan. Discrete Optimization: Integer Programming and Network Analysis for Management Decisions. Englewood Cliffs, N. J.: Prentice Hall, 1971.
Wagner, H. Principles of Operations Research, 2d ed. Englewood Cliffs, N. J.: Prentice
Hall, 1975.
Williams, H. Model Building in Mathematical Programming, 2d ed. New York: Wiley,
1985.
jabban Lagrange-relaxcival s Benders-dekompozcival szmos nagymretu
egszrtku programozsi feladatot oldottak meg. Ezeknek a technikknak az ismertetse
meghaladja e knyv kereteit. A Lagrange-relaxcival kapcsolatban az rdeklodo olvasnak Shapiro (1979), illetve Nemhauser s Wolsey (1988) munkin kvl a kvetkezoket is
ajnljuk:
Fisher, M. An Applications-Oriented Guide to Lagrangian Relaxation, Interfaces 15(no.
2, 1985):1021.
Geoffrion, A. Lagrangian Relaxation for Integer Programming, in Mathematical Programming Study 2: Approaches to Integer Programming, ed. M. Balinski. New York:
North-Holland, 1974, pp. 82114.
32 Fitzsimmons

s Allen (1983) alapjn.

486

8. fejezet Egszrtku programozs

A Benders-dekompozcival kapcsolatban az rdeklodo olvasnak Shapiro (1979), Taha


(1975), illetve Nemhauser s Wolsey (1988) munkin kvl az albbiakat is ajnljuk:
Geoffrion, A. s G. Graves. Multicommodity Distribution System Design by Benders
Decomposition, Management Science 20(1974):822844.
Baker, K. Introduction to Sequencing and Scheduling. New York: Wiley, 1974.
Bean, J., C. Noon s J. Salton. Asset Divestiture at Homart Development Company,
Interfaces 17(no. 1, 1987):4865.
Bean, J., et al. Selecting Tenants in a Shopping Mall, Interfaces 18(no. 2, 1988):110.
Boykin, R. Optimizing Chemical Production at Monsanto, Interfaces 15(no. 1, 1985):88
95.
Brown, G., et al. Real-Time Wide Area Dispatch of Mobil Tank Trucks, Interfaces 17(no.
1, 1987):107120.
Calloway, R., M. Cummins s J. Freeland, Solving Spreadsheet-Based Integer Programming Models: An Example from International Telecommunications, Decision Sciences
21(1990):808824.
Cavalieri, F., A. Roversi s R. Ruggeri. Use of Mixed Integer Programming to Investigate Optimal Planning Policy for a Thermal Power Station and Extension to Capacity,
Operational Research Quarterly 22(1971):221236.
Choypeng, P., P. Puakpong s R. Rosenthal. Optimal Ship Routing and Personnel Assignment for Naval Recruitment in Thailand, Interfaces 16(no. 4, 1986):4752.
Day, R. On Optimal Extracting from a Multiple File Data Storage System: An Application
of Integer Programming, Operations Research 13(1965):482494.
Eaton, D., et al. Determining Emergency Medical Service Vehicle Deployment in Austin,
Texas, Interfaces 15(1985):96108.
Efroymson, M. s T. Ray. A Branch-Bound Algorithm for Plant Location, Operations
Research 14(1966):361368.
Ellis, P. s R. Corn, Using Bivalent Integer Programming to Select Teams for Intercollegiate Womens Gymnastics Competition, Interfaces 14(1984):4146.
Fitzsimmons, J. s L. Allen. A Warehouse Location Model Helps Texas Comptroller Select Out-of-State Audit Offices, Interfaces 13(no. 5, 1983):4046.
Garfinkel, R. Minimizing Wallpaper Waste I: A Class of Traveling Salesperson Problems,
Operations Research 25(1977):741751.
Garfinkel, R. s G. Nemhauser. Optimal Political Districting by Implicit Enumeration
Techniques, Management Science 16(1970):B495B508.
Gelb, B. s B. Khumawala. Reconfiguration of an Insurance Companys Sales Regions,
Interfaces 14(1984):8794.
Golden, B., L. Bodin, T. Doyle s W. Stewart. Approximate Traveling Salesmen Algorithms, Operations Research 28(1980):694712.
Gomory, R. Outline of an Algorithm for Integer Solutions to Linear Programs, Bulletin
of the American Mathematical Society 64(1958):275278.
Hax, A. s D. Candea. Production and Inventory Management. Englewood Cliffs, N. J.:
Prentice Hall, 1984.
Lawler, L., et al. The Traveling Salesman Problem. New York: Wiley, 1985.
Liggett, R. The Application of an Implicit Enumeration Algorithm to the School Desegregation Problem, Management Science 20(1973):159168.

Irodalom

487

Magirou, V.F. The Efficient Drilling of Printed Circuit Boards, Interfaces 16 (no. 4,
1984):1323.
Muckstadt, J. s R. Wilson. An Application of Mixed Integer Programming Duality to
Scheduling Thermal Generating Systems, IEEE Transactions on Power Apparatus and
Systems (1968):19681978.
Peiser, R. s S. Andrus. Phasing of Income-Producing Real Estate, Interfaces 13(1983):
111.
Salkin, H. s C. Lin. Aggregation of Subsidiary Firms for Minimal Unemployment Compensation Payments via Integer Programming, Management Science 25(1979):405
408.
Shanker, R. s A. Zoltners. The Corporate Payments Problem, Journal of Bank Research
(1972):4753.
Strong, R. LP Solves Problem: Eases Duration Matching Process, Pension and Investment Age 17(no. 26, 1989):21.
Walker, W. Using the Set Covering Problem to Assign Fire Companies to Firehouses,
Operations Research 22(1974):275277.
Westerberg, C., B. Bjorklund s E. Hultman. An Application of Mixed Integer Programming in a Swedish Steel Mill, Interfaces 7(no. 2, 1977):3943.
Zangwill, W. The Limits of Japanese Production Theory, Interfaces 22(no. 5, 1992):
1425.

9
A lineris programozs fejlettebb
mdszerei1
Ebben a fejezetben a lineris programozs hat fejlettebb mdszert trgyaljuk: a mdostott
szimplex mdszert, az inverz szorzatalakjt, az oszlopgenerls technikjt, a Dantzig

Wolfe dekompozcis algoritmust, a szimplex mdszert felsokorltos


vltozk esetn s
Karmarkar mdszert LP feladatok megoldsra. Az itt trgyalt technikkat gyakran alkalmazzk nagymretu lineris programozsi feladatok megoldsa sorn. Az 5.2. alfejezetben
bemutatott eredmnyek kulcsszerepet jtszanak ebben az egsz fejezetben.

9.1.

A mdostott szimplex mdszer


Az 5.2. alfejezetben megmutattuk, hogy ha adott optimlis bzisvltozk egy halmaza, hogyan lehet elolltani az optimlis tblt egy kezdo tblbl kiindulva. Valjban az 5.2.
alfejezet eredmnyei bzisvltozk brmely halmazhoz tartoz tbla el o lltsra alkalmazhatk. Ahhoz, hogy megmutassuk, hogyan lehet bzisvltozk brmely BV halmazhoz elolltani a tblzatot, elsoknt a kvetkezo jellseket vezetjk be (feltesszk, hogy
az LP feladatnak m felttele van):
BV = bzisvltozk egy halmaza (BV elso eleme az elso felttel bzisvltozja,
BV msodik eleme a msodik felttel bzisvltozja stb.
Teht BV j az elolltand tbla j-edik felttelhez tartoz bzisvltoz.)
b = az eredeti tbla feltteleihez tartoz jobb oldali vektor
a j = az eredeti feladat feltteli mtrixban az x j vltozhoz tartoz oszlop
B = m m-es mtrix, amelynek j-edik oszlopa a BV j -hez tartoz oszlop
az eredeti feltteli mtrixban
c j = x j egytthatja a clfggvnyben
cBV = 1 m-es sorvektor, amelynek j-edik eleme
a clfggvny BV j -hez tartoz egytthatja
ui = m 1-es oszlopvektor, amelynek i-edik eleme 1, az sszes tbbi eleme
pedig nulla

1 Ezen

fejezet kihagysa nem szaktja meg a trgyals folytonossgt.

490

9. fejezet A lineris programozs fejlettebb mdszerei

Az 5.2. alfejezet kpleteit a kvetkezo kppen foglalhatjuk ssze:


B1 a j = az x j -hez tartoz oszlop a BV tblban
1

cBV B a j c j = x j egytthatja a 0. sorban

(1)
(2)

B b = a BV tbla feltteleihez tartoz jobb oldali vektor

cBV B1 ui = az si kiegszto vltozhoz tartoz egytthat


a BV tbla 0. sorban
1
cBV B (ui ) = az ei felesleg vltozhoz tartoz egytthat
a BV tbla 0. sorban
1
M + cBV B ui = az ai mestersges vltozhoz tartoz egytthat
a BV tbla 0. sorban (maximalizlsi feladat esetn)
cBV B1 b = a jobb oldal rtke a BV tbla 0. sorban

(3)
(4)
(5)
(6)
(7)

Ha ismert BV, B1 s az eredeti tbla, akkor az (1)(7) kpletek segtsgvel bzisvltozk tetszoleges BV halmaza esetn kiszmthatjuk a szimplex tbla brmely rszt. Ez azt
jelenti, hogy a szimplex mdszer szmtgpes megvalstsa esetn egy adott lpsben
a bzisvltozk aktulis halmazt, B1 -et s a kiindul tblt kell csak trolni. Az (1)
(7) kpleteket lehet felhasznlni a szimplex tbla tetszo leges rsznek elolltsra. Ez a
mdostott szimplex mdszer alaptlete.
A mdostott szimplex mdszert azzal szemlltetjk, hogy megoldjuk vele az 5. fejezetbol mr ismert Dakota feladatot. Emlkezteto l, az s1 , s2 s s3 kiegszto vltozk
bevezetse utn a Dakota feladat kiindul (0.) tblzata az albbi:
max z = 60x1 + 30x2 + 20x3
f.h.

8x1 + 6x2 + x3 + s1
4x1 + 2x2 + 1.5x3
+ s2
2x1 + 1.5x2 + 0.5x3

= 48
= 20
+ s3 = 8

Brmely szm bziscsere vgrehajtsa utn az aktulis tblhoz tartoz B 1 egyszeruen


az a 3 3-as mtrix, amelynek j-edik oszlopa ppen az s j -hez tartoz oszlop az aktulis
tblban. gy az eredeti tblban a bzisvltozk BV (0) halmaza
BV (0) = {s1 , s2 , s3 }

NBV(0) = {x1 , x2 , x3 }
Legyen Bi az eredeti LP feladat azon oszlopaibl ll mtrix, amelyek az i-edik tbla
bzisvltozihoz tartoznak. Ekkor

1 0 0

B1
0 = B0 = 0 1 0
0 0 1

Azt, hogy melyik nem bzisbeli vltoznak kellene belpni a bzisba, gy hatrozhatjuk
meg, hogy minden nembzis vltozra kiszmtjuk az aktulis tbla 0. sorban lv o egytthatt. Ezt az eljrst gyakran a bzison kvli vltozk kirtkelsnek nevezik. A (2)(5)
kpletekbol lthat, hogy a nembzis vltozk kirtkelshez elo szr a cBV B1
0 -et kell
meghatrozni. Mivel cBV = [0 0 0], ezrt

1 0 0




0 1 0 = 0 0 0
cBV B1
0 = 0 0 0
0 0 1

9.1. A mdostott szimplex mdszer

491

Ezutn (2) segtsgvel kirtkeljk az sszes nembzis vltozt:




 8
c1 = 0 0 0 4 60 = 60
2


 6
c2 = 0 0 0 2 30 = 30
1.5


 1
c3 = 0 0 0 1.5 20 = 20
0.5
Mivel x1 -nek van a legnegatvabb egytthatja az aktulis 0. sorban, x 1 -et vlaszthatjuk a
bzisba belponek. A szimplex mdszer folytatshoz az j tblzatbl mindssze a bzisvltozk j BV (1) halmazt s a hozz tartoz B1
1 inverzet kell ismernnk. A BV (1)
meghatrozshoz meg kell tallni azt a sort, amelyben x1 a bzisba lp. Kiszmtjuk az
x1 -hez tartoz oszlopot s a jobb oldali vektort az aktulis tblban.
(1) szerint


1 0 0 8
8
x1 oszlopa az aktulis tblban = 0 1 0 4 = 4
0 0 1 2
2
(3) alapjn:


1 0 0 48
48
a jobb oldali vektor az aktulis tblban = 0 1 0 20 = 20
0 0 1
8
8

A hnyados tesztet hasznljuk most annak a sornak a meghatrozsra, ahol az x 1 a bzisba


20
8
lp. A megfelelo hnyadosok: 1. sor: 48
8 = 6; 2. sor: 4 = 5 s 3. sor: 2 = 4. Teht x1 a
bzis 3. sorba lp be. Ez azt jelenti, hogy az j szimplex tblnkban (1. tbla) BV (1) =
{s1 , s2 , x1 } s NBV(1) = {s3 , x2 , x3 }.
Az j B1 az j tbla s1 , s2 s s3 vltozkhoz tartoz oszlopaibl ll. Az j B1 meghatrozshoz tekintsk a kiindul 0. tblban a belpsre kijellt x 1 vltozhoz tartoz
oszlopot. Ebbol az oszlopbl lthatjuk, hogy a kvetkezo elemi sormuveleteket kell vgrehajtani a 0. tblrl az 1. tblra val ttrshez:
1.

Szorozzuk meg a 0. tbla 3. sort 12 -del.

2.

rjuk a 0. tbla 1. sora helybe a 4(a 0. tbla 3. sora) + a 0. tbla 1. sora rtkeit.

3.

rjuk a 0. tbla 2. sora helybe a 2(a 0. tbla 3. sora) + a 0. tbla 2. sora rtkeit.

Ezeket az elemi sormuveleteket B1


0 -re alkalmazva kapjuk:

1 0 4

B1
1 = 0 1 2
1
0 0
2

Most mr kirtkelhetjk az sszes nembzis vltozt az j tblban.


Elsoknt kiszmtjuk a


 1 0 4


1
cBV B1 = 0 0 60 0 1 2 = 0 0 30
1
0 0
2

492

9. fejezet A lineris programozs fejlettebb mdszerei

vektort. Ezutn hasznljuk a (2) s (4) kpleteket az 1. tbla nembzis vltozinak kirtkelsre:


 6
c2 = 0 0 30 2 30 = 15
1.5


 1
c3 = 0 0 30 1.5 20 = 5
0.5


 0
s3 egytthatja a 0. sorban = 0 0 30 0 0 = 30
1
Mivel x3 az egyetlen negatv egytthatj vltoz az 1. tbla 0. sorban, az x 3 vltozt
lptetjk be a bzisba. A bzisvltozk j BV (2) halmaznak s a hozz tartoz B 1
2 inverz meghatrozshoz megkeressk a sort, ahol x3 belp a bzisba, s kiszmtjuk az
albbiakat:

1 0 4
1
1

1.5 = 0.5
x3 oszlopa az 1. tblban = B1
1 a3 = 0 1 2
0 0
0.5 0.5
0.25

16
48
1 0 4
0 1 2 20 = 4
a jobb oldali vektor az 1. tblban = B1
b
=
1
4
8
0 0
0.5

A megfelelo hnyadosok annak meghatrozsra, hogy hol lpjen be x 3 a bzisba: 1. sor:


4
4
nincs; 2. sor: 0.5
= 8; s 3. sor: 0.25
= 16. gy x3 a bzis 2. sorba lp be. Teht a 2. tblban
BV (2) = {s1 , x3 , x1 } s NBV(2) = {s2 , s3 , x2 }.

A B1
2 kiszmtshoz be kell vinnnk az x3 vltozt a bzis 2. sorba, azaz a kvetkez o
elemi sormuveleteket kell vgrehajtanunk az 1. tblban:
1.

rjuk az 1. tbla 2. sora helybe a 2(az 1. tbla 2. sora) rtkeit.

2.

rjuk az 1. tbla 1. sora helybe a 2(az 1. tbla 2. sora) + az 1. tbla 1. sora rtkeit.

3.

rjuk az 1. tbla 3. sora helybe a 12 (az 1. tbla 2. sora) + az 1. tbla 3. sora rtkeit.

Ezeket az elemi sormuveleteket B1


1 -re alkalmazva azt kapjuk, hogy

1
2
8

2
4
B1
2 = 0
0 0.5
1.5

Most a 2. tbla nembzis vltozit rtkeljk ki. Elso knt kiszmtjuk a

1
2
8



0
2
4 = 0 10 10
cBV B1
2 = 0 20 60
0 0.5
1.5


vektort.

9.1. A mdostott szimplex mdszer

493

Ezutn az x2 , s2 s s3 nembzis vltozkat rtkeljk ki:




 6
c2 = 0 10 10 2 30 = 5
1.5


 0
s2 egytthatja a 0. sorban = 0 10 10 1 0 = 10
0


 0
s3 egytthatja a 0. sorban = 0 10 10 0 0 = 10
1
Mivel mindegyik nembzis vltoznak nemnegatv egytthatja van a 0. sorban, a 2. tbla
optimlis tbla. Az optimlis megolds meghatrozshoz ki kell szmtani a 2. tbla jobb
oldali vektort. A (3) kplet alkalmazsval kapjuk, hogy

24
48
1
2
8
2
4 20 = 8
a 2. tbla jobb oldali vektora = 0
2
8
0 0.5
1.5

Mivel BV (2) = {s1 , x3 , x1 }, a Dakota feladat optimlis megoldsa



s1
24
x3 = 8
x1
2

azaz s1 = 24, x3 = 8, x1 = 2, x2 = s2 = s3 = 0. Az optimlis z rtk (7)-bol kaphat meg:



48


20 = 280
0
10
10
cBV B1
b
=
2
8

Az albbiakban sszefoglaljuk a mdostott szimplex mdszert (maximalizlsi feladat


esetn):
0. lps Gondoskodjunk az aktulis B1 inverz oszlopainak beolvassrl. Kiindulskor
B1 = I.
1. lps Az aktulis tblra vonatkozan szmtsuk ki a cBV B1 rtkelovektort.
2. lps rtkeljk ki az aktulis tbla sszes nembzis vltozjt. Ha a kirtkels minden nembzis vltoz esetn nemnegatv rtket ad, az aktulis bzis optimlis. Ha az aktulis bzis nem optimlis, lptessk be a bzisba azt a nembzis vltozt, amelynek a
legnegatvabb az egytthatja a 0. sorban. Jelljk ezt a vltozt x k -val.
3. lps Annak meghatrozshoz, hogy a bzis melyik sorba lpjen be x k , szmtsuk
ki xk oszlopt az aktulis tblban (B1 ak ), tovbb az aktulis tbla jobb oldali vektort
(B1 b). Ezutn a hnyados tesztet alkalmazzuk annak meghatrozsra, melyik sorba lp
be xk . Most mr akkor ismerjk az j tbla bzisvltozinak (BV) halmazt.
4. lps Az aktulis tbla xk -hoz tartoz oszlopa segtsgvel hatrozzuk meg azokat az
elemi sormuveleteket, amelyek xk bzisba val belptetshez szksgesek. Hajtsuk vgre
ezeket az elemi sormuveleteket az aktulis B1 -en. Ezzel megkapjuk az j B1 inverzet.
Trjnk vissza az 1. lpsre.

494

9. fejezet A lineris programozs fejlettebb mdszerei

A legtbb lineris programozsi szmtgpes program a mdostott szimplex mdszer


valamilyen vltozatt hasznlja LP feladatok megoldsra. Mivel csak az aktulis tbla
B1 bzisinverzt s a kiindul tblt kell ismerni egy kvetkezo tbla meghatrozshoz,
egy LP feladat mdostott szimplex mdszerrel trtno megoldsnak szmtsi ignye elsosorban B1 mrettol fgg. Tegyk fel, hogy a megoldand LP feladatnak m felttele
s n vltozja van. Ekkor minden B1 egy m m-es mtrix. gy egy LP feladat megoldshoz szksges szmtsi rfordts elso sorban a felttelek szmtl fgg, nem pedig
vltozk szmtl. Ennek a tnynek fontos szmtsi kvetkezmnyei vannak. Pldul, ha
egy olyan LP feladatot kell megoldanunk, amelynek 500 felttele s 10 vltozja van, a
feladat duljnak 10 felttele s 500 vltozja lesz. Ekkor a dul feladatban minden B 1
inverz 10 10-es mtrix, mg a priml feladatban minden B1 inverz 500 500-as mtrix.
Teht a dul feladatot sokkal knnyebb megoldani, mint a primlt. Ebben az esetben a szmtsi ido nagymrtkben cskkentheto , ha a dul feladatot oldjuk meg, a priml optimlis
megoldst pedig a szmtgp ltal szolgltatott eredmnylistban rnykrak vagy dul
vltozk nv alatt keressk meg.

Feladatok
A csoport

2.

max z = 4x1 + x2

Hasznljuk a mdostott szimplex mdszert a kvetkezo LP


feladatok megoldsra:
1.

f.h.

3x2 6

max z = 3x1 + x2 + x3
f.h.

x 1 + x2 + x3 6

2x1

x3 4

x2 + x 3 2

x1 , x2 , x3 0

x 1 + x2 4

2x1 + x2 6

x1 , x2 , x3 0
(Emlkezznk arra, hogy B1 mindig a kiindul bzishoz
tartoz oszlopokban tallhat meg.)
3.

min z = 3x1 + x2 3x3


f.h.

x 1 x2 + x3 4
x1

+ x3 6

2x2 x3 5
x1 , x2 , x3 0

9.2.

Az inverz szorzatformja
A mdostott szimplex mdszerben a szmtsok legnagyobb rszt a B 1 bzisinverz aktualizlsra fordtjuk. Ebben az alfejezetben egy hatkony mdszert mutatunk be B 1 kiszmtsra.
Tegyk fel, hogy egy m felttellel rendelkezo LP feladatot kell megoldanunk. Tegyk
fel tovbb, hogy mr meghatroztuk, hogy az xk vltoz lp be a bzisba, mgpedig az
r-edik sorba. Az aktulis tblban az xk -hoz tartoz oszlop legyen

a1k
a2k

..
.
amk

9.2. Az inverz szorzatformja

495

Adjunk meg egy m m-es E mtrixot a kvetkezo kppen:


(r-edik oszlop)

1 0 ...

.
..

E =
0

..
.

1 ...
..
.
0 ...
..
.
0 ...
0 ...

a1k
ark
a2k

ark
..
.
1
ark
..
.
am1,k

ark
amk

ark

... 0 0

. . . 0 0

.. ..
. .

. . . 0 0
(r-edik sor)

.. ..
. .

. . . 1 0

... 0 1

Rviden, E az Im egysgmrix r-edik oszlopnak az

a1k

ark

a2k

ark

..

ark

..

am1,k

ark
amk

ark

oszlopvektorra trtno felcserlsvel kapott mtrix.

D EFINCI

Egy olyan mtrixot, amely csak egyetlen oszlopban klnbzik az egysgmtrixtl,


elemi mtrixnak neveznk.
Teht E is elemi mtrix. Megmutatjuk, hogy
B1 az j tblban = E(B1 az aktulis tblban)

(8)

Ennek beltshoz vegyk szre, hogy az aktulis tblrl az j tblra val ttrshez
hasznlt elemi sormuveletek tmren gy is rhatk:
 
1
1
(az aktulis B1 r-edik sora)
(9)
az j B r-edik sora =
ark
s i 6= r esetn
az j B1 i-edik sora
= (az aktulis B1 i-edik sora)

aik
ark

(az aktulis B1 r-edik sora)

(10)

496

9. fejezet A lineris programozs fejlettebb mdszerei

A 2.1. alfejezetben lertak alapjn


E(aktulis B1 ) i-edik sora = (E i-edik sora)(aktulis B1 )

(11)

A (11) sszefggst s E defincijt sszevetve azt kapjuk, hogy


 
1
(B1 r-edik sora)
E(aktulis B1 ) r-edik sora =
ark
s i 6= r esetn
E(aktulis B1 ) i-edik sora
= (aktulis B1 i-edik sora)

aik
ark

(aktulis B1 i-edik sora)

Lthat, hogy (8) ppen a (9) s (10) sszefggsekkel azonos. Ezrt (8) felhasznlhat az
j B1 -nek az aktulis B1 -bol val elolltsra.
Tekintsk a kiindul tblt 0. tblaknt, s legyen Ei az i-edik szimplex tblhoz tartoz
E elemi mtrix. Azt tudjuk, hogy B1
ol
0 = Im , s ebb
1
B1
1 = E 0 B0 = E 0

Hasonlan
1
B1
2 = E 1 B1 = E 1 E0

s ltalnos alakban
B1
k = Ek1 Ek2 . . . E1 E0

(12)

A (12) egyenlosget az inverz szorzatformjnak nevezik. A legtbb lineris programozsi szmtgpes kd a mdostott szimplex mdszert hasznlja, s az egymsra kvetkez o
B1 inverzek kiszmtsra a szorzatformt alkalmazza.

1.

PLDA

Alkalmazzuk az inverz szorzatformjt a 9.1. alfejezetben mdostott szimplex mdszerrel


1
mr megoldott Dakota feladat esetn a B1
1 s a B2 kiszmtsra.

Megolds

Emlkezznk arra, hogy a 0. tblban x1 a 3. sorban lpett be a bzisba. gy a 0. tbla esetn


r = 3, k = 1 s

a11
8
a21 = 4
a31
2
Ebbol azt kapjuk, hogy

1 0 82

E0 = 0
0

1
0
B1
=
1
0

1
0

0
1
0

42 = 0
1
0
2

4 1 0
2 0 1
1
0 0
2

0
1
0

4
2
1
2


1 0
0
0 = 0 1
1
0 0

4
2
1
2

9.3. Az oszlopgenerls alkalmazsa nagymretu LP feladatok megoldsra

497

Az 1. tblrl a 2. tblra val ttrsnl x3 a 2. sorban lp be a bzisba. Teht E1 kiszmtsnl r = 2 s k = 3. Eloszr a bzisba belpo x3 -hoz tartoz oszlopot kell elolltani az
1. tblban:

1
a13
1
1 0 4
a23 = B1 a3 = 0 1 2 1.5 = 0.5
1
0.25
0 0
0.5 0.5
a33
Az x3 most is a 2. sorban lp a bzisba. gy

1
)
1 ( 0.5

1
E1 = 0
0.5
0

0.25
0.50

1
2
0

2
0
0 = 0
0 0.5 1
1

1
2
0 1 0 4
1
2
8
1

2
0 0 1 2 = 0
2
4
B1
2 = E 1 B1 = 0
0 0.5 1 0 0
0.5
0 0.5
1.5

A kvetkezo kt alfejezetben az inverz szorzatformjt az oszlopgenerlsi technika s


a DantzigWolfe dekompozcis eljrs tanulmnyozsnl is hasznljuk.

Feladat
A csoport
Alkalmazzuk a mdostott szimplex mdszert az inverz
szorzatformjval a 9.1. alfejezet feladatainak megoldsra!

9.3.

Az oszlopgenerls alkalmazsa nagymretu LP


feladatok megoldsra
Azt mr lttuk, hogy a mdostott szimplex mdszer kevesebb szmtsi rfordtst ignyel, mint a 4. fejezetben ismertetett szimplex mdszer. Ebben az alfejezetben a Gilmore
s Gomory (1961) ltal kidolgozott oszlopgenerlsi mdszerrel foglalkozunk. Olyan LP
feladatok esetn, amelyeknek sok vltozja van, az oszlopgenerlsi technika a mdostott
szimplex mdszer hatkonysgnak nvelsre hasznlhat. Az oszlopgenerls a 9.4. alfejezetben ismertetendo DantzigWolfe dekompozcis eljrsnak is fontos alkoteleme.
Az oszlopgenerls tletnek megrtshez oldjuk meg a klasszikus levgsi feladat (cutting stock problem) egy egyszeru vltozatt.

2.

PLDA

A Woodco cg 3, 5 s 9 mter hosszsg gerendkat rul. A cghez 25 db 3 mter, 20 db


5 mter s 15 db 9 mter hossz gerendra rkezik megrendels. A Woodco a megrendelseket 17 mter hossz gerendkbl trtno levgsokkal elgti ki. A cg minimalizlni
akarja a keletkezo levgsi hulladkot. rjunk fel egy LP feladatot, amely segti a cget
clja elrsben, s oldjuk meg a feladatot az oszlopgenerlsi technikval.

498

9. fejezet A lineris programozs fejlettebb mdszerei

Megolds

1. T B L Z A T
A gerenda vgsi
mdjai a levgsi
feladatban

A Woodcnak el kell dntenie, hogy az egyes 17 mter hossz gerendkat milyen hosszakra
vgja fel. Ezrt minden egyes dnts egy 17 mter hossz gerenda felvgsi mdjhoz
kapcsolhat. Pldul egy dntsi vltozt rendelhetnk ahhoz a felvgsi mdhoz, amikor
a 17 mter hossz gerendbl 3 db 5 mter hosszt vgunk le, s ekkor a keletkez o hulladk
17 15 = 2 mter. Sok lehetsges levgsi mdot eleve nem kell figyelembe venni. Pldul
butasg lenne egy gerendbl csak egy 9 mter s egy 5 mter hossz rszt levgni, amikor
ugyanezzel az erovel egy 9 mter, egy 5 mter s egy 3 mter hossz rszt is kaphatunk.
ltalban minden olyan levgsi sma, amely 3 mter vagy annl hosszabb hulladkot
eredmnyez, figyelmen kvl hagyhat, mivel a hulladkbl tovbbi egy vagy tbb 3 mter
hossz darabot nyerhetnk mg. Az 1. tblzat egy 17 mter hossz gerenda fentiek alapjn
sszeru felvgsi kombinciit sorolja fel.

1. kombinci
2. kombinci
3. kombinci
4. kombinci
5. kombinci
6. kombinci

3 mter hossz
gerendk szma

5 mter hossz
gerendk szma

9 mter hossz
gerendk szma

Hulladk
(mter)

5
4
2
2
1
0

0
1
2
0
1
3

0
0
0
1
1
0

2
0
1
2
0
2

Legyen
xi = Az i-edik kombinci szerint felvgott 17 mter hossz gerendk szma,
s fogalmazzuk meg a Woodco cg LP feladatt:
a Woodco hulladka + az sszes fogyaszti igny = a felvgott gerendk sszhossza
Mivel
az sszes fogyaszti igny = 25(3) + 20(5) + 15(9) = 310 mter
a felvgott gerendk sszhossza = 17(x1 + x2 + x3 + x4 + x5 + x6 )
rhatjuk, hogy
a Woodco hulladka (mter) = 17x1 + 17x2 + 17x3 + 17x4 + 17x5 + 17x6 310

Ekkor a Woodco minimalizland clfggvnye

Ez ekvivalens a

min z = 17x1 + 17x2 + 17x3 + 17x4 + 17x5 + 17x6 310


17(x1 + x2 + x3 + x4 + x5 + x6)

minimalizlsval, az pedig az
x1 + x 2 + x 3 + x 4 + x 5 + x 6
minimalizlsval. Teht a Woodco clfggvnye
min z = x1 + x2 + x3 + x4 + x5 + x6

(13)

Ez azt jelenti, hogy a Woodco gy tudja minimalizlni az sszes hulladkot, ha a felvgand 17 mter hossz gerendk szmt minimalizlja.
A Woodco az albbi hrom felttelnek kell hogy eleget tegyen:

9.3. Az oszlopgenerls alkalmazsa nagymretu LP feladatok megoldsra

499

1. felttel Legalbb 25 db 3 mter hossz gerendt kell levgni.


2. felttel Legalbb 20 db 5 mter hossz gerendt kell levgni.
3. felttel Legalbb 15 db 9 mter hossz gerendt kell levgni.
Mivel a levgott 3 mter hossz gerendk szma 5x1 + 4x2 + 2x3 + 2x4 + x5 , az elso
felttel
5x1 + 4x2 + 2x3 + 2x4 + x5 25
(14)
Hasonlan a msodik felttel
x2 + 2x3 + x5 + 3x6 20

(15)

x4 + x5 15

(16)

a harmadik felttel pedig


Vegyk szre, hogy xi egytthatja a k mter hossz gerendkra vonatkoz felttelben ppen az i-edik vgsi kombinci ltal egy teljes hosszsg gerendbl kapott k mter
hossz gerendk szma.
Nyilvnval, hogy az xi vltozkra egszrtkusget kellene kiktni. Ennek ellenre,
ha az ignyelt mennyisgek nagyok, az optimlishoz kzeli megoldst kaphatunk, ha a
levgsi feladatot LP feladatknt oldjuk meg, majd a megolds trtrszeit felfel kerektjk. Ez az eljrs nem felttlenl a legjobb egszrtku megoldst adja, de ltalban az
optimlishoz kzeli megoldst nyerhetnk. Emiatt most a levgsi feladat LP verzijval
foglalkozunk. A (13)(16) feltteleket az elo jel kiktsekkel kombinlva a kvetkezo LP
feladatot kapjuk:
min z = x1 + x2 + x3 + x4 + x5 + x6
f.h.

5x1 + 4x2 + 2x3 + 2x4 + x5


25
x2 + 2x3
+ x5 + 3x6 20

x4 + x 5
15
x1 , x2 , x3 , x4 , x5 , x6 0

(3 mter felttel)
(5 mter felttel)

(17)

(9 mter felttel)

Vegyk szre, hogy x1 csak a 3 mter felttelben szerepel (mivel az 1. kombinci csak
3 mter hossz gerendt ad), tovbb x6 csak az 5 mter felttelben vesz rszt (mivel a 6.
kombinci csak 5 mter hossz gerendt ad). Ez azt jelenti, hogy x 1 s x6 felhasznlhat
mint kiindul bzisvltoz a 3 mter, illetve az 5 mter felttelekhez. Sajnos az 16. kombincik egyike sem eredmnyez pusztn 9 mter hossz darabokat, gy a 9 mter felttelhez
nincs magtl add bzisvltoz. Hogy elkerljk egy mestersges vltoz bevonst a
9 mter felttelbe, vezessnk be egy olyan 7. kombincit az eddigi vgsi kombincik
mell, amely csupn egy 9 mter hossz gerendt vg le a teljes hosszbl. Ennek megfeleloen legyen x7 a 7. kombinci szerint levgsok szma. Knnyen lthat, hogy x 7 nulla
szinten lesz az optimlis megoldsban, de x7 kezdo bzisba val bevonsa leheto v teszi a
nagy M technika vagy a ktfzis szimplex mdszer elkerlst. Az x 7 -hez tartoz oszlop
az LP felttelekben

0
0
1
s az x7 tag addik hozz a clfggvnyhez. Most mr BV = {x1 , x6 , x7 } hasznlhat a (17)
LP feladat kiindul bzisaknt. Ha ehhez a bzishoz tartoz tblt 0. tblnak tekintjk,

500

9. fejezet A lineris programozs fejlettebb mdszerei

akkor

5 0 0
B0 = 0 3 0
0 0 1
1

0 0
5
1

B1
0
0 = 0
3
0 0 1

gy

1
5


0
cBV B1
0 = 1 1 1
0

0
1
3

0

0 = 15
1

1
3

Ha most kirtkelnnk a nembzis vltozkat, megtudhatnnk, hogy melyik vltozt


kellene belptetni a bzisba. Azonban egy nagymretu leszabsi feladatnl tbb ezer vltoz is lehet, gy minden egyes nem bzisvltoz egyenknti kirtkelse meglehet o sen
idoignyes lehet. Ez az a tipikus szituci, ahol az oszlopgenerls szerepet kaphat. Mivel egy minimalizlsi feladatot oldunk meg, egy olyan oszlopot kell tallnunk, amelynek
pozitv a kirtkelse, azaz pozitv egytthatja van a 0. sorban. A leszabsi feladatban
minden oszlop vagy vltoz a teljes hosszsg gerenda egy leszabsi kombincijt kpviseli. Egy vltoz lnyegben hrom szmmal rhat le: a3 , a5 s a9 , ahol ai a 17 mter
hossz gerendbl levgott i mter hossz gerendk szma az adott kombinci levgsi
smja alapjn. Pldul az x2 vltoz az a3 = 4, a5 = 1 s a9 = 0 szmokkal van meghatrozva. Az oszlopgenerls tlete arra irnyul, hogy hatkonyan keressnk egy olyan
oszlopot, amelynek a kirtkelse megfelelo (minimalizls esetn pozitv, maximalizls
esetn negatv). Az aktulis bzisunk esetn az a3 , a5 s a9 szmokkal lert kombinci
kirtkelse

a3
1
1
1
cBV B0 a5 1 = a3 + a5 + a9 1
5
3
a9

Vegyk azonban szre, hogy az a3 , a5 s a9 rtkeket gy kell megvlasztani, hogy az ltaluk kpviselt kombinci ne hasznljon 17 mter hossznl tbbet. Azt is tudjuk, hogy a 3 ,
a5 s a9 nemnegatv egsz szmok kell hogy legyenek. Rviden, az a 3 , a5 s a9 rtkeknek
eleget kell tennie az albbi feltteleknek:
3a3 + 5a5 + 9a9 17 (a3 0, a5 0, a9 0; a3 , a5 , a9 egsz)

(18)

A legkedvezobb kirtkelst s a hozz tartoz kombincit gy az albbi htizsk feladat


megoldsval kaphatjuk meg:
max z = 51 a3 + 31 a5 + a9 1
f.h.
3a3 + 5a5 + 9a9 17

a3 , a5 , a9 0;

(19)

a3 , a5 , a9 egsz

Mivel (19) egy htizsk feladat (ahol a 01 kikts helyett most egszrtkusg van el o rva
a vltozkra), knnyen megoldhat a 8.5. alfejezetben ismertetett korltozs s sztvlaszts eljrssal.
A szmtsok sorn eloll korltozs s sztvlaszts fa az 1. brn lthat. Pldul az
1. bra 6. feladatnak megoldsnl elo szr az a5 = 1 rtket lltjuk be (mivel mindenkppen a5 1). Ekkor 12 mter hossz maradt a htizsk feladatra, s megprbljuk a jobbik

9.3. Az oszlopgenerls alkalmazsa nagymretu LP feladatok megoldsra

501

1. B R A
Korltozs s
sztvlaszts fa a
(19) egszrtku
programozsi
feladathoz

Nem lehetsges

Jellt

a9 -et olyan nagynak vlasztani, amennyire csak lehetsges. Mivel a 9 1, belltjuk, hogy
a9 = 1. Ekkor 3 mter marad, amibo l a3 = 1 kvetkezik, gy ppen betelt a htizsk. Az
1. brbl lthat, hogy a (19) egszrtku programozsi feladat optimlis megoldsban
8
z = 15
, a3 = a5 = a9 = 1. Ez ppen az 5. kombincihoz s az x5 vltozhoz tartozik. Teht
8
x5 kirtkelseknt 15
addik, s az x5 bzisba trtno belptetse cskkentheti a Woodco
hulladkt. Ahhoz, hogy x5 belpjen a bzisba, elolltjuk az aktulis tbla jobb oldalt s
az x5 oszlopt:
1
1
1
0 0 1
5
5

1
1
x5 oszlopa az aktulis tblban = B1
0 1 = 1
0 = 0
1

0 0
1

a jobb oldali vektor az aktulis tblban = B1


0 b = 0

1
3

1
1

5
0 25

0 20 = 20
3

15

15

A hnyados teszt azt mutatja, hogy x5 -nek a 3. sorban kell a bzisba lpnie. Ebbo l BV (1) =
{x1 , x6 , x5 } addik. Az inverz szorzatformjt hasznlva azt kapjuk, hogy

1
1

1 0 51
0 0
0 15
5
5

1
1
1
B1
0 = 0 31 13
1 = E 0 B0 = 0 1 3 0
3
0 0 1
0 0
1
0 0
1

502

9. fejezet A lineris programozs fejlettebb mdszerei

Ekkor



cBV B1
1 = 1 1 1 0
0

15


13 = 15
1

1
3

1
3

7
15

Az rnykrak j (cBV B1
1 ) vektorval ismt alkalmazhatjuk az oszlopgenerlst annak
megllaptsra, hogy vajon van-e olyan kombinci, amelyet rdemes a bzisba bevonni.
Az aktulis rnykrakkal az a3 , a5 s a9 kombinci kirtkelseknt


 a
1
1
7
1 1 7 3
a5 1 = a3 + a5 + a9 1
5
3
15
5 3 15 a
9
addik. Az aktulis tbla esetn az oszlopgenerls a kvetkez o feladatot eredmnyezi:
7
max z = 51 a3 + 31 a5 + 15
a9 1

f.h.

(20)

3a3 + 5a5 + 9a9 17

a3 , a5 , a9 0; a3 , a5 , a9 egsz
A (20) feladathoz tartoz korltozs s sztvlasztsi ft a 2. bra mutatja. Lthat,
hogy az a3 = 4, a5 = 1 s a9 = 0 rtkekkel adott kombinci (2. kombinci) kirtkelse
2
a legjobb (egytthatja a 0. sorban 15
). Ezrt az x2 vltozt lptetjk be a bzisba. Az
aktulis tblban x2 oszlopa
4
1
4
4
0 15
5
5

1
1 1 = 1
1
=
B1
0

1
3
3
3
0

2. B R A
Korltozs s
sztvlaszts fa a
(20) egszrtku
programozsi
feladathoz

Nem lehetsges

Jellt

Nem lehet jobb az eddigi


2
legjobb z=rtknl
15

9.3. Az oszlopgenerls alkalmazsa nagymretu LP feladatok megoldsra

503

Az aktulis tbla jobb oldala


1
5

B1
1 b = 0

15


2
25
1 20 = 5
3 3
15
1 15

1
3

A hnyados teszt azt jelzi, hogy x2 -nek az 1. sorban kell belpnie a bzisba. Ezrt BV (2) =
{x2 , x6 , x5 }. Az inverz szorzatformjnak alkalmazsval azt kapjuk, hogy
5

0 0
4
5

E1 = 12
1 0
0 0 1
Ebbol

5
4

1
5
B1
2 = E1 B1 = 12

Az rnykrak j vektora:


cBV B1
2 = 1 1

0 0

1 0 0
0 1 0
1
 41
1 12

15

13

14

1
3

1
3

1
4
1
= 12


14 = 16
1

0
1
3

1 1
3 2

14

14
1

Ezekkel az rnykrakkal az a3 , a5 s a9 kombinci kirtkelsnek eredmnye 16 a3 +


1
1
3 a5 + 2 a9 1. Teht az oszlopgenerlsi eljrsban az albbi feladatot kell megoldanunk:
max z = 16 a3 + 31 a5 + 21 a9 1
f.h.
3a3 + 5a5 + 9a9 17

a3 , a5 , a9 0;

(21)

a3 , a5 , a9 egsz

A (21) egszrtku programozsi feladat korltozs s sztvlaszts fjnak megalkotst gyakorls cljbl az olvasra hagyjuk (lsd az 1. feladatot ennek az alfejezetnek a
vgn). A (21) feladat optimlis z rtkeknt z = 0 addik. Ez azt jelenti, hogy egyetlen
kombinci kirtkelse sem kedvezo . Kvetkezskppen az aktulis bzismegoldsunk
optimlis megolds. Ahhoz, hogy a bzisvltozk rtkt megkapjuk az optimlis megoldsban, meghatrozzuk az aktulis tblban a jobb oldali vektort:
5
1
0 14
25
4
2
5
1 1
1
1
B2 b = 12 3 4 20 = 6
0 0
1 15
15
Teht a Woodco leszabsi feladatnak optimlis megoldsa x2 = 25 , x6 = 56 , x5 = 15. Szksg esetn egy sszeru egszrtku megoldst is kaphatunk x 2 s x6 felfel kerektsvel.
Ezzel az x2 = 3, x6 = 1, x5 = 15 egszrtku megoldshoz jutunk.
Amennyiben a leszabsi feladathoz van egy kiindul bzismegoldsunk, nincs is szksgnk az sszes olyan lehetsges mdnak a felsorolsra, amely szerint a teljes gerenda

504

9. fejezet A lineris programozs fejlettebb mdszerei

felvghat. Minden iterciban korltozs s sztvlaszts mdszerrel egy j kombincit


lltunk elo (olyat, amely javtja a z rtket, amikor bekerl a bzisba). Az a tny, hogy nem
kell felsorolnunk az sszes mdot, amely szerint a gerenda felvghat, nagy segtsg. Egy
Gilmore s Gomory (1961) ltal megoldott leszabsi feladatban, ahol a vev o k 40 klnbzo
hosszsg gerendbl rendeltek, tbb mint 100 milli lehetsges leszabsi md addott.
Az oszlopgenerlsi eljrsnak erre a feladatra trtno alkalmazsnl az utols fzisban
egyetlen korltozs s sztvlasztsi feladat megoldsa kimutatta, hogy a 100 milli (nem
bzisbeli) md egyike sem rtkelheto kedvezonek. Ez a mdszer hatrozottan kellemesebb, mint a cBV B1 hasznlata mind a 100 milli vltoz egyenknti kirtkelsre.

Feladatok
A csoport
1. Mutassuk meg, hogy a (21) egszrtku programozsi
feladat optimlis megoldsban z = 0!
2. Alkalmazzuk az oszlopgenerlst egy olyan leszabsi
feladat megoldsra, ahol 15 mter hossz deszkkbl trtno vgssal kell a kvetkezo ignyeket kielgteni: 10 db 3

9.4.

mter hossz, 20 db 5 mter hossz s 15 db 8 mter hossz


deszka.
3. Alkalmazzuk az oszlopgenerlst egy olyan leszabsi
feladat megoldsra, ahol 15 mter hossz deszkkbl trtno vgssal kell a kvetkezo ignyeket kielgteni: 80 db
4 mter hossz, 50 db 6 mter hossz s 100 db 7 mter
hossz deszka.

A DantzigWolfe dekompozcis algoritmus


Sok LP feladatban a felttelek s a vltozk az albbi mdon bonthatk szt (dekomponlhatk):
A felttelek 1. halmazban csak a vltozk 1. halmaza szerepel.
A felttelek 2. halmazban csak a vltozk 2. halmaza szerepel.
..
.
A felttelek k. halmazban csak a vltozk k. halmaza szerepel.
A felttelek k + 1-edik halmazban mr az sszes vltoz szerepelhet. A k + 1-edik halmazt
kzponti feltteleknek vagy sszekto feltteleknek szoktk nevezni. Az ilyen mdon
felbonthat LP feladatok ltalban hatkonyan oldhatk meg a DantzigWolfe dekompozcis mdszerrel.

3.

PLDA

A Steelco cg ktfle aclt (1. acl s 2. acl) gyrt kt telephelyn (1. zem s 2. zem).
Hrom eroforrs szksges egy tonna acl gyrtshoz: vasrc, szn s id o a nagyolvasztban. A kt zemnek klnbzo tpus nagyolvaszti vannak, ezrt az egy tonna acl
elolltshoz szksges eroforrsmennyisgek fggnek az adott zemto l (lsd a 2. tblzatot). Mindegyik zemnek sajt sznbnyja van. Minden nap 12 tonna szn ll rendelkezsre az 1. zemben s 15 tonna a 2. zemben. A szn nem szllthat az zemek kztt.
A nagyolvaszt az 1. zemben minden nap 10 ra, mg a 2. zemben 4 ra id o tartamban
ll rendelkezsre. A vasrcet a kt zem kztt elhelyezked o bnybl nyerik ki, 80 tonnt
mindennap. Az 1. aclt 170$/tonna, a 2. aclt pedig 160$/tonna ron lehet eladni. Az sszes
rtkestett aclt egyetlen fogyaszthoz szlltjk. Egy tonna acl szlltsi kltsge az 1.

9.4. A DantzigWolfe dekompozcis algoritmus

505

zembol 80$, a 2. zembol pedig 100$. Vltoz kltsgnek csak a szlltsi kltsgeket tekintve fogalmazzunk meg s oldjunk meg egy LP feladatot, amely maximalizlja a Steelco
szlltsi kltsgek levonsa utn maradt bevtelt!
2. T B L Z A T
Eroforrsignyek a
Steelco esetben

Megolds

Termk
(1 tonna)

Szksges
vasrc
(tonna)

Szksges
szn
(tonna)

Szksges
nagykoh ido
(ra)

1. acl az 1. zembol
2. acl az 1. zembol
1. acl a 2. zembol
2. acl a 2. zembol

8
6
7
5

3
1
3
2

2
1
1
1

Legyen
x1 = az 1. aclbl az 1. zemben naponta termelt mennyisg (tonna)
x2 = a 2. aclbl az 1. zemben naponta termelt mennyisg (tonna)
x3 = az 1. aclbl a 2. zemben naponta termelt mennyisg (tonna)
x4 = a 2. aclbl a 2. zemben naponta termelt mennyisg (tonna)
A Steelco bevtele 170(x1 + x3 ) + 160(x2 + x4 ), szlltsi kltsge pedig 80(x1 + x2 ) +
100(x3 + x4 ). Teht a Steelco maximalizland clfggvnye
z = (170 80)x1 + (160 80)x2 + (170 100)x3 + (160 100)x4
= 90x1 + 80x2 + 70x3 + 60x4
A cgnek a kvetkezo t felttelt kell figyelembe vennie:
1. felttel Az 1. zemben naponta legfeljebb 12 tonna szn hasznlhat fel.
2. felttel Az 1. zemben naponta legfeljebb 10 ra hosszan hasznlhat a nagykoh.
3. felttel A 2. zemben naponta legfeljebb 15 tonna szn hasznlhat fel.
4. felttel A 2. zemben naponta legfeljebb 4 ra hosszan hasznlhat a nagykoh.
5. felttel Legfeljebb 80 tonna vasrc hasznlhat fel naponta.
Az 15. felttelek az albbi t LP felttelhez vezetnek:
3x1 + x2 12

2x1 + x2 10
3x3 + 2x4 15

x3 + x 4 4
8x1 + 6x2 + 7x3 + 5x4 80

(1. zem szn felttele)

(22)

(1. zem koh felttele)


(2. zem szn felttele)

(23)
(24)

(2. zem koh felttele)


(vasrc felttel)

(25)
(26)

Szksg van az xi 0 elojel felttelekre is. Ezutn, mindent sszerakva, a Steelco LP


feladata gy rhat fel:

506

9. fejezet A lineris programozs fejlettebb mdszerei

max z = 90x1 + 80x2 + 70x3 + 60x4


f.h. 3x1 +
2x1 +

x2
x2

12
10

(1. zem szn felttele)


(1. zem koh felttele)

(22)
(23)

(2. zem szn felttele)


(2. zem koh felttele)

(24)
(25)

8x1 + 6x2 + 7x3 + 5x4 80


x1 , x2 , x3 , x4 0

(vasrc felttel)

(26)

3x3 + 2x4 15
x3 + x 4 4

A dekomponlhatsg defincija szerint a Steelco LP feladatot az albbi mdon bonthatjuk fel:


Vltozk 1. halmaza: x1 s x2 (az 1. zem vltozi).
Vltozk 2. halmaza: x3 s x4 (a 2. zem vltozi).
Felttelek 1. halmaza: (22) s (23) (az 1. zem felttelei).
Felttelek 2. halmaza: (24) s (25) (a 2. zem felttelei).
Felttelek 3. halmaza: (26).
A felttelek 1. halmaza s a vltozk 1. halmaza csak az 1. zemre vonatkoz tevkenysgekre vonatkozik, s nem is rinti az x3 s x4 vltozkat (amelyek a 2. zem tevkenysgeit
kpviselik). A felttelek 2. halmaza s a vltozk 2. halmaza a 2. zem tevkenysgeire
vonatkozik, s nem foglalkozik az x1 s x2 vltozkkal (1. zem tevkenysgei). A felttelek 3. halmaza egy kzponti felttelnek tekintheto , amely kapcsolatot teremt a vltozk kt
halmaza kztt. (A megoldst kso bb folytatjuk.)
Olyan feladatok, ahol tbb zem termel tbb termket, a 3. pldnl alkalmazott gondolatmenettel knnyen rszekre bonthatk.
Az olyan LP feladatok hatkony megoldsra, amelyek a 3. pldhoz hasonl szerkezetre bonthatk, Dantzig s Wolfe fejlesztette ki a rluk elnevezett dekompozcis eljrst.
Az algoritmus trgyalsnak egyszerustse cljbl feltesszk, hogy olyan LP feladatot
oldunk meg, ahol minden rszfeladat lehetsges tartomnya korltos. 2 A dekompozcis
algoritmus az 1. ttel eredmnyein alapszik.

1. TTEL

Tegyk fel, hogy egy LP feladat lehetsges tartomnya korltos, s legyenek P 1 ,


P2 , . . . , Pk az LP feladat lehetsges tartomnynak extremlis pontjai (lehetsges bzismegoldsai). Ekkor az LP feladat lehetsges tartomnynak brmely x pontja felrhat P1 , P2 , . . . , Pk lineris kombincijaknt. Ms szval, lteznek olyan 1 , 2 , . . . ,
k slyok, amelyekre
(27)
x = 1 P1 + 2 P2 + + k Pk
Sot, a (27)-ben szereplo 1 , 2 , . . . , k slyok gy is vlaszthatk, hogy

1 + 2 + + k = 1 s i 0

i = 1, 2, . . . , k

(28)

2 Lsd a Bradley, Hax, s Magnanti (1977) dolgozatot a dekompozci egy olyan trgyalst illet o
en, ahol
legalbb az egyik rszfeladat lehetsges tartomnya nem korltos.

9.4. A DantzigWolfe dekompozcis algoritmus

3. B R A
A felttelek 1.
halmaznak
lehetsges
tartomnya

507

x2

12

10

P4

P3

P2
P1

x1

Vektorok brmely olyan lineris kombincijt, ahol a slyok eleget tesznek (28)-nak,
konvex kombincinak nevezzk. Teht az 1. ttel azt lltja, hogy ha egy LP feladat
lehetsges tartomnya korltos, akkor annak minden pontja felrhat a lehetsges tartomny
extremlis pontjainak konvex kombincijaknt.
Az 1. ttel illusztrlsaknt megmutatjuk, hogyan lehet alkalmazni azt a 3. plda esetn
a felttelek 1., illetve 2. halmazra. Elo szr nzzk meg az x1 0 s x2 0 elojel felttelek,
valamint a felttelek 1. halmaza ((22) s (23)) ltal meghatrozott lehetsges tartomnyt. Ez
a lehetsges tartomny a 3. brn lthat P1 P2 P3 P4 rnykolt ngyszg belseje s hatra. Az
extremlis pontok P1 = [0 0], P2 = [4 0], P3 = [2 6] s P4 = [0 10]. Erre a lehetsges
tartomnyra vonatkozan azt lltja az 1. ttel, hogy a felttelek 1. halmazhoz tartoz
lehetsges tartomny brmely
 
x1
x2
pontja felrhat
 
 
 
  

 
0
4
2
0
4 2 + 2 3
x1
+ 2
+ 3
+ 4
=
= 1
63 + 104
0
0
6
10
x2
alakban, ahol i 0 (i = 1, 2, 3, 4) s 1 + 2 + 3 + 4 = 1. Pldul a
 
2
2
pont a P1 P2 P3 P4 lehetsges tartomnyban van. A 3. brra pillantva azt ltjuk, hogy
 
2
2

508

9. fejezet A lineris programozs fejlettebb mdszerei

4. B R A
A felttelek 2.
halmaznak
lehetsges
tartomnya

x4
8
7
6
5
4

Q3

3
2
1

Q2
Q1

x3

a P1 , P2 s P3 pontok lineris kombincijaknt rhat fel. Egy kis algebrai szmtgatssal


kapjuk, hogy
 
 
 
 
1 4
1 2
1 0
2
+
+
=
2
3 0
3 0
3 6

Az 1. ttel egy msik illusztrlsaknt tekintsk az x3 0 s x4 0 elojel felttelek s


a felttelek 2. halmaza ((24) s (25)) ltal meghatrozott lehetsges tartomnyt. Ennek az
LP feladatnak a lehetsges tartomnya a 4. brn kiemelt Q1 Q2 Q3 terlet. Az extremlis
pontok Q1 = (0, 0), Q2 = (4, 0) s Q3 = (0, 4). Az 1. ttel azt lltja, hogy brmely
 
x3
x4

pont a felttelek 2. halmaznak fentiek szerinti lehetsges tartomnybl felrhat mint


 
 
 
 
x3
0
4
0
= 1
+ 2
+ 3
x4
0
0
4

ahol i 0 s 1 + 2 + 3 = 1. Pldul a

 
2
1
lehetsges pont felrhat mint
 
 
 
 
1 4
1 0
1 0
2
+
+
=
1
4 0
2 0
4 4
A mi cljainkhoz nem fontos, hogy pontosan tudjuk, miknt lehet meghatrozni egy adott
lehetsges ponthoz tartoz slyokat. A dekompozcis algoritmus ugyanis nem kveteli
meg tolnk, hogy kpesek legynk tetszo leges pont esetn a slyok megtallsra.

9.4. A DantzigWolfe dekompozcis algoritmus

509

A dekompozcis algoritmus alaptletnek megrtshez tegyk fel, hogy a vltozk


halmaza egy 1. halmazra s egy 2. halmazra lett felosztva. Az olvasnak nyilvn nem okoz
majd nehzsget az olyan esetre trtno ltalnosts, ahol a vltozk halmaza ketto nl
tbb halmazra van felosztva.
A DantzigWolfe dekompozci a kvetkezo kppen mukdik:
1. lps Legyen a vltozk 1. halmaza x1 , x2 , . . . , xn1 . Fejezzk ki a vltozkat az 1. feltteli halmazhoz tartoz lehetsges tartomny extremlis pontjainak konvex kombincijaknt (lsd 1. ttel). (Az 1. feltteli halmaz azokbl a felttelekbo l ll, amelyekben csak a
vltozk 1. halmaza vesz rszt.) Ha P1 , P2 , . . . , Pk jelli a lehetsges tartomny extremlis
pontjait, akkor a felttelek 1. halmaza ltal meghatrozott lehetsges tartomny brmely

x1
x2

..
.
x n1

pontja felrhat az albbi formban:



x1
x2

.. = 1 P1 + 2 P2 + + k Pk
.

(29)

x n1

ahol 1 + 2 + + k = 1 s i 0 (i = 1, 2, . . . , k).

2. lps Fejezzk ki a vltozk xn1 +1 , xn1 +2 , . . . , xn elemekbol ll 2. halmazt mint a felttelek 2. halmazhoz tartoz lehetsges tartomny extremlis pontjainak konvex kombincijt. Amennyiben Q1 , Q2 , . . . , Qm jelli a lehetsges tartomny extremlis pontjait, akkor
a felttelek 2. halmaza ltal meghatrozott lehetsges tartomny minden pontja felrhat

xn1 +1
xn +2
1
(30)
.. = 1 Q1 + 2 Q2 + + m Qm
.
xn

alakban, ahol i 0 (i = 1, 2, . . . , m) s 1 + 2 + + m = 1.

3. lps Fejezzk ki (29) s (30) alapjn az LP feladat clfggvnyt s kzponti feltteleit a i s a i vltozk segtsgvel. A konvexitsi feltteleknek nevezett 1 + 2 +
+ k = 1 s 1 + 2 + + m = 1 felttelek, valamint a i 0 (i = 1, 2, . . . , k) s
i 0 (i = 1, 2, . . . , m) elojelkorltozsok hozzadsa utn a kvetkezo LP feladatot kapjuk, amelyet mesterfeladatnak is neveznek:
max (vagy min) [clfggvny a i s i vltozkkal kifejezve]
f.h.

[kzponti felttelek i s i vltozkkal kifejezve]


1 + 2 + . . . + k = 1

1 + 2 + . . . + m = 1
i 0 (i = 1, 2, . . . , k)
i 0 (i = 1, 2, . . . , m)

(konvexitsi felttelek)
(elojelmegktsek)

510

9. fejezet A lineris programozs fejlettebb mdszerei

Sok nagymretu LP feladatban a mesterfeladatnak tbb milli vltozja lehet (ezek az


egyes lehetsges tartomnyok extremlis pontjaihoz tartoznak). Szerencsre azonban ritkn van szksg a teljes mesterfeladat felrsra, mindssze egy adott i vagy i vltozhoz
tartoz oszlop elolltsra van szksgnk a mesterfeladatbl.
4. lps Tegyk fel, hogy mr rendelkezsnkre ll a mesterfeladat egy lehetsges bzismegoldsa.3 Ekkor hasznljuk a 9.3. alfejezetben ismertetett oszlopgenerlsi mdszert a
mesterfeladat megoldsra.
5. lps A i s i vltozk 4. lpsben kapott optimlis rtkeit helyettestsk be a (29)
s (30) kifejezsekbe. Ezzel megkapjuk az x1 , x2 , . . . , xn optimlis rtkeit.

Megolds
3. plda (folytats)

Azt mr lttuk a 3. pldnl, hogy


vltozk 1. halmaza = {x1 , x2 }
(
3x1 + x2 12
felttelek 1. halmaza =
2x1 + x2 10

(22)
(23)

Azt is lttuk, hogy a felttelek 1. halmazhoz tartoz lehetsges tartomnynak ngy extremlis pontja van, s a felttelek 1. halmaznak brmely
 
x1
x2
lehetsges pontja felrhat
 
 
 
  

 
0
4
2
0
4 2 + 2 3
x1
+ 2
+ 3
+ 4
=
= 1
0
0
6
10
63 + 104
x2

(290 )

alakban, ahol 1 + 2 + 3 + 4 = 1 s i 0.

vltozk 2. halmaza = x3 s x4
(
3x3 + 2x4 15
felttelek 2. halmaza =
x3 + x 4 4

(24)
(25)

A felttelek 2. halmazhoz tartoz lehetsges tartomny brmely


 
x3
x4
pontja felrhat

 
 
   
 
42
0
4
0
x3
+ 2
+ 3
=
= 1
0
0
4
43
x4

(300 )

alakban, ahol 1 + 2 + 3 = 1 s i 0 (i = 1, 2, 3).


A mesterfeladatot a (290 ) s (300 ) sszefggseknek a clfggvnybe s a kzponti
felttelekbe val behelyettestsvel kaphatjuk meg. A clfggvnyre azt kapjuk, hogy
90x1 + 80x2 + 70x3 + 60x4 = 90(42 + 23) + 80(63 + 104) + 70(42) + 60(43)
= 3602 + 6603 + 8004 + 2802 + 2403
3 Ha

nem ez lenne az eset, akkor a ktfzis szimplex mdszert kell hasznlnunk. A rszletekr o l lsd Bradley,
Hax, s Magnanti (1977).

9.4. A DantzigWolfe dekompozcis algoritmus

511

A kzponti felttel
8(42 + 23) + 6(63 + 104) + 7(42) + 5(43) 80
azaz

322 + 523 + 604 + 282 + 203 80

Ha ehhez a felttelhez hozzadunk egy s1 kiegszto vltozt, valamint felrjuk a konvexitsi s az elojel feltteleket is, a kvetkezo mesterfeladatot kapjuk:
3602 + 6603 + 8004 + 2802 + 2403
322 + 523 + 604 + 282 + 203 + s1 = 80

max z =
f.h.

1 +

2 +

3 +

4
1 +
i , i 0

2 +

=1
=1

Van egy sokkal okosabb mdja is annak, hogy a mesterfeladatban megkapjuk egy vltoz
oszlopt. Emlkezznk arra, hogy a mesterfeladat minden vltozja a felttelek 1. vagy
2. halmaza ltal meghatrozott lehetsges tartomny valamelyik extremlis pontjhoz rendelheto hozz. Nzzk meg pldul, hogyan lehet megtallni a mesterfeladatban egy i
vltoz oszlopt, amely az 1. feltteli halmaz megengedett tartomnynak egy
 
x1
x2
extremlis pontjhoz rendelheto hozz. Mivel x1 s x2 az 1. zem tevkenysghez kapcsoldik, brmely adott x1 s x2 tekintheto az 1. zem egy javaslataknt. Pldul a
 
2
6
pont megfelel az 1. zem egy olyan javaslatnak, amely szerint 2 tonnt termelnnek az
1. aclbl s 6 tonnt a 2. aclbl. Ekkor a i slyt gy is tekinthetjk, mint az aktulis
termelsi tervben a Pi extremlis ponthoz tartoz javaslat arnyt. Pldul mivel
 
1
1
1
2
= P1 + P2 + P3
2
3
3
3
azt is gondolhatjuk a

 
2
2

pontrl, hogy az 1. zem P1 javaslatnak harmadbl, az 1. zem P2 javaslatnak harmadbl s az 1. zem P3 javaslatnak harmadbl ssze.
Most mr lerhatunk egy egyszeru mdszert a mesterfeladat brmely vltozjhoz tartoz oszlop meghatrozsra. Tegyk fel, hogy a i slyhoz tartoz
 
x1
x2
extremlis pont oszlopt akarjuk meghatrozni. Miknt vltozik a clfggvny rtke, ha az
 
x1
x2

512

9. fejezet A lineris programozs fejlettebb mdszerei

extremlis pont i -szerest helyettestjk be? Ha i = 1, akkor


 
x
i 1
x2
clfggvnyhez val hozzjrulsa 90x1 + 80x2 lesz. Az arnyossgi feltevs alapjn, ha az
 
x1
x2
extremlis pont i rszt hasznljuk, akkor az i (90x1 + 80x2) rtkkel fog hozzjrulni a
clfggvnyhez. Hasonlan ha i = 1, akkor
 
x
i 1
x2
vasrc felhasznlsa 8x1 + 6x2. Teht tetszoleges i rtk esetn
 
x
i 1
x2
a i (8x1 + 6x2 ) mennyisget eredmnyezi a vasrc felhasznlsi felttel bal oldaln.
Hogy konkrtak legynk, hasznljuk a fenti gondolatmenetet arra, hogy meghatrozzuk a
 
2
6

extremlis ponthoz tartoz 3 sly oszlopt a mesterfeladatban. A fenti logika alapjn a


clfggvny 3 -at rinto rsze 3 [90(2) + 80(6)] = 6603. Hasonlan, 3 a vasrc felttel
bal oldaln a 3 [8(2) + 6(6)] = 523 rszben jelenik meg. Tovbb 3 egytthatja 1 az
elso konvexitsi felttelben, s 0 a msikban. (Ha az olvas megrtette, hogyan kaptuk meg
3 oszlopt, nem lesz gondja a tovbbiakkal. Ha mg bizonytalan, javasoljuk, hogy olvassa
el jbl az utols kt oldalt, mielott folytatn.)
Most pedig a mdostott szimplex mdszer s az oszlopgenerls alkalmazsval megoldjuk a mesterfeladatot. A kiindul tblra 0. tblaknt hivatkozunk. Ekkor BV (0) =
{s1 , 1 , 1 }. Teht

1 0 0
1 0 0
1
B0 = 0 1 0, ezrt B0 = 0 1 0
0 0 1
0 0 1

Mivel s1 , 1 s 1 nem jelenik meg a mesterfeladat clfggvnyben, cBV = [0 0 0] s


a 0. tbla rnykrai

1 0 0




0 1 0 = 0 0 0
cBV B1
0 = 0 0 0
0 0 1

Kt menetben alkalmazzuk most az oszlopgenerls tlett. El o szr is meghatrozzuk,


hogy van-e olyan, a felttelek 1. halmazhoz kapcsold i sly, amelynek a kirtkelse
kedvezo (mivel maximalizlsi feladatot oldunk meg, negatv egytthatt keresnk a 0.
sorban). A felttelek 1. halmaznak egy
 
x1
x2

9.4. A DantzigWolfe dekompozcis algoritmus

513

extremlis pontjhoz rendelheto i sly oszlopa a mesterfeladatban a kvetkezo :

Ezek alapjn az

i egytthatja a clfggvnyben = 90x1 + 80x2

8x1 + 6x2

1
i oszlopa a felttelekben =
0
 
x1
x2

ponthoz tartoz i sly oszlopnak kirtkelse a 0. tblban:

8x1 + 6x2

(90x1 + 80x2) = 90x1 80x2


1
cBV B1
0
0
Mivel

 
x1
x2

eleget kell hogy tegyen a felttelek 1. halmaznak (azaz az 1. zem feltteleinek), a legnegatvabb rtkkel kirtkelodo i sly ppen ahhoz az extremlis ponthoz tartozik, amelyik
optimlis megoldsa a kvetkezo LP feladatnak:
0. tbla
1. zem rszfeladata

min z = 90x1 80x2


f.h.

3x1 +
2x1 +

x2 12
x2 10

x1 , x2 0

Az 1. zem rszfeladatt grafikusan megoldva kapjuk a z = 800, x 1 = 0, x2 = 10 optimlis


megoldst. Ez azt jelenti, hogy a
 
0
10
extremlis ponthoz tartoz i kapta a legnegatvabb kirtkelst. Emlkezznk, hogy
 
0
P4 =
10

Ez azt jelenti, hogy 4 kirtkelse 800 a mesterfeladatban.


Most megnzzk a felttelek 2. halmazhoz rendelt slyokat, s megprbljuk megtallni azt a i slyt, amelynek a legnegatvabb a kirtkelse. A felttelek 2. halmaznak
egy
 
x3
x4
extremlis pontjhoz rendelheto i oszlopa a mesterfeladatban:

i egytthatja a clfggvnyben = 70x3 + 60x4

7x3 + 5x4

0
i oszlopa a felttelekben =
1

514

9. fejezet A lineris programozs fejlettebb mdszerei

Ez azt jelenti, hogy az


 
x3
x4

extremlis ponthoz tartoz i kirtkelse:

7x3 + 5x4

(70x3 + 60x4) = 70x3 60x4


0
cBV B1
0
1
Tudjuk, hogy az

 
x3
x4
eleget kell hogy tegyen a felttelek 2. halmaznak. Ezrt azt az extremlis pontot, amelyikhez a legkedvezobb kirtkelsu i sly tartozik a kvetkezo LP feladat megoldsval
kapjuk:
0. tbla
2. zem rszfeladata

min z = 70x3 60x4


f.h.
3x3 + 2x4 15
x3 + x 4 4
x3 , x4 0

Ennek az LP feladatnak az optimlis megoldsa z = 280, x3 = 4, x4 = 0. Mivel


 
4
= Q2
0

2 kirtkelse legnegatvabb az sszes i kzl. Azonban 4 kirtkelse negatvabb, mint


2 esetn, ezrt a 4 vltoz lp be a bzisba (a mdostott szimplex mdszer szerint).
Ehhez elo kell lltanunk 4 oszlopt a 0. tblban, akrcsak a 0. tbla jobb oldali vektort.
A 0. tblban 4 oszlopa

60
8(0) + 6(10)
= 1

1
B1
0
0
0
a jobb oldali vektor pedig


80
1 0 0 80
0 1 0 1 = 1
B1
b
=
0
1
1
0 0 1

A hnyados teszt alapjn 4 a msodik felttelben lp be a bzisba. Ekkor BV (1) =


{s1 , 4 , 1 }. Mivel

1 60 0
1 0
E0 = 0
0
0 1

1 60 0
1

1 0
B1
1 = E 0 B0 = 0
0
0 1

9.4. A DantzigWolfe dekompozcis algoritmus

515

A clfggvnyben 4 egytthatja 90(0) + 80(10) = 800, gy az rnykrak j vektora

1 60 0




0
1 0 = 0 800 0
cBV B1
1 = 0 800 0
0
0 1

Az aktulis tblban jbl megprbljuk megtallni azt a vltozt, amelynek a kirtkelse


a legnegatvabb. Ahogy elozoleg, megoldjuk az aktulis tbla rnykraival az 1., illetve 2.
zem rszfeladatt. Szintn, ahogy elo zoleg, a felttelek 1. halmazbl az
 
x1
x2
extremlis ponthoz tartoz i sly kirtkelse:

8x1 + 6x2

(90x1 + 80x2)
1
cBV B1
1
0


 8x1 + 6x2
(90x1 + 80x2) = 800 90x1 80x2
1
= 0 800 0
0

Mivel az

 
x1
x2

eleget kell hogy tegyen a felttelek 1. halmaznak, a legkedvez o bb kirtkelssel rendelkezo i ahhoz az
 
x1
x2
ponthoz tartozik, amely optimlis megoldsa a kvetkezo LP feladatnak:
1. tbla
1. zem rszfeladata

min z = 800 90x1 80x2


f.h.

3x1 +
2x1 +

x2 12
x2 10

x1 , x2 0

Ennek az LP feladatnak az optimlis megoldsa z = 0, x1 = 0, x2 = 10. Ez azt jelenti, hogy


egyetlen i kirtkelse sem kedvezo a bzisba val belps szempontjbl. Most a 2. zem
rszfeladatt oldjuk meg egy olyan i megtallsa cljbl, amelynek a kirtkelse esetleg
kedvezo. A felttelek 2. halmaza egy
 
x3
x4

extremlis pontjhoz rendelt i kirtkelse:

7x3 + 5x4

(70x3 + 60x4) = 70x3 60x4


0
cBV B1
1
1
Mivel

 
x3
x4

516

9. fejezet A lineris programozs fejlettebb mdszerei

eleget kell hogy tegyen a 2. zem feltteleinek, a legnegatvabb kirtkelst kap i ahhoz az
 
x3
x4

extremlis ponthoz tartozik, amely az 1. tbla 2. zemre vonatkoz albbi rszfeladatnak


optimlis megoldsa:
1. tbla
2. zem rszfeladata

min z = 70x3 60x4


f.h.

3x3 + 2x4 15
x3 + x 4 4
x3 , x4 0

Ennek az LP feladatnak az optimlis megoldsa x3 = 4, x4 = 0, z = 280. Ez azt jelenti,


hogy a
 
4
0

ponthoz tartoz i kapta a 280-as kirtkelst. Mivel


 
4
= Q2
0

2 kirtkelse 280. Egyetlen i kirtkelse sem negatv, gy a legjobb, amit tehetnk,


hogy a 2 vltozt lptetjk be a bzisba. Ahhoz, hogy 2 belpjen a bzisba, szksgnk
van az 1. tblbl 2 oszlopra s a jobb oldali vektorra. Az 1. tbla 2 -hz tartoz oszlopa



7(4) + 5(0)
1 60 0 28
28

= 0
0 = 0
B1
0
1
0
1
1
0
0 1
1
1

jobb oldali vektora pedig


20
1 60 0 80

1 0 1 = 1
B1
1 b= 0
1
1
0
0 1

A hnyados teszt azt mutatja, hogy 2 -nek az 1. sorban kell a bzisba lpnie. gy BV (2) =
{2 , 4 , 1 }. Mivel

1
28 0 0
E1 = 0 1 0 ,
1
28
0 1
1
1

1 60 0
60
28 0 0
28
28 0
1
0 1 0 0
1 0 = 0
1 0
B1
2 = E 1 B1 =
1
60
1
0 1
28 0 1 0
28
1
28

A cBV B1
2 kiszmtshoz vegyk szre, hogy 2 egytthatja a mesterfeladat clfggvnyben 70x3 + 60x4 = 70(4) + 60(0) = 280. Azt mr tudjuk, hogy a mesterfeladat clfggvnyben 4 egytthatja 800, 1 egytthatja pedig 0. Teht az rnykrak j vektora

1
60
28 28 0




0
1 0 = 10 200 0
cBV B1
2 = 280 800 0
60
1
28
28 1

9.4. A DantzigWolfe dekompozcis algoritmus

517

A 2. tbla 1. zemre vonatkoz rszfeladatnak megoldsval eldntjk, van-e kedvez o


kirtkelsu i . Az
 
x1
x2

ponthoz tartoz i kirtkelse:

8x1 + 6x2

(90x1 + 80x2)
1
cBV B1
2
0


 8x1 + 6x2
(90x1 + 80x2) = 200 10x1 20x2
1
= 10 200 0
0
gy az albbi LP feladathoz jutunk:

2. tbla
1. zem rszfeladata

min z = 200 10x1 20x2


f.h.

3x1 +
2x1 +

x2 12
x2 10

x1 , x2 0

Ennek az LP feladatnak az optimlis megoldsa z = 0, x1 = 0, x2 = 10. Akrcsak az elobb,


most sem talltunk a belps szempontjbl kedvezo i vltozt.
Annak megllaptshoz, hogy vajon az
 
x3
x4
extremlis ponthoz tartoz i rdemes-e a bzisba val belptetsre, vegyk szre, hogy i
kirtkelse:


 7x3 + 5x4
(70x3 + 60x4) = 10x4
10 200 0
0
1
Mivel az

 
x3
x4

eleget kell hogy tegyen a felttelek 2. halmaznak, a legjobb kirtkelst kap i ahhoz az
 
x3
x4
ponthoz tartozik, amely az albbi LP feladat optimlis megoldsa:
2. tbla
2. zem rszfeladata

min z =
10x4
f.h.
3x3 + 2x4 15
x3 +

x4 4
x3 , x4 0

Ennek az LP feladatnak az optimlis megoldsa z = 40, x3 = 0, x4 = 4. Teht a


 
0
= Q3
4

518

9. fejezet A lineris programozs fejlettebb mdszerei

ponthoz tartoz i -nek, azaz 3 -nak kellene belpnie a bzisba. A 3 -hoz tartoz oszlop a
2. tblban gy kaphat:

20
1
60
7(0) + 5(4)
20
28 28 0
28

0 = 0
= 0
0
1
0
B1
2
8
60
1
1
1
28
28
28 1
A 2. tbla jobb oldala:

B1
2 b=

1
28

0
1
28

60
28
1

60
28

20
80
28

0 1 = 1
8
1
1
28
0

A hnyados teszt szerint 3 az 1. felttelben vagy a 3. felttelben lphetne a bzisba. Szabadon vlaszthatunk, legyen az 1. felttel. gy BV (3) = {3 , 4 , 1 }. Mivel

28
20 0 0

E2 = 0 1 0
25 0 1
1
1

28
60
28
0
20 0 0
28
20 3 0

1
1 0 0
1 0 = 0
1 0
B1
3 = E 2 B2 = 0
1
60
1
25 0 1 28
20
3 1
1
28

A 3 sly a

 
0
4

extremlis ponthoz tartozik, ezrt 3 egytthatja a mesterfeladat clfggvnyben 70x3 +


60x4 = 70(0) + 60(4) =
 240. Mivel 4 s 1 clfggvnybeli egytthatit mr ismerjk
(800 s 0), ezrt cBV = 240 800 0 , az rnykrak j vektora pedig

1
3 0
20




1 0 = 12 80 0
cBV B1
3 = 240 800 0 0
1
20

Ezekkel az rnykrakkal az

3 1

 
x1
x2

extremlis ponthoz rendelt i gy kirtkelse:


 8x1 + 6x2
(90x1 + 80x2) = 80 + 6x1 8x2
1
12 80 0
0

A mr szokott mdon kapjuk az albbi LP feladatot:


3. tbla
1. zem rszfeladata

min z = 80 + 6x1 8x2


f.h.

3x1 + x2 12
2x1 + x2 10
x1 , x2 0

9.4. A DantzigWolfe dekompozcis algoritmus

519

Ennek az LP feladatnak az optimlis megoldsa z = 0, x1 = 0, x2 = 10. Ez jbl azt jelenti,


hogy egyetlen i -t sem rdemes belptetni.
Az j rnykrakkal most azt nzzk meg, hogy van-e a belps szempontjbl kedvez o
kirtkelsu i . Ha ilyen i nincs, megtalltuk az optimlis tblt. Az
 
x3
x4
ponthoz tartoz i kirtkelse:


 7x3 + 5x4
(70x3 + 60x4) = 14x3
12 80 0
0
1

A megfelelo LP feladat:
3. tbla
2. zem rszfeladata

min z = 14x3
f.h.
3x3 + 2x4 15
x3 + x 4 4
x3 , x4 0

Ennek az LP feladatnak az optimlis megoldsa z = 0, x3 = x4 = 0. Ez azt jelenti, hogy


egyetlen i sem kapott kedvezo rtkelst. Mivel vgl is egyetlen i vagy i kirtkelse sem kedvezo, a 3. tbla a mesterfeladat optimlis tblja. Tudjuk, hogy BV (3) =
{3 , 4 , 1 }. gy


1
3
3 0 80
1
20
4 = B1 b = 0
1 = 1
1
0
3
1
1
1
0
3 1
20

Teht a mesterfeladat optimlis megoldsa 3 = 1, 4 = 1, 1 = 0, az sszes tbbi sly


pedig 0.
Most felhasznljuk, hogy a felttelek 1. halmaza ltal meghatrozott tartomny el o ll
extremlis pontjainak konvex kombincijaknt, gy
 
x1
x2
optimlis rtkt
 
 
x1
0
= 0P1 + 0P2 + 0P3 + P4 =
x2
10

alakban kapjuk meg. Hasonl mdon, az optimlis


 
x3
x4

is eloll a felttelek 2. halmaza ltal meghatrozott tartomny extremlis pontjainak konvex


kombincijaknt, mgpedig
 
 
x3
0
= 0Q1 + 0Q2 + Q3 =
x4
4

520

9. fejezet A lineris programozs fejlettebb mdszerei

Teht a Steelco feladat optimlis megoldsa x2 = 10, x4 = 4, x1 = x3 = 0, z = 1040. Azaz a


Steelco akkor tudja maximalizlni a profitjt, ha az 1. zemben 10 tonnt gyrt a 2. aclbl,
a 2. zemben pedig 4 tonnt szintn a 2. aclbl.

M EGJEGYZSEK

1. Ha a vltozk k halmazra oszthatk fel, akkor a mesterfeladat a kzponti felttelekb o l s k konvexitsi felttelbol fog llni (egy konvexitsi felttel a vltozk minden egyes halmazra). Minden
tbla esetn k rszfeladatot kell megoldani (a vltozk minden halmazhoz tartozik a felttelek egy
halmaza, azok meghatroznak egy lehetsges tartomnyt, annak extremlis pontjaihoz pedig slyok
vannak hozzrendelve, amelyek ppen a rszfeladatban jelennek meg). Ezeknek a rszfeladatoknak a
megoldsa utn a mdostott szimplex mdszert hasznljuk a legkedvezobb kirtkelsu sly bzisba
val belptetsre.
2. A dekompozci egyik fo elonye, hogy gyakran sokkal knnyebb tbb, viszonylag kis LP feladatot
megoldani, mint egy nagyot. Tekintsnk pldul egy olyan, a 3. pldhoz hasonl esetet, amikor 5
gyr van, mindegyik gyr 50 felttellel. Tegyk fel, hogy a kzponti felttelek szma 40. Ekkor a
mesterfeladat B1 bzisinverze 45 45-s mretu lenne, minden rszfeladat B1 bzisinverze pedig
50 50-es mretu. Az eredeti LP esetn egy 290 290-es B1 bzisinverzzel kell szmolnunk.
Nyilvnval, hogy egy 290 290-es mretu mtrix trolsa tbb szmtgp-memrit ignyel, mint
t 50 50-es s egy 45 45-s mtrix. Ez azt mutatja, hogy a dekompozci jelento sen cskkenti a
trignyt.
3. A dekompozcinak van egy rdekes kzgazdasgi rtelmezse is. A 3. plda esetben milyen
jelentssel brnak a mesterfeladat rnykrai? Minden egyes tbla esetn a kzponti felttel a vasrc
mint eroforrs korltozottsgt fejezi ki, a kzponti felttelhez rendelt rnykr pedig az a mennyisg, amennyivel a profit nvekedne, ha a vasrcbol egy egysggel tbb lenne. Megmutathat, hogy
brmelyik tbla esetn az i-edik zem (i = 1, 2) konvexitsi felttelhez tartoz rnykr elo ll gy
is, hogy az i-edik zemmel kapcsolatos extremlis pontokbl kikevert terv profitjbl levonjuk a kikevert terv ltal a kzponti eroforrsbl ignybe vett mennyisg rt, amit a kzponti rnykrral
szmolunk ki. Pldul a 3. tblban az 1. zem konvexitsi felttelnek rnykra 80. Az 1. zem
ppen az x1 = 0 s x2 = 10 tervet alkalmazza. Ez a terv 80(10) = 800$ profitot eredmnyez, s
6(10) = 60 tonna, 60(12) = 720$ rtku vasrcet hasznl fel. Teht az 1. zem konvexitsi felttelnek rnykra 800 720 = 80$. Ez azt jelenti, hogy ha az 1. zem slyt -val cskkentennk, akkor
a profit 80-val cskkenne.

Kzgazdasgi rtelmezst is fuzhetnk a rszfeladatok elo lltsnl hasznlt kirtkelo


eljrshoz. Tegyk fel, hogy a 3. tblnl vagyunk. Vajon mik az el o nyk s a kltsgek,
ha megprbljuk az
 
x1
x2

extremlis ponthoz rendelt i vltozt bevonni a bzisba? Emlkezhetnk, hogy a 3. tbla


esetn a vasrc rnykra 12, az 1. zem konvexitsi felttelnek rnykra pedig 80 volt.
Annak eldntse sorn, hogy i belpjen-e a bzisba, mrleget kell vonnunk egyrszt
a i ltali profitnvekeds = a i

 
x1
profitja
x2

= 90(i x1 ) + 80(ix2 )
illetve a i bzisba val bevonsval jr kltsgek kztt.
Ktfle kltsg merl fel, amennyiben i -t belptetjk a bzisba. Egyrszt 12$ minden
tonna felhasznlt vasrc utn. Ez sszesen 12[8(i x1 ) + 6(i x2 )] kltsggel jr. Msrszt

9.4. A DantzigWolfe dekompozcis algoritmus

521

i bzisba val belpsvel egy i rsz is elvtetik az 1. zem aktulis tervt kiad konvex
kombinci sszslybl. A felttel rnykrval szmolva ez 80 i kltsget jelent. gy
a i bzisba val belptetsnek kltsge = 96i x1 + 72ix2 + 80i
Ez azt jelenti, hogy i bzisba val belptetse pontosan akkor jr profitnvekedssel, ha
90i x1 + 80ix2 > 96i x1 + 72ix2 + 80i
Mindkt oldalt i -vel elosztva lthatjuk, hogy i kirtkelse pontosan elonys, ha
90x1 + 80x2 > 96x1 + 72x2 + 80,

azaz

0 > 80 + 6x1 8x2

Teht a legjobb i pontosan az a i lesz, amelyik a 80 + 6x1 8x2 fggvnyt minimalizl


 
x1
x2
extremlis ponthoz tartozik. Valban, ppen ez a 3. tbla 1. zemhez tartoz rszfeladatnak a clfggvnye.
Ez a trgyals is mutatja, hogy a DantzigWolfe dekompozcis algoritmus a kzponti
felttelek rnykraibl kapott kzponti informcikat kombinlja az egyes zemek konvexitsi feltteleinek rnykrbl szrmaz loklis informcikkal, s mindekzben arra
trekszik, hogy megllaptsa, melyik slyt rdemes bevonni a bzisba, azaz az egyes zemekhez tartoz extremlis pontokbl melyeket rdemes hasznlni.

Feladatok
A csoport

3.

Hasznljuk a DantzigWolfe dekompozcis algoritmust a


kvetkezo feladatok megoldsra:
1.
max z = 7x1 + 5x2 + 3x3
f.h. x1 + 2x2 + x3 10
x1

x1 + x 2

(tmutats: Olyan megkts nem volt, hogy ne lehessen a


vltozknak csak egyetlen halmaza vagy csak egyetlen rszfeladat.)

x1 , x2 , x3 0

max z = 4x1 + 2x2 + 3x3 + 4x4 + 2x5


x1 + 2x2 + 2x3

2x1 + 3x2 + 2x3 6

x1 , x2 , x3 0

f.h. x1 + 2x2 + x3

f.h. x1 + 2x2 + x3 4

2x1 + x2

x2 + x 3 5

2x2 + x3 8
2.

max z = 3x1 + 6x2 + 5x3

x4 + x 5 3

x1 , x2 , x3 , x4 , x5 0

4. Adjunk egy kzgazdasgi rtelmezst arra vonatkozan, hogy 3 kirtkelse mirt elonys a 2. tbla 2. zemhez tartoz rszfeladatban!
5. Mutassunk egy pldt arra, hogy az 1. ttel nem teljesl
nem korltos lehetsges tartomny LP feladat esetn!

522

9. fejezet A lineris programozs fejlettebb mdszerei

9.5.

A felsokorltos
szimplex mdszer
Az LP feladatok gyakran tartalmaznak xi ui alak feltteleket, ahol ui konstans. Pldul
termelsi-temezsi feladatokban sok xi ui tpus felttel szerepelhet, ahol
xi = az i-edik peridus termelse,
ui = az i-edik peridus termelsi kapacitsa.
Mivel egy xi ui alak felttel felso korltot r elo az xi vltozra, felsokorlt felttelnek
nevezik. Az xi ui egy megengedett LP felttel, gy nyilvn hasznlhatjuk a kznsges
szimplex mdszert felsokorlt feltteleket tartalmaz LP feladatok megoldsra. Azonban,
ha egy LP feladat nagyszm felso korlt felttelt tartalmaz, az ebben az alfejezetben ismertetendo felsokorltos szimplex mdszer sokkal hatkonyabb, mint a kznsges szimplex
algoritmus.
Ahhoz, hogy egy felsokorlt feltteleket tartalmaz LP feladatot hatkonyan oldjunk
meg, egy xi nembzis vltoz esetn a nembzis vltozkra eddig megengedett x i = 0 mellett az xi = ui is megengedett lesz. Ezt a kvetkezo trkkel tudjuk vghezvinni: minden
olyan xi vltozhoz, amelyik egy xi ui felsokorlt felttelben rintett, bevezetnk egy
j x0i vltozt az xi + x0i = ui , azaz xi = ui x0i sszefggs alapjn. Vegyk szre, hogy
xi = 0 esetn x0i = ui , mg xi = ui esetn x0i = 0. Brmikor, amikor azt akarjuk, hogy az
xi az ui felsokorltra kerljn, egyszeruen az ui x0i -vel helyettestjk xi -t. Ezt felsokorlt
helyettestsnek nevezzk.
Most mr kszenllunk a felsokorltos szimplex mdszer lersra. Tegyk fel, hogy
rendelkezsre ll egy bzismegolds, s hogy egy maximalizlsi feladatot oldunk meg.
Szoks szerint minden iterciban azt az xi vltozt akarjuk nvelni, amelyiknek a legnegatvabb az egytthatja a 0. sorban. Hromfle olyan eset vagy szuk keresztmetszet
lehetsges, amely korltozhatja azt a mennyisget, amivel az x i -t nvelhetjk:
1. szuk
keresztmetszet: xi nem haladhatja meg az ui felso korltjt.
2. szuk
keresztmetszet: xi egy olyan pontig nvekszik, ahonnan mr az aktulis bzisvltozk valamelyikt negatvv vltoztatn. Az xi legkisebb olyan rtkt, ahonnan valamelyik aktulis bzisvltoz mr negatvv vlhatna, megkaphatjuk, ha minden bzisvltozt kifejeznk az xi nembzis vltozval (vegyk szre, hogy ugyanezt az tletet alkalmaztuk a 4. fejezetben a szimplex algoritmus trgyalsnl).
3. szuk
keresztmetszet: Az xi egy olyan pontig nvekszik, ahonnan mr az aktulis bzisvltozk valamelyikt a felso korltja fl vinn. Az elozo szuk keresztmetszet esethez
hasonlan, xi -nek az a legkisebb rtke, amelyre a mostani szuk keresztmetszet esete el o fordulhat, megkaphat a bzisvltozkat xi -vel kifejezve.
Legyen BNk (k = 1, 2, 3) az xi azon rtke, ahol a k-adik szuk keresztmetszet esete fellp.
Ekkor xi csak a min {BN1 , BN2 , BN3 } rtkig nvelheto. A BN1 , BN2 s BN3 rtkek kzl
a legkisebbet eldnto szuk keresztmetszetnek nevezik. Ha az eldnto szuk keresztmetszet
BN1 , akkor vgrehajtjuk a felsokorlt helyettestst xi -re, azaz xi helybe ui x0i kerl. Ha
az eldnto szuk keresztmetszet BN2 , akkor belptetjk xi -t a bzisba, ppen abba a sorba,
amelyik a BN2 fellptt okoz bzisvltozhoz tartozott. Ha az eldnto szuk keresztmetszet
BN3 , akkor arra az x j vltozra, amelyik xi = BN3 esetn ppen elri a felso korltjt,
vgrehajtjuk a felsokorlt helyettestst, azaz x j helybe u j x0j kerl. Ezutn belptetjk
xi -t a bzisba, ppen abba a sorba, ahol x j volt a bzisvltoz.
A fenti eljrs vgrehajtsa utn megvizsgljuk az j 0. sort. Ha minden vltozhoz
nemnegatv egytthat tartozik a 0. sorban, akkor egy optimlis tblhoz jutottunk. Egybknt megprbljuk nvelni a 0. sorban a legnegatvabb egytthatval rendelkez o vltozt.


9.5. A felsokorltos
szimplex mdszer

523

Az eljrsunk biztostja (BN1 s BN3 ltal), hogy egyetlen felsokorlt felttelt sem srtnk
meg, tovbb (BN2 ltal), hogy a nemnegativitsi felttelek mindig teljeslni fognak.

4.

PLDA

Oldjuk meg a kvetkezo LP feladatot:


max z = 4x1 + 2x2 + 3x3
f.h.
2x1 + x2 + x3 10
x1 + 21 x2 + 21 x3 6
2x1 + 2x2 + 4x3 20
x1

x2

4
3

x3 1
x1 , x2 , x3 0
Megolds
3. T B L Z A T
Kiindul tbla a 4.
pldhoz

Ehhez a feladathoz a kiindul tbla a 3. tblzatban van megadva. Mivel x 1 -nek van a
Bzisvltoz
z 4x1 2x2 3x3
=0
2x1 + x2 + x3 + s1
= 10
+ s2
=6
x1 + 21 x2 + 12 x3
2x1 + 2x2 + 4x3
+ s3 = 20

z=0
s1 = 10
s2 = 6
s3 = 20

legnegatvabb egytthatja a 0. sorban, megprbljuk nvelni x 1 -et, amennyire csak lehet.


Az x1 -re vonatkoz hrom szuk keresztmetszet a kvetkezo kppen szmolhat: x1 nem
lpheti tl felso korltjt, azaz 4-et, gy BN1 = 4. A BN2 meghatrozshoz kifejezzk az
aktulis bzisvltozkat x1 fggvnyben:
s1 = 10 2x1

s2 = 6 x 1
s3 = 20 2x1

(s1 0 akkor s csak akkor, ha x1 5)

(s2 0 akkor s csak akkor, ha x1 6)


(s3 0 akkor s csak akkor, ha x1 10)

gy BN2 = min {5, 6, 10} = 5. Mivel az aktulis bzisvltozknak ({s1 , s2 , s3 }) nincs felso
korltja, BN3 -nak nincs rtke. Ekkor az eldnto szuk keresztmetszet min {4, 5} = 4 = BN1 .
Teht egy felsokorlt helyettestst kell vgrehajtanunk x1 -re, x1 helybe 4 x01 kerl. Az
gy keletkezett tbla a 4. tblzatban lthat.
4.

TBLZAT

x1 helybe
4 x01-et rva

Bzisvltoz
z + 4x01 2x2 3x3
= 16
2x01 + x2 + x3 + s1
=2
x01 + 21 x2 + 12 x3
+ s2
=2
2x01 + 2x2 + 4x3
+ s3 = 12

z = 16
s1 = 2
s2 = 2
s3 = 12

Mivel x3 -nak van a legnegatvabb egytthatja a 0. sorban, megprbljuk nvelni x 3 -at


amennyire csak lehet. Az x3 -ra vonatkoz szuk keresztmetszeteket a kvetkezo kppen sz-

524

9. fejezet A lineris programozs fejlettebb mdszerei

moljuk: x3 nem haladhatja meg felsokorltja rtkt, azaz 1-et, gy BN1 = 1. A BN2 -hz
kifejezzk az aktulis bzisvltozkat x3 fggvnyben:
s1 = 2 x 3

s2 = 2 21 x3
s3 = 12 4x3

(s1 0 akkor s csak akkor, ha x3 2)

(s2 0 akkor s csak akkor, ha x3 4)


(s3 0 akkor s csak akkor, ha x3 3)

Teht BN2 = min {2, 4, 3} = 2. Mivel az s1 , s2 s s3 vltozknak nincs felso korltjuk,


most sincs BN3 . Az eldnto szuk keresztmetszet min {1, 2} = BN1 = 1, azaz egy felsokorlt
helyettestst hajtunk vgre x3 -ra, x3 helybe 1 x03 kerl. Ennek eredmnyeknt kapjuk az
5. tblzatot.
Mivel x2 -nek van most a legnegatvabb egytthatja a 0. sorban, x 2 nvelsvel prblkozunk.
A szuk keresztmetszetek szmtsa a kvetkezo : x2 nem haladhatja meg felso korltjnak rtkt, azaz 3-at, gy BN1 = 3. Ami BN2 -t illeti:
s1 = 1 x 2
3
2

s2 =

1
2 x2

s3 = 8 2x2

(s1 0 akkor s csak akkor, ha x2 1)

(s2 0 akkor s csak akkor, ha x2 3)

(s3 0 akkor s csak akkor, ha x2 4)

Teht BN2 = min {1, 3, 4} = 1. Vegyk szre, hogy BN2 gy ll elo, hogy s1 rtke van
nullra lenyomva. Mivel most sincs az aktulis bzisvltozk egyiknek sem fels o korltja, nincs BN3 sem. Az eldnto szuk keresztmetszet min {3, 1} = 1 = BN2 , gy x2 fog
belpni a bzisba, mgpedig abba a sorba, ahol s1 volt a bzisvltoz (1. sor). A bziscsere
utn kapott j szimplex tblt a 6. tblzat mutatja. Mivel minden vltoznak nemnegatv
egytthatja van a 0. sorban, ez egy optimlis tbla. Teht az LP feladat optimlis megoldsa z = 21, s2 = 1, x2 = 1, s3 = 6, x01 = 0, s1 = 0, x03 = 0. Mivel x01 = 4 x1 s x03 = 1 x3,
gy x1 = 4 s x3 = 1.
5. T B L Z A T
x3 helybe 1 x03-t
rva

6.

Bzisvltoz
z + 4x01 2x2 + 3x03
= 19
0
0
m
=1
2x1 + x2 x3 + s1
1
1 0
0
x 1 + 2 x2 2 x3
+ s2
= 23
0
0
2x1 + 2x2 4x3
+ s3 = 8

TBLZAT

A 4. plda
optimlis tblja

z = 19
s1 = 1
s2 = 32
s3 = 8

Bzisvltoz
z

+ x03 + 2s1
= 21
x03 + s1
=1
21 s1 + s2
=1
2x03 2s1
+ s3 = 6

2x01 + x2
2x01

z = 21
x2 = 1
s2 = 1
s3 = 6


9.5. A felsokorltos
szimplex mdszer

5.

PLDA

Oldjuk meg a kvetkezo LP feladatot:


max z =
f.h.

6x3
x1

x3 = 6
x2 + 2x3 = 8

x1 8, x2 10, x3 5;
Megolds
7. T B L Z A T
Kiindul tbla az
5. pldhoz

525

x 1 , x2 , x3 0

A clfggvnynek a 0. sor standard formjba trtn o trsa utn a 7. tblzatot kapjuk.


Szerencsre a z = 0, x1 = 6, x2 = 8, x3 = 0 lehetsges bzismegolds rgtn rendelkezsre
Bzisvltoz
z
x1

6x3 = 0
x3 = 6
x2 + 2x3 = 8

z=0
x1 = 6
x2 = 8

ll. Folytathatjuk teht a felsokorltos szimplex mdszerrel. Mivel x3 -nak van a legnegatvabb egytthatja a 0. sorban, megprbljuk nvelni x 3 -at. Az x3 nem haladhatja meg felso
korltjt, azaz 5-t, gy BN1 = 5. A BN2 meghatrozsa:
x1 = 6 + x 3
x2 = 8 2x3

(x1 0 akkor s csak akkor, ha x3 6)


(x2 0 akkor s csak akkor, ha x3 4)

Teht az aktulis bzisvltozk addig maradnak nemnegatvak, amg x 3 4. Ezrt BN2 = 4.


Ami BN3 -at illeti, x1 8 pontosan akkor, ha 6 + x3 8, azaz x3 2. Hasonlan x2 10
pontosan akkor, ha 8 2x3 10, azaz x3 1. Teht x3 2 esetn marad minden bzisvltoz kisebb vagy egyenlo, mint a felso korltja, gy BN3 = 2. Vegyk szre, hogy BN3
pont akkor kvetkezik be, amikor az x1 bzisvltoz elri a felso korltjt. A dnto szuk
keresztmetszet min {5, 4, 2} = 2 = BN3 , gy 2 az a legnagyobb rtk, ameddig x3 -at emelni
tudjuk, s a szuk keresztmetszet gy lp fel, hogy x1 elri felso korltjt, azaz 8-at. Ezrt
egy felsokorlt helyettestst hajtunk vgre x1 -re, x1 helybe 8 x01 kerl. Az gy eloll
tbla a kvetkezo:
z 6x3 = 0
x01 x3 = 2
x2 + 2x3 = 8

A x01 x3 = 2 kifejezst trva x01 + x3 = 2 alakra, kapjuk a 8. tblzatot.


8. T B L Z A T
x1 helybe 8 x01
kerl

Bzisvltoz
z
x01

6x3 = 0
+ xm
3=2
x2 + 2x3 = 8

z=0
x01 = 2
x2 = 8

Mivel a BN3 -at okoz x1 vltoz az 1. sorban volt bzisvltoz, az x3 -at szintn az 1.
sorba visszk be bzisvltozknt. A bziscsere utn a 9. tblzatot kapjuk, amely optimlis. Teht az LP feladat optimlis megoldsa z = 12, x3 = 2, x2 = 4, x01 = 0. Mivel x01 = 0,
ezrt x1 = 8 x01 = 8.

526
9.

9. fejezet A lineris programozs fejlettebb mdszerei


TBLZAT

Az 5. plda
optimlis tblja

Bzisvltoz
z + 6x01
= 12
x01
+ x3 = 2
2x01 + x2
=4

z = 12
x3 = 2
x2 = 4

A felsokorltos szimplex mdszer hatkonysgnak illusztrlsaknt tegyk fel, hogy


egy olyan LP feladatot (nevezzk LP1-nek) kell megoldanunk, amelynek 100 vltozja
van, mindegyik felsokorlt felttellel, s 5 tovbbi felttele. Ha a mdostott szimplex mdszerrel oldannk meg az LP1 feladatot, akkor a B1 bzisinverz minden tbla esetn egy
105 105-s mtrix lenne. Azonban, ha a felso korltos szimplex mdszert hasznljuk,
akkor B1 minden tbla esetn egy 5 5-s mtrix. Br az eldnto szuk keresztmetszet
itercinknti kiszmolsa bonyolultabb, mint a kznsges hnyados teszt esetn, az LP1
feladat felsokorltos szimplex mdszerrel val megoldsa mg gy is sokkal hatkonyabb,
mint a kznsges mdostott szimplex mdszer hasznlatval.

Feladatok
A felsokorltos szimplex mdszer alkalmazsval oldjuk
meg a kvetkezo LP feladatotokat:

2.

A csoport
1.

max z = 4x1 + 3x2 + 5x3


f.h.
2x1 + 2x2 + x3 + x4
9
4x1 x2 x3
+ x5 6
2x2 + x3
5
x1
2
x2
3
x3
4
x4
5
x5 7
x1 , x2 , x3 , x4 , x5 0

9.6.

3.

min z = 4x1 9x2


f.h.
3x1 + 5x2 6
5x1 + 6x2 10
2x1 3x2 4
x1
2
x2 1
x1 , x2 0

max z = 4x1 + 3x2


f.h.
2x1 x2 1
x1 + 6x2 6
x2 5
x1 , x2 0

4. Tegyk fel, hogy egy LP feladat x j L j alak alskorlt feltteleket tartalmaz. Javasoljunk egy algoritmust,
amely segtsgvel hatkonyan oldhat meg egy ilyen feladat!

Karmarkar mdszere LP feladatok megoldsra


Miknt azt a 4.13. alfejezetben mr trgyaltuk, Karmarkar LP feladatok megoldsra szolgl mdszere polinomilis ideju algoritmus. Ebben klnbzik a szimplex mdszert o l,
amely exponencilis ideju algoritmus. Az ellipszoid mdszert o l eltroen (amely egy msik
polinomilis algoritmus), gy tunik, hogy a Karmarkar-mdszer sok LP feladatot gyorsabban old meg, mint a szimplex algoritmus. Ebben az alfejezetben azokat az alapfogalmakat

9.6. Karmarkar mdszere LP feladatok megoldsra

527

mutatjuk be, amelyeken a Karmarkar-mdszer nyugszik. Megjegyezzk, hogy a Karmarkar-mdszer szmos vltozata szmtstechnikailag sokkal hatkonyabb az itt bemutatand
vltozatnl. A clunk egyszeruen az, hogy megismertessk az olvast a Karmarkar-mdszer ltal hasznlt izgalmas tletekkel. A Karmarkar-mdszert sokkal rszletesebben trgyalja Hooker (1986), Parker s Rardin (1988), s Murty (1989).
Karmarkar mdszere a kvetkezo alak LP feladatokra alkalmazhat:
min z = cx
Ax = 0

f.h.

x1 + x 2 + + x n = 1
x0

(31)

A (31) feladatban x = [x1 x2 . . . xn ]T , A egy m n mretu mtrix, c = [ c1 c2 . . . cn ],


s 0 a csak 0 elemekbol ll n-dimenzis oszlopvektor.
Az LP feladat az albbi feltteleknek is eleget kell hogy tegyen:
[ 1n

1
n

lehetsges megolds
. . . 1n ]T
Az optimlis z rtk = 0

(32)
(33)

Br elgg valsznutlen, hogy egy LP feladat (31) alak legyen, s a (32)(33) feltteleknek is eleget tegyen, knnyen megmutathat, hogy brmely feladat olyan formra hozhat,
hogy (31)(33) teljesljn. Ezt ennek az alfejezetnek a vgn fogjuk megmutatni.
A kvetkezo hrom fogalom kulcsszerepet jtszik a Karmarkar-mdszerben:
1.

Adott vektor vettse az Ax = 0 felttelnek eleget tevo x pontok halmazra.

2.

Karmarkar centralizl transzformcija.

3.

Karmarkar potencilfggvnye.

Most az elso kt fogalmat trgyaljuk, Karmarkar potencilfggvnynek trgyalst az alfejezet vgre hagyjuk. Mindenekelo tt szksgnk van egy defincira.

D EFINCI

Az S n-dimenzis egysgszimplex azoknak az [x1 x2 . . . xn ]T pontoknak a halmaza, amelyek eleget tesznek az x1 + x2 + + xn = 1 s x j 0, j = 1, 2, . . . , n feltteleknek.

A vetts
Tegyk fel, hogy adott egy x0 pont, amely eleget tesz (31)-nek, s el akarunk mozdulni
x0 -bl egy msik lehetsges pontba (legyen x1 ) gy, hogy ekzben egy rgztett v vektorra
nzve vx rtke nagyobb legyen. Tegyk fel, hogy x 1 -be x0 -bl d = [d1 d2 . . . dn ]
irnyba val elmozdulssal jutunk. Ahhoz, hogy x1 lehetsges megolds legyen, d eleget
kell, hogy tegyen az Ad = 0 s d1 + d2 + + dn = 0 feltteleknek. Ha azt a d irnyt vlasztjuk, amely megoldja a
max vd
f.h. Ad = 0
d1 + d 2 + + d n = 0
kdk = 1

528

9. fejezet A lineris programozs fejlettebb mdszerei

5. B R A
A [2 1 7]
vektor vettse az
x3 = 0 skra

optimalizlsi feladatot, akkor ppen abban a lehetsges irnyban mozdulunk el, amelynl
vx egysgnyi elmozdulsra eso nvekedse maximlis. Az a d irny, amely megoldja ezt
az optimalizlsi feladatot, a v vektornak az Ax = 0 s x1 + x2 + + xn = 0 feltteleknek
eleget tevo x = [x1 x2 . . . xn ]T pontok halmazra trtno vettsvel kaphat meg. A v
vektornak az Ax = 0 s x1 + x2 + + xn = 0 feltteleknek eleget tevo x pontok halmazra
val vettse [I BT (BBT )1 B]v alakban nyerheto, ahol B az az (m + 1) n-es mtrix,
amelynek elso m sora ppen A, utols sora pedig a csupa 1 elembo l ll vektor.
Mit jelent az geometriailag, hogy egy v vektort az Ax = 0 felttelnek eleget tev o x pontok halmazra vettnk? Megmutathat, hogy brmely v vektort egyrtelmuen fel lehet rni
v = p+w alakban, ahol p kielgti az Ap = 0 felttelt, a w pedig mero leges az Ax = 0 felttelnek eleget tevo sszes x vektorra. Ekkor p a v vektor vettse az Ax = 0 felttelnek eleget
tevo x pontok halmazra. Egy pldt lthatunk erre az 5. brn, ahol a v = [2 1 7]
vektort vettjk az x3 = 0 felttelnek eleget tevo hromdimenzis vektorok halmazra (az
x1 -x2 -skra). Ebben az esetben a v vektort v = [2 1 0] + [0 0 7] alakban bontjuk
fel. Teht p = [2 1 0]. Knnyen belthat, hogy p az Ax = 0 felttelnek eleget tevo
x pontok halmaznak az a pontja, amely a legkzelebb fekszik v-hez. Ez az 5. brn is
ltszik.

Karmarkar centralizl transzformcija


Legyen adott az S egy olyan xk = [xk1 xk2 . . . xkn ] pontja, amely lehetsges megoldsa
(31)-nek, s xkj > 0, j = 1, 2, . . . , n. Ekkor az xk ponthoz rendelt centralizl transzformcit f ([ x1 x2 . . . xn ]| xk ) alakban rjuk fel. Ha xk az S pontja, akkor egy [ x1 x2 . . . xn ]T
S-beli pontot f ([x1 x2 . . . xn ] | xk ) egy [y1 y2 . . . yn ]T S-beli pontba transzforml,
ahol
xj
xkj
y j = r=n
(34)
xr
k
r=1 xr
Legyen Diag(xk ) az az n n-es mtrix, amelynek minden diagonlison kvli eleme 0, s
Diag(xk )ii = xki . Megmutathat, hogy a (34) ltal meghatrozott centralizl transzformci
az 1. lemmban felsorolt tulajdonsgokkal rendelkezik.

529

9.6. Karmarkar mdszere LP feladatok megoldsra

1. SEGDTTEL

Karmarkar centralizl transzformcijnak a kvetkez o tulajdonsgai vannak:


f (xk | xk ) = [ n1

1
n

1 T
n] .
0 k

...
k

(35)

Ha x 6= x , akkor f (x | x ) 6= f (x | x )

(36)

y2

Brmely [y1

Az [x1

x2

...

f (x | x ) S

yn ] ponthoz az S-bol egyrtelmuen ltezik egy

(38)

[x1

x2

...

f ([x1

x2

. . . xn ]T | xk ) = [y1

. . . xn ]T pont

(37)

xn ] pont az S-bol, amelyre

xj =

y2

. . . y n ]T

(380 )

xkj y j
r=n
xkr yr
r=1
yn ]T eleget

alakban kaphat.
Ha [x1 x2 . . . xn ]T s [y1 y2 . . .
rhatjuk, hogy f 1 ([y1 y2 . . . yn ]T | xk ) = [x1

tesznek (380 )-nek, akkor gy is


. . . x n ]T .

x2

Az S egy x pontjra pontosan akkor teljesl Ax = 0, ha


A[Diag(xk )] f (x | xk ) = 0

(39)

(Az 1. segdttel bizonytst 5. feladatknt adjuk fel.)


A centralizl transzformci illusztrlsaknt, tekintsk a kvetkez o LP feladatot:
min z = x1 + 3x2 3x3
f.h.
x 2 x3 = 0

(40)

x1 + x 2 + x 3 = 1
xi 0

Ez az LP feladat (31) alak; az [ 31 13 13 ]T pont lehetsges megolds, s a feladat optimlis


z rtke 0. Az [ 41 83 38 ] lehetsges pont a kvetkezo transzformcit hatrozza meg:

!

 1 3 3
f x1 x2 x3
=
4 8 8
"
#
8x3
8x2
4x1
3
3
4x1 + 8x32 + 8x33

Pldul
f

1
3

1
3

4x1 + 8x32 + 8x33

 
1 1

3 4

3
8

3
8

!

4x1 + 8x32 + 8x33

12
28

8
28


8
.
28

Az x1 , x2 , . . . , xn vltozkat eredeti trnek, az y1 , y2 , . . . , yn vltozkat pedig transzformlt trnek tekinthetjk. Az y1 , y2 , . . . , yn vltozkkal kpzett egysgszimplexet transzformlt egysgszimplexnek nevezzk. Nzzk most (35)(39) intuitv rtelmt. A (35) egyenlosg azt jelenti, hogy f ( | xk ) az xk pontot a transzformlt egysgszimplex kzppontjba kpezi le. A (36)(37) egyenlo sgek azt mondjk, hogy S minden pontja a transzformlt egysgszimplex egy pontjba kerl, viszont S kt klnbz o pontjra nem kaphatjuk a

530

9. fejezet A lineris programozs fejlettebb mdszerei

transzformlt egysgszimplex ugyanazon pontjt (azaz f klcsnsen egyrtelmu lekpezs). A (38) azt jelenti, hogy a transzformlt egysgszimplex brmely y pontjhoz ltezik
olyan x pont S-bol, amely ppen az y-ba transzformldik. So t, annak az x-nek, amely yba transzformldik, a kplete is adott. A (36)(38) sszefggsekb o l teht az kvetkezik,
hogy f egy klcsnsen egyrtelmu lekpezs S-ro l S-re. Vgl a (39) azt lltja, hogy az
eredeti feladat lehetsges pontjai a transzformlt egysgszimplex azon y pontjaihoz rendelhetok hozz, amelyekre A[Diag(xk )]y = 0 teljesl.

A Karmarkar-mdszer lersa s egy plda


Tegyk fel, hogy egy optimlishoz kzeli lehetsges ponttal is megelgsznk, amelyre a z
rtk < (valamilyen kis esetn). A Karmarkar-mdszer a kvetkez o kppen mukdik:
1. lps Induljunk ki az x0 = [ 1n
2. lps Ha

cxk

1
n

...

1 T
n]

lehetsges pontbl, s legyen k = 0.

< , lljunk le. Klnben menjnk a 3. lpsre.

3. lps lltsuk elo a transzformlt egysgszimplex j


yk+1 = [yk+1
1
pontjt a kvetkezokppen:

1 1
k+1
y
=
n n

...

1
n

T

yk+1
2

...

T
yk+1
n ]

(I PT (PPT )1 P)[Diag(xk )]cT


p
kc p k n(n 1)

Ahol kc p k az (I PT (PPT )1 P)[Diag(xk )]cT vektor hossza, P olyan (m + 1) n mretu


mtrix, amelynek elso m sora A[Diag(xk )], az utols sornak minden eleme pedig 1. Tovbb a 0 < < 1 rtkt gy vlasztjuk meg, hogy biztostva legyen az algoritmus konvergencija. = 14 esetn biztosan tudjuk a konvergencit.
Ezzel az eredeti trben is kapunk egy j x k+1 pontot: azt, amelyiket a centralizl transzformci az y k+1 ponthoz rendel. Teht x k+1 = f 1 (y k+1 | x k ). Nveljk eggyel k rtkt,
s menjnk vissza a 2. lpsre.

M EGJEGYZSEK

1. A 3. lpsben a transzformlt egysgszimplex kzppontjbl azzal az irnnyal ellenttesen mozdulunk el, amelyet gy kapunk, hogy levettjk a Diag(xk )cT vektort a lehetsges tartomny transzformltjra, azaz azon y pontok halmazra, amelyekre A[Diag(xk )]y = 0 teljesl. A vetts trgyalsbl kvetkezik, hogy gy mg a lehetsges tartomnyban vagyunk (a transzformlt trben) s olyan
irnyba mozdulunk el, hogy [Diag(xk )]cT cskkensi rtja maximlis.
2. Azzal, hogy a transzformlt egysgszimplex kzppontjbl

p
n(n 1)

tvolsgra mozdulunk el, biztostjuk, hogy yk+1 a transzformlt egysgszimplex belsejben marad.
3. Amikor Karmarkar centralizl transzformcija inverznek alkalmazsval az yk+1 pontot viszszatranszformljuk az xk+1 pontba, akkor a vetts defincijbl s (39)-bol kvetkezoleg xk+1 az
eredeti LP feladat egy lehetsges megoldsa lesz (lsd a 6. feladatot).
4. Mirt a [Diag(xk )]cT vektort vettjk a transzformlt lehetsges tartomnyra, mirt nem a cT
vektort? A vlasszal erre a krdsre vrnunk kell Karmarkar potencilfggvnynek trgyalsig.
A 7. feladat egy msik magyarzatot ad arra, hogy mirt a [Diag(xk )] vektort vettjk a cT helyett.

9.6. Karmarkar mdszere LP feladatok megoldsra

531

A (40) feladatra alkalmazva, = 0.10 vlasztssal, most vgigszmoljuk a Karmarkarmdszer elso itercijt.

A Karmarkar-mdszer elso itercija


1. lps x0 = [ 13

1
3

2. lps x0 esetn z =

1 T
3 ] s k = 0.
1
3 > 0.10, gy

a 3. lpsben kell folytatnunk.

3. lps
1
3

Diag(x k ) = 0

A = [0 1 1],
k

PPT =

"

2
9

#
0
,
3

2
3

(I PT (PPT )1 P) = 31
31

13 ],

1
3

A[Diag(x )] = [0

1
3

13

P=

1
3

(PPT )1 =

"

9
2

1
6,
1
6

(I PT (PPT )1 P)[Diag xk ]cT =

2

19

91

Ekkor ( = 0.25 rtket alkalmazva), azt kapjuk, hogy


1 T
3]

Felhasznlva, hogy
k[ 29

19

19 ]kT

0.25[ 92 19 19 ]T
p
3(2)k[ 92 19 19 ]k

=
=

( 92 )2 + ( 19 )2 + ( 91 )2

6
9

egyszerusthetnk:
y1 = [ 31

1
3

1 T
3]

6
[ 72

3
72

0
1
3

1
3

13

c = [1 3 3]

1
3


[Diag xk ]cT = 1

y1 = [ 31

1
3

"

1
6
1
6

3 T
] = [ 41
72

3
8

3 T
8]

532

9. fejezet A lineris programozs fejlettebb mdszerei

A (380 ) sszefggst alkalmazva az x1 = [x11


x11 =
x12 =
x13 =

1 1
3(4)+
1 1
3(4)+
1 1
3(4)+

x12

1 1
3(4)
1 3
3(8)+
1 3
3(8)
1 3
3(8)+
1 3
3(8)
1 3
3(8)+

x13 ]T pont is eloll a kvetkezo alakban:


1 3
3(8)
1 3
3(8)
1 3
3(8)

1
4

3
8

3
8

Teht x1 = [ 14 38 38 ]T . A x1 = y1 azonossg mindig is teljeslni fog (lsd a 3. feladatot),


de k > 1 esetn x k mr nem felttlenl azonos az y k ponttal. Vegyk szre, hogy x1 esetn
z = 41 + 3( 83 ) 3( 38 ) = 14 < 13 (a clfggvny z rtke x0 esetn).

A potencilfggvny
Mivel a [Diag(xk )]cT vektort vettjk le cT helyett, egyltaln nem lehetnk biztosak abban,
hogy a Karmarkar-mdszer minden itercijban cskken a clfggvny z rtke. Valban
elofordulhat, hogy cxk+1 > cxk . Annak magyarzathoz, hogy a Karmarkar-mdszer mirt
a [Diag(xk )]cT vektort vetti le, meg kell ismerkednnk a Karmarkar potencilfggvnnyel.
Egy x = [x1 x2 . . . xn ]T pontra az f (x) potencilfggvnyt
j=n

f (x) =

ln

j=1

cxT
xj

alakban definiljuk. Karmarkar megmutatta, hogy ha a [Diag(x k )]cT vektort vettjk le (s


nem a cT vektort) a transzformlt tr lehetsges tartomnyra, akkor valamilyen > 0
rtkre minden k = 0, 1, 2, . . . esetn igaz, hogy
f (xk ) f (xk+1 )

(41)

A (41) egyenlotlensg azt lltja, hogy a Karmarkar-mdszer minden lpse a potencilfggvnyt bizonyos pozitv szmnl nagyobb mrtkben cskkenti. Karmarkar megmutatta, hogy ha a potencilfggvny rtke xk -ban elg kicsi, z = cxk kzel lesz 0-hoz. Mivel
f (xk ) legalbb -val cskken itercinknt, elg nagy k szmot vlasztva biztosthatjuk,
hogy a clfggvny z rtke xk -ban kisebb legyen, mint .

Egy LP feladat trsa a Karmarkar-mdszer standard alakjra


Megmutatjuk, hogyan lehet egy tetszo leges LP feladatot trni a (31)(33) alakra. A kvetkezo LP feladaton szemlltetjk az talakts lpseit:
max z = 3x1 + x2
f.h. 2x1 x2 2
x1 + 2x2 5

x1 , x2 0

(42)

9.6. Karmarkar mdszere LP feladatok megoldsra

533

Kezdjk azzal, hogy felrjuk (42) dul feladatt:


min w = 2y1 + 5y2
f.h. 2y1 + y2 3
y1 + 2y2 1
y1 , y2 0

(420 )

A dualitsi ttelbol tudjuk (6. fejezet 1. ttel), hogy ha (x1 , x2 ) a (42), (y1 , y2 ) pedig a (420 )
feladat lehetsges megoldsa, s (x1 , x2 ) (42)-beli z rtke egyenlo (y1 , y2 ) (420 )-beli w
rtkvel, akkor (x1 , x2 ) a (42) feladat optimlis megoldsa. Ez azt jelenti, hogy a kvetkez o
felttelrendszer tetszoleges lehetsges megoldsa optimlis megoldst szolgltat (42)-hz:
3x1 + x2 2y1 5y2 = 0
2x1 x2
2
x1 + 2x2

5
2y1 + y2 3

(43)

y1 + 2y2 1
minden vltoz 0

Kiegszto s felesleg vltozk (43)-ba val beszrsval kapjuk:


3x1 + x2 2y1 5y2 = 0
2x1 x2
+ s1 = 2
x1 + 2x2

+ s2 = 5
2y1 + y2 e1 = 3

(44)

y1 + 2y2 e2 = 1
minden vltoz 0

Most keresnk egy olyan M szmot, hogy (44) tetszo leges lehetsges megoldsa esetn
teljesljn a
(44) sszes vltozjnak sszege M
(45)

egyenlotlensg, majd hozzadjuk a (45) felttelt (44)-hez. Ha vatosan is szmolunk, az


lthat, hogy (42) tetszoleges priml optimlis megoldsa, illetve (420) tetszoleges dul
optimlis megoldsa esetn egyetlen vltoz rteke sem haladhatja meg a 10-et. Ebb o l
kapjuk az M = 10(8) = 80 rtket. Hozzadunk mg egy d 1 kiegszto vltozt is (45)hz. Az j cl teht lehetsges megoldst tallni a kvetkezo felttelekhez:
3x1 + x2 2y1 5y2 = 0

2x1 x2
x1 + 2x2

+ s1 = 2
+ s2 = 5

2y1 + y2 e1 = 3
y1 + 2y2 e2 = 1

x1 + x2 + y1 + y2 + s1 + s2 + e1 + e2 + d1 = 80
minden vltoz 0

(46)

Most definilunk egy j d2 mestersges vltozt; d2 = 1. Ezt az j vltozt arra hasznlhatjuk, hogy homogenizljuk (46) azon feltteleit, amelyek nem nulla rtkkel rendelkeznek a jobb oldalon. Ez gy csinljuk, hogy a d2 = 1 felttel megfelelo tbbszrst

534

9. fejezet A lineris programozs fejlettebb mdszerei

hozzadjuk (46) minden olyan felttelhez (az utols felttel kivtelvel), amelynek jobb
oldaln nem nulla ll. Pldul a 2(d2 = 1) egyenlosget adjuk hozz a 2x1 x2 + s1 = 2
egyenlosghez. A (46) utols felttelt is helyettestjk, mgpedig a kvetkez o kt felttellel:
(a) Adjuk hozz a d2 = 1 egyenlosget (46) utols felttelhez.
(b) Vonjuk ki (d2 = 1) M-szerest (46) utols felttelbo l.
Az (a) s (b) egytt ekvivalens a d2 = 1 felttel s (46) utols felttelnek egyttesvel.
Ezek utn a kvetkezo felttelrendszerhez keresnk lehetsges megoldst:
3x1 + x2 2y1 5y2 = 0

2x1 x2
x1 + 2x2

+ s1 2d2 = 0
+ s2 5d2 = 0

2y1 + y2 e1 3d2 = 0
y1 + 2y2 e2 d2 = 0

(47)

x1 + x2 + y1 + y2 + s1 + s2 + e1 + e2 + d1 80d2 = 0
x1 + x2 + y1 + y2 + s1 + s2 + e1 + e2 + d1 + d2 = 81
minden vltoz 0
Hajtsuk vgre a kvetkezo vltozcsert (47)-ben:
x j = (M + 1)x0j , y j = (M + 1)y0j , s j = (M + 1)s0j , e j = (M + 1)e0j ,
d j = (M + 1)d 0j ( j = 1, 2)
gy azt kapjuk, hogy
3x01 + x02 2y01 5y02 = 0
2x01 x02
+ s01 2d20 = 0
x01 + 2x02

+ s02 5d20 = 0
2y01 + y02 e01 3d20 = 0

y01 + 2y02 e02 d20 = 0


x01 + x02 + y01 + y02 + s01 + s02 + e01 + e02 + d10 80d20 = 0

(48)

x01 + x02 + y01 + y02 + s01 + s02 + e01 + e02 + d10 + d20 = 1
minden vltoz 0

Azt is biztostanunk kell mg, hogy az a pont, amelynek minden komponense azonos,
(48) lehetsges megoldsa legyen. (ppen ez volt a (33) kikts a Karmarkar-mdszernl.)
Ezt gy hajtjuk vgre, hogy hozzadunk egy d30 mestersges vltozt (48) utols felttelhez, majd pedig d30 valamilyen tbbszrst az sszes tbbi felttelhez. Ezt a tbbszrst
gy vlasztjuk meg, hogy az egytthatk sszege minden felttelben (az utols kivtelvel)
0 legyen. gy kapjuk a (49) LP feladatot:

9.6. Karmarkar mdszere LP feladatok megoldsra

535

min z = d30
f.h. 3x01 + x02 2y01 5y02 + 3d30 = 0
2x1 0 x02
+ s01 2d20
x01

=0

2x02

+
+ s02 5d20 + d30 = 0
2y01 + y02 e01 3d20 + d30 = 0
y01 + 2y02 e02 d20 + d30 = 0
0
0
0
0
0
x1 + x2 + y1 + y2 + s1 + s02 + e01 + e02 + d10 80d20 + 71d30 = 0
x01 + x02 + y01 + y02 + s01 + s02 + e01 + e02 + d10 + d20 + d30 = 1

(49)

minden vltoz 0
A (49) feladatban az x01 = x02 = y01 = y02 = s01 = s02 = e01 = e02 = d10 = d20 = d30 = 1/11 pont
mr lehetsges megolds. Mivel d30 -nek 0 szinten kell lennie (48) lehetsges megoldsban,
ezrt minimalizljuk (49)-ben a d30 vltozt. Ha ugyanis (48)-nak van lehetsges megoldsa, akkor d30 minimlis rtke 0 a (49) feladatban, s (49) optimlis megoldsnak tbbi
vltozja egy lehetsges megoldst szolgltat (48) szmra. Az x 1 s x2 vltozk (49) optimlis megoldsban felvett rtkei egyben optimlis megoldst is adnak az eredeti (42)
LP feladatunkra. A (49) LP feladat eleget tesz a (31)(33) kiktseknek, s kszen ll a
Karmarkar-mdszerrel trtno megoldsra.

Feladatok
A csoport
1. Hajtsuk vgre a Karmarkar-mdszer egy itercijt a
kvetkezo LP feladaton:

4. Hajtsuk vgre a Karmarkar-mdszer kt itercijt a


kvetkezo LP feladaton:
min z =
f.h.

min z = x1 + 2x2 x3
f.h.

x1

x1 + x 2 + x 3 = 1

x3 = 0

x1 , x2 , x3 0

x1 + x 2 + x 3 = 1
x1 , x2 , x3 0

2. Hajtsuk vgre a Karmarkar-mdszer egy itercijt a


kvetkezo LP feladaton:
min z = x1 x2 + 6x3
f.h.

x 1 x2

=0

x1 + x 2 + x 3 = 1
x1 , x2 , x3 0

3. Bizonytsuk be, hogy a Karmarkar-mdszerben x1 =


y1 teljesl.

2x2
x1 + x2 2x3 = 0

B csoport
5.

Bizonytsuk be az 1. lemmt.

6. Mutassuk meg, hogy a Karmarkar-mdszer x k pontja


az eredeti LP feladat lehetsges megoldsa.
7. Ha adott egy y k pont a Karmarkar-mdszerben, fejezzk ki az LP feladat eredeti clfggvnyt y k fggvnyeknt. Az erre a krdsre adott vlaszt hasznljuk fel arra is,
hogy megindokoljuk, mirt a [Diag(x k )]cT vektort vettjk
le cT helyett.

536

9. fejezet A lineris programozs fejlettebb mdszerei

sszefoglals
A mdostott szimplex mdszer s az inverz szorzatformja
0. lps Gondoskodjunk az aktulis B1 inverz oszlopainak beolvassrl. Kiindulskor
B1 = I.
1. lps Az aktulis tblra vonatkozan szmtsuk ki a cBV B1 rtkelovektort.
2. lps rtkeljk ki az aktulis tbla sszes nembzis vltozjt. Ha (maximalizlsi
feladatot tekintve) a kirtkels minden nembzis vltoz esetn nemnegatv rtket ad,
az aktulis bzis optimlis. Ha az aktulis bzis nem optimlis, lptessk be a bzisba azt
a nembzis vltozt, amelynek a legnegatvabb az egytthatja a 0. sorban. Jelljk ezt a
vltozt xk -val.
3. lps Annak meghatrozshoz, hogy a bzis melyik sorba lpjen be x k , szmtsuk
ki xk oszlopt az aktulis tblban (B1 ak ), tovbb az aktulis tbla jobb oldalt (B1 b).
Ezutn a hnyados tesztet alkalmazzuk annak meghatrozsra, melyik sorba lp be x k .
Most mr akkor ismerjk az j tbla bzisvltozinak (BV) halmazt.
4. lps Az aktulis tbla xk -hoz tartoz oszlopa segtsgvel hatrozzuk meg azokat az
elemi sormuveleteket, amelyek xk bzisba val belptetshez szksgesek. Hajtsuk vgre
ezeket az elemi sormuveleteket az aktulis B1 -en. Ezzel megkapjuk az j B1 inverzet.
Trjnk vissza az 1. lpsre.
Egy msik vlasztsi lehetosg az, hogy az inverz szorzatformjt alkalmazzuk B1 jraszmolsra. Tegyk fel, hogy mr meghatroztuk, hogy az x k vltoz lp be a bzisba,
mgpedig az r-edik sorba. Az aktulis tblban az xk -hoz tartoz oszlop legyen

a1k
a2k

..
.
amk

Legyen egy m m-es E mtrix a kvetkezo kppen megadva:


(r-edik oszlop)

Ekkor

1 0 ...

.
.
.

E = 0

.
..

1 ...
..
.
0 ...
..
.
0 ...
0 ...

a1k
ark
a2k

ark
..
.
1
ark
..
.
am1,k

ark
amk

ark

... 0 0

. . . 0 0

.. ..

. .

. . . 0 0 (r-edik sor)

.. ..
. .

. . . 1 0

... 0 1

B1 az j tblban = E(B1 az aktulis tblban).

Trjnk vissza az 1. lpsre.

(50)

sszefoglals

537

Az oszlopgenerls
Ha egy LP feladatnak sok vltozja van, az sszes bzisvltoz egyenknti kirtkelse
nagyon idoignyes lehet. Az oszlopgenerlsi megkzelts leheto v teszi szmunkra, hogy
a legkedvezobbnek kirtkelsu nembzis vltozt egy rszfeladat megoldsval kapjuk
meg (a leszabsi feladat korltozs s sztvlaszts feladataihoz hasonlan).

A DantzigWolfe dekompozcis mdszer


Sok LP feladatban a felttelek s a vltozk az albbi mdon bonthatk szt:
A felttelek 1. halmazban csak a vltozk 1. halmaza szerepel.
A felttelek 2. halmazban csak a vltozk 2. halmaza szerepel.
..
.
A felttelek k. halmazban csak a vltozk k. halmaza szerepel.
A felttelek k + 1-edik halmazban mr az sszes vltoz szerepelhet. A k + 1-edik halmazt
kzponti feltteleknek vagy sszekto feltteleknek szoktk nevezni.
Az ilyen mdon felbonthat LP feladatok ltalban hatkonyan oldhatk meg a Dantzig
Wolfe dekompozcis mdszerrel. A kvetkezo lersban feltesszk, hogy k = 2.
1. lps Legyen a vltozk 1. halmaza x1 , x2 , . . . , xn1 . Fejezzk ki a vltozkat az 1. feltteli halmazhoz tartoz lehetsges tartomny extremlis pontjainak konvex kombincijaknt. (Az 1. feltteli halmaz azokbl a felttelekbo l ll, amelyekben csak a vltozk 1.
halmaza vesz rszt.) Ha P1 , P2 , . . . , Pk jelli a lehetsges tartomny extremlis pontjait, akkor a felttelek 1. halmaza ltal meghatrozott lehetsges tartomny brmely

x1
x2

..
.
x n1

pontja felrhat az albbi formban:



x1
x2

.. = 1 P1 + 2 P2 + + k Pk ,
.
x n1

ahol 1 + 2 + + k = 1 s i 0 (i = 1, 2, . . . , k).

(29)

2. lps Fejezzk ki a vltozk xn1 +1 , xn1 +2 , . . . , xn elemekbol ll 2. halmazt mint a felttelek 2. halmazhoz tartoz lehetsges tartomny extremlis pontjainak konvex kombincijt. Amennyiben Q1 , Q2 , . . . , Qm jelli a lehetsges tartomny extremlis pontjait, akkor
a felttelek 2. halmaza ltal meghatrozott lehetsges tartomny minden pontja felrhat

xn1 +1
xn +2
1
(30)
.. = 1 Q1 + 2 Q2 + + m Qm
.
xn

alakban, ahol i 0 (i = 1, 2, . . . , m) s 1 + 2 + + m = 1.

538

9. fejezet A lineris programozs fejlettebb mdszerei

3. lps Fejezzk ki (29) s (30) alapjn az LP feladat clfggvnyt s kzponti feltteleit a i s a i vltozk segtsgvel. A konvexitsi feltteleknek nevezett 1 + 2 +
+ k = 1 s 1 + 2 + + m = 1 felttelek, valamint a i 0 (i = 1, 2, . . . , k) s
i 0 (i = 1, 2, . . . , m) elojelkorltozsok hozzadsa utn a kvetkezo LP feladatot kapjuk, amelyet mesterfeladatnak is neveznek:
max (vagy min) [clfggvny a i s i vltozkkal kifejezve]
f.h.

[kzponti felttelek i s i vltozkkal kifejezve]


1 + 2 + . . . + k = 1

1 + 2 + . . . + m = 1
i 0 (i = 1, 2, . . . , k)
i 0 (i = 1, 2, . . . , m)

(konvexitsi felttelek)
(elojelmegktsek)

4. lps Tegyk fel, hogy mr rendelkezsnkre ll a mesterfeladat egy lehetsges bzismegoldsa. Ekkor hasznljuk a 8.3. alfejezetben ismertetett oszlopgenerlsi mdszert
annak megllaptsra, hogy van-e olyan i vagy i , amely javtani tudja a mesterfeladat z
clfggvnyrtkt. Ha van, hasznljuk a mdostott szimplex mdszert a vltoz bzisba
val belptetsre. Klnben az aktulis tbla optimlis a mesterfeladat szmra. Ha nem
optimlis tblnl voltunk, folytassuk az oszlopgenerlsi technikt az optimlis megolds
elrsig.
5. lps A i s i vltozk 4. lpsben kapott optimlis rtkeit helyettestsk be a (29)
s (30) kifejezsekbe. Ezzel megkapjuk az x1 , x2 , . . . , xn optimlis rtkeit.

A felsokorltos
szimplex mdszer
Minden olyan xi vltozhoz, amelyiknek xi ui alak felsokorlt felttele van, bevezetnk
egy j x0i vltozt az xi + x0i = ui , azaz xi = ui x0i sszefggs alapjn.
Minden iterciban (maximalizlsi feladat esetn) azt az xi vltozt akarjuk nvelni,
amelyiknek a legnegatvabb az egytthatja a 0. sorban. Hromfle olyan eset, vagy szuk
keresztmetszet lehetsges, amely korltozhatja azt a mennyisget, amivel az x i -t nvelhetjk:
1. szuk
keresztmetszet: xi nem haladhatja meg az ui felso korltjt.
2. szuk
keresztmetszet: xi egy olyan pontig nvekszik, ahonnan mr az aktulis bzisvltozk valamelyikt negatvv vltoztatn.
3. szuk
keresztmetszet: Az xi egy olyan pontig nvekszik, ahonnan mr az aktulis bzisvltozk valamelyikt a felso korltja fl vinn.
Legyen BNk (k = 1, 2, 3) az xi azon rtke, ahol a k-adik szuk keresztmetszet esete fellp.
Ekkor xi csak a min {BN1 , BN2 , BN3 } rtkig, azaz az eldnto szuk keresztmetszet rtkig
nvelheto. Ha az eldnto szuk keresztmetszet BN1 , akkor vgrehajtjuk a felsokorlt helyettestst xi -re, azaz xi helybe ui x0i kerl. Ha az eldnto szuk keresztmetszet BN2 , akkor
belptetjk xi -t a bzisba, ppen abba a sorba, amelyik a BN2 fellptt okoz bzisvltozhoz tartozott. Ha az eldnto szuk keresztmetszet BN3 , arra az x j vltozra, amelyik
xi = BN3 esetn ppen elri a felso korltjt, vgrehajtjuk a felsokorlt helyettestst, azaz
x j helybe u j x0j kerl. Ezutn belptetjk xi -t a bzisba, ppen abba a sorba, ahol x j volt
a bzisvltoz.

ttekinto feladatok

539

A fenti eljrs vgrehajtsa utn megvizsgljuk az j 0. sort. Ha minden vltozhoz


nemnegatv egytthat tartozik a 0. sorban, akkor egy optimlis tblhoz jutottunk. Egybknt megprbljuk nvelni a 0. sorban a legnegatvabb egytthatval rendelkez o vltozt.

A Karmarkar-mdszer
1. lps Induljunk ki az x0 = [ n1

1
n

...

1 T
n]

lehetsges pontbl, s legyen k = 0.

2. lps Ha cxk < , lljunk le. Klnben menjnk a 3. lpsre.


3. lps lltsuk elo a transzformlt egysgszimplex j
yk+1 = [yk+1
1

yk+1
2

...

T
yk+1
n ]

pontjt a kvetkezokppen:
yk+1 = [ n1

1
n

...

1 T
n]

(I PT (PPT )1 P)[Diag(xk )]cT


p
kc p k n(n 1)

Ahol kc p k az (I PT (PPT )1 P)[Diag(xk )]cT vektor hossza, P olyan (m + 1) n mretu


mtrix, amelynek elso m sora A[Diag(xk )], az utols sornak minden eleme pedig 1. Tovbb a 0 < < 1 rtkt gy vlasztjuk meg, hogy biztostva legyen az algoritmus konvergencija. = 14 esetn biztosan tudjuk a konvergencit.
Ezzel az eredeti trben is kapunk egy j x k+1 pontot: azt, amelyiket a centralizl transzformci az y k+1 ponthoz rendel. Teht x k+1 = f 1 (y k+1 | x k ). Nveljk eggyel k rtkt,
s menjnk vissza a 2. lpsre.

ttekinto feladatok
A csoport

min z = 2x1 x2 + x3 x4

1. Alkalmazzuk a mdostott szimplex mdszert a szorzatforms inverzzel a kvetkezo LP feladat megoldsra:

f.h.

x1 x 2

max z = 4x1 + 3x2 + x3


f.h. 3x1 + 2x2 + x3 6
x1

x3 3x4 7

2x3 + x4 10

x2 + x 3 3

x1 + 3x2 x3 2x4 10

+ x3 2

x1 , x2 , x3 0

x1 + 2x2

4.

xi 0 (i = 1, 2, 3, 4)

Tekintsk a kvetkezo esetet:

2. Hasznljuk az oszlopgenerlsi technikt egy olyan leszabsi feladat megoldsra, ahol a vevonek 20 db 3 mter
hossz, 25 db 4 mter hossz s 30 db 5 mter hossz deszkra van szksge, az igny pedig 14 mter hossz deszkkbl trtno leszabssal elgtheto ki.

(a) Kt auttpust gyrtanak hrom termelozemben, s


ezekre hrom fogyaszti helyen van igny.

3. A DantzigWolfe dekompozcis mdszer alkalmazsval oldjuk meg a kvetkezo LP feladatot:

(c) Adott a gyrtkapacits minden zem esetn (minden auttpusra).

(b) Adott az elolltsi kltsg minden auttpus s


zem esetn, tovbb a szlltsi kltsg minden auttpus esetn az sszes zemtol az sszes fogyasztig.

(d) Ki van tovbb ktve, hogy az elso fogyaszt ltal


ignyelt autk szmnak legfeljebb a fele teljestheto az
elso zem termelsbol.

540

9. fejezet A lineris programozs fejlettebb mdszerei

Magyarzzuk el, hogyan alkalmazhat a dekompozci a


vevok ignye kielgtshez szksges sszkltsg minimalizlsnl!
5. Egy cg ktfle termket llt elo (1. termk s 2. termk) kt zemben (1. zem s 2. zem). sszesen 100 ra
termelsi ido ll rendelkezsre mindegyik zemben. A 10.
tblzat minden termk s minden zem esetn az egyegysgnyi termk elolltshoz szksges idomennyisget, a
11. tblzat pedig az egy egysg utni profitot mutatja szintn zemek s termkek szerint. Mindegyik termkbol legfeljebb 35 egysget lehet eladni. A dekompozcis mdszer
alkalmazsval mutassuk meg, hogyan tudja a cg maximalizlni profitjt!

10.

TBLZAT

1. zem
2. zem

11.

1. termk

2. termk

2 ra
3 ra

3 ra
4 ra

TBLZAT

1. zem
2. zem

1. termk

2. termk

8$
10$

6$
8$

Irodalom
Az albbi hrom, klasszikus munknak szmt knyv rszletesen trgyalja nagy mretu LP
feladatok megoldsra szolgl mdszereket:
Beale, E. Mathematical Programming in Practice. Pittman, 1968.
Lasdon, L. Optimization Theory for Large Systems. New York: Macmillan, 1970.
Orchard-Hays, W. Advanced LP Computing Techniques. New York: McGraw-Hill, 1968.
A kvetkezo hrom knyv kivl trgyalst tartalmaz a DantzigWolfe dekompozcis
mdszerrol:
Bradley, S., A. Hax, and T. Magnanti. Applied Mathematical Programming. Reading,
Mass.: Addison-Wesley, 1977.
Chvtal, V. Linear Programming. San Francisco: Freeman, 1983.
Shapiro, J. Mathematical Programming: Structures and Algorithms. New York: Wiley,
1979.
Az albbi kt cikk az oszlopgenerlsi technikt s a leszabsi feladatot trgyalja:
Gilmore, P., and R. Gomory. A Linear Programming Approach to the Cutting Stock Problem, Operations Research 9(1961):849859.
. A Linear Programming Approach to the Cutting Stock Problem: Part II, Operations Research 11(1963):863888.
Ezek a publikcik knnyen rtheto stlusban trgyaljk a Karmarkar-mdszert:
Hooker, J. N. Karmarkars Linear Programming Algorithm, Interfaces 16(no. 4, 1986):
7590.
Murty, K. G. Linear Complementarity, Linear and Nonlinear Programming. Berlin, Germany: Heldermann Verlag, 1989.
Parker, G., and R. Rardin. Discrete Optimization. San Diego: Academic Press, 1988.

10
Nemlineris programozs
o fejezetekben lineris programozsi feladatokkal foglalkoztunk. Egy LP feladat eseAz eloz
tn a cl egy lineris fggvny maximalizlsa vagy minimalizlsa volt lineris felttelek

mellett. Azonban sok rdekes minimalizlsi vagy maximalizlsi feladatban elofordulhat,


hogy a clfggvny nemlineris fggvny, vagy pedig a felttelek valamelyike nemlineris.
Az ilyen optimalizlsi feladatokat nemlineris programozsi (NLP) feladatoknak nevezzk.
Ebben a fejezetben NLP feladatok megoldsra szolgl technikkkal foglalkozunk.

10.1.
D EFINCI

Bevezeto jellegu fogalmak


Egy ltalnos nemlineris programozsi feladat (NLP feladat) a kvetkez o kppen
adhat meg: Keressk azokat az x1 , x2 , . . . , xn dntsi vltozkat, amelyekre
max

(vagy min ) z = f (x1 , x2 . . . , xn )

f.h.

g1 (x1 , x2 , . . . , xn ) (, = vagy ) b1
g2 (x1 , x2 , . . . , xn ) (, = vagy ) b2
..
.

(1)

gm (x1 , x2 , . . . , xn ) (, = vagy ) bm
A lineris programozshoz hasonlan f (x1 , x2 , . . . , xn ) az NLP feladat clfggvnye, s
g1 (x1 , x2 , . . . , xn ) (, = vagy ) b1 , . . . , gm (x1 , x2 , . . . , xn ) (, = vagy ) bm az NLP feladat felttelei. A feltteleket nem tartalmaz NLP feladatokat felttel nlkli NLP feladatoknak nevezzk.
Legyen Rn az sszes olyan (x1 , x2 , . . . , xn ) pontok halmaza, ahol xi vals szm. Teht
1
R a vals szmok halmaza. Az R1 kvetkezo rszhalmazai, amelyeket intervallumoknak
neveznek, megklnbztetett fontossgak:
[a, b] =
[a, b) =
(a, b] =
(a, b) =
[a, ) =
(, b] =

az sszes x, amelyre a x b
az sszes x, amelyre a x < b
az sszes x, amelyre a < x b
az sszes x, amelyre a < x < b
az sszes x, amelyre x a
az sszes x, amelyre x b

542

10. fejezet Nemlineris programozs

A kvetkezo defincik a 3.1. alfejezet LP feladatokra adott definciinak felelnek meg.

D EFINCI

Az (1) NLP feladat lehetsges tartomnya azoknak az (x1 , x2 , . . . , xn ) pontoknak a


halmaza, amelyek eleget tesznek az (1) feladat m felttelnek. A lehetsges tartomny
pontjai a lehetsges pontok (lehetsges megoldsok). A lehetsges tartomnyon kvli pontok a nem lehetsges pontok.
Tegyk fel, hogy (1) egy maximalizlsi feladat.

D EFINCI

A lehetsges tartomny egy olyan x pontja, amelyre f (x)


f (x) teljesl a lehetsges
tartomny brmely x pontja esetn, az NLP feladat egy optimlis megoldsa. (Minimalizlsi feladat esetn x optimlis megolds, ha f (x)
f (x) minden lehetsges
x-re.)
Termszetesen, ha f , g1 , g2 , . . . , gm mindegyike lineris fggvny, akkor (1) egy lineris
programozsi feladat, s szimplex mdszerrel is megoldhat.

Pldk nemlineris programozsi feladatokra


1.

PLDA

Egy cgnek c dollrba kerl egyegysgnyi termk el o lltsa. Ha a cg egysgenknt p dollrrt knln rtkestsre a termket, akkor D(p) egysgre lenne fogyaszti igny. Milyen
rat kell a cgnek megllaptania profitja maximalizlshoz?

Megolds

A cg dntsi vltozja p. Mivel a cg profitja (p c)D(p), a cg a kvetkez o felttel


nlkli maximalizlsi feladatot akarja megoldani: max (p c)D(p).

2.

PLDA

Ha egy cg K egysgnyi to kt s L egysgnyi munkaerot hasznl fel, akkor KL egysgnyi


termket tud elolltani. A toke egy egysge 4$, a munkaero egy egysge pedig 1$ ron
szerezheto be. sszesen 8$ ll rendelkezsre to kre s munkaerore. Hogyan tudja a cg
maximalizlni az elolltand termk mennyisgt?

Megolds

Jellje K s L, hogy hny egysgnyi to kt, illetve hny egysgnyi munkaero t hasznl fel a
cg. Ekkor K s L nyilvn eleget tesz a 4K + L 8, K 0 s L 0 feltteleknek. Teht a
cg a kvetkezo feltteles maximalizlsi feladatot akarja megoldani:
max z = KL
f.h. 4K + L 8
K, L 0

Az NLP s LP feladatok kztti klnbsgek


A 3. fejezetbol tudjuk, hogy tetszoleges LP feladat lehetsges tartomnya konvex halmaz
(azaz, ha A s B az LP feladat lehetsges pontjai, akkor az A s B pontokat sszekt o

10.1. Bevezeto jellegu fogalmak

1. B R A
Egy NLP feladat,
amelynek az
optimlis
megoldsa nem
extremlis pont

543

C
8

max z=KL
f.h. 4K+L8
K , L 0
D optimlis megolds

7
6
5

4
3
2
1

0
B

KL=4
KL=2
KL=1

teljes szakasz minden pontja is lehetsges megolds). Azt is tudjuk, hogy ha egy LP feladatnak van optimlis megoldsa, akkor a lehetsges tartomnynak van olyan extremlis
pontja, amelyik optimlis megolds. Hamarosan ltni fogjuk azonban, hogy ha egy NLP
feladat lehetsges tartomnya konvex halmaz, akkor (az LP feladatoktl eltr o en) az optimlis megolds nem felttlenl az NLP feladat lehetsges tartomnynak extremlis pontja.
Mindez jl szemlltetheto az elozo pldn. Az 1. bra grafikusan mutatja a plda ABC hromszggel hatrolt lehetsges tartomnyt, valamint a KL = 1, KL = 2 s KL = 4 clfggvnyrtkeket ad pontok grbit. Lthatjuk, hogy a plda optimlis megoldsa ott
tallhat, ahol az azonos clfggvnyrtket ad grbe ppen rinti a lehetsges tartomny
hatrt. Teht a plda optimlis megoldsa z = 4, K = 1, L = 4 (a D pont). A D termszetesen nem extremlis pontja az NLP feladat lehetsges tartomnynak. Ennl a pldnl (s
sok ms lineris felttelu NLP feladatnl is) az optimlis megolds azrt nem a lehetsges
tartomny egy extremlis pontja, mert az azonos clfggvnyrtkhez tartoz pontok grbje nem egy egyenes. Valjban egy NLP feladat optimlis megoldsa nem is felttlenl a
lehetsges tartomny hatrn helyezkedik el. Tekintsk pldul a kvetkez o NLP feladatot:
max z = f (x)
f.h. 0 x 1
ahol f (x) a 2. brn lthat. Ennek az NLP feladatnak az optimlis megoldsa z = 1, x = 12 .
Termszetesen x = 21 nem a lehetsges tartomny hatrn tallhat.

544

10. fejezet Nemlineris programozs

2. B R A
Egy NLP feladat,
amelynek az
optimlis
megoldsa nem a
lehetsges
tartomny hatrn
tallhat

z
1
z=f(x)
max f(x)
f.h. 0x1

0
1
2

Loklis szlsortkhely
D EFINCI

Egy maximalizlsi NLP feladat esetn egy x = (x1 , x2 , . . . , xn ) lehetsges pontot loklis maximumnak neveznk, ha van olyan elg kicsi pozitv , hogy f (x) f (x 0 )
brmely olyan x0 = (x01 , x02 , . . . , x0n ) lehetsges pontra, amelyre | xi x0i |< (i =
1, 2, . . . , n) teljesl.
Rviden, az x pont loklis maximum, ha f (x) f (x0 ) minden olyan x0 lehetsges pontra,
amely kzel van x-hez. Hasonlan egy minimalizlsi feladat esetn az x pont loklis minimum, ha f (x) f (x0 ) teljesl minden olyan x0 lehetsges pontra, amely kzel van x-hez.
Az olyan pontot, amely loklis maximum vagy loklis minimum, loklis vagy relatv szlsortkhelynek nevezik.
Egy maximalizlsi LP feladat esetn brmely loklis maximum egyben a feladat optimlis megoldsa is. (Mirt?) ltalnos NLP feladatokra ez azonban mr nem igaz. Tekintsk pldul a kvetkezo NLP feladatot:
max z = f (x)
f.h. 0 x 10
ahol f (x) a 3. brn lthat. Az A, B s C pontok mind loklis maximumok, de a C pont az
NLP feladat egyetlen optimlis megoldsa.
A lineris programozstl eltroen, a nemlineris programozsban nem mindig teljesl
az arnyossgi s az additivitsi feltevs. Pldul, ha a 2. pldban eggyel nveljk L rtkt, z rtke K-val no. Teht L nvelsnek hatsa z-re fgg K-tl. Ez jelenti, hogy nem
teljesl az additivitsi feltevs. A
max z = x1/3 + y1/3
f.h. x + y = 1
x, y 0

feladat nem tesz eleget az arnyossgi feltevsnek, mivel x rtknek megktszerezse nem
ktszerezi meg x clfggvnyhez val hozzjrulst.

10.1. Bevezeto jellegu fogalmak

545

3. B R A
Egy loklis
maximum nem
felttlenl az NLP
feladat optimlis
megoldsa

Tovbbi pldk NLP feladatokra


Hrom tovbbi pldt mutatunk be feladatok nemlineris programozsi alakban val megfogalmazsra.

3.

1.

PLDA

Az Oilco cg hromfajta motorbenzint llt elo : norml, lommentes s szuper tpust.


Mindhrom termket Alaszkbl s Texasbl vsrolt nyersolajbl, illetve lombl lltjk
elo. A kntartalomra s az oktnszmra vonatkoz elo rsok, a napi minimlis igny (literben) s egy liter eladsi ra az 1. tblzatban van megadva a motorbenzin minden tpusra.
Az Alaszkbl hozott nyersolaj ktfle, Alaszka1 s Alaszka2 tpus nyersolaj keverkbol ll elo. Az Alaszka nyersolajat Alaszkban keverik ssze, s cso vezetken szlltjk
az Oilco Texasban lvo finomtjba. Naponta legfeljebb 10 000 liter nyersolaj szllthat
Alaszkbl. Az Alaszkbl s Texasbl szrmaz nyersolaj minden tpusra, valamint az
lomra vonatkozan a 2. tblzatban van megadva a kntartalom, az oktnszm, a rendelkezsre ll napi mennyisg (literben) s a beszerzsi r (literenknt). Termszetesen az
lommentes benzin nem tartalmazhat lmot. rjunk fel egy NLP feladatot, amely segtsgvel az Oilco maximalizlni tudja a motorbenzin eladsbl szrmaz napi nyeresgt! 1

TBLZAT

A benzin tpusa
Norml
lommentes
Szuper
2.

TBLZAT

Az sszetevo
tpusa
Alaszka1
Alaszka2
Texas
lom
1 Haverly

Kntartalom (%)

Oktnszm

Minimlis
napi igny

Eladsi
r ($)

3
3
2.8

90
88
94

5000
5000
5000

.86
.93
1.06

Kntartalom (%)
4
1
2
0

(1978) cikkre tmaszkodva.

Oktnszm
91
97
83
800

Rendelkezsre
ll mennyisg
Nincs korlt
Nincs korlt
11 000
6 000

r ($)
(literenknt)
.78
.88
.75
1.30

546

10. fejezet Nemlineris programozs

Megolds

Vezessk be a kvetkezo vltozkat:


R
U
P
A1
A2
T
L
SA
OA
A
LP
TP
AP
TU

=
=
=
=
=
=
=
=
=
=
=
=
=
=

AU =
AR =
TR =
LR =

a normlbenzinbol naponta elolltott mennyisg (liter)


az lommentes benzinbol naponta elolltott mennyisg (liter)
a szuperbenzinbol naponta elolltott mennyisg (liter)
az Alaszka1 nyersolajbl naponta vsrolt mennyisg (liter)
az Alaszka2 nyersolajbl naponta vsrolt mennyisg (liter)
a Texas nyersolajbl naponta vsrolt mennyisg (liter)
az lombl naponta vsrolt mennyisg (liter)
az Alaszkbl vsrolt nyersolaj kntartalma
az Alaszkbl vsrolt nyersolaj oktnszma
az Alaszkbl vsrolt nyersolaj mennyisge sszesen (liter)
a szuperbenzin gyrtshoz naponta felhasznlt lom mennyisge (liter)
a szuperbenzin gyrtshoz naponta felhasznlt Texas nyersolaj mennyisge (liter)
a szuperbenzin gyrtshoz naponta felhasznlt Alaszka nyersolaj mennyisge (liter)
az lommentes benzin gyrtshoz naponta felhasznlt Texas nyersolaj mennyisge
(liter)
az lommentes benzin gyrtshoz naponta felhasznlt Alaszka nyersolaj mennyisge (liter)
a normlbenzin gyrtshoz naponta felhasznlt Alaszka nyersolaj mennyisge (liter)
a normlbenzin gyrtshoz naponta felhasznlt Texas nyersolaj mennyisge (liter)
a normlbenzin gyrtshoz naponta felhasznlt lom mennyisge (liter)

Az optimalizlsi feladat a kvetkezo kppen rhat fel:


1:
2:
3:
4:
5:
6:
7:
8:
9:
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :

max 86 R + 93 U + 106 P 78 A1 88 A2 75 T 130 L


f.h. A 10 000
T 11 000
L 6000
R 5000
U 5000
P 5000
SA = (.04 A1 + .01 A2)/A
OA = (91 A1 + 97 A2)/A
A = A1 + A2
P = LP + T P + AP
R = LR + T R + AR
U = TU + AU
L = LP + LR
A = AP + AU + AR
T = T P + TU + T R
(AR OA + 83 TR + 800 LR)/R 90
(AP OA + 83 TP + 800 LP)/P 94
(AU OA + TU 83)/U 88
(SA AR + .02 TR)/R .03
(SA AP + .02 TP)/P .028
(SA AU + .02 TU)/U .03

10.1. Bevezeto jellegu fogalmak

23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :

547

LP 0
TP 0
AP 0
TU 0
AU 0
LR 0
TR 0
AR 0

A clfggvny a napi bevtelek (86 R + 93 U + 106 P) sszegnek s az alapanyagok


vsrlsra fordtott (78 A1 + 88 A2 + 75 T + 130 L) napi sszeg klnbsgt maximalizlja. A 24. sorok azt rjk le, hogy egyetlen input mennyisge sem haladhatja meg a
naponta rendelkezsre ll mennyisget. Az 57. sorok biztostjk, hogy minden benzintpusbl ki lesz elgtve a minimlis fogyaszti igny.
Az Alaszka nyersolaj szzalkos kntartalma (tizedes alakban) az egyes Alaszka tpusokbl vsrolt mennyisgek fggvnyben van kifejezve a 8. sorban. Hasonlan az
Alaszka nyersolaj oktnszma az egyes Alaszka tpusokbl vsrolt mennyisgek fggvnyben van megadva a 9. sorban. A 10. sor az Alaszka nyersolajbl beszerzett mennyisget
az Alaszka1 s Alaszka2 tpusokbl beszerzett mennyisgek sszegeknt hatrozza meg.
A 11. sor a szuperbenzinbol elolltott mennyisget az lom, a Texas s az Alaszka nyersolajsszetevok mennyisgeinek sszegeknt adja meg. A 12. sor az el o zo megfeleloje a
normlbenzin esetre. A 13. sorban az lommentes benzinnl csak a nyersolajmennyisgek
addnak ssze. A 1416. sorok azt az sszefggst rjk le, hogy a beszerzett sszetev o ket
teljes mennyisgben felhasznljk a termels folyamn az sszes lmot felhasznljk a
szuper- vagy a normlbenzin gyrtsnl; az sszes Alaszka nyersolaj s az sszes Texas
nyersolajat is felhasznljk a szuper-, az lommentes vagy a normlbenzin gyrtsnl.
A 17. sorban azt kveteljk meg, hogy a normlbenzin el o lltshoz hasznlt sszetevok oktnszmnak slyozott tlaga legalbb 90 legyen. Vegyk szre, hogy az AR OA
kifejezs miatt ez nem egy lineris felttel. Hasonlan a 18. sor (amely szintn nemlineris
felttel) azt biztostja, hogy a szuperbenzin elo lltshoz hasznlt sszetevok oktnszmnak slyozott tlaga legalbb 94, a 19. sor pedig azt (jbl nemlineris felttel), hogy az
lommentes benzin legalbb 88.
A 20. sor (amely az SA AR kifejezs miatt nemlineris felttel) azt rja elo , hogy a
normlbenzin kntartalma legfeljebb 3% lehet. A 21. sor szerint a szuperbenzin kntartalma
legfeljebb 2.8% lehet, a 22. sor szerint pedig az lommentes benzin legfeljebb 3%.
Brmely termkhez felhasznlt brmely sszetevo mennyisge nyilvn nemnegatv, ez
van a 2330. sorokban kiktve.
Ha megoldjuk a feladatot (pldul megfelelo programcsomag segtsgvel), a kvetkezo optimlis megoldst kapjuk. A profit 4432.37$ (a clfggvny centekben volt megadva), amely gy ll elo, hogy a normlbenzinbol 5000 litert termelnek (13.76 liter lom,
2932.71 liter Alaszka s 2053.53 liter Texas nyersolaj felhasznlsval), az lommentes
benzinbol 5000 litert termelnek (2916.67 liter Alaszka s 2083.33 liter Texas nyersolaj felhasznlsval), s a szuperbenzinbo l 11 134.97 litert termelnek (121.21 liter lom, 6863.14
liter Texas s 4150.62 liter Alaszka nyersolaj felhasznlsval). A felhasznlt 10 000 liter
Alaszka nyersolaj 90.48% Alaszka1 s 9.52% Alaszka2 nyersolaj keverke.
M EGJEGYZS

A Texaco cg a benzintermkek termelsnek optimalizlsra szolgl nemlineris keversi modellel vente legalbb 30 milli dollrt takart meg. Lsd a Dewitt et al. (1989) publikcit a rszletekro l.

548

10. fejezet Nemlineris programozs

4.

3.

PLDA

TBLZAT

Megolds

A Truckco cg azt prblja meghatrozni, hova teleptsen egy ruraktrt. A cg ngy vsrljnak a pozcija az xy skon (kilomterben), valamint az egyes vsrlkhoz trtn o
szlltsok venknti szma a 3. tblzatban van megadva. A Truckco gy akarja meghatrozni az ruraktr helyt, hogy az az ssztvolsg, amit a kamionok az ruraktrtl a ngy
vsrlhoz vente megtesznek, minimlis legyen.
Vsrl
1
2
3
4

X-koordinta
5
10
0
12

Legyen

Y-koordinta
10
5
12
0

Szlltsok szma
200
150
200
300

X = az ruraktr x-koordintja
Y = az ruraktr y-koordintja
Di = tvolsg az i-edik vsrltl az ruraktrig.

A megfelelo NLP feladat a kvetkezokppen rhat fel:


1:
2:
3:
4:
5:

min 200 D1 + 150 D2 + 200 D3 + 300 D4


f.h. D1 = ((X 5)2 + (Y 10)2)

D2 = ((X 10)2 + (Y 5)2 )


D3 = (X 2 + (Y 12)2 )

D4 = ((X 12)2 +Y 2 )

0.5

0.5

0.5

0.5

A clfggvny azt az ssztvolsgot minimalizlja, amit a kamionok az ruraktrtl a ngy


vsrlig vente megtesznek. A 25. sorok az egyes vsrlknak az ruraktrtl val tvolsgt fejezik ki az ruraktr koordintinak segtsgvel. A feladatot programcsomaggal
megoldva azt kapjuk, hogy az ruraktrt az X = 9.31 s Y = 5.03 koordintj pontba kell
elhelyezni. A kamionok vente sszesen 5456.54 kilomtert tesznek meg az ruraktrtl a
vsrlkig.

5.
4.

PLDA

Firerock cg autgumit gyrt nyersgumi, olaj s korom felhasznlsval. Az egyes alkotelemek ra a 4. tblzatban van megadva, centben kilnknt.

TBLZAT

Nyersgumi
Olaj
Korom

r
(cent/kg)
4
1
7

Az autgumi kemnysgi rtke 25 s 35 kztt kell hogy legyen. A rugalmassgi rtk


legalbb 16, a hzerossgi rtk pedig legalbb 12 kell hogy legyen. Egy ngy gumiabroncsbl ll kszlet elolltshoz 100 kg sly gumitermkre van szksg. A ngy
abroncshoz szksges guminak 25 s 60 kg kztti nyersgumit s legalbb 50 kg sly
kormot kell tartalmaznia. Legyen

10.1. Bevezeto jellegu fogalmak

549

R = a nyersgumi mennyisge a ngy abroncs elo lltshoz szksges keverkben (kg)


O = az olaj mennyisge a ngy abroncs elo lltshoz szksges keverkben (kg)
C = a korom mennyisge a ngy abroncs elo lltshoz szksges keverkben (kg)
Statisztikai vizsglatokkal kimutattk, hogy a nyersgumi, az olaj s a korom 100 kg sly
keverknek kemnysgi, rugalmassgi s hzero rtkei a kvetkezokppen alakulnak:
hzero = 12.5 .10(O) .001(O)2

rugalmassg = 17 + .35R .04(O) .002(R)2


kemnysg = 34 + .10R + .06(O) .3(C) + .001(R)(O) + .005(O) 2 + .001C2

rjunk fel egy NLP feladatot, amelynek megoldsa megmondja a Firerock cgnek, hogyan
minimalizlhatja az egy autabroncs-kszlethez szksges gumi el o lltsnak kltsgt!2
Megolds

Legyen
T S = a keverk hzereje
E = a keverk rugalmassga
H = a keverk kemnysge
A feladat a kvetkezokppen rhat fel:
1 : min 4 R + O + 7 C

2 : f.h. T S = 12.5 .10 O .001 O2


3:
E = 17 + .35 R .04 O .002 R2
4:
5:

H = 34 + .10 R + .06 O .3 C+ .001 R O + .005 O2 + .001 C2


R + O +C = 100

6:

R 25

7:
8:
9:
10 :
11 :
12 :
13 :

R 60
O0

C 50
T S 12
E 16
H 25

H 35

Az 1. sor a gumitermk elolltshoz szksges kltsget minimalizlja. A 24. sorok


a hzerot, a rugalmassgot s a kemnysget fejezik ki a keverk sszetev o inek fggvnyben. Megfigyelhetjk, hogy a hzero , a rugalmassg s a kemnysg mindegyike R,
O s C nemlineris fggvnye. Az 5. sor azt kveteli meg, hogy 100 kg sly sszetev o t
keverjnk ssze a vgso gumitermk elolltshoz. A 613. sorok als- s felso korlt felttelek, amelyek azt biztostjk, hogy a keverk megfelelo mennyisget tartalmaz minden
sszetevobol, tovbb a hzero, a rugalmassg s a kemnysg rtke is megfelelo lesz.
A feladatot programcsomaggal megoldva azt kapjuk, hogy 45.23 kg nyersgumit, 4.77 kg
olajat s 50 kg kormot kell sszekeverni. A 100 kg sly keverk sszkltsge 5.36$.
A 10.8. alfejezetben majd visszatrnk annak a megtrgyalsra, hogy ez a megolds
optimlis-e.
2A

plda a Nicholson (1971) knyvre tmaszkodik.

550

10. fejezet Nemlineris programozs

Feladatok
A csoport
1. A Q & H cg szappanoperk s futballmrkozsek
kzben reklmoztat. Egy reklm egyszeri leadsnak kltsge szappanopera kzben 50 000$, futballmrkozs kzben 100 000$. Ha a nzoszmot millikban adjuk meg, akkor S szm szappanopera
kzbeni

hirdets megvsrlsa
esetn a reklmot 5 S frfi s 20 S no fogja ltni. Ha F
szm futballmrk
ozs kzbeni
hirdetst vsrolnak, akkor
a reklmot 17 F frfi s 7 F no fogja ltni. A Q & H azt
akarja, hogy a reklmokat legalbb 40 milli frfi s legalbb 60 milli no lssa.
(a) Fogalmazzunk meg egy NLP feladatot, amely minimalizlja a Q & H kltsgeit a kvnt nzoszm elrse
mellett!
(b) Megsrti-e ez az NLP feladat az arnyossgi s az
additvitsi feltevst?
(c) Most azt tegyk fel, hogy az F szm futballmrkozs s S szm
kzbeni
hirdets ltal elrt

szappanopera
nok szma 7 F + 20 S 0.2 FS. Mirt tekintheto ez
sokkal valszerubb becslsnek a Q & H hirdetsek noi
nzoinek szmra vonatkozan?
2. Egypa, b s c hosszsg oldalakkal adott hromszg
terlete s(s a)(s b)(s c), ahol s a hromszg kerletnek fele. Van egy 60 mter hosszsg kertsnk, s be
akarunk vele kerteni egy hromszg alak terletet. Fogalmazzunk meg egy NLP feladatot a maximlis terletu bekerts meghatrozsra!
3. Ha egy gzt a I kezdo nyomstl az F vgso nyomsig
hrom kzblso fzisban nyomunk ssze, akkor a szksges
energia az albbi kplettel van megadva:
s
(r
)
r
p1
p2
F
K
+
+
3 .
I
p1
p2
Fogalmazzunk meg egy NLP feladatot, ami azt rja le, hogyan lehet minimalizlni a gz sszenyomshoz szksges
energit!
4. Tekintsk a 7. fejezet 6. pldjt. Legyen A = a napok
szma, amivel A idotartama cskken, B = a napok szma,
amivel B idotartama cskken. Tegyk fel, hogy az egyes tevkenysgek idotartamnak cskkentse a kvetkezo kltsgekkel jr:
A:

5A2 ;

B:

20B2 ;

C:

2C2 ;

D:

20D2 ;

E:

10E2 ;

F:

15F2

s hogy brmelyik tevkenysg idotartama akr 0 napra is


cskkentheto, ha gy akarjk. Fogalmazzunk meg egy NLP
feladatot, amely olyan kikts mellett, hogy a projektet 25
napon bell be kell fejezni, minimalizlja a kltsget!

5. A Beerco cg sszesen 100 000 dollrt klthet reklmra ngy klnbzo piacon. Az i-edik piacon xi ezer dollr elkltsvel az 5. tblzatban adott rbevtelek rhetok
el (ezer dollrban).
5.

TBLZAT

rbevtelek
1. piac
2. piac
3. piac
4. piac

10x.4
1
8x.5
2
12x.3
3
6x.6
4

Mennyit kell klteni az egyes piacokon a teljes rbevtel


maximalizlshoz?
6. A Widgetco cg egyetlen termkt kt zemben lltja elo. A termelsi kltsg 20x1/2 , ha x egysget lltanak
elo az 1. zemben, s 40x1/3 , ha ugyanezt a 2. zemben lltjk elo. Mindkt zem legfeljebb 70 egysgnyi termket
tud gyrtani. A termk egy egysgt 10 dollrrt tudjk eladni, viszont legfeljebb 120 egysget lehet rtkesteni. Fogalmazzunk meg egy NLP feladatot, amely segtsgvel a
Widgetco maximalizlni tudja a profitjt!
7. Egy egyenlo oldal hromszg cscsaiban hrom vros helyezkedik el. Egy reploteret kell pteni egy olyan
helyen, ahonnan a hrom vroshoz val tvolsgok sszege
minimlis. Fogalmazzunk meg egy NLP feladatot, amelynek megoldsa megadja, hova ptsk a reploteret1
8. Egy kmiai folyamat hozama fgg egyrszt a folyamat
lezajlsnak T idotartamtl (percekben megadva), msrszt a folyamat TEMP muveleti homrsklettol (Celsiusfokban megadva). Az sszefggst a kvetkezo egyenlet rja
le:
YIELD = 87 1.4T 0 + .4TEMP0 2.2T 02

3.2TEMP02 4.9(T 0 )(TEMP0 ),

ahol T 0 = (T 90)/10 s TEMP0 = (TEMP 150)/5. A T


rtke 60 s 120 perc, mg a TEMP rtke 100 s 200 fok
kztt kell hogy legyen. rjunk fel egy NLP feladatot, amely
a folyamat hozamnak maximalizlsra hasznlhat!

B csoport
9. Tekintsk a 3.8. alfejezet 5. feladatt a kvetkezo mdostssal: Tegyk fel, hogy egy Superquality (SQ) nevu kmiai anyagot adhatunk a gzolajhoz s a futoolajhoz a minosg szintjnek nvelse cljbl. Ha x mennyisget adunk
az SQ-bl minden hord gzolajhoz, akkor annak minosgi szintje az eredetihez kpest x.5 egysggel no. Ha x

10.2. Konvex s konkv fggvnyek


mennyisgu SQ-t adunk minden hord futoolajhoz, akkor
a minosgi szint nvekedse .6x.6 lesz. A futoolajhoz adott
SQ mennyisge nem haladhatja meg a futoolaj elolltsra
hasznlt olaj slynak 5%-t. Hasonlan a gzolajhoz adott
SQ mennyisge nem haladhatja meg a gzolaj elolltsra
hasznlt olaj slynak 5%-t. Az SQ kilnknt 20 dollrrt szerezheto be. Fogalmazzunk meg egy NLP feladatot,
amely segti Adam Chandler gyvezeto igazgatt a profit
maximalizlsban.
10. A Fuller Brush cg gynke elott hrom vlasztsi lehetosg ll: otthagyja a cget, kevs igyekezettel folytatja
a munkt, vagy pedig nagy igyekezettel folytatja a munkt.
Az egyszerusg kedvrt tegyk fel, hogy minden gynk 0,
5000 vagy 50 000 dollr rtku keft tud eladni. Az eladott
mennyisg fgg az erofeszts szintjtol, de a vletlentol is.
A megfelelo valsznusgi rtkek a 6. tblzatban vannak
megadva.
Ha egy gynk w dollr jvedelemhez jut, az szmra w1/2
egysgnyi hasznot jelent. Az gynk alacsony szintu erofeszts esetn 0, mg magas szintu erofeszts esetn 50 egysgnyi hasznot ldoz fel. Ha az gynk elhagyn a Fuller cget, s mshol dolgozna, az szmra 20 egysgnyi hasznot
eredmnyezne. A Fuller arra akarja sztnzni gynkeit,
hogy teljes igyekezettel dolgozzanak. A krds az, miknt

10.2.

551

tudja ezt minimlis kltsggel megtenni. A cg kzvetlenl


nem tudja szlelni egy adott gynk igyekezetnek a szintjt (s a teljestmnye a vletlenen is mlik), de kzvetlenl
szleli az eladott mennyisgeket. Ezrt a fizets teljesen az
eladott mennyisgtol fgg. A Fullernak a kvetkezo fizetsi
kategrikat kell meghatroznia: w0 = fizets 0 dollr rtku
elads esetn, w5000 = fizets 5000 dollr rtku elads esetn, s w50 000 = fizets 50 000 dollr rtku elads esetn.
Ezeket a fizetseket gy kell kialaktani, hogy az gynkk
a magas szintu erofesztssel jr haszon vrhat rtkt
tbbre rtkeljk, mint a felmonds vagy az alacsony szintu
igyekezet esetn vrhat hasznot. Fogalmazzunk meg egy
NLP feladatot, amely segtsgvel minden gynkt magas
szintu erofesztsre lehet sztnzni. Ez a feladat egybknt
az gynkelmlet egy pldja.3
6.

TBLZAT

Eladott mennyisg
0$
5000$
50 000$

Az erofeszts szintje
Alacsony
Magas
.6
.3
.1

.3
.2
.5

Konvex s konkv fggvnyek


A konvex s a konkv fggvnyek klnsen fontos szerepet jtszanak a nemlineris programozsi feladatok tanulmnyozsban.
Legyen f (x1 , x2 , . . . , xn ) egy S konvex halmaz sszes (x1 , x2 , . . . , xn ) pontjn rtelmezett
fggvny.4

D EFINCI

Az f (x1 , x2 , . . . , xn ) konvex fggvny az S konvex halmazon, ha brmely x0 S,


x00 S s 0 c 1 esetn
f (cx + (1 c)x00) c f (x0 ) + (1 c) f (x00)

(2)

teljesl.

D EFINCI

Az f (x1 , x2 , . . . , xn ) konkv fggvny az S konvex halmazon, ha brmely x0 S,


x00 S s 0 c 1 esetn
f (cx0 + (1 c)x00) c f (x0 ) + (1 c) f (x00)

(3)

teljesl.
3A

Grossman s Hart (1983) cikkre tmaszkodva.


3. fejezetbol tudjuk, hogy az S halmaz konvex, ha brmely x0 S s x00 S esetn az x0 s x00 pontokat
sszekto szakasz minden pontja S-ben van. Ez biztostja, hogy cx0 + (1 c)x00 is az S eleme.
4A

552

10. fejezet Nemlineris programozs

A (2) s (3) egyenlotlensgekbol lthat, hogy f (x1 , x2 , . . . , xn ) pontosan akkor konvex


fggvny, ha f (x1 , x2 , . . . , xn ) konkv fggvny, s fordtva.
Hogy jobban megrtsk ezeket a defincikat, vegynk egy f (x) egyvltozs fggvnyt.
A 4. brrl s a (2) egyenlotlensgbol is lthat, hogy f (x) pontosan akkor konvex, ha az
y = f (x) grbe brmely kt pontjt sszekto szakasz sehol nem halad az y = f (x) grbe
alatt. Hasonlan az 5. brrl s a (3) egyenlo tlensgbol az ltszik, hogy f (x) pontosan
akkor konkv, ha az y = f (x) grbe brmely kt pontjt sszekt o szakasz sehol nem halad
az y = f (x) grbe felett.
4. B R A
Egy konvex
fggvny

Az brn:

5. B R A
Egy konkv
fggvny

Az brn:

6.

PLDA

Az f (x) = x2 s f (x) = ex konvex fggvnyek, az x 0 pontok halmazn pedig f (x) = x 1/2


konkv fggvny. Ez a 6. brn is knnyen lthat.

10.2. Konvex s konkv fggvnyek

553

6. B R A
Pldk konvex s
konkv
fggvnyekre

(a) Konvex

(b) Konvex

(c) Konkv

7.

PLDA

Megmutathat (lsd a 12. feladatot a fejezet vgn), hogy kt konvex fggvny sszege is
konvex, illetve kt konkv fggvny sszege is konkv. Teht az f (x) = x 2 + ex fggvny
konvex.

8.

PLDA

A 7. brn az AB szakasz az y = f (x) grbe alatt, a BC szakasz pedig az y = f (x) grbe


felett fekszik, gy az f (x) fggvny se nem konvex, se nem konkv.

7. B R A
Egy fggvny,
amely se nem
konvex, se nem
konkv

554

10. fejezet Nemlineris programozs

9.

PLDA

Az f (x) = ax + b alak lineris fggvny konvex is s konkv is. Ez abbl kvetkezik,


hogy
f (cx0 + (1 c)x00) = a[cx0 + (1 c)x00] + b
= c(ax0 + b) + (1 c)(ax00 + b)
= c f (x0 ) + (1 c) f (x00)

Mivel (2) s (3) is egyenlosggel teljesl, az f (x) = ax + b egyszerre konvex s konkv


fggvny.
Mielott megvizsglnnk, miknt lehet meghatrozni, hogy vajon egy adott fggvny
konvex vagy konkv, bebizonytunk egy olyan lltst, amely jl jellemzi a konvex s konkv fggvnyek fontossgt.

1. TTEL

Bizonyts

Tekintsk az (1) NLP feladatot, s legyen az egy maximalizlsi feladat. Tegyk fel,
hogy az (1) NLP feladat S lehetsges tartomnya konvex halmaz. Ha f (x) egy konkv
fggvny az S halmazon, akkor az (1) tetszo leges loklis maximuma egyben az (1)
NLP feladat optimlis megoldsa is.
Ha az 1. ttel nem lenne igaz, akkor ltezne olyan x loklis maximum, ami nem
optimlis megoldsa az (1) NLP feladatnak. Legyen S az (1) lehetsges tartomnya
(feltettk, hogy S konvex halmaz). Ekkor van olyan x S, hogy f (x) > f (x)
. A (3)
egyenlotlensgbol addik, hogy brmely olyan c esetn, amelyre 0 < c < 1, fennll
f (cx + (1 c)x) c f (x)
+ (1 c) f (x)
> c f (x)
+ (1 c) f (x)

(mivel f (x) > f (x))

= f (x)

szrevehetjk, hogy ha c tart 1-hez, akkor cx + (1 c)x megengedett (mivel S konvex), s tart az x-hoz.

Teht x nem lehet loklis maximum. Az ellentmonds egyben


az 1. ttelt is bizonytja.
Hasonl megfontolssal lehet bizonytani az 10 . ttelt is (lsd a 11. feladatot a fejezet
vgn).

10 . TTEL

Tekintsk az (1) NLP feladatot, s legyen az egy minimalizlsi feladat. Tegyk fel,
hogy az (1) NLP feladat S lehetsges tartomnya konvex halmaz. Ha f (x) egy konvex
fggvny az S halmazon, akkor az (1) tetszo leges loklis minimuma egyben az (1)
NLP feladat optimlis megoldsa is.
Az 1. s 10 . ttel azt bizonytja, hogy amennyiben konkv fggvnyt maximalizlunk
(vagy konvex fggvnyt minimalizlunk) egy S konvex tartomny felett, akkor tetsz o leges loklis maximum (vagy loklis minimum) megoldja az (1) feladatot. NLP feladatok
megoldsakor tbbszr is alkalmazni fogjuk majd az 1. s 1 0 . ttelt.
Most megvizsgljuk, miknt lehet egy f (x) egyvltozs fggvnyr o l eldnteni, hogy
esetleg konvex vagy konkv. Tudjuk, ha f (x) egy egyvltozs konvex fggvny, akkor az
y = f (x) grbe brmely kt pontjt sszekto szakasz nem megy be az y = f (x) grbe al.

10.2. Konvex s konkv fggvnyek

555

A 4. brn az is ltszik, hogy konvex f (x) fggvny esetn f (x) meredeksge monoton
nemcskkeno az x pontok halmazn.

2. TTEL

Tegyk fel, hogy ltezik f 00 (x) az S konvex halmaz minden x pontjban. Ekkor f (x)
pontosan akkor konvex az S-en, ha f 00 (x) 0 az S minden x pontja esetn.
Mivel f (x) akkor s csak akkor konvex, ha f (x) konkv, a 2 0 . ttel szintn igaz.

20 . TTEL

10.

Tegyk fel, hogy ltezik f 00 (x) az S konvex halmaz minden x pontjban. Ekkor f (x)
pontosan akkor konkv az S-en, ha f 00 (x) 0 az S minden x pontja esetn.

PLDA

1.

Mutassuk meg, hogy az f (x) = x2 fggvny konvex az S = R1 halmazon!

2.

Mutassuk meg, hogy az f (x) = ex fggvny konvex az S = R1 halmazon!

3.

Mutassuk meg, hogy az f (x) = x1/2 fggvny konkv az S = (0, ) halmazon!

4. Mutassuk meg, hogy az f (x) = ax + b fggvny konvex s konkv is az S = R 1 halmazon!


Megolds
1.
2.
3.
4.

f 00 (x) = 2 0, ezrt f (x) konvex az S = R1 halmazon.

f 00 (x) = ex 0, ezrt f (x) konvex az S = R1 halmazon.

f 00 (x) = x3/2 /4 0, ezrt f (x) konkv az S(0, ) halmazon.


f 00 (x) = 0, ezrt f (x) konvex s konkv is az S = R1 halmazon.

Miknt lehet meghatrozni, hogy egy n-vltozs f (x1 , x2 , . . . , xn ) fggvny konvex vagy
konkv egy S Rn halmazon? Feltesszk, hogy az f (x1 , x2 , . . . , xn ) msodrendu parcilis
derivltjai folytonosak. Mielott felrnnk azokat a kritriumokat, amelyeket annak meghatrozsra hasznlnak, hogy f (x1 , x2 , . . . , xn ) konvex-e vagy esetleg konkv, szksgnk
van hrom defincira.

D EFINCI

Az f (x1 , x2 , . . . , xn ) fggvny Hesse-mtrixa az az n n-es mtrix, amelynek i j indexu eleme


2 f
xi x j
Jellje H(x1 , x2 , . . . , xn ) a Hesse-mtrix rtkt az (x1 , x2 , . . . , xn ) pontban. Pldul
f (x1 , x2 ) = x31 + 2x1 x2 + x22 esetn
"
#
6x1 2
H(x1 , x2 ) =
2
2

556

10. fejezet Nemlineris programozs

D EFINCI

Egy n n-es mtrix i-edrendu fominora egy olyan i i mretu rszmtrix determinnsa, amelyet ni sor s a hozz tartoz ni oszlop trlsvel nyernk a mtrixbl.
Teht a

"

#
2 1

1 4

mtrix esetn az elsorendu fominorok 2 s 4, a msodrendu fo minor pedig 2(4)


(1)(1) = 7. Brmely mtrix esetn az elso rendu fominorok ppen a mtrix diagonlisnak az elemei.

D EFINCI

Egy n n-es mtrix k-adik sarokfominora annak a k k mretu mtrixnak a determinnsa, amelyet a mtrix utols n k sornak s oszlopnak elhagysval kapunk.
Jellje Hk (x1 , x2 , . . . , xn ) az (x1 , x2 , . . . , xn ) pontban kirtkelt Hesse-mtrix k-adik sarokfominort. Teht f (x1 , x2 ) = x31 + 2x1 x2 + x22 esetn H1 (x1 , x2 ) = 6x1 s H2 (x1 , x2 ) =
6x1 (2) 2(2) = 12x1 4.
A lejjebb, bizonyts nlkl kimondott 3. s 30 . ttel alapjn a Hesse-mtrixot hasznlhatjuk annak eldntsre, hogy f (x1 , x2 , . . . , xn ) konvex vagy konkv (vagy egyik sem) egy
S Rn konvex halmazon. (A 3. s 30 . ttel bizonytsa megtallhat a Bazaraa s Shetty
(1993) knyv 9193. oldaln).

3. TTEL

11.

PLDA

Megolds

Tegyk fel, hogy f (x1 , x2 , . . . , xn ) msodrendu parcilis derivltjai folytonosak minden x = (x1 , x2 , . . . , xn ) S pontban. Ekkor f (x1 , x2 , . . . , xn ) pontosan akkor konvex
az S halmazon, ha brmely x S esetn H sszes fo minora nemnegatv.

Mutassuk meg, hogy f (x1 , x2 ) = x21 + 2x1x2 + x22 konvex az S = R2 halmazon!


Azt kapjuk, hogy
"

#
2 2
H(x1 , x2 ) =
2 2
A Hesse-mtrix elsorendu fominorai a diagonlis elemei (mindketto rtke 2 0). A msodrendu fominor 2(2) 2(2) = 0 0. Mivel brmely pont esetn H sszes f o minora
nemnegatv, ezrt a 3. ttel alapjn az f (x1 , x2 ) konvex az R2 -en.

30 . TTEL

Tegyk fel, hogy f (x1 , x2 , . . . , xn ) msodrendu parcilis derivltjai folytonosak minden x = (x1 , x2 , . . . , xn ) S pontban. Ekkor f (x1 , x2 , . . . , xn ) pontosan akkor konkv az
S halmazon, ha brmely x S s k = 1, 2, . . . , n esetn H sszes k-adrendu nemnulla
fominornak elojele azonos (1)k elojelvel.

10.2. Konvex s konkv fggvnyek

12.

PLDA

Megolds

557

Mutassuk meg, hogy az f (x1 , x2 ) = x21 x1 x2 2x22 fggvny konkv R2 -en!


Azt kapjuk, hogy

"

#
2 1
H(x1 , x2 ) =
1 4

Az elsorendu fominorok a Hesse-mtrix diagonlisnak elemei, azaz 2 s 4. Mindkett o


nempozitv. A msodrendu fominor a H(x1 , x2 ) determinnsa, azaz 2(4) (1)(1) =
7 > 0. Teht f (x1 , x2 ) konkv fggvny az R2 -en.

13.

PLDA

Megolds

Mutassuk meg, hogy S = R2 esetn az f (x1 , x2 ) = x21 3x1 x2 + 2x22 nem konvex s nem
konkv fggvny!
Azt kapjuk, hogy
H(x1 , x2 ) =

"

#
2 3

A Hesse-mtrix elsorendu fominorai 2 s 4. Mivel mindkt elso rendu fominor pozitv,


f (x1 , x2 ) nem lehet konkv. A msodrendu fo minor 2(4) (3)(3) = 1 < 0. Teht
f (x1 , x2 ) nem lehet konvex. Ezek egytt azt mutatjk, hogy az f (x1 , x2 ) fggvny se nem
konvex, se nem konkv.

14.

PLDA

Megolds

Mutassuk meg, hogy S = R3 esetn f (x1 , x2 , x3 ) = x21 + x22 + 2x23 x1 x2 x2 x3 x1 x3 egy


konvex fggvny!
Az albbi Hesse-mtrixot kapjuk:

2 1 1

H(x1 , x2 , x3 ) = 1
2 1
1 1
4

A Hesse-mtrix 1. s 2. sort (s oszlopt) trlve a 4 > 0 elso rendu fominort kapjuk.


A Hesse-mtrix 1. s 3. sort (s oszlopt) trlve a 2 > 0 elso rendu fominorhoz jutunk.
A Hesse-mtrix 2. s 3. sort (s oszlopt) trlve pedig a 2 > 0 els o rendu fominort kapjuk.
A Hesse mtrix 1. sornak s 1. oszlopnak trlsvel a
"
#
2 1
det
=7>0
1
4

msodrendu fominor addik.


A Hesse-mtrix 2. sornak s 2. oszlopt trlve a
"
#
2 1
det
=7>0
1
4

msodrendu fominorhoz jutunk.


A Hesse mtrix 3. sornak s 3. oszlopnak trlsvel a
"
#
2 1
det
=3>0
1
2

msodrendu fominort kapjuk.

558

10. fejezet Nemlineris programozs

A harmadrendu fominor egyszeruen magnak a Hesse-mtrixnak a determinnsa. A determinnst az elso sor szerint kifejtve a
2[(2)(4) (1)(1)] (1)[(1)(4) (1)(1)]
+(1)[(1)(1) (1)(2)] = 14 5 3 = 6 > 0

harmadrendu fominor addik.


Mivel brmely (x1 , x2 , x3 ) esetn a Hesse-mtrix minden fominora nemnegatv, megmutattuk, hogy f (x1 , x2 , x3 ) konvex fggvny az R3 halmazon.

Feladatok
A csoport
A kvetkezo fggvnyek mindegyikrol dntsk el, hogy az
adott S halmazon konvex, konkv, vagy egyik sem.
1. f (x) = x3 ; S = [0, )

13. Ha f (x1 , x2 , . . . , xn ) konvex fggvny az S halmazon,


akkor mutassuk meg, hogy c 0 esetn a g(x1 , x2 , . . . , xn ) =
c f (x1 , x2 , . . . , xn ) fggvny konvex az S-en, c 0 esetn pedig g(x1 , x2 , . . . , xn ) = c f (x1 , x2 , . . . , xn ) konkv az S-en!
14. Mutassuk meg, hogy ha az y = f (x) konkv fggvny
1 konvex fggvny (feltesszk, hogy
R1 -en, akkor a z = f (x)
f (x) > 0)!

2. f (x) = x3 ; S = R1
3. f (x) = 1x ; S = (0, )
4. f (x) = xa (0 a 1); S = (0, )

15. Az f (x1 , x2 , . . . , xn ) fggvny kvzikonkv az S Rn


konvex halmazon, ha brmely x0 S, x00 S s 0 c 1
esetn

6. f (x1 , x2 ) = x31 + 3x1 x2 + x22 ; S = R2

f (cx0 + (1 c)x00 ) min { f (x0 ), f (x00 )}.

5. f (x) = ln x; S = (0, )
7.
8.
9.

f (x1 , x2 ) = x21 + x22 ; S = R2


f (x1 , x2 ) = x21 x1 x2 2x22 ; S = R2
f (x1 , x2 , x3 ) = x21 x22 2x23 + .5x1 x2 ;

S = R3

10. Az a, b s c milyen rtkei esetn lesz az ax21 + bx1 x2 +


cx22 konvex fggvny az R2 -en? Mikor lesz konkv az R2 en?

B csoport

Mutassuk meg, hogy ha f konkv R1 -en, akkor f kvzikonkv is! A 8. bra fggvnyei kzl melyik kvzikonkv?
Egy kvzikonkv fggvny szksgszeruen konkv is?
16. A 12. feladatbl kvetkezik, hogy konkv fggvnyek
sszege is konkv. Kvzikonkv fggvnyek sszege is felttlenl kvzikonkv?
17. Tegyk fel, hogy egy fggvny Hesse-mtrixnak diagonlisban pozitv s negatv elem is van. Mutassuk meg,
hogy a fggvny nem lehet sem konvex, sem konkv!

11. Bizonytsuk be az 10 . ttelt!

18. Mutassuk meg, hogy ha f (x) egy nemnegatv, nvekvo


konkv fggvny, akkor ln( f (x)) konkv fggvny!

12. Mutassuk meg, hogy ha f (x1 , x2 , . . . , xn ) s


g(x1 , x2 , . . . , xn ) konvex fggvny az S konvex halmazon,
akkor h(x1 , x2 , . . . , xn ) = f (x1 , x2 , . . . , xn ) + g(x1 , x2 , . . . , xn )
is konvex fggvny az S halmazon!

19. Mutassuk meg, hogy ha az f (x1 , x2 , . . . , xn ) fggvny


kvzikonkv az S konvex halmazon, akkor brmely a szm
esetn az f (x1 , x2 , . . . , xn ) a egyenlotlensgnek eleget tevo
pontok Sa halmaza konvex!

8.

BRA

10.3. Egyvltozs NLP feladatok megoldsa


20. Mutassuk meg, hogy az 1. ttel nem igaz, ha f kvzikonkv fggvny!

23. Legyen Z egy N(0, 1) standard normlis eloszls, s legyen F(x) a Z eloszlsfggvnye. Mutassuk meg, hogy az
S = (, 0] halmazon F(x) egy nvekvo konvex fggvny,
az S = [0, ) halmazon pedig nvekvo konkv fggvny!

21. Tegyk fel, hogy egy NLP feladat felttelei

24. Tekintsk az 5. fejezetben trgyalt Dakota LP feladatot! Legyen v(L, FH,CH) a maximlis bevtel akkor, ha L
ngyzetmternyi faanyag, FH rnyi vgso simtsokra fordthat kapacits, s CH rnyi csmunkra fordthat kapacitsido ll rendelkezsre.

gi (x1 , x2 , . . . , xn ) bi (i = 1, 2, . . . m)
alakak. Mutassuk meg, hogy ha a gi fggvnyek mindegyike konvex, akkor az NLP feladat lehetsges tartomnya
konvex!

(a) Mutassuk meg, hogy v(L, FH,CH) konkv fggvny!

C csoport

(b) Magyarzzuk el azt is, hogy ez az eredmny mirt


azt mutatja, hogy minden egyes hozzadott eroforrs
egysg rtke a rendelkezsre ll eroforrs mennyisgnek nemnvekvo fggvnye!

22. Legyen f (x1 , x2 ) konkv fggvny R2 -en. Mutassuk


meg, hogy brmely a szm esetn az f (x1 , x2 ) a egyenlotlensgnek eleget tevo (x1 , x2 ) pontok halmaza konvex!

10.3.

559

Egyvltozs NLP feladatok megoldsa


Ebben a fejezetben azt trgyaljuk, hogyan lehet
max (vagy min ) f (x)
f.h. x [a, b]

(4)

alak NLP feladatokat megoldani. (Ha b = , akkor a (4) NLP feladat megengedett tartomnya x a, az a = esetben pedig x b.)
A (4) optimlis megoldsnak megkeresshez megkeressk az sszes loklis maximumot (vagy minimumot). Egy olyan pontot, amely loklis maximuma vagy loklis minimuma a (4) feladatnak, loklis szlso rtkhelynek neveznk. A (4) optimlis megoldsa
az a loklis maximum (vagy minimum), amelyik a legnagyobb (vagy legkisebb) f (x) rtkkel rendelkezik. Termszetesen, ha a = vagy b = , lehetsges, hogy (4)-nek nincs
optimlis megoldsa (lsd a 9. brt).
9. B R A
NLP feladatok
optimlis
megolds nlkl

(a) max
f.h. x (_`, b]

(b) min
f.h. x [a, `)

560

10. fejezet Nemlineris programozs

A pontoknak hrom olyan tpusa van, amelyeknl a (4) feladatnak esetleg loklis maximuma vagy minimuma lehet (ezeket a pontokat szlso rtkhely jelltnek vagy kritikus
pontnak is hvjk):
1. eset Azok a pontok, ahol a < x < b s f 0 (x) = 0 (ezeket f (x) stacionrius pontjainak
hvjk).
2. eset Azok a pontok, ahol nem ltezik f 0 (x).
3. eset Az [a, b] intervallum a s b vgpontja.

1. eset: Azok a pontok, ahol a < x < b s f 0 (x) = 0


Tegyk fel, hogy a < x < b, s ltezik f 0 (x0 ). Ha x0 egy loklis maximum vagy loklis
minimum, akkor f 0 (x0 ) = 0. Ez a 10a. s 10b. brn is ltszik. A 10a. brn lthat, hogy
f 0 (x0 ) > 0 esetn van olyan x1 s x2 pont az x0 kzelben, amelyekre f (x1 ) < f (x0 ) s
f (x2 ) > f (x0 ). Teht ha f 0 (x0 ) > 0, akkor x0 nem lehet loklis maximum vagy loklis
minimum. Teljesen hasonlan, a 10b. bra azt mutatja, hogy f 0 (x0 ) < 0 esetn x0 nem
lehet loklis maximum vagy loklis minimum. A 10c. s 10d. brkrl azonban mr azt
lthatjuk, hogy f 0 (x0 ) = 0 esetn x0 loklis maximum s loklis minimum is lehet. Sajnos
a 10e. bra azt is mutatja, hogy f 0 (x0 ) akkor is lehet nulla, ha x0 nem loklis maximum
s nem loklis minimum. A 10c. brn lthat, hogy ha f 0 (x) pozitvbl negatvba vlt,
amikor thalad az x0 ponton, akkor x0 egy loklis maximum. Teht f 00 (x0 ) < 0 esetn x0
loklis maximum. Hasonlan a 10d. brn azt lthatjuk, hogy ha f 0 (x) negatvbl pozitvba
vlt, amikor thalad az x0 ponton, akkor x0 egy loklis minimum. Teht f 00 (x0 ) > 0 esetn
x0 loklis minimum.

4. TTEL

Ha f 0 (x0 ) = 0 s f 00 (x0 ) < 0, akkor x0 loklis maximum. Ha f 0 (x0 ) = 0 s f 00 (x0 ) > 0,


akkor x0 loklis minimum.
Mi trtnik akkor, ha f 0 (x0 ) = 0 s f 00 (x0 ) = 0 (ez a 10e. bra esete)? Ebben az esetben az
5. ttelt fogjuk felhasznlni annak meghatrozsra, hogy vajon x 0 egy loklos maximum
vagy egy loklis minimum.

5. TTEL

Tegyk fel, hogy f 0 (x0 ) = 0.


1. Ha az elso x0 -ban nem eltuno (nem nulla) derivlt pratlan rendu ( f (3) (x0 ),
f (5) (x0 ) s gy tovbb), akkor x0 nem loklis maximum s nem loklis minimum.
2. Ha az elso x0 -ban nem eltuno derivlt rtke pozitv s a derivlt pros rendu,
akkor x0 egy loklis minimum.
3. Ha az elso x0 -ban nem eltuno derivlt rtke negatv s a derivlt pros rendu,
akkor x0 egy loklis maximum.
A 4. s 5. ttel bizonytst elhagyjuk. (A bizonytsok kzvetlenl megkaphatk, ha
loklis maximum s a loklis minimum defincijt alkalmazzuk az f (x) fggvny x 0 krli
Taylor sorfejtsre.) A 4. ttel az 5. ttel egy specilis esete. Megkrjk az olvast, hogy a
4. s 5. ttelt 13. s 14. feladatknt bizonytsa be.

10.3. Egyvltozs NLP feladatok megoldsa

10.

BRA

Hogyan
hatrozzuk meg,
hogy vajon x0
loklis maximum
vagy loklis
minimum, ha
f 0 (x0 ) ltezik?

(b)

(a)

nem loklis
szlsrtkhely

nem loklis
szlsrtkhely

(c)
akkor
Ha
Ha
akkor
loklis maximum

(e)

(d)
Ha
Ha

nem loklis maximum


vagy loklis minimum,
de

akkor
akkor
loklis minimum

561

562

10. fejezet Nemlineris programozs

2. eset: Azok a pontok, ahol nem ltezik f 0 (x)


Ha az f (x)-nek nem ltezik derivltja az x0 -ban, az x0 mg lehet loklis maximum, loklis
minimum vagy egyik sem (lsd a 11. brt). Ebben az esetben ahhoz, hogy eldntsk,
vajon x0 loklis minimum, loklis maximum, vagy egyik sem, meg kell vizsglnunk az
f (x) rtkeket az x1 < x0 s x2 > x0 pontokban x0 krl. Ngy lehetsges esetet foglaltunk
ssze a 7. tblzatban. Az elso kt eset gy rtendo, hogy x0 brmely krnyezetben van
olyan tulajdonsg x1 < x0 s x2 > x0 . Az utols kt eset pedig gy rtendo , hogy ltezik
x0 -nak olyan krnyezete, hogy brmely x1 < x0 s x2 > x0 pontra a megfelelo eset teljesl.
11. B R A
Hogyan lehet
meghatrozni,
hogy vajon x0
loklis maximum,
loklis minimum
(vagy egyik sem),
ha f 0 (x0 ) nem
ltezik?

7.

TBLZAT

(a) x0 nem loklis szlsrtkhely

(b) x0 nem loklis szlsrtkhely

(c) x0 loklis maximum

(d) x0 loklis minimum

Hogyan lehet meghatrozni, hogy egy pont, ahol f 0 (x) nem ltezik, loklis maximum, loklis minimum (vagy egyik sem)?
f (x0 ), f (x1 ) s f (x2 )
kztti sszefggsek
f (x0 ) >
f (x0 ) <
f (x0 )
f (x0 )

f (x1 ); f (x0 ) <


f (x1 ); f (x0 ) >
f (x1 ); f (x0 )
f (x1 ); f (x0 )

f (x2 )
f (x2 )
f (x2 )
f (x2 )

x0

bra

Nem loklis szlsortkhely


Nem loklis szlsortkhely
Loklis maximum
Loklis minimum

11a
11b
11c
11d

10.3. Egyvltozs NLP feladatok megoldsa

563

3. eset: Az [a, b] intervallum a s b vgpontja


A 12. brrl is lthatk az albbi esetek:
Ha f 0 (a) > 0, akkor a loklis minimum.
Ha f 0 (a) < 0, akkor a loklis maximum.
Ha f 0 (b) > 0, akkor b loklis maximum.
Ha f 0 (b) < 0, akkor b loklis minimum.
Ha f 0 (a) = 0 vagy f 0 (b) = 0, akkor a 2. esetben s a 11. brnl alkalmazott meggondols
alkalmazhat annak eldntsre, hogy vajon a vagy b loklis szls o rtkhely.
A kvetkezo pldk azt szemlltetik, miknt lehet ezeket az tleteket felhasznlni (4)
alak NLP feladatok megoldsnl.
12. B R A
Hogyan lehet
meghatrozni,
hogy vajon x0
loklis maximum
vagy loklis
minimum, ha x0
egy vgpont?
(a)

(b)

loklis minimum

loklis maximum

(c)

(d)
loklis maximum

15.

PLDA

Megolds

loklis minimum

Egy monopliummal rendelkezo gyrtnak 5 dollrba kerl egyegysgnyi termk elo lltsa. Ha a termkbol x egysget termel, egy egysget 10 x dollrrt tud rtkesteni
(0 x 10). Mennyit kell a gyrtnak termelnie, hogy maximalizlja a profitjt?
Jellje P(x) a gyrt profitjt x egysg termelse esetn. Ekkor
P(x) = x(10 x) 5x = 5x x2

(0 x 10)

Teht a gyrtnak a kvetkezo NLP feladatot kell megoldania:


max P(x)
f.h. 0 x 10

564

10. fejezet Nemlineris programozs

Sorba vesszk az sszes szlsortkhely-jelltet:


1. eset P0 (x) = 5 2x, gy P0 (2.5) = 0. Mivel P00 (x) = 2, ezrt x = 2.5 egy loklis
maximum P(2.5) = 6.25 profitrtkkel.
2. eset P0 (x) ltezik az [0, 10] intervallum minden pontjban, gy nincs 2. eset szerinti
jellt.
3. eset Az a = 0-ban P0 (0) = 5 > 0, teht a = 0 egy loklis minimum. A b = 10-ben
P0 (10) = 15 < 0, teht b = 10 egy loklis minimum.
Az x = 2.5 pont teht az egyetlen loklis maximum. Ez azt jelenti, hogy a gyrt x = 2.5
vlasztsa esetn tudja maximalizlni a profitjt.
Vegyk szre, hogy P00 (x) = 2 minden x esetn. Ez azt mutatja, hogy P(x) egy konkv
fggvny. Ekkor viszont P(x) brmely loklis maximuma egyben az NLP feladat optimlis
megoldsa is. Teht az 1. ttel szerint, mihelyt meghatroztuk, hogy az x = 2.5 pont egy
loklis maximum, az NLP feladat optimlis megoldst is tudjuk.

16.

PLDA

Legyen

Oldjuk meg a

f (x) = 2 (x 1)2,
f (x) = 3 + (x 4)2,

ha
ha

0x<3
3x6

max f (x)
f.h. 0 x 6
feladatot.
Megolds

1. eset Ha 0 x < 3, akkor f 0 (x) = 2(x 1) s f 00 (x) = 2. Ha 3 < x 6, akkor


f 0 (x) = 2(x 4) s f 00 (x) = 2. Ezrt f 0 (1) = f 0 (4) = 0. Mivel f 00 (1) < 0, az x = 1 loklis
maximum. Mivel f 00 (4) > 0, az x = 4 loklis minimum.
2. eset A 13. brrl lthat, hogy f (x) nem derivlhat az x = 3 pontban (ha x kicsit
kisebb, mint 3, akkor f 0 (x) 4-hez kzelt, s ha x kicsit nagyobb, mint 3, akkor f 0 (x) 2hz kzelt). Mivel f (2.9) = 1.61, f (3) = 2 s f (3.1) = 2.19, az x = 3 nem loklis
szlsortkhely.
3. eset Mivel f 0 (0) = 2 > 0, az x = 0 loklis minimum. Mivel f 0 (6) = 4 > 0, az x = 6
loklis maximum.
Teht a [0, 6] intervallumon f (x)-nek az x = 1 s az x = 6 pontban van loklis maximuma.
Mivel f (1) = 2 s f (6) = 1, azt kapjuk, hogy az NLP feladat optimlis megoldsa az x = 1
pontban van.
Ha egy olyan f (x) fggvnyt kell maximalizlnunk, amely tbb fggvny szorzata,
akkor gyakran knnyebb az ln( f (x)) fggvnyt maximalizlni. Mivel az ln egy nvekv o
fggvny, tudjuk, hogy a z0 = ln( f (x)) fggvny S feletti maximalizlsnak tetszo leges x
optimlis megoldsa egyben optimlis megoldsa a z = f (x) fggvny S feletti maximalizlsnak is. Lsd a 4. feladatot az tlet alkalmazsra.

10.3. Egyvltozs NLP feladatok megoldsa

565

13. B R A
A 16. plda grfja

Feladatok
A csoport
1. Egy lgkondicionlkat gyrt cgnek 100 dollrnyi vltoz kltsgbe kerl egy lgkondicionl gyrtsa,
plusz fellp egy 5000 dollrnyi fixkltsg is, ha egyetlen darab lgkondicionlt is gyrtanak. Ha a cg x dollrt klt
reklmra, x1/2 lgkondicionlt tud eladni, darabjt 300
dollrrt. Hogyan a tudja a cg maximalizlni a profitjt?
Mit kellene a cgnek tennie, ha 20 000 dollr lenne a fixkltsg?
2. Ha egy monopolista helyzetben levo cg q egysgnyi
termket gyrt, egysgenknt 100 4q dollrrt tudja rtkesteni. A termels fixkltsge 50$, a vltoz kltsg pedig
egysgenknt 2$. Hogyan tudja a cg maximalizlni a profitjt? Ha az rtkests utn egysgenknt 2$ adt is kell
fizetnie a cgnek, nveln vagy cskkenten a termelst?
ex

3. Mutassuk meg, hogy brmely x esetn x + 1. (tmutats: Legyen f (x) = ex x 1. Mutassuk meg, hogy a
min f (x)
f.h. x R
feladat optimlis megoldsa x = 0-ban van!)

4. Tegyk fel, hogy egy baseballjtkos n tsi ksrletbol x tst rt el. Tegyk fel, hogy meg akarjuk becslni azt
a p valsznusget, hogy a jtkos egy tsi ksrletbol tst
r el. A maximum likelihood mdszer p-re azt a p becslst
adja, ahol p annak a valsznusgt maximalizlja, hogy x
tst figyelnk meg n tsi ksrletbol. Mutassuk meg, hogy
a maximum likelihood mdszer ppen a p = nx rtket vlasztja!
5.

Keressk meg a
max x3
f.h.

1 x 1

feladat optimlis megoldst!


6.

Keressk meg a
min x3 3x2 + 2x 1
f.h.

2 x 4

feladat optimlis megoldst!


7. A Reagan-kormnyzat idejn Arthur Laffer kzgazdsz hress vlt a rla elnevezett Laffer-grbrol, amellyel
azt lltotta, hogy az adkulcsok nvelse cskkentheti az
adbevteleket, mg az adkulcsok cskkentse nvelheti az

566

10. fejezet Nemlineris programozs

adbevteleket. Ez a feladat a Laffer-grbe mgtti tletet


szemllteti. Tegyk fel, hogy egy egyn e szintu erofeszts
esetn 10e1/2 jvedelemhez juthat. Azt is tegyk fel, hogy
az egyn egy e-vel arnyos kltsget is trst az e szintu
igyekezethez. Legyen T az adkulcs. Ez azt jelenti, hogy
az egyn az adzs elotti jvedelmnek 1 T rszt tarthatja meg. Mutassuk meg, hogy T = .5 esetn maximlis a
kormnyzat adbevtele! Teht, ha az adkulcs 60% lenne,
egy adkulcscskkents nvelhetn az adbevteleket.
8. Egy krhz mukdsi kltsge 200 000 + .002x2 dollr, ahol x a naponta polt betegek szma. Milyen mretu
krhz esetn minimlis a krhz egy betegre eso mukdsi
kltsge?
9. Minden reggel a cscsforgalom ideje alatt 10 000 ember akar New Jerseybol New York Citybe utazni. Ha valaki
a metrt veszi ignybe, 40 percig tart az utazs. Ha x ezer
ember autzik be reggelenknt New York-ba, 20 + 5x percig
tart az utazs. Ez a problma jl illusztrlja az alapveto lettapasztalatot: Ha a vlasztst az emberekre bzzuk, a szksgesnl is nagyobb torldst okoznak.
(a) Mutassuk meg, hogy ha a vlasztst az emberekre
bzzuk, tlagosan 4000 ember fog New Jerseybol New
Yorkba metrval utazni! Itt feltehetjk, hogy az emberek aszerint fognak metrt, illetve gpkocsit hasznlkra
sztvlni, hogy a metrval val utazs tlagos ideje ppen meg fog egyezni az autval val utazs tlagos idejvel. Amikor ez az egyensly eloll, senki sem lesz arra
ksztetve, hogy az autrl a metrra, vagy a metrrl az
autra vltson.
(b) Mutassuk meg, hogy a szemlyenknti tlagos utazsi ido akkor lesz minimlis, ha 2000 ember utazik autval!

10.4.

B csoport
10. Egy cgnek c(x) dollrba kerl x egysgnyi termk
gyrtsa. Az y = c0 (x) grbt a cg hatrkltsg grbjnek nevezik. (Mirt?) A cg tlagos kltsg grbje z = c(x)
x
alak. Legyen x az a termelsi szint, ahol a cg tlagos kltsge minimlis. Adjunk olyan feltteleket, amelyek mellett
a hatrkltsg grbe ppen az x pontban metszi az tlagos
kltsg grbt.
11. Ha egy gp t ves, vente et dollr hasznot hoz. A gp
1
t vi hasznlat utn t+1
dollrrt rtkestheto.
(a) Mikor kell a gpet eladni az sszes bevtel maximalizlshoz?
(b) Ha a bevtelt folytonosan diszkontljuk (gy, hogy
1$ bevtel mostantl szmtott t v mlva ekvivalens ert
dollr mostani bevtellel), hogyan vltozna meg az (a)
krdsre adand vlasz?
12.5 Tegyk fel, hogy egy cgnek n ruraktrbl A ngyzetkilomternyi terleten elhelyezkedo fogyasztkat kell kiszolglnia. Kolesar s Blum kimutatta, hogy egy ruraktr
s egy fogyaszt kztti tlagos tvolsg kilomterben
r
A
n
Tegyk fel, hogy a cgnek 60 000 dollrjba kerl egy vig
fenntartani egy ruraktrt, s 400 000 dollrba pteni egyet.
(Tegyk fel, hogy ez a 400 000 dollrnyi egyszeri kltsg
ekvivalens vi 40 000 dollrnyi kltsg vgtelen ideig trtno vllalsval.) A cg vente 160 000 megrendelst teljest, a szlltsi kltsg minden megrendels esetn kilomterenknt 1 dollr. Ha a cg 100 ngyzetkilomternyi terletet
szolgl ki, hny ruraktrral kellene rendelkeznie?
13. Bizonytsuk be a 4. ttelt!
14. Bizonytsuk be az 5. ttelt!

Az aranymetszs keress
Tekintsnk egy f (x) fggvnyt. (Bizonyos x rtkekre f 0 (x) esetleg nem ltezik.) Tegyk
fel, hogy a kvetkezo NLP feladatot akarjuk megoldani:
max f (x)
f.h. a x b

(5)

Elofordulhat, hogy f 0 (x) nem ltezik, vagy esetleg az f 0 (x) = 0 egyenletet nehz megoldani. Az ilyen NLP feladatok megoldsra nehz lenne hasznlni az el o zo alfejezetben
bemutatott mdszereket. Ebben az alfejezetben azt trgyaljuk, hogyan lehet az (5) feladatot
megoldani, ha f (x) egy specilis tpus fggvny (unimodlis fggvny).
5 Kolesar

s Blum (1973) alapjn.

10.4. Az aranymetszs keress

567

14. B R A
Egy unimodlis
fggvny
defincija

(a) Egy unimodlis fggvny [a, b]-n.


x loklis maximum s a

(b) Egy fggvny, amely nem


unimodlis [a, b]-n.

max
f.h. axb
megoldsa.

D EFINCI

Az f (x) fggvny unimodlis az [a, b] intervallumon, ha az [a, b]-nek van olyan x


pontja, hogy f (x) szigoran nvekvo az [a, x]
intervallumon s szigoran cskkeno
az [x,
b] intervallumon.
Ha f (x) unimodlis az [a, b]-n, akkor f (x)-nek csak x lehet loklis maximuma az [a, b]-n,
s ez a loklis maximum egyben (5) megoldsa is (lsd a 14. brt). Jellje x az (5) feladat
optimlis megoldst.
Minden tovbbi informci hinyban csak annyit tudunk mondani az (5) optimlis
megoldsrl, hogy az [a, b] intervallum valamelyik pontja. Ha kirtkeljk az f (x) fggvnyt az [a, b] kt, x1 s x2 pontjban (feltesszk, hogy x1 < x2 ), akkor cskkenteni tudjuk
annak az intervallumnak a mrett, ahol (5) megoldsnak lennie kell. Az f (x 1 ) s f (x2 ) kirtkelse utn hrom eset lehetsges. Mindegyik esetben megmutatjuk, hogy (5) optimlis
megoldsa az [a, b] egy rszintervallumban fekszik.
1. eset f (x1 ) < f (x2 ). Mivel f (x) nvekvo legalbb az [x1 , x2 ] intervallum egy rszn,
abbl a tnybol, hogy f (x) unimodlis, kvetkezik, hogy (5) optimlis megoldsa nem
lehet az [a, x1 ] intervallumon. Teht az 1. esetben x (x1 , b] (lsd a 15. brt).

2. eset f (x1 ) = f (x2 ). Az [x1 , x2 ] intervallum valamelyik rszn az f (x)-nek cskkeno nek
kell lennie, s az (5) optimlis megoldsa valamilyen x < x2 pontban fekszik. Teht a 2.
esetben x [a, x2 ) (lsd a 16. brt).

3. eset f (x1 ) > f (x2 ). Ebben az esetben f (x) cskkenni kezd, mg mielo tt x elri x2 -t.
Teht x [a, x2 ) (lsd a 17. brt).
15. B R A
Ha f (x1 ) < f (x2 ),
x (x1 , b]

568

10. fejezet Nemlineris programozs

16. B R A
Ha f (x1 ) = f (x2 ),
x [a, x2 )

17. B R A
Ha f (x1 ) > f (x2 ),
x [a, x2 )

Azt az intervallumot, amelyben az x-nak

fekdnie kell [a, x2 ) vagy (x1 , b] bizonytalansgi intervallumnak hvjuk.


Sok keressi algoritmus hasznlja ezeket az tleteket a bizonytalansgi intervallum
cskkentsre (lsd Bazaraa s Shetty (1993, 8.1. alfejezet)). A legtbb ezekb o l az algoritmusokbl a kvetkezo mdon mukdik.
1. lps Induljunk ki az [a, b] bizonytalansgi intervallumbl. rtkeljk ki az f (x) fggvnyt megfeleloen kivlasztott x1 s x2 pontokban.
2. lps Dntsk el, hogy az 13. esetek kzl melyik ll fenn, s hatrozzuk meg a
cskkentett bizonytalansgi intervallumot.
3. lps rtkeljk ki az f (x) fggvnyt kt j pontban (az adott algoritmus pontostja,
hogyan vlasszuk meg a kt j pontot). Trjnk vissza a 2. lpsre, kivve, ha a bizonytalansgi intervallum hossza mr elg kicsi.
Egy ilyen kereso algoritmust trgyalunk rszletesen, az aranymetszs keresst. Ltni
fogjuk, hogy ha ezt az algoritmust hasznljuk unimodlis f (x) fggvny esetn az (5) feladat megoldsra, akkor amikor a 3. lpsben kt j pontot vlasztunk, az egyik mindig
egybeesik egy olyan ponttal, ahol elo zoleg mr kirtkeltk az f (x) fggvnyt.
Legyen r az r 2 + r = 1 kvadratikus egyenlet egyetlen pozitv gyke. Ekkor a kvadratikus
egyenlet megold kplete alapjn
r=

51/2 1
= 0.618
2

(Lsd az ennek az alfejezetnek a vgn tallhat 3. feladatot annak magyarzatul, mirt


nevezik az r rtket aranymetszsnek.) Az aranymetszs keress azzal kezd o dik, hogy kirtkeljk az f (x) rtkt az x1 s az x2 pontokban, ahol x1 = b r(b a) s x2 = a + r(b a)
(lsd a 18. brt). Az brrl is ltszik, hogy az x1 pont megtallshoz r rsznyit mozdu-

10.4. Az aranymetszs keress

569

18. B R A
Az x1 s az x2
elhelyezkedse az
aranymetszs
keress esetn
lunk el az intervallum jobb oldali vgpontjbl, az x2 megtallshoz pedig r rsznyit mozdulunk el az intervallum bal oldali vgpontjbl. Ezutn az aranymetszs keress kt j
pontot generl, amelyekben az f (x) rtkt jbl ki kellene rtkelni a kvetkez o lpsek
vgrehajtsval:
j bal oldali pont Az aktulis bizonytalansgi intervallum jobb oldali vgpontjbl mozduljunk el a bizonytalansgi intervallum hossznak r-ed rszvel azonos tvolsgra.
j jobb oldali pont Az aktulis bizonytalansgi intervallum bal oldali vgpontjbl mozduljunk el a bizonytalansgi intervallum hossznak r-ed rszvel azonos tvolsgra.
Az 13. esetek trgyalsbl tudjuk, hogy ha f (x1 ) < f (x2 ), akkor x (x1 , b], mg ha
f (x1 ) f (x2 ), akkor x [a, x2 ). Ha f (x1 ) < f (x2 ), akkor a cskkentett bizonytalansgi
intervallum hossza b x1 = r(b a), mg ha f (x1 ) f (x2 ), a cskkentett bizonytalansgi intervallum hossza x2 a = r(b a). Teht az f (x1 ) s az f (x2 ) kirtkelse utn a
cskkentett bizonytalansgi intervallum hossza r(b a).
Minden esetben, amikor az f (x) fggvnyt kirtkeltk kt pontban, s cskkentettk a
bizonytalansgi intervallumot, azt mondjuk, hogy befejeztk az aranymetszs keress egy
itercijt. Legyen
Lk = a bizonytalansgi intervallum hossza
az algoritmus k szm itercijnak vgrehajtsa utn
Ik = a bizonytalansgi intervallum
az algoritmus k szm itercijnak vgrehajtsa utn
Tudjuk, hogy L1 = r(b a), s I1 = [a, x2 ) vagy I1 = (x1 , b].
Ezt az eljrst folytatva kt j pontot lltunk elo , az x3 s az x4 pontot, amelyekben ki
kell rtkelni az f (x) fggvnyt.
1. eset f (x1 ) < f (x2 ). Az j (x1 , b] bizonytalansgi intervallum hossza b x1 = r(b a).
Ekkor (lsd a 19a. brt)
x3 = j bal oldali pont = b r(b x1) = b r2(b a)
x4 = j jobb oldali pont = x1 + r(b x1)

Az x3 j bal oldali pont egybeesik az x2 rgi jobb oldali ponttal. Ez lthat, ha felhasznljuk
az r2 = 1r sszefggst, amibol x3 = br2 (ba) = b(1r)(ba) = a+r(ba) = x2
addik.
2. eset f (x1 ) f (x2 ). Az j [a, x2 ) bizonytalansgi intervallum hossza x2 a = r(b a).
Ekkor (lsd a 19b. brt)
x3 = j bal oldali pont = x2 r(x2 a)
x4 = j jobb oldali pont = a + r(x2 a) = a + r2(b a)

Az x4 j jobb oldali pont egybeesik a rgi x1 bal oldali ponttal. Ez lthat, ha felhasznljuk
az r2 = 1r sszefggst, amibol x4 = a+r2 (ba) = a+(1r)(ba) = br(ba) = x1
addik.

570

10. fejezet Nemlineris programozs

19. B R A
Hogyan lltsunk
elo j pontokat az
aranymetszs
keressben

j bal oldali pont

j jobb oldali pont

(a) Ha <, az j bizonytalansgi intervallum (, b].

j bal oldali pont

j jobb oldali pont

(b) Ha , az j bizonytalansgi intervallum [a, ).

Most az f (x3 ) s az f (x4 ) rtkeket hasznlhatjuk a bizonytalansgi intervallum hossznak


tovbbi cskkentshez. Ezen a ponton az aranymetszs keress kt itercijt fejeztk
mr be.
Megmutattuk, hogy az aranymetszs keress minden itercijban az f (x) fggvnyt
csak egy j pontban kell kirtkelni. Knnyen lthat, hogy L 2 = rL1 = r2 (b a), s ltalban, az Lk = rLk1 sszefggs alapjn Lk = rk (b a). Teht, ha azt akarjuk, hogy az
utols bizonytalansgi intervallumunk hossza kisebb legyen egy rtknl, az aranymetszs keress k szm itercijt kell vgrehajtanunk gy, hogy r k (b a) < .

17.

PLDA

Hasznljuk az aranymetszs keresst a


max x2 1
f.h. 1 x 0.75

feladatra gy, hogy az utols bizonytalansgi intervallum hossza kisebb legyen, mint 14 .
Megolds

Most a = 1, b = 0.75 s b a = 1.75. Az aranymetszs keress sorn vgrehajtand


itercik k szmnak meghatrozshoz megoldjuk k-ra az 1.75(0.618 k) < 0.25, azaz
0.618k < 17 egyenlotlensget. Mindkt oldal termszetes logaritmust vve azt kapjuk, hogy
k ln 0.618 < ln 71
k(0.48) < 1.95
k>

1.95
0.48

= 4.06

Teht t itercit kell vgrehajtani az aranymetszs keressben. El o szr az x1 s x2 pontokat


hatrozzuk meg:
x1 = 0.75 (0.618)(1.75) = 0.3315
x2 = 1 + (0.618)(1.75) = 0.0815

Ekkor f (x1 ) = 1.1099 s f (x2 ) = 1.0066. Mivel f (x1 ) < f (x2 ), az j bizonytalansgi
intervallum I1 = (x1 , b] = (0.3315, 0.75], s x3 = x2 . Termszetesen L1 = 0.75+0.3315 =
1.0815. Most meghatrozzuk az j x3 s x4 pontot:
x3 = x2 = 0.0815
x4 = 0.3315 + 0.618(1.0815) = 0.3369

10.4. Az aranymetszs keress

571

Most f (x3 ) = f (x2 ) = 1.0066 s f (x4 ) = 1.1135. Mivel f (x3 ) > f (x4 ), az j bizonytalansgi intervallum I2 = [0.3315, x4) = [0.3315, 0.3369), s x6 azonos az x3 ponttal.
Szintn L2 = 0.3369+0.3315 = 0.6684. Ekkor
x5 = 0.3369 0.618(0.6684) = 0.0762
x6 = x3 = 0.0815
A fggvnyrtkekre f (x5 ) = 1.0058 s f (x6 ) = f (x3 ) = 1.0066 addik. Mivel f (x5 ) >
f (x6 ), az j bizonytalansgi intervallum I3 = [0.3315, x6) = [0.3315, 0.0815), s
L3 = 0.0815 + 0.3315 = 0.4130. Mivel f (x6 ) < f (x5 ), azt kapjuk, hogy x5 = x8 s
f (x8 ) = 1.0058. Ekkor
x7 = 0.0815 0.618(0.413) = 0.1737
x8 = x5 = 0.0762
s f (x7 ) = 1.0302. Mivel f (x8 ) > f (x7 ), az j bizonytalansgi intervallum I4 =
(x7 , 0.0815] = (0.1737, 0.0815] s L4 = 0.0815 + 0.1737 = 0.2552. Az x9 = x8 is teljesl.
Vgl
x9 = x8 = 0.0762
x10 = 0.1737 + 0.618(0.2552) = 0.016
Ekkor f (x9 ) = f (x8 ) = 1.0058 s f (x10 ) = 1.0003. Mivel f (x10 ) > f (x9 ), az j bizonytalansgi intervallum I5 = (x9 , 0.0815] = (0.0762, 0.0815] s L5 = 0.0815 + 0.0762 =
0.1577 < 0.25 (ahogy elortuk).
Teht ezzel meghatroztuk, hogy a
max x2 1
f.h.

1 x 0.75

feladat optimlis megoldsa a (0.0762, 0.0815] intervallumban fekszik. (Termszetesen a


maximum az x = 0 pontban tallhat.)
Az aranymetszs keress minimalizlsi feladatok megoldsra is alkalmazhat a clfggvny 1-gyel trtno beszorzsval. Ez azt felttelezi, hogy a mdostott clfggvny
unimodlis.

Feladatok
A csoport
1.

2.

Hasznljuk az aranymetszs keresst a


max x2 + 2x
f.h.

3 x 5

optimlis megoldsnak meghatrozsra (0.8 hosszsg


bizonytalansgi intervallumban)!

Hasznljuk az aranymetszs keresst a


max x ex

f.h.

1 x 3

optimlis megoldsnak meghatrozsra (0.6 hosszsg


bizonytalansgi intervallumban)!
3. Tekintsk a [0, 1] szakaszt, amit kt rszre osztunk (20.
bra).

572
20.

10. fejezet Nemlineris programozs


8.

BRA

Azt mondjuk, hogy a szakaszt aranymetszs szerint osztjuk


fel kt rszre, ha
teljes szakasz hossza
nagyobb rsz hossza
=
nagyobb rsz hossza
kisebb rsz hossza
Mutassuk meg, hogy a szakasz aranymetszs szerinti osztsa esetn
51/2 1
r=
2
4. A Hughesco cg abban rdekelt, hogy a 8. tblzat
adatainak segtsgvel meghatrozza, milyen hatsa van a
nagynyoms vgkszlkben hasznlt folyadk p nyomsnak az egyik szerszm t hasznos lettartamra.

10.5.

TBLZAT

p (kg/cm2 )

t (perc)

229
371
458
513
425
404
392

39
81
82
79
84
85
84

A p nyomsnak 0 s 600 kg/cm2 kztt kell lennie. Alkalmazzuk az aranymetszs keresst annak megbecslsre (50
egysgen bell), hogy milyen p rtk maximalizlja a szerszm hasznos lettartamt! Tegyk fel, hogy t unimodlis
fggvnye p-nek.

Tbbvltozs felttel nlkli maximalizls s


minimalizls
Most azt trgyaljuk, hogyan lehet megtallni az albbi felttel nlkli NLP feladat egy
optimlis megoldst (ha ltezik) vagy egy loklis szlso rtkhelyt:
max (vagy min ) f (x1 , x2 , . . . , xn )
f.h. (x1 , x2 , . . . , xn ) Rn

(6)

Feltesszk, hogy az f (x1 , x2 , . . . , xn ) fggvnynek lteznek elso s msodik parcilis derivltjai, s azok folytonosak minden pontban. Jellje

f (x)

xi
az f (x1 , x2 , . . . , xn ) xi szerinti parcilis derivltjnak az rtkt az x pontban. A 6. ttel
egy szksges felttel ad arra, hogy az x = (x1 , x2 , . . . , xn ) a (6) NLP feladat egy loklis
szlsortkhelye legyen.

6. TTEL

Ha x a (6) egy loklis szlsortkhelye, akkor

f (x)

xi

= 0.

A bizonytshoz tegyk fel, hogy x a (6) feladat egy loklis szls o rtkhelye, mondjuk

loklis maximuma. Ha f x(x)


> 0 teljeslne valamelyik i esetn, akkor az xi -t kicsit megi
nvelve (s a tbbi vltoz rtkt llandnak tekintve), tudnnk olyan x 0 pontot tallni x
kzelben, amelyre f (x0 ) > f (x).
Ez ellentmondana annak a tnynek, hogy x loklis ma
ximum. Hasonlan, ha x a (6) feladat egy loklis maximuma s f x(x)
< 0, akkor xi rtkt
i
kicsit cskkentve (s a tbbi vltoz rtkt llandnak tekintve), tudnnk olyan x 00 pontot
tallni x kzelben, amelyre f (x00 ) > f (x).
Teht ha x a (6) egy loklis maximuma, akkor

10.5. Tbbvltozs felttel nlkli maximalizls s minimalizls


f (x)

xi

= 0 kell hogy teljesljn i = 1, 2, . . . , n esetn. Hasonl indoklssal mutathat meg,

hogy ha x egy loklis minimum, akkor

D EFINCI

573

Az olyan x pontot, amelyre


pontjnak nevezzk.

f (x)

xi

f (x)

xi

= 0 teljesl i = 1, 2, . . . , n esetn.

= 0 teljesl i = 1, 2, . . . , n esetn, az f stacionrius

A kvetkezo hrom ttel az f Hesse-mtrixnak segtsgvel feltteleket ad arra, hogy


egy stacionrius pont loklis minimum, loklis maximum vagy nem loklis szls o rtkhely
legyen.

7. TTEL
70 . TTEL
700 . TTEL

Ha Hk (x)
> 0, k = 1, 2, . . . , n, akkor az x stacionrius pont a (6) NLP feladat loklis
minimuma.
Ha k = 1, 2, . . . , n esetn Hk (x)
nemnulla s elojele megegyezik (1)k elojelvel,
akkor az x stacionrius pont a (6) NLP feladat loklis maximuma.
Ha Hn (x)
6= 0, valamint a 7. s 70 . ttelek felttelei nem teljeslnek, akkor az x stacionrius pont nem loklis szlsortkhely.
Ha egy x stacionrius pont nem loklis szlso rtkhely, akkor nyeregpontnak nevezzk.
Ha Hn (x)
= 0 teljesl egy x stacionrius pontra, akkor x lehet loklis minimum, loklis
maximum vagy nyeregpont is, de az elo zo tesztek alapjn ezt nem lehet eldnteni.
Az 1. s a 70 . ttelbol tudjuk, hogy ha az f (x1 , x2 , . . . , xn ) fggvny konkv (s (6) egy
maximalizlsi NLP feladat), akkor (6) minden stacionrius pontja (6) optimlis megoldsa is. Az 10 . s a 7. ttelbol tudjuk, hogy ha az f (x1 , x2 , . . . , xn ) fggvny konvex (s
(6) egy minimalizlsi NLP feladat), akkor (6) minden stacionrius pontja (6) optimlis
megoldsa is.

18.

PLDA

Egy monopolhelyzetben levo termelo egyetlen termket llt elo ktfle fogyaszt szmra.
Ha q1 egysget gyrt az elso fogyaszt szmra, az 70 4q1 dollrnyi rat hajland fizetni
egysgenknt. Ha q2 egysget gyrt a msodik fogyaszt szmra, az 150 15q 2 dollrnyi
rat hajland fizetni egysgenknt. A gyrtsi kltsg q egysg (q > 0) gyrtsa esetn
100 + 15q dollr. Mennyit kell a termelo nek az egyes fogyasztk szmra eladnia, hogy
maximalizlja a profitjt?

Megolds

Jellje f (q1 , q2 ) a termelo profitjt, amennyiben qi egysget gyrt az i-edik fogyaszt szmra. Ekkor (feltve, hogy valamennyi termels azrt trtnik)
f (q1 , q2 ) = q1 (70 4q1) + q2 (150 15q2) 100 15q1 15q2
Az f (q1 , q2 ) stacionrius pontjaira az albbi egyenletek teljeslnek:

f
= 70 8q1 15 = 0
q1
f
= 150 30q2 15 = 0
0q2

(q1 =

55
8

esetn)

9
2

esetn)

(q2 =

574

10. fejezet Nemlineris programozs


9
Teht f (q1 , q2 ) egyetlen stacionrius pontja ( 55
8 , 2 ). Az f (q1 , q2 ) Hesse-mtrixa
"
#
8
0
H(q1 , q2 ) =
0 30

Mivel H elso sarokfominora 8 < 0, s H msodik sarokfo minora (8)(30) =


9
0
240 > 0, a 70 . ttel alapjn ( 55
8 , 2 ) egy loklis maximum. A 3 . ttel szerint az is igaz, hogy
f (q1 , q2 ) konkv fggvny (azon (q1 , q2 ) pontok S halmazn, amelyekre q1 0, q2 0 s
9
q1 + q2 > 0 ll fenn). Teht az 1. ttel alapjn ( 55
8 , 2 ) maximalizlja a profitot az sszes
9
lehetsges termels kzl (kivve azt az esetet, amikor nem folyik termels). Az ( 55
8 , 2)
termels utni profit
f (q1 , q2 ) =

55
220
9
9
55
9
8 (70 8 ) + 2 [150 15( 2 )] 100 15( 8 + 2 ) = 392.81$

9
55 9
Mivel az ( 55
8 , 2 ) termels profitja meghaladja a semmit sem termels 0$ profitjt, ( 8 , 2 )
foaz NLP feladat optimlis megoldsa; a termelo 55
8 egysget kell, hogy eladjon az elso
gyasztnak s 92 egysget a msodik fogyasztnak.

19.

PLDA

Tegyk fel, hogy egy egyetemi hallgat tanulmnyi tlaga megbecslhet o a felvteli pontszmbl. Jellje az i-edik megfigyelt hallgat felvteli pontszmt x i , tanulmnyi tlagt
pedig yi . Hogyan tudjuk alkalmazni a legkisebb ngyzetek mdszert egy y i = a + bxi
alak felttelezett sszefggs becslsre?

Megolds

Jellje a az a-ra s b a b-re vonatkoz becslsnket. Feltve, hogy n szm hallgat esetn
az (x1 , y1 ), (x2 , y2 ), . . . , (xn , yn ) megfigyelsek llnak rendelkezsnkre, az i-edik hallgat
i ). A legkisebb ngyzetek
tanulmnyi tlagnak becslsnl elkvetett hiba ei = yi (a+
bx
mdszere olyan a s b rtkeket vlaszt, amelyek esetn az
i=n

i=n

i=1

i=1

f (a, b) = e2i = (yi a bxi)2


fggvny rtke minimlis. Mivel
i=n
f
= 2 (yi a bxi)
a
i=1

f
a

f
b

pontra fog teljeslni, amelyre


= 0 olyan (a,
b)
i=n

(yi a bxi) = 0

azaz

i=1

i=n
f
= 2 (yi a bxi)xi
b
i=1

i=n

xi (yi a bxi) = 0

i=1

azaz

i=n

i=n

i=1

i=1

yi = na + b xi

i=n

i=n

i=n

i=1

i=1

i=1

xi yi = a xi + b x2i

megoldsa minimalizlja
Ezek a jl ismert normlegyenletek. A normlegyenletek (a,
b)
az f (a, b) fggvnyt? Ennek megvlaszolshoz ki kell szmolnunk az f (a, b) Hessemtrixt:
i=n
i=n
2 f
2 f
2 f
2 f
2
x
,
=
2n,
=
2
=
=
2

xi
i
a2
b2
a b b a
i=1
i=1

10.5. Tbbvltozs felttel nlkli maximalizls s minimalizls

Teht

i=n

575

2 xi
i=1
i=n

2 x2i

2n

H = i=n

2 xi
i=1

i=1

= 2n > 0, az (a,
loklis minimum lesz, ha
Mivel H1 (a,
b)
b)
i=n

i=n

i=1

i=1

= 4n x2i 4
H2 (a,
b)

xi

!2

>0

A 6. fejezet 23. pldjban megmutatjuk, hogy


i=n

i=n

i=1

i=1

n x2i

xi

!2

s egyenlosg pontosan akkor teljesl, ha x1 = x2 = = xn . Teht ha legalbb kt xi


loklis minimum lesz. Mivel H(a, b) nem fgg az
klnbzo, akkor a 70 . ttel alapjn (a,
b)
a s b rtkektol, ez az rvels (s a 3. ttel) azt mutatja, hogy ha legalbb kt x i klnbzo,
akkor f (a, b) konvex fggvny. Ha legalbb kt xi klnbzo, akkor az 10 . ttel alapjn
minimalizlja az f (a, b) fggvnyt.
(a,
b)

20.

PLDA

Megolds

Keressk meg az f (x1 , x2 ) = x21 x2 + x32 x1 x1 x2 fggvny sszes loklis maximumt, loklis minimumt s nyeregpontjt!
Mivel

az

f
= 2x1 x2 + x32 x2 ,
x1

f
= x21 + 3x22x1 x1
x2

f
f
=
= 0 teljeslshez
x1 x2
2x1 x2 + x32 x2 = 0

x21 + 3x22 x1 x1 = 0

azaz
azaz

x2 (2x1 + x22 1) = 0

x1 (x1 + 3x22 1) = 0

(7)
(8)

szksges. A (7) akkor teljesl, ha (i) x2 = 0 vagy (ii) 2x1 + x22 1 = 0. A (8) akkor teljesl,
ha (iii) x1 = 0 vagy (iv) x1 + 3x22 1 = 0.
Teht ahhoz, hogy (x1 , x2 ) stacionrius pont legyen, az albbi esetek valamelyike kell
hogy fennlljon:
(i) s (iii) teljesl. Ez csak (0, 0) esetn igaz.
(i) s (iv) teljesl. Ez csak (1, 0) esetn igaz.
(ii) s (iii) teljesl. Ez csak (0, 1) s (0, 1) esetn igaz.

(ii) s (iv) teljesl. Ehhez az kell, hogy x22 = 1 2x1 s x1 + 3(1 2x1) 1 = 0.

Utbbi akkor ll fenn, ha


x1 =

2
5

x2 =

51/2
5

vagy

51/2
5

576

10. fejezet Nemlineris programozs

Teht f (x1 , x2 ) stacionrius pontjai a kvetkezo k:


!
2 51/2
(0, 0), (1, 0), (0, 1), (0, 1),
,
5 5
Hasonlan
H(x1 , x2 ) =

2 51/2
,
5
5

2x2
2x1 + 3(x2 )2 1
2
2x1 + 3(x2) 1
6x1 x2


0 1
H(0, 0) =
1
0

Mivel H1 (0, 0) = 0, a 7. s 70 . ttelek felttelei nem teljeslnek. Mivel H2 (0, 0) = 1 6= 0,


a 700 . ttel alapjn a (0, 0) nyeregpont.
"
#
0 1
H(1, 0) =
1 0
Ekkor H1 (1, 0) = 0 s H2 (1, 0) = 1, gy a 700 . ttel alapjn az (1, 0) is nyeregpont. Mivel
"
#
2 2
H(0, 1) =
2 0
ezrt H1 (0, 1) = 2 > 0 (gy a 70 . ttel felttelei nem teljeslnek) s H2 (0, 1) = 4 (gy a 7.
ttel felttelei
nem
 teljeslnek). Mivel H2 (0, 1) 6= 0, (0, 1) nyeregpont.

51/2
2
A 5 , 5 pont esetn
H

Ezrt
H1

2 51/2
,
5
5

2 51/2
,
5
5

2
51/2

Teht a 70 . ttel azt mutatja, hogy

2
51/2

2
2

51/2

2
12

5
5(5)1/2

<0

2
51/2
5, 5

s


H2

2 51/2
,
5
5

20
>0
25

loklis maximum. Vgl

2
5

51/2

2
12
5 5(5)1/2
 1/2 
 1/2 
20
> 0 s H2 52 , 5 5 = 25
> 0, a 7. ttel alapjn 52 , 5 5 loklis
H

 1/2 
Mivel H1 25 , 5 5 =
minimum.

2 51/2
,
5 5

10.5. Tbbvltozs felttel nlkli maximalizls s minimalizls

577

Feladatok
A csoport
1. Egy cgnek n gyra van. Az i-edik gyr az (xi , yi ) pontban helyezkedik el az xy skon. A cg egy ruraktrt akar
elhelyezni egy olyan (x, y) pontban, amelyre a
i=n

(az i-edik gyr tvolsga az ruraktrtl)2

i=1

rtke minimlis. Hova kell elhelyezni az ruraktrt?


2. Egy cg egy termknek minden egysgt 2 dollrrt
tudja rtkesteni. A termk ktfle alapanyag felhasznlsval ll elo. Ha q1 egysgnyit hasznlnak az elso alapanyagbl s q2 egysgnyit a msodik alapanyagbl, akkor a
1/3
2/3
cg q1 + q2 egysgnyi termket tud elolltani. Ha az
elso alapanyag egy egysgt 1 dollrrt, a msodik alapanyag egy egysgt pedig 1.50 dollrrt tudjk beszerezni,
hogyan tudja a cg maximalizlni a profitjt?
3. (sszejtszson alapul duoplium modell) Adott kt
cg, amely ugyanazt a termket lltja elo. Az elso cgnl
q1 dollrba kerl q1 egysgnyi termk elolltsa, a msodik
cgnl pedig 0.5q22 dollrba kerl q2 egysgnyi termk elolltsa. Ha egyttesen q egysgnyi termket lltanak elo, a
fogyasztk 200 q dollrt hajlandk fizetni egysgenknt.
Ha a kt cg ssze akar jtszani profitjaik sszegnek maximalizlsa cljbl, mennyit kell az egyes cgeknek elolltani a termkbol?
4. Egy cgnek 6 dollrjba kerl egy termk egy egysgnek az elolltsa. Ha a termket egysgenknt p dollrrt
rtkesti, s a dollrt klt hirdetsre, akkor 10 000p2 a1/6
egysget tud rtkesteni a termkbol. Hatrozzuk meg az
rnak s a hirdetsnek azt a szintjt, amelynl a cg profitja
maximlis!
5. Egy cg ktfle termket gyrt. Ha az i-edik termket pi ron akarja rtkesti, akkor az i-edik termkbol qi
egysget tud eladni, ahol q1 = 60 3p1 + p2 s q2 = 80
2p2 + p1 . Az elso termk egy egysgnek elolltsa 25 dollrba, mg a msodik termk egy egysgnek elolltsa 72

6 Cournot

(1897) alapjn.

dollrba kerl. Mennyit termeljen a cg az egyes termkekbol, hogy maximalizlja a profitjt?


6. Keressk meg az sszes loklis maximumot, loklis
minimumot s nyeregpontot az f (x1 , x2 ) = x31 3x1 x22 + x42
fggvny esetn!
7. Keressk meg az sszes loklis maximumot, loklis
minimumot s nyeregpontot az f (x1 , x2 ) = x1 x2 + x2 x3 +
x1 x3 fggvny esetn!

B csoport
8.6 (Cournot duoplium modellje) Tekintsk jbl a 3.
feladatot. Az erre a helyzetre vonatkoz Cournot-megolds
a kvetkezokppen ll elo: Az i-edik cg qi mennyisget
fog gyrtani, mgpedig gy, hogy ha az elso cg q1 -tol eltro termelsi szintre vltana (s a msodik cg tovbbra is
q2 mennyisget termelne), akkor az elso cg profitja cskkenne. Hasonlan, ha a msodik cg q2 -tol eltro termelsi
szintre vltana (s az elso cg tovbbra is q1 mennyisget
termelne), akkor a msodik cg profitja cskkenne. Ha az
i-dik cg qi mennyisget termel, ez a megolds stabil, mivel
ha a cgek brmelyike megvltoztatja a termelsi szintjt,
rosszabbul jr. Hatrozzuk meg a q1 s q2 rtkeket!
9. A Bloomington noi kosrlabda-bajnoksgban a kvetkezo mrkozseket jtszottk le: az A csapat 7 ponttal legyozte a B csapatot, a C csapat 8 ponttal legyozte az A csapatot, a B csapat 6 ponttal legyozte a C csapatot, s a B
csapat 9 ponttal legyozte a C csapatot. Legyen A, B s C az
egyes csapatok osztlyzata abban az rtelemben, hogy ha
mondjuk az A csapat a B csapattal jtszik, akkor azt jsolhatjuk, hogy A B ponttal fogja legyozni az A csapat a B
csapatot. Hatrozzuk meg az A, B s C rtkeket gy, hogy
azok a legkisebb ngyzetek rtelemben legjobban illeszkedjenek az eddigi eredmnyekhez! Hogy egyrtelmu osztlyzatokat kapjunk, hasznos lehet az A + B +C = 0 felttel
hozzadsa. Ez egyben azt is biztostja, hogy egy tlagos
csapat osztlyzata 0 lesz.

578

10. fejezet Nemlineris programozs

10.6.

A legmeredekebb nvekeds mdszere


Tegyk fel, hogy a kvetkezo felttel nlkli NLP feladatot akarjuk megoldani:
max z = f (x1 , x2 , . . . , xn )
f.h. (x1 , x2 , . . . , xn ) Rn

(9)

A 10.5. alfejezetbol mr tudjuk, hogy ha f (x1 , x2 , . . . , xn ) konkv fggvny, akkor (9) optimlis megoldsa (ha egyltaln ltezik) egy olyan x stacionrius pontban lesz, amelyre

f (x)

f (x)

f (x)

=
= =
=0
x1
x2
xn
teljesl. A 18. s a 19. pldnl knnyu volt meghatrozni a stacionrius pontokat, ez azonban sok feladatnl nehz lehet. Ebben az alfejezetben a legmeredekebb nvekeds mdszervel foglalkozunk, amely a fggvny egy stacionrius pontjnak kzeltsre hasznlhat.

D EFINCI

Adott x = (x1 , x2 , . . . , xn ) Rn vektor esetn az x hossza (amit k x k) jell)


k x k= (x21 + x22 + + x2n )1/2
A 2.1. alfejezetbol emlkezhetnk arra, hogy minden n-dimenzis vektor egyben egy
irnyt is jelent Rn -ben. Ugyanakkor brmely irny esetn vgtelen sok vektor kpviseli azt
az irnyt. Pldul az (1, 1), (2, 2) s (3, 3) vektorok mind ugyanazt az irnyt kpviselik
(egy elmozdulst pozitv 45 szgben) az R2 trben. Brmely nemnulla x vektor esetn
az x/ k x k vektornak a hossza 1 lesz, s ugyanazt az irnyt jelli, mint x (lsd az 1. feladatot ennek az alfejezetnek a vgn). Teht brmely nemnulla irnyhoz R n -ben hozzrendelhetnk egy 1 hosszsg vektort (amit egysgvektornak neveznek). Pldul, mivel
x = (1, 1) esetn k x k= 21/2, az x = (1, 1) ltal meghatrozott irny az (1/21/2 , 1/21/2)
egysgvektorhoz van hozzrendelve. Brmely nemnulla x esetn az x/ k x k egysgvektort az x normalizlt verzijnak nevezzk. Ezrt brmely nemnulla irny R n -ben az azt
az irnyt meghatroz egysgvektorral adunk meg. Teht az R 2 (1, 1), (2, 2), (3, 3), . . .
irnyait az


1
1
,
21/2 21/2
normalizlt vektorral adjuk meg.
Tekintsnk egy f (x1 , x2 , . . . , xn ) fggvnyt, amelynek minden pontban ltezik az sszes
parcilis derivltja.

D EFINCI

Az f (x1 , x2 , . . . , xn ) fggvny gradiens vektora, jellse f (x), az albbi sorvektor:




f (x) f (x)
f (x)
f (x) =
,
,...,
x1
x2
xn
A f (x) vektor a

f (x)
k f (x) k

10.6. A legmeredekebb nvekeds mdszere

21.

579

BRA

f (3, 4)
meroleges az
f (x1 , x2 ) grbre a
(3, 4) pontban

irnyt hatrozza meg. Pldul ha f (x1 , x2 ) = x21 + x22 , akkor f (x1 , x2 ) = (2x1 , 2x2 ). Ezrt
6 8
f (3, 4) = (6, 8). Mivel k f (3, 4) k = 10, ezrt f (3, 4) a ( 10
, 10 ) = (0.6, 0.8) irnyt
hatrozza meg.
Brmely x pont esetn, amely az f (x1 , x2 , . . . , xn ) = f (x) grbn fekszik, a
f (x)
k f (x) k

vektor meroleges az f (x1 , x2 , . . . , xn ) = f (x) grbre (lsd az 5. feladatot ennek az alfejezetnek a vgn). Legyen pldul f (x1 , x2 ) = x21 + x22 . Ekkor a (3, 4) pontban a
f (3, 4)
= (0.6, 0.8)
k f (3, 4) k

irny meroleges az x21 + x22 = 25 grbre (lsd a 21. brt).


f (x)
A
defincijbl kvetkezik, hogy ha xi rtkt nveljk egy kis mennyisggel,
xi
f (x)
akkor f (x) rtke kzeltoleg
rtkkel fog nvekedni. Tegyk fel, hogy egy x pont xi
bl elmozdulunk egy kis hosszal a d normalizlt oszlopvektor irnyban. Mennyivel fog
f (x)
f (x) nvekedni? A vlasz az, hogy f (x) nvekedsnek kzelt o rtke -szor a
k

f (x) k


f (x) d
f (x) d
s d vektorok skalrszorzata azaz
. Teht ha
> 0, akkor x-bol
k f (x) k
k f (x) k
f (x) d
< 0, akkor x-bol
d irnyba elmozdulva f (x) rtke nvekedni fog, ha pedig
k f (x) k
d irnyba elmozdulva f (x) rtke cskkenni fog. Legyen pldul f (x 1 , x2 ) = x21 + x22 , s
mozduljunk el tvolsgot 45 irnyban a(3, 4) pontbl. Mennyivel fog vltozni f (x1 , x2 )
1
1
f (3, 4)
= (0.6, 0.8),
rtke? Mivel a 45 irnyt a
, 1/2 vektor kpviseli, s
1/2
k f (3, 4) k
2
2
az f (x1 , x2 ) rtknek nvekedse kzelto leg

1
1/2
[0.6 0.8] 2 1 = 0.99
21/2

580

10. fejezet Nemlineris programozs

A 10.5. alfejezetbol tudjuk, hogy a (9) feladat v optimlis megoldsa eleget tesz a
f (v) = 0 felttelnek. Tegyk fel, hogy egy v0 pontban vagyunk, s a (9) egy v optimlis
megoldst akarjuk meghatrozni. A v meghatrozsnak cljbl sszerunek tunik v 0 -bl
egy olyan irnyba elmozdulni, amely maximalizlja (legalbb loklisan) az f (x 1 , x2 , . . . , xn )
nvekedsnek temt. Az 1. segdttel hasznos ebbo l a clbl (lsd a 22. sszefoglal feladatot).

1. SEGDTTEL

Tegyk fel, hogy egy v pontban vagyunk, s v-b o l egy kis tvolsgot mozdulunk el d
irnyba. Ekkor adott esetn f (x1 , x2 , . . . , xn ) rtke nvekedse akkor maximlis, ha a
d=

f (v)
k f (v) k

irnyt vlasztjuk.
Rviden, ha egy kis tvolsgot akarunk elmozdulni v-bo l, s azt akarjuk, hogy
f (x1 , x2 , . . . , xn ) nvekedjk, amennyire csak lehet, akkor a f (v) irnyba kell elmozdulnunk.
Most mr kszen llunk a legmeredekebb nvekeds mdszernek lersra. Induljunk
ki egy v0 pontbl. Mivel a f (v0 ) irnyba trtno elmozduls fogja eredmnyezni f nvekedsnek maximlis temt, ezrt a v0 -bl f (v0 ) irnyba trtno elmozdulssal kezdnk. Valamilyen nemnegatv t rtkkel elmozdulunk a v1 = v0 + t f (v0 ) pontba. Az f
rtknek maximlis lehetsges javtsa (maximalizlsi feladat esetn) akkor ll el o , ha a
v0 pontbl f (v0 ) irnyba trtno elmozdulssal abba a v1 = v0 + t0 f (v0 ) pontba rkeznk, ahol t0 a kvetkezo egydimenzis optimalizlsi feladat megoldsa:
max f (v0 + t0 f (v0 ))
f.h. t0 0

(10)

A (10) NLP feladat megoldhat a 10.3. alfejezetben trgyalt mdszerekkel, vagy ha szksges, az aranymetszs keresshez hasonl eljrssal.
Ha k f (v1 ) k kicsi (mondjuk kevesebb, mint 0.01), lellthatjuk az algoritmust annak
ismeretben, hogy v1 kzel van egy olyan v stacionrius ponthoz, amelyre f (v) = 0. Ha
k f (v1 ) k nem elg kicsi, akkor elmozdulhatunk a v1 pontbl t1 tvolsgra a k f (v1 ) k
irnyban. Miknt az elobb, t1 rtkt vlaszthatjuk a
max f (v1 + t1 f (v1 ))
f.h. t1 0
feladat megoldsaknt. Most akkor a v2 = v1 + t1 f (v1 ) pontban vagyunk. Ha k f (v2 ) k
elg kicsi, lellhatunk az algoritmussal, s vlaszthatjuk a v2 pontot az f (x1 , x2 , . . . , xn )
egy stacionrius pontjnak kzeltsl. Klnben folytathatjuk az eddigi mdon, amg
egy olyan vn ponthoz nem rnk, amelynl k f (vn ) k elg kicsi. Ekkor a vn pontot az
f (x1 , x2 , . . . , xn ) egy stacionrius pontja kzeltsnek tekintjk.
Ezt az algoritmust a legmeredekebb nvekeds mdszernek nevezik, mivel a pontok
elolltshoz mindig olyan irnyban mozdulunk el, amelynl az f nvekedsi arnyszma
maximlis (legalbb is loklisan).

10.6. A legmeredekebb nvekeds mdszere

21.

PLDA

581

Hasznljuk a legmeredekebb nvekeds mdszert a


max z = (x1 3)2 (x2 2)2 = f (x1 , x2 )

f.h. (x1 , x2 ) R2
feladat megoldsnak kzeltsre!
Megolds

Tetszolegesen vlaszthatunk kezdo pontot, legyen v0 = (1, 1). Mivel


f (x1 , x2 ) = (2(x1 3), 2(x2 2)),

ezrt f (1, 1) = (4, 2).

Ekkor gy kell vlasztanunk a t0 rtket, hogy az maximalizlja az


f (t0 ) = f ((1, 1) + t0 (4, 2)) = f (1 + 4t0, 1 + 2t0) = (2 + 4t0)2 (1 + 2t0)2
fggvnyt. Az f 0 (t0 ) = 0 felrsval azt kapjuk, hogy
8(2 + 4t0) 4(1 + 2t0) = 0
20 40t0 = 0

t0 = 0.5

Az j pontunk v1 = (1, 1) + 0.5(4, 2) = (3, 2). Most f (3, 2) = (0, 0), teht befejezhetjk
az algoritmust. Mivel f (x1 , x2 ) konkv fggvny, az NLP feladat egy optimlis megoldst
talltuk meg.

Feladatok
A csoport
1. Mutassuk meg, hogy brmely nemnulla x vektor esetn
x/ k x k egysgvektor!
2. Hasznljuk a legmeredekebb nvekeds mdszert a
kvetkezo feladat optimlis megoldsnak a kzeltsre:
max z = (x1 2)2 x1 x22 . Kezdjnk a (2.5, 1.5) pontban.
3. Hasznljuk a legmeredekebb nvekeds mdszert a
kvetkezo feladat optimlis megoldsnak a kzeltsre:
max z = 2x1 x2 + 2x2 x21 2x22 . Kezdjnk a (0.5, 0.5) pontban. Vegyk szre, hogy a ksobbi itercikban a pontok nagyon kzel lesznek egymshoz. A legmeredekebb nvekeds mdszernek klnbzo variciit fejlesztettk ki ennek
a problmnak a kezelsre (lsd Bazaraa s Shetty (1993,
7.6. alfejezet)).

B csoport
4. Hogyan mdostan a legmeredekebb nvekeds mdszert, ha minden xi vltoznak egy [ai , bi ] intervallumba
kell esnie?

C csoport
5. Mutassuk meg, hogy brmely x = (x1 , x2 ) pontban
f (x) meroleges az f (x1 , x2 ) = f (x1 , x2 ) grbre! (tmutats: Kt vektor egymsra meroleges, ha skalrszorzatuk
nulla.)

582

10. fejezet Nemlineris programozs

10.7.

Lagrange-szorzk
A Lagrange-szorzkat olyan NLP feladatok megoldsnl lehet hasznlni, ahol minden
felttel egyenlosg felttel. Kvetkezo tpus NLP feladatokat tekintnk:
max (vagy min ) z = f (x1 , x2 , . . . , xn )
f.h. g1 (x1 , x2 , . . . , xn ) = b1
g2 (x1 , x2 , . . . , xn ) = b2
..
.
gm (x1 , x2 , . . . , xn ) = bm

(11)

A (11) megoldsa cljbl egy i szorzt rendelnk hozz a (11) i-edik felttelhez, s
kpezzk az
i=m

L(x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) = f (x1 , x2 , . . . , xn ) + i [bi gi (x1 , x2 , . . . , xn )] (12)


i=1

alak Lagrange-fggvnyt. Ezutn megprblunk egy olyan (x1 , x2 , . . . , xn , 1 , 2 , . . . , m )


pontot tallni, ami maximalizlja (vagy minimalizlja) az L(x1 , x2 , . . . , xn , 1 , 2 . . . , m )
fggvnyt. Az (x1 , x2 , . . . , xn ) sok esetben meg fogja oldani a (11) feladatot. Tegyk fel,
hogy (11) egy maximalizlsi feladat. Ha (x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) maximalizlja az L
fggvnyt, akkor az (x1 , x2 , . . . , xn , 1 , 2 , . . . , n ) pontban

L
= bi gi (x1 , x2 , . . . , xn ) = 0
i
Itt Li az L fggvny i szerinti parcilis derivltja. Ez azt mutatja, hogy (x1 , x2 , . . . , xn )
eleget tesz (11) feltteleinek. Annak megmutatsra, hogy (x1 , x2 , . . . , xn ) megoldja a (11)
feladatot, legyen (x01 , x02 , . . . , x0n ) tetszoleges pont (11) lehetsges tartomnyban. Mivel
(x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) maximalizlja az L fggvnyt, ezrt brmilyen 10 , 20 , . . . , m0
szmok esetn
L(x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) L(x01 , x02 , . . . , x0n , 10 , 20 , . . . m0 )

(13)

Mivel (x1 , x2 , . . . , xn ) s (x01 , x02 , . . . , x0n ) is a (11) lehetsges megoldsa, (12)-ben a -kat
tartalmaz kifejezsek mind nullk, s (13) az f (x1 , x2 , . . . , xn ) f (x01 , x02 , . . . , x0n ) egyenlotlensget jelenti. Teht (x1 , x2 , . . . , xn ) a (11) optimlis megoldsa. sszefoglalva, ha
(x1 , x2 . . . , xn , 1 , 2 , . . . , m ) megoldja a
max L(x1 , x2 , . . . , xn , 1 , 2 , . . . , m )

(14)

felttel nlkli maximalizlsi feladatot, akkor (x1 , x2 , . . . , xn ) megoldja a (11) feladatot is.
Azt tudjuk a 10.5. alfejezetbol, hogy ahhoz, hogy (x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) megoldja
a (14) feladatot, szksges, hogy az (x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) pontban

L
L
L
L
L
L
=
= =
=
=
= =
=0
x1 x2
x n 1 2
m

(15)

teljesljn. A 8. ttel ad feltteleket arra vonatkozan, hogy ha egy (x1 , x2 , . . . , xn , 1 ,


2 , . . . , m ) pont eleget tesz (15)-nek, akkor az (x1 , x2 , . . . , xn ) pont a (11) feladat optimlis
megoldsa legyen.

10.7. Lagrange-szorzk

8. TTEL

80 . TTEL

583

Tegyk fel, hogy (11) egy maximalizlsi feladat. Ha f (x1 , x2 , . . . , xn ) egy konkv
fggvny s gi (x1 , x2 , . . . , xn ) mindegyike lineris fggvny, akkor brmely olyan
(x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) pont, amely eleget tesz (15)-nek, egyben a (11) feladat
egy (x1 , x2 , . . . , xn ) optimlis megoldst is megadja.
Tegyk fel, hogy (11) egy minimalizlsi feladat. Ha f (x1 , x2 , . . . , xn ) egy konvex
fggvny s gi (x1 , x2 , . . . , xn ) mindegyike lineris fggvny, akkor brmely olyan
(x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) pont, amely eleget tesz (15)-nek, egyben a (11) feladat
egy (x1 , x2 , . . . , xn ) optimlis megoldst is elolltja.
Ha ezen ttelek felttelei nem teljeslnek, akkor is lehetsges, hogy a (15) brmely
megoldsa a (11) feladatot is megoldja. A rszleteket illeto en lsd a Henderson s Quandt
(1980) fggelkt.

A Lagrange-szorzk geometriai rtelmezse


A (15)-bol tudjuk, hogy ha egy x = (x1 , x2 , . . . , xn ) pont megoldja a (11) feladatot, akkor az
x pontban szksgkppen
L
= 0, j = 1, 2, . . . , n
xj
Ez azzal ekvivalens, mint ha azt mondannk, hogy lteznek olyan 1 , 2 , . . . m szmok,
hogy az x pontban
f =

i=m

i gi

(16)

i=1

Hogy lssuk, miknt is ll ez elo, vegyk szre, hogy (16) bal oldalnak j-edik komponense
f
xj
jobb oldalnak j-edik komponense pedig
i=m

gi

i x j

i=1

Teht (16) ppen azt jelenti, hogy j = 1, 2, . . . , n esetn

f i=m gi
i
= 0,
x j i=1
xj

azaz

L
=0
xj

A (16) sszefggs a kvetkezo mdon is szemlltetheto: minden olyan x pont esetn,


amely megoldja a (11) feladatot, szksges, hogy x-ban

f a felttelek gradienseinek lineris kombincija legyen.


Egy olyan feladat esetn, amelynek egy felttele van, knnyen lthat, hogy mirt kell
(16)-nak teljeslnie (11) optimlis megoldsa esetn. Ha (11)-nek egy felttele van, akkor
(16) azzal ekvivalens, hogy a clfggvny gradiense s a felttel gradiense prhuzamosak.
Ennek a felttelnek a szksgessgt a 22. brn szemlltetjk. Itt z = 3 az optimlis z
rtk, amikor az f (x1 , x2 ) fggvnyt maximalizljuk a g(x1 , x2 ) = 0 felttel mellett. A 22.
brn az optimlis pontban f = g, ahol < 0.

584

10. fejezet Nemlineris programozs

22. B R A
Egy feltteles
plda (16)-ra

x2

f=5
f=4

=f

f=3

=g

f=2
f=1
x1

g=0

g=1

Ahhoz, hogy lssuk, mirt kell (16)-nak teljeslnie (11) optimlis megoldsra, tekintsk a kvetkezo NLP feladatot:
max z = f (x1 , x2 , x3 )
f.h. g1 (x1 , x2 , x3 ) = 0
g2 (x1 , x2 , x3 ) = 0

(17)

Tegyk fel, hogy x = (x1 , x2 , x3 ) a (17) egy optimlis megoldsa. Azt lltjuk, hogy
brmely c 6= 0 esetn a kvetkezo egyenletrendszernek nincs megoldsa (az sszes gradiens
az x-ban

van kirtkelve):


g1
d1
0


(18)
g2 d2 = 0
f

d3

Hogy lssuk, mirt is nem lehet (18)-nak megoldsa, tegyk fel, hogy valamilyen c > 0
esetn van megoldsa. (Ha (18)-nak valamilyen c < 0 esetn lenne megoldsa, hasonl
rvelst kell alkalmazni.) Ez a megolds meghatroz egy d irnyt a hromdimenzis trben.
Ha az x pontbl elmozdulunk egy kis tvolsgot a d irnyban, akkor tudunk tallni egy
olyan x + d lehetsges pontot (17)-hez, amelynek a z rtke nagyobb, mint az x pontban.
Ez ellentmond x optimalitsnak. Azt, hogy x + d lehetsges megoldsa (17)-nek, onnan
lthatjuk, hogy i = 1, 2 esetn gi (x + d) az albbi mdon kzeltheto :
j=3

gi (x)

gi (x)
+
j=1 x j

d j
kdk

= gi (x)
=0

Az f (x + d) is hasonlan kzeltheto :
j=3

j=1 x j

f (x)
+

d j
kdk

= f (x)
+ c / k d k > f (x)

Ez azt jelenti, hogy ha x a (17) megoldsa, akkor (18)-nak c 6= 0 esetn nincs megoldsa.
A 2.4. alfejezetbol tudjuk, (18)-nak pontosan akkor nincs megoldsa, ha (18) bal oldali mtrixnak rangja kisebb vagy egyenlo kettonl. Ez azt jelenti, hogy a f , g1 , g2 vektorok

10.7. Lagrange-szorzk

585

x-ban

linerisan sszefggoek. Teht a f , g1 s g2 egy nem trivilis lineris kombincija elolltja a nulla vektort. Ha feltesszk, hogy g1 s g2 linerisan fggetlenek (ez
az ltalnos eset), akkor (16)-nak kell fennllnia.

Lagrange-szorzk s az rzkenysgi vizsglat


A i Lagrange-szorzk rzkenysgi vizsglatnl is hasznlhatk. Ha az i-edik felttel jobb
oldalt megnveljk egy kis bi mennyisggel (akr maximalizlsi, akr minimalizlsi
feladatrl van sz), akkor (11) optimlis z rtke kzelto leg i=m
i=1 (bi )i mennyisggel
nvekszik. Ez az eredmny a 9. feladatban van bizonytva. Specilis esetknt, ha csak az
i-edik felttel jobb oldalt nveljk meg bi -vel, (11) optimlis z rtke (bi )i rtkkel
fog nvekedni.
A kvetkezo kt plda a Lagrange-szorzk hasznlatt szemllteti. A legtbb esetben
legknnyebben gy tallunk olyan (x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) pontot, amely eleget tesz
(15)-nek, hogy eloszr kifejezzk az x1 , x2 , . . . , xn komponenseket 1 , 2 , . . . , m segtsgvel. Ezutn a i rtkeket gy hatrozzuk meg, hogy behelyettestjk ezeket az sszefggseket (11) feltteleibe. Vgl a i rtkeket az x1 , x2 , . . . , xn rtkek meghatrozsra
hasznljuk.

22.

PLDA

Megolds

Egy cg 10 000 dollrt akar reklmra klteni. Percenknt 3000 dollrba kerl a hirdets
a televziban, mg percenknt 1000 dollrba a rdiban. Ha a cg x perc televzis s y
perc rdis reklmidot vesz, akkor f (x, y) = 2x2 y2 + xy + 8x + 3y bevtele lesz (ezer
dollrban). Hogyan tudja a cg maximalizlni a bevtelt?
A kvetkezo NLP feladatot akarjuk megoldani:
max z = 2x2 y2 + xy + 8x + 3y

f.h. 3x + y = 10

Ekkor L(x, y, ) = 2x2 y2 + xy + 8x + 3y + (10 3x y). Felrjuk a

L L
L
=0
=
=
x
y
egyenleteket. Azt kapjuk, hogy

L
= 4x + y + 8 3 = 0
x
L
= 2y + x + 3 = 0
y
L
= 10 3x y = 0

(19)
(20)
(21)

Vegyk szre, hogy 10 3x y = 0 trhat 3x + y = 10 alakra. A (19) egyenletb o l


y = 3 8 + 4x, (20)-bl pedig x = 3 + 2y addik. Teht y = 3 8 + 4( 3 + 2y) =
7 20 + 8y, azaz
y=

20
7

x=

19
3 + 2( 20
7 ) = 7

(22)

(23)

586

10. fejezet Nemlineris programozs


20
A (22) s (23) sszefggst (21)-be behelyettestve kapjuk, hogy 10 3( 19
7 ) ( 7
1
) = 0, azaz 4 1 = 0, azaz = 4 . Innen (22) s (23) alapjn

y =
x =

20
7
19
7

14 =
14 =

73
28
69
28

Az f (x, y) Hesse-mtrixa
H(x, y) =

"

4 1

12

Mivel mindegyik elsorendu fominor negatv s H2 (x, y) = 7 > 0, az f (x, y) fggvny konkv. A felttel lineris, ezrt a 8. ttel alapjn a Lagrange-szorzk mdszere az NLP feladat
optimlis megoldshoz vezet.
69
perc televzis s 73
ot kell vsrolnia. Mivel
Teht a cgnek 28
28 perc rdis reklmid
1
= 4 , tovbbi ezer dollr reklmra kltse (kis esetn) a cg bevtelt kzelt o leg
0.25 ezer dollrral nveln.
ltalban, ha a cg a dollrt kltene reklmra, megmutathat, hogy = 11a
4 (lsd az
1. feladatot ennek az alfejezetnek a vgn). Lthat, hogy minl tbbet kltenek reklmra,
az jabb dollrnyi reklmkltsg hatsa a bevtel nvekedsre egyre kisebb.

23.

PLDA

Mutassuk meg, hogy adott x1 , x2 , . . . , xn szmok esetn


i=n

i=1

Megolds

x2i

i=n

xi

i=1

!2

s egyenlosg pontosan akkor teljesl, ha x1 = x2 = = xn !

Tegyk fel, hogy x1 + x2 + + xn = c. Tekintsk a


i=n

min z = x2i
f.h.

i=1
i=n

xi = c

(24)

i=1

NLP feladatot. A (24) feladat megoldshoz kpezzk az


L(x1 , x2 , . . . , xn , ) = x21 + x22 + + x2n + (c x1 x2 xn )
Lagrange-fggvnyt. Ekkor (24) megoldshoz olyan (x 1 , x2 , . . . , xn , ) vektort kell tallni,
amelyre

L
= 2xi = 0 (i = 1, 2, . . . , n) s
xi
L
= c x 1 x2 x n = 0

= 0 sszefggsbol kapjuk, hogy 2x1 = 2x2 = = 2xn = , azaz xi = 2 . A L = 0

sszefggsbol c n = 0, azaz = 2c addik. A clfggvny konvex (n konvex fggvny

L
xi

10.7. Lagrange-szorzk

587

sszege), a felttel pedig lineris. Teht a 80 . ttel alapjn a Lagrange-szorzk mdszervel


eloll (24) optimlis megoldsa:
 
2c
 2
c
c
c2
n
xi =
=
s z = n 2 =
2
n
n
n
Ezrt, ha

i=n

xi = c,

i=1

akkor
i=n

i=1

x2i

c2
n
n


i=n

xi

i=1

!2

s az egyenlosg pontosan akkor teljesl, ha x1 = x2 = = xn .


Ha egy olyan f (x1 , x2 , . . . , xn ) fggvnyt prblunk meg maximalizlni, amely tbb fggvny szorzataknt ll elo, akkor gyakran knnyebb az ln( f (x1 , x2 , . . . , xn )) fggvnyt maximalizlni helyette. Mivel az ln egy nvekvo fggvny, ezrt brmely olyan x , amely maximalizlja az ln( f (x1 , x2 , . . . , xn )) fggvnyt az (x1 , x2 , . . . , xn ) rtkek valamilyen lehetsges
tartomnyn, maximalizlni fogja az f (x1 , x2 , . . . , xn ) fggvnyt is az (x1 , x2 , . . . , xn ) rtkek
ugyanezen lehetsges tartomnyn. Lsd a 2. feladatot ennek az tletnek az alkalmazsra.

Feladatok
A csoport

egy dollrt lehetne reklmra klteni, kzeltoleg mennyivel


nvekedne a profit? Mennyivel nvekedne a bevtel?

1. Mutassuk meg a 22. pldnl, hogy ha a dollr ll rendelkezsre hirdetsre, akkor jabb egy dollr reklmra kltse kzeltoleg 114 a rtkkel nveli a bevtelt!
2. Tegyk fel, hogy 2 dollrba kerl egyrnyi munkaero s 1 dollrba egyegysgnyi toke beszerzse. Ha L rnyi munkaero s K egysgnyi toke ll rendelkezsre, akkor
L2/3 K 1/3 gpet lehet elolltani. Ha 10 dollrunk van munkaero s toke beszerzsre, mennyi a gyrthat gpek maximlis szma?
3. A 2. feladatban mi a minimlis kltsge 6 gp elolltsnak?
4. Egy sripari cg kt krzetre osztotta fel Bloomington
terlett. Ha x1 dollrt kltenek reklmra az elso krzetben,
1/2
akkor ott 6x1 lda srt tudnak eladni, ha pedig x2 dollrt
1/2

kltenek reklmra a msodik krzetben, akkor ott 4x2 lda


srt tudnak eladni. Az elso krzetben 10 dollrrt lehet rtkesteni egy lda srt, a szlltsi s termelsi kltsgek
pedig 5 dollrt tesznek ki. A msodik krzetben 9 dollrrt
lehet eladni egy lda srt, a szlltsi s termelsi kltsg
pedig 4 dollr. sszesen 100 dollrt lehet reklmra klteni.
Hogyan tudja a cg maximalizlni a profitjt? Ha tovbbi

B csoport
5. Minden pnznket kt rszvnybe kell fektetnnk, xbe s y-ba. Az x rszvny ves hozamnak szrsngyzete
var (x), az y rszvny pedig var (y). Jellje cov(x, y) az x s
y rszvny ves hozama kztti kovariancit. Ha pnznk a
szzalkt fektetjk az x rszvnybe, b szzalkt pedig az y
rszvnybe, a hozam szrsngyzete a2 var (x)+b2 var (y)+
2ab cov (x, y) lesz. Minimalizlni akarjuk a befektetett pnznk hozamnak szrsngyzett. Pnznk hny szzalkt
fektessk az egyes rszvnyekbe?
6. Az 5. feladathoz hasonlan dntennk kell, hogy pnznk mekkora rszt fektessk az x s y rszvnyekbe. Egy
a s b vlasztst portflinak neveznk. Egy portfli hatkony, ha nem ltezik egy msik olyan portfli, amelynek
magasabb vrhat hozama s alacsonyabb szrsngyzete,
vagy magasabb vrhat hozama s ugyanolyan szrsngyzete, vagy alacsonyabb szrsngyzete s ugyanolyan vrhat hozama van. Jellje x az x rszvny vrhat hozamt,
y pedig az y rszvny vrhat hozamt.

588

10. fejezet Nemlineris programozs


(b) Mutassuk meg, hogy az i-edik termk rnak nvelse az i-edik termkbol vsroland mennyisg cskkenst eredmnyezi!

Tekintsk a kvetkezo NLP feladatot:


max z = c[ax + by]

(1 c)[a2 var (x) + b2 var (y)

(c) Mutassuk meg, hogy az i-edik termk rnak nvelse nem vltoztatja meg a msik termkbol vsroland
mennyisget!

+ 2abcov (x, y)]

f.h.

a+b = 1
a, b 0

Tegyk fel, hogy 1 > c > 0. Mutassuk meg, hogy ennek az


NLP feladatnak minden optimlis megoldsa hatkony portfli!
7. Tegyk fel, hogy az i-edik termk (i = 1, 2) egy egysge ci dollrba kerl. Ha xi (i = 1, 2) egysget vsrolunk
az elso s a msodik termkbol, akkor ez xa1 x21a (0 < a < 1)
hasznot hoz szmunkra.
(a) Ha d dollrt klthetnk a kt termk vsrlsra,
mennyit vsroljunk az egyes termkekbol?

10.8.

8. Tegyk fel, hogy egy henger alak dtoital fmdoboza


trfogatnak 26 kbcentimternek kell lennie. Ha az dtoital gyrtja minimalizlni szeretn a fmdoboz fellett, mi
legyen a fmdoboz magassga s sugara kztti arny? (tmutats: A henger alak fmdoboz trfogata r 2 h, fellete
pedig 2r2 + 2rh, ahol r a henger sugara, h pedig a magassga.)
9. Mutassuk meg, hogy ha az i-edik felttel jobb oldala
egy kis bi mennyisggel nvekszik (akr maximalizls,
akr minimalizls esetn), akkor a (11) feladat optimlis z
rtke kzeltoleg i=m
i=1 (bi )i mennyisggel nvekszik!

A KuhnTucker felttelek
Ebben az alfejezetben szksges s elgsges feltteleket vizsglunk meg arra vonatkozan, hogy egy x = (x1 , x2 , . . . , xn ) vektor optimlis megoldsa legyen a kvetkezo NLP
feladatnak:
max (vagy min ) f (x1 , x2 , . . . , xn )
f.h. g1 (x1 , x2 , . . . , xn ) b1
g2 (x1 , x2 , . . . , xn ) b2
..
.

(25)

gm (x1 , x2 , . . . , xn ) bm

Az egyszerusg kedvrt ebben az alfejezetben feltesszk, hogy az NLP feladatok minden


felttele felttel. A h(x1 , x2 , . . . , xn ) b alak feltteleket h(x1 , x2 , . . . , xn ) b alakra
kell trni. Pldul 2x1 + x2 2 helyett 2x1 x2 2 rhat. Egy h(x1 , x2 , . . . , xn ) = b
alak felttel helyettestheto a h(x1 , x2 , . . . , xn ) b s h(x1 , x2 , . . . , xn ) b felttelekkel.
Pldul 2x1 + x2 = 2 helyettestheto a 2x1 + x2 2 s 2x1 x2 2 felttelekkel.
A 9. s 90 . ttelek feltteleket adnak (KuhnTucker vagy KT felttelek), amelyek
szksgesek ahhoz, hogy egy x = (x1 , x2 , . . . , xn ) pont megoldja a (25) feladatot. Az f fggvny x j vltoz szerinti parcilis derivltjnak x pontban vett rtkt jellje

f (x)

xj
Az itt bemutatand ttelekhez szksges, hogy a g1 , g2 , . . . , gm fggvnyek eleget tegyenek bizonyos regularitsi feltteleknek. Az egyik regularitsi felttelt ennek az alfejezetnek a vgn fogjuk majd rviden trgyalni. (A regularitsi felttelek rszletes trgyalsa
megtallhat a Bazaraa s Shetty (1993) knyv 5. fejezetben.)
Ha a felttelek linerisak, ezek a regularitsi felttelek mindig teljeslnek. Ms esetekben (klnsen, ha nhny felttel egyenlo sgknt adott), a regularitsi felttelek esetleg

10.8. A KuhnTucker felttelek

589

nem llnak fenn. Feltesszk, hogy az sszes itt tekintett feladatnl teljeslnek a regularitsi
felttelek.

9. TTEL

Tegyk fel, hogy (25) egy maximalizlsi feladat. Ha x = (x1 , x2 , . . . , xn ) a (25) optimlis megoldsa, akkor x = (x1 , x2 , . . . , xn ) eleget tesz a (25) feladat m felttelnek,
tovbb lteznek olyan 1 , 2 , . . . , m szorzk, amelyek teljestik a kvetkezo feltteleket:
i=m
f (x)

gi (x)

i
=0
xj

x
j
i=1
i [bi gi (x)]
=0

i 0

90 . TTEL

( j = 1, 2, . . . , n)

(26)

(i = 1, 2, . . . , m)

(27)

(i = 1, 2, . . . , m)

(28)

Tegyk fel, hogy (25) egy minimalizlsi feladat. Ha x = (x1 , x2 , . . . , xn ) a (25) optimlis megoldsa, akkor x = (x1 , x2 , . . . , xn ) eleget tesz a (25) feladat m felttelnek,
tovbb lteznek olyan 1 , 2 , . . . , m szorzk, amelyek teljestik a kvetkezo feltteleket:
i=m
f (x)

gi (x)

+ i
=0
xj
xj
i=1
=0
i [bi gi (x)]

( j = 1, 2, . . . , n)
(i = 1, 2, . . . , m)

i 0

(i = 1, 2, . . . , m)

Az elozo alfejezet Lagrange-szorzihoz hasonlan a KT felttelekben szerepl o i szorzkat is tekinthetjk a (25) feladat i-edik felttele rnykraknt. Tegyk fel, hogy (25) egy
maximalizlsi feladat. Ha az i-edik felttel jobb oldalt bi -rol bi + -ra nveljk (ahol
kicsi), a clfggvny optimlis rtke kzelto leg i mennyisggel no. Tegyk fel, hogy
(25) egy minimalizlsi feladat. Ha az i-edik felttel jobb oldalt bi -rol bi + -ra nveljk
(ahol kicsi), a clfggvny optimlis rtke kzelto leg i mennyisggel cskken.
A szorzk rnykrknt val rtelmezsnek segtsgvel rtelmezni tudjuk a (26)(28)
feltteleket is maximalizlsi feladat esetn. Tegyk fel, hogy (25) minden felttele egy
eroforrs-felhasznlsi felttel. Teht az x = (x1 , x2 , . . . , xn ) pontban gi (x1 , x2 , . . . , xn ) egysgnyit hasznlunk az i-edik ero forrsbl, s bi egysg ll rendelkezsre az i-edik ero forrsbl. Ha az x j rtkt nveljk egy kis mennyisggel, a clfggvny rtke

f (x)

xj
mennyisggel nvekszik. Az x j rtknek x j + szintre trtno vltoztatsa az i-edik felttelt is megvltoztatja:
gi (x)
+

gi (x)

bi ,
xj

azaz gi (x)
bi

gi (x)

xj

Teht ha x j -t -val nveljk, annak az a hatsa, hogy az i-edik felttel jobb oldalt

gi (x)

xj

590

10. fejezet Nemlineris programozs

mennyisggel nveljk. A felttelek jobb oldalainak ezek a vltoztatsai z rtkt kzeltoleg


i=m
gi (x)

x
j
i=1
mennyisggel fogjk nvelni. sszessgben x j -nek -val val nvelse z rtkt kzeltoleg
"
#
i=m
f (x)

g
(
x)

i
i

xj
xj
i=1
mrtkben vltoztatja meg. Ha a zrjelben levo kifejezs nagyobb nullnl, nvelni tudjuk
f rtkt > 0 vlasztsval. Msrszt, ha ez a kifejezs kisebb nullnl, nvelni tudjuk f
rtkt < 0 vlasztsval. Teht optimlis x esetn a (26) felttelnek teljeslnie kell.
A (27) felttel az LP feladatokra a 6.10. alfejezetben mr trgyalt kiegszt o eltrsek
feltteleinek (komplementaritsi felttelek) ltalnostsa. A (27) felttel szerint ugyanis
ha i > 0,

akkor gi (x)
= bi (az i-edik felttel aktv)
ha gi (x)
< bi , akkor i = 0

(270 )
(2700)

Tegyk fel, hogy a gi (x1 , x2 , . . . , xn ) bi felttel eroforrs-felhasznlsi felttel, s azt jelenti, hogy legfeljebb bi egysgnyit lehet felhasznlni az i-edik ero forrsbl. Ekkor (270 )
azt lltja, hogy ahhoz, hogy az i-edik felttelhez rendelt ero forrs egy jabb egysgnek legyen valamilyen nemnulla rtke, az aktulis optimlis megoldsnak az i-edik er o forrsbl
rendelkezsre ll sszes bi egysget fel kell hasznlnia. Msrszt (2700) azt lltja, hogy ha
az i-edik eroforrsbl aktulisan rendelkezsre ll mennyisg nincs teljesen felhasznlva,
akkor az i-edik eroforrs jabb egysgeinek nincs rtke.
Ha > 0 esetn bi -rol bi + szintre nveljk az i-edik felttel jobb oldalt, az optimlis
clfggvnyrtknek nvekednie kell vagy ugyanazon a szinten kell maradnia, mivel a jobb
oldal nvelse nvelte vagy meghagyta a feladat lehetsges tartomnyt. Mivel az i-edik
felttel jobb oldalnak -val val nvelse az optimlis clfggvnyrtket is nveli i
mennyisggel, nyilvn i 0. Ezrt szerepel (28) a KT felttelek kztt.
A KT feltteleket sokszor olyan NLP feladatoknl is alkalmazzk, ahol a vltozk
nemnegatvok kell hogy legyenek. Pldul hasznlni szeretnnk a KT feltteleket a kvetkezo feladat optimlis megoldsnak megkeressre:
max (vagy min ) z = f (x1 , x2 , . . . , xn )
f.h. g1 (x1 , x2 , . . . , xn ) b1
g2 (x1 , x2 , . . . , xn ) b2
..
.
gm (x1 , x2 , . . . , xn ) bm
x1 0
x2 0
..
.

(29)

xn 0

Ha a 1 , 2 , . . . , n szorzkat rendeljk hozz (29) nemnegativitsi feltteleihez, akkor a 9.


s 90 . ttel az itt kvetkezo 10. s 100 . ttel alakjban rhat fel.

10.8. A KuhnTucker felttelek

10. TTEL

591

Tegyk fel, hogy (29) egy maximalizlsi feladat. Ha x = (x1 , x2 , . . . , xn ) a (29) optimlis megoldsa, akkor x = (x1 , x2 , . . . , xn ) eleget tesz a (29) feladat feltteleinek,
tovbb lteznek olyan 1 , 2 , . . . , m , 1 , 2 , . . . , m szorzk, amelyek teljestik a kvetkezo feltteleket:
i=m
f (x)

gi (x)

i
+ j = 0
xj
xj
i=1
i [bi gi (x)]
=0
#
"
i=m
f (x)

gi (x)

x j = 0
i
xj

x
j
i=1

( j = 1, 2, . . . , n)

(30)

(i = 1, 2, . . . , m)

(31)

( j = 1, 2, . . . , n)

(32)

i 0
j 0

(i = 1, 2, . . . , m)
( j = 1, 2, . . . , n)

(33)
(34)

Mivel j 0, (30) azzal ekvivalens, hogy


i=m
f (x)

gi (x)

i
0
xj
xj
i=1

( j = 1, 2, . . . , n)

(300 )

Ekkor a maximalizlsi feladatra, nemnegativitsi felttelek esetn rvnyes (30)(33) KT


felttelek az albbi alakban is felrhatk:

100 . TTEL

i=m
f (x)

gi (x)

i
0
xj

x
j
i=1
i [bi gi (x)]
=0
#
"
i=m
f (x)

gi (x)

x j = 0
i
xj

x
j
i=1

( j = 1, 2, . . . , n)

(300 )

(i = 1, 2, . . . , m)

(310 )

( j = 1, 2, . . . , n)

(320 )

i 0

(i = 1, 2, . . . , m)

(330 )

Tegyk fel, hogy (29) egy minimalizlsi feladat. Ha x = (x1 , x2 , . . . , xn ) a (29) optimlis megoldsa, akkor x = (x1 , x2 , . . . , xn ) eleget tesz a (29) feladat feltteleinek,
tovbb lteznek olyan 1 , 2 , . . . , m , 1 , 2 , . . . , m szorzk, amelyek teljestik a kvetkezo feltteleket:
i=m
f (x)

gi (x)

+ i
j = 0
xj

x
j
i=1
i [bi gi(x)]
=0
"
#
i=m
f (x)

gi (x)

+ i
x j = 0
xj
xj
i=1

i 0
j 0

( j = 1, 2, . . . , n)

(35)

(i = 1, 2, . . . , m)

(36)

( j = 1, 2, . . . , n)

(37)

(i = 1, 2, . . . , m)

(38)

( j = 1, 2, . . . , n)

(39)

592

10. fejezet Nemlineris programozs

Mivel j 0, (35) azzal ekvivalens, hogy


i=m
f (x)

gi (x)

+ i
0
xj

x
j
i=1

(350 )

Ekkor a minimalizlsi feladatra, nemnegativitsi felttelek esetn rvnyes (35)(38) KT


felttelek az albbi alakban is felrhatk:
i=m
f (x)

gi (x)

+ i
0
xj

x
j
i=1
=0
i [bi gi (x)]
#
"
i=m
f (x)

gi (x)

x j = 0
+ i
xj

x
j
i=1

( j = 1, 2, . . . , n)

(350 )

(i = 1, 2, . . . , m)

(360 )

( j = 1, 2, . . . , n)

(370 )

i 0

(i = 1, 2, . . . , m)

(380 )

A 9., 90 ., 10. s 100 . ttelek szksges feltteleket adnak arra vonatkozan, hogy egy
x = (x1 , x2 , . . . , xn ) pont a (25) vagy a (29) feladat optimlis megoldsa legyen. A kvetkez o
kt ttel elgsges felttelt ad arra, hogy x = (x1 , x2 , . . . , xn ) a (25) vagy a (29) feladat
optimlis megoldsa legyen (lsd Bazaraa s Shetty (1993)).

11. TTEL

110 . TTEL

M EGJEGYZS

Tegyk fel, hogy (25) egy maximalizlsi feladat. Ha f (x1 , x2 , . . . , xn ) konkv fggvny, g1 (x1 , x2 , . . . , xn ), . . . , gm (x1 , x2 , . . . , xn ) fggvnyek pedig konvexek, akkor
minden olyan x = (x1 , x2 , . . . , xn ) pont, amely eleget tesz a 9. ttel feltteleinek, a
(25) feladat optimlis megoldsa. Hasonlan, ha (29) egy maximalizlsi feladat,
f (x1 , x2 , . . . , xn ) konkv fggvny, g1 (x1 , x2 , . . . , xn ), . . . , gm (x1 , x2 , . . . , xn ) pedig konvex fggvnyek, akkor minden olyan x = (x1 , x2 , . . . , xn ) pont, amely eleget tesz a 10.
ttel feltteleinek, a (29) feladat optimlis megoldsa.
Tegyk fel, hogy (25) egy minimalizlsi feladat. Ha f (x1 , x2 , . . . , xn ) konvex fggvny, s a g1 (x1 , x2 , . . . , xn ), . . . , gm (x1 , x2 , . . . , xn ) fggvnyek is konvexek, akkor
minden olyan x = (x1 , x2 , . . . , xn ) pont, amely eleget tesz a 90 . ttel feltteleinek, a
(25) feladat optimlis megoldsa. Hasonlan, ha (29) egy minimalizlsi feladat,
f (x1 , x2 , . . . , xn ) konvex fggvny, s a g1 (x1 , x2 , . . . , xn ), . . . , gm (x1 , x2 , . . . , xn ) fggvnyek is konvexek, akkor minden olyan x = (x1 , x2 , . . . , xn ) pont, amely eleget tesz
a 100 . ttel feltteleinek, a (29) feladat optimlis megoldsa.

A 11. s 110 . ttel azrt kveteli meg, hogy a gi (x1 , x2 , . . . , xn ) fggvnyek konvexek legyenek, mert
ez biztostja, hogy a (25) s a (29) feladat lehetsges tartomnya konvex halmaz (lsd a 10.2. alfejezet
21. feladatt).

10.8. A KuhnTucker felttelek

593

A KuhnTucker felttelek geometriai rtelmezse


Knnyen lthat, hogy a 9. ttel (26)(28) felttelei pontosan akkor teljeslnek egy x pontban, ha f a g1 , g2 , . . . , gm nemnegatv lineris kombincija, s 0 az a sly, amellyel
gi szorzdik ebben a lineris kombinciban, ha (25) i-edik felttele nem aktv. Rviden,
(26)(28) azzal ekvivalens, hogy lteznek olyan i 0 slyok, hogy
f (x)
=

i=m

i gi(x)

(40)

i=1

s az x-ban

nem aktv felttelek esetn i = 0.


A (40) sszefggst jl illusztrlja a 23. s a 24. bra. A 23. brn a
max z = f (x1 , x2 )
f.h. g1 (x1 , x2 ) 0

g2 (x1 , x2 ) 0

feladatot akarjuk megoldani (a megengedett tartomny stttve van). Az x pontban mindkt felttel aktv, s (40) teljesl 1 > 0 s 2 > 0 szorzkkal. A 24. brn jbl egy
max z = f (x1 , x2 )
f.h. g1 (x1 , x2 ) 0
g2 (x1 , x2 ) 0
alak feladatot akarunk megoldani (a megengedett tartomny jbl stttve van). A msodik felttel most nem aktv, gy (40) 2 = 0 mellett teljesl.
A kvetkezo kt plda a KT felttelek hasznlatt illusztrlja.
23.

BRA

Plda a
KuhnTucker
felttelekre: Mind
a kt felttel aktv

x2

=g2

=f
=g1
f=5

g1 = 0

g2 = 0

x1

594

10. fejezet Nemlineris programozs

24.

BRA

Plda a
KuhnTucker
felttelekre: Az
egyik felttel aktv,
a msik nem aktv

x2

=g2
= f =g1
x

f=3

g1 = 0

24.

PLDA

g2 = 0

x1

Hatrozzuk meg a
max f (x)
f.h. a x b

(41)

feladat optimlis megoldst!


Megolds

Azt mr tudjuk a 10.3. alfejezetbo l, hogy ha ltezik f 0 (x) az [a, b] intervallum minden pontjban, akkor ennek a feladatnak az optimlis megoldsa vagy az a pontban van ( f 0 (a) 0
esetn), vagy a b pontban ( f 0 (b) 0 esetn), vagy pedig egy olyan pontban, amelyre
f 0 (x) = 0 teljesl. Mit jelentenek a KT felttelek erre a hrom esetre?
rjuk fel a (41) feladatot
max f (x)

alakban. Ekkor (26)(28) alapjn

f.h. x a
xb
f 0 (x) + 1 2 = 0

1 (a + x)
2 (b x)
1
2

(42)

= 0
= 0

(43)
(44)

0
0

(45)
(46)

A KT felttelek ilyen NLP feladatokra trtno alkalmazsnl rdemes kihasznlni, hogy


az sszes i szorz esetben i = 0 vagy i > 0. Teht a (42)(46) feltteleknek eleget tevo
x, 1 s 2 rtkek keressnl rdemes a kvetkezo ngy esetet megklnbztetni:
1. eset 1 = 2 = 0. Ekkor (42)-bol az f 0 (x)
= 0 eset addik.
2. eset 1 = 0, 2 > 0. Mivel 2 > 0, (44) alapjn x = b. Ekkor (42)-bo l f 0 (b) = 2 , s
mivel 2 > 0, azt kapjuk, hogy f 0 (b) > 0.

10.8. A KuhnTucker felttelek

595

3. eset 1 > 0, 2 = 0. Mivel 1 > 0, (43) alapjn x = a. Ekkor (42)-bo l f 0 (a) = 1 < 0.

4. eset 1 > 0, 2 > 0. A (43) s (44) sszefggsekbo l azt kapjuk, hogy x = a s x = b.


Ez az ellentmonds azt jelzi, hogy a 4. eset nem fordulhat elo .
Mivel a felttelek linerisak, a 11. ttel szerint, ha f (x) konkv, akkor (42)(46) optimlis
megoldst szolgltat (41) szmra.

25.

PLDA

Megolds

Egy monopolhelyzetben levo cg 17.25 deka mennyisgig vsrolhat egy kmiai anyagbl,
deknknt 10$ ron. Deknknt 3$ kltsggel a kmiai anyag egy dekja egy deka 1. termkk, 5$ kltsggel pedig egy deka 2. termkk dolgozhat fel. Ha x 1 dekt lltanak elo
az 1. termkbol, azt 30 x1 dollr ron lehet rtkesteni deknknt. Ha pedig x2 dekt lltanak elo a 2. termkbol, azt 50 2x2 dollr ron lehet rtkesteni deknknt. Hatrozzuk
meg, miknt tudja a cg maximalizlni a profitjt!
Legyen
x1 = az 1. termkbol elolltott mennyisg (deka)
x2 = a 2. termkbol elolltott mennyisg (deka)
x3 = a feldolgozott kmiai anyag mennyisge (deka)
Ekkor a kvetkezo NLP feladatot kell megoldanunk:
max z = x1 (30 x1) + x2 (50 2x2) 3x1 5x2 10x3
f.h. x1 + x2 x3 , azaz x1 + x2 x3 0

(47)

x3 17.25

Termszetesen az x1 , x2 , x3 0 feltteleket is hozz kellene adnunk. Mivel azonban (47)


optimlis megoldsa eleget fog tenni a nemnegativitsi feltteleknek, azrt annak az NLP
feladatnak is optimlis megoldsa lesz, amit (47) nemnegativitsi felttelekkel val kiegsztsvel kapunk.
Vegyk szre, hogy (47) clfggvnye konkv fggvnyek sszege (azrt nmaga is
konkv), tovbb a felttelek konvexek (mivel linerisak). Teht a 11. ttel alapjn a KT
felttelek szksgesek s elgsgesek ahhoz, hogy (x1 , x2 , x3 ) a (47) optimlis megoldsa
legyen. A 9. ttel alapjn a KT felttelek a kvetkezo k:
30 2x1 3 1 = 0
50 4x2 5 1 = 0
10 + 1 2 = 0

1 (x1 x2 + x3 )
2 (17.25 x3)
1
2

(48)
(49)
(50)

= 0

(51)

= 0
0

(52)
(53)

(54)

Az elozo pldhoz hasonlan most is ngy esetet klnbztetnk meg:


1. eset 1 = 2 = 0. Ez az eset (50) miatt nem fordulhat elo .
2. eset 1 = 0, 2 > 0. Ha 1 = 0, akkor (50) miatt 2 = 10. Ez pedig ellentmond (54)nek.

596

10. fejezet Nemlineris programozs

3. eset 1 > 0, 2 = 0. Ekkor (50) miatt 1 = 10. Innen (48) alapjn x1 = 8.5, (49) alapjn
pedig x2 = 8.75 addik. Vgl (51)-bol azt kapjuk, hogy x1 + x2 = x3 , azaz x3 = 17.25.
Teht x1 = 8.5, x2 = 8.75, x3 = 17.25, 1 = 10, 2 = 0 eleget tesz a KT feltteleknek.
4. eset 1 > 0, 2 > 0. Mivel a 3. eset mr elolltott egy optimlis megoldst, a 4. esetet
mr nem is kell tekintennk.
Teht a (47) optimlis megoldsa az, hogy venni kell 17.25 dekt a kmiai anyagbl,
majd pedig 8.5 dekt kell gyrtani az 1. termkbo l s 8.75 dekt a 2. termkbol. A 1 = 10
azt jelzi, hogy ha egy kis mennyisggel kltsgmentesen nvelni lehetne a rendelkezsre ll kmiai anyag mennyisgt, akkor a profit 10 mennyisggel nvekedne. (Tudjae, hogy mirt?) Az (50) sszefggsbo l azt kapjuk, hogy 2 = 0. Ebbol viszont az kvetkezik, hogy az a lehetosg, hogy jabb dekval nvelhetnnk a kmiai anyag mennyisgt,
nem nveln a profitot. (Tudja-e, hogy mirt?)

Regularitsi felttelek
Ha egy optimlis x pontban nem rvnyes egy regularitsi felttel, lehet, hogy a Kuhn
Tucker felttelek sem teljeslnek x-ban.

Sokfle regularitsi felttel van, mi a lineris fggetlensgen alapul regularitsi felttel trgyalst vlasztjuk. A lineris fggetlensgen
alapul regularitsi felttel a kvetkezo : Legyen x a (25) vagy a (29) NLP feladat egy optimlis megoldsa. Ha az sszes gi folytonos, s az x-ban

aktv felttelek (az x1 , x2 , . . . , xn vltozkra vonatkoz aktv nemnegativitsi feltteleket is belertve) gradiensei linerisan fggetlen vektorrendszert alkotnak, akkor a KuhnTucker feltteleknek teljeslnie kell x-ban.

A kvetkezo plda azt mutatja meg, hogy ha nem teljesl a lineris fggetlensgen alapul regularitsi felttel, akkor elofordulhat, hogy egy NLP feladat optimlis megoldsban
nem llnak fenn a KuhnTucker felttelek.

26.

PLDA

Mutassuk meg, hogy a kvetkezo NLP feladat optimlis megoldsban nem teljeslnek a
KuhnTucker felttelek:
max z = x1
f.h.

Megolds

x2 (1 x1)3 0
x1 0, x2 0

(55)

Ha x1 > 1 lenne, akkor (55) felttelbo l x2 < 0 addna. Teht (55) optimlis z rtke nem
lehet nagyobb 1-nl. Mivel x1 = 1 s x2 = 0 egy lehetsges megolds s esetkben z = 1,
az (1, 0) pont az (55) NLP feladat egy optimlis megoldsa.
A 10. ttel alapjn az (55)-re vonatkoz KuhnTucker felttelek az albbiak:
1 + 31(1 x1)2 = 1

1 0

(56)
(57)

Az (1, 0) optimlis megoldsnl (56)-bl 1 = 1 kvetkezik, ez viszont ellentmond


(57)-nek. Teht a KuhnTucker felttelek nem teljeslnek az (1, 0) pontban. Most viszont
azt is megmutatjuk, hogy a (1, 0) pontban a lineris fggetlensgen alapul regularitsi
felttel sem teljesl. Az aktv felttelek (1, 0)-ban x2 (1 x1)3 0 s x2 0. Ekkor
(x2 (1 x1)3 ) = [0, 1]
(x2 ) = [0, 1]

10.8. A KuhnTucker felttelek

597

Mivel [0, 1] + [0, 1] = [0, 0], ezek a gradiensek linerisan sszefgg o ek. Teht az (1, 0)
pontban az aktv felttelek gradiensei linerisan sszefggo ek, s nem teljesl a regularitsi
felttel.

Feladatok
A csoport
1.7 Egy ramszolgltat ki kell hogy elgtse a fogyaszti
ignyeket cscsidoben s cscsidon kvl is. Ha cscsidoben p1 dollrt szmol fel egy kWh energirt, a fogyaszti
igny 60 0.5p1 kWh lesz. Ha cscsidon kvl p2 dollr
lenne egy kWh energia ra, akkor 40 p2 kWh lenne a fogyaszti igny. Az ramszolgltatnak elegendo kapacitssal kell rendelkeznie az ignyek kielgtsre cscsidoben
s azon kvl is. Naponta 10 dollrba kerl minden kWh kapacits fenntartsa. Hatrozzuk meg, hogyan tudja az ramszolgltat maximalizlni napi bevtelnek s napi mukdsi kltsgnek a klnbsgt!

rnknt 25$ kltsgrt lehet brelni. Tokhez korltlan


mennyisgben lehet hozzjutni tokeegysgenknt 5 dollrrt. Heti K egysg toke s L egysg munkaero felhasznlsval L1/2 K 1/3 gpet lehet elolltani. Minden gpet 270
dollrrt lehet rtkesteni. Hogyan tudja a cg maximalizlni a heti profitjt?
6. Hasznljuk a KT feltteleket a kvetkezo NLP feladat
optimlis megoldsnak megkeressre:
min z = (x1 1)2 + (x2 2)2
f.h.

x 1 + x2 = 1
x1 + x 2 2

2. Hasznljuk a KT feltteleket a kvetkezo NLP feladat


optimlis megoldsnak megkeressre:
max z = x1 x2
f.h.

3.

x21 + x22 1

Tekintsk a Giapetto feladatot 3.1. alfejezetbol:


max z = 3x1 + 2x2

x1 , x2 0

7. Magyarzza el, hogy a 25. pldnl mirt kaptuk a


1 = 10 s a 2 = 0 rtkeket. (tmutats: Gondoljon arra a
kzgazdasgi elvre, hogy minden termk gyrtsnl a hatrhaszonnak s a hatrkltsgnek meg kell egyeznie!)
8. Hasznljuk a KT feltteleket a kvetkezo NLP feladat
optimlis megoldsnak megkeressre:

f.h. 2x1 + x2 100

max z = x21 x22 + 4x1 + 6x2

x1 + x2 80
x1

x1

f.h. x1 + x2 6

40

x1

x2 0

rjuk fel a KT feltteleket erre a feladatra, s vizsgljuk


meg kapcsolatukat a Giapetto LP feladat duljval, illetve az
LP feladatra vonatkoz kiegszto eltrsek (komplementaritsi) felttelekkel!
4. Ha a (25) feladat lehetsges tartomnya korltos s
zrt, a clfggvny pedig folytonos, akkor megmutathat,
hogy (25)-nek van optimlis megoldsa. Tegyk fel, hogy
teljeslnek a regularitsi felttelek, a 11. s 110 . ttel felttelei azonban nem rvnyesek. Ha be tudjuk bizonytani,
hogy csak egyetlen pont tesz eleget a KT feltteleknek, akkor mirt kell ennek a pontnak egyben az NLP feladat optimlis megoldsnak is lennie?

x1 , x2 0

9. Hasznljuk a KT feltteleket a kvetkezo NLP feladat


optimlis megoldsnak megkeressre:
min z = ex1 + e2x2
f.h. x1 + x2 1
x1 , x2 0

10. Hasznljuk a KT feltteleket a kvetkezo NLP feladat


optimlis megoldsnak megkeressre:

5. Egy cgnl sszesen heti 160 ra munkaero ll rendelkezsre, rnknt 15$ kltsgrt. Tovbbi munkaerot
7 Littlechild,

x2 4

Peak Loads (1970) cikke alapjn.

min z = (x1 3)2 + (x2 5)2


f.h. x1 + x2 7

x1 , x2 0

598

10. fejezet Nemlineris programozs

Oldja meg a kvetkezo feladatokat valamilyen optimalizlsi programcsomag felhasznlsval! Az ilyen programcsomagok ltalban loklis optimumot vagy stacionrius
pontot szolgltatnak. Vizsglja meg, hogy vajon a programcsomag ezeknl a feladatoknl az optimlis megoldst is
megtallja-e.
11. Oldja meg a 10.1. alfejezet 7. feladatt!
12. Oldja meg a 10.1. alfejezet 8. feladatt!

pedig alacsonyabb szrsngyzete s azonos vrhat hozama lenne. Legyen x az x rszvny vrhat hozama, y pedig
az y rszvny vrhat hozama. Az x hozamnak szrsngyzett jellje var (x), az y hozamnak szrsngyzett pedig
var (y). Jellje cov (x, y) az x hozama s az y hozama kztti
kovariancit. Ha pnznk a%-t fektetjk az x rszvnybe,
b%-t pedig az y rszvnybe, akkor a hozam szrsngyzete
a kvetkezokppen adhat meg:
a2 var (x) + b2 var (y) + 2abcov (x, y).

13. Oldja meg a 10.1. alfejezet 11. feladatt!


14. Oldja meg a 10.1. alfejezet 12. feladatt!

Tekintsk a kvetkezo NLP feladatot:

15. Oldja meg a 10.1. alfejezet 13. feladatt!

max z = ax + by
f.h. a2 var (x) + b2 var (y) + 2abcov (x, y) v ,

B csoport

a + b = 1,

16. Meg kell hatroznunk, hogy pnznk hny szzalkt


fektessk az x s az y rszvnybe. Fektessk pnznk a rszt az x rszvnybe, b = 1 a rszt pedig az y rszvnybe.
Egy a s b vlasztst portflinak neveznk. Egy portfli
hatkony, ha nincs msik olyan portfli, amelynek magasabb vrhat hozama s alacsonyabb szrsngyzete, vagy
magasabb vrhat hozama s azonos szrsngyzete, vagy

10.9.

ahol v egy adott nemnegatv szm.


(a) Mutassuk meg, hogy ennek az NLP feladatnak minden megoldsa egy hatkony portfli!
(b) Mutassuk meg, hogy ha v a nemnegatv szmok teljes tartomnyban vesz fel rtket, akkor az sszes hatkony portflit megkapjuk!

Kvadratikus programozs
Tekintsnk egy olyan NLP feladatot, amelynek a clfggvnye x k11 xk22 . . . xknn alak kifejezsek sszegeknt ll elo. Az xk11 xk22 . . . xknn kifejezs foka k1 + k2 + kn . Teht az x21 x2
kifejezs foka 3, az x1 x2 kifejezs pedig 2. Egy olyan NLP feladatot, amelynek linerisak
a felttelei, a clfggvnye pedig 0, 1 vagy 2 fok, xk11 xk22 . . . xknn alak kifejezsek sszege,
kvadratikus programozsi feladatnak neveznk.
Szmos mdszer alkalmazhat kvadratikus programozsi feladatok megoldsra (lsd
Bazaraa s Shetty (1993, 11. fejezet)). Mi itt a kvadratikus programozs portflikivlasztsra trtno alkalmazst mutatjuk be, majd a kvadratikus programozsi feladatok megoldsra szolgl Wolfe-mdszert ismertetjk.

A kvadratikus programozs s a portflikivlaszts


Tekintsnk egy befektetot, aki adott mennyisgu pnzt klnbzo befektetsekben helyezheti el. ltalban azt tesszk fel, hogy egy befekteto maximalizlni akarja a befektetsei (portflija) utni vrhat hozamot, mikzben azt is biztostani akarja, hogy a portfli
kockzata kicsi legyen, ahol a kockzatot a portfli hozamnak szrsngyzetvel mrjk.
Sajnos a magas vrhat hozam rszvnyek esetben ltalban a hozam szrsngyzete
(kockzata) is magas. Ezrt a portflikivlasztsi feladat egyik gyakori megkzeltse az,
hogy vlasztunk egy elfogadhat minimlis vrhat hozam rtket, majd az ezt a vrhat
hozamszintet teljesteni tud portflik kzl megkeressk a minimlis szrsngyzetut.
Pldul egy befekteto keresheti azt a minimlis szrsngyzetu portflit, amelynek a vrhat hozama 12%. Az elfogadhat minimlis vrhat hozam szintjnek vltoztatsval a
befekteto klnbzo portflikat kaphat, s azokat sszehasonlthatja.

10.9. Kvadratikus programozs

599

Ezekkel a meggondolsokkal a portflikivlasztsi feladatot egy kvadratikus programozsi feladatra vezethetjk vissza. Ehhez szksgnk van azokra a 11.6. alfejezetben
trgyalt szablyokra, amelyek a valsznusgi vltozk sszege vrhat rtknek s szrsngyzetnek meghatrozsra vonatkoznak.
Tudjuk, hogy adott X1 , X2 , . . . , Xn valsznusgi vltozk, valamint a, b s k konstansok
esetn
E(X1 + X2 + + Xn ) = E(X1 ) + E(X2) + + E(Xn )
var (X1 + X2 + + Xn ) = var X1 + var X2 + + var Xn
+ cov(Xi , X j )

(58)
(59)

i6= j

E(kXi ) = kE(Xi )
var (kXi ) = k2 var Xi

(60)
(61)

cov (aXi , bX j ) = ab cov(Xi , X j )

(62)

A kvetkezo pldn megmutatjuk, hogyan lehet a portflikivlasztsi feladatot kvadratikus programozsi feladatknt felrni.

27.

PLDA

Tegyk fel, hogy 1000 dollrunk van, s azt hrom rszvnybe fektethetjk. Legyen S i az
a valsznusgi vltoz, amely az i-edik rszvnybe fektetett egy dollr utni ves hozamot kpviseli. Teht ha Si rtke 0.12, akkor az v elejn az i-edik rszvnybe fektetett 1 dollr az v vgn 1.12 dollrt r. A kvetkezo informcikkal rendelkeznk:
E(S1 ) = 0.14, E(S2) = 0.11, E(S3 ) = 0.10, var S1 = 0.20, var S2 = 0.08, var S3 = 0.18,
cov(S1 , S2 ) = 0.05, cov(S1 , S3 ) = 0.02, cov(S2 , S3 ) = 0.03. lltsunk fel egy kvadratikus
programozsi feladatot, amely segtsgvel meghatrozhatjuk azt a portflit, amelynek az
ves vrhat hozama legalbb 12%, s az ilyen portflik kzl minimlis az ves hozam
szrsngyzete.

Megolds

Jellje x j , hogy hny dollrt fektetnk a j-edik rszvnybe ( j = 1, 2, 3). Ekkor a portfli
ves hozama (x1 S1 + x2 S2 + x3 S3 )/1000, a portfli ves hozamnak vrhat rtke pedig
((58) s (60) alapjn)
x1 E(S1 ) + x2 E(S2 ) + x3E(S3 )
1000
Annak biztostsra, hogy a portfli vrhat hozama legalbb 12% legyen, a kvetkez o
felttelt kell megfogalmazni:
0.14x1 + 0.11x2 + 0.10x3
0.12, azaz 0.14x1 + 0.11x2 + 0.10x3 0.12(1000) = 120.
1000
Termszetesen az x1 + x2 + x3 = 1000 felttelt is fel kell rni. Feltesszk, hogy csak nemnegatv sszeget lehet egy rszvnybe fektetni (azaz a rvidre elads nem megengedett),
ezrt az x1 , x2 , x3 0 feltteleket is csatolni kell. Clunk egyszeruen a portfli ves hozama szrsngyzetnek a minimalizlsa.
Tudjuk (59)-bol, hogy a portfli hozamnak szrsngyzete a kvetkez o :

600

10. fejezet Nemlineris programozs

var (x1 S1 + x2 S2 + x3 S3 ) = var (x1 S1 ) + var (x2 S2 ) + var (x3 S3 )


+ 2 cov(x1 S1 , x2 S2 ) + 2 cov(x1 S1 , x3 S3 )
+ 2 cov(x2 S2 , x3 S3 )
= x21 var S1 + x22 var S2 + x23 var S3 + 2x1x2 cov(S1 , S2 )
+ 2x1x3 cov(S1 , S3 ) + 2x2x3 cov(S2 , S3 )
(a (61) s (62) egyenletek alapjn)
= 0.20x21 + 0.08x22 + 0.18x23 + 0.10x1x2
+ 0.04x1x3 + 0.06x2x3
Vegyk szre, hogy a portfli szrsngyzetre vonatkoz utols kifejezs msodfok
kifejezsek sszege. Teht egy olyan NLP feladatunk van, ahol a felttelek linerisak, a
clfggvny pedig msodfok kifejezsek sszegbo l ll. A legalbb 12% vrhat hozam
portflik kzl a legkisebb szrsngyzetu portflit a kvetkez o kvadratikus programozsi feladat megoldsval kaphatjuk meg:
min z = 0.20x21 + 0.08x22 + 0.18x23 + 0.10x1x2 + 0.04x1x3 + 0.06x2x3
f.h. 0.14x1 + 0.11x2 + 0.10x3 120
x1 +

x2 +
x3 = 1000
x1 , x2 , x3 0

(63)

Mivel a clfggvny konvex (lsd 2. feladat), a felttelek pedig linerisak, teljeslnek


a 110 . ttel felttelei. Optimalizlsi programcsomag segtsgvel megkaphatjuk a (63)
feladat optimlis megoldst, amely z = 75 238 (dollr)2, x1 = 380.95$, x2 = 476.19$,
x3 = 142.86$. Mivel az elso felttel egyenlosgknt teljesl, az optimlis portfli vrhat hozama pontosan 12%. A portfli ves hozamnak szrsa dollrban (75 238) 1/2 =
274.30$.
Egy befektetsi portfli hozamt gyakran kzeltik normlis eloszlssal. Tudjuk, hogy
a normlis eloszls nagyjbl 95%-os valsznusggel vesz fel a vrhat rtkt o l legfeljebb ktszrsnyi eltrsu rtkeket. Teht 95%-ig biztosak lehetnk abban, hogy az optimlis portfli ves dollrhozama 428.60$ = 120$ 2(274.30$) s 668.60$ = 120$ +
2(274.30$) kztt lesz.

M EGJEGYZSEK

1. A kvadratikus programozs optimlis portflik meghatrozsra trtno alkalmazsnak tlete


Markowitz (1959) dolgozatbl szrmazik, s rszt kpezi azoknak az eredmnyeknek, amelyek
alapjn Markowitz Kzgazdasgi Nobel-djat kapott.
2. A 9. feladatban majd megvizsgljuk, miknt lehet aktulis adatok felhasznlsval megbecslni
egy befektets vrhat hozamt s szrsngyzett, tovbb kt klnbzo befektets esetn a hozamok kztti kovariancit.
3. A 10. feladatban bemutatjuk majd Sharpe (1963) egyfaktoros modelljt, amely nagymrtkben
egyszerusti a portflioptimalizlst.
4. A valsgban tranzakcis kltsgek is fellpnek, amikor befektetseket vesznk vagy adunk el.
A 11. feladatban megvizsgljuk, hogyan mdostjk a tranzakcis kltsgek a portflioptimalizlsi
modelleket.

10.9. Kvadratikus programozs

601

A Wolfe-mdszer kvadratikus programozsi feladatok megoldsra


A Wolfe-mdszer olyan kvadratikus programozsi feladatok megoldsra szolgl, ahol
minden vltoz nemnegatv. A mdszert a kvetkezo kvadratikus programozsi feladat
megoldsn mutatjuk be:
min z = x1 x2 + ( 21 )x21 + x22 x1 x2

f.h. x1 + x2 3
2x1 3x2 6
x1 , x2 0

A clfggvnyrol knnyen megmutathat, hogy konvex, gy brmely pont, amely eleget


tesz a (350 )(380 ) KuhnTucker feltteleknek, a kvadratikus programozsi feladatot is megoldja. Ha bevezetjk az e1 felesleg vltozt (350 ) x1 -hez tartoz felttelbe, az e2 felesleg
vltozt (350 ) x2 -hz tartoz felttelbe, az e02 vltozt a 2x1 3x2 6 felttelbe, az s01
kiegszto vltozt pedig az x1 + x2 3 felttelbe, akkor a KT felttelek a kvetkezo kppen rhatk:
x 1 1 x 2 + 1 2 2 e 1 = 0

(x1 felttele (350 )-ben)

2x2 1 x1 + 1 32 e2 = 0
x1 + x2 + s01 = 3

(x2 felttele (350 )-ben)

2x1 + 3x2 e02 = 6


minden vltoz nemnegatv

2 e02 = 0,

1 s01 = 0,

e1 x1 = 0,

e 2 x2 = 0

Vegyk szre, hogy az utols ngy egyenlet kivtelvel a KT felttelek linerisak, a nemnegativitsi feltteleket is belertve. Az utols ngy felttel az erre a kvadratikus programozsi feladatra vonatkoz kiegszto eltrs (komplementaritsi) felttelek. Egy ltalnos
kvadratikus programozsi feladat esetn a kiegszto eltrsek felttelei szban a kvetkezokppen rhatk le:
az xi -hez tartoz (350 ) felttel ei felesleg vltozja s xi
nem lehet egyszerre pozitv
az i-edik felttel kiegszto vagy felesleg vltozja s i
nem lehet egyszerre pozitv

(64)

A Wolfe-mdszer egyszeruen a ktfzis szimplex mdszer I. fzist alkalmazza olyan


pont keressre, amely a kiegszto eltrsek feltteleinek kivtelvel eleget tesz a KT
feltteleknek. Elsoknt egy mestersges vltozt csatolunk a KT felttelek minden olyan
egyenlethez, amely nem tartalmaz egy nyilvnval bzisvltozt, majd megprbljuk minimalizlni a mestersges vltozk sszegt. Annak biztostsra, hogy a vgs o megolds
(ahol az sszes mestersges vltoz mr nulla szinten van) eleget tegyen (64) kiegszt o
eltrsekre vonatkoz feltteleinek, a Wolfe-mdszer mdostja a szimplex mdszernek a
bzisba belpo vltoz kivlasztsra szolgl szablyt:
1. Soha ne hajtsunk vgre olyan bziscsert, amely utn (35 0 ) i-edik felttelnek ei vltozja s xi is bzisvltoz lenne.
2. Soha ne hajtsunk vgre olyan bziscsert, amely utn az i-edik felttel kiegszt o
(vagy felesleg) vltozja s i is bzisvltoz lenne.

602

10. fejezet Nemlineris programozs

A Wolfe-mdszernek a fenti pldnkon val alkalmazshoz az albbi LP feladatot kell


megoldanunk:
min w = a1 + a2 + a02
f.h. x1 x2 + 1 22 e1 + a1 = 1
x1 + 2x2 + 1 32 e2 + a2 = 1
x1 + x2 + s01 = 3
2x1 + 3x2 e02 + a02 = 6

minden vltoz nemnegatv

A mestersges vltozk 0. sorbl val eliminlsa utn a 9. tblzat szimplex tbljhoz


jutunk. Az aktulis lehetsges bzismegolds w = 8, a1 = 1, a2 = 1, s01 = 3, a02 = 6. Mivel
x2 egytthatja a legpozitvabb a 0. sorban, az x2 vltozt vlasztjuk bzisba val belpsre.
Az eloll szimplex tbla a 10. tblzatban lthat. Az j lehetsges bzismegolds w = 6,
a1 = 23 , x2 = 21 , s01 = 52 , a02 = 92 . Mivel most x1 egytthatja a legpozitvabb a 0. sorban, az
x1 vltozt vlasztjuk bzisba val belpsre. Az elo ll szimplex tbla a 11. tblzatban
lthat.
9. T B L Z A T
A Wolfe-mdszer
kiindul szimplex
tblja

10. T B L Z A T
A Wolfe-mdszer
elso szimplex
tblja

e1

e2

s01

e02

a1

a2

a02

J.o.

2
1
1
0
0

5
2
3
0
0

1
1
0
0
0

1
0
1
0
0

0
0
0
1
0

1
0
0
0
1

0
1
0
0
0

0
0
1
0
0

0
0
0
0
1

8
1
1
3
6

x2

e1

e2

s01

e02

a1

a2

a02

J.o.

1
72
32
3
2
9
2

3
2
1
2
12
32

1
0
2
1
1
2
3
0
2

7
0
2


e02

x1

x2

1
0
0
0
0

2
1
1
1
2

4
1
2k
1
3

x1

1
0
0
0
0

11. T B L Z A T
A Wolfe-mdszer
msodik szimplex
tblja

x1

x2

12
7
12
7
2
7
1
7
3
7

29
7
29
7
76
73
9
7

0
0
0

1
12
12
1
2
3
2

e1

e2

57
57
27
17
3
7

1
0
0
0

s01
0
0
0
1
0

1
2
1
2
21
32

3
2
1
2
5
2
9
2

a1

a2

a02

J.o.

1
0
7
1
1
7
1

0
7
3
0
7

2
7
0

27
5
7
2
7
1
7
37

87
17
1
7
37
2
7

6
7
6
7
8
7
4
7
9
7

0
0

Az aktulis lehetsges bzismegolds w = 76 , a1 = 76 , x2 = 87 , s01 = 47 , x1 = 97 . A szimplex


mdszer azt javasolja, hogy a 1 vltozt lptessk be a bzisba. Azonban a Wolfe-mdszer
belpsi szablya nem engedi meg, hogy a 1 s az s01 egyszerre legyenek bzisvltozk.
Ezrt a 1 nem lphet be a bzisba. Mivel e02 az egyetlen tovbbi olyan vltoz, amelynek pozitv egytthatja van a 0. sorban, ezrt most az e02 vltozt lptetjk a bzisba.
Az eloll szimplex tbla a 12. tblzatban lthat. Az aktulis lehetsges bzismegolds

10.9. Kvadratikus programozs

603

w = 32 , a1 = 23 , x2 = 43 , e02 = 34 s x1 = 35 . Mivel s01 most nem bzisvltoz, belptethetjk 1 et a bzisba. Az eloll szimplex tbla a 13. tblzatban lthat. Vgl is ez az optimlis
szimplex tbla. Mivel w = 0, egy olyan megoldst talltunk, amely eleget tesz a Kuhn
Tucker feltteleknek, s a kvadratikus programozsi feladat optimlis megoldsa. Teht a
kvadratikus programozsi feladat optimlis megoldsa x1 = 95 , x2 = 56 . Azt optimlis tblbl azt is kiolvashatjuk, hogy 1 = 52 s 2 = 0 (mivel e02 = 65 > 0, tudjuk, hogy 2 = 0
kell, hogy legyen).
A Wolfe-mdszer garantltan megtallja a kvadratikus programozsi feladat optimlis
megoldst, ha a clfggvny Hesse-mtrixnak mindegyik sarokf o minora pozitv. Klnben elofordulhat, hogy a Wolfe-mdszer nem ll le vges szm bziscsere utn. A gyakorlatban a komplementaritsi bziscsern, azaz a kiegszto eltrsek feltteleit megtart bziscsern alapul mdszereket alkalmazzk leggyakrabban kvadratikus programozsi feladatok megoldsra. Sajnos itt most nincs elg hely ezeknek a mdszereknek a
trgyalsra. Az rdeklodo olvasknak Shapiro (1979) knyvt javasoljuk.
12. T B L Z A T
A Wolfe-mdszer
harmadik szimplex
tblja

13. T B L Z A T
A Wolfe-mdszer
optimlis szimplex
tblja

x1

x2

5
4
3

5
4
3

1
1
3
1
1
3
1
3
1

e1

e2

s01

e02

23
23
13
13
1
3

13
13
1
3
7
3
2
3

e1

e2

s01

x1

x2

12
5
15
15
1
5

35
1
5
1
5
15

25
15
15
1
5

51
2
5
12
5
3
5

1
0
0

J.o.

a1

a2

a02

13
2
3
1
3
1
3
13

e02

a1

a2

a02

J.o.

0
0
1
0

3
5
15
15
1
5

2
5
1
5
1
5
15

2
3
2
3
4
3
4
3
5
3

0
0

0
0

2
5
6
5
6
5
9
5

Feladatok
A csoport
1. Hrom rszvnybe val befektets lehetosgt vizsgljuk. Az Si valsznusgi vltoz azt jelli, hogy mennyit
fog rni egy v mlva a most az i-edik rszvnybe befektetett egy dollr. Adott E(S1 ) = 1.15, E(S2 ) = 1.21,
E(S3 ) = 1.09; var S1 = 0.09, var S2 = 0.04, var S3 =
0.01; cov (S1 , S2 ) = 0.006, cov (S1 , S3 ) = 0.004 s
cov (S2 , S3 ) = 0.005. sszesen 100 dollrt fektethetnk be,
s legalbb 15% vrhat hozamot akarunk elrni a kvetkezo vben. Fogalmazzunk meg egy kvadratikus programozsi feladatot, amely a legalbb 15% vrhat hozamot biztost portflik kzl kivlasztja a legkisebb szrsngyzetut!

2. Mutassuk meg, hogy a 27. plda clfggvnye konvex


(megmutathat, hogy brmely portfli hozamnak a szrsngyzete az (x1 , x2 , . . . , xn ) vltozk konvex fggvnye)!
3. Amennyiben rendelkezsnkre ll megfelelo optimalizlsi programcsomag, oldjuk meg vele a 27. pldt!
4. A Fruit Computer Company nevu szmtgpgyrt
cg Krte s Kajszi mrkanevu szmtgpeket gyrt. Ha
p1 jelli a Krte, p2 pedig a Kajszi szmtgp rt, akkor q1 szm Krte s q2 szm Kajszi szmtgpet tudnak eladni, ahol q1 = 4000 10p1 + p2 s q2 = 2000
9p2 + 0.8p1 . Egy Krte szmtgp elolltshoz 2 rnyi
munkaero s 3 ramkri lap szksges. Egy Kajszi szmtgphez 3 rnyi munkaero s 1 ramkri lap kell. Jelenleg

604

10. fejezet Nemlineris programozs

5000 rnyi munkaero s 4500 ramkri lap ll rendelkezsre. Fogalmazzunk meg egy olyan kvadratikus programozsi feladatot, amely a cg rbevtelt maximalizlja. Hasznljuk a KT feltteleket a cg optimlis razsi politikjnak meghatrozsra! Mi az a legtbb, amit a cgnek rdemes fizetnie egy jabb rnyi munkaerort? Mi az a legtbb,
amit a cgnek rdemes fizetnie egy jabb ramkri laprt?
5. Hasznljuk a Wolfe-mdszert a kvetkezo kvadratikus
programozsi feladat megoldsra:
min z = 2x21 x2

f.h. 2x1 x2 1
x1 + x 2 1
x1 , x2 0

6. Hasznljuk a Wolfe-mdszert a kvetkezo kvadratikus


programozsi feladat megoldsra:
min x1 + 2x22
f.h.

x 1 + x2 2

2x1 + x2 3
x1 , x2 0

7. Egy elektromos hlzatban, ha I amper erossgu ram


folyik keresztl egy R ohm rtku ellenllson, akkor a fellpo hlzati vesztesg I 2 R watt. A 25. brn 710 amper ramot kell az 1-es csompontbl a 4-es csompontba juttatni.
Minden csompontban teljeslnie kell az rammegmarads
elvnek. Pldul az 1-es csompontban
25.

BRA

710 = ram az 1 ohmos ellenlls fel + ram a 4 ohmos


ellenlls fel. rdekes mdon a termszet gy hatrozza
meg az egyes ellenllsokon keresztl foly ramot, hogy
minimalizlja az sszes hlzati vesztesget.
(a) rjunk fel egy kvadratikus programozsi feladatot,
amelynek megoldsa megadja az egyes ellenllsokon
keresztl foly ramot!
(b) Ha rendelkezsnkre ll megfelelo optimalizlsi
programcsomag, oldjuk meg a feladat!

8. Hasznljuk a Wolfe-mdszert a kvetkezo kvadratikus


programozsi feladat optimlis megoldsnak meghatrozsra:
min z = x21 + x22 2x1 3x2 + x1 x2
f.h.

x1 + 2x2 2
x1 , x2 0

B csoport
9. (Ehhez a feladathoz szksg van valamennyi ismeretre a regressziszmtsbl, lsd a 22.6. alfejezetet.) A 14.
tblzatban hrom klnbzo tpus befektets (kincstrjegyek, rszvnyek, arany) ves hozamai vannak megadva
az 19681988 vekre vonatkozan. Pldul az 1978 elejn
kincstrjegybe fektetett 1 dollr 1.07 dollrra nott 1978 vgre. Tegyk fel, hogy 1000 dollrt kell befektetnnk ebbe
a hrom befektetsi lehetosgbe. Clunk a portfli ves
hozama szrsngyzetnek a minimalizlsa olyan felttel
mellett, hogy a portfli ves vrhat hozama legalbb 10%
legyen. Hatrozzuk meg, hogy mennyi pnzt fektessnk az
egyes befektetsi lehetosgekbe. Hasznljunk tblzatkezelo programot az egyes befektetsek vrhat hozamnak,
szrsnak s szrsngyzetnek meghatrozsra.
14.

TBLZAT

v
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988

Befektetsek ves hozamai

Rszvnyek
11
9
4
14
19
15
27
37
24
7
7
19
33
5
22
23
6
32
19
5
17

Arany
11
8
14
14
44
66
64
0
22
18
31
59
99
25
4
11
15
12
16
22
2

Kincstrjegy
5
7
7
4
4
7
8
6
5
5
7
10
11
15
11
9
10
8
6
5
6

Emlkeztetnk arra, hogyan lehet kt befektetsi lehetosg


hozama kztt a kovariancit kiszmtani. Pldul a kincstrjegy s az arany hozama kztti kovariancia cov(T, G) =
sT sG rT G , ahol sT = a kincstrjegy hozamnak szrsa;

10.10. Szeparbilis programozs


1

sG = az arany hozamnak szrsa, tovbb rT G = (R2 ) 2 ,


ahol r elojele megegyezik a legkisebb ngyzetes regresszis
egyenes meredeksgnek elojelvel.
Amellett, hogy meghatrozzuk az egyes befektetsekbe elhelyezendo pnz mennyisgt, vlaszoljunk az albbi kt
krdsre is:

ztti kovariancia kiszmtsa nlkl is. (tmutats: A piac


szrsngyzete fog megjelenni az egyenletnkben.) Hasznljuk a regresszis becslst az i-edik befektets hozamnak
a piaci portfli hozama fggvnyeknt val megadsra!
A 9. feladat adataival rjunk fel egy NLP feladatot, amely segtsgvel megkaphatjuk a minimlis szrsngyzetu portflit a legalbb 10% vrhat hozamot nyjt portflik kzl. Mirt hasznos ez a mdszer, amikor sok lehetsges befektetsi lehetosg ll rendelkezsre?

(a) 95%-ig biztosak lehetnk abban, hogy befektetseink rtknvekedse a kvetkezo v alatt
s
kztt lesz.
(b) 95%-ig biztosak lehetnk abban, hogy portflink ves szzalkos hozama
s
kztt lesz.

11. (jbl a 9. feladat adataira tmaszkodunk.) Tegyk fel,


hogy jelenleg befektetseink 30%-a rszvnyben, 50%-a
kincstrjegyben s 20%-a aranyban van. Tegyk fel, hogy
tranzakcis kltsgek is fellpnek. Minden 100 dollr rtku rszvny tranzakci utn 1 dollr tranzakcis djat kell
fizetni, minden 100 dollr rtku arany kereskedse utn
2 dollr a dj, mg minden 1 dollr rtku kincstrjegytranzakci utn 5 cent a tranzakcis dj. Keressk meg azt a
minimlis szrsngyzetu portflit, amelynek vrhat hozama a tranzakcis djak utn legalbb 10%! (tmutats:
Vezessnk be vltozkat az eladand vagy vsroland befektetsek rtkre.)

10. (A 9. feladat adatait s a regressziszmtsi ismereteket alkalmazzuk itt is.) Tegyk fel, hogy az i-edik befektets
hozama i + i M + i alakban becslheto, ahol M az tlagos
piaci portfli hozama. Tegyk fel, hogy az i valsznusgi
vltozk fggetlenek, s hogy i annak a regresszis becslsnek a standard hibjaknt ll elo, ahol a regresszi fggetlen vltozja a piaci portfli hozama, a fggo vltoz
pedig az i-edik befektets hozama. Most a portfli szrsngyzett ki tudjuk fejezni az egyes befektetsi prok k-

10.10.

605

Szeparbilis programozs8
Sok NLP feladat rhat fel a kvetkezo alakban:
j=n

max (vagy min ) z =

f j (x j )

j=1
j=n

f.h.

gi j (x j ) bi

(i = 1, 2, . . . , m)

j=1

Mivel a dntsi vltozk a clfggvny s a felttelek egymstl elszeparlt kifejezseiben


jelennek meg, az ilyen alak NLP feladatokat szeparbilis programozsi feladatoknak
nevezzk. A szeparbilis programozsi feladatokat gyakran gy oldjk meg, hogy minden
f j (x j ) s gi j (x j ) fggvnyt egy szakaszonknt lineris fggvnnyel kzeltenek (lsd a
9.2. alfejezetet). A szeparbilis programozs technikjnak rszletezse el o tt egy pldt
mutatunk szeparbilis programozsi feladatra.

28.

PLDA

Az Oilco cgnek meg kell hatroznia, hogy hny hord olajat termeljen ki a kvetkez o
kt v alatt. Ha az Oilco x1 milli hord olajat termel ki az elso vben, akkor azt hordnknt 30 x1 dollrrt tudja rtkesteni. Ha x2 milli hord olajat termel ki a msodik
vben, akkor azt hordnknt 35 x2 dollrrt tudja rtkesteni. Az x1 milli hord kitermelsi kltsge az elso vben x21 milli dollr, mg az x2 milli hord kitermelsi kltsge
8 Ezen

alfejezet kihagysa nem szaktja meg a trgyals folytonossgt.

606

10. fejezet Nemlineris programozs

a msodik vben 2x22 milli dollr. A kt v alatt sszesen 20 milli hordnyi olaj ll rendelkezsre, s legfeljebb 250 milli dollr kltheto a kitermelsre. Fogalmazzunk meg egy
NLP feladatot, amely segtsgvel az Oilco maximalizlhatja a profitjt (a bevtelek s a
kltsgek klnbsgt) a kvetkezo kt vben!
Megolds

Legyen
x1 = az elso vben kitermelt olaj mennyisge (milli hord)
x2 = a msodik vben kitermelt olaj mennyisge (milli hord)
Ekkor a megfelelo NLP feladat gy rhat fel:
max z = x1 (30 x1) + x2(35 x2) x21 2x22
= 30x1 + 35x2 2x21 3x22
f.h. x21 + 2x22 250
x1 + x2 20

(65)

x1 , x2 0

Ez egy szeparbilis programozsi feladat, ahol f 1 (x1 ) = 30x1 2x21 , f2 (x2 ) = 35x2 3x22 ,
g11 (x1 ) = x21 , g12 (x2 ) = 2x22 , g21 (x1 ) = x1 s g22 (x2 ) = x2 .
Mielott az f j s gi j fggvnyeket szakaszonknt lineris fggvnyekkel kzeltennk,
meg kell hatroznunk olyan a j s b j szmokat ( j = 1, 2, . . . , n), amelyekre biztosan igaz,
hogy az optimlis megolds x j rtkre a j x j b j teljesl. Az elozo pldban a1 = a2 = 0
s b1 = b2 = 20 megfelelo lesz. Ezutn minden x j vltozhoz p j1 , p j2 , . . . , p jk trspontokat
vezetnk be, ahol a j = p j1 p j2 p jk = b j (a jellsek egyszerustse kedvrt
feltesszk, hogy minden vltoz esetn azonos a trspontok szma). Az el o zo pldban
t trspontot hasznlunk minden vltoz esetn: p11 = p21 = 0, p12 = p22 = 5, p13 =
p23 = 10, p14 = p24 = 15, p15 = p25 = 20. A szeparbilis programozsi mdszer lnyege
az, hogy gy kzeltjk az f j s gi j fggvnyek mindegyikt, mintha azok a [p j,r1 , p j,r ]
intervallumok mindegyikn lineris fggvnyek lennnek.
Tegyk fel, hogy p j,r x j p j,r+1 . Ekkor van olyan (0 1), hogy x j = p j,r +
(1 )p j,r+1. Ekkor f j (x j ) s gi j (x j ) kzeltse (lsd a 26. brt):
fj (x j ) = f j (p j,r ) + (1 ) f j (p j,r+1 )
gi j (x j ) = gi j (p j,r ) + (1 )gi j (p j,r+1 )

Pldul hogyan kzeltjk az f 1 (12) rtket? Mivel f 1 (10) = 30(10) 2(10)2 = 100,
f1 (15) = 30(15) 2(15)2 = 0 s 12 = 0.6(10) + 0.4(15), az f 1 (12) kzeltse f1 (12) =
0.6(100) + 0.4(0) = 60 (lsd a 27. brt).
ltalban, amikor szeparbilis programozsi feladatot kzeltnk, a kvetkez o alak
feltteleket csatoljuk:

j1 + j2 + + j,k = 1
( j = 1, 2, . . . , n)
x j = j1 p j1 + j2 p j2 + + j,k p j,k
( j = 1, 2, . . . , n)
j,r 0
( j = 1, 2, . . . , n; r = 1, 2, . . . , k)

(66)
(67)
(68)

Ekkor f j (x j ) helyett az

fj (x j ) = j1 f j (p j1 ) + j2 f j (p j2 ) + + j,k f j (p j,k )

(69)

10.10. Szeparbilis programozs

607

26. B R A
Az f j (x j )
kzeltse
szeparbilis
programozssal

kifejezst, gi j (x j ) helyett pedig a


gi j (x j ) = j1 gi j (p j1 ) + j2gi j (p j2 ) + + j,k gi j (p j,k )

(70)

kifejezst rjuk. A (69) s (70) kpletekkel val kzelts pontossgnak biztostshoz


gondoskodni kell arrl, hogy brmely j( j = 1, 2, . . . , n) esetn legfeljebb kt j,k legyen
pozitv. Sot ez mg nem is elg. Tegyk fel, hogy egy adott j esetn kt j,k pozitv. Ha j,k0
pozitv, akkor a msik pozitv j,k vagy j,k0 1 , vagy j,k0 +1 kell hogy legyen (azt mondjuk,
hogy j,k0 szomszdos j,k0 1 -vel s j,k0 +1 -vel). Nzzk, mirt is kellenek ezek a szomszdsgi kiktsek. Legyen pldul x1 = 12. Ekkor a kzeltseink akkor lesznek pontosak, ha 13 = 0.6 s 14 = 0.4. Ebben az esetben f 1 (12) kzeltse 0.6 f 1 (10) + 0.4 f1 (15).
Viszont bizonyosan nem akarunk 11 = 0.4 s 15 = 0.6 segtsgvel kzelteni. Ekkor
ugyanis x1 = 0.4(0) + 0.6(20) = 12, s f 1 (12) kzeltse f 1 (12) = 0.4 f1 (0) + 0.6 f1 (20)
lenne, ami a legtbb esetben f 1 (12) nagyon gyenge kzeltst nyjtan (lsd a 28. brt).
Ahhoz, hogy a kzelto feladat az fi s g j,k fggvnyek j kzeltst nyjtsa, ki kell ktnnk a kvetkezo szomszdsgi felttelt is: Minden j = 1, 2, . . . , n esetn legfeljebb kt
j,k lehet pozitv. Ha egy adott j esetn kt j,k pozitv, akkor azoknak szomszdosnak kell
lennik.
Teht a kzelto feladat a clfggvny (69) alak kzeltsbo l, a felttelek (66), (67),
(68) s (70) szerinti kzeltsbol, tovbb a szomszdsgi felttelbo l ll. A (67) felttelek valjban csak arra szolglnak, hogy a j,k rtkekbol elolljanak az eredeti dntsi
27. B R A
Az f1 (12)
kzeltse

f1(x1)
140
120
100
80
60

f1(12) = 72
f^1(12) = 60

40
20

10

15

x1

608

10. fejezet Nemlineris programozs

28. B R A
A szomszdsgi
felttel megsrtse
f1 (12) gyenge
kzeltst
eredmnyezi

f1(x1)

f1(12)

10

15

20

x1

0.4f1(0) + 0.6 f1(20)


f1(20)

vltozk (az x j vltozk) rtkei, s nincs rjuk szksg a j,k vltozk optimlis rtkeinek meghatrozsnl. A (67) feltteleket nem kell bevenni a kzelt o feladatba, teht egy
szeparbilis programozsi feladat kzelto feladata a kvetkezokppen rhat fel:
j=n

max (vagy min ) z =

[ j1 f j (p j1) + j2 f j (p j2 ) + + j,k f j (p j,k )]

j=1
j=n

f.h.

[ j1 gi j (p j1) + j2gi j (p j2 ) + + j,k gi j (p jk )] bi

(i = 1, 2, . . . , m)

j=1

j1 + j2 + + j,k = 1
( j = 1, 2, . . . , n)
( j = 1, 2, . . . , n; r = 1, 2, . . . , k)
j,r 0
szomszdsgi felttel.
Az elozo feladat esetn
f1 (0) = 0,

f1 (5) = 100,

f1 (10) = 100,

f 1 (15) = 0,

f1 (20) = 200

f2 (0) = 0,
f2 (5) = 100,
f2 (10) = 50,
f2 (15) = 150,
f 2 (20) = 500
g11 (0) = 0, g11 (5) = 25, g11 (10) = 100, g11 (15) = 225,
g11 (20) = 400
g12 (0) = 0, g12 (5) = 50,
g21 (0) = 0, g21 (5) = 5,

g12 (10) = 200, g12 (15) = 450,


g21 (10) = 10, g21 (15) = 15,

g12 (20) = 800


g21 (20) = 20

g22 (0) = 0, g22 (5) = 5,

g22 (10) = 10,

g22 (20) = 20

g22 (15) = 15,

A (69) kpletet (65) clfggvnyre alkalmazva a


max z = 10012 + 10013 20015 + 10022 + 5023 15024 50025
kzelto clfggvnyt kapjuk. A (66) felttel most a kvetkezo kt felttelt jelenti:

11 + 12 + 13 + 14 + 15 = 1
21 + 22 + 23 + 24 + 25 = 1

10.10. Szeparbilis programozs

609

A (67) felttelbol pedig az albbi kt felttel ll elo:


x1 = 512 + 1013 + 1514 + 2015
x2 = 522 + 1023 + 1524 + 2025
A (70) sszefggst (65) kt felttelre alkalmazva kapjuk a kvetkez o feltteleket:
2512 + 10013 + 22514 + 40015 + 5022 + 20023 + 45024 + 80025 250
512 + 1013 + 1514 + 2015 + 522 + 1023 + 1524 + 2025 20

Hozzadva mg az elojel feltteleket s a szomszdsgi felttelt, a kvetkezo feladatot


kapjuk:
max z = 10012 + 10013 20015 + 10022 + 5023 15024 50025
11 + 12 + 13 + 14 + 15 = 1
f.h.

21 + 22 + 23 + 24 + 25 = 1
2512 + 10013 + 22514 + 40015 + 5022 + 20023 + 45024 + 80025 250
512 + 1013 + 1514 + 2015 + 522 + 1023 + 1524 + 2025 20
j,k 0 ( j = 1, 2; k = 1, 2, 3, 4, 5)
szomszdsgi felttel.
A kzelto feladat az elso rnzsre egy lineris programozsi feladatnak tunik. Ha azonban a szimplex mdszerrel ksreljk meg megoldani a kzelt o feladatot, megsrlhet a
szomszdsgi felttel. Ezt elkerlendo , a kzelto feladatot a szimplex mdszer kvetkezo
mdostott belpsi szablynak alkalmazsval oldjuk meg: Ha adott j esetn az sszes
j,k = 0, akkor brmelyik j,k belphet a bzisba. Ha adott j esetn pontosan egy j,k
(mondjuk j,k0 ) pozitv, akkor j,k0 1 vagy j,k0 +1 belphet a bzisba, ms j,k azonban
nem. Ha adott j esetn kt j,k pozitv, akkor tovbbi j,k nem lphet a bzisba.
Van kt olyan eset, amikor a kzelto feladatot a kznsges szimplex mdszerrel megoldva olyan megoldshoz jutunk, amely automatikusan eleget tesz a szomszdsgi felttelnek. Ha a szeparbilis programozsi feladat maximalizlsi feladat, minden f j (x j ) konkv, s minden gi j (x j ) konvex, akkor a kzelto feladatot a kznsges szimplex mdszerrel megoldva is tudunk olyan megoldst kapni, amely eleget tesz a szomszdsgi felttelnek. Hasonlan, ha a szeparbilis programozsi feladat minimalizlsi feladat, s az
sszes f j (x j ) s gi j (x j ) fggvny konvex, akkor is tudunk a kznsges szimplex mdszerrel olyan megoldst kapni, amely eleget tesz a szomszdsgi felttelnek. Az alfejezet vgn
a 3. feladat foglalkozik azzal, mirt is van ez gy.
Az is megmutathat ebben a kt specilis esetben, hogy ha a szomszdos trspontok kztti maximlis tvolsg nullhoz tart, akkor a kzelto feladat optimlis megoldsa
a szeparbilis programozsi feladat optimlis megoldshoz tart (lsd Bazaraa s Shetty
(1993, 450. o.)).
Az elozo plda esetben minden f j (x j ) konkv s minden gi j (x j ) konvex, ezrt a kzelto feladat optimlis megoldsnak meghatrozshoz hasznlhatjuk a kznsges szimplex mdszert, s eltekinthetnk a mdostott belpsi szablytl. Az el o zo plda kzelto
feladatnak optimlis megoldsa 12 = 22 = 1. Ebbol x1 = 1(5) = 5, x2 = 1(5) = 5 s
z = 200 addik. Ezt sszehasonlthatjuk az elo zo plda valdi optimlis megoldsval, ami
x1 = 7.5, x2 = 5.83 s z = 214.58.

610

10. fejezet Nemlineris programozs

Feladatok
A csoport
lltsunk fel kzelto feladatot a kvetkezo szeparbilis programozsi feladatokra:
1.

min z = x21 + x22

x21 + 2x22 4

f.h.

x21 + x22 6

2.

x1 , x2 0

max z = x21 5x1 + x22 5x2 x3

f.h. x1 + x2 + x3 4
x21 x2

x1 , x2 , x3 0

B csoport
3. Ez a feladat azt az tletet tmasztja al, hogy nem
szksges a mdostott belpsi szablyt hasznlni, amikor maximalizlsi feladat esetn minden f j (x j ) konkv
s minden gi j (x j ) konvex. Tekintsk az Oilco pldt. Mutassuk meg, hogy amikor a kzelto feladatot a szimplex
mdszerrel oldjuk meg, nem kaphatunk olyan megoldst,

10.11.

amely megsrten a szomszdsgi felttelt. Pldul mirt


nem szolgltathat a szimplex mdszer egy olyan x megoldst, amit 11 = 0.4 s 15 = 0.6 llt elo? Hogy megmutassuk, hogy ez nem fordulhat elo, keressk meg a kzelto feladat egy olyan lehetsges megoldst, aminek a z
rtke nagyobb, mint az x -. (tmutats: Mutassuk meg,
hogy az a megolds, amely x -tl csak annyiban tr el, hogy
11 = 0, 15 = 0, 13 = 0.6 s 14 = 0.4, a kzelto feladat
egy lehetsges megoldsa (hasznljuk fel gi j (x j ) konvexitst ennl a rsznl), tovbb z rtke nagyobb, mint x -
(hasznljuk fel f j (x j ) konkvitst ennl a rsznl).)
4. Tegyk fel, hogy egy NLP feladat szeparbilis programozsi feladatknt van megadva azzal a kivtellel, hogy egy
xi x j alak kifejezs is megjelenik a clfggvnyben vagy a
felttelekben. Mutassuk meg, hogy egy ilyen tpus NLP
feladat talakthat szeparbilis programozsi feladatt az
yi s y j j vltozk bevezetsvel, ahol xi = 21 (yi + y j ) s
x j = 12 (yi y j ). Alkalmazzuk ezt a technikt a kvetkezo
NLP feladat szeparbilis programozsi feladatra val talaktsra:
max z = x21 + 3x1 x2 x22
f.h.

x 1 x2 4

x21 + x2 6

x1 , x2 0

A megengedett irnyok mdszere9


A 10.6. alfejezetben a legmeredekebb nvekeds mdszert alkalmaztuk felttel nlkli
feladatok megoldsra.
Ennek a mdszernek most egy mdostst mutatjuk be, a megengedett irnyok mdszert, amelyet lineris felttelekkel korltozott NLP feladatok megoldsra lehet hasznlni.
Tegyk fel, hogy egy
max z = f (x)
(71)
f.h. Ax b
x0

alak feladatot akarunk megoldani, ahol x = [x1 , x2 , . . . , xn ]T , A egy m n-es mtrix, 0 a


csupa nulla elembol ll n-dimenzis oszlopvektor, b egy m 1-es vektor, f (x) pedig egy
konkv fggvny.
Kiindulsknt, a nagy M mdszer vagy a ktfzis szimplex mdszer alkalmazsval,
meg kell tallnunk (71) egy x0 lehetsges megoldst. Ezutn egy olyan irnyt keresnk,
amely mentn elmozdulhatunk x0 -bl. Ennek az irnynak a kvetkezo kt tulajdonsggal
kell rendelkeznie:
1.

Ha elmozdulunk x0 -bl, lehetsges megoldst kapunk.


9 Ezen

alfejezet kihagysa nem szaktja meg a trgyals folytonossgt.

10.11. A megengedett irnyok mdszere

2.

611

Ha elmozdulunk x0 -bl, nvekszik z rtke.

Azt tudjuk a 10.6. alfejezetbol, hogy ha f (x0 ) d > 0, s egy kis tvolsgra mozdulunk
el x0 -bl a d irnyba, akkor f (x) nvekedni fog. Az x0 pontbl egy olyan d0 x0 irnyba
mozdulunk el, ahol d0 a kvetkezo LP feladat optimlis megoldsa:
max z = f (x0 ) d

(72)

f.h. Ad b
d0

Itt most d = [d1 d2 . . . dn ]T a vltozk vektora. Vegyk szre, hogy ha d0 a (72) optimlis
megoldsa s x0 pedig nem az, akkor f (x0 ) d0 > f (x0 ) x0 , azaz f (x0 ) (d0 x0 ) > 0.
Ez azt jelenti, hogy x0 -bl egy kis tvolsgra elmozdulva a d0 x0 irnyba, z nvekedni
fog.
Ezutn egy j x1 pontot vlasztunk, mgpedig x1 = x0 + t0 (d0 x0) alakban, ahol t0 a
max f (x0 + t0 (d0 x0))
0 t0 1
feladat optimlis megoldsa. Megmutathat, hogy f (x1 ) f (x0 ), s amennyiben f (x1 ) =
f (x0 ), akkor x0 a (71) optimlis megoldsa. Teht, amennyiben x0 nem optimlis megolds,
x1 z rtke nagyobb lesz, mint x0 -. Knnyen megmutathat, hogy x1 egy lehetsges pont.
Ugyanis
Ax1 = A[x0 + t0 (d0 x0)] = (1 t0)Ax0 + t0 Ad0 (1 t0)b + t0 b = b
ahol az utols egyenlotlensg abbl kvetkezik, hogy x0 s d0 eleget tesznek (71) feltteleinek, s 0 t0 1. Az x1 0 ugyangy ll elo, mivel x0 0, d0 0 s 0 t0 1.
Az x1 pontbl egy olyan d1 x1 irnyba mozdulunk el, ahol d1 a kvetkezo LP feladat
optimlis megoldsa:
max z = f (x1 ) d
f.h. Ad b
Ezutn egy j

x2

pontot vlasztunk,

x2

d0

= x1 + t

1 (d

1 x1 )

alakban, ahol t1 a

max f (x1 + t1 (d1 x1))


0 t1 1

feladat optimlis megoldsa. Az x2 lehetsges megolds lesz, s f (x2 ) f (x1 ) fog teljeslni. Megint, ha f (x2 ) = f (x1 ), akkor x1 a (71) NLP feladat optimlis megoldsa.
Ilyen mdon folytatva d2 , d3 , . . . , dn1 elmozdulsi irnyokat s j x3 , x4 , . . . , xn pontokat lltunk elo. Akkor llunk le az algoritmussal, ha xk = xk1 teljesl. Ez utbbi azt
jelenti, hogy xk1 a (71) NLP feladat optimlis megoldsa. Az f rtkek szigoran n o nek
a mdszer minden itercijban, gy a legmeredekebb nvekeds mdszerhez hasonlan
akkor is lellhatunk a mdszerrel, ha kt egymst kveto pont mr nagyon kzel van egymshoz.
Miutn meghatroztuk az xk pontot, egy felso korlt is eloll (71) optimlis z rtkre
vonatkozan. Megmutathat, hogy ha f (x1 , xx , . . . , xn ) konkv, akkor
((71) optimlis z rtke) f (xk ) + f (xk )[dk xk ]T

(73)

612

10. fejezet Nemlineris programozs

Teht ha f (xk ) kzel van az optimlis z rtk (73) szerinti felso korltjhoz, akkor befejezhetjk az algoritmust.
A megengedett irnyok mdszernek itt trgyalt vltozatt Frank s Wolfe dolgozta
ki. A megengedett irnyok mdszernek tovbbi vltozatai tallhatk a Bazaraa s Shetty
(1993) knyv 11. fejezetben.
A kvetkezo pldn illusztrljuk a megengedett irnyok mdszert.

29.

PLDA

Hajtsuk vgre a megengedett irnyok mdszernek kt itercijt a kvetkez o NLP feladaton:


max z = f (x, y) = 2xy + 4x + 6y 2x2 2y2
f.h. x + y 2
Kezdjnk a (0,0) pontban!

Megolds

x, y 0

Mivel f (x, y) = [2y 4x + 4


6 + 2x 4y], gy f (0, 0) = [4 6]. A [0 0] pontbl
val elmozduls irnyt a kvetkezo LP feladat megoldsval kapjuk:
max z = 4d1 + 6d2
f.h. d1 + d2 2
d1 , d2 0

Ennek az LP feladatnak az optimlis megoldsa d1 = 0 s d2 = 2. Teht d0 = [0 2]T .


Mivel d0 x0 = [0 2]T , azt az x1 = [0 0]T + t0 [0 2]T = [0 2t0 ]T pontot vlasztjuk
most, ahol t0 a
max f (0, 2t) = 12t 8t 2
0t 1

feladat optimlis megoldsa. Legyen g(t) = 12t 8t 2 , ekkor a g0 (t) = 12 16t = 0 megoldsa t = 0.75. Mivel g00 (t) < 0, tudjuk, hogy t0 = 0.75. Teht x1 = [0, 1.5]T . Ebben a
pontban z = f (0, 1.5) = 4.5. A (73) egyenlo tlensgbol k = 0 esetn a kvetkezo felso korltot kapjuk az NLP feladat optimlis z rtkre vonatkozan:
(optimlis z rtk) f (0, 0) + [4 6][0 2]T = 12
Most f (x1 ) = f (0, 1.5) = [7 0]. Az x1 -bol val elmozduls d2 irnyt a
max z = 7d1
f.h. d1 + d2 2
d1 , d2 0

feladat megoldsbl kapjuk. Ennek az LP feladatnak az optimlis megoldsa d 1 = [2 0]T .


Ekkor x2 = [0 1.5]T + t1{[2 0]T [0 1.5]T } = [2t1 1.5 1.5t1]T , ahol t1 a
max f (2t, 1.5 1.5t)
0t 1
feladat optimlis megoldsa. Most f (2t, 1.5 1.5t) = 4.5 18.5t 2 + 14t. Legyen g(t) =
00
4.5 18.5t 2 + 14t, ekkor g0 (t) = 14 37t = 0 megoldsa t = 14
37 . Mivel g (t) = 37 < 0,

sszefoglals

613

28
69 T
2
T
azt kapjuk, hogy t1 = 14
37 . Teht x = [ 37
74 ] = [0.76 0.93] . Most z = f (0.76, 0.93) =
7.15. A (73) egyenlotlensgbol, k = 1 esetn, azt kapjuk, hogy

(optimlis z rtk) 4.5 + [7 0]{[2 0]T [0 1.5]T } = 18.5

Mivel az optimlis z rtkre elsoknt kapott felso korlt (12) jobb korlt, mint a mostani
18.5, figyelmen kvl hagyjuk az utbbit.
Az NLP feladat optimlis megoldsa valjban z = 8.17, x = .83 s y = 1.17.

Feladatok
A csoport

Kezdjnk az ( 12 , 12 ) pontban!

Hajtsuk vgre a megengedett irnyok mdszernek kt itercijt a kvetkezo NLP feladatokon:


1.
max z = 4x + 6y 2x2 2xy 2y2

2.

f.h. x + 2y 2

x, y 0

max z = 3xy x2 y2

f.h.

3x + y 4

x, y 0

Kezdjnk az (1,0) pontban!

sszefoglals
Konvex s konkv fggvnyek
Az f (x1 , x2 , . . . , xn ) konvex fggvny az S konvex halmazon, ha brmely x0 S, x00 S s
0 c 1 esetn
f (cx0 + (1 c)x00) c f (x0 ) + (1 c) f (x00)
(2)

teljesl.
Az f (x1 , x2 , . . . , xn ) konkv fggvny az S konvex halmazon, ha brmely x0 S, x00 S
s 0 c 1 esetn
f (cx0 + (1 c)x00) c f (x0 ) + (1 c) f (x00)

(3)

teljesl.
Tekintsnk egy ltalnos NLP feladatot. Tegyk fel, hogy az NLP feladat S lehetsges
tartomnya konvex halmaz. Ha f (x) konkv (konvex) fggvny az S halmazon, akkor az
NLP feladat tetszoleges loklis maximuma (minimuma) egyben az NLP feladat optimlis
megoldsa is.
Tegyk fel, hogy f 00 (x) ltezik az S konvex halmaz minden x pontjban. Ekkor f (x)
pontosan akkor konvex (konkv) fggvny az S-en, ha f 00 (x) 0 ( f 00 (x) 0) az S minden
x pontja esetn.
Tegyk fel, hogy f (x1 , x2 , . . . , xn ) msodrendu parcilis derivltjai folytonosak minden
x = (x1 , x2 , . . . , xn ) S pontban. Ekkor f (x1 , x2 , . . . , xn ) pontosan akkor konvex az S halmazon, ha brmely x S esetn a Hesse-mtrix sszes fo minora nemnegatv.
Tegyk fel, hogy f (x1 , x2 , . . . , xn ) msodrendu parcilis derivltjai folytonosak minden
x = (x1 , x2 , . . . , xn ) S pontban. Ekkor f (x1 , x2 , . . . , xn ) pontosan akkor konkv az S halmazon, ha brmely x S s k = 1, 2, . . . , n esetn a Hesse-mtrix sszes k-adrendu nemnulla
fominornak elojele azonos (1)k elojelvel.

614

10. fejezet Nemlineris programozs

Egyvltozs NLP feladatok megoldsa


Egy
max (vagymin ) f (x)
f.h. x [a, b]
alak feladat optimlis megoldsnak megtallshoz a kvetkez o hrom tpushoz tartoz
pontokat kell figyelembe vennnk:
1. eset Olyan pontok, ahol f 0 (x) = 0 (az f (x) stacionrius pontja).
2. eset Olyan pontok, ahol f 0 (x) nem ltezik.
3. eset Az [a, b] intervallum a s b vgpontja.
Ha f 0 (x0 ) = 0, f 00 (x0 ) < 0 s a < x0 < b, akkor x0 loklis maximum. Ha f 0 (x0 ) = 0,
0 ) > 0 s a < x0 < b, akkor x0 loklis minimum.

f 00 (x

Az aranymetszs keress
Ha az aranymetszs keresst hasznljuk a
max f (x)
f.h. a x b
feladat optimlis megoldsnak pontossggal trtno meghatrozsra, akkor k itercit
kell vgrehajtani, ahol r k (b a) < . A kvetkezokppen lltunk elo j pontokat:
j bal oldali pont Az aktulis bizonytalansgi intervallum jobb oldali vgpontjbl mozduljunk el a bizonytalansgi intervallum hossznak r-ed rszvel azonos tvolsgra.
j jobb oldali pont Az aktulis bizonytalansgi intervallum bal oldali vgpontjbl mozduljunk el a bizonytalansgi intervallum hossznak r-ed rszvel azonos tvolsgra.
Minden iterciban az j pontok egyike egybeesik az egyik rgi ponttal.

Tbbvltozs felttel nlkli maximalizlsi s minimalizlsi


feladatok
Brmely olyan x pont, amely loklis szlso rtkhelye a
max (vagy min ) f (x1 , x2 , . . . , xn )
f.h. (x1 , x2 , . . . , xn ) Rn

(6)

feladatnak, eleget kell hogy tegyen a f x(x)


= 0 felttelnek i = 1, 2, . . . , n esetn.
i
Ha Hk (x)
> 0 (k = 1, 2, . . . , n), akkor az x stacionrius pont loklis minimuma a (6)
feladatnak.
Ha k = 1, 2, . . . , n esetn Hk (x)
elojele megegyezik (1)k elojelvel, akkor az x stacionrius pont loklis maximuma a (6) feladatnak.
Ha Hn (x)
6= 0, tovbb nem teljeslnek a 7 s 70 . ttel felttelei, akkor az x stacionrius
pont nem loklis szlsortkhely.

sszefoglals

615

A legmeredekebb nvekeds mdszere


A legmeredekebb nvekeds mdszere a kvetkezo tpus feladatok megoldsra hasznlhat:
max z = f (x1 , x2 , . . . , xn )
f.h. (x1 , x2 , . . . , xn ) Rn

Ahhoz, hogy egy nagyobb z rtku j pontot talljunk, az aktulis v pontbl f (v) irnyba
mozdulunk el. A tvolsgot, amennyit elmozdulunk v-b o l, gy vlasztjuk meg, hogy az j
pontban maximlis legyen a fggvnyrtk. Akkor llunk le, ha k f (v)k elg kzel van a
nullhoz.

A Lagrange-szorzk
A Lagrange-szorzkat a kvetkezo tpus NLP feladatok megoldsra hasznljk:
max (vagy min ) z = f (x1 , x2 , . . . , xn )
f.h.

g1 (x1 , x2 , . . . , xn ) = b1
g2 (x1 , x2 , . . . , xn ) = b2
..
.

(11)

gm (x1 , x2 , . . . , xn ) = bm
A (11) feladat megoldshoz kpezzk az
L(x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) = f (x1 , x2 , . . . , xn )
i=m

+ i [bi gi(x1 , x2 , . . . , xn )]
i=1

Lagrange-fggvnyt, s olyan (x1 , x2 , . . . , xn , 1 , 2 , . . . , m ) pontokat keresnk, amelyekre


fennll
L
L
L
L
L
L
=
= =
=
= =
=
=0
x1 x2
x n 1 2
m

A KuhnTucker felttelek
A KuhnTucker feltteleket a kvetkezo tpus NLP feladatok megoldsra hasznljk:
max (vagy min ) f (x1 , x2 , . . . , xn )
f.h.

g1 (x1 , x2 , . . . , xn ) b1
g2 (x1 , x2 , . . . , xn ) b2
..
.

(25)

gm (x1 , x2 , . . . , xn ) bm

Tegyk fel, hogy (25) egy maximalizlsi feladat. Ha x = (x1 , x2 , . . . , xn ) a (25) egy optimlis megoldsa, akkor x = (x1 , x2 , . . . , xn ) eleget kell hogy tegyen (25) m felttelnek,
tovbb lteznie kell olyan 1 , 2 , . . . , m szorzknak, amelyekre fennll
i=m
f (x)

gi (x)

i
=0
xj
xj
i=1
=0
i [bi gi(x)]

i 0

( j = 1, 2, . . . , n)
(i = 1, 2, . . . , m)
(i = 1, 2, . . . , m)

616

10. fejezet Nemlineris programozs

Tegyk fel, hogy (25) egy minimalizlsi feladat. Ha x = (x1 , x2 , . . . , xn ) a (25) egy optimlis megoldsa, akkor x = (x1 , x2 , . . . , xn ) eleget kell hogy tegyen (25) m felttelnek,
tovbb lteznie kell olyan 1 , 2 , . . . , m szorzknak, amelyekre fennll
i=m
f (x)

gi (x)

+ i
=0
xj

x
j
i=1
=0
i [bi gi(x)]

( j = 1, 2, . . . , n)
(i = 1, 2, . . . , m)

i 0

(i = 1, 2, . . . , m)

A KuhnTucker felttelek szksges felttelei annak, hogy egy pont (25) megoldsa
legyen. Ha a gi (x1 , x2 , . . . , xn ) fggvnyek konvexek, az f (x1 , x2 , . . . , xn ) clfggvny pedig konkv (konvex), akkor maximalizlsi (minimalizlsi) feladat esetn brmely pont,
amely eleget tesz a KuhnTucker feltteleknek, egyben (25) optimlis megoldsa is.

Kvadratikus programozs
Egy kvadratikus programozsi feladat olyan NLP feladat, amelynek clfggvnyben minden kifejezs foka 2, 1 vagy 0, a felttelek pedig linerisak. Wolfe-mdszere, ami a ktfzis szimplex mdszer egy mdostott vltozata, szintn alkalmazhat kvadratikus programozsi feladatok megoldsra.

Szeparbilis programozs
Ha egy NLP feladat

j=n

max (vagy min ) z =


j=n

f.h.

f j (x j )

j=1

gi j (x j ) bi

(i = 1, 2, . . . , m)

j=1

alakban rhat fel, szeparbilis programozsi feladatnak nevezzk. Egy szeparbilis programozsi feladat optimlis megoldsnak kzeltse cljbl a kvetkez o kzelto feladatot oldjuk meg:
max (vagy min ) z = j=n
j=1 [ j1 f j (p j1 ) + j2 f j (p j2 ) + + jk f j (p jk )]
j=n

f.h.

[ j1 gi j (p j1) + j2gi j (p j2 ) + + j,k gi j (p j,k )] bi

(i = 1, 2, . . . , m)

j=1

j1 + j2 + + j,k = 1
( j = 1, 2, . . . , n)
( j = 1, 2, . . . , n; r = 1, 2, . . . , k)
j,r 0

(Minden j = 1, 2, . . . , n esetn legfeljebb kt j,k lehet pozitv. Ha egy adott j esetn kt


j,k pozitv, akkor azoknak szomszdosnak kell lennik.)

A megengedett irnyok mdszere


A kvetkezo alak NLP feladatot akarjuk megoldani:
max z = f (x)
f.h. Ax b
x0

ttekinto feladatok

617

Kiindulunk egy x0 lehetsges megoldsbl. Legyen d0 a


max z = f (x0 ) d
f.h. Ad b
d0

feladat optimlis megoldsa. Vlasztunk egy j x1 pontot x1 = x0 + t0 (d0 x0 ) alakban,


ahol t0 a
max f (x0 + t0 (d0 x0))
feladat megoldsa. Legyen d1 a

0 t0 1

max z = f (x1 ) d
f.h. Ad b
d0

feladat optimlis megoldsa. Vlasztunk egy j x2 pontot x2 = x1 + t1 (d1 x1 ) alakban,


ahol t1 a
max f (x1 + t1 (d1 x1))
0 t1 1

feladat megoldsa. Ugyanilyen mdon folytatjuk az x3 , . . . , xk pontok elolltst, s akkor


llunk le, ha xk = xk1 , vagy pedig az egymsra kvetkezo pontok mr elg kzel vannak
egymshoz.

ttekinto feladatok
A csoport
1. Mutassuk meg, hogy f (x) = ex konvex az R1 halmazon!
2. Egy ruraktr t fontos gyfele a 29. bra szerinti mdon helyezkedik el. Hatrozzuk meg, hova rdemes gy elhelyezni az ruraktrt, hogy az egyes gyfelektol az ruraktrig megteendo tvolsgok ngyzetsszege minimlis legyen. Hogyan lehet ltalnostani ezt az eredmnyt arra az
esetre, amikor n gyfl helyezkedik el az x1 , x2 , . . . , xn pontokban?
29.

elso termkbol, egysgenknt 49 x1 dollrrt lehet rtkesteni. Ha x2 egysget lltanak elo a msodik termkbol,
egysgenknt 30 2x2 dollrrt lehet rtkesteni. A nyersanyag beszerzse s feldolgozsa egysgenknt 5 dollrba
kerl.
(a) Alkalmazzuk a KuhnTucker feltteleket annak
meghatrozsra, hogyan tudja a cg maximalizlni a
profitjt!
(b) Alkalmazzuk a Wolfe-mdszert annak meghatrozsra, hogyan tudja a cg maximalizlni a profitjt!
(c) Mi az a legtbb, amit a cgnek rdemes lenne kifizetnie egy jabb egysgnyi nyersanyagrt?

BRA

4. Mutassuk meg, hogy f (x) = |x| konvex fggvny az R1


halmazon!
5.
3. Egy cg egy nyersanyagot hasznl ktfle termk elolltsra. Egysgnyi nyersanyag feldolgozsval ktegysgnyi llthat elo az elso termkbol, illetve ugyancsak
egysgnyi nyersanyag feldolgozsval egysgnyi llthat
elo a msodik termkbol. Ha x1 egysget lltanak elo az

Hasznljuk az aranymetszs keresst a


max 3x x2

f.h. 0 x 5
feladat optimlis megoldsnak 0.5 pontossg meghatrozsra!

618

10. fejezet Nemlineris programozs

6. Hajtsuk vgre a legmeredekebb nvekeds mdszernek kt itercijt az


f (x1 , x2 ) = (x1 + x2 )e(x1 +x2 ) x1

maximalizlsa cljbl. Kezdjnk a (0,1) pontban!


7. Ha egy hnap alatt x egysgnyi termket lltunk elo,
annak termelsi kltsge x2 dollr. Hatrozzuk meg, hogyan
lehet minimlis kltsggel elolltani 60 egysgnyi termket
a kvetkezo hrom hnapban! Hogyan lehet ltalnostani
ezt az eredmnyt arra az esetre, ha x egysg egy hnap alatti
elolltsnak termelsi kltsge egy konvex nvekvo fggvny?
8.

Oldjuk meg a kvetkezo NLP feladatot:


max z = xyw
f.h. 2x + 3y + 4w = 36

9.

Oldjuk meg a kvetkezo NLP feladatot:


min z =

50
x

+ 20
y + xy

f.h. x 1, y 1

10. Ha egy cg p dollrrt rtkesti termknek egy egysgt, tovbb a dollrnyi sszeget klt hirdetsre, akkor

10 000 + 5 a 100p egysgnyi termket tud eladni. Ha a


termk egy egysgnek 10 dollr a gyrtsi kltsge, hogyan tudja a cg maximalizlni a profitjt?
11. Egy cg L rnyi munkaero s M rnyi gpido felhasznlsval L1/3 M 2/3 szmtgpes lemezegysget tud
elolltani. Minden lemezegysget 150 dollrrt rtkestenek. Ha a cgnek egyrnyi munkaero 50 dollrba, egyrnyi gpido pedig 100 dollrba kerl, hatrozzuk meg, hogyan tudja a cg maximalizlni a profitjt!

13. Tegyk fel, hogy egy meteorolgust akarunk szerzodtetni arra, hogy megjsolja, a kvetkezo nyr milyen
valsznusggel lesz esos vagy napstses. A kvetkezokben javasolt mdszer annak biztostsra szolglhat, hogy
az elorejelzo a tole telheto pontossggal jrjon el. Tegyk
fel, hogy ppen q annak az aktulis valsznusge, hogy
a kvetkezo nyr esos lesz. Az egyszerusg kedvrt tegyk fel, hogy a nyr csak esos vagy napstses lehet. Ha
az elorejelzo azt jelenti be, hogy p annak a valsznusge,
hogy a nyr esos lesz, akkor 1 (1 p)2 sszeget fog majd
kapni, ha esos lesz a nyr, s 1 p2 sszeget fog kapni,
ha napstses lesz a nyr. Mutassuk meg, hogy azzal, hogy
az elorejelzo q valsznusget jelent be az esos nyr valsznusgnek, valjban sajt bevtelnek vrhat rtkt
maximalizlja!
14. Mutassuk meg, hogy ha b > a e, akkor ab > ba .
Hasznljuk ezt annak megmutatsra, hogy e > e . (tmutats: Mutassuk meg, hogy lnxx maximuma x a felttel
mellett az x = a pontban van.)
15. Tekintsk a (0, 0), (1, 1) s (2, 3) pontokat. rjunk fel
egy olyan NLP feladatot, amelynek optimlis megoldsa
megadja az ezt a hrom pontot tartalmaz legkisebb sugar
krt! Oldjuk meg ezt az NLP feladatot!
16. Egy termkbol x egysg egy hnap alatti elolltsa
x1/2 dollrba kerl. Mutassuk meg, hogy ha az a feladat,
hogy a kvetkezo kt hnap alatt sszesen 40 egysgnyi
termket minimlis kltsggel lltsunk elo, akkor az optimlis megolds az, hogy mind a 40 egysget egy hnap
alatt lltjuk elo! Hogyan lehet ezt az eredmnyt ltalnostani arra az esetre, ha x egysgnyi termk egy hnap alatti
elolltsi kltsge egy nvekvo konkv fggvny?
17. Tekintsk a kvetkezo feladatot:

B csoport
12. Egy fa t ido alatt F(t) mreture tud noni, ahol F 0 (t) 0
s F 00 (t) < 0. Tegyk fel, hogy nagy t esetn F 0 (t) kzel van
0-hoz. Ha a ft t idopontban vgjk ki, F(t) bevtelt kapnak
utna. Tegyk fel, hogy a bevteleket r rtval folytonosan
diszkontljk, azaz a t idopontban kapott egy dollr ekvivalens a 0. idopontban kapott ert dollrral. A cl az, hogy
a ft olyan t idopontban vgjk ki, amikor a diszkontlt
bevtel maximlis. Mutassuk meg, hogy a ft egy olyan t
idopontban kell kivgni, amelyre teljesl az
r=

F 0 (t )
F(t )

egyenlet! A vlaszban azt is magyarzzuk meg, hogy


F 0 (0)
F(0) > r esetn az egyenletnek mirt van egyetlen megoldsa! Mutassuk meg azt is, hogy az eredmny valban
maximumot, nem pedig minimumot ad! (tmutats: Vajon
mirt elegendo t meghatrozshoz az ln(ert F(t)) fggvnyt maximalizlni?)

max z = f (x)
f.h. a x b
(a) Tegyk fel, hogy f (x) konvex fggvny, s ltezik derivltja minden x pontban. Mutassuk meg, hogy
x = a vagy x = b az NLP feladat optimlis megoldsa!
(Rajzoljunk egy brt!)
(b) Tegyk fel, hogy f (x) konvex fggvny, azonban
f 0 (x) nem ltezik minden x pontban. Mutassuk meg,
hogy x = a vagy x = b az NLP feladat optimlis megoldsa! (Hasznljuk a konvex fggvny defincijt!)
18. Tekintsk jbl a 2. feladatot. Tegyk fel, hogy most
gy kell elhelyezni az ruraktrt, hogy az gyfelek ltal
megtett tvolsgok sszege legyen minimlis. Hova teleptsk az ruraktrt?
(tmutats: Hasznljuk a 4. feladatot, illetve az a tnyt,
hogy konvex clfggvny esetn brmely loklis minimum

Irodalom
egyben az NLP feladat optimlis megoldsa. Mutassuk meg
azt is, hogy egy olyan pont loklis minimum, ahol ppen az
egyik gyfl lakik!) Hogyan lehet ezt az eredmnyt ltalnostani?
19.10 Egy cg egy alapanyagot hasznl kt termke gyrtshoz. Az alapanyag egy egysgt c dollrrt lehet beszerezni, s azt k1 egysgnyi 1. termkk s k2 egysgnyi
2. termkk lehet feldolgozni. Ha x1 egysgnyit lltanak
elo az 1. termkbol, akkor azt egysgenknt p1 (x1 ) ron
lehet rtkesteni. Ha pedig x2 egysgnyit lltanak elo a 2.
termkbol, akkor azt egysgenknt p2 (x2 ) ron lehet rtkesteni. Jellje z, hogy hny egysgnyi alapanyagot szereztek
be s dolgoztak fel. A profit maximalizlshoz, a nemnegativitsi felttelektol eltekintve, a kvetkezo NLP feladatot
kell megoldani:
max w = x1 p1 (x1 ) + x2 p2 (x2 ) cz

f.h. x1 k1 z

x2 k 2 z

(a) rjuk fel a KuhnTucker feltteleket erre a feladatra.


Jellje x1 , x2 , 1 , 2 ennek a feladatnak az optimlis megoldst!
(b) Tekintsk a feladat egy mdostott verzijt. Tegyk
fel, hogy a cg most egysgenknt 1 dollrrt tudna beszerezni az 1. termkbol, s egysgenknt 2 dollrrt

619

a 2. termkbol. Mutassuk meg, hogy ha a cg ebben az


esetben maximalizlni akarja a profitjt, akkor az (a)
rszhez hasonlan x1 egysgnyit llt elo az 1. termkbol
s x2 egysgnyit a 2. termkbol! Mutassuk meg, hogy a
profit s az elolltsi kltsgek nem vltoznak!
(c) Adjunk egy olyan rtelmezst a 1 s 2 rtkekre,
ami a cg knyveloje szmra is hasznos lehet!

20. Egypa, b, s c hosszsg oldalakkal adott hromszg


terlete s(s a)(s b)(s c), ahol s a hromszg kerletnek fele. Van egy 60 mter hosszsg kertsnk, s
be akarunk vele kerteni egy hromszg alak terletet. Fogalmazzunk meg egy NLP feladatot a maximlis terletu
bekerts meghatrozsra!
21. Ha egy gzt az I kezdo nyomstl az F vgso nyomsig hrom kzblso fzisban nyomunk ssze, akkor a
szksges energit az albbi kplettel szmoljuk:
s
)
(r
r
p1
p2
F
+
+
3
K
I
p1
p2
Fogalmazzunk meg egy NLP feladatot, ami azt rja le, hogyan lehet minimalizlni a gz sszenyomshoz szksges
energit!
22. Bizonytsuk be az 1. segdttelt! (Hasznljuk a
Lagrange-szorzkat!)

Irodalom
A kvetkezo knyvek a nemlineris programozs elmleti krdseire helyezik a hangslyt:
Luenberger, D. Linear and Nonlinear Programming. Reading, Mass.: Addison-Wesley,
1984.
Mangasarian, O. Nonlinear Programming. New York: McGraw-Hill, 1969.
McCormick, G. Nonlinear Programming: Theory, Algorithms, and Applications. New York:
Wiley, 1983.
Shapiro, J. Mathematical Programming: Structures and Algorithms. New York: Wiley,
1979.
Zangwill, W. Nonlinear Programming. Englewood Cliffs, N.J.: Prentice Hall, 1969.
Az albbi knyvek foknt klnbzo nemlineris programozsi algoritmusokkal foglalkoznak:
Rao, S. Optimization Theory and Applications. New Delhi: Wiley Eastern Ltd., 1979.
Wismer, D., and R. Chattergy. Introduction to Nonlinear Optimizaton: A Problem-Solving
Approach. New York: Elsevier North-Holland, 1978.
10 Littlechild,

Marginal Pricing (1970) cikke alapjn.

620

10. fejezet Nemlineris programozs

A nemlineris programozs nhny rdekes alkalmazst mutatjk be a kvetkezo knyvek s cikkek:


Henderson, R., and R. Quandt. Microeconomic Theory: A Mathematical Approach. New
York: McGraw-Hill, 1980.
Liebman, J., et al. Applications of Modeling and Optimization With GINO. Palo Alto, Calif.:
Scientific Press, 1986.
Bazaraa, M., and C. Shetty. Nonlinear Programming: Theory and Algorithms. New York:
Wiley, 1993.
Cournot, A. Mathematical Principles of the Theory of Wealth. New York: Macmillan, 1897.
Dewitt, C., et al. OMEGA: An Improved Gasoline Blending System for Texaco, Interfaces 19(no. 1, 1989):85101.
Grossman, S., and O. Hart. An Analysis of the Principal Agent Problem, Econometrica
51(1983):745.
Haverly, C. Studies of the Behavior of Recursion for the Pooling Problem, SIGMAP
Bulletin (1978).
Kolesar, P., and E. Blum. Square Roots Laws for Fire Engine Response Distances, Management Science 19(1973):13681378.
Littlechild, S. Marginal Pricing with Joint Costs, Economic Journal 80(1970):323334.
. Peak Loads and Efficient Pricing, Bell Journal of Economics and Management
Science (Autumn 1970):191210.
Markowitz, H. Portfolio Selection, Efficient Diversification of Investments. New York: Wiley, 1959.
Nicholson, T. Optimization in Industry: Volume 2, Applications. Chicago: Aldine-Atherton,
1971.
Sharpe, W. A Simplified Model for Portfolio Analysis, Management Science 9(1963):
277293.

You might also like