You are on page 1of 134

Dr.

Ábrahám István

Mátrixalgebra
Optimumszámítás

Egyszer en, érthet en

2010….
2 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Bevezetés

A bennünket körülvev világ leírásához sid k óta számokat is alkalmazunk. Te-


kintsük át a számfogalom kiépülésének logikai-történeti folyamatát, amely minden
valószín ség szerint a legkorábban megjelent természetes számoktól a törtek, a
negatív számok, majd az irracionális számok alkalmazásáig vezetett, illetve to-
vábbi általánosítással megjelentek a komplex számok, a vektorok és a mátrixok.
A természetes számok körében az összeadást tekinthetjük úgy, mint ismételt to-
vábbszámlálást: ha bármely természetes számhoz egyet hozzáadunk, újabb ter-
mészetes számot kapunk. Ez azt is jelenti, hogy minden természetes szám egye-
sek összegéb l áll. Ha tehát az a természetes számhoz hozzáadjuk a b természe-
tes számot, akkor a b-ben lév egyesekkel ismételt tovább számlálást végzünk,
azaz újabb természetes számot kapunk: a+b=c, ahol c N, a m velet nem vezet ki
a természetes számok N halmazából.
A természetes számok körében a kéttényez s szorzás ismételt összeadás: az a b
azt jelenti, hogy b darab a-t adunk össze, vagy ami ugyanaz: a darab b-t adunk
össze. Az a b=c szorzat eredménye is mindig természetes szám: c N.
Közben láthattuk, hogy mind az összeadás, mind a szorzás kommutatív, azaz
a+b=b+a, valamint a b=b a. Mindkét direkt m velet tetsz legesen sok tagra meg-
ismételhet , azaz érvényes az asszociatív tulajdonság: a+b+c=(a+b)+c, illetve
igaz: a b c=(a b) c, tehát el ször mindig csak két tagot-tényez t adunk egymáshoz,
szorzunk össze. A két m veletre együtt érvényes a disztributív azonosság („ré-
szekre bontás, szétosztás”): a (b+c)=ab+ac.
Az azonos tényez kkel ismételt szorzás a hatványozás: ha b darab a-t szorzunk
össze, akkor hatványt kapunk: a a … a=ab=c. (Az a az alap, b a kitev , c a hat-
ványérték. Nyilván: c N.) A kommutativitás ebben az esetben általában nem igaz,
azaz: ab ba. Például 23=8 32=9. A hatványozás egyszer azonosságait az „ismé-
telt szorzás” definícióval könny belátni: 1.) (a b)n=an bn; 2.) an am=an+m;
3.) (an)m=an m. A harmadik azonosság igen érdekes: ismételt hatványozással nem
kapunk új m veletet, megint hatvány lesz az eredmény. Például (23)2=26=64.
Az eddig felsorolt „direkt” m veletekben, ha természetes számokból indulunk ki,
az eredmény is természetes szám lesz. Új típusú számokhoz akkor jutunk, ha a
m veletben szerepl két tag-tényez közül az egyiket, valamint az eredményt is-
merjük és keressük a m veletben szerepl másik számot, azaz indirekt m veletet
végzünk. Összeadás esetén: az a+x=c-b l az ismeretlen szám kivonással adódik:
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 3

x=c–a. Ha a és c természetes számok, akkor a különbség nem lesz mindig az. Ha


azt akarjuk, hogy a kivonás minden természetes számra elvégezhet legyen, be
kell vezetni a negatív számokat, így a kivonásra az alaphalmaz az egész számok
Z halmaza: Z={…–2, –1, 0, 1, 2,…}. Megjegyezzük, hogy elég hosszú id kellett
ahhoz, hogy a negatív számok elfogadottakká váljanak, a létjogosultságukat alap-
vet en a velük való, alapvet en egyszer számolási lehet ség biztosítja. Láttuk,
hogy az összeadás kommutatív, így mindegy, hogy az eredmény ismerete mellett
az összeadandó két tag közül az els , vagy a második adott, a kivonást egyféle-
képpen végezzük el.
Szorzás esetén: az a x=c-b l az ismeretlen osztással adódik (ha az a nem nulla),
tehát: x=c/a. Nyilvánvaló, hogy ha az a és a c egész számok, akkor a hányadosuk
nem lesz mindig egész. Ha azt akarjuk, hogy az osztás minden egész számra el-
végezhet legyen, be kell vezetni a törtszámokat, így az osztásra az alaphalmaz a
racionális számok (két egész szám hányadosaként felírható számok) Q halmaza,
azaz: Q={xIx= p/q, ahol p és q egész számok és q 0}. A szorzás is kommutatív,
így mindegy, hogy az eredmény ismerete mellett a két tényez közül az els , vagy
a második adott, az osztást egyféleképpen végezzük el.
A hatványozás esetén bonyolultabb a helyzet az indirekt m velettel. A hatványo-
zás nem kommutatív, így ha az eredményt, a hatványértéket ismerjük, akkor egé-
szen más m veletet kell végezni, ha az alap adott és a kitev t keressük
(logaritmálás), illetve, ha a kitev adott és az alapot keressük (gyökvonás). Példá-
ul 2x=64-b l x=6, amit, tudjuk, így is írhatunk: log264=6. Viszont az x2=64-b l
x= 8 , aminek szintén ismert az x-re kifejezett (explicit) alakja: x 64 8.
Mind a kitev keresés, mind a gyökvonás elvégezhet ségéhez új típusú számokat
kell bevezetnünk, a nem szakaszos végtelen tizedes törteket, az irracionális szá-
mokat. Bebizonyítható, hogy például a 2 nem írható fel két egész szám hánya-
dosaként, azaz szakaszos tizedes törtként. Sokáig ezt a tény ésszer tlennek, irra-
cionálisnak tartották. Úgy képzelték, hogy minden tizedes tört egyszer majd csak
szakaszos lesz, ha elég hosszú a szakasz. Egyszer ellenpéldát találni: a
0,1001000100001….szám (azaz ha az egyesek közé jobbra haladva mindig egy-
gyel több nullát írunk) soha nem lesz szakaszos tizedes tört, ez egy irracionális
szám. Ugyanakkor ezek a számok racionálisan nem elképzelhetetlenek, például
az 1 cm oldalhosszúságú négyzet állója 2 cm. Az irracionális számok is a szám-
egyenesen ábrázolhatók és a racionális számokkal együtt alkotják a valós számok
R halmazát.
4 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

De a valós számok sem elegend k arra, hogy a hatványozás inverz m veleteit


minden esetben végre tudjuk hajtani. Gondoljunk például az x2–2x+5=0 egyenlet
megoldására. Alkalmazzuk a megoldóképletet:
2
4 20 2 16
x 1,2 1 4.
2 2
A valós számok körében ennek a másodfokú egyenletnek nincs megoldása, hi-
szen olyan valós szám, amelynek a négyzete –4 lenne, nem létezik. Vezessünk
be egy „képzetes” (imaginárius) számot, amelynek a négyzete –1 és ezt jelöljük i-
vel. Ekkor a 4 így írható: 4 1 2 i. A másodfokú egyenletünknek így már
van megoldása: x 1,2 1 2 i, tehát az egyik gyök: x1=1+2i, a másik: x2= 1–2i. A
számfogalomnak ezzel a b vítésével a gyökvonás bármilyen valós számból elvé-
gezhet , a másodfokú egyenleteknek mindig van megoldása. Az így adódó szá-
mokat komplex számoknak nevezzük. Gauss (1777–1855) vezette be és hasz-
nálta el ször a komplex számokat, amelyek általános alakja: z=a+b i, ahol a és b
valós számok.
Megjegyzés: felvet dik a kérdés, hogy mire jó mindez, hogyan tudjuk elképzelni a komplex számo-
kat? Gondoljunk arra, hogy kezdetben a negatív számokat is csak mesterkélten („hiány”, a szám-
egyenesen a nullától balra lév számok, stb.) magyarázták, vagy az irracionális számokat ma is
ezen a néven nevezzük (lexikon: irracionális = az értelem számára felfoghatatlan, észellenes.). Ma
már ezeket a számokat az általános iskolákban is használják. A komplex számok mai, eléggé szé-
leskör alkalmazási területei a matematikán kívül f ként a m szaki tudományokban találhatók.
Elképzelni pedig úgy lehet a komplex számokat, hogy azok nem a számegyenesen, hanem egy ún.
számsíkon helyezkednek el, amelyen adott egy vízszintes tengely, amin a valós számok találhatók,
a függ leges tengely egysége pedig az i imaginárius szám:

A rajzunkon a z=3+2i komplex számot ábrázoltuk.


A z=a+bi=a 1+b i komplex számban az a-t tehát mindig eggyel, a b-t pedig mindig
i-vel szorozzuk, ezért a komplex szám megadásakor elegend az a-t és a b-t fel-
tüntetni, tehát egy valós számpárral adjuk meg a komplex számot: z=[a b]. Így a
számfogalom újabb általánosításaként olyan „számot” kapunk, amely 2 valós
számmal adható meg. A komplex számokkal is m veleteket lehet végezni, a m -
veleteknek azonosságaik vannak, ezeket nem részletezzük.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 5

A valóságban a dolgok mennyiségi jellemzésére régóta használnak több számból


álló számsorokat, számoszlopokat. Gondoljunk például arra, hogy egy egészség-
ügyi vizsgálatkor általában megmérik az illet testsúlyát, magasságát, vérnyomá-
sát, h mérsékletét és egyebeket és ez a számsor (vektor) fejezi ki az a vizsgált
személy állapotát. Tágabb értelemben tehát ez a mennyiségi adat is „számszer ”,
a több emberr l felvett hasonló adatokkal (vektorokkal) m veleteket lehet végezni,
ezekre a m veletekre bizonyos szabályok, azonosságok lehetnek érvényesek.
Tovább mehetünk: a mennyiségi adatok gyakran nemcsak számsorokban, vekto-
rokkal, hanem táblázatokban adottak. Vannak olyan jelenségek, eljárások, ame-
lyek kvantitatív megadásához a vektor kevés. Például tekintsünk egy egyszer
termelési folyamatot, ahol 3 er forrás (ami lehet él munka, anyag és energia) fel-
használásával négyféle terméket gyártanak. Ismeretes a technológiai szerkezet,
ami azt jelenti, hogy az egy-egy darab termékekbe az er forrásokból mennyi épül
be. Konkrétan: jelöljük az er forrásokat A, B és C bet kkel, a termékeket római
számokkal, a technológiai táblázat legyen a következ :
I II III IV
A 4 3 3 1
B 2 1 0 5
C 0 1 2 3
Ha hasonló adatoknál a termékek mindig oszlopf n találhatók és az er források
mindig sorkezd k, akkor az adott termelés jellemzéséhez elegend megadni egy
számtáblázatot, egy mátrixot, tehát magát a „számtéglalapot”.
A vektor is és a mátrix is tulajdonképpen a számfogalom általánosítása, velük a
számokhoz hasonlóan m veleteket lehet végezni és igen hasznos célokat érhe-
tünk el alkalmazásukkal. A vektorokat speciális számtáblázatoknak (mátrixoknak)
tekinthetjük, olyanoknak, amelyeknek egy soruk, vagy egy oszlopuk van. Így a
mátrixokkal kezdünk el foglalkozni és az eredményeinket megfogalmazzuk vekto-
rokra is. Több esetben viszont a vektorokra kimondott állításokat általánosítjuk
mátrixokra.
Látni fogjuk, hogy a mátrixokkal hogyan végezhetünk m veleteket és milyen zse-
niális alkalmazásokhoz vezet el a mátrixalgebra. Nem lesz túl könny dolog meg-
ismerni ezt a területet, újszer dolgokról lesz szó. Viszont a mátrixokat felhasznál-
va gazdasági folyamatokra optimumokat számolhatunk, és ez lelkesít lehet.
Munkájához türelmet, odafigyelést és sikert kívánok.
6 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

1. Mátrixalgebra
A mátrixalgebra kifejezést
1.1. A mátrix fogalma, jelölések egy kicsit nagykép en
használjuk: ennek a tudo-
A mátrix olyan számtáblázat, amelynek m sora és n mányágnak csupán na-
oszlopa van, ahol m és n pozitív egész számok. A gyon leegyszer sített vál-
táblázatban tetsz leges valós számok szerepelhet- tozatát tárgyaljuk, annyit,
amennyit az alkalmazások
nek, azaz a mátrix elemei tetsz leges valós számok
megkívánnak.
lehetnek.
Definíció: Az m sorban és n oszlopban elrendezett El fordul, hogy a mátrix elemei
számtáblázatot mátrixnak nevezzük. függvények, halmazok, vagy
maguk az elemek is mátrixok,
Jelölés: A mátrixokat általában az ábécé nagybet i-
illetve egyéb más dolgok. Mi
vel jelöljük, amelyeket aláhúzunk és a számtábláza- els sorban olyan mátrixokkal
tot szögletes zárójelek közé tesszük. foglakozunk, amelynek elemei
Példa: A bevezet ben említett technológiai mátrix valós számok, a más eseteket
jelölésünkkel: külön jelezzük.

4 3 3 1
A 2 1 0 5
0 1 2 3
Általánosan: A mátrix elemeit aij-vel jelöljük, ahol
az i, az els index, mindig a sor számát jelenti a
mátrixban, így az értékei 1-t l m-ig lehetnek a pozi- A számtáblázatokat gyak-
tív egész számok, a j pedig az oszlop számát jelöli ran tömböknek nevezik,
(1 j n). Tehát: például a számítástechni-
a 11 a 12 . . . a 1n kában ez az elnevezés
a 21 a 22 . . . a 2n általános.
. . . . . .
A
. . . . . .
. . . . . .
a m1 a m2 . . . a m,n
A fenti módon megadott A mátrixot m n (azaz m-
szer n) típusúnak nevezzük, az m és n számokat
szoktuk a mátrix jelz számainak is nevezni.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 7

Szokásos írásmód: A = [aij], ahol 1 i m és 1 j n. Az írásmóddal azt fejezzük


ki, hogy az A mátrix aij ele-
1.1.1. A mátrix transzponáltja mekb l áll, és a mátrixnak
m sora és n oszlopa van.
Definíció: Az A=[aij] mátrix transzponáltja az A*=[aji]
mátrix, ahol 1 i m és 1 j n.
Példa: Gyakran el fordul, hogy egy
4 2 0 számtáblázat oszlopait és
4 3 3 1 sorait felcseréljük. Mátrixok-
3 1 1
Az A 2 1 0 5 és az A*= mátrixok nál ezt az eljárást transzpo-
3 0 2
0 1 2 3 nálásnak nevezzük.
1 5 3
egymás transzponáltjai. Transzponálás = sor- és
oszlopcsere.
1.2. Speciális mátrixok
1) Nullmátrix az a mátrix, amelynek minden eleme 0. A nullmátrixokkal számítá-
2.) Vektorok sainkban gyakran találko-
Ha a mátrix els , vagy a második jelz száma 1, ak- zunk.
kor az ilyen számsort, vagy számoszlopot vektornak
nevezzük. A másik jelz szám ekkor 1-nél nagyobb.
A vektorokat az ábécé aláhúzott kisbet ivel jelöljük.
Az oszlopvektor egyetlen oszlopból áll, például:
2
1, 3 Az a vektor egy 4 elem
a=
0 (4 1 típusú) oszlopvektor.
4
Az oszlopvektor alakot tekintjük els dlegesnek, a
sorvektort transzponáltként fogjuk fel, így ha egy
számegyüttest sorvektor alakban („vízszintesen”)
írunk fel, akkor a jelöléskor mindig fel kell tüntetni a
transzponálásra utaló csillagot, például:
b*=[ 5 2 -1 0 7 ] A b* vektor egy 5 elem
Az oszlopvektor is írható vízszintesen, például ak- (1 5 típusú) sorvektor.
kor, amikor nincs elég hely a függ leges írásmódra.
Ilyenkor a jobb oldalon kell a transzponálás csillagá-
8 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

val jelezni, hogy oszlopvektorról van szó. Például a A mátrixalgebrában alap-


fenti a vektor írható így is: a=[ 2 1 0 –4 ]*. vet en fontos, hogy egy
Fordítva is igaz: a sorvektor is írható függ legesen számegyüttest sorvektor-
(bár ezt jóval ritkábban tesszük), ha a transzponálás nak, vagy oszlopvektornak
jelét kitesszük a jobb oldalon. tekintünk. Komoly hibákat
Hibásak tehát a következ írásmódok: eredményezhet, ha például
v=[ 2 6 5 0 ], vagy u*=[ 1 –3 0 ]*. egy vektort oszlopvektor-
Helyesen: v=[ 2 6 5 0 ]*, vagy u*=[ 1 –3 0 ]. ként veszünk fel („csillag
Ha egy mátrix egyetlen oszlopból, vagy egy sorból nélkül” írjuk fel) és a jobb
áll, tehát vektor, akkor az elemeit általánosan felírva oldalon vízszintesen felírva
elegend egy indexet használni: a számokat nem tesszük ki
a1 a transzponálás jelét, vagy
a2 mindkét oldalon csillagot
. írunk.
a= =[ a1 a2 … an ]*, illetve: b*=[ b1 b2 … bn ]
Figyeli az írásmódot: ha leírunk
.
egy aláhúzott kisbet t, az mindig
. oszlopvektort jelent! Az eleme-
an ket írhatjuk egymás után is, sor-
ban, sorvektorként, de akkor
Speciális vektorok
kötelez kitenni a transzponálás
Azt a vektort, amelynek minden eleme 0, null- csillag jelét!
vektornak nevezzük. Jelölése: 0=[0 0 0…0]*
A nullvektor lehet oszlopvektor: 0, vagy sorvektor: 0*.
Egységvektor az a vektor, amelynek valamelyik
eleme 1, az összes többi eleme 0.
Az egységvektorok jelölése: e1, e2, …en.
Például: e1=[ 1 0 0 … 0 ]*, e2=[ 0 1 0 … 0 ]* stb. Az egységvektor is lehet
A nullvektorokban és az egységvektorokban szerep- oszlopvektor: en, vagy sor-
l nullák számát külön nem jelöljük. vektor: en*.
Skalárnak nevezzük azt vektort (mátrixot), amely-
nek egyetlen eleme van.
A skalár egy tetsz leges valós szám, jelölésére álta- A skalárokat („a puszta
lában a görög ábécé kisbet it használjuk, aláhúzás számokat”) nem szoktuk
nélkül, például: , ,…, , . szögletes zárójelek közé
tenni.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 9

Megjegyzés: A mátrixokat gyakran vektorokból ösz-


szetetteknek tekintjük, olyan módon, hogy a mátrix
oszlopai oszlopvektorok, illetve a sorai sorvektorok.
Példa: Adott az A mátrix:
4 3 3 1
A 2 1 0 5 .
0 1 2 3
4 3 3 1
Az oszlopokat vektorok-
Az oszlopok: a1= 2 , a2= 1 , a3= 0 , a4= 5 .
ként jelölhetjük.
0 1 2 3
Ekkor az A mátrix „oszlopvektorokra felbontott”, az- A particionálás általában részek-
az particionált alakja: A=[ a1 a2 a3 a4 ]. re bontást, részenként történ

Az A mátrix sorvektorokra is particionálható, ekkor: vizsgálatot jelent.


b1*=[ 4 3 3 1 ], b2*=[ 2 1 0 5 ], b3*=[ 0 1 2 3 ].
Így az A mátrix „sorvektorokra felbontott”, azaz
particionált alakja:
*
b1
*
A= b 2
*
b3
3.) Négyzetes (kvadratikus) mátrixok
A négyzetes mátrix fogalma benne van a nevében:
a mátrixnak ugyanannyi sora van, mint oszlopa, az-
az a „számtáblázat” négyzet alakú.
Példa: Az M mátrix 4 4-es, a mátrix rendje 4.
3 0 2 A mátrix elemei tetsz le-
5 1 2,3 0 ges valós számok lehet-
M= nek.
7 2 25 8
0 4 9 6
Elnevezések:
1. F átló: A „bal fels saroktól a jobb alsó sarokig
húzott átló”, azaz a f átlóban a mátrixnak azok az
elemei vannak, amelyeknek a sor- és oszlopindexe
azonos.
10 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Példánkban a f átlót (f diagonálist) a 3 1 25 6


számok alkotják.
2. Mellékátló: A f átlóra mer leges átló („a jobb fel-
s saroktól a bal alsó sarokig”). Példánkban a mel-
lékátlót a 2,3 2 0 számok alkotják.
Definíció: Diagonális mátrixnak nevezzük azt a négy-
zetes mátrixot, amelyben a f átlón kívüli elemek nullák. Természetesen lehetsé-
Példa: A D mátrix diagonális (a D diagonál mátrix): ges, hogy a f átlóban is
3 0 0 0 vannak nullák, s t, a négy-
0 1 0 0 zetes nullmátrix egyúttal
D= =(jelölés)= 3 1 25 6 . diagonál mátrix is.
0 0 25 0
0 0 0 6
A diagonális mátrixot a
Általánosan: Ha az A mátrix diagonális, akkor:
f átlója egyértelm en
A= a11 a22 … ann .
megadja, így a jelölése a
Speciálisan: Az olyan diagonális mátrixot, amelynek a
„<” és „>” jelek közé írással
f átlójában csupa egyes van, egységmátrixnak ne-
történik.
vezzük és En-nel jelöljük (n-ed rend egységmátrix).
Például:
1 0 0 Vigyázat! Az egységmát-
E3= 1 1 1 = 0 1 0 . rixnak csak a f átlója áll
0 0 1 csupa egyesb l, a többi
elem 0.
Definíció: Háromszög (trianguláris) mátrixnak ne-
vezzük azt a mátrixot, amelyben a f átló alatti, vagy
a f átló feletti elemek nullák.
Fels trianguláris a mátrix, ha f átló felett lehetnek
nullától különböz („értékes”) elemek, alsó három-
szög mátrix az, ahol a f átló alatt lehetnek nullától Az egységmátrixok, vagy a
különböz elemek. négyzetes nullmátrixok
Példa: A Tf mátrix fels trianguláris, a Ta pedig alsó egyszerre alsó és fels
trianguláris: háromszög mátrixok.
3 0 2 3 0 0 0
0 0 2,3 0 0 0 0 0
Tf= Ta=
0 0 25 8 5 0 0 0
0 0 0 6 0 9 0 6
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 11

Definíció: Szimmetrikus az a négyzetes mátrix,


amelynek minden elemére igaz, hogy aij=aji. Ez azt
jelenti, hogy az elemek a „f átlóra tükrözöttek”.
Példa: Az S mátrix szimmetrikus:
3 0 4 7
0 0 0 9
S=
4 0 3 0
7 9 0 6
Ferdén szimmetrikus az a négyzetes mátrix,
amelynek minden elemére az igaz, hogy aij=–aji.
Példa: Az Sf mátrix ferdén szimmetrikus: A ferdén szimmetrikus
0 0 4 7 mátrix f átlójában csak
0 0 0 9 nullák lehetnek, hiszen a 0
Sf= az egyetlen olyan valós
4 0 0 0
7 9 0 0 szám, amelynek –1-szerese
önmagával egyenl .
További speciális mátrixokkal találkozhatunk a ké-
s bbi tanulmányaink során.

1.3. Relációk mátrixok között


Két, vagy több mátrix között „számszer ” relációt
csak akkor állapíthatunk meg, ha a mátrixok azonos
A reláció, tudjuk, kapcsola-
típusúak, azaz jelz számaik (a sorok és az oszlopok
tot, viszonyt jelent.
száma) megegyeznek.
Definíció: Két azonos típusú mátrix az „=”, a „ ”, a
„<”, a „>”, vagy a „ ” reláció közül valamelyik akkor
Ha például az A és B mát-
és csak akkor áll fenn, ha a mátrixok minden megfe-
rixok nem azonos típusú-
lel eleme között fennáll a reláció. ak, akkor az esetleges ösz-
Példa: Állapítsunk meg relációkat a következ mát-szehasonlításkor egysze-
rixok között: r en azt mondjuk, hogy
2 5 2 5 0 különböz ek.
2 0 1
A= 0 3 , B= 0 3 7 , C= . Az azonos jelz számú
5 3 9
1 9 1 9 4 mátrixok között is viszony-
Megoldás: Mindhárom mátrix különböz típusú, így lag ritkán lehet relációt ta-
közöttük aritmetikai reláció nem adható meg. pasztalni.
12 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Igaz viszont: B 0, valamint látható, hogy A és C A kapcsolat a mátrixok kö-


egymás transzponáltjai, tehát: A=C*, illetve A*=C. zött lehet nem számszer ,
például a transzponálás is
1.4. M veletek mátrixok között a kapcsolat egy formája.
Három alapm veletet értelmezünk: két mátrix ösz-
szeadását, egy mátrix szorzását egy valós számmal
(skalárral), és a mátrixok egymással való szorzását.

1.4.1. Mátrixok összeadása és skalárral való szorzása


Definíció: Az A=[aij] és a B=[bij] azonos, (m n) típusú
mátrixok összegén azt a C=[cij] (m n) típusú mátrixot
Két azonos típusú mátrixot
értjük, amelynek minden elemére igaz: cij= aij+ bij.
tehát úgy adunk össze,
Példa: Az A és B mátrixok adottak, összegük:
hogy a megfelel elemei-
2 5 3 2 5 3
ket összeadjuk.
A= 0 3 , B= 1 4 , ekkor: C= 1 7 .
1 9 1 9 2 0
A mátrixok között értelmezett összeadás természe- Ügyeljünk arra, hogy osz-
tesen a vektorokra is vonatkozik. lopvektort sorvektorral nem
Definíció: Adott az A=[aij] mátrix és a valós szám. lehet összeadni, hiszen a
A mátrix -szorosán azt a mátrixot értjük, amelynek jelz számaik különböz ek.
minden eleme az eredeti mátrix elemeinek -
szorosa, azaz:
A=[ aij].
Például: Az A mátrix adott és legyen =5. Ekkor: A mátrix minden elemét
2 5 10 25 meg kell szorozni az adott
A= 0 3 és 5A= 0 15 . skalárral (számmal).
1 9 5 45
A skalárral való szorzás természetesen érvényes
vektorokra is.
Például: Ha a= [3 -2 1,5 ]*, akkor 2a=[6 -4 3 2 ]*.
A kivonást külön nem kell értelmezni, hiszen az
visszavezethet =–1-gyel történ szorzásra és
összeadásra:
A–B=A+(–1)B. A kivonás nem alapm velet.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 13

Az összeadás és a skalárral való szorzás tulaj-


donságai
Legyenek az A, B, C azonos típusú mátrixok, a és
pedig valós számok. A mátrixokra értelmezett
1.) Kommutatív tulajdonság: A+B=B+A, illetve: két m veletre hasonló sza-
A=A . bályok érvényesek, mint a
A m veletben a tagok felcserélhet sége a m vele- valós számok körében ér-
tek definíciójából következik telmezett összeadásra és
2.) Asszociativitás: A+(B+C)=(A+B)+C=A+B+C, szorzásra.
illetve: ( )A= ( A)= A.
Az asszociatív tulajdonság szerinti „átzárójelezés” Az „átzárójelezhet ség”, a
nemcsak csoportosítást jelent: a két mátrixra értel- csoportosítás is a m vele-
mezett összeadás elvégezhet 3 mátrix esetén is, tek definíciójából követke-
illetve hasonló csoportosításokkal tetsz legesen sok zik.
tagra is.

3.) A disztributív tulajdonság: (A+B)= A+ B, illet-


ve: ( + )A= A+ A.
Az összefüggést jobbról balra olvasva a szabály a A „szétosztás”, a zárójel fel-
kiemelés lehet ségét tartalmazza. bontás szabálya is a m vele-
Az összeadás és a skalárral való szorzás transz- tek definíciójából következik.
ponáltjára érvényes a következ :
(A+B)*=A*+B*, illetve: ( A)*= A*, Ez a szabály is a m veletek
azaz a transzponálás „m velettartó” az összeadásra definíciójából következik.
és a skalárral való szorzásra nézve.

Lineáris kombináció
Definíció: Adott az A1, A2, …, Ak k darab azonos,
m n típusú mátrix és legyenek adottak a 1, 2, …, k

valós számok (skalárok). Ekkor a


1A1+ 2A2+ …+ kAk A skalárral való szorzás és
az összeadás ismételt al-
kifejezést az A1, A2, …, Ak mátrixoknak a 1, …, k
kalmazásával kapjuk a line-
skalárokkal való lineáris kombinációjának nevezzük. áris kombinációt, amelyet a
A lineáris kombináció eredménye egy m n típusú kés bbi tanulmányainkban
gyakran használunk.
14 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

mátrix, hiszen csupa ilyen jelz számú mátrixokkal


végeztünk m veletet.
A lineáris kombinációt írhatjuk „szummás” alakban
is:
k

1A1+ 2A2+ …+ kAk= i A i , ahol i R.


i 1

Példa: Legyenek adottak az A1, A2, A3 mátrixok és a


1, 2, 3 skalárok:
2 0 1
A1= , A2= 3 1 1 , A=
3
4 0 5 ,
5 3 9 2 5 4 8 3 2

1=2, 2,=–3, 3=0.


3
A lineáris kombináció: i A i , azaz:
i 1
Lineáris kombináció:
2 2 0 1 + (–3) 3 1 1 +0 4 0 5 = 5 3 1 .
skalárokkal szorzott azonos
5 3 9 2 5 4 8 3 2 4 21 30
típusú mátrixok összege.
A lineáris kombinációnak azt az esetét, amikor a i
szorzókra az teljesül, hogy egyik sem negatív és
összegük 1, azaz:
k
minden i 0 és i
1, A lineáris kombinációt gyak-
i 1
ran vektorokra alkalmazzuk.
konvex lineáris kombinációnak nevezzük.

1.4.2. Mátrixok szorzása


A mátrixok egymással való szorzása eléggé eltér a
valós számok körében végzett szorzástól, beveze-
téséhez el készítést kell tennünk.

1.4.2.1. Vektorok skaláris szorzata

Definíció: Két azonos elemszámú vektor skaláris


szorzatán azt a valós számot értjük, amelyet úgy
kapunk, hogy a megfelel elemeket rendre össze- A mátrixszorzást kés bb
szorozzuk és a kapott szorzatokat összeadjuk. A majd vektorok szorzására
skaláris szorzatban az els tényez mindig sorvek- vezetjük vissza.
tor, a második tényez pedig oszlopvektor:
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 15

b1
b2
n
a* b=[ a1 a2 … an ] . =a1b1+a2b2+…+anbn= a ib i .
. i 1

. A definíció szerinti el írást,


bn nevezetesen, hogy a szor-
A skaláris szorzás eljárását („szorozd össze a meg- zat els tényez je sorvek-
felel elemeket és a szorzatokat add össze”) kom- tor, a második pedig osz-
ponálásnak nevezzük. lopvektor, szigorúan be
Példa: Legyen a*=[ 3 –1 5 0 ] és b= [ 4 –2 3 8 ]* kell tartani!
(a b oszlopvektor!).
Ekkor: a* b=3 4+(–1) (–2)+3 5+0 8=29.
Ha az a vektor oszlopvektor, a b* pedig sorvektor,
akkor az „ábécé szerinti sorrendben” csak akkor
szorozható össze skalárisan a két vektor, ha transz-
ponálással az a-t sorvektorrá, b*-t oszlopvektorrá
tesszük. A komponáláskor valós
Igaz ugyanis a következ : számokat szorzunk egy-
n n mással, ami kommutatív,
a* b= a i b i = b i a i =b* a.
i 1 i 1
így ebben az értelemben a
Speciálisan: Ha a skaláris szorzatban az egyik vek- skaláris szorzatra igaz a
tor minden eleme 1, akkor a komponálás eredmé- tényez k felcserélhet sé-
nyeként a másik vektor elemeinek összegét kapjuk. ge. A szorzat els tényez -
Példa: Legyen a*=[ 3 –1 5 0 ] és b=[ 1 1 1 1 ]*, jének mindig sorvektornak
kell lennie, a második pe-
akkor: a* b=3 1+(–1) 1+5 1+0 1=7.
dig oszlopvektor.
A b vektorral szorozva összeadtuk az a* elemeit. Az
ilyen összegz vektort külön jelöljük: ha sorvektor,
Természetesen a szorzat-
akkor 1*-gal, ha oszlopvektor, akkor 1-gyel.
ban az els tényez is le-
het összegz vektor.
1.4.2.2. Mátrixszorzás vektorokra bontással
A mátrixokat soraik, illetve oszlopaik szerint vekto-
rokra lehet „bontani”. Így összeszorozhatunk két
mátrixot a skaláris szorzat definíciója alapján, ha az
els tényez t sorvektorokra particionáljuk, a máso-
16 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

dikat pedig oszlopvektorokra. Szükséges feltétel a


szorozhatósághoz, hogy a sor- és oszlopvektorok
elemszámai azonosak legyenek. A mátrixszorzást vektorok
Példa: Adott az A és B mátrix, vegyük fel A-t sor- skaláris szorzatára vezet-
vektorokra, B-t oszlopvektorokra particionálva: jük vissza.
2 6 1 2 6 1
A=
3 0 1 3 0 1
1 2 1 2
B= 0 3 0 3 .
5 4 5 4
Az A B szorzatmátrix els sorának els elemét meg-
kapjuk, ha az A els sorvektorát komponáljuk a B
els oszlopvektorával:
[ 2 –6 1 ] [ 1 0 5 ]*=2+0+5=7.
Az A B szorzatmátrix els sorának második elemét
megkapjuk, ha az A els sorvektorát komponáljuk a
B második oszlopvektorával:
[ 2 –6 1 ] [ –2 3 4 ]*=–18. Hasonló komponálással a
Tehát: szorzatmátrix második so-
1 2 rának els eleme: –2, a
2 6 1 7 18 második sor második ele-
A B= 0 3 = .
3 0 1 2 10 me pedig –10.
5 4
Definíció: Ha az A mátrix m p típusú és a B mátrix
p n típusú, akkor a szorzatukon azt az m n típusú C
mátrixot értjük, amelynek bármely cij eleme az A
mátrix i-edik sorvektorának és a B mátrix j-edik osz-
lopvektorának skaláris szorzata. Jelöléssel:

* * * *
a1 a1 b1 a1 b 2 ... a1 bn
* * *
A B= a 2 a 2 b1 ... ... a 2 bn
b1 b 2 ... bn
... ... ... ... ...
* * *
am am b1 ... ... am bn
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 17

Két mátrix szorozhatóságának feltétele tehát az,


