Professional Documents
Culture Documents
Ábrahám István
Mátrixalgebra
Optimumszámítás
2010….
2 MÁTRIXALGEBRA. OPTIMUMSZÁMÍTÁS
Bevezeté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
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
b1
b2
n
a* b=[ a1 a2 … an ] . =a1b1+a2b2+…+anbn= a ib i .
. i 1
* * * *
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
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
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.
2. A lineáris tér
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.
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
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.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ó.
3. Bázistranszformáció
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
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
xr
d=[Er D] =Erxr+D xs=xr+D xs. Mátrix szorzás történt.
xs
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
4. Operációkutatás
4.1. A lineáris programozás fogalma
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
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
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
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
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.
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
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
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!
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.
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!
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.
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.
6.2. Variánsszámítás
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
6.3. Érzékenységvizsgálat
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
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
7. Szállítási feladat
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
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
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.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
8. Matematikai modellezés
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.
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
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#!