hogy az els tényez oszlopainak száma meg-
egyezzen a második tényez sorainak számával, Konkrétan: az A és B akkor
azaz konformábilis legyen a két mátrix. szorozható, ha a középs
Példa: Az A mátrix (3 4)-es, milyen típusú B mátrix- jelz számok megegyeznek
szal szorozható meg? és ilyenkor az eredmény
Megoldás: Két mátrix akkor szorozható össze, ha a jelz számait a két „széls ”
„középs ” jelz számaik megegyeznek. Így nem jelz szám adja.
mindegy, hogy egy adott mátrixot balról vagy jobbról
szorzunk egy másikkal.
Az A mátrix (3 4)-es, tehát jobbról egy (4 n) típusú B
mátrixszal szorozható, ekkor a szorzat (3 n) típusú
lesz (n pozitív egész, azaz n N+).
Az A mátrix balról pedig egy (m 3) típusú B’ mátrix-
szal szorozható, ekkor a szorzat (m 4) típusú lesz
(m N+).
Példa: Adott az A 3 4-es mátrix és legyen B 4 2-es,
ekkor az A B szorzatuk 3 2 típusú:
5 1
3 4 5 2 3 15 A szorzást „sorvektor kom-
0 2 ponálva oszlopvektorral”
6 7 2 1 36 21
0 4 módon végeztük. Az eljá-
0 0 3 4 24 8
6 5 rás alkalmazásakor könny
Áttekinthet bbé tehetjük a szorzást, ha az ún. Falk- hibát elkövetni.
sémát alkalmazzuk, amely a szorzás következ el-
rendezését jelenti:
5 1
B 0 2 Húztunk két egymásra me-
0 4 r leges szakaszt, a bal
6 5 alsó negyedbe kerül az A
mátrix, a jobb fels be a B,
3 4 5 2 3 15
és az eredmény, amit úgy
A 6 7 2 1 36 21 kapunk, hogy az A mátrix
0 0 3 4 24 8 sorait komponáljuk a B
megfelel oszlopaival, a
jobb alsó negyedbe kerül.
18 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Példa: Legyen a B’ 3 3-as, a B’ A szorzást végez-


zük Falk-módszerrel:
3 4 5 2
A 6 7 2 1
0 0 3 4
5 1 0 9 13 23 11
i
B 0 2 4 12 14 8 18
3 0 1 9 12 12 2
Speciálisan: – Ha a szorzat egyik tényez je a
Ügyeljünk arra, hogy mind
nullmátrix, akkor az eredmény is az:
a nullmátrixoknak, mind az
A 0=0 és 0 B=0.
egységmátrixoknak olyan
– Ha a szorzat egyik tényez je az
típusúaknak kell lenniük,
egységmátrix, akkor az eredmény
hogy a konformábilitás tel-
a másik szorzótényez :
jesüljön!
A E=A és E B=B.
A mátrixszorzás eredménye akkor is lehet
nullmátrix, ha az egyik tényez sem 0.
Példa: Adott az
1 2 3 2 1 5
A= 6 5 1 és B= 2 1 5
9 3 6 2 1 5
Képezzük az A B és a B A szorzatokat!
Egyszer en belátható (például a Falk-sémát alkal-
mazva), hogy A B=0. Kérjük, végezze el ezt a m vele-
tet!
A B A szorzat eredménye egészen más:
37 14 23 Ezt a szorzást is el kellene vé-
B A= 37 14 23 . geznie, célszer en a Falk sémát
37 14 23 alkalmazva!

A mátrixszorzás tulajdonságai A fenti példa is indokolja,


1.) A mátrixszorzás nem kommutatív! Tehát: A B B A. hogy áttekintsük a mátrix-
(Léteznek kivételek: például ha A négyzetes és a 0 is: szorzás m veleti szabályait.
A 0=0 A, valamint ekkor: A E=E A.)
2.) A mátrixszorzás asszociatív, ha a szorzásnál a
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 19

konformábilitás fennáll:
A (B C)=(A B) C=A B C,
azaz a két tényez re értelmezett szorzás általáno- Emlékszünk: az asszocia-
sítható 3, illetve n mátrixra is. tivitás azt is jelenti, hogy
Az asszociativitás skalárszorzóra is fennáll: általánosítható a m velet.
(A B)=( A)B.
3.) A mátrixszorzás disztributív mindkét irányú szor- A felsorolt tulajdonságok a
zásnál, ha a konformábilitás fennáll: mátrixszorzás definíciójá-
A (B+C)=A B+A C, illetve: (A+B) C= A C+B C. ból következnek.
A szorzat transzponáltjára vonatkozó szabály:
(A B)*=B* A* Ugyanis a transzponálás
sor-oszlop cserét jelent,
így az (A B)* cij eleme
1.5. Mátrixm veletek alkalmazásai
egyúttal az A B szorzat cji
A gyakorlati számításokban használt adathalmazok eleme. A B* A* szorzat i,j
legtöbbször számsorok, táblázatok, azaz vektorok, index eleme a B* i-edik
mátrixok. Sokszor szükségünk van arra, hogy egy sorvektorának, azaz a B i-
táblázatból számolással kiemeljünk egy sort, vagy edik oszlopvektorának és
oszlopot, összeadjuk az elemeket, vagy valamilyen az A* j-edik oszlopvektorá-
más adatkiválasztást hajtsunk végre. Ilyenkor mát- nak, tehát az A j-edik sor-
rixalgebrai m veleteket, módszereket alkalmazha- vektorának komponálásá-
val adódik. Mindkét eset-
tunk.
ben ugyanannak a két vek-
tornak a szorzata adja a
1. Egy oszlop kiemelése a mátrixból szorzatmátrix ci j elemét.
Az A mátrix j-edik oszlopát kapjuk, ha a mátrixot
jobbról szorozzuk a j-edik (oszlop) egységvektorral:
aj=A ej.
Példa: Legyen adott egy 4 3-as A mátrix:
1 0 3
6 5 1
A= .
9 3 6
1 2 1
Emeljük ki a 3. oszlopot! Ekkor az A-t szorozzuk A szorzás: sor és oszlop
jobbról az e3-mal: komponálása, így az A
els és második oszlopá-
ban lév elemek „elt n-
20 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

1 0 3 3 nek”, hiszen 0-val szoroz-


0
6 5 1 1 tuk azokat, maradnak a 3.
0 .
9 3 6 6 oszlopbeli elemek.
1
1 2 1 1
Általánosan: az ej-vel való szorzáskor a mátrixnak
csak a j-edik oszlopa elemei maradnak meg.
A „megfelel egységvektor” mindig annyi elem ,
hogy a konformábilitás teljesüljön.

2. Egy sor kiemelése a mátrixból


Az A mátrix i-edik sorát kapjuk, ha a mátrixot balról
szorozzuk az i-edik egységvektorral. Természete-
sen ekkor az egységvektor sorvektor (konformábi-
litás!).
bi*=ei* A.
A sor-oszlop komponálás-
Példa: Az el z példánk mátrixából emeljük ki a
kor a mátrix oszlopainak
második sort:
els , harmadik és negyedik
1 0 3
elemeit 0-val szorozzuk,
6 5 1
[0 1 0 0] = [ 6 5 –1 ] így csak a második elemek
9 3 6
maradnak meg.
1 2 1

3. A mátrix j-edik oszlopában lév elemek ösz-


szegének megadása
A j-edik oszlopot kiemeljük, majd a kapott vektor
elemeit az összegz vektorral összeadjuk. A kiemelt
vektor oszlopvektor, így az összegz sorvektorral
szorzunk balról:
1* (A ej)=(1* A) ej=1* A ej

Példa : Az A mátrixunk 3. oszlopa elemeinek


összege:
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 21

1 0 3 A szorzásnál nem tettük ki a


3
0 zárójeleket, hiszen az összeg-
6 5 1 1
[1 1 1 1] 0
1 1 1 1 = –5.
z vektort és az egységvektort
9 3 6 6
1 úgy kell megválasztani, hogy a
1 2 1 1
konformábilitás teljesüljön és
ekkor az asszociativitás is ér-
4. A mátrix i-edik sorában lév elemek összege vényes, azaz a m veleti sor-
Gondolatmenetünk hasonló az el z höz: sorkieme- rend felcserélhet .
lés, összegz vektorral szorzás:
ei* A 1.
Példa: Az A mátrixunk 2. sora elemeinek összege:
1 0 3
1 1 A szorzásnál most sem
6 5 1
[0 1 0 0] 1 = [ 6 5 –1 ] 1 =10. tettük ki a zárójeleket
9 3 6
1 1 (konformábilitás, asszocia-
1 2 1
tivitás).

5. A mátrix oszlopaiban lév elemek összege


oszloponként
Az összegz sorvektorral balról szorozzuk a mátri-
xot:
1* A.

Példa:
1 0 3 A sor-oszlop komponálás-
6 5 1 kor a mátrix oszlopaiban
[1 1 1 1] =[ 15 10 –5 ]
9 3 6 lév elemeket az összeg-
1 2 1 z vektor rendre összeadja.

6. A mátrix soraiban lév elemek összege so-


ronként
Az összegz oszlopvektorral jobbról szorozzuk a
mátrixot:
A 1.
22 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Példa: A sor-oszlop komponáláskor


1 0 3 2 a mátrix soraiban lév ele-
1
6 5 1 10 meket az összegz vektor
1 .
9 3 6 6 rendre összeadja.
1
1 2 1 2

7. A mátrix elemeinek összege


Eljárhatunk úgy, hogy az oszlopelemek összegét ösz-
szegezzük, vagy a sorelemek összegét összegezzük:
(1* A) 1=1* (A 1)=1* A 1.
Példa:
1 0 3 2
1 A zárójeleket ki sem kell
6 5 1 10
[1 1 1 1] 1 1 1 1 1 =20. írni. Ügyeljünk a konformá-
9 3 6 6
1 bilitásra!
1 2 1 2

8. A mátrix minden elemének szorzása egy számmal

Ez alapm velet: A=[ ai j] Tehát egyszer en minden


elemet megszorzunk az
9. A mátrix egy oszlopában lév elemek szorzá- adott számmal.
sa egy számmal
Az A mátrixot jobbról szorozzuk a megfelel en mó- Az egységmátrix diagonál
dosított egységmátrixszal. Például ha a 2. oszlopot mátrix, a f átlóban csupa 1
akarjuk szorozni -val: áll.
A < 1 1 … 1 >.
Példa: Az A mátrixunk 2. oszlopát szorozzuk meg
3-mal.
1 0 3 1 0 A sor-oszlop komponálás-
3
1 0 0
6 5 1 6 15 kor az A els és harmadik
1
0 3 0 = .
9 3 6 9 9 oszlopa változatlan marad,
6
0 0 1 mert a megfelel egység-
1 2 1 1 6 1
vektorokkal szoroztunk, a
Lehetséges a mátrix több oszlopát is egyszerre szo-
2. oszlop elemeit nem 1-
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 23

rozni, ilyenkor az egységmátrix egyesei helyébe gyel, hanem 3-mal szoroz-


írjuk a megadott szorzókat. tuk.

10. A mátrix egy sorában lév elemek szorzása


egy számmal
Az A mátrixot balról szorozzuk a megfelel en mó-
dosított egységmátrixszal. Például ha a 3. sort akar-
juk szorozni -val:
< 1 1 1 … 1 > A.
Példa: Az A mátrixunk 3. sorát szorozzuk meg 2-vel. Indoklásunk analóg az el -
1 0 0 0 1 0 3 1 0 3 z esetnél leírttal. Ez eset-
0 1 0 0 6 5 1 6 5 1 ben is lehetséges egyszer-
= re több sort is különböz
0 0 2 0 9 3 6 18 6 12
0 0 0 1 1 2 1 1 2 1 számokkal megszorozni.

11. A mátrix oszlopainak felcserélése


Az egységmátrixszal szorozva az A mátrixot az vál-
tozatlan marad, hiszen az egységmátrix egységvek-
torokból áll. Ha ezeket az oszlop egységvektorokat
az egységmátrixban felcseréljük és ezzel a módosí-
tott egységmátrixszal szorzunk jobbról, akkor az
egységvektorok cseréjének megfelel módon cseré-
l dnek meg az A oszlopai.
Példa: Az A mátrixunk 3. oszlopát cseréljük fel a Az egységmátrixban a 2.
másodikkal: oszlopba került az e3 és
1 0 3 1 3 0 helyére pedig az e2–t tet-
1 0 0
6 5 1 6 1 5 tük.
0 0 1 .
9 3 6 9 6 3 A fenti módon „megbolyga-
0 1 0 tott” egységmátrixot permu-
1 2 1 1 1 2
táló mátrixnak nevezzük.
12. A mátrix sorainak felcserélése
Az egységmátrix sorait is egységvektorok alkotják,
így ha azokat felcseréljük és balról megszorzunk
vele egy A mátrixot, akkor az A sorai cserél dnek
meg.
24 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Példa: Az A mátrixunk harmadik sorát cseréljük fel Az egységmátrixban a


az els vel és a másodikat a negyedikkel. megfelel sorvektorokat
0 0 1 0 1 0 3 9 3 6 felcserélgettük.
0 0 0 1 6 5 1 1 2 1
.
1 0 0 0 9 3 6 1 0 3
0 1 0 0 1 2 1 6 5 1
A mátrixm veletek végzése során további szabá-
lyosságokat, „speciális eseteket” fedezhetünk fel.

1.6. A diadikus szorzat. Mátrixok hatványozása

A mátrixszorzás szabálya szerint két vektor akkor is


összeszorozható, ha az els tényez (m 1) típusú
(azaz oszlopvektor), a második pedig (1 n) típusú,
hiszen a középs jelz számok megegyeznek.
Definíció: Az a (m 1) típusú oszlopvektor és a b* Ilyenkor az eredményt a
(1 n) típusú sorvektor szorzatát diadikus szorzat- „széls ” jelz számok hatá-
nak nevezzük. rozzák meg, tehát az
Példa: Legyen adott az a=[ 3 -1 0 2 ]* oszlopvek- eredmény egy (m n) típusú
tor és a b*=[ 1 2 5 ] sorvektor. Képezzük az a b* mátrix lesz.
diadikus szorzatot!
Használhatjuk a Falk-sémát: Az eredmény egy 4 3-as
b
*
1 2 5 mátrix. A szorzás a Falk
3 3 6 15 séma nélkül is egyszer en
elvégezhet : az ered-
a 1 1 2 5 =a b*.
ménymátrix sorait úgy kap-
0 0 0 0
juk, hogy az a elemeivel
2 2 4 10
rendre szorozzuk a b* ele-
Megjegyzés: Hasonlóan egyszer en szorozható
meit.
össze két diagonális mátrix:
< a1 a2…an > < b1 b2…bn >=< a1b1 a2b2…anbn >
Tehát két (azonos típusú)
diagonál mátrix szorzata is
Hatványozás diagonál mátrix és a f át-
Ha az A négyzetes mátrix, akkor önmagával meg- lóban a két f átlóban lév
szorozható, az eredmény ugyanolyan típusú elemek szorzata lesz.
(ugyanolyan rend ) mátrix lesz.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 25

Definíció: Legyen A négyzetes mátrix. Ekkor:


A0=E (A 0)
A1=A A nulladik hatvány – a va-
2
A =A A lós számokra igaz a0=1
A3=A2 A analógiájára – definíció
… szerint az egységmátrix.
An=An-1 A.
Elnevezés: Az A mátrix nilpotens, ha A 0, de An=0.
Ha van olyan legkisebb k kitev , amelynél a mátrix
hatványa 0 lesz, akkor a k a nilpotencia foka.
Példa: Adott az A mátrix:
0 1 1 0 0 2
2
A= 0 0 2 , ekkor: A = 0 0 0 , és
0 0 0 0 0 0
0 0 0 Tehát az A mátrix nilpotens
3
A= 0 0 0 0. és a nilpotencia foka 3.
0 0 0
Elnevezés: Az A mátrix projektor mátrix, ha A2=A.
Példa: Adott az A mátrix: A mátrixok hatványozásá-
1 5 1 5 hoz további összefüggések
A= , ekkor A2= =A, tartoznak, ezekkel nem
0 0 0 0
foglakozunk.
tehát az A projektor mátrix.

1.7. M veletek blokkokra bontott mátrixokkal

Számításainkban néha élünk a mátrixok részekre


Az elektronikus számító-
bontásával, ami egyszer en úgy történik, hogy víz-
gépek megjelenése el tt a
szintes és függ leges vonalakkal a mátrixot blok-
nagyméret mátrixokkal
kokra bontjuk, particionáljuk.
való számolás nehézkes,
Az egyes blokkokat úgy kell kialakítani, hogy azok-
id t rabló volt. Így ezeket a
kal a m veletek elvégezhet ek legyenek, például
mátrixokat részekre bontot-
szorzásnál konformábilisek legyenek a blokkok.
ták és a kisebb mátrixokkal
A blokkokból összeállított mátrixot, amelynek elemei
elvégzett m veletekb l
maguk is mátrixok, hipermátrixnak nevezzük.
26 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Példa. Képezzük az A B szorzatot, ha: „rakták össze” a bonyolul-


1 0 0 0 tabb m veletet.
6 5 4 3 2
0 1 0 0
5 6 2 1 6 A szorzást természetesen
A= és B= 0 0 1 0
4 5 0 0 0 blokkokra bontás nélkül is
0 3 0 0
1 0 0 0 0 elvégezhetjük. A számító-
0 2 0 0
gépnek majdnem mindegy,
hogy mekkorák az össze-
A két, viszonylag nagyméret , de eléggé speciális
szorzandó mátrixok.
mátrix szorzását Falk-sémával blokkokra bontással
végezzük el. Az egyes blokkok között a
1 0 0 0 szorzások egyszer en el-
0 1 0 0 végezhet k, hiszen egy-
B 0 0 1 0 ségvektor, nullvektor, egy-
0 3 0 0 ségmátrix szerepel a szor-
0 2 0 0 zótényez k között, így a Cij
6 5 4 3 2 blokkokból el állított hiper-
A 5 6 2 1 6 C 11 C12 mátrix lesz a szorzat:
4 5 0 0 0 A szorzásokat ez esetben
1 0 0 0 0 C 21 C 22 is sor-oszlop komponálás-
sal végeztük. Az A els
A részeredmények „összefésülése” után:
sorát két mátrix alkotta, a B
6 18 4 0
els oszlopában szintén
5 15 2 0
C=A B= két mátrix található, a
4 5 0 0
komponálásuk eredménye
1 0 0 0
a C11 mátrix, és így tovább.

1.8. Gyakorlati alkalmazások

Példa: Egy üzem 4 er forrás (például él munka, A társadalmi, gazdasági,


anyag, energia, gépóra) felhasználásával háromféle természeti folyamatokhoz
terméket készít. Az els termék egy egységébe az kapcsolódó adathalmazok
er forrásokból rendre 3, 1, 2, 4, a másodikba 3, 3, (vektorok, mátrixok) átte-
4, 1, a harmadikba 2, 2, 4, 2 egységnyi épül be. Az kintését, értelmezését, a
er forrásokból maximálisan felhasználható: 500, velük való számolást jelen-
450, 620 és 390 egységnyi. Az egyes termékekb l t sen egyszer síti a „mát-
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 27

50, 70, 60 darabot kívánnak gyártani. Az er forrá- rixos” írásmód és a mátrix-


sok egységárai: 2, 3, 4, 3 pénzegység, az egyes algebra.
termékek eladási egységárai 40, 50, 45 pénzegy-
ség. A felhasznált er források költségén kívül a ter-
mékekhez egyéb költségek (csomagolás, raktáro-
zás, stb.) járulnak, ezek darabonként: 3, 3, 2 pénz-
egység.
Válaszoljunk a következ kérdésekre:
1.) Az adott feltételekkel megvalósítható-e a termelés?
2.) Mennyi maradvány van az egyes er forrásokból?
3.) Mennyi a termelés összköltsége?
4.) Egy-egy darab terméknek mennyi az el állítási
költsége?
5.) Mennyi a fajlagos önköltség darabonként?
6.) Mekkora az összes ráfordítás pénzben kifejezve?
7.) Mennyi a teljes árbevétel?
8.) Mekkora a fedezeti összeg?
9.) Mekkora a termelési program összes er forrás
szükséglete termékenként?
10.) Milyen termékszerkezet biztosítaná a maximális
árbevételt?
Megoldás: Az adatainkat rendezzük. Az er forrás
beépülés táblázatának felvételéhez jelöljük az egyes
er forrásokat A, B, C, D-vel, a termékeket I, II, III-mal:
I II III Ha a hasonló feladatoknál
A 3 3 2 oszlopf re a termékek,
B 1 3 2 sorkezd ként az er forrás-
C 2 4 4 ok jelei kerülnek mindig,
D 4 1 2 akkor elegend magát a
A táblázat a gyártási technológiát mutatja, így tech- számtáblázatot megadni.
nológiai mátrixnak nevezzük, jelöljük ezt A-val.
3 3 2
1 3 2
A=
2 4 4
4 1 2
28 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

A kapacitás adatokat vektorként vesszük fel: legyen


ez b=[ 500 450 620 390 ]*, a kapacitások egység-
A b és a vektorokat a gyár-
árai pedig: a=[ 2 3 4 3 ]*.
tási táblázathoz illeszke-
A tervezett gyártási program vektor: p*=[ 50 70 60 ].
d en oszlopvektorokként
Az eladási egységár vektor: c*=[ 40 50 45 ], a to-
vettük fel, a p*, c* és a t*
vábbi költségekre pedig: t*=[ 3 3 2 ].
hasonló okból sorvektorok.
A feltett 10 kérdésre logikailag („józan ésszel”) is
Egy számsort egyébként
meg tudjuk adni a válaszokat, a viszonylag kevés és
szép kerek számokat tartalmazó adat ezt lehet vé mindig írhatunk „vízszinte-
teszi. Például az 1.) kérdést megválaszolhatjuk így: sen”, vagy „függ legesen”,
az A er forrásból az I. termék minden darabjához azaz sor-, illetve oszlop-
szükséges 3 egység, gyártani akarunk 50 darabot, vektorként.
tehát elhasználunk 150 egységnyi er forrást. A II.
termék minden darabjához szintén 3 egységet hasz- Ugyanilyen gondolatme-
nálunk fel, gyártani akarunk 70 darabot, tehát „el- nettel kiszámolgathatnánk
fogy” újabb 210 egységnyi er forrás. Hasonlóan: a a másik 3 er forrásból a
III. termékhez darabonként 2 egység er forrás kell, tervezett program szerint
60 darabot gyártanánk, ez 120 egységnyi er forrást
felhasznált mennyiségeket.
igényel. Összesen tehát a tervezett programhoz
Gondoljuk meg, mit jelen-
150+210+120, azaz 480 egységnyi er forrás szük-
tene ilyen számolásokat
séges. Adataink szerint 500 egységnyi van, tehát az
A er forrás kapacitása elegend . végezni egy valódi terme-
Észrevehetjük, hogy az el bbi számolgatásunk azt lésnél, ahol esetleg több
jelentette, hogy az A mátrix els sorát komponáltuk száz féle terméket gyárta-
a programvektorral, amit ehhez oszlopvektorként nak hasonlóan nagyszámú
vettünk fel. A második er forrásból a program sze- er forrás felhasználásával.
rinti felhasználást hasonlóan kapjuk, így az
1.) kérdésre a válasz mátrixalgebrai alakja:
3 3 2 480 500 A kapacitásvektor kompo-
50 nensei nem kisebbek a szá-
1 3 2 380 450
A p= 70 b . molt értékeknél, így a terve-
2 4 4 620 620
60 zett termelés lehetséges.
4 1 2 390 390
A 2.) kérdésre a válasz mátrixalgebrai alakja:
Maradvány = összes – felhasz-
b–A p=[ 20 70 0 0 ]*.
nált mennyiség.
A 3.) kérdésre a választ úgy kapjuk meg, hogy az
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 29

egységárakkal rendre szorozzuk a szükséges kapa-


citás mennyiségeket és a szorzatokat összeadjuk,
azaz skaláris szorzás történik (ami mindig sorvektor
szorozva oszlopvektorral!):
a* (A p)=(az asszociativitás miatt)=a* A p=5750.
A 4.) kérdésre a válasz: a termékenkénti gyártási
költséget úgy kapjuk meg, hogy az egyes termékek-
be beépül er források mennyiségeit rendre szo-
rozzuk az er forrás egységárakkal és a szorzatokat
összeadjuk, azaz skalárisan szorozzuk az a* sor-
vektorral az A oszlopvektorait, tehát magát az A-t:
3 3 2 Észrevétel:
1 3 2 [ 29 34 32 ] [ 50 70 60 ]*=
[2 3 4 3] =[ 29 34 32 ].
2 4 4 =5750, ez az asszociativi-
4 1 2 tásból következik.
Az 5.) kérdésre a válasz: a fajlagos önköltséget ak-
kor kapjuk, ha a további költségeket rendre hozzá-
adjuk az el állítási költségekhez, tehát:
a* A+t*=[ 32 37 34 ].
A 6.) kérdésre a válasz: az összes ráfordítás úgy
adódik, hogy a fajlagos önköltségeket rendre szoroz-
zuk a darabszámokkal és a szorzatokat összeadjuk:
(a* A+t*) p=6230. A t* is sorvektor!
A 7.) kérdésre a válasz: a teljes (lehetséges) árbe-
vételt megkapjuk, ha a darabszámokat rendre szo- Természetesen ugyanezt az
rozzuk az eladási egységárakkal és a szorzatokat adatot kapjuk akkor is, ha
összeadjuk: (ennél a kisméret feladat-
c* p=p* c=8200. nál) mátrixalgebrai számolá-
A 8.) kérdésre a válasz: sok nélkül okoskodunk.
a fedezeti összeg=árbevétel – üzemi ráfordítás, tehát:
c* p–(a* A+t*) p=1970. Ez a skaláris szorzat írható
A 9.) kérdésre a válasz mátrixalgebrai alakja kicsit p* (a* A+t*)* alakban is.
bonyolultabb:
A < p >,
azaz a technológiai mátrixot jobbról szorozzuk a p
30 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

elemeib l álló diagonális mátrixszal.


Konkrétan:
3 3 2 150 210 120 A szorzatmátrix oszlopai-
50 0 0
1 3 2 50 210 120 ban valóban az áll, hogy az
A < p >= 0 70 0 = .
2 4 4 100 280 240 adott darabszámok el állí-
0 0 60
4 1 2 200 70 120 tásához az egyes er for-
A 10.) kérdésre adandó választ az Operációkutatás rásokból mennyi szüksé-
további fejezeteinek tanulmányozása után tudjuk ges, hiszen a diagonál
megadni. A probléma matematikai megfogalmazá- mátrixszal való szorzás az
sát megtesszük: az optimális árbevételt eredménye- A els oszlopát a diagonál
z termékszerkezethez tartozó gyártási darabszá- mátrix els elemével szo-
mokat jelöljük x1, x2, x3-mal. Ezt a három mennyisé- rozza, az A második osz-
get tekinthetjük egy x vektor 3 komponensének: lopát a második elemmel
x=[ x1 x2 x3 ]*. Azt biztosan tudjuk, hogy a darab- és így tovább.
számok nem lehetnek negatívak, tehát az ún. triviá-
lis feltételünk: x 0.
A technológiai mátrix és a rendelkezésre álló kapa-
citások ismeretében a fenti darabszámokra feltéte-
leket adunk. Emlékeztet ül a technológiai mátrix:
I II III
3 3 2
A 3 3 2
1 3 2
B 1 3 2 , azaz: A=
2 4 4
C 2 4 4
4 1 2
D 4 1 2
500
450
és a kapacitások: b= .
620
390
Ha az els termékb l x1 darabot gyártunk, akkor az
A er forrásból elhasználunk 3x1 mennyiséget. Ha II.
termékb l x2 darabot gyártunk, akkor az A er for-
rásból 3x2-t, a III. termékbe történ beépülés miatt
pedig 2x3 mennyiséget használunk el. Az A er for-
rásból legfeljebb 500 használható fel, tehát az x1, x2,
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 31

x3 darabra a feltétel: 3x1+3x2+2x3 500


Hasonló gondolatmenettel:
x1+3x2+2x3 450
2x1+4x2+4x3 620
4x1+x2+2x3 390
A négy egyenl tlenség tömörebben is írható:
A x b.
A cél a maximális árbevétel, az egységárakat a be-
vezetett c*=[ 40 50 45 ] vektor jelentette. A szokásos jelöléseinket
A háromváltozós célfüggvény skaláris szorzattal alkalmazzuk.
írható fel:
A célunk felírható a követ-
z=c*x max
kez képpen: ha az I. ter-
alakban.
mékb l x1 darabot gyár-
A 10.) kérdésben megfogalmazott probléma mate-
tunk, akkor összesen 40x1
matikai modellje:
bevételre számíthatunk. A
x 0
II. termék x2 darabjából
A x b.
50x2, a III. termék x3 darab-
z=c*x max
jából 60x3 bevétel adódik,
Az ilyen alakú feladatokat lineáris programozási fel-
tehát a célfüggvény (szo-
adatoknak nevezzük és megoldásukra kés bbi ta-
kásos jelölése: z):
nulmányainkban kerül sor.
z=40x1+50x2+60x3 maxi-
A mátrixalgebrának sok más alkalmazása létezik. A
mum.
gyakorlatban a konkrét számolásokra számítógépe-
Ez a feladattípus már az
ket, az adott célokra kifejlesztett szoftvereket hasz-
optimumszámítás témakö-
nálnak, amelyekben a program általában mátrixal-
rébe tartozik.
gebrai számításokon alapul.
32 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

2. A lineáris tér

A matematika egyik ágához, a Lineáris algebrához A lineáris tér címszó alatt


tartozik a lineáris tér fogalma, amelyb l a céljaink-
tárgyalt fogalmak és ösz-
nak megfelel legfontosabb fogalmakat, összefüg- szefüggések szükségesek
géseket tárgyaljuk. ahhoz, hogy az tananya-
gunk céljaként korábban
2.1. A lineáris tér fogalma megfogalmazott „gazdasá-
Definíció: Lineáris térnek nevezzük azt az algebrai gi folyamatok optimalizálá-
struktúrát, ahol egy L Ø halmazon értelmezve van sa” kit zésünket meg tud-
az összeadás és a skalárral való szorzás a követke- juk valósítani.
z tulajdonságokkal:
A 1.) Az L halmaz az összeadásra nézve zárt, azaz Az összeadás eredménye is
ha a L és b L, akkor a+b=c L. a halmazhoz tartozik.
2.) Az összeadás kommutatív: a+b=b+a.
3.) Az összeadás asszociatív: A két tagra értelmezett
a+(b+c)=(a+b)+c=a+b+c. m velet n tagra (n>2) álta-
4.) Létezik az L-ben összeadásra vonatkozóan lánosítható.
semleges elem (Van a halmazban additív neutrális
elem, amit nullelemnek nevezünk.): a+0=a.
5.) Minden elemnek van ellentettje az L-ben, azaz
ha a L, akkor van olyan –a-val jelzett eleme L-nek,
hogy a+(–a)=0.
B 6.) Ha a L és tetsz leges valós szám, akkor
Tehát a skalárral való szor-
a L.
zás nem vezet ki a hal-
7.) A skalárszorzás kommutatív: a=a .
mazból.
8.) A skalárszorzás asszociatív: ( )a= ( a)= a.
Az L halmaz elemei lehetnek
9.) Létezik a skalárszorzásra vonatkozóan semle-
különböz matematikai objek-
ges elem (Van multiplikatív neutrális elem, amit egy-
tumok (például valós együtt-
ségelemnek nevezünk, ez a =1.): 1 a =a.
hatós polinomok, páros vagy
C 10.) Érvényes a disztributív tulajdonság:
páratlan függvények stb.), de
(a+b)= a+ b. mi a lineáris tér L halmazába
11.) Érvényes a disztributivitás skalárokra: vektorokat, mátrixokat soro-
( + )a= a+ a. lunk.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 33

Példa: Igazoljuk, hogy az n komponens oszlopvekto-


rok lineáris teret alkotnak (n rögzített pozitív egész).
Igazolás: A fenti 11 tulajdonság érvényességét kell
vizsgálnunk.
Az 1–3.) tulajdonsággal már foglakoztunk, azok tel- Hasonlóan az n kompo-
jesülnek. nens sorvektorok is lineá-
4.): Az additív neutrális elem az n elem nullvektor: 0. ris teret alkotnak, valamint
A további 5-11 feltétel is teljesül. az azonos típusú (jelz -
A továbbiakban feltesszük, hogy az L halmazt n számú) mátrixok is.
komponens oszlopvektorok alkotják. Ezt a lineáris
teret Ln-nel jelöljük. Az Ln-ben tett megállapításaink
átvihet k tetsz leges más lineáris terekre is.
Megjegyzés: Vektoron a kés bbiekben oszlopvek-
tort értünk. Ha nem, akkor ezt külön jelezzük. Az
összeadás és a skalárral való szorzás a mátrixoknál
korábban definiált m veleteket jelenti.

2.1.1. Altér
Definíció: Ha L’ halmaz (nem üres) részhalmaza a
lineáris teret alkotó L halmaznak és L’-ben érvényes
a lineáris tér definíciójában szerepl 11 jellemz az
L-beli m veletekre, akkor L’ altere L-nek.
Az L’ nulltér, ha L’= 0 . (Az egyetlen elemb l, a Az L’ valódi altér, ha L’ va-
nullvektorból álló halmaz is eleget tesz a lineáris tér lódi részhalmaza L-nek
11 kritériumának, tehát lineáris tér.) (L’ L, de L’ L) és L’ 0 ).
Példa: Tekintsük a 3 komponens vektorok L3 lineá-
ris terét. Az L’ halmazt olyan 3 komponens vektorok
alkossák, amelyeknek a harmadik elemük 0. Az L’ az
L3-nak altere, mert teljesül a felsorolt 11 jellemz . Próbáljuk ki!
Ha az L’’ halmazt olyan 3 komponens vektorok alkot-
ják, amelyeknek a 3. elemük 1, akkor L’’ már nem alt-
ér, ugyanis nincs L’’-ben additív neutrális elem. Erre is írjunk fel eseteket!
Megjegyzés: Az L3 tér geometria megfelel je a tér-
beli vektorok összessége, a fenti L’ pedig síkbeli
vektorokat jelent.
34 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

2.2. Generátorrendszer
Generátorrendszeren olyan vektoregyüttest értünk,
amelyek lineáris kombinációja lineáris teret állít el . Lineáris kombináció (em-
Tétel: Az Ln lineáris tér tetsz leges a1, a2, … ,ak lékszünk) vektorok skalár-
vektorainak összes lineáris kombinációjával el állít- szorosainak összege.
ható vektorok az Ln-nek alterét alkotják.
Bizonyítás: A 1a1+ 2a2+ … + kak lineáris kombi-
náció állítsa el a b vektort.
Más skalárszorzókkal el állítunk egy c vektort:
c= 1a1+ 2a2+ … + kak.
A b és c összege is lineáris kombinációt eredmé- Ha az Ln lineáris térb l ki-
nyez és teljesül a többi lineáris tér jellemz is. Pél- választunk egy vektorrend-
dául van additív neutrális elem akkor, ha a skalár- szert, el fordulhat, hogy
szorzók nullák. azok lineáris kombinációi-
Definíció: Az a1, a2, … ,ak vektorrendszer az Ln li- val magát az Ln-t állítjuk
neáris tér véges generátorrendszere, ha az általuk el (generáljuk).
generált altér maga az Ln.
Példa: A síkon az L2 lineáris térben az a=[ 2 -1 ]*
és a b=[ 1 3 ]* vektorok lineáris teret alkotnak és
mivel a két vektor iránya nem esik egybe (egyik nemÍgy a két vektor összes
skalárszorosa a másiknak), minden síkbeli v vektor lineáris kombinációja ma-
felírható az a és b lineáris kombinációjaként: gát az L2 teret állítja el
(„feszíti ki”), tehát a és b
v= a+ b.
generátor rendszere az L2
Megjegyzés: – Nem minden lineáris térb l választ-
lineáris térnek.
ható ki véges generátorrendszer, például nincs ge-
nerátorrendszere a számegyütthatós polinomok li-
neáris terének.
– Ha a lineáris térnek van véges ge-
nerátorrendszere, akkor az a célunk, hogy azok kö-
zül olyant válasszunk ki, amely a lehet legkeve-
sebb vektorból áll.

2.3. Lineáris függetlenség


Definíció: Az a1, a2, … ,ak vektorrendszer vektorait
A generátorrendszerek
lineárisan függetlennek mondjuk, ha lineáris kombi-
fontos, gyakran használt
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 35

nációjuk csak akkor eredményez nullvektort, ha a esetét a lineáris független-


lineáris kombinációban minden skaláregyüttható 0. ség segítségével határoz-
k
zuk meg.
Azaz: i ai 0 összefüggés csak akkor áll fenn,
i 1

ha minden i=0.
Példa: Vizsgáljuk meg, hogy az adott a=[ 2 3 ]* és
a b=[ –1 4 ]* vektorok lineárisan függetlenek-e.
A definíció szerint ehhez a két vektor tetsz leges
lineáris kombinációit nézzük meg:
1a+ 2b=0. ( 1, 2 R)
Részletesebben:
2 1 2 1 ( 1) 2 0
1 2 . Kiírjuk az adott vektorokat
3 4 3 1 4 2 0
a koordinátáikkal.
Ha a két vektor egyenl , akkor a megfelel kompo-
nenseiknek is meg kell egyezniük:
2 1– 2=0
3 1+4 2=0
A fenti egyenletrendszernek csak a 1= 2=0 a meg-
oldásai, tehát a két vektor lineáris kombinációja Függetlenség: a lineáris
csak akkor lesz nullvektor, ha az együtthatók nullák, kombinációban minden
azaz a vektorok lineárisan függetlenek. skalárszorzó nulla és az
Elnevezés: Ha az a1, a2, … ,ak vektorrendszer vek- „eredmény” a nullvektor.
k
torai nem lineárisan függetlenek, azaz i ai 0
i 1

összefüggés akkor is fennáll, ha nem minden i=0,


akkor a vektorrendszert lineárisan összefügg nek
nevezzük.
Példa: Vizsgáljuk meg most azt, hogy az a=[ 2 3 ]*,
a b=[ –1 4 ]* és a c=[ 0 11 ]* vektorok lineárisan
függetlenek-e.
Észrevesszük (vagy megoldjuk a 1a+ 2b=c vektor-
egyenletet), hogy c=a+2b, vagyis: Azt láthatjuk, hogy lineáris
a+2b–c=0, kombinációval a nullvektort
el lehet állítani úgy, hogy
36 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Tétel: Az a1, a2, … ,ak vektorrendszer akkor és csak van az együtthatók között
akkor összefügg , ha van olyan eleme, amely el ál- 0-tól különböz . Ilyenkor
lítható a többi vektor lineáris kombinációjaként lehet akár az összes
A bizonyítás alapgondolata egyszer : együttható nem nulla.
– ha a vektorrendszernek van lineárisan „ki-
kombinálható” tagja, akkor azt az egyenletben „át-
visszük” a másik oldalra és a 0 vektort máris el állí-
tottuk úgy, hogy legalább az egyik vektor együttha-
tója nem 0 (hanem –1).
– ha a vektorrendszer összefügg , akkor a
lineáris kombinációban legalább egy vektor együtt-
hatója nem 0. Ezt a tagot nem nulla együtthatóval
„átvisszük” az egyenlet másik oldalára, az együttha-
tóval osztunk és máris „kikombináltunk” egy vektort
a többivel.
Elnevezés: Ha a b vektor az a1, a2, … ,ak vektor- Kompatibilis: összeférhe-
rendszer vektoraiból lineáris kombinációval el állít- t , összemérhet , hozzá-
ható, akkor a b vektor kompatibilis az a1, a2, … ,ak kapcsolható.
vektorrendszerrel.
Így például mondhatjuk, hogy a fenti példában sze-
repl a = [ 2 3 ]* és b = [ –1 4 ]* vektorokkal a
c = [ 0 11 ]* vektor kompatibilis, hiszen: c = a+2b.

2.4. Bázis, dimenzió


Elnevezés: A bázis olyan speciális generátorrend-
szer, amely lineárisan független vektorokból áll. A bázis a lineáris tér leg-
Példa: Az a=[ 2 3 ]* és b=[ –1 4 ]* vektorokból álló sz kebb generátorrend-
rendszer az L2 lineáris térben bázis, mert generátor szere.
rendszer (a két vektorral az L2 bármely vektora line-
áris kombinációval el állítható), valamint az a és b
függetlenek.
Elnevezés: Ha a bázis csupa egységvektorból áll,
akkor triviális bázisnak nevezzük. A középiskolai tankönyvek a sík
egységvektorait (az L2 tér triviá-
Példa: Az e1=[ 1 0 0 ]*, e2=[ 0 1 0 ]* és e3=[ 0 0 1 ]*
lis bázisát) i-vel és j-vel jelölik.
vektorrendszer triviális bázis az L3-ban, mert:
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 37

– a három vektor generátor rendszert alkot,


hiszen lineáris kombinációjukkal az L3 térnek bár-
mely v=[ v1 v2 v3 ]* vektora el állítható:
v=v1 e1+v2 e2+v3 e3
– és a három vektor lineárisan független: a
1 e1+ 2 e2+ 3 e3 csak akkor lesz nullvektor, ha
mindhárom együttható 0.
Tétel: A lineáris tér a1, a2, … ,ak vektorai akkor és
csak akkor alkotnak bázist, ha a vektortér tetsz le- A tételt nem bizonyítjuk.
ges v vektora egyértelm en el állítható a vektor- Fontos, kiemelend az állí-
rendszer lineáris kombinációjaként. tásban: bázisvektorokkal
Definíció: Az Ln lineáris tér egy adott bázisa legyen (független vektorokból álló
a b1, b2, …, bn vektorrendszer. Ekkor a tér tetsz le- generátorrendszerrel) a
ges v vektorának lineáris tér tetsz leges vek-
v=v1b1+v2b2+ …+vnbn torát egyértelm en kifejez-
el állításában szerepl v1, v2, …, vn skalárszorzókat hetjük.
a v vektornak a b1, b2, …, bn bázisra vonatkozó ko-
ordinátáinak nevezzük.
Elnevezés: A triviális bázisra (az e1, e2, …, en egy- Megállapodás: a kés b-
ségvektorokra) vonatkozó koordinátákat komponen- biekben amikor egy vektort
seknek nevezzük. számokkal adunk meg,
Példa: Az a=[ 2 3 ]* és b=[ –1 4 ]*vektorokat tehát akkor, ha külön nem jelez-
komponenseikkel adtuk meg, azaz: a=2e1+3e2 va- zük a bázist, a koordináták
lamint: b=–e1+4e2. mindig komponensek, azaz
Láttuk, hogy c=a+2b. Ez azt jelenti, hogy a c vektor- az egységvektorokra vo-
nak az (a;b) bázisra vonatkozó koordinátái: [ 1 2 ]*. natkozó koordináták.
Tétel: tetsz leges lineáris térben a bázist alkotó
vektorok száma egyértelm en meghatározott. A tételt nem bizonyítjuk.

2.5. Dimenzió
Definíció: A lineáris tér dimenziója n, ha van n ele-
m (n darab független vektort tartalmazó) bázisa. A lineáris tér bármelyik
Ha az L lineáris térnek nincs véges elemszámú bá- bázisát is tekintjük, mind-
zisa, akkor az L dimenziója végtelen. A nulltér di- egyik ugyanannyi vektort
menziója 0. tartalmaz, tehát az adott
38 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

A fenti definíció azt is jelenti, hogy „normál esetben”, lineáris térben mindegyik
azaz ha a dimenzió nem , vagy 0, az adott lineáris vektornak mindig ugyan-
térben a vektorok koordinátáinak száma megegye- annyi „darab” koordinátája
zik a dimenzióval (vagy fordítva: a dimenzió = a ko- van. Ezt fejezi ki a definí-
ordináták száma). ció.

2.6. A vektorrendszer rangja, a mátrix


rangja
Elnevezés: Tetsz leges vektorrendszerb l kivá-
lasztható független vektorok maximális számát a
vektorrendszer rangjának nevezzük.
Példa: Az a=[ 2 3 ]*, b=[ –1 4 ]* és c=[ 0 11 ]* vektor-
rendszer rangja 2, hiszen korábban láttuk, hogy a és b Ebb l következik, hogy
függetlenek, de c már kifejezhet a és b-vel, azaz az bármely L lineáris térb l
a, b, c vektorrendszer már összefügg , a közülük ki- kiválasztott vektorrendszer
választható függetlenek maximális száma 2. rangja nem lehet nagyobb,
Tétel: Ha az a1, a2, …, ak vektorrendszer rangja r, mint a tér dimenziója.
akkor az általa generált altér dimenziója is r.
Bizonyítás: Ha a vektorrendszerb l kiválasztunk r
független vektort, akkor a maradék vektorokból bár-
mely vektort kiválasztva már összefügg rendszert
kapunk. A kiválasztott r darab vektor bázist alkot az
eredeti vektorrendszer által generált altérben, tehát
az altér dimenziója r.

2.6.1. Mátrix rangja


Minden mátrixhoz hozzárendelhetünk két lineáris
teret:
1.) a mátrix oszlopvektorai által generált
alteret (oszlopvektor tér),
A bizonyítás alapgondola-
2.) a mátrix sorvektorai által generált alteret
ta: ha az A mátrix m n típu-
(sorvektor tér).
sú, akkor az n oszlopvekto-
Tétel: Bármely mátrix oszlopvektor terének dimenzi-
ra közül a függetlenek ma-
ója megegyezik a sorvektor terének dimenziójával.
ximális száma, a rang,
Elnevezés: Az A mátrix oszlop-, illetve sorvektor
nyilván nem lehet n-nél
terének rangját a mátrix rangjának nevezzük.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 39

Jelölése: r(A). nagyobb: legyen r. A rang-


Példa: Legyen a1=[ 3 2 –1 0 ]*, a2=[ 2 2 1 3 ]*, nak megfelel elemszámú
a3=[ –2 –1 3 0 ]* és a4=2a1–a2+3a3=[ –2 –1 8 –3 ]*. oszlopvektorral a többi
3
oszlopvektor el állítható.
Igazolható (például a i ai 0 egyenletrendszer
i 1 Az A* felcseréli az eredeti
megoldásával), hogy az a1, a2, a3 vektorok függetle- mátrix sor és oszlopvekto-
nek, az a4 pedig lineáris kombinációval el állítható rait, az A*-ra igazolható,
az a1, a2, a3 vektorokból. Az a1, a2, a3, a4 vektor- hogy oszlopvektorainak
rendszer rangja tehát 3. rangja (tehát az eredeti A
Ha a négy vektort egy A mátrix oszlopvektorainak sorvektorainak rangja)
tekintjük: megegyezik r-rel.
3 2 2 2
2 2 1 1 A mátrix rangjának megha-
A= tározása a kés bb ismerte-
1 1 3 8
tésre kerül elemi bázis-
0 3 0 3
transzformációval egysze-
akkor r(A)=3, ami azt is jelenti, hogy az A sorvekto-
r en történik.
rai közül is legfeljebb 3 független vektort választha-
tunk ki.
Elnevezés: Az n-ed rend négyzetes A mátrix szin-
guláris („hiányos”), ha r(A)< n.
Ha r(A)=n, akkor a mátrix reguláris (nem szinguláris).
Példa: Az
3 2 2 2
A mátrix szinguláris, vagy
2 2 1 1
A= nem szinguláris volta a
1 1 3 8 kés bbi számításainkban
0 3 0 3 fontos lesz.
mátrix rangja: r(A)=3 és a rendje 4, tehát ez a mátrix
szinguláris.
40 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

3. Bázistranszformáció

A „bázis transzformációja” azt jelenti, hogy egy line-


áris tér valamely adott bázisán felírt vektorokat egy A mátrixalgebrában meg-
másik bázis vektorainak lineáris kombinációjával határozó szerepe van a
állítjuk el . Ez konkrétan azzal jár, hogy a vektorok bázistranszformációnak.
egy adott bázison megadott koordinátáit átírjuk a
lineáris tér egy másik bázis vektorai szerinti koordi-
nátákra.
Az eljárás számos különféle feladatnál a gyakorlat-
ban is jól kihasználható eredményekkel szolgál.

3.1. Elemi bázistranszformáció


Elemi a bázistranszformáció akkor, ha a lineáris tér
adott bázis vektorai közül egyet cserélünk ki egy
másik bázis vektorára. A cserét végrehajthatjuk
hosszadalmas egyenlet rendezésekkel és megte-
hetjük tömörített formában, táblázattal.
Példa: Adottak az a1=[ 2 –1 ]*, a2=[ 1 3 ]* valamint
a v=[ 4 5 ]* vektorok. Írjuk fel a v vektor koordinátáit
az (a1;a2) bázison!
El ször azt mutatjuk meg, hogy az L2 térben az a1 Ehhez az szükséges, hogy
és a2 vektorok bázist alkotnak (függetlenek). a lineáris kombinációjuk
Felírjuk: csak akkor eredményez-
zen nullvektort, ha abban
2 1 0
1 2 , minden együttható 0.
1 3 0
tehát:
Korábbi megállapodásunk
2 1+ 2=0 szerint mindhárom vektor
– 1+3 2=0 komponensekkel adott, a
Az egyenletrendszernek csak a 1= 2=0 lehetnek a triviális bázison (egység-
megoldásai, így az a1 és a2 vektorok függetlenek, vektorok) vett koordináták-
tehát a v felírható lineáris kombinációval az (a1;a2) kal:
bázison. a1=2e1 – e2, a2=e1+ 3e2,
Az elemi bázistranszformáció szerint el ször az és v=4e1+ 5e2.
egyik egységvektort cseréljük ki az a1-re, majd a
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 41

másikat a2-re.
Az e1 cseréje a1-re:az a1=2e1+e2-b l:
1 1
e1= a 1 e2 .
2 2
Ez azt is jelenti, hogy az e1 koordinátáit kiszámoltuk
az (a1;e2) bázison:
e1=[ ½ ½ ]*.
Számoljuk ki az a2 és a v koordinátáit is az (a1;e2)
bázison: A megfelel átalakításokat,
1 1 1 7 egyenletrendezést gyakor-
a2=e1+ 3e2= a 1 e 2 +3e2= a 1 e2 .
2 2 2 2 lásul önállóan is el kellene
A koordináták: a2=[ 1/2 7/2 ]*. végezni!
1 1
v=4e1+ 5e2=4( a 1 e 2 )+5e2= 2a1+7e2.
2 2
A koordináták: v=[ 2 7 ]*
Táblázattal: Oszlopf re kerülnek az eredeti bázison Táblázat használatával me-
adott vektorok jelei (nem kell vektorként, aláhúzás- chanikusabbá, egyszer bbé,
sal jelölni!), sorkezd k az eredeti bázis vektorainak gyorsabbá tehetjük a bázis-
transzformáció elvégzését.
jelei.
a1 a2 v A bekeretezett elem mutat-
Az induló tábla: e 1 2 1 4. ja (generálja) azt, hogy
melyik vektort melyikkel
e2 1 3 5 cserélünk ki.
Az els csere után a táblázat: Err l a táblázatról leolvas-
e1 a 2 v hatók az e1, a2, és a v új
koordinátái az (a1, e2) bá-
a1 12 12 2 zison.
e2 12 7 2 7
A fenti új táblázatot a következ lépésekkel írhatjuk
fel:
1.) A generáló elem (a bekeretezett szám)
helyére írjuk a reciprokát.
2.) A generáló elem oszlopát szorozzuk a
reciprok (–1)-szeresével.
3.) A generáló elem sorát szorozzuk a recip-
rokkal. Ebben a sorban az így kapott számokat
(ezek most: ½ és 2) nevezzük q értékeknek.
42 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

4.) A hiányzó új koordináták számítása: A felsorolt 1-4 pontban fog-


lalt szabályt az „egyenlet-
(új koordináta)=(régi koordináta)–(q szorozva a ge-
neráló elem oszlopában lév megfelel régi koordi- rendezéses” levezetésünk-
nátával). b l láthatjuk. Például az a2
A második bázisvektor csere után a táblázatunk az második új koordinátája =
el z táblázat (amelyben a generáló elemet bekere- =3– 1 ( 1) 7 , vagy a v
2 2
teztük) folytatása:
második új koordinátája =
e1 a2 v e1 e2 v
=5–2 (–1)=7.
a1 1 2 1 2 2 a1 3 7 17 1
e2 1 2 7 2 7 a2 1 7 2 7 2
Táblázatainkat „összekopírozhatjuk”:
a1 a2 v e1 a2 v e1 e2 v
e1 2 1 4 a1 1 2 12 2 a1 3 7 17 1
e2 1 3 5 e2 1 2 72 7 a2 1 7 27 2
Gyakran el fordul, hogy a régi bázisvektorok új ko-
ordinátáira nincs szükségünk, ekkor az új tábláza- Legtöbbször ezt a rövidített
tokban azok oszlopait elhagyhatjuk. Tehát a bázis- táblázatos formát használ-
transzformációnkat táblázatos alakban a következ - juk a feladatmegoldások-
képpen írhatjuk: ban.
a1 a 2 v a2 v v Az eljárásra egyszer szá-
e1 2 1 4 a1 12 2 a1 1 mítógépes program írható,
nagyobb terjedelm felada-
e2 1 3 5 e2 7 2 7 a2 2
toknál nem kell kézzel szá-
Általánosan is megfogalmazhatjuk a fenti példában molni.
ismertetett eljárást:
Tétel: Ha az Ln tér egy bázisa a b1, b2, …, bk, …, bn A tétel azt fejezi ki, hogy ki
vektorrendszer és c Ln (c 0), valamint a b1, b2, …, lehet cserélni a bázisban
bk, …, bn bázison ck 0, akkor a b1, b2, …,c, …, bn egy vektort egy – nem spe-
vektorrendszer is bázisa az Ln-nek. ciális – másikra.
Bizonyítás: Elég belátni, hogy a b1, b2, …,c, …, bn vek-
torrendszer független vektorokból áll. Tegyük fel, hogy a
vektorrendszer összefügg (indirekt feltétel). Ekkor:
c=c1’b1+ c2’b2+…+0 bk+…+ cn’bn. Ez viszont ellentmon-
dás, mert a feltételünk szerint a bk együtthatója nem 0.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 43

Tétel: Ha az Ln tér egy bázisa a b1, b2, …, bk, …, bn


vektorrendszer és c Ln (c 0), valamint a b1, b2, …,
bk, …, bn bázison ck 0, akkor a b1, b2, …,c, …, bn
bázison egy tetsz leges x=[ x1 x2 … xk … xn ]* Ln A tétel csak látszólag bo-
vektor új koordinátái: nyolult: a matematikai je-
x1 q c1 lekkel a bázistranszformá-
ció algoritmusát fejeztük ki.
x2 q c2
...
x= ,
q
...
xn q cn
xk
ahol q= .
ck
Bizonyítás: A b1, b2, …, bk, …, bn bázison legyen
c=c1b1+ c2b2+…+ck bk+…+ cnbn. A bizonyítás sem nehéz,
Kifejezzük bk-t: bár egy kicsit talán többet
c1 c2 1 cn kell számolni.
bk= b1 b 2 ... c ... bn .
ck ck ck ck
Ha adott az x=[ x1 x2 … xk … xn ]* vektor Ln-ben, ak-
kor a b1, b2, …, bk, …, bn bázison igaz a következ :
x=x1b1+ x2b2+…+xk bk+…+ xnbn.
A bk helyére helyettesítünk:
x=x1b1+ x2b2+…+
c1 c2 1 cn
+xk b1 b2 ... c ... b n +…+ xnbn.
ck ck ck ck
A bi vektorok együtthatóit „összegy jtjük” a m veleti
tulajdonságok alapján:
xk xk x x
x= x1 c1 b1 x2 c2 b2 ... k c ... xn k cn bn
ck ck ck ck
xk
Végeztünk, hiszen az hányadost jelöltük q-val.
ck
Eredményeinket szavakkal
Ha az eredeti bázisban lév bk koordinátáit akarjuk
így fejezhetjük ki: (ismét-
felírni az új bázisban, akkor a tetsz leges x vektor
44 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

helyére bk-t írva a koordinátákat a következ képpen lünk!) az elemi bázis-


kapjuk: a bk vektor a b1, b2, …, bk, …, bn bázison: transzformáció során az új
bk=0 b1+0 b2+…+1 bk+ …+0 bn, tehát: koordinátarendszer táblá-
1 zatában:
0 c1
ck 1.) A generáló elem
1 (a cserét jelz szám) he-
0 c2
ck lyére írjuk a reciprokát.
... 2.) A generáló elem
bk=
1 oszlopát szorozzuk a recip-
ck rok (–1)-szeresével.
... 3.) A generáló elem
1 sorát szorozzuk a recip-
0 cn rokkal. Az egyes oszlopok-
ck
ban így kapott számokat
Példa: Adottak az a1=[ 1 2 2 ]*, a2=[ 2 5 6 ]* va-
nevezzük q értékeknek.
lamint a3=[ 1 4 7 ]* vektorok. Mutassuk meg, hogy
4.) A hiányzó új ko-
a 3 vektor független és adjuk meg a triviális bázis
ordináták számítása:
vektorainak koordinátáit az (a1;a2;a3) bázison!
új koordináta = régi koordi-
Megoldás: Ha mindhárom vektor az új bázisba bevon-
náta – q szorozva a gene-
ható, akkor függetlenek, hiszen bázist csak független
ráló elem oszlopában lév
vektorok alkothatnak. Elemi bázistranszformációval
megfelel régi koordinátá-
egyenként kicseréljük a triviális bázis egységvektorait:
val.
a1 a2 a3 e1 a2 a3 e1 e2 a3 e1 e2 e3
a1 e1 1 2 1 1 2 1 5 2 3 11 8 3
a2 e2 2 5 4 2 1 2 2 1 2 6 5 2
a3 e3 2 6 7 2 2 5 2 2 1 2 2 1
Az ei koordinátái tehát az (a1;a2;a3) bázison:
e1=[ 11 –6 2 ]*,: e2=[ –8 5 –2 ]* és e3=[ 3 –2 1 ]*.
A táblázatok számolása a generáló elemek kijelölé-
sével kezd dik és a fenti 1-4 lépést hajtottuk végre. Az elemi bázistranszfor-
A kezd táblázat bal oldalára a triviális bázis egy- máció a mátrixaritmetika
ségvektorait ki sem írjuk, hiszen ott mindig azok egyik leggyakrabban al-
vannak. Ha a feladat olyan, hogy a triviális bázis kalmazott m velete, szük-
vektorainak új koordinátáira nincs szükségünk, ak- séges gyakorolni!
kor azok oszlopai az új táblázatokban elhagyhatók.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 45

3.2. A bázistranszformáció alkalmazásai

Az elemi bázistranszformáció igen széleskör al-


kalmazásai közül el ször azokkal foglalkozunk,
amikor a triviális bázis egységvektorainak új koordi-
nátáit nem kell kiszámolnunk, így az elemi
bázistranszformáció 1–4 lépést tartalmazó algorit-
musában elegend a 3. és a 4. lépést végrehajta-
nunk.

3.2.1. Vektorrendszer rangjának meghatározása


Példa: Határozzuk meg a következ 4 vektorból álló
vektorrendszer rangját: a1=[ 3 1 2 ]*, a2=[ 2 –1 3 ]*,
a3=[ 7 –1 8 ]*, a4=[ 1 2 –1 ]*.
Megoldás: A bázistranszformáció induló táblázatá- Ismert, hogy egy vektor-
rendszer rangját a közülük
ban bal oldalra a triviális bázis vektorait nem írtuk ki,
(helyük üresen maradt) és az újabb táblázatokat kiválasztható független
folytatólagosan írjuk: vektorok maximális száma
a1 a 2 a 3 a 4 a 2 a 3 a 4 a 3 a 4 adja. Tudjuk azt is, hogy
a2 3 2 7 1 5 10 5 2 1 bázist csak független vek-
torok alkothatnak. Így egy
a1 1 1 1 2 1 1 2 1 1
vektorrendszer vektorai
2 3 8 1 5 10 5 0 0
között annyi a független,
Az a3 és a4 nem vonható be, mert a 0 nem lehet
ahányat közülük be tudunk
generáló elem („nincs reciproka”) tehát a négy vek-
vonni a bel lük képzett új
torból maximum 2 független választható ki (amely
bázisba.
bármely 2 lehet!), tehát a vektorrendszer rangja 2.

3.2.2. Mátrix rangja


Példa: Milyen p és q érték mellett lesz a következ
mátrix rangja 2, illetve 3? Mikor lesz a dimenzió 3,
illetve mikor nem szinguláris (reguláris) a mátrix?
4 8 0 4
1 3 -1 3
-2 3 7 p
2 -4 8 q
46 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

A megoldást a mátrix oszlopvektoraival végrehajtott


elemi bázistranszformációval végezzük: Tudjuk, hogy a mátrix
a1 a2 a3 a 4 a2 a3 a 4 a2 a4 rangját az oszlop- vagy
a3 4 8 0 4 4 4 8 1 2 sorvektorai közül kivá-
a1 1 3 1 3 3 1 3 2 1 lasztható független vekto-
rok maximális száma adja.
2 3 7 p 9 5 p 6 14 p 16
Így a mátrix rangjának meg-
2 4 8 q 10 10 q 6 0 q 14
határozása egy vektorrend-
r(A) 2, ugyanis az a2 a 3. koordinátájával mindig
szer rangjának számolását
bevonható.
jelenti. A bázistranszformá-
r(A)=3, ha q+14=0, azaz q=–14, ekkor a p tetsz le-
cióval további kérdésekre is
ges valós szám lehet.
válaszokat tudunk adni.
Ez esetben a dimenzió 3.
r(A)=4, ha q+14 0, azaz q –14. A p tetsz leges
valós szám lehet.
Ekkor a mátrix reguláris (nem szinguláris): r(A)=n=4.

3.2.3. Kompatibilitásvizsgálat
Bizonyos feladatoknál nagy jelent sége van annak,
hogy eldöntsük: egy (vagy több) vektor kompatibilis-e
(lineárisan kombinálható-e) egy adott vektorrendszer
vektoraival.
Példa: Kompatibilis-e az A mátrix sorvektor terével Például a kés bb tárgya-
a b* és c* vektor, ha: landó egyenletrendszerek
1 3 0 2 megoldhatóságának is a
3 1 2 12
A= , b*=[2 –15 3 –1], c*=[1 4 –2 –3]. kompatibilitás a feltétele.
2 1 2 1
0 3 14
Mennyi a mátrix rangja?
Megoldás: Az A* oszlopvektoraival, tehát az A
transzponálása után az ugyancsak transzponált b
és c vektorokkal bázistranszformációt hajtunk végre:
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 47

a1 a2 a3 a4 b c a2 a3 a4 b c a2 a3 b c a2 b c
a1 1 3 2 0 2 1 3 2 0 2 1 3 2 2 1 1 2 1
a3 3 1 1 3 15 4 8 7 3 9 7 2 1 0 1 2 0 1
a4 0 2 2 1 3 2 2 2 1 3 2 2 2 3 2 2 3 0
2 12 1 4 1 3 18 5 4 5 5 26 13 7 13 0 7 0
A b* nem kompatibilis, mert a b felírásához az egyik Az e4 vektor az induló tábla
triviális bázisvektort is fel kell használnunk: baloldalán a 4. helyen „rej-
b =2a1+(–3)a4+7e4. t zköd en” található.
A c* pedig kompatibilis az A sorvektoraival, hiszen
c=–1a1+0a2+1a3+0a3= –a1+a3. A vektoregyenletekbe he-
Az A mátrix rangja 3, hiszen az a2 negyedik koordi- lyettesítve az eredménye-
nátája 0, ami nem lehet generáló elem. inket ellen rizhetjük.
A kompatibilitás vizsgálatnál is gyakori a paraméter
a feladatban. Ilyenkor csak arra érdemes törekedni,
hogy generáló elemet ne a paraméteres sorban
vagy oszlopban válasszunk, mert ekkor a számolás
általában bonyolultabb lesz.

3.2.4. Mátrixfaktorizáció
A faktorizációnak, a mátrix szorzattá alakításának
létezik triviális esete, amikor az egyik szorzótényez
egységvektor: A=A E, illetve A=E’ A.
Az összetett egész számokhoz hasonlóan a mátri-
xok is általában többféleképpen írhatók fel két mát- Faktorizáció=szorzattá ala-
rix szorzataként. A mátrixoknak van olyan szorzattá kítás.
alakítása, amikor az els tényez oszlopvektorai
bázist alkotnak az eredeti mátrix oszlopvektor teré-
ben, a második tényez sorvektorai pedig az eredeti A mátrixok szorzattá alakí-
mátrix sorvektor terének bázisát alkotják. Az ilyen tása során csak a két té-
nyez s szorzatokkal fogla-
szorzattá alakítás a bázisfaktorizáció. kozunk.
Tétel: Az A mátrix bázisfaktorizációja: A=A1 [Er D],
ahol az A1 az eredeti A mátrix rangjának megfelel
számú független oszlopvektora A-nak, az [Er D],
egyesített mátrixban Er a r(A)-nak megfelel rend
egységmátrix, D pedig az A1-be be nem került osz- A bázisfaktorizációra az
lopvektorok az A1 bázison vett koordinátáikkal. egyenletrendszerek meg-
48 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Példa: Legyen az A mátrix: oldásánál lesz szüksé-


1 2 4 0 4 günk.
A= 1 3 7 1 5 .
2 1 5 3 1
Az e1 a1 és az e2 a2 bázisvektor csere után:
r(A)=2. (A számolást nem részletezzük.) Így az A1
az A els két oszlopából áll:
1 2
1 0 Azért célszer lenne a
A1= 3 , az Er=E2=
2 , és D az A 3., 4., részletezés, végezzük el a
0 1
2
1 számítást!
és 5. oszlopának új (az (a1;a2) bázison vett) koordi-
2 2 2
nátáiból áll: D= .
1 1 3
Így az A bázisfaktorizációja:
1 2 4 0 4 1 2
1 0 2 2 2 Ellen rizhetjük!
1 3 7 1 5= 2 3 .
0 1 1 1 3
2 1 5 3 1 2 1
A tétel bizonyítása: Legyen az A=[ a1 a2 … ap] osz- A mátrixok szorzattá alakí-
lopvektorokra particionált mátrix rangja r. Legyen az
els r darab oszlopvektor lineárisan független (ha tása sokféleképpen történ-
nem az lenne, akkor cserékkel azzá lehet tenni). het. A bázisfaktorizáció
Ekkor az a1 a2 … ar bázist alkot, tehát az A minden viszont egyértelm .
oszlopvektora felírható az a1 a2 … ar vektorok lineá-
ris kombinációjaként.
Jelölés: A1=[ a1 a2 … ar].
Igaz: a1=A1 e1, a2=A1 e2, … ar=A1 er, és:
ar+1=A1 dr+1, ahol a dr+1 az ar+1 vektor koordinátái az
(a1;a2;… ;ar ) bázisra vonatkozóan. Hasonlóan: Egy oszlopvektort a mát-
ar+2=A1 dr+2 és így tovább: ap=A1 dp. rixból – tudjuk – a megfele-
Helyettesítve: l egységvektorral jobbról
A=[A1 e1 A1 e2 … A1 er A1 dr+1 A1 dr+2 … A1 dp]= szorozva kapjuk.
=A1 [e1 e2 … er dr+1 dr+2 … dp].
Ezzel végeztünk, hiszen
Belátható, hogy az [Er D] mátrix sorvektorai az A
[e e … er] = Er és
mátrix sorvektor terének bázisát alkotják. (Nem bi- 1 2
[dr+1 dr+2 … dp] = D.
zonyítjuk.)
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 49

3.2.5. Lineáris egyenletrendszerek meg-


oldása

A lineáris egyenletrendszer általános alakja: Lineáris az egyenletrend-


a11x1+a12x2+…+a1nxn=b1 szer, ha az egyenletrend-
a21x1+a22x2+…+a2nxn=b2 szert alkotó m darab egyen-
… letben az xi (1 i n) isme-
am1x1+am2x2+…+amnxn=bm retlenek els hatványon sze-
Az aij együtthatókat egy A mátrix elemeinek tekint- repelhetnek.
hetjük: A=[ aij ], ahol i 1-t l m-ig, a j 1-t l n-ig bármi-
lyen pozitív egész szám lehet. A változókat és az
egyenletek jobb oldalán álló számokat oszlopvekto-
rok alakjában vehetjük fel:
x=[x1 x2 … xn]* és b=[b1 b2 … bm]* Ezekkel a jelölésekkel az
egyenletrendszer röviden,
Példa: Legyen az egyenletrendszerünk a következ :
mátrixalgebrai írásmóddal
x1 2x 2 6x 3 3x 5 1
adható meg: A x=b.
x1 x2 4x 3 x4 x5 2
2x1 x2 6x 3 3x 4 5
x1
1 2 6 0 3 x2 1
Ekkor az A= 1 1 4 1 1 , az x= x 3 és b= 2 .
2 1 6 3 0 x4 5
x5
Az egyenletrendszer mátrixalgebrai alakja: A·x=b.
Tétel: Az A·x=b egyenletrendszernek akkor és csak
akkor van megoldása, ha a b kompatibilis az A osz-
lopvektor terével. A tétel a megoldhatóság
Bizonyítás: Az A·x szorzat egy oszlopvektor (mátri- feltételét fogalmazza meg.
xot jobbról oszlopvektorral szorozva oszlopvektort Kompatibilitás: a b vektor
kapunk), ami az A oszlopvektorainak lineáris kombi- „kikombinálható” az A mát-
nációja, tehát az A oszlopvektor terének egy vekto- rix oszlopvektoraival.
ra. Olyan x vektor, amellyel a lineáris kombináció a
b vektort állítja el , akkor és csak akkor létezik, ha a
b kompatibilis az A oszlopvektor terével.
50 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Tétel: Az A·x=b egyenletrendszer általános megol- Ha megoldható az egyen-


dása, ha a b kompatibilis az A oszlopvektor terével: letrendszer, akkor a „meg-
xr=d–D xs , oldóképletet” adja meg a
ahol r=rang(A). Az xr a rangnak megfelel számú xi tétel.
változóból álló vektor.
A d a b vektornak az A mátrix r darab vektorát tar-
talmazó bázisán vett új koordinátáiból álló vektor.
D az A bázisába be nem került vektorok új koordiná-
táiból áll.
Az xs, az ún. szabad változók vektora pedig az
egyenletrendszer n változója közül az r darabon
felülieket, n–r változót tartalmaz. Az n–r számot az
egyenletrendszer szabadságfokának nevezzük.

Bizonyítás: Az egyenletrendszer megoldhatóságá-


nak a feltétele, hogy b kompatibilis legyen az A osz-
lopvektor terével. Ha ez teljesül, akkor a mátrix- Az A mátrixot szorzattá ala-
faktorizáció tétele szerint: kítjuk (bázisfaktorizáció).
A=A1 [Er D],
ahol A1 az A rangjának megfelel számú (r darab)
független oszlopvektorból áll.
A kompatibilitás alapján: b=A1 d, ahol d a b-nek az
A1 oszlopvektoraira vonatkozó koordinátáit tartal-
mazza. Így igaz a következ :
A x=A1 [Er D]x=b=A1 d, azaz: [Er D]x=d
Az x vektort bontsuk fel a rangnak megfelel számú
változóra, ez legyen xr és a „többi” változót tartal-
mazó xs vektorra. Ekkor:

xr
d=[Er D] =Erxr+D xs=xr+D xs. Mátrix szorzás történt.
xs

Rendezve: xr=d–D xs.


MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 51

Példa: Az egyenletrendszerünk a fejezet elején a Az egyenletrendszer meg-


következ volt: oldásához el ször a meg-
x1 2x2 6x3 3x5 1 oldhatóságot kell vizsgálni.
x1 x2 4x3 x4 x5 2 Ha megoldható, akkor az
2x1 x2 6x3 3x 4 5 általános megoldást vesz-
szük fel. Mindez történhet
Ennek a megoldását keressük.
egy táblázat sorozattal:
A bázistranszformáció táblázata:
x1 x2 x3 x4 x5 b x2 x3 x4 x5 b x3 x4 x5 b
x1 1 2 6 0 3 1 2 6 0 3 1 2 2 1 3
x2 1 1 4 1 1 2 1 2 1 2 1 2 1 2 1
2 1 6 3 0 5 3 6 3 6 3 0 0 0 0
A táblázatokban egyenlet-
Látható, hogy a b kompatibilis az A oszlopvektor rendszer megoldáskor cél-
terével (az utolsó táblázat 3. sorában csupa 0 van), szer az egyes oszlopokat
így az egyenletrendszer megoldható. a megfelel változókkal
Az általános megoldás: jelölni.
x3
x1 3 2 2 1
x4 . A megoldóképletet alkal-
x2 1 2 1 2
x5 maztuk, az A rangja 2, az-
Az általános megoldást írhatjuk az egyes koordiná- az r=2.
ták egyenl sége alapján is:
x1=3–2x3–2x4+x5
x2=–1–2x3+x4–2x5 A „konkrét” felírás gyakran
ahol az x3, x4, x5 „szabad változók” tetsz leges va- jobban használható.
lós számok lehetnek.
Az egyenletrendszer szabadságfoka tehát 3.
Elnevezés: Ha a szabad változóknak konkrét szám-
értékeket adunk, akkor az egyenletrendszer partiku- Partikuláris: egy megoldás
láris megoldását kapjuk. a végtelen sok közül.
Például: Ha a fenti példa általános megoldásában
x3=1, x4=–2, x5=0, akkor az egyenletrendszer egy
partikuláris megoldását kapjuk: xp=[ 5 –5 1 –2 0 ]* . A patikuláris megoldást
Elnevezés: Ha minden szabad változónak számér- vektor alakban is megad-
tékként 0-t adunk, akkor az egyenletrendszer egy hatjuk.
bázismegoldását kapjuk.
52 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Esetünkben például: xb=[ 3 –1 0 0 0 ]* . Ekkor ugyanis a bázisba


Az egyenletrendszernek több, de legfeljebb véges bevont valamelyik oszlop-
sok bázismegoldása is lehet, ha az általános meg- vektort (az xr egyik elemét)
oldásban több szabad változó található. kicserélhetjük az xs egyik
Példa: Adjuk meg a fenti egyenletrendszer egy má- oszlopvektorával.
sik bázismegoldását!
Eljárhatunk úgy, hogy az általános megoldásból:
x1=3–2x3–2x4+x5
x2=–1–2x3+x4–2x5 , és x3, x4, x5 R
valamelyik szabad változót kifejezzük:
a második egyenletb l x4=1+x2+2x3+2x5 és ezt az
els egyenletbe helyettesítjük:
x1=3–2x3–2(1+x2+2x3+2x5)+x5=1–2x2–6x3–3x5.
Ekkor az általános megoldás: Bázismegoldást akkor ka-
x1=1–2x2–6x3–3x5 punk, ha a szabad változók
x4=1+x2+2x3+2x5 és x2, x3, x5 R értékeit az általános meg-
Egy újabb bázismegoldás tehát: xb2=[ 1 0 0 1 0]*. oldásban nullának vesz-
Általában egyszer bben kapunk új bázismegoldást, szük.
ha a bázistranszformáció táblázatát használjuk. Az
utolsó táblázatunkban hajtsuk végre az x2 x4 cserét:
x3 x4 x5 b
x1 2 2 1 3
x2 2 1 2 1
0 0 0 0 Bázismegoldásban a táb-
lázat fels sorában lév
A bázismegoldáshoz csak a b „legújabb” koordinátá-
ira van szükség. A cserét jelz generáló elem vá- szabad változók értékei
lasztással a b-hez tartozó q érték 1 lesz, az x1-re nullák, a rögzített változók
vonatkozó koordinátája b-nek: 3–1 2=1 és máris értékeit az utolsó oszlopból
megkaptuk az újabb bázismegoldást: olvassuk le.
xb2=[ 1 0 0 1 0]*.
Speciális eset: Ha az A x=b egyenletrendszerben
b=0, akkor az egyenletrendszer homogén. A homo- A lineáris egyenletrendsze-
gén egyenletrendszer megoldása: xr=–D xs, hiszen rek megoldásának centrá-
ekkor d=0. lis szerepe van a lineáris
Példa: Az a és b paraméterek milyen értékei mellett algebrában, az optimum
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 53

nincs megoldása az egyenletrendszernek: számításban, így ezt az


2 x1 x2 3x 3 2x 4 3x5 6 eljárást alaposan be kell
x1 2x 3 3x 4 2x 5 1 gyakorolni.
3x 2 2x 3 x4 3x5 1
3 x1 4x 2 ax 3 2x 4 bx 5 8
Mikor van megoldás? Mennyi lehet a szabadságfok?
Elkészítjük a bázistransz-
Adja meg az általános megoldást, ha a szabadság-
formáció táblázatát a szo-
fok 2 és két különböz bázismegoldást!
kásos feltételekkel.
Megoldás:
x1 x2 x3 x4 x5 b x2 x3 x4 x5 b x3 x4 x5 b x3 x5 b
x2 2 1 3 2 3 6 1 7 8 1 8 7 8 1 8 1 10
x1 1 0 2 3 2 1 0 2 3 2 1 2 3 2 1 1 2 2
x4 0 3 2 1 3 1 3 2 1 3 1 23 23 0 23 1 0 1
3 4 a 2 b 8 4 a 6 11b 6 11a 22 21 b 2 21a 1 b 2 0
Emlékszünk: az e4 a táblá-
Mindig van megoldása az egyenletrendszernek, a b
zat utolsó sorának „elején”
mindig kompatibilis az A oszlopvektor terével, hi-
van, de mint triviális bázis-
szen b-nek a báziscserébe be nem vont e4-re vo-
vektort, nem írjuk ott ki.
natkozó koordinátája 0.
A szabadságfok 2, ha a=1 és b=2 (két xi marad az
oszlopf n).
A szabad változók az utol-
A szabadságfok 1, ha a 1 vagy b 2. Más sza-
só táblázat oszlopf in ta-
badság fok nem lehet.
lálhatók.
A kért általános megoldás: x1=2–x3–2x5
x2=x3+x5
A második bázismegoldást
x4=1–x3 x3; x5 R.
úgy kaptuk, hogy x3-at és
Bázismegoldások: xb1=[ 2 0 0 1 0 ]* és (például)
x4-et felcseréltük.
xb2=[ 1 1 1 0 0 ]*.

3.2.6. Mátrix inverze


A mátrix inverzén olyan mátrixot értük, amellyel szo- Egy mátrixot balról is és
rozva az eredeti mátrixot eredményül egységmátri- jobbról is szorozhatunk, így
xot kapunk. általában két különböz
1 inverz mátrix létezhet.
Ha A X=E, akkor X jobb oldali inverz, jelöléssel: X= A j ,
54 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

1
ha Y A=E, akkor Y bal oldali inverz, jelöléssel: Y= A b .
A bal- és jobb oldali inverzek kiszámolásával külön
nem foglalkozunk.
Tétel: Ha az A mátrix reguláris, akkor és csak akkor A reguláris (nem szingulá-
létezik a jobb és bal oldali inverz és azok egyenl ek: ris) mátrix – tudjuk – olyan
1
A j = A b =A–1.
1 n-ed rend négyzetes mát-
rixot jelent, amelynél
A tételt nem bizonyítjuk.
r(A)=n.
A mátrix invertálása (ha lehetséges) úgy történhet,
hogy a triviális bázison adott oszlopvektorokkal az
elemi bázistranszformáció lépéseivel kicseréljük az
egységvektorokat. Az egységvektoroknak az új bá-
zison vett (megfelel en rendezett) koordinátái alkot-
ják az inverz mátrixot.
Példa: Adjuk meg az A inverzét, ha
1 2 1
A= 2 5 4 .
2 6 7

Megoldás: „Teljes” bázistranszformációt hajtunk végre


„Teljes” a bázistranszfor-
a1 a2 a3 e1 a2 a3 e1 e2 a3 e1 e2 e3
máció, ha a triviális bázis-
a1 e1 1 2 1 1 2 1 5 2 3 11 8 3
vektorok új koordinátáit is
a2 e2 2 5 4 2 1 2 2 1 2 6 5 2
kiszámoljuk.
a3 e3 2 6 7 2 2 5 2 2 1 2 2 1

Az A inverze: Az inverzmátrixot a triviális


11 8 3 bázisvektorok új koordinátái
A–1= 6 5 2 . adják az (a1,a2,a3) bázison.
2 2 1
Elvégezhetné a szorzást!
Ellen rizhetjük eredményünket: az A-t akár jobbról,
akár balról A–1 –nel szorozva a mátrix és inverzének
szorzata egységmátrixot eredményez.
Példa: Az a = [ 1 –1 2 ]* és b = [ –1 3 2]* vektorok
ismeretében adja meg az a b*– E inverzét, ahol E a
megfelel egységmátrix. Végezzünk ellen rzést!
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 55

Megoldás: Az a b* diadikus szorzat:


1 3 2 Mátrixalgebrai alapm vele-
a b*= 1 3 2 teket végeztünk. Az egy-
2 6 4 ségmátrix estünkben az E3:
E3=<1 1 1>.
2 3 2
és a b*–E3= 1 4 2 :=A.
2 6 3
Az A invertálása: Az invertáláshoz teljes
a1 a2 a3 e2 a2 a3 e2 ae e3 e2 e1 e3 bázistranszformáció szük-
a2 2 3 2 2 5 2 2 1 2 2 1 2 séges.
a1 1 4 2 1 4 2 3 0 2 3 0 2
a3 2 6 3 2 2 1 2 2 1 6 2 5

A táblázat bal oldalán az ott „evidensen” jelenlév egy-


ségvektorokat nem írtuk ki, csak helyettesítettük. Cse-
rénél az oszlopf n az egységvektorok is szerepelnek.
Az inverz mátrix felvételéhez az utolsó táblázatot Tehát például az inverz
rendezni kell úgy, hogy az új bázis vektorai sorkez- mátrix els sorának els
d ként a1, a2, a3 sorrendben szerepeljenek és az eleme az e1-nek a1-re vo-
oszlopf n az egységvektorok is e1, e2, e3 sorrend- natkozó koordinátája, azaz
ben legyenek. 0 legyen. Az els sor má-
Az inverz mátrix: sodik eleme az e2-nek a1-
0 3 2 re vonatkozó koordinátája
A = –1
1 2 2 . legyen: –2, és így tovább.
2 6 5
Ellen rzés: annak kell teljesülnie, hogy A A–1=E.
A szorzást Falk-sémával is
2 3 2 0 3 2 1 0 0
végezhetjük.
1 4 2 1 2 2 = 0 1 0
2 6 3 2 6 5 0 0 1

Megjegyzés: Ha az A x=b egyenletrendszer esetén Ugyanis ekkor az A x=b-t


az A reguláris, akkor: x=A–1 b. az A–1-gyel balról beszo-
rozhattuk.
56 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Példa: Adottak az A, B, C mátrixok:


1 1 2 4 4 5
A= 2 1 3 , B= 5 6 7 , C=< 1 –2 3 >.
1 0 4 1 1 1
a.) Igazoljuk, hogy A és B egymás inverzei!
b.) Adjuk meg az A·x=1 és a B·X=C megoldásait!
Megoldás:
a.) Ha inverzek, akkor a szorzatuk egységmátrix, Végezze el szorzást A·B
tehát ez esetben szükségtelen a bázistransz- és B·A irányokban is!
formáció elvégzése. Valóban: A B=E3 . Mindkét esetben egység-
-1 -1
b.) A x=1-b l: x=A 1=(mivel A =B)=B 1=[ 5 8 –1 ]*. mátrixot kapunk.
1 2 6
–1
A B·X=C-b l: X=B C=A C= 2 2 9 . Egyszer en megkaptuk a
1 0 12 megoldásokat erre a nem
túl könny feladatra.
Az invertálás antikommutatív, erre vonatkozik a kö-
vetkez állítás:
Tétel: (A B)–1=B–1 A–1.
Bizonyítás: Ha mindkét oldalt szorozzuk A B-vel,
ugyanazt az egységmátrixot kapjuk.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 57

4. Operációkutatás
4.1. A lineáris programozás fogalma

A döntési, gazdasági problémák optimalizálásának


jelent s részét lineáris programozással oldjuk meg.
A módszer lényege: az adott feladathoz matematikai
modellt veszünk fel, amelyben általában lineáris formu-
lák, egyenl tlenségek és egyenl ségek szerepelnek. A matematikai optimális
Ezután az egyenletrendszerek megoldási algoritmu- megoldásokat a végs dön-
sára alapuló eljárásokkal kiszámoljuk (illetve: számí- téshez esetleg még közgaz-
tógéppel kiszámoltatjuk) a szóban forgó döntéshez, dasági (ritkábban: politikai és
szervezési – gazdasági tevékenységhez tartozó egyéb) megfontolások alap-
legjobb változatokat. ján véglegesítik.

4.2. A normál feladat matematikai modellje


A normál lineáris programozási feladat bevezetésé-
hez tekintsük a következ példát:
Példa: Egy üzem kétféle terméket készít 3 er forrás
felhasználásával, amelyek a termékek egy-egy egy-
ségébe rendre 3, 4, 2, illetve 2, 0, 4 mennyiségben
épülnek be. Az egyes er forrás kapacitásokból leg-
feljebb 18, 16, 24 egységnyi használható fel. A
késztermékek egy-egy darabjának eladási ára 4,
illetve 2 pénzegység. Adjuk meg azt a termelési
programot, amely megvalósításával a lehet legna- Figyelmesen olvassuk el a
gyobb árbevétel érhet el! feladat szövegét!
Megoldás: Foglaljuk az adatokat táblázatba. Jelölje
az er forrásokat A, B, C, a termékeket I, II. A táblázat:
I II Kapacitás
A 3 2 18
B 4 0 16 Táblázat készítésénél cél-
C 2 4 24 szer ezt az elrendezést
Ár 4 2
választani. A kés bbiekben
Az els termékb l gyártsunk x1 darabot, a másodikból a megoldás hasonló alakú
x2-t, ezek lesznek a feladat változói. Esetünkben nyil- táblázatból indul ki.
58 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

ván igaz: x1, x2 0. A feltétel vektor alakban is írható:


x=[ x1 x2 ]* 0
A kapacitáskorlátok figyelembe vétele: az I. termék A darabszámok megadása
minden darabjába az A er forrásból 3 egységnyi történhet tízesével, száza-
épül be, a gyártásra kerül x1 darabhoz tehát 3 x1 sával, vagy más módon
mennyiséget kell felhasználni. A II. termék minden csoportosítva, azaz xi lehet
darabjába az A er forrásból 2 egységnyi épül be, tört is, vagy akár irracioná-
tehát x2 darabhoz 2 x2 mennyiséget használunk fel, lis szám is, de negatív nyil-
összesen: 3x1+2x2 a felhasznált mennyiség, ami ván nem.
nem lehet több, mint amennyi rendelkezésre áll:
3x1+2x2 18
A második er forrásra hasonló megfontolással adó-
dó feltétel:
4x1+0 x2 16
A harmadik er forrásra: 2x1+4x2 24 A kapacitás korlátainak
Az er forrásokra felírt feltételek a gyártási technoló- figyelembe vétele igazán
giából erednek, így a egyszer dolog.
3x1+2x2 18
4x1+0 x2 16
2x1+4x2 24
A korlátozó feltételek alkot-
egyenl tlenségeket korlátozó (technológiai) feltéte-
ják a matematikai modell
leknek nevezzük.
második részét.
A korlátozó feltételek mátrixalgebrai alakban is írha-
tók: jelöljük a termelés mátrixát A-val, a jobb oldalon
lév számokat b-vel:
3 2 18
A= 4 0 , b= 16 . Nyilván: b 0.
2 4 24 A mátrixalgebrai felírásnál
Tehát: ügyeljünk arra, hogy a b
3 2 18 vektort oszlopvektorként
x1
4 0 = 16 . vegyük fel! Természetesen
x2
2 4 24 ekkor az x1 és x2 vektora is
oszlopvektor, hiszen más-
Általánosan:
ként nem tudnánk szoroz-
Ax b.
ni.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 59

A feladatban a cél a maximális árbevétel. Az I. ter-


mék darabjáért 4 pénzegységet kapunk, az x1 dara-
bért 4x1-et, a II. termékért pedig összesen 2x2-t. A
célértéket jelöljük z-vel, ekkor z=4x1+2x2 és ennek
legnagyobb értékét keressük, jelöléssel:
z=4x1+2x2 max.
A z célértéket tekinthetjük az x vektorváltozó A célfüggvény felvétele
skalárfüggvényének: z=f(x). szintén nem meger ltet
A z célérték felírható az árvektor: c*=[ 4 2 ] és az x feladat.
vektor skalárszorzataként:
z=f(x)=c* x max. Skalárszorzat: a megfelel
Összefoglalva: a példában felvetett probléma ma- koordináták szorzatait ösz-
tematikai modellje: szeadjuk.
x 0
Ax b. (b 0)
z=c* x max.
Definíció: Normál lineáris programozási feladatról
akkor beszélünk, ha adott az
x=[ x1 x2 … xn ]* vektor, az A m n típusú mátrix,
Figyeljünk az elemszámo-
a b=[ b1 b2 … bm ]*, valamint a c*=[ c1 c2 … cn ]
kat kifejez m és n inde-
vektorok a következ feltételekkel:
xekre!
x 0 (Induló feltétel)
Ax b. (b 0) (Korlátozó feltétel)
A modell tehát 3 részb l
z= c*x max. (Célfüggvény)
áll.
Manuálisan a normál lineáris programozási felada-
tokat vagy geometriai módszerekkel oldjuk meg,
vagy algebrai úton, az ún. szimplex módszerrel. A Mind a modellek helyes fel-
állításához, mind a megol-
gyakorlatban a nagyobb terjedelm optimum-
dások során jelentkez spe-
számítási feladatokat számítógéppel oldják meg. ciális esetek megértéséhez
hasznos a kisebb terjedelm
4.3. A normál feladat megoldása geometriai feladatok kézi megoldása.
módszerrel
A normál lineáris programozási (LP) feladatok közül
azok, amelyeknek két változójuk van, egyszer en
megoldhatók geometriai módon.
60 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Példa: A bevezet . példában szerepl feladat ma-


tematikai modellje:
A normál LP feladat adott
x1, x2 0 feltételeit és a célt síkbeli
3x1+2x2 18 koordináta rendszerben
4x1 16 ábrázoljuk.
2x1+4x2 24
z=4x1+2x2 max.
Jelöljük a koordináta rendszer vízszintes tengelyét x1-
gyel, a függ leges tengelyt pedig x2-vel. Az x1, x2 0
feltételnek eleget tev pontok a koordináta rendszer I.
síknegyedében találhatók.
A 3x1+2x2 18 feltétel azokat a pontokat határozza
meg, amelyek a 3x1+2x2 = 18 egyenes határolta Els síknegyed: az origótól
egyik félsíkon találhatók. Az egyenes többféle mó- jobbra és felfelé található
don, esetünkben célszer en a Salmon féle tengely- síkrész.
metszetes alakkal ábrázolható.
x1 x 2
(A tengelymetszetes alak: 1, ahol az
a b Az egyenes bármilyen más
egyenes az x1 tengelyt a-nál, az x2-t b-nél metszi.) módszerrel, például két
x x2 tetsz leges pontja meg-
A 3x1+2x2 = 18 egyenletb l: 1 1, az egye-
6 9 adásával is ábrázolható.
nes x1-et 6-nál, x2-t 9-nél metszi.
Ábrázolva:
9
8
7
6
5
4
3 Az egyenl tlenségnek meg-
2
1 felel pontok a rajzon lév
1 2 3 4 5 6 7 háromszög pontjai.
1. ábra
Az egyenl tlenségnek megfelel félsíkot legegysze-
r bben úgy állapíthatjuk meg, hogy megvizsgáljuk:
egy kiválasztott pont koordinátái kielégítik-e az
egyenl tlenség feltételét. Ha igen, akkor az egyen-
l tlenség azt a félsíkot határozza meg, amelyen a
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 61

kiválasztott pont található. Ha nem, akkor a másik Legyen a kiválasztott pont


félsíkot. az origó: P(0;0). A P koor-
A 4x1 16 feltétel írható x1 4 alakban, ami az x1=4 dinátáit behelyettesítjük a
egyenest l (tehát az x2 tengellyel párhuzamos egye- 3x1+2x2 18 egyenl tlen-
nest l) balra található pontokat jelenti. ségbe. Azt kapjuk, hogy:
x1 x 2 0 18, tehát az egyenl t-
A 2x1+4x2 24 Salmon alakja: 1, a
12 6 lenség az I. síknegyednek
félsíkot határoló egyenes a tengelyeket 12-nél és 6- azokat a pontjait határozza
nál metszi. Az origó koordinátáit behelyettesítjük az meg, amelyek közé tartozik
egyenl tlenségbe, az igaz lesz, így az „érvényes” az origó is („balra” vannak
félsík tartalmazza az origót. az egyenest l).
A négy feltételi egyenl tlenségnek egyszerre eleget
tev pontok (a négy halmaz közös része) alkotja a
lehetséges megoldások L halmazát.
Ábrázolva:
9
8
7
Q5(0;6)
6
5 Q4(3;4,5)
4
3
L Q3(4;3)
2
1 Az L halmaz bármely pont-
Q1(0;0) Q2(4;0)
1 2 3 4 5 6 7 8 9 10 11 12 1
jának koordinátái a feladat
lehetséges megoldását
2. ábra
adják. Közülük kell kivá-
Az L halmazt határoló Q1, Q2,… ,Qn pontokat lasztani azt (vagy azokat),
extremális pontoknak nevezzük. Koordinátáik ki- amelyek a feladat optimális
számolása a megfelel egyenesek metszéspontjai- megoldását szolgáltatják.
nak meghatározásával történik.
Az optimális megoldás megtalálásához a z=4x1+2x2
célfüggvényt használjuk fel, amely a z különböz szám-
értékeihez egymással párhuzamos egyeneseket rendel.
Kiindulásul válasszuk a z értékét 0-nak. A
0=4x1+2x2, azaz x2=–2x1 egy origón átmen –2
iránytangens egyenes, ez a célfüggvények között
az alapegyenes.
62 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Ha a z számértékét növeljük, az alapegyenessel


párhuzamosan „jobbra felfelé” tolódik el az egyenes,
ha pedig csökkentjük a z értékét, akkor „balra lefelé”
tolódnak el az egyenesek.
A maximális z értékhez tartozó egyenesnek még
kell, hogy legyen legalább egy közös pontja a lehet-
séges megoldások halmazával. Ez a közös pont Mindez fordítva is m ködik:
esetünkben a Q3(4;3) pont. ha növelni akarjuk a z értékét,
Ábrázolva: akkor az alapegyeneshez
7
Q 5(0;6) képest „jobbra felfelé” kell
6
z=16 Q 4(3;4,5)
5 eltolni a z egyenesét.
4
3
L Q 3(4;3)
z=0 2
1
Q 1(0;0) Q 2(4;0)
–2 –1 1 2 3 4 5 6 7
–1
–2 z=22 (max)
–3
A rajzolást kell pontos-
3. ábra sággal kell végezni. Így is
el fordulhat, hogy közel
A célfüggvény maximális értéke 22, ezt az x1=4 és
vannak egymáshoz a ma-
x2=3 értékeknél veszi fel.
ximális z értékhez tartozó
Az eredeti feladat kérdésére tehát a válaszunk: op-
extremális pontok. Ilyen
timális akkor lesz a termékszerkezet, ha az els ter-
esetben a pontok koordiná-
mékb l 4-et, a másodikból 3-at gyártunk. Maximáli-
táit a célfüggvény képleté-
san 22 pénzegység árbevétel érhet el.
be helyettesítjük, és ame-
Megadhatjuk még a kapacitások maradványait, az
lyiknél nagyobb z érték
ún. eltérésváltozókat, amelyeket ui–vel jelölünk, és
adódik, ott van a maxi-
ha hozzáadjuk az optimális esetben felhasznált er -
mum.
forrás mennyiséghez, akkor egyenl séget kapunk:
Az eltérésváltozók megha-
– ha az els (nem triviális) feltételi egyenl tlen-
tározása a kapacitások
ségbe helyettesítjük az x1 és az x2 optimális értékeit:
tervezéséhez is szüksé-
3 4+2 3+u1=18 esetén az u1=0, nincs maradvány.
ges.
– ha a második feltételi egyenl tlenségbe
helyettesítünk: 4 4+u2=16, ebben az esetben sincs
maradvány, az u2=0.
– ha a harmadik feltételi egyenl tlenségbe
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 63

helyettesítjük az x1 és az x2 optimális értékeit:


2 4+4 3+u3=24 esetén a maradvány, az u3=4. Ez azt
is jelenti, hogy optimális lenne a termelés akkor is,
ha a harmadik er forrást 4-gyel csökkentenénk.
Az optimumok leolvasása általában vektor alakban
történik: xo=[ 4 3 ]* uo=[ 0 0 4 ]* zo=22. A vektoros felírás áttekint-
het bb, rövidebb.
4.3.1. A tiszta minimum feladat és geometriai meg-
oldása
A lineáris programozás feladatainak megoldására a
geometriai módszer akkor alkalmazható, ha kétvál-
tozós a probléma.
Grafikus úton egyszer en meg tudunk oldani kétvál- Bonyolultabb rajztechniká-
tozós minimum feladatokat is. val a 3 változós esetekben
Definíció: A lineáris programozásban tiszta mini- is megkaphatjuk a megol-
mum feladatnak az dást, ezzel nem foglalko-
x 0 zunk.
Ax b. (b 0)
z= c*x min. Az induló feltétel marad, a
alakban felírt feladatot nevezzük. többi feltétel „átfordul”: a
Példa: Egy gazdaságban az állatok etetéséhez két- kisebb-egyenl reláció he-
féle takarmány keveréket használnak, amelyek egy- lyett nagyobb-egyenl fel-
egy egységnyi mennyisége az A, B és C tápanyag- tételek lesznek, a célfügg-
okból rendre 2, 2, 0 és 1, 4, 4 egységet tartalmaz. vénynek pedig a minimu-
Az állatok fejl déséhez az egyes tápanyagokból mát keressük.
legalább 6, 12, 4 egységnyi mennyiségre van szük-
ség. Az egyes takarmány keverékek beszerzési
egységárai: 5 és 6 pénzegység. Adjuk meg azt a
takarmányozási programot, amely a legkisebb be-
szerzési áron megvalósítható!
Megoldás: Els lépésként a feladat változóit hatá-
rozzuk meg. Az els keverékb l vásároljunk x1-et, a
másodikból x2-t.
A matematikai modell felvételéhez készíthetünk táb- A döntési változók megha-
lázatot: tározása egyes feladatok-
ban nem mindig egyszer .
64 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

I. ( x 1 ) II. ( x 2 ) Kapacitás Termelésprogramozásnál


A 2 1 6 többnyire a gyártandó meny-
B 2 4 12
C 0 4 4 nyiségek a döntési változók.
Ár 5 6 min
A matematikai modell: x1, x2 0
2x1+x2 6 A tiszta minimum feladat-
2x1 +4x2 12 ban a feltételek „nagyobb
egyenl ” irányú egyenl t-
4x2 4
lenségek, hiszen az egyes
z=5x1+6x2 min.
tápanyagokból legalább a
Ábrázoljuk a feltételeket, valamint a célfüggvény
megadott mennyiségeket
alapegyenesét és optimumát.
fel kell használni és a cél-
függvényre minimumot ke-
resünk.
3
L halmaz
Q1(2;2)
2
Q2(4;1)
1
A lehetséges megoldások
-1 1 2 3 4 5 6 halmaza a nagyobb-egyenl
-1 z=22 (min) feltételek miatt nyílt halmaz.
z=0

4. ábra
Az L halmaz esetünkben nem korlátos, az optimális
célfüggvény egyenesnek az L-lel közös pontjának
kell lennie, ehhez most is „emelni” kell az
alapegyenest.
A legkisebb lehetséges megoldást akkor kapjuk, ha A feladat célja z-re mini-
az alapegyenessel párhuzamos egyeneseknek már mum, tehát ha elértük az L
lesz közös pontja az L halmazzal. Ez jelen esetben halmazt az alapegyenessel
a Q1 extremális pont, azaz a megoldás: x1=2 és párhuzamos egyenesek-
x2=2. kel, akkor ahhoz az egye-
A válaszunk a feladat kérdésére: minimális költség neshez tartozik az opti-
akkor lesz a takarmányozás, ha mindkét keverékb l mum.
2-t vásárolunk. Ekkor a költség 22 pénzegység. A zmin értékét behelyettesí-
téssel kapjuk.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 65

Megjegyzés: A programozási feladatoknál nem


szükségszer , hogy legyen szöveges (gazdasági)
háttere a felvett matematikai modellnek. El fordul-
hat, hogy a feltételek között vannak „ ” és „ ”
egyenl tlenségek egyaránt, és egy L halmazon több A megoldás ilyen esetben
célfüggvény optimumait is kereshetjük. sem lesz lényegesen ne-
Példa: Oldjuk meg grafikusan a következ lineáris hezebb.
programozási feladatokat:
x 0
2x1 – 3x2 0 A többes szám nem vélet-
2x1 + x2 16 len: két célfüggvényt ad-
3x1 9 tunk meg, ez két feladatot
jelent.
f(x)=6x1+3x2 max.
g(x)=2x1+x2 min.
Megoldás: A feltételek ábrázolásakor látható, hogy
az L halmaz négyszög, csúcspontjai az extremális
Lássunk neki az L halmaz
pontok: (3;0), (8;0), (6;4), (3;2). Mindkét célfüggvény
ábrázolásának!
alapegyenese azonos, a minimum cél esetén azt
addig kell mozgatni, hogy már elérje L-t, maximum
célnál pedig, hogy még legyen közös pontja L-lel.
10
9
8
7
6
5
(6;4) Pontos rajzkészítéssel le
4 tudjuk olvasni a lehetséges
3
2 megoldások közül a legki-
1 L halmaz (8;0)
sebbet és a legnagyobbat
-1 1 2 3 4 5 6 7 8 9
-1
is.
5. ábra
A minimum feladatnál: xo=[ 3 0 ]* zo=6.
A maximum feladatnál az optimális célfüggvény
egyenes az L halmazzal egy egész szakaszon érint-
kezik. A szakasz végpontjai lesznek ez esetben az
alapmegoldások: xo1=[ 6 4 ]* és xo2=[ 8 0 ]*. Ilyen
esetben alternatív optimumról beszélünk, optimális Alternatív optimum esetén
megoldást ad a szakasz bármely pontja, amelyeket végtelen sok optimális
66 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

a végpontokhoz tartozó vektorok konvex lineáris megoldás van, az általános


kombinációjával tudunk felírni: xo= xo1+(1– )xo2 , megoldást a végpontok
ahol: 0 1. koordinátáival írjuk fel.
A célfüggvény optimális értéke: zo=48.
Az eltérésváltozók felírásától most eltekintünk.

4.3.2. Különleges esetek az LP feladatok megoldá-


sánál
1.) Az L halmaz nem állítható el : Ha a korlátozó
feltételek által meghatározott halmazoknak nincs
közös részük, akkor következik be ez az eset.
A lineáris programozási
Példa: Ha az egyik feltétel például: 2x1+3x2 6, ami
feladatoknál a matematikai
a határoló egyenest l az origó felé es pontokat
modell felvétele után a gra-
jelenti, a másik pedig: 2x1+3x2 9, ami az el z ha-
fikus megoldásban el ször
tároló egyenessel párhuzamos, de az „a felett” lév
a lehetséges megoldások
egyenest l az origóval ellenkez irányba es ponto-
halmazát határozzuk meg,
kat határozza meg. A két halmaznak ekkor nyilván
majd a célfüggvény opti-
nincs közös eleme. A két feltétel közötti ellentmon-
mumát igyekszünk el állí-
dás „ránézésre” látszik: ugyanaz a mennyiség nem
tani. Mindkét lépésnél ta-
lehet egyszerre 6-nál kisebb és 9-nél nagyobb. A
lálkozunk különleges ese-
feladatnak nincs megoldása.
tekkel.
2.) Van lehetséges megoldás, de nincs optimum:
Ez az eset például akkor következhet be, ha a le-
hetséges megoldások halmaza csak alulról korlátos,
és a feladatban maximum a cél.
Más esetek is lehetségesek, például akkor, ha az L Ilyenkor a célfüggvény
nyitott szögtartomány és a célfüggvény egyenesek alapegyenesének „emelé-
mindig a szögtartományba esnek. sekor” minden határnál
Az LP feladatok algebrai megoldásnál a feltétel pon- nagyobb értékeket kapunk,
tosabban megfogalmazható. a célfüggvényre nincs fel-
3.) Nem egy optimális megoldás létezik s , illetve alsó korlát.
a.) Az optimális megoldást egy szakasz pontjai je-
lentik. Ekkor a szakasz pontjait a végpontokba mu- El fordul, hogy az optimá-
tató vektorok konvex lineáris kombinációjával írhat- lis megoldást jelent cél-
juk fel, tehát az általános megoldás: függvény egyenes a lehet-
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 67

xo= xo1+(1– )xo2, ahol 0 1. séges megoldások halma-


b.) Az optimális megoldást egy félegyenes pontjai zán egy szakasszal, vagy
jelentik. Például. egy félegyenessel esik
egybe.
L halmaz

zmax
z=0 P(4;0)
1 2 3 4 5 6 7
6. ábra
Az L felülr l nem korlátos, a célfüggvény: z=2x1–4x2,
az alapegyenest szaggatott vonallal ábrázoltuk. Az
optimumot jelent zmax a P(4;0) pontból kiinduló fél-
egyenes, az optimális megoldások ennek a félegye-
A félegyenes egyenlete az
nesnek a pontjai.
adott ponton átmen , adott
Ez alapján felírható:
irányvektorú egyenes is-
4 2
x0= , ahol esetünkben 0. mert egyenlete (r = ro + t v,
0 1
ahol most ro a (4;0) pontba
A grafikus megoldásokat els sorban a probléma mutató vektor, a v irány-
szemléltetésére, egyes fogalmak, kapcsolatok, spe- vektor koordinátái: [2 1]*,
ciális esetek egyszer bemutatására használjuk. A a t szorzó helyére -t írunk
gyakorlatban az LP feladatok algebrai megoldásával és r=x ).
0
számolnak optimumokat.
68 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

4.4. A lineáris programozási felada-


tok algebrai megoldása

4.4.1. A lineáris programozási feladatok


Az algebrai megoldást a
mátrixalgebrai alakjai normál feladattal kezdjük,
A lineáris programozás normál feladatának fogal- majd fokozatosan jutunk el
mát korábban már megadtuk: az általános lineáris prog-
x 0 ramozási problémák meg-
A x b. (b 0) oldásáig, amelyekben a
z=f(x)=c* x max. feltételek között más relá-
ciók, „=” is és „ ” is szere-
4.4.1.1. Módosított normál feladat
pelnek, továbbá célként
A módosított normál feladat csak annyiban tér el a
minimumot is kereshetünk.
normál feladattól, hogy a feltételek között egyenl -
ségek is vannak.
Definíció: Azt a lineáris programozási feladatot,
amelynek alakja:
x 0
A1 x b1. (b1 0)
A2 x = b2. (b2 0)
z=c* x max.
módosított normál feladatnak nevezzük.
Példa: Egy lineáris programozási feladat matemati-
kai modellje: x 0
x1+2x2+x3 50
4x1–x2+x4 60
x2+x4 = 15
x3+x4 = 20
z= x1+2x3–5x4 max Fontos! A modellben jobb-
A feladat módosított normál feladat: oldalon csak nem negatív
számok lehetnek. A reláci-
A1= 1 2 1 0 , b = 50 , valamint:
4 1 0 1 1
60 ók között nincs nagyobb-
egyenl és a célfüggvény
15
A2= 0 1 0 1 , b2= . maximumát keressük.
0 0 1 1 20
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 69

4.4.1.2. Általános lineáris programozási


feladat
Definíció: Azt a lineáris programozási feladatot,
amelynek mátrixalgebrai alakja:
x 0
A1 x b1. (b1 0)
A2 x = b2. (b2 0)
Az általános LP feladatban
A3 x b3. (b3 0)
a feltételi relációk között
z=f(x)=c* x optimum
„=” is és „ ” is szerepel.
általános lineáris programozási feladatnak nevezzük.
Az optimum lehet maxi-
Megjegyzés: Az általános LP feladatnál a jobb ol-
mum vagy minimum.
dalon álló bi vektorok nemnegatív voltát, mint felté-
telt, nem szükséges kikötni. Ha valamelyik érték a
jobb oldalon álló számok közül negatív lenne, akkor
azt a feltételt szorozzuk (–1)-gyel és a szám pozitív
lesz. Ha az illet feltétel egyenl ség volt, akkor a
szorzás után is egyenl séget kapunk, csupán az A2
mátrixban változik meg minden elem el jele a meg-
felel sorban. Ha pedig egyenl tlenség jobb oldalán
van negatív szám, akkor a beszorzás után az
egyenl tlenség iránya is megfordul és a feltétel át-
kerül a „másik típusú” feltételek közé.
Példa: Egy lineáris programozási feladat matemati-
kai modellje:
x 0
x1+2x2+x3 50
x2+x4 = 15 Az általános feladatban tehát
–x3–x4 = –20. Szorzás (–1)-gyel: x3+x4 = 20 a feltételek között bármelyik
–4x1+x2–x4 –60. Szorzás (–1)-gyel: 4x1–x2+x4 reláció szerepelhet.
60.
3x1+x2+2x3 30 A feladat algebrai megoldásá-
z= x1+2x3–5x4 max hoz szükséges, hogy a feltéte-
A feladat általános LP feladat: A1= 1 2 1 0 , lek jobb oldalán nemnegatív
4 1 0 1 számok szerepeljenek!
70 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

50 15
b1= , valamint:A2= 0 1 0 1 , b2= , és
60 0 0 1 1 20
A3=[ 3 1 2 0 ], b3=[ 30 ]*.
A lineáris programozási feladatok mindhárom típusá-
nál el fordulhat, hogy a célfüggvény minimumát ke-
ressük. Az ismertetésre kerül módszerünk alkalma- A kapott eredményünket érte-
zásához szükséges, hogy maximum legyen a cél. Ezt lemszer en használjuk, hi-
szen ismeretes, hogy azon a
könnyen elérjük: ilyenkor a célfüggvény (–1)-szeresét
vesszük a számolásnál. helyen, ahol egy függvénynek
maximumát megtaláltuk, a
4.4.2. A kanonikus formula függvény (–1)-szeresének
Az LP feladatok megoldása lényegében egyenlet- minimuma van.
rendszerek megoldásával történik.
A lineáris programozási feladatok feltételei között
általában egyenl tlenségek is szerepelnek. Az Az egyenletrendszerek
egyenl tlenségeket eltérésváltozók beiktatásával általános megoldásának
tesszük egyenletekké. algoritmusát jól kell tudni a
Példa: Tekintsük az x1+2x2+x3 50 egyenl tlensé- lineáris programozási fel-
get. A bal oldal akkor lesz egyenl a jobb oldallal, adatok megoldásához!
ha a bal oldalhoz hozzáadunk annyit, amennyivel az
kisebb. Ez az érték, amit u1-gyel jelölünk, az x1, x2,
x3 változók által felvett értékekt l függ. Például, ha
mindhárom xi változó 0, akkor u1 értéke 50, ha mind-
három xi változó 1, akkor u1 értéke 46, és így to- Ha egyenletté akarunk
vább. Az u1 értékei nyilván nem lehetnek negatívak. tenni egy egyenl tlensé-
Az u1 változót eltérésváltozónak nevezzük. get, akkor a két oldal kö-
Elnevezés: Ha a lineáris programozási feladat zötti eltérést ki kell egyenlí-
egyenl tlenségeit az eltérésváltozókkal egyenl sé- teni az eltérésváltozóval.
gekké alakítjuk, akkor kanonikus formulát, más né-
ven: kanonikus alakot kapunk. A kanonikus alakhoz A kanonikus formulát olyan
tartozik a célfüggvényt megadó egyenl ség 0-ra egyenletek alkotják, ahol a
redukált alakja is. bal oldalon vannak a válto-
zók, jobb oldalon pedig a
4.4.2.1. A normál feladat kanonikus alakja
(nemnegatív) konstansok.
A feltételi egyenl tlenségek általánosan: A x b.
A kanonikus alak: A x + u = b. (u 0, b 0) és a
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 71

z=c*x célfüggvény nullára redukált alakja: –z+c*x = 0.

4.4.2.2. Az általános feladat kanonikus alakja


Az általános feladatban a feltételek között „ ” is
van, így els lépésben a bal oldal nagyobb-egyenl
voltát csökkentjük le úgy, hogy egyenl ség legyen,
Ez azt jelenti, hogy
tehát módosított normál feladatot kapunk ekkor.
(nemnegatív) vi értékeket
A matematikai modell: A kanonikus alak: levonunk az egyenl tlensé-
A1 x b1 A1 x +u1 = b1 (u1 0) gek bal oldalaiból, azután az
A2 x = b2 A2 x + û 2 = b2 ( û 2 =0) így keletkezett módosított
A3 x b3 A3 x –v + û 3 = b3 (v 0, û 3 =0) normál feladathoz írjuk fel a
z=c* x –z+c* x = 0 kanonikus formulát.
A bi vektorokat ez esetben
Példa: Adott a következ általános LP feladat: értelemszer en nem nega-
x 0 tívaknak tekintjük.
x1+2x2+x3 50
4x1–x2+x4 60
x2+x4 = 15
x3+x4 = 20
3x1+x2+2x3 30
z= x1+2x3–5x4 max
A hozzátartozó kanonikus alak:
x1+2x2+x3+u1 = 50
4x1–x2+x4+u2 = 60
Els lépésben a nagyobb-
x2+x4+ û 3 = 15
egyenl feltételek bal olda-
x3+x4+ û 5 = 20
lából „elvesszük, amennyi-
3x1+x2+2x3–v5+ û 5 = 30 vel a bal oldal nagyobb”,
–z + x1+2x3–5x4 = 0 vagyis –vi-vel egyenl ség-
Az eltérésváltozók indexei azt jelentik, hogy hánya- gé tesszük a relációt. Utá-
dik sorhoz csatoltuk a változót. na ugyanúgy járunk el,
mint a módosított normál
feladatnál.
72 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

4.5. A szimplex módszer

A gyakorlati feladatok megoldásánál algebrai esz-


közöket, a szimplex módszert alkalmazzuk.
A metódus az egyenletrendszerek megoldásán
alapul. A grafikus megoldásoknál látottakhoz ha- A lineáris programozási
sonlóan el ször a lehetséges megoldásokat szá- feladatoknál a geometriai
moljuk ki, majd – gyakorlatilag az els fázissal pár- megoldások csak a prob-
huzamosan – az optimum meghatározása a célunk. léma megértését, a megol-
dás során el forduló egyes
4.5.1. A lehetséges megoldások halmaza, bázis- esetek megismerését te-
megoldás szik lehet vé.
A szimplex módszerrel el ször a normál feladatot
oldjuk meg, az általános feladat megoldását erre ve-
zetjük vissza. A normál feladat matematikai modellje:
x 0
Ax b. (b 0)
z=c* x = max.
Az egyenletrendszerre való visszavezetéshez a korlá-
tozó feltételek kanonikus alakjából indulunk ki:
A x + u = b (u 0). Tehát egyenletekké alakí-
Az egyenletrendszer speciális: az egyes egyenle- tottuk az egyenl tlensége-
tekben az ui eltérésváltozóknak mindig 1 az együtt- ket.
hatója az i-edik egyenletben, a többiben pedig 0. Így az egyenletrendszer
Példa: Adjunk lehetséges megoldásokat a követ- együtthatóinak mátrixában
kez normál feladatban szerepl változókra: az ui oszlopvektorai egy-
x 0 ségvektorok.
3x1+4x2 280 A bázistranszformációval
3x1+2x2 240 történ megoldást rögtön
x2 50 ezek bevonásával kezdhet-
jük.
z=6x1+5x2 max.
A korlátozó feltételekhez tartozó kanonikus formula:
3x1+4x2+u1 = 280 Az egyenletrendszerünk-
3x1+2x2+u2 = 240 ben 5 változó van.
x2+u3 = 50
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 73

A bázistranszformációval történ megoldás induló


táblázata:
x1 x2 u1 u2 u3 b
3 4 1 0 0 280
3 2 0 1 0 240
0 1 0 0 1 50
Ha a bázistranszformációt az u1 bevonásával kezd-
jük, akkor az u1 a táblázat els sorának els eleme
lesz és az összes koordináta változatlan marad.
Hasonlóan nem változnak a koordináták az u2 és
az u3 bevonásával, tehát a táblázatunk: Ez a bázistranszformáció
x1 x 2 b alkalmazásából következik.
u 1 3 4 280
u 2 3 2 240
u 3 0 1 50
Ezt a táblázatot tekinthetjük a kanonikus formulához A kanonikus formula spe-
tartozó speciális egyenletrendszer induló táblázatának. ciális egyenletrendszere
Az egyenletrendszerünk egy lehetséges bázismeg- miatt az induló táblázat
oldása a táblázatból azonnal leolvasható: u1=280, „sorkezd ” vektorai az elté-
u2=240, u3=50 és x1=x2=0. résváltozók.
A fenti példához gazdasági háttér tartozhat (két
terméket gyártunk 3 er forrás felhasználásával,
Bázismegoldás: „az új bá-
adottak: a beépülés, a kapacitások…). Az induló
zisba be nem vont változók
tábláról leolvasható bázismegoldás megfelel annak,
értékei nullák”.
hogy a termelést még nem kezdtük el, az x1=x2=0
és az eltérésváltozók a kapacitások adott értékeivel
egyenl k.
A további lehetséges megoldásokat akkor kapjuk,
ha az xi változókat bevonjuk a bázisba. Erre általá-
ban nagyszámú lehet ségünk van, például, ha az
x2-t bevonjuk:
x1 x 2 b x1 u3 b
u1 3 4 280 u1 3 4 80 Az egyenletrendszer meg-
u2 3 2 240 u 2 3 1 140 oldásakor az ismert teljes
u3 0 1 50 x 2 0 1 50 bázistranszformációt kell
74 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Folytathatjuk a bázisvektor cserét, például az x2 alkalmaznunk, hiszen a


bevonásával. Nem járhatunk el azonban tetsz le- bázisból kikerült u3 új koor-
gesen az eredeti feladat jellege miatt: egyrészt nem dinátáira még szükségünk
hajthatunk végre olyan cserét, amelynek következ- lehet.
tében a b, a kapacitásvektor oszlopában negatív Leolvashatjuk az új bázis-
érték adódna. Másrészt a lineáris programozási megoldásokat: u1=80,
feladatban célfüggvény is van, amelynek a maxi- u2=140, x2=50, a többi vál-
mumát keressük. tozó „oszlopf n van”, a bá-
Általánosan: A normál feladat feltételrendszerének zismegoldásban értékük 0.
kanonikus alakja:
A x+u=b (x 0, b 0)
írható a következ alakban:
x A bázistranszformáció so-
A x+E u=[A E] =b
u rán alkalmazható és alkal-
mazandó cseréket elméle-
A bázismegoldásban maximálisan annyi nullától
tileg is indokolnunk kell.
különböz komponens lehet, amennyi az együttha-
tó mátrix rangja. A b m komponens , így a bázis-
megoldásokban a nem nulla értékek száma m, illet-
ve esetleg kevesebb, ha a b oszlopában 0 is van.
Elnevezés: Ha az egyenletrendszer bázismegoldá-
sában a b oszlopában 0 is van, akkor ezt a megol-
dást degenerált bázismegoldásnak nevezzük. Ha a
feladatban egyik bázismegoldás sem degenerált,
akkor magát az LP feladatot nemdegenerált fel-
adatnak nevezzük.
Definíció: A normál LP feladathoz tartozó
x
[A E] =b
u
egyenletrendszer lehetséges bázismegoldása az a A normál LP feladatban a
megoldás, amelynek nincs negatív komponense. A kapacitásvektor, b 0, így
lehetséges bázismegoldásokat a továbbiakban rö- csak azokkal a bázismegol-
viden bázismegoldásnak nevezzük. dásokkal foglalkozunk, ame-
lyeknek nincs negatív eleme.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 75

4.5.2. A nemdegenerált LP feladat bázis-


megoldásai
x
Az [A E] =b egyenletrendszer adott célú megol-
u
dása a generáló elem választására jelent feltételeket:
1.) A generáló elem csak pozitív szám lehet.
Ugyanis a b oszlopában csak pozitív számok van-
nak és azoknak is kell maradniuk. Ha a generáló
elem negatív is lehetne, akkor már a bázistransz-
formációban a q érték is negatív lenne.
Az egyenletrendszer megol-
2.) Generáló elemet csak abban a sorban választ-
dási algoritmusát csak meg-
hatunk, ahol a „sz kkeresztmetszet” található, azaz
szorításokkal alkalmazhat-
b juk.
ahol a i hányados a legkisebb.
a ij
Példa: Ha újabb (lehetséges) bázismegoldást aka-
runk kapni a következ táblázatból:
x1 x2 b x1 u3 b Így biztosítható, hogy az új
u1 3 4 280 u1 3 4 80 táblázatban a b oszlopá-
u2 3 2 240 u 2 3 1 140 ban ne legyen negatív
u3 0 1 50 x 2 0 1 50 szám.

és x1-et szeretnénk bevonni, akkor a 3. koordinátát


nyilván nem választhatjuk generáló elemnek (mert
az 0). Ha bázismegoldást akarunk, azaz az új táb-
lázatban ne legyen a b oszlopában negatív szám,
akkor a generáló elemet a sz kkeresztmetszetnél
kell választani.
A „normál” egyenletrend-
bi
A sz kkeresztmetszet: ahol a hányados a leg- szer megoldásakor sem
a ij
lehet a generáló elem 0!
kisebb, amit általában konkrétan megvizsgálunk. Ez
80 140
esetben a , tehát az x1 els koordinátáját
3 3
kell generáló elemnek választanunk. Az új táblázat:
76 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

x1 x2 b x1 u3 b u1 u3 b
u1 3 4 280 u1 3 4 80 x1 1 3 4 3 80 3
u2 3 2 240 u2 3 1 140 u2 1 3 60
u3 0 1 50 x2 0 1 50 x2 0 1 50
80
Leolvashatók az új bázismegoldások: x1= ,
3
x2=50, és u1=0, u2=60, u3=0.
A bázismegoldásokat vektorként felírva: x=[ 80/3 50 ]*
és u=[ 0 60 0 ]*. A leolvasás a szokásos
Ha újabb bázismegoldást akarunk, például az u3 és módon történik, az oszlop-
u2 cseréjével, akkor az u3 oszlopában az els koor- f n lév értékek nullák.
dináta nem lehet generáló elem (mert negatív),
50 60
harmadik pedig azért nem, mert , vagyis a
1 3
A „sz kkeresztmetszet fel-
sz kkeresztmetszet 3-nál van, ennek kell lennie a
tétel” be nem tartása az
generáló elemnek.
egész munkánkat hibássá
teszi!
4.5.3. A normál feladat megoldása szimplex
módszerrel
A szimplex módszer lényege: olyan bázismegoldá-
sokat keresünk, amelyeknél a célfüggvény értéke
nagyobb, mint amennyi az el z bázismegoldásnál
volt.
A normál LP feladat:
Ax b (x 0, b 0)
z=f(x)=c*x max.
A kanonikus alak: A x + u = b. (u 0) és
a célfüggvény nullára redukált alakja: –z+c*x = 0.
Felvesszük a fenti formulához tartozó „teljes” meg- Kanonikus alak: az egyen-
oldó táblázatot: l tlenségek „kipótlása” után
x1 x 2 ... x n u1 u2 ... um z b csupa egyenletb l álló
a11 a12 ... a1n 1 0 ... 0 0 b1 egyenletrendszer.
a21 a22 ... a2n 0 1 ... 0 0 b2
... ... ... ... ... ... ... ... ... ...
A célfüggvény sorát elvá-
am1 am2 ... amn 0 0 ... 1 0 bm
c1 c 2 ... c n 0 0 ... 0 1 0 lasztjuk.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 77

A „rövidebb alak” az egységvektorok bevonása után:


x1 x 2 ... x n b
u1 a 11 a 12 ... a 1n b 1
u 2 a 21 a 22 ... a 2n b 2 Az induló táblázathoz ennyi
... ... ... ... ... ...
u m a m1 a m2 ... a mn b m és csak ennyi vonalat ve-
z c1 c 2 ... c n 0 gyünk fel a táblázatban!
A fenti táblázatot nevezzük a normál feladat szimp-
lex induló táblázatának.
Új bázismegoldásokat akkor kapunk, ha a generáló
elem pozitív és betartjuk a sz kkeresztmetszet vá- A célfüggvényben maxi-
lasztás szabályát. mumra törekszünk, ezért
A célfüggvény értéke akkor n . ha a generáló ele- olyan bázismegoldást kell
met pozitív ci érték felett választjuk. választanunk, amelyben a
Állításunk igazolásaként tegyük fel, hogy a kívánt z értéke nagyobb lesz, mint
tulajdonságú generáló elem az ui és xj cseréjét ge- ami az el z bázismegol-
nerálja. dásban volt.
Ekkor az új táblázatunk a következ lesz (csak a Kívánt tulajdonság: a ge-
számunkra fontos részét emeljük ki a táblázatnak): neráló elem pozitív és tel-
x1 ... ui ... xn b jesül a sz kkeresztmetszet
u1 b1 qa 1j feltétele.
... ...
xj q
... ...
um b m qa mj
z 0 qc j
Az induló tábla bázismegoldásában z értéke 0 volt.
A fenti tábláról leolvasva:
–z=0–qcj, azaz z=qcj.
A qcj akkor lesz nagyobb 0-nál, ha cj pozitív, ugyan-
is a q mindenképpen pozitív. Ha tehát az egymást követ
Az eljárásunk véges sok lépésig folytatható, hiszen a bázismegoldásokban mindig
bázismegoldások száma is csak véges lehet. Ugyanis betartjuk azt is, hogy generá-
x ló elemet abban az oszlop-
az [ A E ] =b egyenletrendszerben az [ A E ] mát- ban választunk, ahol a cél-
u
függvény sorában pozitív
rixnak m+n oszlopa van, a mátrix rangja m, így maxi- érték található, akkor a z ér-
78 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

málisan annyi bázismegoldás lehetséges, ahányfé- téke egyre nagyobb lesz.


leképpen m+n-b l m-et ki lehet választani. Ezek
m n
száma: . Ha tehát az egymást követ bá-
m
zismegoldások során elértük, hogy a –z sorában
nincs olyan ci érték, amely pozitív lenne, akkor a
célfüggvény értéke tovább nem növelhet , elértük a
maximumot.
Példa: Oldjuk meg szimplex módszerrel a követke-
z feladatot:
x1, x2 0
3x1+2x2 18
A feladat ismer s: grafikus
4x1 16
megoldását korábban meg-
2x1+4x2 24
adtuk.
z=4x1+2x2 max.
Az induló táblázat:
B0 x1 x 2 b
A kanonikus formulát csak
u 1 3 2 18
akkor kell kiírni, ha a fel-
u 2 4 0 16
adatban ezt külön kérik,
u 3 2 4 24
tehát kezdhetjük a megol-
z 4 2 0 dást az induló tábla felvéte-
Válasszunk generáló elemet az els oszlopból lével.
(sz kkeresztmetszet!!!):
B 0 x 1 x 2 b B1 u2 x2 b
u1 3 2 18 u 1 3 4 2 6
u2 4 0 16 x 1 14 0 4
u3 2 4 24 u 3 24 4 16
z 4 2 0 z 1 2 16
A B0-ból a B1 táblázatot a szokásos „teljes”
bázistranszformációval kaptuk. A leolvasható bá-
zismegoldás az eredeti LP feladatnak egy lehetsé-
ges, de még nem optimális megoldása: xb1=[ 4 0 ]*,
ub1=[ 6 0 16 ]*, zb1=16.
Továbblépve: a célfüggvény értéke nagyobb lesz, Az eredeti szöveges fel-
ha pozitív célérték felett, a 2. oszlopban választunk adat szerint ez a bázis-
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 79

generáló elemet: megoldás azt jelenti, hogy


B0 x1 x2 b B1 u2 x2 b B2 u2 u1 b elkezdtük a termelést, az
u1 3 2 18 u1 34 2 6 x2 3 8 12 3 els termékb l annyit gyár-
u2 4 0 16 x1 14 0 4 x1 1 4 0 4 tottunk, amennyit a legsz -
u3 2 4 24 u3 24 4 16 u3 1 2 4 kebb kapacitás megenge-
z 4 2 0 z 1 2 16 z 1 4 1 22 dett. Ezzel a 2. er forrást
A táblázatunk optimális: a –z sorában nincs pozitív teljesen kihasználtuk, az
elem. Az optimális megoldás tehát: xo=[ 4 3 ]*, els er forrásból megma-
uo=[ 0 0 4 ]* és zo=22. radt 6, a harmadikból 16
egységnyi. Árbevételünk
Összefoglalva: 1.) A normál feladat algebrai meg- ekkor (a z értéke) 16 pénz-
oldását a matematikai modellb l, az ahhoz tartozó egység.
kanonikus alakból felírt táblázattal, az induló táblá- A megoldásunk természe-
val kezdjük. tesen egybeesik a grafikus
Az induló tábla elrendezése: úton kapott optimális meg-
*
x oldással. Észrevehetjük
u A b most is, hogy ezzel a meg-
*
z c 0 oldással a geometriai
2.) Az egymást követ bázismegoldások kiszámo- megoldás L halmazában a
lása. Ehhez: Q3 extremális pontra ugrot-
a.) Generáló elem választás: tunk.
– Generáló elemet nemnegatív célfüggvény
érték felett választunk.
– Generáló elem csak pozitív szám lehet.
– Generáló elemet a sz kkeresztmetszetnél
Az algebrai megoldás algo-
választhatunk.
b.) Végrehajtjuk a teljes ritmusát alaposan be kell
bázistranszformációt. gyakorolni!
3.) Az eljárás befejezése Ha a generáló elem válasz-
a.) Ha a –z sorában nincs pozitív szám, ak-
tást elhibázzuk, a teljes
kor elértük a maximumot.
b.) Ha a –z sorában van pozitív szám, de megoldás rossz lesz!
nem tudunk „kívánt tulajdonságú” generáló elemet
választani, akkor nincs maximuma a feladatnak. A leolvasás módjára ugye
Példa: Egy üzemben kétféle terméket állítanak el emlékezünk?
4 er forrás felhasználásával. Az egyes termékek
el állításához az er forrásokból: 1, 0, 2, 3, illetve 1,
3, 1, 0 egységet használunk fel. A rendelkezésre
80 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

álló kapacitások fels korlátai: 40, 90, 60, 75. Az


egyes termékek hozama darabonként 120, illetve
90 Ft. Határozzuk meg a maximális hozamot bizto-
sító termelési programot szimplex módszerrel!
Ezt a feladatot még grafi-
Megoldás: A döntési változók a gyártási mennyi-
kus úton is meg tudjuk ol-
ségek: x1 és x2.
dani.
A matematikai modell: x1 , x2 0
Megpróbálhatná!
x1 + x2 40
3x2 90
2x1 + x2 60
3x1 75
z=120x1 + 90x2 max.
Az egymást követ bázismegoldások:
B0 x1 x2 b B1 u4 x2 b B2 u4 u3 b B3 u1 u3 b A modell felírásának egyes
u1 1 1 40 u1 13 1 15 u1 1 3 1 5 u4 3 3 15 lépéseit szükség esetén
u2 0 3 90 u2 0 3 90 u2 2 3 60 u2 6 3 30 ismételjük át!
u3 2 1 60 u3 23 1 10 x2 2 3 1 10 x2 2 1 20
u4 3 0 75 x1 1 3 0 25 x1 1 3 0 25 x1 1 1 20
z 12090 0 z 40 90 3000 z 20 90 3900 z 60 30 420
A szimplex induló táblázat-
A B3 táblázat már optimális, a célfüggvény sorában hoz (ahogy már említettük)
nincs pozitív érték. Így az optimális megoldások nem feltétlenül szükséges
x0=[ 20 20 ]* u0=[ 0 30 0 15 ]* z0=4200. a kanonikus alak felírása.

4.5.3.1. Alternatív optimum, degeneráció


A normál feladat szimplex módszerrel történ meg-
A normál LP feladat szimp-
oldása során a célfüggvény értéke az egymást kö-
lex módszerrel történ
vet bázismegoldásokban mindaddig n , amíg a megoldásában a változók
generáló elemet a –z sorában pozitív érték felett és a feltételek száma lehet
választhatjuk. El fordul, hogy pozitív érték már olyan nagy, hogy a gyakor-
nincs a –z sorában, de van egy vagy több nulla. Ha latban el forduló feladatok
nulla fölött választhatunk generáló elemet, akkor bármelyikének optimumát
újabb optimális megoldást, alternatív optimumot meg tudjuk adni.
A szimplex algoritmus ke-
kapunk.
zelni tudja azokat a speciá-
A célfüggvény értéke nem lesz más, hiszen ekkor a lis eseteket is, amelyekr l
generáló elem oszlopában 0 volt és így ez a sor a geometriai megoldások-
változatlan marad. nál szót ejtettünk.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 81

4.6. A kétfázisú szimplex módszer

A kétfázisú szimplex módszert az általános lineáris


programozási feladatok megoldására használjuk.
A geometriai megoldásnál
Az eljárás attól kétfázisú, hogy a megoldás els is els lépésként a lehet-
lépésében el kell jutnunk a feladat egy lehetséges séges megoldások halma-
bázismegoldásához, majd az ezt követ második zát vettük fel, majd a hal-
fázis az optimalizálás, amely már teljesen azonos mazelemek közül válasz-
módon történik, mint a normál feladatoknál. tottuk ki az optimális meg-
oldást.
4.6.1. A módosított normál feladat lehetsé-
ges bázismegoldása és optimuma

A módosított normál feladat mátrixaritmetikai alakja:


x 0
A1x=b1 b1 0
A2x b2 b2 0
z=f(x)=c*x max.
A szimplex módszer alkalmazásához szükséges „Látszólagos” eltérésválto-
egyenletrendszerré alakításban az egységes tár- zókat vezetünk be. Ezzel a
gyalásmód érdekében eltérésváltozókat, eltérés- megoldási menetünk egy-
vektort alkalmazunk az A1x=b1 formulánál is. A ka- szer bbé válik.
nonikus formulák felírásánál láthattuk, hogy ez az
eltérésvektor speciális, komponensei minden eset-
ben nullák, így ezt az eltérésvektort „kalappal” kü- A „vezesd vissza már is-
mert esetre” elvet akarjuk
lönböztetjük meg a „normál” eltérésvektortól. A fel-
alkalmazni.
tételrendszer kanonikus alakja tehát:
A1x+ û 1=b1 ( û 1=0 b1 0),
A2x+u2=b2 (u2 0 b2 0).

Az egyenletrendszerb l nyerhet bázismegoldá-


soknál érvényt kell szerezni annak a feltételnek,
hogy a kalapos változók értékei minden esetben
nullák. Ehhez tekintsük a következ tételt:
82 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Tétel: Az
x 0
A1x=b1 b1 0
A módosított normál és az
A2x b2 b2 0
általános feladat nem min-
z=f(x)=c*x max.
dig oldható meg. Els lé-
módosított normál feladatnak akkor és csak akkor pésként a feladat egy le-
van lehetséges megoldása, ha a bel le képzett hetséges megoldásához
A1x b1 kell eljutnunk.
A2x b2 (x, b1, b2 0)
zˆ =1*A1x max,
A ẑ („zé kalap”) célfügg-
normál feladatban a zˆ célfüggvény értéke 1*A1. vényt másodlagos célfügg-
vénynek nevezzük
Bizonyítás: Ha az eredeti feladatból képzett nor-
mál feladatban az A1x b1 feltétel mindkét oldalát
szorozzuk az összegz sorvektorral, akkor:
1*A1x 1*b1, tehát ẑ 1*b1. Az eredeti módosított
normál feladatban viszont az x csak akkor lehet
megoldás, azaz csak akkor teljesül az, hogy a ka-
lapos eltérésváltozók nullák, ha A1x=b1. Megint
mindkét oldalt balról szorozva 1*-gal: 1*A1x=1*b1, A módosított normál fel-
adat megoldhatóságához
így az 1*A1x 1*b1 relációban csak az egyenl ség
szükséges, hogy a „kala-
állhat fenn, vagyis a zˆ másodlagos célfüggvény
pos” eltérésváltozók mind-
értéke pontosan 1*b1, ami a módosított normál fel-
egyike nulla legyen.
adatban az egyenl ségek jobb oldalán álló számok
összege.
A tételünk szerint a ẑ („zé kalap”) célfüggvényt
másodlagos célfüggvényben az 1*A1 kifejezés a ẑ -
ban az xi változók együtthatói rendre az A1 mátrix
soraiban lév elemek összegéb l adódnak.

Példa: A következ módosított normál feladathoz


írjuk fel a kanonikus alakot és a másodlagos cél-
függvényt:
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 83

x 0
x2 x4 15
x3 x4 20
x1 2x 2 x3 50
4x 1 x2 x4 60
z=x1+2x3–5x4 max.
A kanonikus alak: A feladatok megoldásakor
x2 x4 û1 15 a kanonikus alakot és a
x3 x4 û 2 20 másodlagos célfüggvényt
x1 2x 2 x3 u3 50 csak akkor kell felírni, ha
4x 1 x2 x4 u4 60 ezt kérik. A megoldáshoz
A másodlagos célfüggvény: ẑ =x2+x3+2x4. használt szimplex induló
A fenti tétel szerint a módosított normál feladat táblát közvetlenül is felve-
szimplex módszerrel történ megoldásában el ször hetjük.
a lehetséges megoldásig kell eljutnunk úgy, hogy
csak a másodlagos célfüggvénnyel számolunk ad-
dig, amíg annak sorából „el nem t nnek” a pozitív
számok és a zˆ =1*b1 nem lesz. Ha ezt nem tudjuk
elérni, akkor az eredeti módosított normál feladat-
nak nincs lehetséges megoldása és így természe-
tesen optimuma sem. Ha eljutunk a lehetséges
megoldásig, akkor a maximum keresése a „hagyo-
mányos úton” történik, a normál feladatnál megis-
mert szimplex módszerrel.
Példa: Oldjuk meg a következ módosított normál
feladatot:
x 0
x2 x4 15
x3 x4 20 Két „kalapos” eltérésválto-
x1 2x 2 x3 50 zónk lesz és a másodlagos
4x 1 x2 x4 60 célfüggvény sorával kiegé-
z=x1+2x3–5x4 max. szítjük a szimplex induló
Az induló táblában kalapos eltérésváltozók és má- táblát.
sodlagos célfüggvény szerepelnek:
84 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

B0 x1 x 2 x 3 x 4 b
û 1 0 1 0 1 15
û 2 0 0 1 1 20 Más különlegesség nincs
u3 1 2 1 0 50
u4 4 1 0 1 60 az induló táblánál.
z 1 0 2 5 0
ẑ 0 1 1 2 0
Az induló táblában a másodlagos célfüggvény sorában
az utolsó értéknek 15+20=35-nek kell lennie a fenti tétel
szerint a lehetséges megoldás elérésekor.
Így egyszer bb az az eset, hogy nem 0-t írunk a ẑ so-
rában utolsó számként, hanem 35-öt és azt figyeljük,
Az átalakítás célszer ségét
hogy az egymást követ bázistranszformációk során ez
az érték 0-ra lefogy-e, vagy sem. Tehát az induló táb- (szükségességét) a megol-
lánk „célszer bb” alakja: dás során látni fogjuk.
B0 x1 x 2 x 3 x 4 b
û 1 0 1 0 1 15 A másodlagos célfüggvény-
û 2 0 0 1 1 20 ben a számok a kalapos
u3 1 2 1 0 50
eltérésváltozókat tartalmazó
u4 4 1 0 1 60
z 1 0 2 5 0 sorokban lév megfelel
ẑ 0 1 1 2 35 együtthatók összeadásával
A generáló elem választásnál csak a másodlagos cél- adódnak.
függvényre figyelünk a lehetséges megoldás eléréséig
(természetesen a sz kkeresztmetszetre ügyelve):
B0 x1 x 2 x 3 x 4 b
û1 0 1 0 1 15
Akár az x4 oszlopában is
û 2 0 0 1 1 20
u3 1 2 1 0 50 választhatnánk generáló
u4 4 1 0 1 60 elemet, pedig ebben az
z 1 0 2 5 0 oszlopban az els dleges
ẑ 0 1 1 2 35 célfüggvény sorában –5 áll.
Az új tábla:
B 1 x 1 x 2 û 2 x 4 b
û 1 0 1 0 1 15
x3 0 0 1 1 20
u3 1 2 1 1 30
u4 4 1 0 1 60
z 1 0 2 7 40
ẑ 0 1 1 1 15
Újabb generáló elem választás és bázistranszformáció:
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 85

B1 x 1 x 2 û 2 x4 b B2 x1 û1 û 2 x4 b
û1 0 1 0 1 15 x2 0 1 0 1 15
x3 0 0 1 1 20 x3 0 0 1 1 20
u3 1 2 1 1 30 u3 1 2 1 3 0
u4 4 1 0 1 60 u4 4 1 0 2 75
Tehát el ször a lehetséges
z 1 0 2 7 40 z 1 0 2 7 40
ẑ 0 1 1 1 15 ẑ 0 1 1 0megoldásig kell eljutni, ezt
0
A B2 táblázat már lehetséges megoldást ad: a má- most már elértük.
sodlagos célfüggvény sorában nincs pozitív szám,
az értéke éppen 35 (mert kiinduláskor az elérend
értéket írtuk a táblázatba, és az fogyott le 0-ra).
Ha az optimum meghatározása a célunk, akkor az
els fázis után a zˆ sorát elhagyjuk, és elhagyhatók
a kalapos oszlopok is: A kalapos eltérésváltozók
B 2 x1 x 4 b is nullák, hiszen a táblá-
x2 0 1 15 zatban oszlopf re kerültek,
x3 0 1 20 azaz a bázismegoldásban
u3 1 3 0 mindkett értéke 0.
u4 4 2 75
z 1 7 40
Az optimális megoldás: Egyszer en befejezhet a
B3 u3 x 4 b normál feladat szokásos
x2 0 1 15
algoritmusa szerint a meg-
x3 0 1 20
x1 1 3 0 oldásunk.
u4 4 14 75
z 1 4 40
Leolvasva: xo=[ 0 15 20 0 ]* uo=[ 0 0 0 75 ]*
és zo=40.
A gyakorlatban az eljárást tömörebben írjuk, ha „csak”
optimum számítás a célunk, az oszlopf re kerüléskor
a kalapos változók oszlopai elhagyhatók: Feladatmegoldáskor az
B0 x1 x2 x3 x4 b B1 x1 x2 x4 b B2 x1 x4 b B3 u3 x4 b egyes táblázatokat ösz-
û1 0 1 0 1 15 ûi 0 1 1 15 x2 0 1 15 x2 0 1 15 szekapcsolhatjuk.
û2 0 0 1 1 20 x3 0 0 1 20 x3 0 1 20 x3 0 1 20
u3 1 2 1 0 50 u3 1 2 1 30 u3 1 3 0 x1 1 3 0
Megjegyzés: a B2 tábla de-
u4 4 1 0 1 60 u4 4 1 1 60 u4 4 2 75 u4 4 14 75 generált, de ez az optimum-
z 1 0 2 5 0 z 1 0 7 40 z 1 7 40 z 1 4 40 számítást nem zavarja.
ẑ 0 1 1 2 35 ẑ 0 1 1 15 ẑ 0 0 0
86 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

4.6.2. Az általános LP feladat megoldása


Az általános LP feladat megoldását a módosított
normál feladat megoldására vezetjük vissza. Ehhez
általában két dolgot kell el ször megtennünk: a fel-
tételi egyenl tlenségek közül azokat, amelyeknél a
bal oldal nagyobb-egyenl a jobb oldallal, egy nem
negatív eltérésváltozó levonásával egyenl séggé
alakítjuk. Majd, ha szükséges, a célfüggvényt át-
alakítjuk úgy, hogy a keresett optimum maximum Így az általános feladat
legyen. Ez utóbbihoz azt az egyszer tényt hasz- célfüggvényénél is mindig
náljuk ki, hogy ahol egy függvénynek minimuma maximumot keresünk a
van, ott a függvény –1-szeresének maximuma lesz. szimplex módszerrel, ered-
Az általános feladat mátrixaritmetikai alakja: ményünket az eljárás vé-
gén értelmezzük.
x 0
A1x=b1 b1 0
A2x b2 b2 0
A3x b3 b3 0
z=f(x)=c*x max.
Az A3x b3 feltétel egyenletté alakítása: A3x – v =
b3, ahol v 0. Így a probléma módosított normál
feladattá vált, annyi eltéréssel, hogy a v komponen-
sei a kanonikus alakban új változókat jelentenek,
tehát a szimplex induló táblában az oszlopf n sze-
repeltetni kell a vi értékeket is.
Példa: Szimplex módszerrel oldjuk meg a követke-
z feladatot:
Els dolgunk a matemati-
x 0
kai modell megfelel alakú-
x1 – 2x2 + x3 – x4 –18
ra történ átalakítása.
2x3 – 2x4 = – 40
x2 + 2x3 + x4 50
_________________________
z=f(x) = –16x1+ 4x2 + 6x3 + 12x4 max
Megoldás: Szükséges a feltételek átírása, hiszen a
jobb oldalon negatív számok nem szerepelhetnek:
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 87

–x1+2x2–x3+x4 18 A –1-gyel való szorzás


–2x3+2x4=40 után a relációjel is átfordul.
Természetesen az egyen-
A szimplex induló tábla és az optimális megoldás
l ség marad.
táblázata:
x1 x2 x3 x4 b x2 u3 u1 b
u1 1 2 1 1 18 x4 1 3 13 0 30
û2 0 0 2 2 40 ....... x1 2 0 1 2
u3 0 1 2 1 50 x3 1 3 13 0 10
z 16 4 6 12 0 z 34 6 16 388 A megoldás az utolsó táb-
ẑ 0 0 2 2 40 lázatról leolvasható.

xo=[ 2 0 10 30 ]* zo=388 uo=0.


Példa: Szimplex módszerrel oldjuk meg az újabb
feladatot:
0x
–2x1 + 3x2 – 2x3 –24
x1 – x2 –8 Rendezzük a matematikai
x1 + 2x2 – 2x3 8 modellt.
-----------------------------------
z=f(x) = –6x1 + 8x2 min
Megoldás: A feltételek átírása:
2x1–3x2+2x3 24
–x1+x2 8
Felvesszük a kanonikus alakot:
2x1–3x2+2x3+u1=24
–x1+x2–v2+ û 2 =8 A kanonikus alak felírása
x1+2x2–2x3 +u3=8 nem kötelez , de többnyire
A célfüggvényt szorozzuk –1-gyel: hasznos.
–z=6x1 – 8x2 max
Rendezve: z+6x1 – 8x2=0, tehát a szimplex táblá- A második feltételt el ször
zatba nem –z-t, hanem z-t írunk. egyenl séggé alakítjuk a v2
kivonásával.
A szimplex induló tábla és az els optimális megol-
dás táblázata:
88 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

x1 x2 x3 v 2 b x1 u3 v 2 b A közbees számításokat
u1 2 3 2 0 24 u1 2 1 1 40 nem részletezzük. Elvé-
û2 1 1 0 1 8 ....... x3 3 2 12 1 4 gezhetné a m veleteket!
u3 1 2 2 0 8 x2 1 0 1 8
Megjegyzés: ha a kanoni-
z 6 8 0 0 0 z 2 0 8 64
ẑ 1 1 0 1 8 kus alakban vi eltérésválto-
Alternatív optimum van, a célfüggvény sorában 0 zó is van, akkor ezeknek
felett generáló elemet választva: az értéke szerepel az op-
xo1=[ 0 8 4 ]* zo=64 uo1=[ 40 0 0 ]*. timális megoldás eltérés-
xo2=[ 0 8 24 ]* zo=64 uo2=[ 0 0 40 ]*. változó vektorában, ugyan-
Az általános megoldás: xo= xo1+(1– )xo2 is ha van vi, akkor a megfe-
uo= uo1+(1– )uo2 0 1 zo=64 lel ui „kalapos”, azaz érté-
Az általános LP feladat szimplex módszerrel törté- ke minden esetben nulla.
n megoldása gyakorlottságot kíván.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 89

5. A dualitás

A lineáris programozási feladatokat általában gazda-


sági problémák optimalizálására használják. A gaz-
dasági m veleteket többnyire két szempontból vizs-
gálhatjuk, amelyeknek realizációja lehet az eladó és a A dualitás – nevéb l faka-
vev néz pontja, a beszállító és a felhasználó érdek- dóan is – kett sséget je-
viszonya, vagy hasonló, az adott gazdasági operáci- lent. Ez a tárgyalásra kerü-
óhoz tartozó elkülönül érdek. A lineáris programozá- l feladatainkban azt jelen-
si feladatok megfogalmazásában és megoldásában ti, hogy egy optimális meg-
érvényesíthet a kétféle néz pont: az adott optimali- oldásból kétféle optimum
zálási problémához els ként felirt matematikai mo- leolvasását tehetjük meg.
dellt primál modellnek nevezzük, az ugyanezen fo-
lyamatot a gazdasági partner szempontjából tárgyaló
feltételrendszert és célt pedig a duál modell írja le.

5.1. A normál feladat duálja


A dualitás fogalmának megértéséhez egy egyszer
feladatból indulunk ki.
Példa: Egy üzemben kétféle terméket (I és II) készí-
tenek négy er forrás (A, B, C, D) felhasználásával. A
technológiai mátrix:
I. II .
Emlékeztet : a technológi-
A 0 2
ai mátrix azt mutatja meg,
B 8 12
hogy az er forrásokból
C 4 3
mennyi épül be a termékek
D 3 0
egy-egy egységébe.
Az er forrásokból rendre maximum 120, 960, 360,
225 egységnyi áll rendelkezésre. Az els termék egy-
ségára 90, a másodiké 32 forint.
Cél: olyan termelési program megadása, amely a le-
het legnagyobb árbevételt eredményezi. Írjuk fel a
primál és duál matematikai modellt!
Megoldás: A döntési változó az egyes termékek da-
rabszáma. A szokásos módon felírhatjuk a matemati-
90 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

kai modelljét a feladatnak, a primál modellt: A primál szó ez esetben


x 0 nem els dlegességet je-
2x 2 120 lent, hanem az adatok
8x 1 12 x 2 960 alapján els ként felírt mo-
4x 1 3x 2 360 dellt nevezzük így.
3x 1 225 Az egyszer modell felvé-
tele nyilván nem okoz
z=f(x)==90x1+32x2 max.
problémát.
A duál értelmezés: A feladat szövegében foglalt fel-
tételekkel készen állunk a gyártásra. Valamilyen ok
miatt mégsem kezd dik el a termelés, a meglév er -
forrás kapacitásainkat el akarjuk adni. Az yi jelentse
az er források egységárát. Esetünkben nyilván felír- Olvassuk el figyelmesen a
ható a triviális feltétel: y1 0 és y2 0. feladat duál értelmezésé-
Az els termék minden egységébe az egyes er for- nek indoklását.
rásokból 0, 8, 4, 3 egységnyi mennyiség épül be, az-
az egy termék ára az er forrás egységárakkal felírva:
8y2+4y3+3y4. Ehhez a termékhez a piacon 90 forint
eladási egységár tartozhat, így jogos az elvárás: kap-
junk érte legalább 90 forintot, azaz:
8y2+4y3+3y4 90
A második termék el állítási ára az er forrás egység-
árakkal felírva: 2y1+12y2+3y3 és ez legyen legalább
32 forint, azaz
2y1+12y2+3y3 32.
A célfüggvény: az er forrásokból 120, 960, 300, 225
egységnyi áll rendelkezésre. Az egységárakkal kife-
jezhet , hogy összesen mindez mennyibe kerül:
120y1+960y2+300y3 +225y4 A vev a vásárláskor ki-
A vev szempontja: adásai minimalizálására
z’=120y1+960y2+300y3 +225y4 min. törekszik.
Így a duál modellünk:
y 0 Észrevehetjük, hogy a duál
8y2 4y3 3y4 90 modell feltételeiben sze-
2y1 12y2 3y3 32 repl yi változók együttha-
z’=g(y)=120y1+960y2+300y3 +225y4 min. tói a primál modell felté-
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 91

Láthattuk, hogy a primál modell feltételi relációi és a teleiben oszlopvektorok és


cél ellenkez jükre változnak. a primál modell jobboldali b
Definíció: Az A x b (x 0) és az A* y c (y 0) oszlopvektora komponen-
z=f(x)=c*x max z’=g(y)=b*y min sei szolgáltatják a duál cél-
feladatokat egymás duáljainak nevezzük. függvény sorában az
Figyelem! A definícióban nincs kikötés b és c el jelé- együtthatókat. Kicsit leegy-
re! szer sítve úgy is mondhat-
A feltételrendszerek kanonikus alakjai: juk, hogy a primál–duál
Ax + u = b és A* y – w = c. kapcsolatban az oszlopok
(Tehát a duál feladat eltérésvektorát w-vel jelöljük.) és a sorok felcserél dnek:
Tétel: Ha az A x b (x 0) és az A* y c (y 0) primál modell oszlopvekto-
z=f(x)=c*x max z’=g(y)=b*y min raiból lesznek a duál mo-
primál-duál párnál az x, illetve y lehetséges megol- dell sorvektorai és viszont.
dás, akkor f(x) g(y). (A tételt dualitási tételnek is
nevezik.)
Bizonyítás: Az A x b egyenl tlenséget szorozzuk
balról y*-gal:
Tudjuk: a skalárszorzatra
y*A x y*b=b*y.
igaz a felcserélhet ség:
Ezután az A* y c egyenl tlenségnél vegyük mindkét
y*b=b*y.
oldal transzponáltját, felhasználva, hogy ekkor a szor-
zatban a tényez ket fel kell cserélni: y*A c*. Majd
Az y*Ax-et „közrefogja” a
szorozzuk meg az egyenl tlenséget jobbról x-szel:
két célfüggvény.
y*A x c*x.
A következ ket kaptuk: y*A x y*b=b*y=g(y)
és y*A x c*x =f(x).
Tehát: f(x) y*A x g(y), ezzel az állítást igazoltuk.
A fenti gondolatmenetünk
A tételünk következménye: ha a primál feladat f cél-
lehet vé teszi, hogy a
függvényének értéke egy xo helyen megegyezik a
primál és a duál feladat
duál feladat g célfüggvényének yo értékével, akkor az
optimális megoldásait egy
f(xo) a primál feladat f célfüggvényének maximuma, a
optimális táblázatról olvas-
g(yo) pedig a duál feladat g célfüggvényének mini-
suk le: a primál optimumo-
muma, azaz az xo a primál, az yo pedig a duál feladat
kat a „szokásos” módon,
optimális megoldása.
az utolsó oszlopból, a duál
A duál optimumok szimplex táblázatról történ leolva-
megoldásokat pedig a sor-
sását a következ algoritmus szerint végezzük:
92 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

1.) El kell érni a primál feladat optimális megoldását. oszlopcserének megfelel -


2.) Ha zo a primál feladat optimuma, akkor ugyaneny- en a legalsó, a célfüggvény
nyi lesz a duál optimum értéke is. sorából, ellenkez el jellel,
3.) A duál feladat yo megoldásait a táblázat legalsó hiszen a minimum feladat
sorából olvassuk le, ellenkez el jellel. Az yi optimális célfüggvényét –1-gyel szo-
értékei a táblázat oszlopf in lév ui értékek alatt ta- rozni kellett a szimplex
lálhatók. módszer alkalmazhatósá-
A duál feladat wo optimális eltérésváltozóit szintén a gához.
táblázat legalsó sorából olvassuk le, ellenkez el jel-
lel. A wi optimális értékei a táblázat oszlopf in lév xi
értékek alatt találhatók.
Az algoritmus lépéseinek indoklására nem térünk ki.
Példa: A primál modell: x 0
2x 2 120
8x 1 12 x 2 960
4x 1 3x 2 360
3x 1 225 A feladattal és a duál fel-
írás indoklásával korábban
z=90x1+32x2 max.
foglalkoztunk. Nem ártana
A duál modell: y 0
ismételni!
8y 2 4y 3 3y 4 90
2y1 12 y 2 3y 3 32
z=120y1+960y2+300y3 +225y4 min.
A primál feladat szimplex módszerrel történ megol- A megoldást szimplex
dása: módszerrel önállóan is el
B0 x1 x2 b B1 u4 x2 b B2 u4 u3 b kellene végeznie!
u1 0 2 120 u1 0 2 120 u1 89 23 80
u2 8 12 960 u2 8 3 12 360 u2 83 4 120
u3 4 3 360 u3 43 3 60 x2 49 13 20
Az optimumok leolvasása
u4 3 0 225 x1 13 0 75 x1 13 0 75
z 90 32 0 z 30 32 6750 z 1429 32 3 7390
a primál modellr l a szoká-
sos módon történik.
x0=[ 75 20 ]* u0=[ 80 120 0 0 ]* z0=7390.
A duál optimumok leolvasása az optimális tábla leg-
A leegyszer sített magya-
alsó sorából történik, u3-hoz tartozik (ellenkez el jel-
rázat: a duál modellben a
lel) az y3 optimális értéke, az u4-hez pedig az y4 opti-
primálhoz képest sor és
mális értéke. A táblázatban u1 és u2 „sorkezd ” pozí-
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 93

cióban van, a hozzájuk tartozó y1 és y2 értékek nullák. oszlop csere történt, vala-
Hasonlóan nullák az optimális duál eltérésváltozók, mint a relációjelek és a
nincs xi az oszlopf n. célfüggvény átfordult. Így a
32 142 duál leolvasás nem az
y0=[ 0 0 ]* w0=0 z0=7390.
3 9 utolsó oszlopból, hanem az
Példa: Egy gazdaságban az állatok etetésére négyfé- utolsó sorból történik, vál-
le takarmánykeveréket használhatnak, amelyeket tozócserével és ellenkez
három tápanyagból készítenek. Az egyes keverékek el jellel.
a tápanyagokból rendre 2; 1; 1 és 1; 2; 0 és 1; 0; 2,
valamint 0; 2; 1 egységnyit tartalmaznak. A táp-
anyagokból legalább 5; 4; és 10 egységnyi felhaszná-
lása szükséges. Az egyes keverékek beszerzési árai:
5; 3; 4; 1 pénzegység. Cél a minimális költség ta-
karmányozási program. Írjuk fel a primál és duál op-
timumokat!

Megoldás: A döntési változó az egyes keverékek A feladatunk ez esetben


darabszáma. A primál modell: egy tiszta minimum feladat,
x 0 a modell felvétele az ekkor
2x1 x2 x3 5 szokásos algoritmus alap-
x1 2x 2 2x 4 4 ján történt.
x1 2x 3 x4 10
z=5x1+3x2+4x3+x4 min. Az induló táblában minden
A szimplex induló tábla: sorkezd eltérésváltozó
x1 x 2 x 3 x 4 v1 v 2 v 3 b kalapos, van 3 vi változónk
û 1 2 1 1 0 1 0 0 5 és a célfüggvényt meg kel-
û 2 1 2 0 2 0 1 0 4 lett szorozni –1-gyel. Ter-
û 3 1 0 2 1 0 0 1 10 mészetesen másodlagos
z 5 3 4 1 1 1 1 0 célfüggvényt is kell szere-
peltetni.
ẑ 4 3 3 3 1 1 1 19
A duál modellben yi jelentse a tápanyagok egység-
árát:

A duál felírás: sor–oszlop


csere, a relációk és a cél-
94 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

y 0 függvény átfordul.
2y 1 y2 y3 5
y1 2y 2 3
y1 2y 3 4
2y 2 y3 1
A duál modell egy egysze-
z=5y1+4y2+10y3 max r normál feladatot jelent.
A szimplex induló tábla ez esetben jóval egyszer bb: Az eltérésváltozókat most
y1 y 2 y3 b wi-vel vesszük fel.
w1 2 1 1 5
w2 1 2 0 3
w3 1 0 2 4
w4 0 2 1 1
z 5 4 10 0 A megoldást ez esetben is
A megoldás: szimplex módszerrel önál-
B0 y1 y2 y3 b B1 y1 y2 w4 b B2 w3 y2 w4 b B3 w3
w1 w4 b lóan is el kellene végeznie!
w1 2 1 1 5 w1 2 1 1 4 w1 2 7 3 0 y2 2 1 3 0
7 7 7
w2 1 2 0 3 w2 1 2 0 3 w2 1 6 2 1 w2 . 6 . 1
7
w3 1 0 2 4 w3 1 4 2 2 y1 1 4 2 2 y1 . 4 . 2
7
w4 0 2 1 1 y3 0 2 1 1 y3 0 2 1 1 y3 . 2 . 1
7 Az „els dleges” (direkt)
z 5 4 100 z 5 16 10 10 z 5 4 0 20 z 27 4 12 20
7 7 7 leolvasás a normál feladat-
Az optimális megoldások: ra vonatkozik. A duál leol-
y0=[ 2 0 1 ]* w0=[ 0 1 0 0 ]* z0=20 vasás adja a szöveges
x0=[ 4 7 0 27 7 12 7 ]* u0=0 z0=20 feladatunk megoldását.
A minimális költség takarmányozási programhoz
tehát az x0 komponenseinek megfelel mennyisé-
gekben kell a takarmánykeverékeket alkalmazni.

5.2. Az általános LP feladat duálja

Az általános feladat duáljának optimális megoldásá-


ban a dualitási tételünk alábbi következményeit hasz-
náljuk ki: Egyszer magyarázat: ha az
f(x) felülr l nem korlátos,
a.) Ha a primál feladatnak van megoldása, de az f
akkor fels „korlátja” a végte-
célfüggvény nem korlátos felülr l, akkor g(y) f(x)
len, és a végtelennél na-
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 95

feltétel miatt a duál feladatnak nincs lehetséges meg- gyobb „valami” nem létezik.
oldása.
Hasonlóan: ha a duál feladat g célfüggvénye nem Nincs alsó korlát: ez azt
korlátos alulról, akkor a primál feladatnak nincs lehet- jelenti, hogy a mínusz vég-
séges megoldása. telen az alsó korlát. Ennél
b.) Ha egy LP feladatban valamelyik feltétel egyenl - kisebb „valami” nincs.
ség, akkor a duáljában a neki megfelel változóra
nincs el jelkorlát. Ha pedig valamelyik változóra nincs
el jelkorlát, akkor a duál feladatban a neki megfelel
feltétel egyenl ség.
Ha az általános feladat optimális megoldásából duál
optimumokat is akarunk leolvasni, akkor a szimplex
algoritmus alkalmazása során a kalapos változók
oszlopait nem hagyhatjuk el. Azt a duál változót,
amelyre nincs el jelkorlát, a szimplex táblázatban
kalapos változóként kell kezelnünk. Az általános feladatban
tetszés szerinti irányban
Példa: Adott egy LP feladat matematikai modellje: lehetnek relációjelek és az
x 0 optimum is kétféle lehet.
x1 2x 2 2x 3 3
x1 x3 2
x1 x2 x3 1
f(x)=2x1+5x2+4x3 min.
Írjuk fel a duál modellt és mindkét feladatot oldjuk
meg szimplex módszerrel!

Megoldás: A duál modell: Tudjuk: sor és oszlopcse-


y1 0, és y3 0 (de y2-re nincs feltétel!) re, relációk és a célfügg-
y1 y2 y3 2 vény átfordul.
2y 1 y3 5
2y 1 y2 y3 4
g(y)=3y1+2y2+y3 max.

A primál feladat induló táblája az els generáló elemmel:


Hosszadalmas lenne a
szimplex módszerrel vé-
96 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

x1 x2 x3 v1 v 3 b gigszámolni ezt a feladatot.


û1 1 2 2 1 0 3 Próbálja meg!
û 2 1 0 1 0 0 2
û 3 1 1 1 0 1 1
z 2 5 4 0 0 0
ẑ 3 3 4 1 1 6
A duál feladat megoldása egyszer bb, és arról a Azt a „valódi” változót,
primál optimumok is leolvashatók: amelyre nincs el jelkorlát,
y ŷ y b
1 2 3 y w y b 1 w w y b kalappal jelöljük.
1 3 3 1 3
w1 1 1 1 2 ŷ2 1 1 1 2 ŷ2 1 2 1 0
w2 2 0 1 5 w2 2 0 1 5 w2 2 2 1 1
w3 2 1 1 4 w3 1 1 0 2 y1 1 1 0 2
z 3 2 1 0 z 1 2 1 4 z 1 1 1 6
A „direkt” leolvasás: A primál feladat megoldá-
yo=[ 2 0 0 ]* wo=[ 0 1 0 ]* zo=6. sait „duálszer ” leolvasás-
A primál optimumok („duál leolvasás”): sal kapjuk.
xo=[ 1 0 1 ]* uo=[ 0 0 1 ]* zo=6.
Megoldásainkat a kanonikus alakba helyettesítéssel
ellen rizhetjük.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 97

6. Ellen rzés, variánsszámítás, érzé-


kenységvizsgálat

A szimplex módszer kézi alkalmazása során könny Az ellen rzési módszer


számolási hibát véteni. Gyakran szükség van arra lehet séget nyújt arra,
is, hogy egy adott probléma olyan változatát dolgoz- hogy az esetleges számo-
zuk ki, amelyben például a kapacitás értékek meg- lási hibákat egyszer en
változnak, vagy a célfüggvény együtthatókon aka- észrevegyük és kijavítsuk,
runk módosítani. illetve az adott feladatnál
Az ellen rzési módszert normál feladatra mutatjuk kért variánsokat a teljes
be. Az általános feladatnál csak annyi az eltérés, eljárás megismétlése nél-
hogy a módszerünk alkalmazhatóságához a kalapos kül meg tudjuk adni
változókat benn kell hagynunk a táblázatokban.

6.1. Az ellen rzés módszerének elméleti


alapjai
A normál feladatnál az induló szimplex táblázat álta-
lános alakja:
*
x
u A b
*
z c 0
A lehetséges bázistranszformációk után a vektora-
inkat particionált alakban vegyük fel:
Jelölje x1 az x vektor komponensei közül azokat,
amelyek bekerültek az új bázisba, x2 pedig a bázis-
ba nem kerülteket (az oszlopf n maradottakat). A feladatmegoldásokban a
Hasonlóan bontsuk fel az u vektort: u1 a báziscseré- konkrét adatokkal az álta-
ben részt vett komponenseket tartalmazza, u2 a töb- lánosan ismertetett eljárást
bit. Az A mátrixnak, valamint a b és c* vektoroknak alkalmaztuk.
a bázistranszformációk után új koordinátáik lesznek:
b1’ és c1*’ legyenek a báziscserékben részt vett vek-
torokhoz tartozó koordináták, a b2’ és c2*’ pedig a
báziscserékben részt nem vettek koordinátái. A
szimplex táblázat alakja így a bázistranszformációk
után:
98 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

u1
* *
x2 A táblázat „belsejében” az
x1 b1
i eredeti A mátrix új koordi-
u2
i
b2 nátái találhatók, jelölhetjük
*i
z c1
*i
c2 zo ezeket A’-vel.

Felírhatjuk a táblázatból adódó egyenletrendszer


általános megoldását:
i
Az egyenletrendszer álta-
x1 b1 i lános megoldó képletét
i A u1
u2 b 2 (ugye emlékszünk rá?) al-
c
*i
x2
z zo kalmaztuk.

Ennek az egyenletrendszernek triviális megoldása


az x=0, u=b és z=0. Helyettesítünk (az u=[ u1 u2 ]*
helyett a b=[ b1 b2 ]*-t írva):
i
0 b1 i
i A b1
b2 b 2 .
c
*i 0
0 zo

Rendezés után: Ez a képlet teszi lehet vé


i
b 01
azt, hogy a szimplex mód-
i
A b1 i szer alkalmazása során
= b2 b2
c
*i 0 bármelyik táblázatunk so-
zo 0
rait ellen rizzük.
A dualitás elvéb l levezethet a táblázatok oszlopai A dualitással kapott, az
ellen rzésére szolgáló összefüggés: oszlopellen rzés végrehaj-
[ c1* 0* ] [A’] = [ 0* c2* ] – [ c1*’ c2*’ ]. tására alapot adó képletet
Az ellen rzést a gyakorlatban úgy végezzük, hogy nem bizonyítjuk.
a szimplex táblázathoz perem sorokat és oszlopokat
csatolunk a következ képpen:
* *
b1 0
*
u1 x2
l
c1 x1 b1 0
l
0 u2 b2 b2
*i *l
z c1 c2 zo 0
* *
0 c2 0
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 99

Konkrétan:
1.) A perem sorokkal a táblázat kiegészítése úgy
történik, hogy a legfels sorba került ui értékek fölé A számolás végrehajtását
írjuk az eredeti kapacitásvektor megfelel kompo- jelent sen megkönnyíti az,
nenseit, a szemközti legalsó peremsorba a megfele- ha az eredeti szimplex táb-
l helyekre nullákat írunk. Az ui értékekkel azonos lát sorokkal és oszlopokkal
sorban lév xi értékek föle nullák kerülnek, a legalsó kiegészítjük.
peremsorba a megfelel helyekre pedig az eredeti
célfüggvény megfelel együtthatóit írjuk.
2.) A perem oszlopokkal történ kiegészítés: a bal Az eljárás megjegyzése
oldali oszlopban maradt xi értékek mellé írjuk a meg- nem túl egyszer , szükség
felel célfüggvény együtthatókat, a szemközti jobb lesz konkrét feladatokon
oldali peremoszlopba a megfelel helyekre nullákat gyakorolni!
írunk. A bal oldali oszlopban maradt ui értékek mellé
nullák kerülnek, a szemközti jobb oldali oszlopba
pedig a megfelel kapacitásvektor komponensek.
Példa: Egy LP feladat induló táblájában adott:
b = [ 40 37 27 26 ]* és c = [ 5 8 5 7 2 ]*. Opti-
mális táblaként a következ t kaptuk:
x1 u4 u1 x4 u2 b
x3 0 1 1 0 0 14
x5 1 1 0 1 1 11
u3 2 2 1 2 1 2
x2 1 1 0 1 0 26
z 1 1 5 3 2 300
Vegyük fel az ellen rzéshez szükséges perem so-
rokat és oszlopokat!
Megoldás: A fels perem sorba került ui értékek
„vitték magukkal” a megfelel kapacitás értékeket,
az oszlopf n maradt xi változók fölé nullák kerülnek.
A bal oldali oszlopba került xi változók szintén „vitték
magukkal” a megfelel célfüggvény együtthatókat, Célszer a táblázat kiegé-
az u3 sorkezd maradt, 0-t írunk mellé. A szemközti szítésekor a példában leírt
sorok és oszlopok kitöltése a fenti leírásnak megfe- sorrendet követni.
lel en történik. A kiegészített táblázat:
100 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

0 26 40 0 37
x1 u4 u1 x4 u2 b
5 x3 0 1 1 0 0 14 0
2 x5 1 1 0 1 1 11 0 A kiegészít sorokat és
0 u3 2 2 1 2 1 2 27 oszlopokat válasszuk el
8 x2 1 1 0 1 0 26 0 (szaggatott vonallal vagy
z 1 1 5 3 2 300 0 színessel) az adott szimp-
5 0 0 7 0 0 lex táblázattól.
Az ellen rzés végrehajtása az elméleti összefüggé-
sek alapján a kiegészített táblázat felhasználásával
a következ algoritmus szerint történik:
1.) Sor ellen rzés: a fels peremsor elemeit kompo-
náljuk az A’ mátrix soraival (a megfelel értékeket
rendre megszorozzuk a „bels táblázat” soraiban
lév számokkal és a szorzatokat összeadjuk). A
kapott összegnek meg kell egyeznie az utolsó sor-
ban és a peremsorban lév számok különbségével.
2.) Oszlop ellen rzés: a bal oldali peremoszlop ele-
Az eljárás „hétköznapi
meit komponáljuk az A’ mátrix oszlopaival. A kapott
nyelven” történ leírásával
összegnek meg kell egyeznie a peremsorban és az
a mátrixalgebrai képletben
utolsó sorban lév számok különbségével.
foglalt eljárást adtuk meg.
A fenti példa feladatában végezzünk sor és oszlop-
ellen rzést!
Megoldás: sorellen rzés:
? A kiegészít fels sorban
1. sorra: 0 0+26 (–1)+40 1+0 0+37 0 14–0. Való-
lév értékeket rendre meg-
ban: 14=14. szorozzuk a „bels táblá-
2. sorra: –26+37=11 zat” soraiban lév számok-
3. sorra: 52–40–37=2-27, azaz –25=–25. kal és a szorzatokat ösz-
4.sorra: 26=26. szeadjuk. A kapott szá-
A sorellen rzés a célfüggvény sorára is érvényes: – moknak rendre meg kell
26–200–74=–300. egyezniük a szimplex tábla
utolsó oszlopában lév
Oszlopellen rzés:
számok és a jobboldali pe-
?
1. oszlopra: 5 0+2 (–1)+0 2+8 1 5–(–1). Valóban: 6=6. remoszlopban lév számok
2. oszlopra: –5–2+8=0–(–1), valóban: 1=1. különbségével.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 101

3. oszlopra: 5=0–(–5).
4. oszlopra: 2+8=7–(–3). A bal oldali kiegészít osz-
5. oszlopra: 2=0–(–2). lopban lév értékeket rend-
A szimplex tábla utolsó oszlopára is érvényes az re megszorozzuk a „bels
eljárás: 5 14+2 11+8 26=0–(–300). táblázat” oszlopaiban lév
Az ellen rzés módszere egyszer en befejezhet vé számokkal és a szorzato-
tehet „félbehagyott” optimum számítási feladatokat, kat összeadjuk. A kapott
amint azt a következ példa is mutatja. számoknak rendre meg
Példa: Egy lineáris programozási feladat kapacitás kell egyezniük az alsó pe-
vektora: b = [ 60 50 100 ]*, célfüggvénye: remsorban és a célfügg-
z=3x1+9x2+3x3+6x4+7x5 max. Az optimális tábla vény sorában lév számok
részlete: különbségével.
x1 u2 x 3 u1 u3 b
x4 2 1 1 0 1
x2 1 1 2 1 1
x5 1 0 1 1 1
z
Írjuk fel a primál és duál optimális megoldást! Ha a
c2 értékét az eredeti feladatban 9-r l 7-re változtat-
juk, akkor mi lesz a primál optimális megoldás?
Megoldás: A táblázatban hiányzó értékek az ellen-
rzéssel kiszámolhatók.
A számolásnál eljárhatunk úgy, hogy ideiglenes vál- Tehát például az els sorban
tozókat vezetünk be a hiányzó értékekre és mintegy hiányzó értéket jelöljük ideig-
egyenlet megoldást végzünk. lenesen 1-gyel. Ekkor:
0 50 0 60 100 0·2+50·(-1)+0·(-1)+60·0+
x 1 u 2 x 3 u1 u 3 b +100·1= 1–0.
6 x4 2 1 1 0 1 50 0 Ebb l: 1=50.
9 x2 1 1 2 1 1 10 0 A második sorban:
7 x5 1 0 1 1 1 40 0 2–0=50·1+60+100·(-1)=10.

z 7 3 2 2 4 670 0 A célfüggvény sorában


3 0 3 0 0 0 hiányzó értéket jelöljük ide-
xo=[ 0 10 0 50 40 ]* uo=[ 0 0 0 ]* iglenesen 1-gyel. Ekkor:
zo=670. 6·2+9·(-1)+7·1=3– 1.
yo=[ 2 3 4 ]* wo=[ 7 0 2 0 0 ]*. Ebb l: 1=–7.
102 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

A kérdés második része már a feladat egy változa-


tának számolását jelenti. A többi érték számolása
Ha c2 9-r l 7-re változik, akkor a táblázat a fentihez hasonlóan történik.
hasonló számítások után:
x u x u u b
1 2 3 1 3
x 2 1 1 0 1 50
4
x 1 1 2 1 1 10
2
x 1 0 1 1 1 40 Ha a célfüggvény sorában
5
z 9 1 2 0 6 650 pozitív szám van, akkor
A javítás után: még nem kapunk optimális
x u x u u b megoldást.
1 2 2 1 3
x . . . . . 55 Folytatjuk az eljárást az
4 optimumig.
x . . . . . 5
3
x . . . . . 45
5
z 8 2 1 1 5 660
A primál optimum: xo=[ 0 0 5 55 45 ]* uo=0
zo=660.

6.2. Variánsszámítás

A variánsszámításnál alapvet en azt vizsgáljuk,


hogy a kapacitásvektor komponenseinek, vagy a
célfüggvény együtthatóknak a megváltozása a Elvileg lehetnek változások
szimplex táblázat szerkezetét hogyan befolyásolja. az A mátrix elemei között
A variánsszámításnál az ellen rzés módszerét is, de ez egyrészt ritka,
használjuk. A megfelel szimplex táblázat peremér- hiszen a megfelel gazda-
tékeit egyszer en kicseréljük a megváltozott érté- sági feladatban ez techno-
kekre és ezekkel kiszámoljuk a táblázat új értékeit. lógia változást jelent, más-
Az új táblázatot javítjuk, ha szükséges. részt az eljárás analóg az-
Példa: Egy normál LP feladatban adott a célfügg- zal, amit a kapacitás vagy
vény együtthatók vektora: c*=[ 3 9 3 6 7 ] és a a célfüggvény megváltozá-
kapacitásvektor: b =[80 50 100 ]*. Az optimális táb- sakor követünk.
la részlete:
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 103

x1 u2 x3 u1 u3 b
x4 2 1 1 0 1
x2 1 1 2 1 1
x5 1 0 1 1 1
z
Írjuk fel a primál és duál optimális megoldást!
Adjuk meg a feladat következ variánsának optimá-
lis megoldásait: a kapacitásvektor els komponense
10-zel, a harmadik 20-szal n ; a második célegyütt-
ható 2-vel csökken, a negyedik pedig 1-gyel csök-
ken!
Megoldás: A táblázat kiegészítése: Els lépésként az optimális
0 50 0 80 100 megoldást számoljuk ki.
x 1 u 2 x 3 u1 u 3 b
6 x4 2 1 1 0 1 50 0
9 x2 1 1 2 1 1 30 0
7 x5 1 0 1 1 1 20 0
z 7 3 2 2 4 710 0
3 0 3 0 0 0
Optimumok leolvasása:
xo=[ 0 30 0 50 20 ]* uo=[ 0 0 0 ]*
zo=710.
yo=[ 2 3 4 ]* wo=[ 7 0 2 0 0 ]*.
Variánsszámítás:
Az eredeti adatokat újakkal helyettesítjük:
0 50 0 90 120
x1 u2 x 3 u1 u 3 b
5 x4 2 1 1 0 1 70 0
7 x2 1 1 2 1 1 20 0
7 x5 1 0 1 1 1 30 0
z 7 2 1 0 5 700 0
3 0 3 0 0 0 Az adatok kicserélése után
egyszer en az ellen rzés
A tábla nem optimális, az x2 és x3 csere után:
módszerét alkalmazzuk a
x1 u2 x2 u1 u3 b
megváltozott számokkal.
x4 32 12 12 12 12 80
x3 12 12 12 12 12 10
x5 12 12 12 12 12 40
z 13 2 52 12 12 92 710
104 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Optimumok leolvasása: A variánsok számolását is


xo=[ 0 0 10 80 40 ]* uo=[ 0 0 0 ]* zo=710. a gyakorlatban számító-
yo=[ 0,5 2,5 4,5 ]* wo=[ 6,5 0,5 0 0 0 ]*. géppel végzik.

6.3. Érzékenységvizsgálat

Az érzékenységvizsgálatnál az a célunk, hogy megha-


tározzuk, hogy az optimális táblázat szerkezete a mi- Ha az a célunk, hogy a
lyen változtatásokat visel el, azaz a kapacitás vektor megváltoztatott adatokkal
komponenseit és a célfüggvény együtthatókat milyen ne változzon meg az opti-
határok között változtathatjuk meg az optimális táblá- mális tábla, akkor a táblá-
zat szerkezetének megváltozása nélkül. zatban kizárólag az utolsó
Ha egy szimplex táblázat optimális, akkor az utolsó oszlop, illetve az utolsó sor
oszlopában nem szerepelhetnek negatív számok és adatai változhatnak meg
a célfüggvény sorában nem lehetnek pozitív értékek úgy hogy ne következzen
(kivétel: a kalapos eltérésváltozó oszlopában az op- be el jelváltás.
timális táblában lehet pozitív érték). Az érzékeny-
ségvizsgálatnál ezt a tényt használjuk ki.
Példa: Egy lineáris programozási feladat matemati-
kai modelljében adott a kapacitásvektor és a célfügg-
vény együtthatók vektora: b=[ 100 200 350 150 ]*
és c*=[ 6 –6 –3 3 ]. A megoldás során kapott
szimplex tábla részlete:
u1 x 2 x3 u4
1 1
x1 2 0
2 2
u2 0 1 5 1
u3 1 3 5 2
1 1
x4 1 1
2 2 A szimplex tábla hiányzó-
z
oszlopa és sora számait a
Adjuk meg a feladat optimális primál és duál megol- szokásos módon, célsze-
dását! Végezzünk teljes érzékenység vizsgálatot! r en ideiglenes változók
Megoldás: Az ellen rzés módszerével a peremér- bevezetésével adhatjuk
tékek felírása után meghatározhatjuk a hiányzó ér- meg.
tékeket:
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 105

100 0 0 150
u1 x2 x3 u4 b
6 x1 12 2 12 0 50 0
0 u2 0 1 5 1 50 200
0 u3 1 3 5 2 150 350
3 x4 12 1 12 1 100 0
z 32 15 92 3 600 0 Tudjuk: egy tábláról leol-
0 6 3 0 0 vashatók a primál és duál
optimumok is.
Leolvashatjuk az optimumokat:
xo=[ 50 0 0 100 ]* uo=[ 0 50 150 0 ]* zo=600.
yo=[ 1,5 0 0 3 ]* wo=[ 0 15 4,5 0 ]*
Az érzékenység vizsgálathoz a szimplex tábla utol-
só oszlopában és utolsó sorában lév értékeket ide-
iglenes változókkal helyettesítjük:
100 0 0 150
u1 x2 x3 u4 b
6 x1 1 2 2 12 0 1 0
0 u2 0 1 5 1 2 200
0 u3 1 3 5 2 3 350
3 x4 12 1 12 1 4 0
z 1 2 3 4 zo 0
0 6 3 0 0
A kapacitás értékekre végzünk el ször érzékenység
vizsgálatot. Ehhez azt használjuk fel, hogy optimális
esetben a i értékek nem lehetnek negatívak.
Ha az els kapacitás értékre, a b1-re végezzük a
vizsgálatot, akkor az u1-hez tartozó kapacitás érték
(ez 100) helyett a b1 változót írjuk és sorellen rzést Ebben az esetben csak az
végzünk. Az egyenl ségekben szerepl i értékek utolsó oszlopban vesszük

mindegyikér l az optimális megoldás miatt fel kell fel az ideiglenes változó-


tennünk, hogy nem negatívak. A feltételekb l b1-re kat. A célfüggvény sorában
korlátokat kapunk: ekkor maradnak az optimá-
lis megoldásban kiszámolt
számértékek.
106 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

b1 0 0 150
u1 x2 x3 u4 b
6 x1 12 2 12 0 1 0
0 u2 0 1 5 1 2 200
0 u3 1 3 5 2 3 350
3 x4 12 1 12 1 4 0
z 32 15 92 3 zo 0
0 6 3 0 0
1
Az els sorból: b1 +0= 1–0. Mivel 1 0, ezért: Az érzékenység vizsgálat-
2
hoz els fokú egyenl tlen-
1
b1 0, így b1 0. ségrendszert oldunk meg
2
A második sorból b1-re nem kapunk feltételt, hiszen
b1-et nullával szorozzuk.
A harmadik sorból: b1–300= 3–350, így 3= b1+50 0,
tehát b1 –50.
1
A negyedik sorból: b1 +150= 4 0, így b1 300.
2
A feltételeknek egyszerre kell teljesülniük, azaz b1-
Ez azt jelenti, hogy az els
re az alsó határ 0, a fels 300.
kapacitást tehát 0 és 300
A táblázatunk tehát optimális marad, ha: 0 b1 300.
között tetsz legesen meg-
A b1-re kapott határokhoz a célfüggvény sorában
változtathatjuk, a táblázat
lév értékekkel kiszámolhatjuk az optimális célfügg-
optimális marad. A cél-
vény érték határait is. El ször megadjuk, hogy a
függvény értéke természe-
célfüggvény hogyan függ a b1-t l, ehhez sorellen r-
tesen b1 értékét l függ en
zést végzünk a –z sorában:
változik.
3 9
b1 +0 (–15)+ 0 +150 (–3)=–zo–0.
2 2
Tehát zo=1,5b1+450. A b1 és a zo között lineáris
Így teljesül a következ : 450 zo 900. kapcsolat van (monotoni-
A b2-re és a b3-ra nem kell az ellen rzési eljárást tás), így a zo határait a b1
végigvinni. Ebb l a két kapacitás értékb l az opti- határinak behelyettesítésé-
mális táblázatban maradvány van, például a b2-nél vel kapjuk:
50 egység. Az eredeti kapacitásvektorban a b2 érté-
ke 200 volt, így minden olyan b2 mellett optimális
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 107

marad a táblázat, amelyben b2 200–50=150. Vagyis a második kapaci-


tásértékb l az optimum
A b2 ebben az intervallumban történ változása a cél-
eléréséig elegend
függvény optimális értékét nem érinti, az marad 600. lett
Az érzékenységvizsgálat eredménye tehát b2-re: volna 150, azaz bármely
150 b2 < és zo=600. 150-nél nagyobb érték ese-
Hasonlóan b3-ra (ez esetben is maradvány van: 150 tén optimális marad a táb-
egységnyi, eredetileg volt 350, tehát most: la.
b3 350–150=200, így: 200 b3 < és zo=600.
Az érzékenységvizsgálat b4-re ugyanúgy történik,
mint b1-re: a táblázatban u4 fölé 150 helyett b4-et
írunk és sorellen rzést végzünk (az u1 fölé visszake-
rült a 100):
100 0 0 b4
u1 x2 x3 u4 b
6 x1 12 2 12 0 1 0
0 u2 0 1 5 1 2 200
0 u3 1 3 5 2 3 350
3 x4 12 1 12 1 4 0
z 32 15 92 3 zo 0
0 6 3 0 0
A feltételek:
Az els sorból b4-re nincs feltétel (nullával szoroz-
A kapacitás értékekre vég-
zuk az ellen rzéskor).
zett érzékenység vizsgá-
A második sorból: –b4= 2–200, azaz 2=200–b4 0, latkor az egyes komponen-
így b4 200. sek határainak megállapí-
A harmadik sorból: 100–2b4= 3–350, azaz: tására azonos eljárást kö-
3=450–2b4 0, így b4 225. vetünk.
A negyedik sorból: –50+b4= 4 0, vagyis b4 50.
A három feltételb l adódó halmazok közös része: Az egyenl tlenség rend-
50 b4 200. szer megoldását grafikus
A b4 és a zo összefüggése: úton is elvégezhetjük.
3 9
100 +0 (–15)+ 0 +(–3) b4 =–zo–0, azaz:
2 2
zo=3b4+150.
108 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Tehát ebben az esetben a zo határai: zo [ 300; 750 ]. Az optimális célérték függ-


Érzékenységvizsgálat a célfüggvény együtthatók- vénye b4-nek. Ebb l a zo
ra: az ellen rzés módszerét használjuk ez alakom- határai megállapíthatók.
mal is. A célfüggvény sorában ideiglenes változókat Természetesen minden
helyezünk el. Ha a c1 vizsgálatával kezdünk, akkor a esetben teljesülnie kell an-
kiegészített táblázatban a c1 eredeti számértéke nak, hogy a bi értékekre az
helyett c1-et írunk, a többi érték marad: érzékenység vizsgálattal
100 0 0 150 kapott határok közé kell
u1 x2 x3 u4 b esnie az eredeti kapacitás-
c 1 x1 1 2 2 12 0 50 0 vektor megfelel értékei-
0 u2 0 1 5 1 50 200 nek és a célfüggvényre az
0 u3 1 3 5 2 150 350 optimális táblázatban ka-
3 x4 12 1 1 2 1 100 0 pott értéket is tartalmaznia
z zo 0 kell az érzékenység vizs-
1 2 3 4
gálattal a célfüggvény ér-
0 6 3 0 0
tékre kapott optimális inter-
Akkor optimális a szimplex táblázat, ha a célfüggvény
vallumoknak.
sorában nincs pozitív szám, tehát minden i 0.
Az oszlopellen rzés módszerével az els oszlopra:
1 1
c1 3 0 1 . Ha 1 0, akkor – 1 0, tehát
2 2
1 1
c1 3 0 , azaz: c1 3.
2 2
A második oszlopra: 2c1–3=–6– 2, így – 2=2c1+3 0,
Egyszer bb lesz a számo-
vagyis c1 –1,5.
lás, ha a 1 0 helyett
A harmadik oszlopra: 0,5c1–1,5=–3– 3, ebb l:
a – 1 0 feltételt használ-
– 3=0,5c1+1,5 0, így c1 –3. juk.
A negyedik oszlopból nincs feltétel c1-re (0 a szorzó-
ja).
A három alsó korlát közül legnagyobb a 3, így az
érzékenység vizsgálat eredménye:
3 c1 < .
Kiszámoljuk a c1 változásának határát a célfügg- Ha csak alsó korlátok van-
vényre (a kapacitás oszlopából): nak, akkor a fels „korlát”
50c1+300=0–(–zo)=zo. Így a igaz: 450 zo < . nyilván a végtelen.
Az x2 és az x3 nem került a báziscserék során az
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 109

optimális táblán „sorkezd pozícióba”, így a hozzá-


juk tartozó c2 és c3 megváltozása nem befolyásolja
az optimális célfüggvény értéket.
c2 15+(–6)=9 és c3 4,5+(–3)=1,5. A zo=600 A duál leolvasás szabályá-
mindkét esetben. ból következ en a c2 és c3
Természetesen ugyanezeket az eredményeket kap- lehetséges értékeinek fels
juk akkor is, ha a c1 érzékenység vizsgálatánál látott korlátait az optimális táblá-
eljárást alkalmazzuk, például c2 esetében: az alsó ból leolvasható eltérés vál-
peremsorban ekkor a –6 helyett c2-t írunk és osz- tozók értéke és az induló
lopellen rzést végzünk erre az oszlopra, ugyanis a cél értékek összege adja.
többiben nincs c2: 12–3=c2– 2, azaz – 2=9– c2 0,
ebb l: c2 9.
Befejezésül a c4 érzékenység vizsgálata:
100 0 0 150
u1 x2 x3 u4 b
6 x1 1 2 2 12 0 50 0
0 u2 0 1 5 1 50 200
0 u3 1 3 5 2 150 350
c4 x4 12 1 1 2 1 100 0
z 1 2 3 4 zo 0
0 6 3 0 0 A célfüggvény értékekre
végzett érzékenység vizs-
Az els oszlopból: 3–0,5c4=0– 1 0, ebb l: c4 6.
gálatkor az egyes kompo-
A második oszlopból: 12–c4=–6– 2, tehát:
nensek határainak megál-
– 2=18– c4 0, ebb l: c4 18.
lapítására most is azonos
A harmadik oszlopból: 3–0,5c4=–3– 3, tehát: eljárást követünk.
– 3=6–0,5c4 0, ebb l: c4 12.
A negyedik oszlopból: c4=– 4 0, ebb l: c4 0. Az érzékenység vizsgálat
A négy feltételb l adódó halmazok közös része: az ellen rzési módszer
0 c4 6. elméleti indoklásában lév
A célfüggvényre: 300+100c4=zo, így: 300 zo 900. mátrixaritmetikai formulák
felhasználásával is elvé-
gezhet (akár gépi úton is).
110 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

7. Szállítási feladat

A személyek, termékek, nyersanyagok szállításának


lehet leggazdaságosabb megszervezése fontos A fejezetben utalunk majd
kérdés. A gazdaságosság mutatója lehet a lehet arra, hogy milyen más terü-
legkisebb összköltség megvalósulása, vagy a legrö- leteken használhatjuk fel
videbb úton, vagy id alatt történ szállítás meg- azokat az eredményeket,
szervezése, illetve más optimum, amely f ként a amelyeket a szállítási fel-
szállítási feladattal analóg, vagy arra épül problé- adat megoldása során kap-
mák esetén a célunk lehet. tunk. A szállítási probléma
A probléma felvetése: adott m feladó állomás, modellez néhány más op-
amelyeknél ismertek a t lük elszállítandó mennyi- timalizálandó gazdasági
ségek, valamint adott n célállomás, rendeltetési hely helyzetet, így részleteseb-
az igényeikkel és a közöttük történ szállítások költ- ben a szállítási feladattal
sége egy egységnyi szállítandó mennyiségre vonat- foglalkozunk.
kozón. Keressük azt a szállítási programot, amely-
nek során a feladóhelyekr l minden árut elszállíta-
nak, minden rendeltetési állomás megkapja az igé-
nyelt mennyiséget és az összköltség minimális lesz.
Példa: Adott két feladó állomás, a t lük elszállítan-
dó áru mennyisége rendre 70 és 30 egységnyi. 3
rendeltetési hely van, igényeik rendre 30, 20, 50
egységnyi. A feladóhelyek és a rendeltetési állomá-
sok között minden esetben lehetséges szállítás. Az
egyes relációkban a szállítási költségek egy egység
szállítására vonatkozóan:
F1-b l R1-be: 1, F1-b l R2-be: 4, F1-b l R3-ba: 2, va-
lamint: F2-b l R1-be: 3, F2-b l R2-be: 2, F2-b l R3-ba:
1. Készítsük el a minimális költség szállítási tervet!
A szállítási feladat megoldása többféleképpen
történhet: A szállítási feladatok meg-
1.) A lineáris programozás szokásos módszereivel: oldására más módszerek is
matematikai modellt írunk fel a feladathoz, majd az léteznek, kezdve az ötlet-
megoldjuk (manuálisan, vagy gépi úton). szer szervezést l az ösz-
2.) A disztribúciós módszerrel, amelynek során el - szes lehetséges változat
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 111

ször el állítunk egy lehetséges disztribúciót („szállí- kiszámításáig és közülük


tási relációk szétosztását”), majd ezt javítjuk az op- az optimális kiválasztásáig.
timum eléréséig. Ezek a megoldások több-
nyire nem optimálisak, il-
letve nagyon költségesek.
7.1. A szállítási feladat matematikai mo-
dellje és megoldása szimplex módszerrel

Az eljárást az el z példa adataival mutatjuk be.


Példa: Az F1 és F2 feladóhelyekr l az R1, R2, R3
célállomásokra adottak a mozgatandó mennyiségek
és az egyes relációkban az egységnyi szállítandó
mennyiségre jutó költségek a következ képpen:
R1 R 2 R 3
F1 1 4 2 70
F2 3 2 1 30
30 20 50
Készítsünk minimális költség szállítási tervet!
Megoldás: Az xij változó jelentse az egyes relációk- A matematikai modell fel-
ban szállításra kerül árumennyiséget. Felírható a írásához a változókat kell
matematikai modell ún. triviális feltétele: definiálni. Ezután a feltéte-
xij 0, ahol 1 i 2 és 1 j 3. lek és a cél matematikai
A feltételi relációkat a szállítandó mennyiségek ha- megfogalmazása követke-
tározzák meg: zik, majd a modell megol-
x11+x12+x13=70 dása, esetünkben szimplex
x21+x22+x23=30 módszerrel.
x11+x21=30
x12+x22=20 A feltételi relációk ez eset-
x13+x23=50 ben egyenl ségek. Termé-
A célunk a szállítás összköltségének minimalizálása: szetesen lehetne a reláció
z= x11+4x12+2x13+3x21+2x22+x23 min. kisebb-egyenl , vagy akár
nagyobb-egyenl is.
A feladat szimplex induló táblája:
112 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

x 11 x 12 x 13 x 21 x 22 x 23 b
û 1 1 1 1 0 0 0 70
û 2 0 0 0 1 1 1 30
û 3 1 0 0 1 0 0 30 A matematikai modellb l a
û 4 0 1 0 0 1 0 20 szimplex induló táblázat
û 5 0 0 1 0 0 1 50 felírása rutinfeladat.
z 1 4 2 3 2 1 0
ẑ 2 2 2 2 2 2 200
A szimplex táblázat néhány bázistranszformáció
után optimális megoldást szolgáltat
x 12 x 21
Az utolsó táblázatról a szo-
x 13 1 1 40
kásos módon olvassuk le
x 23 1 1 10
az optimális megoldásokat.
x 11 0 1 30
A feladat jellegéb l követ-
x 22 1 0 20
kez en az eltérésváltozók
û 5 0 0 0
felírása felesleges (az
z 1 3 160
egyenl ségek miatt mind
Leolvassuk az optimális megoldást: x11=30, x13=40, nulla).
x22=20, x23=20, a többi relációban 0 a szállított
mennyiség és az összköltség minimuma 160. Ez az írásmód tömörebb
Az optimális megoldás megadható mátrix alakban: és talán áttekinthet bb is.
30 0 40
Xo= és Kmin=160
0 20 20
Az adatok táblázatán is megadható az optimális A szállítási programba be-
(vagy egy lehetséges) megoldás: került szállítási relációt be-
R1 R2 R3 kereteztük, és a szállított
30 40
F 1 4 2 70 mennyiséget fölé írtuk.
1
20 10
F2 3 2 1 30
30 20 50
Általánosan: Egy szállítási feladatban Fi jelentse a
feladóhelyeket, fi az elszállítandó áru mennyiségét, Az általános felírást a tár-
Rj a rendeltetési helyeket és rj az általuk igényelt gyalt konkrét feladatban
árumennyiséget (1 i m és 1 j n). látott módon tehetjük meg.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 113

A C mátrix elemei jelentsék az egyes relációkban az


egységnyi áru szállításának költségeit, az X mátrix
elemei pedig az egyes relációkban szállításra kerül
árumennyiségeket. Az adataink táblázatos alakja:
R1 R2 .. .. R n
F1 c 11 c 12 .. .. c 1n f1 Létezik mátrixalgebrai meg-
F2 c 21 c 22 .. .. c 2n f 2 fogalmazás is az általános
: .. .. .. .. .. .. tárgyalásra, például az ri
: .. .. .. .. .. .. értékeket tekinthetjük egy r
Fm c m1 c m2 .. .. c mn f m vektor komponenseinek, az
r1 r2 .. .. rn fj értékeke is vektort alkot-
hatnak. Próbálja meg ily
Feltételeink: a szállítandó és az igényelt mennyisé-
módon felvenni a feladatot!
gek összege egyezzen meg:
m n
fi rj
i 1 j 1

és a cél az összköltség minimuma.


A matematikai modell:
xi j 0 (1 i m és 1 j n)
n
x ij fi (1 i m) A matematikai modell alap-
j 1 ján optimalizálást végezhe-
m tünk szimplex módszerrel,
x ij r j (1 j n)
i 1 illetve a gyakorlatban el -
m n forduló nagyobb terjedelm
z= c ij x ij min . feladatoknál számítógép-
i 1 j 1
pel.
A szállítási feladat modelljéhez hasonló, de esetleg
egészen más területr l származó disztribúciós prob-
lémánál célként maximum is lehetséges, amint azt a
A disztribúció elosztást,
következ pénzügyi, ún. allokációs feladatban lát-
szétosztást jelent. A szállí-
hatjuk.
tási feladatban a lehetsé-
Példa: 10 millió forintot elhelyezünk 3 alapba, le-
ges szállítási viszonylatok
gyenek ezek a következ k: 5 milliót részvénybe, 3
között osztjuk el (optimáli-
milliót államkötvénybe, 2 milliót lekötött betétbe fek-
san) a szállításra kerül
tetünk. Négy társaságnál fektetjük be a t két, azaz
mennyiségeket. Elosztani,
portfoliót hozunk létre. Az egyes társaságoknál 4, 3,
114 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

2 és 1 millió forintot helyezünk el. A társaságok szétosztani sok minden


adott id szakra az alapok szerinti bontásban meg- mást is lehet.
adták a százalékos hozamokat a következ táblázat
szerint:
A B C D
I 19 17 20 16 5
II 9,4 9,8 8,9 9,2 3
III 7,8 8 7,2 6,6 2
4 3 2 1
(Az A, B, C, D a társaságokat, az I, II, III az alapokat
jelentse.)
Hogyan, milyen bontásban helyezzük el a pénzün-
ket, ha a maximális hozam elérése a célunk?
Megoldás: Az xi j változó jelentse az egyes alapok- A matematikai modellalkotás
ba valamelyik társaságnál elhelyezett t két. Felírha- általános algoritmusát alkal-
tó a matematikai modell triviális feltétele: mazzuk (emlékszünk!):
xi j 0, ahol 1 i 3 és 1 j 4. döntési változók felvétele,
A feltételi relációkat a „peremértékek” határozzák feltételek,
meg: célfüggvény.
x11+x12+x13+x14=5
x21+x22+x23+x24=3
x31+x32+x33+x34=2
x11+x21+x31=4
x12+x22+x32=3
x13+x23+x33=2
x14+x24+x34=1
A célunk a hozam maximalizálása: A modell megoldása kézi
z=0,19x11+0,17x12+0,2x13+0,16x14+0,094x21+ eszközökkel hosszadal-
+0,098x22+0,089x23+0,092x24+0,078x31+ mas, a gépi megoldás a
megfelel szoftver haszná-
+0,08x32+0,072x33+0,066x34 max
latával az adatok bevitele
A szállítási-elosztási feladatok matematikai modellje
után gyorsan eredményt
felírásánál speciális el írásokat is figyelembe tu-
szolgáltat.
dunk venni, például olyanokat, hogy valamelyik költ-
ségmátrix elemre korlátozást, vagy tiltást kívánunk
alkalmazni, illetve más feltételek is adhatók.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 115

7.2. A disztribúciós módszer

A disztribúciós módszer lényege: felveszünk egy


lehetséges induló programot és azt javítjuk az opti- A szállítási feladatban sze-
mumig. repl szállítási relációk op-
A módszert egy, a kézi megoldásban már közepes timális szétosztását (diszt-
nagyságúnak számító feladat megoldásával mutat- ribúcióját) megoldhatjuk
juk be. A következ táblázatban Fi a feladóhelyeket, úgy is, hogy nem szüksé-
Rj a célállomásokat jelentse. A táblázat belsejének ges az általában nagy ter-
cij eleme az i-edik feladóhelyr l a j-edik célállomásra jedelm és eléggé speciá-
történ szállításnál a szállított mennyiség egy egy- lis szimplex táblázatokkal
ségére es költséget jelenti, az utolsó sorban, illetve számolni.
oszlopban a szállítandó és az igényelt mennyiségek
találhatók:
R1 R 2 R 3 R 4 R 5
F1 6 2 8 7 5 40
F2 4 3 7 5 9 70
F3 2 1 3 6 4 60
F4 5 6 4 8 3 30
30 60 50 40 20
A feladatot zártnak nevezzük, ha a szállítandó és az
igényelt mennyiségek összege megegyezik, ahogy
ebben az esetben is.

7.2.1. Az induló program felírása


A szállítási összköltség szempontjából a cij költség-
Az induló program felírása-
elemek egymáshoz viszonyított nagysága a dönt ,
kor célszer arra törekedni,
így, ha egy sorban, vagy oszlopban minden költ-
hogy a költségmátrix lehet
ségelemet ugyanannyival változtatunk meg, akkor
legkisebb elemeire a lehet
ez a program szerkezetét nem változtatja meg, csu-
legnagyobb szállításra kerü-
pán arányosan változik az összköltség. A minél jobb
l mennyiséget programoz-
induló program felvételéhez célszer a költségmát-
zuk. Ekkor ugyanis viszony-
rixot úgy átalakítani, hogy minden sorban és minden
lag keveset kell javítanunk
oszlopban legyen legalább egy 0.
az optimum eléréséhez.
116 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

7.2.2. A költségmátrix redukálása


Oszloponként, illetve soronként a költségmátrix ele-
meib l kivonjuk az adott oszlop, illetve sor legna-
gyobb elemét.
Oszlop korrekció: Mindegyik oszlopból levon-
6 2 8 7 5 4 1 5 2 2 tunk rendre 2 1 3 5 3
4 3 7 5 9 2 2 4 0 6 egységet.
C= C’=
2 1 3 6 4 0 0 0 1 1
5 6 4 8 3 3 5 1 3 0
Az oszlopkorrekció a költségekben összesen
K’=2 30+1 60+3 50+5 40+3 20=530 költségcsökke-
nést jelent.
A sorkorrekciót a C’ mátrixon hajtjuk végre. Csupán
A költségmátrix korrigálá-
az els sorból kell 1-et levonnunk és így már min-
sakor az oszlop-sor sor-
den sorban és oszlopban lesz 0 költségelem. A re-
rend helyett a sor-oszlop
dukált költségmátrix:
sorrend szerinti korrigálás
3 0 4 1 1
is lehetséges. A két eset-
2 2 4 0 6
C”= ben általában nem ugyan-
0 0 0 1 1
azt a korrigált táblát kapjuk,
3 5 1 3 0
aminek a végeredményre
A sorkorrekció hatása a költségre újabb 1 40 érték nincs hatása.
csökkentést jelent, így a költségkorrekció összesen:
K”=570.

7.2.3. Az induló program felírása


Az induló program felírásakor a minimális költség- Célszer a nullákat, még-
elemekre a lehetséges maximális mennyiséget pedig azokat a nullákat
programozzuk. kiválasztani el ször, ame-
Elnevezés: a költségmátrixnak azt az elemét, lyek sorában és oszlopá-
amelyre szállítandó mennyiséget programoztunk, ban nincs több nulla, majd
kötött elemnek nevezzük. Szabad elem: amelyre folytatjuk a programozást
nem programoztunk. mindaddig, amíg az összes
Az induló program felírásakor, a program javíthatósá- szállítási feltételnek eleget
gának érdekében egy alapszabályt be kell tartani: a nem tettünk.
kötött elemek számát a kritikus szám határozza meg.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 117

Elnevezés :a kritikus számot megkapjuk, ha az ösz- Megjegyzés: a szállítási


szes állomás számából kivonunk egyet. feladat matematikai mo-
A fenti példánkban négy feladóhely és öt célállomás delljében a feltételrendszer
van, tehát a kritikus szám: mátrixának rangja a kritikus
Kr=4+5–1=8. szám.
Az induló program felírásakor szigorúan be kell tar-
tani azt, hogy a programban a kötött elemek száma
egyezzen meg a kritikus számmal, ez esetünkben 8.
Példánkban az induló program:
40 Célszer a programozást a
3 0 4 1 1 40
30 40 4. sor 5. elemével, vagy a
2 2 4 0 6 70 2. sor 4. elemével kezdeni,
30 20 10
0 0 0 1 1 60 ezek voltak a redukált költ-
10 20
3 5 1 3 0 30 ségmátrixban azok az ele-
30 60 50 40 20 mek, amelyek sorában és
oszlopában nincs másik
Ennek a programnak a költsége (költségelem szo-
nulla. Ezekre a kötött ele-
rozva a szállított mennyiséggel): 4 10+1 10=130. Így
mekre a lehetséges legna-
elmondhatjuk, hogy a szállítás összköltsége a redu-
gyobb szállítandó mennyi-
kálási korrekció figyelembe vételével ennél a prog-
séget programoztuk. Foly-
ramnál: 570+130=700.
tatásként el bb a nulla
Felvehetjük a lehetséges relációkban a szállításra
költségelemekre igyekez-
kerül mennyiségeket bemutató X mátrixot:
tünk programozni. A kötött
0 40 0 0 0
elemek száma 8, a kritikus
0 0 30 40 0
X= számmal megegyezik.
30 20 10 0 0
0 0 10 0 20
A kapott programunkat megvizsgáljuk abból a szem-
pontból, hogy javítható-e, azaz az összköltség egy
megvalósítható programnál lehet-e kisebb.
7.2.4. A program javítása, körmódszer, potenciá-
lok
Az induló program javítására csak akkor lehet szük-
ség, ha kötött helyen van nullától különböz szám A „normál” lineáris progra-
is, hiszen ha csupa nullára programozva sikerült az mozási feladatoknál is ha-
118 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

induló programot felírni, akkor ennél kisebb költség sonlóan járunk el: els ként
program nyilván nem létezhet. egy lehetséges programot
állítunk el , majd ezt javít-
7.2.4.1. A körmódszer juk.
Lényege: megvizsgáljuk, hogy áttolhatunk-e bizo-
nyos szállítandó mennyiséget magas költség kötött A disztribúciós módszernél
helyr l alacsonyabb költség szabad helyre. mind az induló program
A vizsgálat módja: a szabad helyeket egyenként el állítása, mind a javítás
megpróbáljuk bevonni a programba egy ún. kör eltér a korábban alkalma-
(vagy más néven: hurok) képzésével. zott módszerekt l.
Kör: minden szabad helyhez egyértelm en tartozik
egy kör (haladási irány az illet szabad helyb l kiin-
dulva és oda visszatérve). A kör képzésekor fordulni
csak a kötött elemeken (csúcspontokon) lehet.
Például a költségmátrix els sorának els eleméhez
tartozó kör.
40
3 0
30 20
0 0
Megvizsgáljuk: ha a kör mentén egy egységnyi szál-
lítandó mennyiséget mozgatunk, akkor az javít-e a
programon. A programunknak ez a része ekkor így
alakul:
39
31 0
29 21
0 0
A költségváltozást 11-gyel jelölve:
Ez azt jelenti, hogy a költség
11=1 3+0 39+0 21+0 29=3.
nagyobb lett, tehát a c11 elem
A ij értéke egyszer en megállapítható: az egység- bevonásával nem javul a
nyi mennyiség áttolásának hatása a kör mentén úgy program. Akkor lenne javu-
is számolható, hogy a kör csúcspontjait váltakozó lás, ha egyenként megvizs-
el jelekkel véve összeadjuk a csúcspontok költség- gálva a szabad elemek köre-
értékeit. A szabad hely el jele mindig pozitív. it, valamelyiken a ij értéke
Például a esetén: 3–0+0–0=3. negatív lenne.
11
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 119

A program javításához tehát az összes szabad elem


körén meg kell vizsgálni a ij értékeit, ahol ez nega-
tív, azon a körön áttolásokkal javítható a program.
Például a c22 köre:
30
2 4
A kör képzésekor a hala-
20 10
0 0 dási irány (ami csak víz-
szintes vagy függ leges
A 22 számítása: 22 =2–4+0–0=–2, a 22 < 0, így
lehet) nem lényeges. A
ezen a körön a program javítható.
fontos az, hogy kötött ele-
A javítás módja: a körön maximum annyi egység
men fordulva visszatérjünk
mozgatható, hogy a szabad elem kötötté válásával
a szabad elemhez.
legalább egy kötött elem szabaddá váljon. Ez akkor
valósul meg, ha a negatív csúcson lév legkisebb
értéket programozzuk a szabad elemre. Ilyenkor a
pozitív csúcsokon ennyivel n , a negatívokon ennyi-
vel csökken az oda programozott érték. A c22 körén
a javított programrészlet:
A költség csökkent: a kö-
20 10
2 4 rön: eredetileg volt
30 4 30=120 a költség, a mó-
0 0 dosítás után pedig:
A módosítás után kapott táblázatot ismét megvizs- 4 10+2 20=80.
gáljuk a ij értékekre, ahol javítani lehet, azt meg-
tesszük, majd újabb vizsgálat következhet mindad-
Az eljárás általában megle-
dig, amíg a ij értékekre találunk negatív értéket. Ha het sen hosszadalmas, he-
már nem lesz ilyen, akkor a programunk optimális. lyette egyszer bbet, gyor-
sabbat alkalmazhatunk.
7.2.4.2. A potenciálok módszere
A szállítási feladat matematikai modelljének duál
alakjából következik az eljárás, amelynek lényege: a
költségmátrix soraihoz is és oszlopaihoz is egy-egy
számot rendelünk (ezek a potenciálok) úgy, hogy a
két potenciál összege minden esetben egyenl le-
gyen az illet sorban és oszlopban lév kötött
elemmel.
120 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Például az induló táblánk esetében:


0 0 0 4A szabad elemeket a po-
1
0 . 0 . . . tenciálok hozzárendelése-
4 . . 4 0 . kor nem írtuk ki. Az egyik
potenciál mindig szabadon
0 0 0 0 . .
megválasztható, így a hoz-
1 . . 1 . 0
zárendelésre elvileg végte-
A sorokhoz rendelt potenciálokat ui-vel, az oszlo- len sok lehet ség van.
pokhoz rendelteket vj-vel jelölhetjük.
A potenciálok segítségével a i j értékek egyszer en
számolhatók: minden költségelemb l le kell vonni a
neki megfelel két potenciál összegét, ezzel meg-
kapjuk a ij értékeket. Az induló táblánk esetén:
3 0 4 5 2
2 2 0 0 3
i j=
0 0 0 5 2
2 4 0 6 0

Amelyik költségelemnél a i j negatív, annak a körén


a program javítható. Ha a c22 körén javítunk, a prog-
ram a következ lesz: A javítás az illet költség-
40 elem körén körmódszerrel
3 0 4 1 1
20 10 40
történik.
2 2 4 0 6
30 30
0 0 0 1 1
10 20
3 5 1 3 0
A táblázatunkat megvizsgáljuk a potenciálok mód-
szerével:
A potenciálok:
2 0 2 2 1 Említettük, hogy a potenci-
0 . 0 . . . álokat elvileg végtelenféle-
2 . . 2 4 0 . képpen vehetjük fel. A fon-
2 0 . 0 . . tos az, hogy a sorokban,
1 . . 1 . 0 illetve oszlopokban lév
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 121

0 0 potenciálok összege min-


den esetben megegyezzen
2 0 0 0
i j= az adott sor és oszlop met-
0 0
szetében lév kötött elem
0 0 értékével.
(A ij táblázatban a pozitív számértékeket nem kell
kiírni, elég a „+” jel.) Az áttolás körmódszerrel
A javított táblázatunk sem optimális, a második sor történik.
els elemének körén javítani lehet. A c21 köre:
10 10
2 4 2 4
30 30 Az áttolás után: 20 40
0 0 0 0
Az új táblázatunkba beillesztjük a megváltoztatott
részt és elvégezzük a potenciálokkal a vizsgálatot: Kis gyakorlás után a ij táb-
2 0 2 2 1 lázat elkészítése egészen
0 . 0 . . . rutinszer vé válhat. Ha
A potenciálok: 2 . . 2 4 0 . , ebben több helyen is van
2 0 . 0 . . negatív érték, akkor cél-
szer annak a költség-
1 . . 1 . 0
elemnek a körén elkezdeni
0 0 a javítást, amelyik „negatí-
0 0 0 vabb”, azaz abszolút érté-
és így a i j= . ke nagyobb. Ekkor ugyanis
0 0 0
általában gyorsabban ju-
0 0
tunk el az optimális megol-
A i j táblázatban nincs negatív érték, így ez utóbbi dásig.
szállítási programunk már optimális.

7.2.5. Alternatív optimum, degeneráció


A mintapéldánkban utoljára kapott programunk op-
timális, a megoldás a szállítandó mennyiségekre az
egyes relációkban táblázatba foglalható:
122 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

0 40 0 0 0
10 20 0 40 0
X01=
20 0 40 0 0
0 0 10 0 20 A teljes megoldáshoz meg
kell adni az optimális meg-
Ennek a szállítási programnak a költsége:
oldásban a célfüggvény
Kred=2 10+2 20+1 10=70, tehát az oszlop és sor re-
értékét is.
dukciós költséggel együtt az összköltség:
K=570+70=640.
A legutolsó ij táblázatunkban 0 is szerepel szabad
elemnél. Ennek jelentése: az illet szabad elem kö-
rén mozgatva a lehetséges mennyiséget, szintén
optimumot kapunk. A költséget ez nem befolyásolja,
a kapott új optimum alternatív optimum. A c32 köre:
10 20 30
0 2 2 2
20 . Az áttolás után: 20
0 0 0 0
A két negatív csúcson egyaránt 20 volt, tehát az
áttolással mindkét elem szabaddá vált. Ilyenkor, ha
El fordul, hogy már az in-
a tábla még nem optimális, valamelyik elemre 0 ér-
duló táblában szükséges
téket programozunk. Ez a degeneráció esete. a nul-
nullát programozni a kriti-
lával való programozás azért szükséges, hogy a
kus szám miatt, azaz már
kritikus számnak megfelel számú kötött elem le-
az induló tábla lehet dege-
gyen, ez feltétele annak, hogy javítani tudjuk a táb-
nerált. A megoldást a tábla
lázatot.
degenerált volta általában
A feladatunkban a másik alternatív alapmegoldás
nem zavarja.
tehát:
0 40 0 0 0
30 0 0 40 0
X02=
0 20 40 0 0
0 0 10 0 20
Az általános megoldást a két alapmegoldás konvex Ugyanúgy, ahogy az álta-
lineáris kombinációja adja: lános megoldást felírtuk a
X0= X01+(1– ) X02, ahol 0 1. lineáris programozási fel-
adatokban.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 123

7.2.6. Névleges állomások beiktatása


Ha a feladóhelyekr l elszállítandó és a célállomások
által igényelt mennyiségek nem egyenl k, akkor a
disztribúciós módszer alkalmazhatóságához névle- Ez az eset a gyakorlatban
ges állomást (új sort, vagy új oszlopot) kell beiktatni, el forduló szállítási prob-
amelyre 0 költséggel programozzuk a felesleget, lémáknál általában lehet-
vagy a hiányt. séges.
Példa: Tekintsük a következ feladatot:
4 5 3 2 60 A sorkezd helyen lév
2 4 6 5 40 feladóhelyeket és az osz-
10 20 20 30 lopf kön a célállomásokat
A feladóhelyeken összesen 100 egység vár elszállí- nem írtuk ki.
tásra, a célállomások összesen 80-at igényeltek. Így
beiktatunk egy névleges célállomást, amely 0 költ-
séggel „igényli” a hiányzó 20 egységet:
4 5 3 2 0 60
2 4 6 5 0 40
10 20 20 30 20
Ez a feladat már „normál” szállítási feladat, a tár-
gyalt módszerrel megoldva kapjuk az optimális
Megoldásunk értelmezése:
megoldást:
az els és a második fel-
0 0 20 30 10
Xo= adó is a névleges állomás-
10 20 0 0 10 ra „szállít” 10-10 egységet,
Példa: Adjuk meg disztribúciós módszerrel az aláb- azaz akkor optimális a
bi táblázattal adott szállítási feladat valamennyi op- program, ha mindkét fel-
timális megoldását: adóhelyen ott marad 10-10
4 1 2 20 egységnyi áru.
4 2 4 12
1 3 3 14
1 2 2 10
11 18 16
Lehet-e az optimális megoldásban x22=3? Ha igen, A példa megoldását mintá-
akkor mennyi a többi változó értéke? nak szánjuk az ilyen típusú
Megoldás: A döntési változó xij, amely az i-edik fel- feladatok esetére.
124 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

adóhelyr l a j-edik célállomásra szállítandó mennyi-


séget jelöli. Névleges célállomást kell beiktatni. A
kritikus szám: 7.
Induló program: (például) Szó volt róla, hogy az indu-
4 1
17
2
3
0 20 ló programot is sokféle-
1 11 képpen fel lehet venni. A
4 2 4 0 12
1 13
költségmátrix redukálása
1 3 3 0 14 nem kötelez , de ha elvé-
10
1 2 2 0 10 gezzük ezt az egyszer
11 18 16 11 feladatot, akkor általában
A program javítása, els optimum: gyorsabban kapunk meg-
oldást.
0 17 3 0
0 1 0 11
X01= Összköltség: K=65.
11 0 3 0
0 0 10 0
Alternatív optimuma van a feladatnak:
0 14 6 0
0 4 0 8
X02=
11 0 3 0
0 0 10 0
Az általános megoldás: X0= X01+(1– )X02 (0 1). Ilyen esetben konkrét
1 értékét az általános meg-
Ha x22=3, akkor = .
3 oldásba helyettesítve kap-
0 15 5 0 juk meg. Ezzel az értékkel
0 3 0 9 a feladat egy partikuláris
Ekkor: X0p= optimális megoldásához
11 0 1 2
0 0 10 0 jutunk.

7.2.7. Tiltótarifák
A szállításoknál gyakran el fordul, hogy két állomás
között nincs, vagy megsz nik a szállítási lehet ség, A feladat szimplex mód-
illetve az adott útvonalon valamilyen korlátot kell szerrel történ megoldásá-
érvényesíteni, például súlykorlátozás van egy hídon. nál ezek az esetek a szállí-
A disztribúciós megoldásnál csak azt az esetet tár- tandó mennyiségekre adott
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 125

gyaljuk, amikor egy szállítási viszonylatban „tiltótari- korlátokkal egyszer en ke-


fa” van érvényben, azaz nem lehet azon az útvona- zelhet k.
lon szállítani.
A tiltótarifa esetén a módszer: ha valamely reláció- Ha a szállítási feladat költ-
ban nem lehet szállítani, akkor a megfelel költség- ségmátrixában igen nagy
elem értéke egy M szám lesz, amely olyan nagy, költsége van egy elemnek,
hogy a költségmátrix redukálásakor az értéke lé- akkor a disztribúciós meg-
nyegében nem változik meg. Ezután a szokásos oldás ezt a relációt auto-
módon megoldjuk a feladatot, az adott költségelem matikusan kikerüli: a ij
biztosan nem lesz kötött hely. táblázatban az illet helyen
Példa: Az alábbi szállítási feladatban az 1. és a 2. biztosan mindig pozitív ér-
feladótól a teljes készletet el kell szállítani. Az 1. ték szerepel.
feladó az 1. megrendel nek nem szállíthat. Cél a
költség minimum.
R1 R2 R3 R4
F1 4 3 5 6 40
F2 3 5 4 7 80
F3 2 3 5 4 90
70 70 40 20

Megoldás: A döntési változó xij, amely az i-edik fel-


adóhelyr l a j-edik célállomásra szállítandó mennyi-
séget jelöli. Névleges rendeltetési helyet kell beiktatni. Ha az 1. és 2. feladónál
A kritikus szám: 7. Az induló program: (például): nem maradhat áru, ez azt
M 3
40
5 6 M 40 jelent, hogy ez a két állo-
20 40 20 más a névleges állomás-
3 5 4 7 M 80
70 10 10
nak nem szállíthat, ezért
2 3 5 4 0 90 van az els két sor végén a
70 70 40 20 10 tiltótarifát jelz M érték.
A program javítása az optimumig, az optimum:
0 40 0 0 0 A 3. feladónál 10 egység
X0= 40 0 40 0 0 marad. Látható, hogy a
30 30 0 20 10 program kikerülte a „tiltott”
helyeket.
Az összköltség minimuma: K=630.
126 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

8. Matematikai modellezés

Az emberi tevékenységben meghatározó szerepe


van a döntéshozatalnak: a mindennapi életben na- A jelent sebb döntések
ponta számos, gyakran rutinszer döntést kell hoz- meghozatala komoly fele-
nunk. A döntések között fontosságuk tekintetében l sséggel jár, a döntésho-
igen nagy különbségek vannak, hiszen például az is zási folyamat elemzéseket,
döntést igényel, hogy sétálás közben egy pocsolyát mérlegelést igényel. A dön-
jobbról, vagy balról kerüljünk ki, de az is döntés kér- tések el készítése gyakran
dése, hogy egy országok közötti konfliktusban be- használnak különféle mo-
vessék-e fegyveres er ket, vagy sem. delleket.
A modell a vizsgált objektumot, folyamatot repre-
zentálja, általában jelent s egyszer sítésekkel, az Az élet különböz területein
adott szempont szerinti lényegre koncentrálva. a modellek más-más for-
mákban és különböz id k-
t l kezdve jelentek meg,
8.1. A modellek típusai
mert például a gyermekne-
velésben évezredek óta
Többféle szempont szerint kategorizálhatók a model-
használt egyes játékok is
lek. Vázolunk egyfajta osztályozást, amely szerint
modellek és a jelenkorunk-
alapvet en két nagy csoportja van a modelleknek:
ra fontos hatással bíró
atommag modellek is a
1. Anyagi modellek
lényeget megragadó egy-
Általános jellemz jük valamilyen kézzelfogható
szer sítésekkel akarják
megjelenés. A f bb kategóriák
leírni a valóságot.
a.) Geometriai modellek: ezek legtöbb esetben ma-
kettek, a valóságos tárgyak leegyszer sített, kicsi-
nyített másai.
b.) Fizikai modellek: a valósággal való fizikai hason-
lóság ad alapot a modell készítéséhez, például ami-
kor az elektronok mozgását folyadék áramlásával
próbálták modellezni.
c.) Tárgyi-matematikai modellek: általában a meny-
nyiségi viszonyok, számolási eljárások modellezé- Számos példát hozhatunk
sére szolgálnak, ide sorolható például a „golyós fel a különböz modelltípu-
számológép”. sokra. Gondoljon utána!
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 127

d.) Kibernetikai modellek: a vezetési-irányítási fo-


lyamatban használatos eszközöket szokás ide so-
rolni, ide tartozik az elektronikus számítógép is.

2. Eszmei modellek
A valóságot ez esetben gondolatilag modellezzük. Természetesen lehet az
Az eszmei modellek f bb fajtái: eszmei modelleknek is
a.) Képmás modell: a létez , vagy létesítend objek- „kézzel fogható” alakja,
tum egyszer sített (vagy esetleg speciális jellem- hiszen egy írásban is meg-
z kkel kiegészített) mását jelenti. Ilyen például egy jelen eszmei modell ezzel
ház építési tervrajza. nem válik tárgyivá.
b.) Jel modell: az illet tárgyat, folyamatot jelekkel
jeleníti meg. Ide sorolhatók például a matematikai
formulák
c.) Vegyes eszmei modell: a valóság leírásához,
értelmezéséhez jeleket is, képmásokat is használ.
Egyszer példa erre a kémiában használt szerkezeti
képlet.

8.1.1. Az absztrakt jelmodellek


A közgazdaságban, a gazdasági élet egyes területein Ezek a modellek alapvet -
a nagyobb feladatokra tudományosan is megalapozott en a gazdasági döntések
modelleket a 20. századtól kezdtek alkalmazni. el készítésére szolgáltak,
A gazdasági folyamatok modellezhet ségéhez az illetve esetenként egy lezaj-
szükséges, hogy a megoldandó probléma olyan le- lott folyamat elemzése volt
gyen, hogy abban a szubjektív emberi tényez k és a cél. A modellek a fenti
a kiszámíthatatlan természeti er k szerepe csekély kategorizálás szerint leg-
legyen, vagy megfelel en szabályozni lehessen többször az eszmei jelmo-
azokat. dellek sorába tartoznak. A
Nehéz hatékonyan modellezni egy autokrata, az 20. század második felét l
egyéni érdekeit, érzelmeit mindenek felett lév nek egyre gyakoribbakká és
tartó vezet felügyelete alatt álló folyamatot. Ugyan- jelent sebbekké váltak a
csak nagy a tévedés lehet sége egy olyan területen számítógépes szimulációs
felállított modell alapján hozott döntésnél, ahol a (kibernetikai) modellek.
természeti tényez k hatása véletlenszer .
128 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

A gazdasági folyamatok modellezéséhez általában Megjegyezzük, hogy a jel-


a következ lépéseket kell tennünk: zett „problémás” esetekre
1.) Absztrakció: egyszer sítés, elvonatkoztatás a valószín ségi változókkal
konkrét problémától, a feladat lényegének megra- különböz sztochasztikus
gadása. Az absztrakció helyes végrehajtása általá- modellek vehet k fel, ezek
ban nem kis feladat, egyáltalán: a probléma model- tárgyalása túlmutat a mi
lezhet ségének megállapítása alapvet fontosság- anyagunkon.
gal bír. Különböz minták útmutatásul szolgálhatnak
ezen a téren.
2.) A matematikai megfogalmazás. A helyes mate- Gyakorlatot szerezni ezen
matikai modell felvétele a probléma megoldásának a téren általában az egy-
kulcskérdése. Ez el ismereteket kíván, a kezdetben szer feladatok kézi meg-
szinte rendszeresen el forduló kudarcok t rését, a oldásával lehet.
hibák kijavításának képességét is igényli.
3.) A modell megoldása. A gyakorlati feladatoknál a
legegyszer bb esetekt l eltekintve szinte kizárólag
számítógépes megoldásokat alkalmaznak. A megoldásból adódó primál
4.) Az elméleti eredmények elemzése. és duál optimumok, az érzé-
5.) Visszacsatolás a gyakorlati alkalmazás, az kenység vizsgálatok megál-
eredmények ismeretében. Gyakori, hogy a gyakorlat lapításainak és a további
tükrében a modellünk finomításra szorul. egyéb eredmények közgaz-
dasági értelmezéséhez szin-
8.1.2. A matematikai döntési modellek struktúrája tén nagy segítséget adnak a
. A matematikai modell korábban több konkrét fel- korábban manuálisan meg-
adat megoldásánál alkalmazott algoritmusa megha- oldott egyszer bb feladatok.
tározza a modell szerkezetét is. Így a modellben
szükséges:
1.) A döntési változók meghatározása. Egyszer bb Egyes problémáknál vi-
feladatoknál ez kézenfekv , például egy termék- szont nagy körültekintést
szerkezet optimalizálásakor legtöbbször a gyártásra igényel a feladat változói-
kerül termékek mennyisége a döntési változó. nak megadása.
2.) A feltétel rendszer felírása. A lineáris programo- A gazdasági döntések el -
zásnál csak olyan kérdésekkel tudunk foglalkozni, készítését, illetve elemzé-
ahol a feltétel relációk els fokúak. sét szolgáló modellek több-
3.) A cél megfogalmazása. A felvett célfüggvénye- sége ilyen.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 129

inkben az optimum a lehet legnagyobb, vagy legki-


sebb megoldások megtalálását jelenti. Gyakori,
hogy adott feltételrendszerhez több célfüggvény is
tartozik, illetve nemcsak els fokú függvény lehet
célfüggvény.
4.) A számolási eljárás megadása. Optimumokat A gyakorló feladatoknál
nemcsak lineáris programozási módszerekkel lehet általában a kézi szimplex
számolni, mert például egy adott térfogatú egyenes megoldást, a nagyobb ter-
henger alakú konzervdoboz optimális méreteinek jedelm feladatoknál a gépi
meghatározása legegyszer bben differenciálszámí- megoldást választjuk.
tással történhet.

8.1.3. A matematikai döntési modellek megoldása


Az eddigi tanulmányink során a lineáris programo-
zási feladatoknak a geometriai és algebrai megol- A matematikai modell felvé-
dásait tárgyaltuk. A gyakorlat feladatok megoldásá- tele általában nem egysze-
hoz számítógépek, megfelel szoftverek szüksége- r , gyakran ez a legnehe-
sek, ezeket a számítástechnikai-informatikai tár- zebb feladat, ez szokta a
gyakban általában részletesen bemutatják, illetve „sz k keresztmetszetet”
maguk a szoftverek is tartalmaznak felhasználói jelenteni a megoldásban.
útmutatást, amellyel a felvett matematikai modellb l
el tudunk jutni a megoldásig.
Példa: Van 1000 darab 7 méteres oszlopunk, ame-
lyekb l 1,5 és 2,5 méteres oszlopokat kell vágnunk.
Legalább négyszer annyi 1,5 méteres oszlopra van
szükségünk, mint 2,5 méteresre. Hogyan vágjuk fel
az 1000 darab 7 méteres oszlopot, hogy a hulladék-
képz dés minimális legyen? Írjuk fel a matematikai
modellt és adjuk meg az optimális megoldást! A hul-
ladékdarab nem lehet 1 méternél hosszabb.
Megoldás: A lehetséges darabolási esetek: A döntési változók felvéte-
I. 2 darab 2,5 méteres, 1 darab 1,5 méteres oszlop lével kell kezdenünk. Ennél
és marad 0,5 méter. a feladatnál talán ez a leg-
II. 1 darab 2,5 méteres, 3 darab 1,5 méteres oszlop nehezebb feladat. Így cél-
és marad 0 méter. szer konkrétan utána
130 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

III. 0 darab 2,5 méteres, 4 darab 1,5 méteres oszlop gondolni a az adott feltéte-
és marad 1 méter. lek megvalósítási lehet sé-
A változók kijelölése: az x1, x2, x3 jelentse azt, hogy geinek.
az I., a II., illetve a III. változatot hány egész (7 mé-
teres) oszlopnál alkalmaztuk.
Elkezdjük a modell felírását. Nyilván igaz: x1, x2, x3 0.
Az összes egész oszlopot felvágjuk: x1+x2+x3 =1000.
A 2,5 méteres oszlopokból lesz összesen 2x1+x2
darab (mert az I. és a II. vágási módnál keletkezik
ilyen oszlop). Az 1,5 méteres oszlopokból lesz ösz- A modell szokásos felépí-
szesen x1+3x2+4x3 darab. tését alkalmazzuk: triviális
Ha legalább négyszer annyi 1,5 méteres oszlopra feltétel, tevékenység felté-
van szükségünk, mint 2,5 méteresre, akkor igaz: telek, majd végül a cél-
x1+3x2+4x3 4(2x1+x2)=8x1+4x2. függvény.
Rendezve: 7x1+x2–4x3 0.
A célfüggvényt a maradékokra írjuk fel:
z=0,5x1+x3 min.
A matematikai modell tehát:
x1, x2, x3 0 Ha már megvan a model-
x1+x2+x3 =1000 lünk, akkor általában egy-
7x1+x2–4x3 0 szer a dolgunk a megol-
z=0,5x1+x3 min. dással.
A modell könnyen megoldható szimplex módszerrel:
x1 x2 x3 b x1 x2 b x1 u2 b
uˆ1 1 1 1 1000 x3 1 1 1000 x3 65 1 5 200
u2 7 1 4 0 u2
11 5 4000 x2 11 5 1 5 800 Tehát 800 darab 7 méteres
z 0,5 0 1 0 z 12 1 1000 z 17 10 1 5 200 oszlopot a II. módon, 200
zˆ 1 1 1 1000 zˆ 0 0 0 darabot a III. módon kell
Az optimális megoldás: xo=[0 800 200]* uo=0 darabolni. Keletkezik: 800
zo=200. darab 2,5 méteres,
Tekintsünk egy egyszer bb példát a modell és a 3 800=2400 és 4 200=800,
szimplex induló tábla felírására: összesen 3200 darab 1,5
Példa: Egy üzem termelési programjához a követ- méteres oszlop és össze-
kez A mátrix tartozik: sen 200 méternyi hulladék
keletkezik.
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 131

0 1 4 2
A= 3 1 0 0
1 1 1 0
Az A mátrix aij eleme azt jelenti, hogy az i-edik er for-
rásból mennyi épül be a j-edik termékbe. A kapacitás-
vektor: b = [ 300 100 150 ]*, a termékek eladási ár-
vektora, amelynek maximalizálására törekszünk:
A termelésprogramozási
p = [ 6 5 8 7 ]*.
feladatok jelentik a gyakor-
Írjuk fel az adatok alapján az LP modellt és az indu-
latban az egyik legtöbbször
ló szimplex táblát, ha:
el forduló feladattípust.
a.) az er források felhasználása a kapacitásokat
Természetesen általában
nem lépheti túl;
sokkal több feltételt kell
b.) az els és a második termékb l összesen annyit
figyelembe venni, azaz a
kell termelni, mint a negyedikb l;
technológiai mátrix a min-
c.) a második termékb l legalább 3 egységgel töb-
tapéldákban el fordulóknál
bet kell termelni, mint a negyedikb l!
jóval nagyobb lesz és gya-
Megoldás: A döntési változók a gyártandó termé-
kori az is, hogy nem egy
kek darabszámai: xi.
célfüggvény szerint kere-
A matematikai modell. x1,x2,x3,x4 0
sünk optimumot.
x2 4x3 2x4 300
3x1 x2 100
x1 x2 x3 150
x1 x2 x4 0
x2 x4 3
z=6x1+5x2+8x3+7x4 max.
A szimplex induló tábla: A nagyobb terjedelm fel-
adatok megoldására több-
x1 x2 x3 x4 v5
féle célszoftver áll rendel-
u1 0 1 4 2 0 300
kezésünkre, ezek közül az
u2 3 1 0 0 0 100
egyik legkönnyebben hoz-
u3 1 1 1 0 0 150
záférhet a gépekre általá-
û 4 1 1 0 1 0 0
ban telepített Excel egyik
û 5 0 1 0 1 1 3
részprogramja, a Solver.
z 6 5 8 7 0 0
ẑ 1 2 0 2 1 3
132 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS

Befejezésül egy pénzügyi probléma és modellje:


Példa: Négy részvény jelenlegi árfolyamai és a
t zsde 2 hónappal kés bbi árfolyamelvárásai:
jelenlegi árfo- árfolyamelvárás
lyam (Ft/db) A lineáris programozással
A 13 800 16 600 megoldható optimalizálási
B 14 600 15 500 problémák sokféle területen
C 2 800 3 100 léphetnek fel: az általunk is
D 3 800 4 200 tárgyalt termelésprogramo-
Mindegyik részvényb l legalább 500 000.-Ft érték- zási és szállítási feladatok
ben szeretnénk vásárolni és portfoliót kialakítani. mellett pénzügyi, egészség-
Összesen legfeljebb 4 millió forintot akarunk befek- ügyi, humáner forrás gaz-
tetni. Az „A” részvényb l legfeljebb 100 darabot dálkodási, speciális szerve-
vennénk. A vásárlást követ en minden részvényre zési területek mellett egésze
azonnal limitáras eladási megbízást is adunk az ár- különlegesnek látszó ese-
folyamelvárásokon. A brókeri jutalék vásárláskor tekben is megfogalmazhatók
részvényenként a vételi ár 1%-a és eladáskor az és megoldhatók hasonló
árbevétel 1%-a. optimalizálási problémák.

Ha minden eladási megbízás teljesülne, akkor mi-


lyen portfolió esetén lenne az elvárt hozam maximá-
lis? Írjuk fel a matematikai modellt!
Megoldás: a változók legyenek a részvények darab-
számai, jelöljük xi-vel (1 i 4).
A darabszámok jelenlegi, mindig kerekített értékeire
Kiadásként jelentkezik a
az alsó határok az 500000 forintos vásárlási határ-
bróker díja, ezt a részvény
ból adódnak:
árához hozzászámoljuk,
500000
Az A részvényre (x1-re): 36. tehát például a 13800 forin-
13980
tos részvényért 13980 fo-
500000
A B részvényre (x2-re): 34. rintot adunk ki.
14746
500000
A C részvényre (x3-ra): 177 .
2828
500000
A D részvényre (x4-re): 131 .
3838
A matematikai modellt elkezdjük felírni. A triviális
MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS 133

feltétel: xi 0 (1 i 4).
Az 500000 forintos vásárlási határból a változókra
alsó határok adódnak:
x1 36 x2 34 x3 177 x4 131
Megadták továbbá, hogy az A részvényb l legfel-
jebb 100 darabor veszünk, azaz:
x1 100
Az összes befektetés határának (4 millió forint) fi-
gyelembe vételéhez a részvények árához hozzá kell
számítanunk az 1%-os brókeri jutalékot, így az A feladatok szövege néha
egyes részvények nekünk rendre 13938, 14746, terjedelmes lehet, a feltéte-
lekhez szükséges adatok
2828 és 3838 forintba kerülnek. Az ebb l adódó
összegy jtése és a modell-
feltétel:
ben történ felhasználásra
13938x1+14746x2+2828x3+3838x4 4 000 000
el készítése néha komoly
A cél a hozam maximalizálása. A hozamot az árfo- munkát, sok id t igényel.
lyam elvárás és a jelenlegi árfolyam különbsége adja, Gyakran el fordul az is,
a brókeri jutalék figyelembe vételével. Ha az A rész- hogy a modellünk gépi
vénynél az elvárás 16600 forint, akkor ebb l lejön a megoldásakor a számító-
bróker részére 1%, tehát megkapunk 16434 forintot. gépt l hibajelzést kapunk.
Így ebben az esetben a hozam: 16434–13938=2496. Ennek elhárításához segít-
A hozam nagysága hasonló számítással a többi rész- séget adnak azok az isme-
vény esetén rendre: 599, 241, 320. A célfüggvény: retek, speciális esetek,
amelyeket a tananyagunk-
z=2496x1+599x2+241x3+320x4 max.
ban jeleztünk. Els sorban
A matematikai modellb l szimplex módszerrel is
az ellentmondó feltételeket
nem túl nagy fáradtsággal kiszámolható az optimális kell elkerülni, valamint a
megoldás. Írjuk fel „egyben” a matematikai modellt: célfüggvény és a lehetsé-
xi 0 (1 i 4). ges megoldáshalmaz kap-
x1 36 csolata jelenthet probléma-
x1 100 forrást.
x2 34
x3 177
A feladat géppel történ
x4 131
megoldása a számítógépt l
13938x1+14746x2+2828x3+3838x4 4 000 000
csupán néhány másodper-
z=2496x1+599x2+241x3+320x4 max.
cet igényel.
!"#$%&#'()ABCDEF
!
"#!$%&'()ABCDEFE(0!1#!23&'C&03E&EE&4!5'#!6BE7!1'89!
! :&;3&EA!6F9C<9=>CAF?B@!AD?F%&0E@!"BBC#!"BC!DE?FE!!
F#!GD)0A0!H8E&'4!$%EA;FEA3(EB!?<9E80&C!EA9&('A0!%'DI'F;D3(00FE!
! AJK!H23KG@!AD?F%&0E@!FLLL#!!"LM!DE?FE!
N#!J(0%('O6&;&0A4!PFE&;FEACFA!%'DI'F;D3(0A!I=FCD'EFEDC!
! :&;3&EA!6F9C<9=>CAF?B@!AD?F%&0E@!"BQB#!RFL!DE?FE!
R#!5'#!S0&'9=(C!T(03EB!U!5'#!V(9D0F!W9?'(04!W!IF3?F0(IA!D%EA;FEA3(E(0!;B?03&'&A!114!
! :&;3&EA!6F9C<9=>CAF?B@!AD?F%&0E@!FLLR#!FFQ!DE?FE!
M#!XF=9&UXA90ED94!$%&'()ABCDEFE(0#!WDEF!CAF?B!AD?F%&0E@!FLLN#!

You might also like