Upload
katalin
View
235
Download
0
Embed Size (px)
Citation preview
7/26/2019 Imreh Balazs Operaciokutatas
1/177
Eloszo
Jelen jegyzet a Jozsef Attila Tudomanyegyetem programozo matematikus eskozgazdasagi programozo hallgatoi szamara keszult, akik masodik felevtol hallgatnakoperaciokutatast.
A feldolgozott anyag bevezeto jellegu. Nehany karakterisztikus, ma marklasszikusnak szamto reszteruletet olel fel, erintve ezek alapkerdeseit es nehany is-mertebb, egyszerubb megoldasi technikat. Nem erinti a jegyzet az utobbi idoben igeneloterbe kerult kombinatorikus optimalizalas temakoret, amely kulon tantargykent sze-repel az oktatasban. A targyalas soran mind linearis algebrabol, mind analzisbol csaka legszuksegesebb fogalmak, alaposzefuggesek ismeretet tetelezzuk fel. A feleptetteljarasok rendre egyszeru numerikus peldakon keresztul kerulnek bemutatasra. Azegyes fejezeteket feladatok kovetik, amelyek reszben az algoritmusoknak a hallgatokaltal torteno onallo vegrehajtasat szolgaljak, reszben egyszeru bizonytasok kituzesevela fogalmak maradandobb megismereset celozzak.
A jegyzet megrasa soran nagy segtseget jelentett Csirik Janos, Groger HansDietmar es Mate Eors munkatarsaim szamos hasznos tanacsa, konstruktv eszreve-teleik. Vegul itt szeretnek koszonetet mondani lektoraimnak, Megyesi Laszlonak, aJATE docensenek, es Szantai Tamasnak, az ELTE docensenek a kezirat igen alaposes gondos lektoralasaert.
Szeged, 1993. februar 2.
Imreh Balazs
1
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
2/177
2
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
3/177
1. BEVEZETES
1.1 Az optimumszamtasi modellek
Az operaciokutatas viszonylag uj tudomanyag, amelynek fejlodese es szeles-koru alkalmazasa szorosan osszefugg a szamtogepek kialakulasaval, fejlodesevel.Maga az operaciokutatas kategoria a masodik vilaghaboru idejen alakult ki. Aszovetseges hadseregek vezerkarai mellett letrehoztak olyan kulonbozo szakmajutudosokbol allo kutatocsoportokat, amelyeknek az volt a fo feladata, hogy tudomanyoseszkozok segtsegevel javaslatokat dolgozzanak ki a hadmuveletek legeredmenyesebbiranytasahoz. Innen ered az elnevezes, amelyben az operacio szo katonai muveletre,hadmuveletre utalt. A vilaghaboru utan, a szamtogepek fejlodesevel parhuzamosan az
operaciokutatas mind tartalmaban, mind alkalmazasi koret illetoen gyorsan fejlodott,es napjainkban a tarsadalmi-gazdasagi elet majd minden teruleten alkalmazast nyer.
Az operaciokutatas feladatanak szemleltetesehez tekintsuk a kovetkezo gyakorlatiproblemat. Adott egy muhely, amely asztalokat, szekeket es szekrenyeket gyart. Agyartas soran ketfele anyagot hasznalnak fel, egyfajta lemezt es egyfajta deszkat. Ezekegymassal nem helyettesthetok es korlatozott mennyisegben allnak rendelkezesre. Afeladat: olyan termekosszetetel meghatarozasa, amely mellett a muhely nyeresegemaximalis. A fenti problemahoz egy matematikai modellt konstrualhatunk. E celboljelolje rendre
x1, x2, x3 a gyartasra kerulo asztalok, szekek, szekrenyek szamat,
l1, l2, l3egy asztal, egy szek, egy szekreny kesztesehez szukseges lemezek szamat,d1, d2, d3 egy asztal, egy szek, egy szekreny kesztesehez szukseges deszkak
szamat,c1, c2, c3 egy asztal, egy szek, egy szekreny gyartasabol szarmazo nyereseget,l, d a rendelkezesre allo lemezek es deszkak szamat.
A bevezetett jelolesekkel a tekintett problema az alabbi, ugynevezett optimumszamta-si modellel rhato le, amely matematikai szempontbol egy felteteles szelsoertek feladat.
l1x1+l2x2+l3x3 ld1x1+d2x2+d3x3 d
xi egesz & xi 0 (i= 1, 2, 3)c1x1+c2x2+c3x3 =z max
A fentiekkel kapcsolatban vegyuk eszre, hogy a kapott modell lerhatna masolyan muhelyek problemajat is, amelyek haromfele termeket gyartanak ketfeleanyag felhasznalasaval. Igy lenyegeben a modellhez egy problemacsoport rendel-heto. A problemat, problemacsoportot lero modell ismerete onmagaban perszemeg nem jelenti a problema megoldasat. Ehhez szukseges lenne olyan eljarasismerete, amely a modell altal meghatarozott matematikai feladat megoldasara
3
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
4/177
szolgal. Kovetkezeskeppen az alabbi harom, egymassal szorosan osszefuggo fogalmatkulonboztethetjuk meg:
(1) gyakorlati problemak, tevekenysegek formalizalhatosag szempontjabol kozostulajdonsagu csoportja,
(2) a fenti problemacsoportot lero optimumszamtasi modell,
(3) a szoban forgo optimumszamtasi modell altal meghatarozott matematikaifeladat megoldasara szolgalo eljaras.
A gyakorlati problemak csoportosthatosagat, az ezzel kapcsolatos meggon-dolasokat fokeppen a rendszerszervezesnek es a konkret alkalmazasi terulet, teruletekszakembereinek kell vizsgalniuk. Mi elsosorban a (2) es (3) pontokhoz tartozoproblemakkal fogunk foglalkozni.
Kezenfekvo az a kerdes, hogy adott problemacsoporthoz hogyan hatarozhato megaz illeto problemacsoportot lero optimumszamtasi modell. A modellalkotas altalabanigen bonyolult tevekenyseg, amely soran a jelensegek tomegebol ki kell emelni alenyeges, meghatarozo es tartos jegyeket, osszefuggeseket es a tobbi osszefuggestol,
ismervtol el kell tekinteni a modell kezelhetosegenek erdekeben. A modellekkel szem-ben ketiranyu kovetelmennyel lepunk fel:
tukrozzek minel huebben a valosagot,legyenek matematikailag, szamtastechnikailag kezelhetok.
Sok esetben ez ket ellentetes szempont utkozteteset jelenti, es a modell kialaktasanalolyan kompromisszumra kell torekedni, amelynel az matematikailag, szamtastechni-kailag meg kezelheto es emellett a vizsgalat szempontjabol huen tukrozi a valosagotis. Tekintettel a modellalkotas bonyolultsagara, nem adhato meg olyan eljaras,amely alapjan barmely problemacsoporthoz a megfelelo modell elkesztheto lenne.Megadhatok viszont olyan altalanos elvek, amelyek segtseget nyujthatnak a modell-
alkotasban. A tovabbiakban attekintjuk ezeket az elveket, mikozben vegrehajtasukataz elozoek soran megadott probleman szemleltetjuk.
1.2 A modellalkotas elemei
1. A vizsgalat targyat kepezo tevekenyseget bontsuk fel veges sok, ugynevezettelemi tevekenysegre. Elemi tevekenysegen a teljes tevekenyseg azt a pontosan
korulhatarolt reszet ertjuk, amelyet tovabb bontani mar nem szandekozunk. Jelolje afelbontas soran eloallo elemi tevekenysegeket E1, . . . , E n.
A szemleltetesul valasztott problemana l a m uhely termeleset harom elemitevekenysegre bontottuk fel: asztalgyartasra, szekgyartasra es szekrenygyartasra.Nyilvanvalo, hogy valaszthatnank finomabb felbontast is, de a problema megfogal-mazasa nem teszi ezt szuksegesse. Ilyen finomabb felbontas lehetne peldaul az, amikora harom termekfajta gyartasahoz szukseges reszeket (fedolap, labak, stb.) kulon-kulon is figyelembe vennenk, es ennek megfeleloen az anyagok kivalasztasat is tovabbbontanank. Lathatjuk, hogy a teljes tevekenyseg felbontasa elemi tevekenysegekre
4
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
5/177
bizonyos tekintetben onkenyes eljaras, ami altalaban igen alapos kozgazdasagi, rend-szerelmeleti, modellalkotasi megfontolasokat igenyel.
2. Minden egyes Ei elemi tevekenyseghez rendeljunk hozza egyxi valos valtozot,amely arra nezve ad felvilagostast, hogy Ei milyen mertekben vesz reszt a teljestevekenysegben. Az xi valtozot az Ei elemi tevekenyseg szintjenek, intenzt asanak
nevezzuk.Peldankban az asztalgyartas elemi tevekenyseg intenztasanak vegyuk a gyar-
tando asztalok szamat, es ehhez hasonloan, a masik ket termekfelesegnel is legyen alegyartando termekek szama az illeto elemi tevekenyseg intenztasa. Ekkor a haromelemi tevekenyseg aktualis intenztasait az (x1, x2, x3) vektorral rhatjuk le. Nyilvan-valo, hogy a lemez es deszka korlatozott volta miatt az intenztasertekek korlatosak esnem fuggetlenek egymastol.
3. Hatarozzuk meg azokat a kapcsolatokat, osszefuggeseket, amelyeket az inten-ztasertekeknek kulon-kulon es egyuttesen ki kell elegteni. Ezeket fogjuk feltetelekneknevezni. Itt tehat egyreszt az xi valtozokra (i = 1, . . . , n), masreszt az (x1, . . . , xn)
vektorvaltozora vonatkozo felteteleket kell meghatarozni. Egy (x1, . . . ,xn) valos vek-tort a feladatlehetseges megold asanaknevezunk, ha x az intenztasertekekre vonatkozoosszes, az elozoekben meghatarozott feltetelt kielegti. A lehetseges megoldasok hal-mazat a tovabbiakbanL-lel fogjuk jelolni.
Peldankban az intenztasertekekre vonatkozo, a problema szempontjabol lenyegesosszefuggesek a kovetkezok: mivel xi a gyartando termekek szama, ezert xi 0 esxi egesz (i = 1, 2, 3), tovabba, mivel a rendelkezesre allo lemezek es deszkak szamal es d, ezert az l1x1 +l2x2 +l3x3 l es d1x1 +d2x2 +d3x3 d felteteleknek isteljesulnie kell. Ekkor a lehetseges megoldasok halmaza a 3-dimenzios euklideszi terazon reszhalmaza, amelyet a felsorolt feltetelek hataroznak meg. Ezen reszhalmaz
minden pontja egy terv abban az ertelemben, hogy vegre lehet hajtani.4. A tevekenyseg vizsgalatanak altalaban valamilyen celja van. Fogalmazzukmeg ezt a celt a valasztott elemi tevekenysegek segtsegevel, azaz adjunk meg egyolyanz : L V valos fuggvenyt, amely a lehetseges megoldasok erteket, josagatjellemzi a kituzott cel szempontjabol. Ezt a fuggvenyt celf uggvenyneknevezzuk.
A vizsgalt problemaban celunk a nyereseg maximalizalasa. A nyereseg mennyisegec1x1+c2x2+c3x3, gy a vizsgalat szempontjabol alkalmas celfuggveny az(x1, x2, x3) =c1x1+c2x2+c3x3 fuggveny.
A modellalkotas nagy korultekintest igenylo feladataval a tovabbiakban nemfoglalkozunk, hanem a modellek altal meghatarozott matematikai feladatok megol-dasara szolgalo eljarasokat fogjuk vizsgalni.
1.3 Az optimumszamtasi modellekkel megadott matematikai
feladatok megoldasara szolgalo eljarasok
Az elozoekbol adodik, hogy az optimumszamtasi modell matematikai szem-pontbol egy felteteles szelsoertek feladatnak tekintheto, nevezetesen a feltetelek altal
5
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
6/177
meghatarozott L halmazon keressuk a celfuggveny szelsoerteket. Maximum keresesesetenmaximum feladatrol, minimum keresesnel minimum feladatrolbeszelunk. Maxi-mum feladatnal egy maximumhelyetoptimalis megoldasnak, a maximum erteket pedigoptimumnaknevezzuk. (Ugyanezen elnevezeseket hasznaljuk minimum feladat esetenis.) Tehat x Loptimalis megoldasa egy maximum feladatnak, haz(x) z(x) teljesul
barmely x L lehetseges megoldasra, es ebben az esetben az optimum z(x). Nyil-vanvalo, hogy egy felteteles szelsoertek feladatnak nem szuksegkepp letezik optimalismegoldasa, tovabba ha letezik optimalis megoldas, akkor az optimumot egyidejulegtobb helyen is felveheti a celfuggveny.
Az altalunk vizsgalando eljarasok altalaban egy optimalis megoldas meghataro-zasat biztostjak, felteve, hogy a feladatnak letezik optimalis megoldasa. Ellenkezoesetben az eljaras alapjan veges lepesben kiderul, hogy a feladatnak nincs optimalismegoldasa. Az egyetlen optimalis megoldas meghatarozasara vonatkozo torekvestgyakorlati meggondolasok motivaltak. Altalaban gyakorlati szempontbol egy op-timalis megoldas ismerete is kielegto. Gondoljunk peldaul a tekintett muhely ter-
melesere. A maximalis nyereseget biztosto valamely terv ismereteben nem okvetlenulszukseges ugyanekkora nyereseget biztosto mas tervet is meghatarozni.
Az eddig elmondottak lehetove teszik szamunkra, hogy a tovabbiakban vazoljukaz operaciokutatas feladatat, es osztalyozzuk az optimumszamtasi modelleket.
1.4 Az operaciokutatas feladata, az optimumszamtasi
modellek osztalyozasa
Az operaciokutatasnak, mint tudomanyagnak a feladatat a kovetkezokeppenhatarozhatjuk meg:
Az operaciokutatas feladata a gyakorlati elet kulonbozo problemacsoportjaihozaz illeto problemacsoportokat lero optimumszamtasi modellek konstrualasa, tovabbaa meglevo modellekhez az optimalis megoldast meghatarozo eljarasok kidolgozasa.
Igen fontos, es gazdasagi okokbol egyre inkabb eloterbe kerul az operaciokutatasgyakorlati alkalmazasa. Ez abban all, hogy a meglevo modelleket es eljarasokat agyakorlati elet problemainak megoldasara hasznaljuk fel. Ahhoz, hogy ezt megte-hessuk, meg kell ismerkednunk a modellekkel es a kapcsolodo eljarasokkal. Mielotterre raternenk megkserlunk rovid attekintest adni a fontosabb modelltpusokrol.
Az optimumszamtasi modellek tobb szempont szerint osztalyozhatok. A kovet-kezokben ismertetjuk a fobb szempontokat es a megfelelo osztalyozasokat.
I. Az elemi tevekenysegek intenztasertekeitol fuggoen megkulonboztetunk1. folytonos modelleket,2. diszkret modelleket,3. vegyes modelleket.
Egy modellt folytonosnak nevezunk, ha a benne szereplo xi (i = 1, . . . , n) valtozokmindegyikere teljesul az, hogyxia modell altal meghatarozott, i-tol fuggo intervallum-ban barmilyen erteket felvehet. Diszkretmodellrol beszelunk akkor, ha a modellben
6
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
7/177
szereplo mindenxi valtozo a szamegyenes bizonyos diszkret pontjait tartalmazo, i-tolfuggo halmazbol veheti fel az ertekeit. Ha a modell valtozoira az elozo feltetelek egyikesem teljesul, akkor vegyes modellrol beszelunk. Megjegyezzuk, hogy altalaban akkorneveznek egy modellt vegyesnek, ha a fenti tpusu valtozokat es csak ilyeneket tartal-maz. Az utobbi meghatarozassal nem kapnank osztalyozast. Peldaul azx [a, b]vagy
x {i1, . . . , ik} feltetelu modellt nem sorolhatnank sehova. Ennek kikuszoboleserehasznaljuk a vegyes modellre a fenti, altalanosabb meghatarozast.
II. A modellekben szereplo parameterek szerint megkulonboztetunk1. determinisztikus modelleket,2. sztochasztikus modelleket.
Determinisztikus modellrol akkor beszelunk, ha a modellben szereplo parameterekpontosan meghatarozhato konstansok. Abban az esetben, ha a modellnek van olyanparametere, amely valosznusegi valtozo, akkor a modellt sztochasztikusnaknevezzuk.
III. Az olyan modellek kozott, amelyekben a feltetelek mindegyike linearis egyen-loseg vagy egyenlotlenseg, a celfuggveny szerint megkulonboztetunk
1. linearis programozasi modelleket,2. nemlinearis programozasi modelleket.
Linearis programozasi modellrolvagy feladatrol beszelunk, ha a celfuggveny maga islinearis fuggveny. Ellenkezo esetben hasznaljuk a modellre a nemlinearis programozasifeladatelnevezest.
E rovid bevezetesbol is kitunik, hogy az operaciokutatas igen nagy es sokretuanyagot foglal magaba. Ennek a nagy anyagnak csak egy kis reszevel fogunkmegismerkedni a tovabbiak soran. Elsokent a linearis programozas temakorevelfoglalkozunk. Ismertetjuk a linearis programozasi feladatok megoldasara szolgaloszimplex algoritmust es ennek kulonbozo valtozatait. Ezt kovetoen a lehetseges
megoldasok halmazanak tulajdonsagait vizsgaljuk, es erintjuk a dualitas, valamintaz egeszerteku linearis programozas temakoret, majd ket specialis linearis pro-gramozasi feladatot vizsgalunk, a hozzarendelesi feladatot es a szalltasi feladatot.Ezek utan a nemlinearis programozas nehany specialis, viszonylag jol kezelheto fela-datat targyaljuk.
2. LINEARIS PROGRAMOZAS
2.1 A linearis programozas altalanos feladata,standard feladat
Az elozo pontban megismerkedtunk az optimumszamtasi modellek osztalyozasa-val. Ennek kapcsan definialtuk a linearis programozasi feladatot, amelyben a felteteleklinearis egyenloseg, egyenlotlenseg formajaban adottak, es ezen feltetelek mellett kellegy linearis fuggveny maximumat vagy minimumat meghatarozni. Tekintettel arra,hogy tetszoleges linearis programozasi feladatra max{z(x) : x L} es min{z(x) :
8
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
8/177
x L} egyidejuleg leteznek illetve nem leteznek, tovabba max{z(x) : x L} =min{z(x) :x L}, az optimalis megoldas letezese es meghatarozasa szempontjabolelegendo a ket tpus kozul az egyik vizsgalatara szortkozni. Ennek megfeleloen atovabbiakban csak minimum feladatokat vizsgalunk.
Nyilvanvalo, hogy tetszoleges minimum feladat sorcserekkel az alabbi alakban
rhato fel:a11x1+ . . . +a1mxm b1
......
...ak1x1+ . . . +akmxm bkak+1,1x1+ . . . +ak+1,mxm=bk+1
(2.1.1)...
......
al1x1+ . . . +almxm=blal+1,1x1+ . . . +al+1,mxm bl+1
..
.
..
.
..
.an1x1+ . . . +anmxm bn
+c1x1+ . . . +cmxm=z minahol 1 k l n.
A feladatot matrixokkal es vektorokkal a kovetkezokeppen adhatjuk meg:
A1x b(1)
A2x= b(2)
A3x b(3)
+ cx= z(x) min
ahol A1, A2, A3, b(1), b(2), b(3), c a megfelelo egyutthatokbol allo matrixokat illetvevektorokat jelolik. A sor- es oszlopvektorokat kulon jelolessel nem fogjuk megkulon-boztetni, az egyes formulakbol mindig ki lehet kovetkeztetni, hogy az illeto vektor sor-vektor vagy oszlopvektor. Peldaul a fenti felrasban c= (c1, . . . , cm) es x pedig olyanoszlopvektor, amelynek komponenseix1, . . . , xm. Hasonloan fogunk eljarni a matrixok,vektorok mereteit illetoen is, azaz a tpust csak akkor rjuk ki, ha ez az osszefuggesekbolnem kovetkeztetheto ki, vagy a targyalas szuksegesse teszi azt. A fenti felrasban A1peldaul egyk m-es matrix. Megjegyezzuk meg, hogy szisztematikusan x-szel fogjukjelolni a vektorvaltozot, es x, x mindig egy-egy konkret vektort fog jelolni.
Tekintsuk most a (2.1.1) feladatot. Nyilvanvalo, hogy egy x vektor akkor
es csak akkor elegt ki egy egyenloseget, egyenlotlenseget, ha x kielegti ennek azegyenlosegnek, egyenlotlensegnek a 1-szereset is. Kovetkezeskeppen, ha a (2.1.1)feladatban 1-gyel megszorozzuk azokat az egyenlosegeket, egyenlotlensegeket, ame-lyek jobboldala negatv, akkor olyan linearis programozasi feladatot kapunk, amely-nek feltetelrendszeret azok es csak azok a vektorok elegtik ki, amelyek kielegtik a(2.1.1) feladat feltetelrendszeret is. Ez azt jelenti, hogy e ket feltetelrendszerhez tar-tozo lehetseges megoldasok halmaza megegyezik. Igy a ket feladatnak egyidejulegletezik optimalis megoldasa, tovabba, ha x optimalis megoldasa az egyik feladatnak,akkorx optimalis megoldasa a masik feladatnak is. Ez azt jelenti, hogy az optimalis
9
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
9/177
megoldas letezeset es meghatarozasat illetoen az alabbi tpusu feladatok vizsgalataraszortkozhatunk:
A1x b(1)
A2x= b(2)
(2.1.2) A3x b(3)
, (b(i)
0, i= 1, 2, 3)+ cx= z(x) min
Konstrualjunk a (2.1.2) feladatbol egy tovabbi linearis programozasi feladatotugy, hogy a feladatban szereploxivaltozok mindegyiket az ui,vinemnegatv valtozokkulonbsegevel helyettestjuk. Ekkor a kovetkezo feladathoz jutunk:
A1(u v) b(1)
A2(u v) =b(2)
(2.1.3) A3(u v) b(3)
u 0, v 0, (b(i) 0, i= 1, 2, 3)+ c(u v) = z(u, v) min
A (2.1.2) es (2.1.3) feladatok kozott igen szoros kapcsolat van, ezt adja meg azalabbi segedtetel.
1.segedtetel. A (2.1.2) es(2.1.3) feladatoknak egyidejuleg letezik optimalis meg-oldasa, es az optimalis megold asok kozvetlenul szarmaztathatok egymasbol.
Bizonyt as. Tegyuk fel, hogy a (2.1.2) feladatnak letezik optimalis megoldasa, esjeloljon x egy optimalis megoldast. Kepezzuk az u,v vektorokat a kovetkezo modon:
uj = xj , ha xj 0,0 kulonben,
vj = 0, ha xj 0,xj kulonben.
Megmutatjuk, hogy (u,v) optimalis megoldasa a (2.1.3) feladatnak. Ehhez elsokentigazoljuk, hogy (u,v) lehetseges megoldasa (2.1.3)-nak, azaz kielegti annak feltetel-rendszeret. Az (u,v) definciojabol kovetkezik, hogy u 0, v 0. Masreszt vegyukeszre, hogy u v= x. Mivel x a (2.1.2) feladat lehetseges megoldasa, ezert
A1x b(1), A2x= b
(2), A3x b(3)
teljesul. De akkor A1(u v) b(1), A2(u v) = b
(2), A3(u v) b(3) is tel-
jesul, es gy (u,v) lehetseges megoldasa a (2.1.3) feladatnak. Most megmutatjuk,hogy (u,v) optimalis megoldas is. Ehhez elegendo belatni, hogy a (2.1.3) feladat
tetszoleges (u, v) lehetseges megoldasara z(u, v) z(u,v) teljesul. Legyen x =u v. Mivel (u, v) lehetseges megoldasa (2.1.3)-nak, ezert A1(u v) b
(1),A2(u
v) =b(2) esA3(u v) b(3) teljesul. De akkor A1x
b(1),A2x =b(2)
es A3x b(3), es gy x lehetseges megoldasa a (2.1.2) feladatnak. Mivel x op-timalis megoldas, ezert z(x) z(x). Masreszt z(x) = z(u,v) es z(x) = z(u, v),amibol z(u, v) z(u,v) kovetkezik, azaz (u,v) a (2.1.3) feladatnak egy optimalismegoldasa.
Ezzel igazoltuk, hogy amennyiben x optimalis megoldasa a (2.1.2) feladatnak,akkor a fentieknek megfeleloen megkonstrualt (u,v) optimalis megoldasa a (2.1.3)
10
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
10/177
feladatnak. Teljesen hasonlo gondolatmenettel belathato, hogy ha (u,v) optimalismegoldasa (2.1.3)-nak, akkor az x = u v vektor optimalis megoldasa a (2.1.2)feladatnak. Ebbol a ket alltasbol kovetkezik, hogy a (2.1.2) es (2.1.3) feladatok-nak egyidejuleg letezik optimalis megoldasa, es az optimalis megoldasok kozvetlenulszarmaztathatok egymasbol. Ezzel az 1.segedtetel bizonytasat befejeztuk.
Kovetkezmeny. Az optimalis megoldas letezeset es meghat arozasat illetoen ele-gendo az alabbi, (2.1.4) tpus u feladatok vizsgalatara szortkozni.
A1x b(1)
A2x= b(2)
(2.1.4) A3x b(3)
x 0, (b(i) 0, i= 1, 2, 3)
+ cx= z(x) min
Valoban, hiszen a zarojelek felbontasaval es atjelolesek alkalmazasaval a (2.1.3) feladat
(2.1.4) alakura hozhato. Megjegyezzuk, hogy a fentiAimatrixok nem egyeznek meg a(2.1.2)-ben szereplo matrixokkal, az azonos szimbolumokat csak az egyszerubb jeloles-technika erdekeben hasznaljuk.
Vizsgaljuk ezek utan (2.1.4)-et. Konstrualjuk meg hozza az alabbi (2.1.5) felada-tot, amelybenE(1),E(3) megfelelo meretu egysegmatrixok es u,vmegfelelo dimenziojuvektorvaltozok.
A1x + E(1)u =b(1)
A2x =b(2)
(2.1.5) A3
x E(3)v= b(3)
x 0, u 0, v 0, (b(i) 0, i= 1, 2, 3)
+ cx= z(x) min
A ket feladat kozott ismet szoros kapcsolat van, amint azt a kovetkezo segedtetelmutatja.
2.segedtetel. A (2.1.4) es (2.1.5) feladatoknak egyidejuleg letezik optimalismegoldasa, es az optimalis megoldasok kozvetlenul szarmaztathatok egymasbol.
Bizonyt as. Elsokent igazoljuk, hogy amennyiben x (2.1.4) optimalis megolda-sa, akkor (x,u,v) optimalis megoldasa (2.1.5)-nek, ahol u = b(1) A1x, tovabba
v= A3x b(3).Az u,vdefinciojabol es abbol, hogyxlehetseges megoldasa a (2.1.4)feladatnak kovetkezik egyreszt az, hogy x 0, u 0, v 0, masreszt az, hogyA1x + E
(1)u= b(1),A2x= b(2),A3x E
(3)v= b(3) teljesul. Ez pontosan azt jelenti,hogy (x,u,v) lehetseges megoldasa a (2.1.5) feladatnak. Ahhoz, hogy (x,u,v) op-timalis megoldas is, azt kell igazolnunk, hogy (2.1.5) tetszoleges (x, u, v) lehetsegesmegoldasaraz(x) z(x) teljesul. Ehhez vegyuk eszre, hogy ha (x, u, v) lehetsegesmegoldasa (2.1.5)-nek, akkor x lehetseges megoldasa (2.1.4)-nek. De akkor x op-timalis megoldas volta miatt z(x) z(x) teljesul, amivel igazoltuk, hogy (x,u,v)optimalis megoldas.
11
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
11/177
Teljesen hasonlo gondolatmenettel belathato, hogy amennyiben (x,u,v) a (2.1.5)feladat egy optimalis megoldasa, akkor x a (2.1.4) feladat egy optimalis megoldasa.A fenti ket alltasbol kovetkezik, hogy a ket feladatnak egyidejuleg letezik optimalismegoldasa, es ezek egymasbol kozvetlenul szarmaztathatok.
Kovetkezmeny. Az optimalis megoldas letezeset es meghat arozasat illetoen ele-gendo az alabbi, (2.1.6) tpus u feladatok vizsgalatara szortkozni.
Ax= b(2.1.6) x 0, (b 0)
+ cx= z(x) min
Osszegezve az elozoeket, igazolast nyert, hogy tetszoleges linearis programozasifeladat megoldasa visszavezetheto egy alkalmas (2.1.6) tpusu feladat megoldasara.Tekintettel ezen feladatok ilyen ertelmu kituntetett szerepere, a (2.1.6) tpusu felada-tokat standard feladatoknak nevezzuk. Az elmondottak egyben az alabbi eljarast is
szolgaltatjak, amely tetszoleges linearis programozasi feladat standard feladatra valovisszavezetesere alkalmas.
Eljaras:
1.lepes. Ha a megoldando feladat maximum feladat, akkor szorozzuk meg a cel-fuggvenyt 1-gyel, es keressuk ennek az uj celfuggvenynek a minimumat.
2.lepes. Ha szerepel negatv mennyiseg a jobboldalon, akkor szorozzuk meg amegfelelo egyenloseget vagy egyenlotlenseget 1-gyel.
3.lepes.Ha szerepelnek olyan valtozok a feladatban, amelyekre nincs elorva nem-
negativitasi feltetel, akkor helyettestsuk rendre ezeket a valtozokat ket nemnegatvvaltozo kulonbsegevel.
4.lepes. Minden egyes egyenlotlenseg baloldalahoz adjunk hozza illetve vonjunkki egy nemnegatv valtozot attol fuggoen, hogy a tekintett egyenlotlensegben illetve szerepel, es valtoztassuk az egyenlotlensegeket egyenlosegekre.
Az eljaras alkalmazasat az alabbi peldan illusztraljuk:1.pelda.
2x+3y 5
4x+ 7y= 32x+ 5y 58x y 3
17 + 4x+ 5y = z(x, y) max
Az elso lepes utan a kovetkezo feladatot kapjuk:
2x+ 3y 54x+ 7y= 3
2x+ 5y 5
12
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
12/177
8x y 317 4x 5y = z(x, y) min
Vegrehajtva a masodik lepest, az alabbi feladat adodik:
2x+ 3y 54x+ 7y= 3
2x+ 5y 58x+ y 3
17 4x 5y = z(x, y) min
A harmadik lepesben az x = x1 x2, y = x3 x4 helyettestessel a kovetkezofeladatot nyerjuk:
2x1 2x2+ 3x3 3x4 54x1+ 4x2+ 7x3 7x4 = 3
2x1 2x2+ 5x3 5x4 58x1+ 8x2 +x3 x4 3
xj 0, (j = 1, . . . , 4)17 4x1+ 4x2 5x3+ 5x4= z(x1, . . . , x4) min
Vegul a negyedik lepesben, bevezetve az x5,x6,x7 valtozokat, az alabbi standardfeladathoz jutunk:
2x1 2x2+ 3x3 3x4 +x5 = 54x1+ 4x2+ 7x3 7x4 = 3
2x1
2x2
+ 5x3
5x4
x6
= 58x1+ 8x2 +x3 x4 +x7= 3
xj 0, (j = 1, . . . , 7)
17 4x1+ 4x2 5x3+ 5x4 =z (x1, . . . , x7) min
A standard feladatok vizsgalatanal igen hasznos lesz a kovetkezo fogalom. Ketstandard feladatot ekvivalensneknevezunk, ha a lehetseges megoldasok halmazai egy-beesnek, es ezen a kozos L halmazon a ket celfuggveny megegyezik. A bevezetettrelaciorol konnyen belathato, hogy reflexv, szimmetrikus, valamint tranzitv, es gya standard feladatok halmazan egy ekvivalenciarelacio. Ismeretes, hogy egy ekviva-
lenciarelaciohoz hozzarendelheto az illeto halmaz egy osztalyozasa, ha az egymassalekvivalens elemeket egy osztalyba soroljuk. Igy a bevezetett relacio alapjan a stan-dard feladatok egy osztalyozasahoz jutunk: ket feladat akkor es csak akkor kerul egyosztalyba, ha ekvivalensek. Az ilyen modon meghatarozott osztalyokat az ekvivalen-ciarelacio osztalyainaknevezzuk. Az ekvivalencia definciojabol kovetkezik, hogy ekvi-valens feladatok optimalis megoldasai megegyeznek. Ez azt jelenti, hogy az optimalismegoldas letezeset es meghatarozasat illetoen adott feladat helyett tekinthetunk egymasik, az elozovel ekvivalens feladatot. Az ekvivalencianak ezt a kovetkezmenyet atovabbiakban gyakran fel fogjuk hasznalni.
13
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
13/177
Feladatok
1. Hatarozzuk meg az alabbi linearis programozasi feladatokhoz rendre azokat astandard feladatokat, amelyekre az illeto linearis programozasi feladatok visszavezet-
hetok.
3x1+x2 4x3 2
2x1 x2+x3 8(a) x1+x2+x3 = 4
x1 03x1+x2 2x3=z(x) max
4x1+x2 5x3 7
2x1+x2+ 2x3 8(b) 5x1+x2 2
x1 0, x2 0-
2x1 4x2+x3 =z(x) min
2. Mutassuk meg, hogy az alabbi standard feladatok ekvivalensek:
2x y = 0 x+ 2y= 1
x+y = 1 3x+ 3y = 1x 0, y 0 x 0, y 0
5x+ 4y = z(x, y) min x+ 7y = z(x, y) min
3. Adjunk meg olyan standard feladatot, amely ekvivalens az alabbi feladattal.
8x+ 12y= 9
2x 2y = 1
x 0, y 02x+ 3y = z(x, y) min
4. Igazoljuk, hogy az alabbi muveletek egy standard feladathoz olyan feladatotrendelnek, amely ekvivalens az eredetivel.
(a) A feladat valamely egyenletet helyettestsuk az illeto egyenlet egy pozitvkonstansszorosaval.
14
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
14/177
(b) A feladat valamely egyenletenek konstansszorosat adjuk hozza a feladat egymasik egyenletehez, es az eredmennyel helyettestsuk az utobbi egyenletet, felteve,hogy az uj egyenlet jobboldala nemnegatv.
(c) A feladat valamely egyenletenek konstansszorosat adjuk hozza a celfuggvenytmeghatarozo egyenlethez, es az eloallo egyenlettel helyettestsuk a celfuggveny egyen-
letet.
5. Vezessuk be a standard feladatok halmazan a kovetkezo relaciot: ket standardfeladat gyengen ekvivalens, ha lehetseges megoldasaik halmazai egybeesnek, es ezena kozos halmazon a ket celfuggveny elterese konstans. Igazoljuk, hogy a bevezetettrelacio ekvivalenciarelacio, tovabba mutassuk meg, hogy gyengen ekvivalens feladatokoptimalis megoldasai megegyeznek.
2.2 Szimplex algoritmus
A tovabbiakban egy olyan eljarast eptunk fel, amely alapjan tetszoleges stan-dard feladatrol eldontheto, hogy letezik-e optimalis megoldasa, es ha letezik, akkoraz eljaras alapjan egy optimalis megoldas meg is hatarozhato. Ezen eljaras feleptesetobb lepesen keresztul tortenik, es az algoritmus konkret megadasara a 2.6 fejezetbenkerul sor. Elso lepeskent egy specialis standard feladatot vizsgalunk, es ehhez adunkmeg egy, a megoldast szolgaltato algoritmust.
Egy standard feladatot lehetseges kanonikus alaku feladatnaknevezunk, ha sor-es oszlopcserekkel, a valtozok atjelolesevel az alabbi formaban rhato fel:
x1+ a1,n+1xn+1+. . .+a1,n+mxn+m=b1x2+ a2,n+1xn+1+. . .+a2,n+mxn+m=b2
(2.2.1) . . .
......
...xn+an,n+1xn+1+. . .+an,n+mxn+m=bn
xj 0 (j = 1, . . . , n+m), (bi 0, i= 1, . . . , n)-
+ +cn+1xn+1+. . .+cn+mxn+m = z(x) min
A (2.2.1) feladattal kapcsolatban vegyuk eszre, hogy kozvetlenul leolvashato egytrivialis lehetseges megoldasa, nevezetesen xs = bs (s = 1, . . . , n), xn+t = 0 (t =1, . . . , m). Ezt a trivialis lehetseges megoldast bazismegoldasnak, az xs (s= 1, . . . , n)valtozokat pedig bazisvaltozoknak nevezzuk. Ha van olyan 1 i n index, hogybi = 0, akkor a fenti bazismegoldast szokasos degeneralt bazismegoldasnaknevezni.
A bazismegoldast illetoen vegyuk eszre, hogy az xs bazisvaltozo egyutthatoibolallo oszlopvektor pontosan az n-dimenzios euklideszi ter s-edik egysegvektora, es
15
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
15/177
xs egyutthatoja a celfuggveny egyenleteben 0-val egyenlo. Vegul egyszeru behe-lyettestessel megallapthatjuk, hogy a z(x) celfuggveny a bazismegoldason az erteket veszi fel.
A kovetkezo tetel elegendo feltetelt ad arra nezve, hogy a (2.2.1) feladat bazisme-goldasa mikor lesz optimalis megoldas.
1.tetel. A (2.2.1) feladat bazismegoldasa egyben optimalis megoldas is, hacn+t 0 (t= 1, . . . , m) teljesul.
Bizonyt as. Mivel a bazismegoldason felvett celfuggvenyertek , ezert elegendoigazolni, hogy a (2.2.1) feladat tetszolegesxlehetseges megoldasaraz(x) teljesul.Valoban,xlehetseges megoldas leven nemnegatv. Masreszt a feltetel szerint cn+t 0(t = 1, . . . , m), gy
mt=1cn+txn+t 0. De akkor z(x) = +
mt=1cn+txn+t ,
amivel az alltast igazoltuk.
A tetelben megfogalmazott elegseges feltetelt szokasos optimum-kriteriumnak
nevezni. Azt, hogy a fenti feltetel nem szukseges, peldaul a kovetkezo lehetsegeskanonikus alaku feladat mutatja:
x1 +x3 = 0x2+x3 = 0
0 xj (j = 1, 2, 3)-
5x3 =z(x) min
Nyilvanvalo, hogy a fenti feladatnak egyetlen lehetseges megoldasa van, azx= (0, 0, 0)vektor, amely egyben bazismegoldas is, es optimalis megoldas is. Ennek ellenere azoptimum-kriterium nem teljesul.
A kovetkezo tetel, amely bazisvaltoztatas teteleneven ismeretes, lehetove teszi,hogy bizonyos esetben a (2.2.1) feladatrol atterjunk egy vele ekvivalens lehetsegeskanonikus alaku feladatra ugy, hogy az uj feladat bazismegoldasan felvett celfugg-venyertek ne legyen nagyobb, mint .
2.tetel. Ha a(2.2.1) feladat celf uggvenyeben acj (n + 1 j n + m) egyutthatonegatv, tov abba letezik a = min{br/arj : arj > 0, 1 r n} mennyiseg, akkormegadhato egy olyan, a(2.2.1)feladattal ekvivalens lehetseges kanonikus alaku feladat,amelynekx bazismegoldasaraz(x) =+cj teljesul.
Bizonyt as. Elso lepeskent megkonstrualjuk az uj feladatot. E celbol tegyuk fel,
hogycj
7/26/2019 Imreh Balazs Operaciokutatas
16/177
ahol rt az uj feladat t-edik egyenletet (t = 1, . . . , n), z pedig az uj feladat
celfuggvenyegyenletet jeloli.Megmutatjuk, hogy a fenti modon eloalltott feladat rendelkezik a kvant tulaj-
donsagokkal, azaz ekvivalens a (2.2.1) feladattal, lehetseges kanonikus alaku, tovabbaaz x bazismegoldasara z(x) =+cj teljesul.
Az ekvivalencia igazolasahoz jelolje L a (2.2.1) feladat, es L az uj feladatlehetseges megoldasainak a halmazat. Legyen x L tetszoleges. Akkor x 0es x kielegti az rt (t = 1, . . . , n) egyenletek mindegyiket, azaz
n+ms=1 atsxs = bt
(t= 1, . . . , n) teljesul, ahol tetszoleges 1 p n; 1 q n indexekre
apq =
1, ha p= q,0 kulonben.
Vizsgaljuk az uj feladat ri egyenletet, ahol 1 i n, i = k. Az ri (aij/akj)rkosszefuggessel meghatarozott ri egyenlet a kovetkezo:
n+ms=1
ais aij
akjaks
xs =bi aijakj
bk .
Egyszeru behelyettestessel belathato, hogy x kielegti a fenti egyenletet. Tekintsukezek utan rk-t. Ez defincio szerint a kovetkezo:
n+ms=1 (aks/akj)xs = bk/akj . Ismet
behelyettestessel adodik, hogy x kielegti ezt az egyenletet is. Kovetkezeskepp xkielegti az uj feladat minden egyenletet, amibol x L, es gy L L kovetkezik. Afordtott iranyu tartalmazas igazolasahoz legyenx L tetszoleges. Akkor
n+m
s=1
ais aijakj
aks xs =bi aijakj
bk (1 i n, i =k),
n+ms=1
aksakj
xs = bkakj
teljesul. Az utobbi egyenletboln+m
s=1 aksxs = bk adodik. Ezt felhasznalva, az elso
n 1 egyenletbol azt kapjuk, hogyn+m
s=1 aisxs =bi (1 i n, i =k) teljesul, azazx L, amivel L L adodik. Az igazolt ket tartalmazasbol az L = L egyenlosegkovetkezik. Ezek utan az ekvivalenciahoz meg azt kell megmutatnunk, hogy az Lhalmazon a ket celfuggveny megegyezik. Az uj celfuggvenyt meghatarozo egyenlet akovetkezo:
+n+ms=1
cs
cjakj
aks
xs =z(x)
cjakj
bk,
ahol ct = 0 (t= 1, . . . , n). Az egyenlet altal meghatarozott uj fuggvenyt jelolje z(x).
Rendezessel z(x)-re a kovetkezo kifejezest kapjuk:
z(x) =+n+ms=1
csxs+ cjakj
bk
n+ms=1
aksxs
.
17
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
17/177
A fenti kifejezesbol nyilvanvalo, hogy tetszoleges x L lehetseges megoldasra z(x) =z(x) teljesul, amivel az ekvivalenciat igazoltuk.
Ezek utan megmutatjuk, hogy az uj feladat lehetseges kanonikus alaku. Ehhezelsokent igazoljuk az eloalltott feladat b1, . . . , b
n jobboldalanak nemnegativitasat.Valoban, bk = bk/akj nemnegatv, mivel bk 0 es akj > 0. Most legyen 1 i n,
i = k tetszoleges. Akkor bi = bi (aij/akj)bk. Az aij elojeletol fuggoen ket esetetkulonboztetunk meg. Ha aij 0, akkor bi 0 es bk/akj 0 alapjan b
i 0 teljesul.Ha aij > 0, akkor = bk/akj miatt bi/aij bk/akj , es gy bi (aij/akj)bk, amivelbi 0 adodik.
Most vegyuk eszre, hogy egyreszt az atalaktas soran azx1, . . . , xk1, xk+1, . . . , xnvaltozok egyutthatoi sem az egyenletrendszerben, sem a celfuggvenyben nem valtoz-nak, masreszt kiszamtva az uj feladatban az xj valtozo a
ij (i= 1, . . . , n), c
j egyutt-hatoit, a kovetkezoket kapjuk:
cj = 0, a
ij = 1, ha i= k,0 kulonben.
Kovetkezeskepp, ha az uj feladatban az xs valtozokrol atterunk az x
s valtozokraaz xs = xs (1 s n+m, s = k, s = j), x
j = xk, x
k = xj helyettestessel,es atrendezzuk az oszlopokat az uj valtozok indexei szerint, akkor egy (2.2.1) alakufeladatot kapunk, azaz az uj feladat lehetseges kanonikus alaku.
Vegul vizsgaljuk az uj feladatx bazismegoldasan a celfuggveny erteket. A bazis-megoldas defincioja szerint xj =b
k, x
i =b
i (1 i n, i =k) es x
s = 0 a tovabbi s
indexekre. Az ekvivalencia miattz (x) =z(x). Masresztz(x) = +n+m
s=1 csx
s =
+n+m
t=n+1ctx
t =+cjb
k =+cjbk/akj =+cj.
Ezzel a 2.tetel bizonytasat befejeztuk.
Vegyuk eszre, hogy a fenti bizonytasban alapveto szerepet jatszott azakj egyutt-hato. Tekintettel ezen kituntetett szerepre, az akj egyutthatot generalo elemneknevezzuk. Feltetelezesunk szerint min{br/arj : arj > 0, 1 r n} = bk/akj .Nyilvanvalo, hogy A j-edik oszlopanak tobb eleme is rendelkezhet ezzel a tulaj-donsaggal. Mivel akj tetszoleges ilyen elem volt, ezert a bizonytasban szereploatalaktas barmelyik, a fenti tulajdonsaggal rendelkezo egyutthatora ervenyes.
A 2.tetellel kapcsolatban vegyuk meg eszre, hogy pozitv eseten a regi feladatrolaz uj feladatra torteno atteres egyidejuleg egy jobb megoldast is eredmenyez abbanaz ertelemben, hogy az uj bazismegoldason felvett celfuggvenyertek kisebb, mint az
eredeti bazismegoldashoz tartozo celfuggvenyertek. Valoban, ez utobbi ertek , mgaz uj bazismegoldashoz tartozo fuggvenyertek +cj, ami kisebb -nal, ha > 0.Ezek utan vizsgaljuk a 2.tetel feltetelet. Nyilvanvalo, hogy min{br/arj :arj >0,
1 r n} akkor es csak akkor letezik, ha az arj (r = 1, . . . , n) elemek kozott vanlegalabb egy pozitv. Ellenkezo esetben a feladatnak nem letezik optimalis megoldasa,amint azt az alabbi alltas mutatja.
3.tetel. Ha a(2.2.1) feladatban valamelyn + 1 j n + m indexrecj
7/26/2019 Imreh Balazs Operaciokutatas
18/177
korlatos a lehetseges megoldasok halmazan.
Bizonyt as.Feltetelunk szerintarj 0 (r= 1, . . . , n). Definialjuk azx(1),x(2), . . .
vektorsorozat elemeit a kovetkezokeppen:
x(k)
j =k ,x(k)r =br arjk (r= 1, . . . , n) ,
x(k)s = 0 (n+ 1 s n+m, s =j),
ahol k tetszoleges pozitv egesz. Mivel arj 0 es br 0 teljesul barmely 1 r nindexre, tovabba k > 0, ezert a fenti sorozat elemei rendre nemnegatv vektorok.Masreszt egyszeru behelyettestessel adodik, hogy barmely k pozitv egeszre x(k)
kielegti a (2.2.1) feladat egyenletrendszeret, azaz x(k) lehetseges megoldasa a fela-datnak. Vizsgaljuk most a celfuggvenyertekek z(x(1)), z(x(2)), . . . sorozatat. Behe-lyettestvex(k)-t a celfuggveny egyenletebe, azt kapjuk, hogyz(x(k)) = + cjk. Ekkora cj
7/26/2019 Imreh Balazs Operaciokutatas
19/177
1.lepes.Ha a tekintett lehetseges kanonikus alaku feladat celfuggvenye nem tartal-maz negatv egyutthatot, akkor vege az eljarasnak, a feladat bazismegoldasa optimalismegoldas. Ellenkezo esetben a 2.lepes kovetkezik.
2.lepes.Vegyuk a negatv cs-ek minimumat. Jelolje cj a minimummal megegyezocs-ek kozul a legkisebb indexut. Haarj 0 (r= 1, . . . , n), akkor vege az eljarasnak, a
celfuggveny alulrol nem korlatos a lehetseges megoldasok halmazan. Ellenkezo esetbena 3.lepes kovetkezik.
3.lepes. Ha min{br/arj : arj > 0, 1 r n} = bk1/ak1j = . . . = bks/aksj ,akkor valasszuk az aktj (t = 1, . . . , s) elemek kozul a legkisebb sorindexut generaloelemkent, majd hajtsuk vegre a 2.tetel bizonytasaban megadott atalaktasokat, es akapott lehetseges kanonikus alaku feladattal folytassuk az eljarast az 1.lepesnel.
Az algoritmus helyessege kovetkezik az 1., 2. es 3.tetelekbol. Alapveto kerdes,hogy mit allthatunk az eljaras vegessegerol. Ezt most nem targyaljuk, de a kesobbieksoran visszaterunk ra. Elobb azonban egy peldan illusztraljuk az algoritmust, majd
az ugynevezett szimplex tablazatok bevezetesevel olyan eszkozt adunk meg, amelynagyban megkonnyti az eljaras tenyleges vegrehajtasat.
2.pelda.
x1 +2x4 +x6= 2x2 +3x4 x5+ 3x6 = 1
x3 x4+ 2x5 +x6 = 3xi 0 (i= 1, . . . , 6)
-2x4 3x5 3x6 =z(x) min
A negatv celfuggvenyegyutthatok minimuma 3, es a minimummal megegyezocs-ek kozul c5 a legkisebb indexu. Az a15, a25, a35 elemek kozul csak a35 pozitv, gycsak ez az egyutthato valaszthato generalo elemnek. Ekkor a feladat atalaktasa akovetkezo osszefuggesek alapjan tortenik:
r3 = 1
a35r3, r
i =ri ai5a35
r3 (i= 1, 2), z =z
c5a35
r3.
Vegrehajtva a fenti atalaktasokat, a kovetkezo feladathoz jutunk:
x1 +2x4 +x6 = 2
x2+ 12x3+ 52x4 +
72x6 =
52
12x3
12x4+x5+
12x6 =
32
xi 0 (i= 1, . . . , 6)-
32
x3 72
x4 32
x6 =z(x) + 92 min
Most c4 = 7/2 a legkisebb negatv celfuggvenyegyutthato, es a14, a24 lehetgeneralo elem. Ezek kozul a kisebb sorindexu a14-et valasztva generalo elemnek, esvegrehajtva a megfelelo atalaktasokat, az alabbi feladatot kapjuk:
20
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
20/177
12x1 +x4 +
12x6 = 1
54x1+x2+ 12x3 +
94x6 = 0
14x1 +
12x3 +x5+
34x6 = 2
xi 0 (i= 1, . . . , 6)
74x1 +
32x3 +
14x6 =z(x) +
92+
72 min
Ebben a feladatban mar valamennyi celfuggvenyegyutthato nemnegatv, gy az x4= 1,x2 = 0, x5 = 2 es x1 = x3 = x6 = 0 bazismegoldas egyben optimalis megoldas is. Abazismegoldason felvett z(x) celfuggvenyertek9/2 7/2 = 8.
Az eljaras konkret vegrehajtasa utan felvetodik az a kerdes, hogy az egyenletrend-szerek valamilyen tomortett rasmodja nem eredmenyezne-e technikailag egy egysze-rubb szamtast. Erre a kerdesre pozitv a valasz. Nevezetesen, rendeljuk a (2.2.1)feladathoz a kovetkezo tablazatot, amelyet az illeto feladatszimplex tablazatanakvagyszimplex tablajanaknevezunk.
xn+1 . . . xn+m
x1 a1,n+1 . . . a1,n+m b1
(2.2.2)...
...
xn an,n+1 . . . an,n+m bn
cn+1 . . . cn+m
A hozzarendelesnel valojaban a valtozokat emeljuk ki oly modon, hogy a tablazati-edik sora elso elemkent tartalmazza az i-edik egyenletben szereplo bazisvaltozot,majd rendre az i-edik egyenletre vonatkozoan az xs (s =n+ 1, . . . , n+m) valtozok
egyutthatoit, vegul az i-edik egyenlet jobboldalat. Lenyegeben a szimplex tablazat alehetseges kanonikus alaku feladat egy tomortett lerasa. Ebbol adodoan az eljarastatfogalmazhatjuk szimplex tablazatokra. Ehhez azt kell megvizsgalnunk, hogy a2.tetel bizonytasaban megadott, az egyenletekre vonatkozo atalaktasok soran azegyenletekben szereplo egyutthatok hogyan valtoznak meg. E celbol tegyuk fel, hogycj < 0, min{br/arj : arj > 0, 1 r n} = bk/akj . Ekkor az egyenletrendszerenvegrehajtando atalaktasok a kovetkezok:
rk = 1
akjrk,
(2.2.3) ri=ri aijakj
rk (1 i n, i =k),
z =z cjakj
rk,
A 2.tetel bizonytasabol tudjuk, hogy ak-adik bazisvaltozoxj lesz, esxk kikerul abazisvaltozok kozul. Ezt a szimplex tablazattal torteno felrasban ugy tudjuk megadni,hogy az uj tablazatban az xk, xj valtozok helyet megcserelj uk.
21
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
21/177
Vizsgaljuk ezek utan az uj tablazatban szereplo egyutthatokat, jelolje ezeket rend-re aij , b
i, c
j , , ahol 1 i n, n+ 1 j n+ m. Elsokent tekintsuk akj-
t. Az xj , xk valtozok csereje miatt a
kj az xk valtozo egyutthatoja r
k-ben. Mivelxk egyutthatoja rk-ban 1, ezert (2.2.3) alapjan a
kj = 1/akj . Ezt szavakban ugyfogalmazhatjuk meg, hogy a generalo elem helyere annak reciproka kerul. A j-edik
oszlop elemeinel maradva, mivel xk egyutthatoja ri-ben es z-ben 0, ezert a valtozokcsereje es (2.2.3) alapjan aij = aij/akj (1 i n, i = k), c
j = cj/akj , azaza generalo elem oszlopaban lev o elemek helyere az illeto elemeknek a generalo elemnegatvj aval kepezett h anyadosa kerul.
Vizsgaljuk most a k-adik sor elemeit. A (2.2.3) alatti osszefuggesek miatt aks =aks/akj (n+1 s n+m,s =j ),b
k =bk/akj , azaza generalo elem soraban szereploelemek helyen az illeto elemeknek a generalo elemmel kepezett hanyadosa szerepel.
Vegul tekintsuk a felsorolt elemektol eltero indexu egyutthatok szamtasat. Ha1 i n, i =k es n+ 1 s n+m, s =j , akkor (2.2.3) alapjan
a
is=ais aijakj aks, b
i=bi aijakj bk,
cs =cs cjakj
aks, =
cjakj
bk.
Vegyuk eszre, hogy a felsorolt esetekben az illeto elembol ki kell vonni a soraban es ageneralo elem oszlopaban, tovabba az oszlopaban es a generalo elem soraban lev o ketelem szorzatanak a generalo elemmel kepezett hanyadosat.
aksakj Amint azt a mellekelt abra mutatja, ezen elemek egyteglalap csucsain helyezkednek el, es a kivonando ageneralo elemmel szomszedos csucsokban levo elemek
aisaij szorzatanak a generalo elemmel kepezett hanyadosa.
Az atfogalmazott eljaras illusztralasara vegreha jtjuk az algoritmust az elozoekbenmegadot lehetseges kanonikus alaku feladaton. A vegreha jtas soran a valasztott cj-talahuzassal, a valasztott generalo elemet *-gal jeloljuk meg.
3.pelda.
x4 x5 x6 x4 x3 x6 x1 x3 x6
x1 2 0 1 2 x1 2 0 1 2 x412 0
12 1
x2 3 1 3 1 x252
12
72
52 x2
54
12
94 0
x3 1 2 1 3 x5 12
12
12
32 x5
14
12
34 2
2 3 3 0 7232
32
92
74
32
14
8
Azutolso szimplex tablazatnak megfelelo lehetseges kanonikus alaku feladatban marminden celfuggvenyegyutthato nemnegatv, gy az x4 = 1, x2 = 0, x5 = 2, x1 = x3 =x6 = 0 bazismegoldas egyben optimalis megoldas is. A bazismegoldason felvett z(x)celfuggvenyertek8.
22
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
22/177
A lehetseges kanonikus alaku feladatok megoldasara szolgalo, az elozoekben ismer-tetett szimplex algoritmus G. B. Dantzigtol szarmazik. Erdekes momentum, hogy azeljaras mar 1947-ben elkeszult, de publikalasara csak 1951-ben kerult sor, tekintet-tel a tema katonai indttatasara. Az eljaras elkeszulte utan a vegesseg kerdese egyreinkabb eloterbe kerult. A kutatok egy resze annak igazolasara torekedett, hogy az
eljaras barmely lehetseges kanonikus alaku feladaton veges lepesben veget er. Ezzelszemben masok ellenpeldat kerestek, azaz olyan lehetseges kanonikus alaku feladatot,amelyen az eljaras veg nelkul folytatodik. Ez utobbi kutatasok bizonyultak eredme-nyesnek. Elsokent A. J. Hoffmannak sikerult egy ilyen lehetseges kanonikus alakufeladatot megadnia. Hoffman peldaja, amely szerepel a fejezet vegen felsorolt felada-tok kozott, harom egyenletet es tizenegy valtozot tartalmaz, az egyutthatok pedigszogfuggvenyertekek. Az eljaras soran a szogfuggvenyek addcios teteleit kell alkal-mazni, gy az algoritmus vegrehajtasa igen nehezkes. Kesobb, 1955-ben E. M. L. Bealeis megadott egy ellenpeldat, amely racionalis egyutthatokat tartalmaz es mereteibenis kisebb, mint Hoffman feladata. Tekintettel a fentiekre, az algoritmus veg nelkuli
folytatodasanak illusztralasara a Beale-fele feladatot oldjuk meg.
4.pelda.
x4 x5 x6 x7 x1 x5 x6 x7
x114 8 1 9 0 x4 4 32 4 36 0
x212 12
12 3 0 x2 2
4 32 15 0
x3 0 0 1 0 1 x3 0 0 1 0 1
3
4 20 1
2 6 0 3 4 7
2 33 0
x1 x2 x6 x7 x1 x2 x4 x7
x4 12 8 8 84 0 x6 32
1 18
212
0
x5 12
14
38
154 0 x5
116
18
364
316 0
x3 0 0 1 0 1 x332 1
18
212 1
1 1 2 18 0 2 3 14 3 0
x1 x2 x4 x5 x6 x2 x4 x5
x6 2 6 52 56 0 x1
12 3
54 28 0
x713
23
14
163
0 x7 16
13
16 4 0
x3 2 6 5
2 56 1 x3 1 0 0 0 1
1 1 12 16 0 1
2 2 74 44 0
23
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
23/177
x6 x7 x4 x5 Vegyuk eszre, hogy az utolso szimplex
x1 1 9 1
4 8 0 tablazat csak az oszlopok sorrendje-
x2 12 3
12 12 0 ben kulonbozik az elsotol. Tekintettel
x3 1 0 0 0 1 arra, hogy a celfuggveny egyutthatoi
12 6 34
20 0 kozott minden lepesben van legkisebb, az oszlopok sorrendje az eljarast nem
befolyasolja. Igy, folytatva az algoritmust, az oszlopok sorrendjetol eltekintve ismet
megkapnank rendre a masodik, harmadik,. . ., szimplex tablat, es az eljaras veg nelkul
folytatodna.Miutan sikerult ciklizacios peldakat megadni, a kutatasok uj iranyt vettek. Azt
vizsgaltak, hogy mikent lehetne az eljarast ugy megvaltoztatni, hogy minden esetbenveges lepesben veget erjen. Az eljarasban az alkalmazott kivalasztasi strategia bi-zonyult dontonek. Igazolast nyert, hogy alkalmas strategiaval elerheto a vegesseg. Az
algoritmus elso ilyen valtozata lexikografikus szimplex algoritmus neven ismeretes.Mielott ezzel megismerkednenk, az eljaras egy masik valtozatat, az ugynevezettmodostott szimplex algoritmust fogjuk a kovetkezo fejezetben targyalni, amelyetazutan felhasznalunk a lexikografikus eljaras vegessegenek igazolasahoz.
Feladatok
1. Irjuk fel rendre az alabbi szimplex tablazatoknak megfelelo lehetseges kanon-ikus alaku feladatokat.
x4 x5 x6 x7 x4
x1 2 1 2 4 6 x1 1 2
x213
23 1
13 7 x2 1 0
x3 2 6 5 5 8 x3 3 1
1 2 2 3 4 3 0
2. Az alabbi szimplex tablazattal megadott feladathoz konstrualjunk lehetsegesmegoldasoknak egy vegtelen sorozatat. Kovetkezik-e a sorozat letezesebol, hogy acelfuggveny alulrol nem korlatos a lehetseges megoldasok halmazan?
x4 x5 x6
x1 1 1 1 4
x2 1 1 2 5
x3 3 1 2 2
2 2 3 0
24
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
24/177
3. Konstrualjunk az alabbi linearis programozasi feladatokhoz olyan lehetsegeskanonikus alaku feladatokat, amelyekre az illeto linearis programozasi feladatok visz-szavezethetok. Adjuk meg a feladatok szimplex tablazatat, es oldjuk meg szimplexalgoritmussal ezen feladatokat.
x1+ 3x2 73x1 x2 11
(a) x2 4x1 0, x2 0
-x1 x2 =z(x) min
4x1 +3x211x3 102x1 +2x2 6x3 4
(b) 5x1 2x2 +8x3 2
xi 0 (i= 1, 2, 3)3x1 5x2 8x3 =z(x) min
2x1 x2 2x3 x4 +x5 44x1 2x2 +3x3 x4 8
(c) 2x1 +x2 +x3 +2x4 6x1 x2 +4x3 +3x4 10
xi 0 (i= 1, . . ., 5)-
3x1 2x2 +x3 x4 =z(x) min
4. Hajtsuk vegre a szimplex algoritmust az alabbi, A. W. Tucker altal megadottfeladaton, amely hasonloan a Beale-fele feladathoz azt demonstralja, hogy esetenkentaz eljaras veg nelkul folytatodik.
x4 x5 x6 x7
x1 2 9 1 9 0
x21
3
1 13
2 0
x3 1 1 1 1 1
2 3 1 12 0
5. Hajtsuk vegre a szimplex algoritmust az alabbi, A. J. Hoffmantol szarmazofeladaton, es figyeljuk meg, hogy az elso es harmadik szimplex tablazatban ugyanazonegyutthatok szerepelnek, csak az oszlopok sorrendje mas. Vegyuk eszre, hogy az elso
25
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
25/177
es harmadik szimplex tablazat osszehasonltasabol az kovetkezik, hogy folytatva azeljarast, a tizennegyedik szimplex tabla megegyezik az elso szimplex tablaval.
x4 x5 x6 x7 x8 x9 x10 x11
x1 0 0 0 0 0 0 0 0 1x2 cos t cos cos2 2t cos2 cos2 2t cos2 cos t cos 0
x3sintg
t cos tg sin2
t cos2 2 sin
2 t
cos2 tg sin t
cos 0
(1cos )cos
t 0 2t 4sin2 2t cos2 4sin2 t(1 2cos ) 0
ahol = 2/5 est >(1 cos )/(1 2cos ).
6. Oldjuk meg szimplex algoritmussal a kovetkezo feladatot.
x4 x5 x6 x7 x8 x9 x10 x11
x1 1 1 1 1 1 2 2 1 4
x2 1 2 2 1 1 2 1 1 6
x3 2 1 2 2 2 1 3 1 5
1 2 5 1 6 1 6 8 0
7. Adott szimplex tablazatrol egy masik szimplex tablazatra torteno atteres soran,
az uj egyutthatokat kiszamthatjuk ugy is, hogy miutan kiszamtottuk a generalo elemsoraban es oszlopaban szereplo uj elemeket, a tovabbi egyutthatok meghatarozasat aregi es az uj tablazatokban szereplo ertekek alapjan vegezzuk. Adjuk meg az ais =ais aijaks/akj osszefuggeseknek megfelelo osszefuggeseket, ha
(a) a szamtasok a regi tablazat es az uj tablazat k-adik soranak felhasznalasavaltortennek,
(b) a szamtasoknal a regi tablazatot es az uj tablazat j -edik oszlopat hasznaljuk,(c) a szamtasokat a regi tablazat, tovabba az uj tablazat k-adik sora es j-edik
oszlopa alapjan vegezzuk.
2.3 Modostott szimplex algoritmus
Bizonyos problemak, problemacsoportok olyan lehetseges kanonikus alaku felada-tokat eredmenyeznek, amelyek keves feltetel mellett viszonylag sok valtozot tartal-maznak. Ilyen feladatokon vegrehajtva a szimplex algoritmust, azt tapasztaljuk, hogyegyes valtozok es a hozzajuk tartozo oszlopvektorok erdemben nem befolyasoljak az
27
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
26/177
eljarast. A 2.2 fejezet 6.feladataban, peldaul ilyenek az x4, x5, x7, x9, x10, x11valtozok. Az eszrevetelhez kapcsolodva felvetheto az a kerdes, hogy az eljaras valami-lyen modostasaval nem kerulhetok-e el a feleslegesnek tuno szamtasok. A kerdesrepozitv a valasz. A kovetkezokben megmutatjuk, hogy az algoritmus vegrehajtasitechnikajanak megvaltoztatasaval az emltett elvaras elerheto. E celbol rjuk fel a
(2.2.1) feladatot a kovetkezo modon:
Ax= b(2.3.1) x 0, (b 0)
+ cx= z(x) min
ahol az A matrixba most beleertjuk az egysegmatrixot is, azaz 1 i n, 1 j neseten
cj = 0 , aij = 1, ha i= j ,0 kulonben.
Most tegyuk fel, hogycj
7/26/2019 Imreh Balazs Operaciokutatas
27/177
Akkor ervenyes a kovetkezo alltas.
3.segedtetel. Vegrehajtva a (2.3.1) feladaton a (2.3.2) alatti atalakt asokat, azeloallo uj feladat megegyezik az alabbi feladattal:
QAx= Qbx 0 (Qb 0)
-+ dQb + (c dQA)x= z(x) min
Bizonyt as. Az egybeeses igazolasahoz elegendo megmutatnunk, hogy a valtozokegyutthatoi, a megfelelo jobboldalak es a celfuggvenyekben szereplo konstansok rendreegyenlok. E celbol legyenek 1 i n, 1 s n+ m tetszoleges indexek. JeloljeQi-edik sorvektorat Qi, es A s-edik oszlopvektorat As. Ismeretes, hogy ekkor a QAszorzatmatrix (i, s) indexu eleme QiAs.
Vizsgaljuk elsokent az rk egyenletben szereplo egyutthatokat. Az xs valtozo
egyutthatoja rk-ben aks/akj , es rk jobboldalan pedig bk/akj szerepel. Ugyanezenvaltozok egyutthatoja a fenti egyenletrendszer k-adik egyenleteben QkAs =aks/akj ,tovabba ezen egyenlet jobboldala Qkb= bk/akj . Kovetkezeskepp a ketk-adik egyen-let megegyezik.
Most tegyuk fel, hogy i =k, es vizsgaljuk az i-edik egyenleteket. Az xs valtozoegyutthatoja ri-benaisaijaks/akj , es r
ijobboldalabiaijbk/akj . Ugyanezen valtozoegyutthatoja a fenti egyenletrendszer i-edik egyenleteben QiAs = ais aijaks/akj ,tovabba ezen egyenlet jobboldala Qib= bi aijbk/akj . Kovetkezeskepp a ket i-edikegyenlet megegyezik. Mivel i tetszoleges volt, ezert a fentiekbol azt kapjuk, hogy aket egyenletrendszer azonos.
Vizsgaljuk ezek utan a celfuggvenyeket meghatarozo egyenleteket. A z
egyen-letben xs egyutthatoja cs cjaks/akj , az konstans pedig + cjbk/akj . A fentifeladat celfuggvenyenek egyenleteben xs egyutthatoja cs cjQkAs =cs cjaks/akjes az egyenletben szereplo konstans + dQb= +cjQkb= +cjbk/akj . Tehat acelfuggvenyeket megado egyenletek is megegyeznek, amivel az alltast igazoltuk.
A segedtetellel kapcsolatosan harom eszrevetelt teszunk. Nevezetesen, a 2.2 fe-jezet 2.tetelenek bizonytasabol ismeretes, hogy a (2.2.3) atalaktasokkal eloalltottuj feladat bazisvaltozoi x1, . . . , xk1, xj , xk+1, . . . , xn, es ezen valtozokhoz tartozo, azuj feladatban szereplo egyutthatok egysegmatrixot alkotnak. Jelolje most B azt amatrixot, amely ugyanezen valtozokhoz tartozo, az eredeti, tehat a (2.3.1) feladat-
ban szereplo egyutthatokbol all. Akkor a fentiek es a segedtetel alapjan tetszoleges1 i n, 1 s nindexekre
QiBs =
1, ha i= s,0 kulonben,
teljesul, aholBs aB matrixs-edik oszlopvektorat jeloli. Ez pontosan azt jelenti, hogyQB= E, azaz Qa B matrix inverze.
A masodik eszrevetelunk a segedtetel ervenyessegi korehez kapcsolodik. Mivel a2.2 fejezet 2.tetele barmilyen, a
29
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
28/177
bkakj
= min
brarj
:arj >0, 1 r n
feltetelt kielegto generalo elem eseten ervenyes, tovabba a 3.segedtetel bizonytasaban
nem hasznaltuk ki, hogy akj milyen modon lett kivalasztva, ezert a 3.segedtetel iservenyes barmilyen, a fenti feltetelt kielegto generalo elem eseten.Vegul vegyuk eszre a kovetkezot. Mivel tetszoleges lehetseges kanonikus alaku
feladat sor- es oszlopcserekkel, a valtozok atjelolesevel (2.3.1) alaku feladatkent rhatofel, ezert a 3.segedtetel, valamint az elozo ket eszrevetel tetszoleges lehetseges kanoni-kus alaku feladatra is ervenyes.
Az elmondottak arra utalnak, hogy nemcsak a kiindulasi es az azt koveto feladatkozott mutathato ki szoros kapcsolat, hanem a kiindulasi es a szimplex algoritmusvegrehajtasa soran eloallo v-edik feladat kozott is teljesulnie kell valamilyen, a seged-tetelben megadott osszefuggeshez hasonlo osszefuggesnek. A tovabbiakban ezt a kap-
csolatot fogjuk vizsgalni. Ennek erdekeben hajtsuk vegre a (2.3.1) feladaton a szimplexalgoritmust, es jeloljuk a vegrehajtas soran eloallov-edik feladatot a kovetkezokeppen:
A(v)x= b(v)
x 0, (b(v) 0)(v) + c(v)x= z(x) min
Ekkor ervenyes a kovetkezo alltas.
4.tetel. Ha az eljaras soran elo allov-edik feladat bazisvaltozoixi1 ,. . ., xin esBvaz ezen valtozokhoz tartozo, az eredeti feladatban szereplo egyutthatokbol allo matrix,
tovabba dv = (c(0)i1 , . . . , c
(0)in ), akkor av-edik feladat megegyezik az alabbi feladattal:
B1v A(0)x= B1v b
(0)
x 0, (B1v b(0) 0)
-(0) + dvB
1v b
(0) + (c(0) dvB1v A
(0))x= z(x) min
Bizonyt as. Az alltast v szerinti teljes indukcioval igazoljuk. A v = 1 esetbenaz alltas nyilvanvaloan kovetkezik a 3.segedtetelbol. Most legyen v 1 tetszolegesegesz, es tegyuk fel, hogyv-re ervenyes az alltas. Legyenekxi1 , . . . , xinav-edik feladatbazisvaltozoi, es jelolje Bv az ezen valtozokhoz tartozo, az eredeti feladatban szereploegyutthatokbol allo matrixot. Tegyuk fel tovabba, hogy nem er veget az eljaras, es a
soron kovetkezo lepesnel a(v)kj a generalo elem. Akkor a 3.segedtetel es az azt kovetoharmadik eszrevetel alapjan a v+ 1-edik feladat megegyezik az alabbi feladattal:
Q(v)A(v)x= Q(v)b(v)
(2.3.3) x 0, (Q(v)b(v) 0)
(v) + dQ(v)b(v) + (c(v) dQ(v)A(v))x= z(x) min
ahol d k-adik komponense c(v)j es d tobbi komponense 0, tovabba Q
(v) a kovetkezo
30
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
29/177
1 a(v)1j /a
(v)kj
. . . ...
1
1/a(v)
kj1
... . . .
a(v)nj/a
(v)kj 1
matrixot jeloli, amelyben a feltuntetett elemektol kulonbozo elemek rendre 0-valegyenlok.
Vizsgaljuk elsokent a (2.3.3) feladat egyenletrendszeret. Az indukcios feltevesalapjan A(v) =B1v A
(0), b(v) =B1v b(0). Mivel a (2.3.3) alatti feladat megegyezik a
v + 1-edik feladattal, ezert A(v+1) =Q(v)A(v), b(v+1) =Q(v)b(v). De akkor A(v+1) =
Q(v)B1v A(0), b(v+1) = Q(v)B1v b(0). Masreszt tudjuk, hogy a v + 1-edik feladatbazisvaltozoi xi1 , . . . , xik1 , xj , xik+1 , . . . , xin . Jelolje az ezen valtozokhoz tartozo,az eredeti feladatban szereplo egyutthatokbol allo matrixot Bv+1. Mivel a v + 1-edik feladatban a felsorolt valtozokhoz tartozo egyutthatokbol allo vektorok rendreegyenlok a megfelelo egysegvektorokkal, ezert barmely 1 i n, 1 s nindexekre
(Q(v)B1v )i(Bv+1)s =
1, ha i= s,0 kulonben,
teljesul, ahol (Q(v)B1v )i a Q(v)B1v szorzatmatrix i-edik sorvektorat, (Bv+1)s
pedig a Bv+1 matrix s-edik oszlopvektorat jeloli. Ez pontosan azt jelenti, hogy
Q(v)B1v Bv+1 = E, azaz Q(v)B1v = B1v+1. Ezzel viszont az A(v+1) = Q(v)B1v A(0)
es b(v+1) = Q(v)B1v b(0) egyenletekbol azt kapjuk, hogy A(v+1) = B1v+1A
(0) es
b(v+1) = B1v+1b(0), amivel az alltasnak az egyenletrendszerre vonatkozo reszet iga-
zoltuk.Vizsgaljuk ezek utan a celfuggveny (2.3.3) alatt megadott egyenletet. Jelolje dv
es dv+1 a (c(0)i1
, . . . , c(0)in
) es (c(0)i1
, . . . , c(0)ik1
, c(0)j , c
(0)ik+1
, . . . , c(0)in
) vektorokat. Akkor azindukcios felteves alapjan
(v) =(0) + dvB1v b
(0), b(v) =B1v b(0),
c(v)
=c(0)
dvB1v A
(0)
, A(v)
=B1v A
(0)
,A felrt egyenlosegeket felhasznalva a celfuggveny (2.3.3) alatti egyenletet a kovetkezoalakban rhatjuk fel:
(0) + dvB1v b
(0) + dQ(v)B1v b(0) + (c(0) dvB
1v A
(0) dQ(v)B1v A(0))x= z(x).
A kapott kifejezest rendezve, az alabbi egyenlethez jutunk:
(0) + (dv+ dQ(v))B1v b
(0) + (c(0) (dv+ dQ(v))B1v A
(0))x= z(x).
31
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
30/177
Ha most teljesul a dv+ dQ(v) =dv+1Q
(v) egyenloseg, akkor ezt felhasznalva, a fentiegyenletbol a kovetkezo egyenletet nyerjuk:
(0) + dv+1Q(v)B1v b
(0) + (c(0) dv+1Q(v)B1v A
(0))x= z(x).
Masreszt tudjuk, hogy Q(v)B1v =B1v+1, gy az utobbi egyenlet megegyezik az alabbiegyenlettel:
(0) + dv+1B1v+1b
(0) + (c(0) dv+1B1v+1A
(0))x= z(x),
amivel az alltas igazolast nyert.Kovetkezeskepp, a tovabbiakban elegendo a dv+ dQ
(v) =dv+1Q(v) egyenloseget
igazolni. E celbol legyen 1 t n tetszoleges, es jelolje Q(v)t a Q
(v) matrix t-edik
oszlopvektorat. Ha t = k, akkor dv + dQ(v) t-edik komponense c
(0)it
+dQ(v)t = c
(0)it
,
es dv+1Q(v) t-edik komponense pedig dv+1Q
(v)t = c
(0)it
, azaz a t-edik komponensek
megegyeznek.Vizsgaljuk ezek utan a k-adik komponenseket. Ha w-vel jeloljuk a dv +dQ
(v)
vektork-adik komponenset, akkor
w= c(0)ik
+ dQ(v)k =c
(0)ik
+c(v)j
1
a(v)kj
.
Az indukcios felteves szerint c(v) =c(0) dvB1
v A(0) es A(v) =B1v A
(0). Igy c(v) =
c(0)dvA(v). Ennek a vektornak aj-edik komponensec
(v)j , amelyre az utobbi kifejezes
miatt
c(v)j =c(0)j dvA
(v)j =c
(0)j
nh=1
c(0)ih a(v)hj
teljesul. Ezt behelyettestve w kifejezesebe,
w= c(0)ik
+ 1
a(v)kj
(c(0)j
nh=1
c(0)ih
a(v)hj) =
c(0)ik
+c(0)j
a(v)
kj
k1
h=1
c(0)ih
a(v)hj
a(v)
kj
c(0)ik
a(v)kj
a(v)
kj
n
h=k+1
c(0)ih
a(v)hj
a(v)
kj
=
c(0)j
a(v)kj
nh=1h=k
c(0)ih
a(v)hj
a(v)kj
.
Tekintsuk most a dv+1Q(v) vektork-adik komponenset. Erre
dv+1Q(v)k =
k1h=1
c(0)ih
a(v)hj
a(v)kj
+c(0)j
1
a(v)kj
n
h=k+1
c(0)ih
a(v)hj
a(v)kj
=
32
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
31/177
c(0)j
a(v)kj
nh=1h=k
c(0)ih
a(v)hj
a(v)kj
teljesul, azaz a k-adik komponensek is megegyeznek. Kovetkezeskepp dv +dQ(v)
=dv+1Q
(v), amivel a 4.tetel bizonytasat befejeztuk.
A 4.tetellel kapcsolatban vegyuk eszre, hogy annak bizonytasa magaba foglalja aBv matrixok inverzeinek egy szorzat alakban torteno eloalltasat. Valoban, ha az egyeslepesekben szereplo Q(v) matrixokat tekintjuk, akkor egy olyan Q(0),Q(1),. . .,Q(v)
sorozathoz jutunk, amelyre B11 = Q(0)B0 es B
1t+1 = Q
(t)B1t (t = 1, . . . , v)
teljesul, ahol B0 = E. Ebbol teljes indukcioval egyszeruen adodik, hogy B1v+1 =
Q(v)Q(v1) . . . Q(0).Egy masik eszrevetelunk a 4.tetellel kapcsolatban a kovetkezo. Egyreszt tudjuk,
hogy a 3.segedtetel barmilyen, a
bkakj
= min
brarj
:arj >0, 1 r n
feltetelt kielegtoakj generalo elem eseten ervenyes. Masreszt a 4.tetel bizonytasabannem hasznaltuk ki, hogy a szimplex algoritmusnal a fenti feltetelt kielegto ele-mek kozul a legkisebb sorindexut kell generalo elemkent valasztani, tovabba aztsem hasznaltuk ki, hogy a celfuggvenyegyutthato milyen strategia alapjan kerulkivalasztasra. A felsoroltakbol az kovetkezik, hogy
a 4.tetel ervenyes minden olyan elj arasra, amely csak a negatv cj kijeloleset esa generalo elem kivalasztasat meghatarozo strategiap arban ter el a szimplex algorit-
mustol.A 4.tetelben megadott osszefuggesek illusztralasara tekintsuk a 2.2 fejezet
2.peldajat, amelyen a szimplex algoritmus vegrehajtasat mutattuk be. A tekintettpeldanal
A(0) =
1 0 0 2 0 10 1 0 3 1 3
0 0 1 1 2 1
, b(0) =
21
3
,
c(0) = (0, 0, 0, 2, 3, 3), (0) = 0,
es a feladat bazisvaltozoi x1, x2, x3. A szimplex algoritmus elso lepeseben a(0)35 a
generalo elem. Ekkor a megfelelo atalaktasok az alabbi Q(0) matrixszal erhetok el:
Q(0) =
1 0 00 1 1/2
0 0 1/2
Az atalaktas utani feladat bazisvaltozoix1,x2,x5. A felsorolt valtozoknak megfelelo,az eredeti feladatban szereplo egyutthatokbol allo B1 matrix a kovetkezo:
33
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
32/177
B1 =
1 0 00 1 1
0 0 2
A B1 matrix inverzet a 4.tetelt koveto megjegyzes alapjan eloallthatjuk Q(0)
B1
0 =Q(0)E = Q(0) alakban. Ezek utan vegreha jtva a tetelben megadott muveleteket, azuj feladat egyutthatoira vonatkozoan a kovetkezo ertekeket kap juk:
A(1) =Q(0)A(0) =
1 0 0 2 0 10 1 1/2 5/2 0 7/2
0 0 1/2 1/2 1 1/2
,
b(1) =Q(0)b(0) =
25/23/2
,
c(1) =c(0) d1Q(0)A(0) = (0, 0,
3
2,
7
2, 0,
3
2) , (1) =(0) + d1Q
(0)b(0) = 9
2,
ahol d1= (0, 0, 3).
Az eljaras masodik lepeseben a(1)14 a generalo elem. Ekkor a megfelelo atalakta-
sokat biztosto Q(1) matrix a kovetkezo:
Q(1) =
1/2 0 0
5/4 1 01/4 0 1
Az eloallo uj feladat bazisvaltozoi: x4, x2, x5. A felsorolt valtozoknak megfelelo, azeredeti feladat szereplo egyutthatokbol allo B2 matrix:
B2 =
2 0 03 1 1
1 0 2
B2 inverzet eloallthatjuk Q(1)Q(0) alakban.
Q(1)Q(0) =B12 = 1/2 0 05/4 1 1/2
1/4 0 1/2
Most vegrehajtva a tetelben megadott muveleteket, a soron kovetkezo feladategyutthatoira az alabbi ertekeket kapjuk:
A(2) =B12 A(0) =
1/2 0 0 1 0 1/25/4 1 1/2 0 0 9/4
1/4 0 1/2 0 1 3/4
,
34
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
33/177
b(2) =B12 b(0) =
10
2
,
c(2) =c(0) d2B12 A
(0) = (7/4, 0, 3/2, 0, 0, 1/4) , (2) =(0) + d2B12 b
(0) = 8,ahol d
2= (2, 0, 3).
A kapott celfuggvenyegyutthatok rendre nemnegatvak, ezert a szimplex algorit-mus ennel a lepesnel befejezodik.
A nyert osszefuggesek alapjan a (2.3.1) feladat megoldasara az alabbi eljarastepthetjuk fel.
Modostott szimplex algoritmus:
Elokeszt o resz.v= 0.
Iteracios resz(v-edik iteracio).
1.lepes. Ha c(v) 0, akkor vege az eljarasnak, a v-edik feladat bazismegoldasaoptimalis megoldas. Ellenkezo esetben a 2.lepes kovetkezik.
2.lepes. Vegyuk a negatv c(v)s -k minimumat. Jelolje c
(v)j a minimummal mege-
gyezo c(v)s egyutthatok kozul a legkisebb indexut. Hatarozzuk meg az xj-hez tartozo,
a v-edik feladatban szereplo egyutthatokat az A(v)j = B
1v A
(0)j osszefugges alapjan,
majd kepezzuk a
= minb(v)r
a(v)
rj
:a(v)rj >0, 1 r n
mennyiseget. Ha ez a minimum nem letezik, akkor vege az eljarasnak, a celfuggvenyalulrol nem korlatos a lehetseges megoldasok halmazan. Ellenkezo esetben a 3.lepeskovetkezik.
3.lepes.Ha =b(v)k1
/a(v)k1j
=. . .= b(v)kw
/a(v)kwj
, akkor valasszuk aza(v)ktj
(t= 1, . . . , w)elemek kozul a legkisebb sorindexut generalo elemkent. Kepezzu k a v alasztott
generalo elem es A(v)j felhasznalasaval a Q
(v) matrixot. Hatarozzuk meg az aktualisbazisvaltozokat, es az illeto valtozoknak megfelelo dv+1 vektort. Szamtsuk ki aB1v+1 = Q
(v)B1v matrixot, a c(v+1) = c(0) dv+1B
1v+1A
(0), b(v+1) = B1v+1b(0)
vektorokat, es az (v+1) = (0) +dv+1B1v+1b
(0) konstanst. Ezt kovetoen noveljuk
1-gyelv erteket, es folytassuk az eljarast a kovetkezo iteracios lepessel.
Az eljaras helyessege a 4.tetel es az azt koveto elso eszrevetel, valamint a szimplexalgoritmus helyessegenek a kovetkezmenye.
A szamtasok vegrehajtasahoz vegyuk eszre, hogy bevezetve az
x(1) =
x1...
xn
, x(2) =
xn+1...
xn+m
,
35
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
34/177
A=
a(0)1,n+1 . . . a
(0)1,n+m
......
a(0)n,n+1 . . . a
(0)n,n+m
,
c= (c(0)n+1, . . . , c(0)n+m) jeloleseket, A
(0)x= Ex(1) +Ax(2). EkkorA(v)x= B1v A(0)x=
B1v (Ex(1) + Ax(2)) =B1v x
(1) + B1v Ax(2), azaz az x1, . . . , xn valtozokhoz tartozo,
a v-edik feladatban szereplo egyutthatokbol allo matrix pontosan B1v .
Vegyuk eszre tovabba, hogyc(v) =c(0)dvB1
v A(0) alapjanc
(v)j = 0dvB
1v Ej ,
ha 1 j n, ahol Ej a j-edik egysegvektort jeloli. Igy (c(v)1 , . . . , c
(v)n ) =
0 dvB1
v E = dvB1v . Kovetkezeskepp, az x1, . . . , xn valtozokhoz tartozo
celfuggvenyegyutthatokat megkapjuk, ha adv vektort megszorozzuk a B1
v matrix-
szal. Ha n+ 1 j n+m, akkor c(v)j =c
(0)j dvB
1v A
(0)j =cj dvB
1v A
(0)j , azaz
(c(v)
n+1
, . . . , c(v)
n+m
) =c dvB1
v
A. Figyeljuk meg, hogy a kapott kifejezes tartalmazza
az elozoekben mar szerepelt dvB1
v vektort. Igy elsokent meghatarozva dvB1v -
et, majd kepezve ezzel az A(0) matrix A(0)j oszlopvektoranak belso szorzatat es az
eredmenyhez hozzaadvac(0)j -t, megkapjuk a c
(v)j egyutthatot.
A modostott szimplex algoritmust, ellentetben a szimplex algoritmussal, mar koz-vetlenul a feladatokban szereplo egyutthatokra fogalmaztuk meg, amelyeket celszerutablazatos formaban elrendezni. A tovabbiakban egy ilyen elrendezest adunk meg,amelyben az oszlopok fole rt valtozok jelzik, hogy az illeto egyutthatok melyikvaltozohoz tartoznak. Indulo tablazatkent vegyuk a kovetkezot:
b.valt. b(v) x1 . . . xn xn+1 . . . xn+m
x1... b(0) E A
xn
v= 0 0 . . . 0 c
Az egyszerubb abrazolas erdekeben tegyuk fel, hogy = 0 es n = m = 5. Tegyukfel tovabba, hogy a valasztott celfuggvenyegyutthato c
(0)9 < 0. Akkor az eljaras sze-
rint a 0-adik iteracio masodik lepeseben meg kell hataroznunk az A(0)9 = B
10 A
(0)9 =
EA(0)9 = A
(0)9 oszlopvektort. Ez a vektor a 0-adik iteracioban rendelkezesunkre all,
gy meghatarozasa felesleges.
Az eljaras ezt a szamtast technikai okok miatt tartalmazza, ugyanis ezenmeghatarozas a tovabbi iteracios lepesekben mar szukseges. Ezek utan kepezzuk a
pozitva(0)r9 ertekekre a br/a
(0)r9 hanyadosokat, es tegyuk fel, hogy a valasztott generalo
36
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
35/177
elem a(0)39. Akkora
(0)39 es A
(0)9 ismereteben elkesztheto a Q
(0) = B11 matrix. MivelB11 a soron kovetkezo feladatban az x1, . . . , x5 valtozokhoz tartozo egyutthatokbolallo matrix, ezert B11 -et berhatjuk azx1, . . . , x5valtozoknak megfelelo tombbe. Az ujbazisvaltozok x1, x2, x9, x4, x5, ezeket berhatjuk a tablazat baloldalaba. Kepezzuk a
d1vektort, amelynek 3-adik komponensec(0)
9
es a tobbi komponense 0, majd szamtsukki a d1B
11 vektort. Az eloallo vektor pontosan az x1, . . . , x5 valtozohoz tartozo
celfuggvenyegyutthatokat tartalmazza, gy berhatjuk a tablazat megfelelo soraba.
A felsorolt muveletek utan a v = 0 es v = 1 iteraciokra vonatkozo tablazatok azalabbi ertekeket tartalmazzak:
b.valt. b(v) x1 . . . x5 x6 x7 x8 x9 x10
x1
x2
x3 b(0) E A a
(0)39
x4
x5
v= 0 0 . . . 0 c
x1
x2
x9 B11 =Q
(0)
x4
x5
v= 1 d1B11
Most B11 , d1B11 ismereteben az elozoekben lert modon rendre kiszamtjuk a
tovabbi c(1)j = c
(0)j d1B
11 A
(0)j (j = 6, . . . , 10) egyutthatokat, a b
(1) = B11 b(0)
vektort es a d1B11 b
(0) konstanst. Ezeket berva a tablazat megfelelo helyeire, az
eljarast a kovetkezo iteracios lepessel folytatjuk.
Az alabbi tablazat az eljaras folytatasat mutatja. Itt felteteleztuk, hogy az eljarasa harmadik iteracios lepesnel veget er, es az egyes lepesekben rendrec
(0)9 ,a
(0)39; c
(1)7 ,a
(1)47;
c(2)8 , a
(2)28 a valasztott celfuggvenyegyutthatok illetve generalo elemek. A tablazatba
bejeloltuk azokat az oszlopokat, amelyek kiszamtasra kerulnek az algoritmus soran.
37
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
36/177
b.valt. b(v) x1 . . . x5 x6 x7 x8 x9 x10
x1
x2
x3 b(0)
E A a(0)39
x4
x5
v= 0 0 0 . . . 0 c
x1
x2
x9 B11 b
(0) B11 =Q(0) B11 A
(0)7
x4 a(0)47
x5
v= 1 d1B11 b
(0) d1B11 c d1B
11
A
x1
x2 a(2)28
x9 B12 b
(0) Q(1)B11 B12 A
(0)8
x7
x5
v= 2 d2B12 b
(0) d2B12 c d2B
12
A
x1
x8
x9 B13 b
(0) Q(2)B12
x7
x5
v=3 d3B13 b(0) d3B13 c d3B13 A
A modostott szimplex algoritmus vegrehajtasat a kovetkezo feladaton illusztral-juk.
5.pelda.
38
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
37/177
x1+ x4 +x5 +x6 +x7 +x8 +2x9+2x10= 4x2+ x4 +2x5 +2x6 +x7 +x8 +2x9 +x10= 6
x3+ 2x4 +x5 2x6 +2x7 +2x8 +x9+3x10= 5xj 0 (i= 1, . . . , 10)
x4 +2x5 5x6 +x7 6x8 +x96x10=z(x) min
b.valt. b(v) x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
x1 4 1 0 0 1 1 1 1 1 2 2
x2 6 0 1 0 1 2 2 1 1 2 1
x3 5 0 0 1 2 1 2 2 2 1 3
v= 0 0 0 0 0 1 2 5 1 6 1 6
x1 3/2 1 0 1/2 2
x2 7/2 0 1 1/2 3
x8 5/2 0 0 1/2 1
v= 1 15 0 0 3 7 5 11 7 0 4 3
x6 3/4 1/2 0 1/4
x2 5/4 3/2 1 1/4
x8 13/4 1/2 0 1/4
v= 2 93/4 11/2 0 1/4 7 31/4 0 7 0 49/4 23/4
Mivelc(2)
0, ezert az eljaras veget er. Az optimalis megoldas a kovetkezo:
x6 = 3/4 x1= x3 = x4 = 0
x2 = 5/4 x5= x7 = x9 = 0
x8 = 13/4 x10 = 0
Az optimum erteke: 93/4
39
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
38/177
A modostott szimplex algoritmust G. B. Dantzig es W. Orchard-Hays dolgozta ki1953-ban. Az eljarassal kapcsolatban meg kell emltenunk, hogy a vegrehajtas soranerintett feladatsort illetoen a modostott valtozat nem kulonbozik a szimplex algorit-mustol. Az eljarasokat alkalmazva egy lehetseges kanonikus alaku feladatra, mindketeljaras ugyanazon feladatsoron fut vegig. A ket eljaras a kiszamtott egyutthatok
mennyisegeben es a kiszamtas modjaban kulonbozik egymastol. Nevezetesen, amiga szimplex algoritmusnal az erintett feladatok osszes egyutthatojat meghatarozzuk,addig a modostott eljarasnal az erintett feladatok egyutthatoinak csak egy reszetszamtjuk ki, es a kiszamtas modja elter a szimplex algoritmusnal alkalmazott tech-nikatol. Ebbol adodoan lehetseges a szukseges egyutthatokat (av-edik lepesbenB1v+1,B1v+1b
(0), dv+1B1v+1 elemei) a normal szimplex algoritmus szerint szamtani.
A kovetkezo fejezetben ismertetesre kerulo eljaras elter az eddigiektol, a vegre-hajtas soran eloallo feladatsor bizonyos esetekben mas lesz, mint a targyalt algoritmu-soknal, es eppen ez az elteres fogja biztostani ezen algoritmus vegesseget.
Feladatok
1. Hajtsunk vegre a szimplex algoritmusbol egy iteracios lepest az alabbi felada-ton. Ezt kovetoen hatarozzuk meg a B11 matrixot, a d1 vektort, es ellenorizzuk le a4.tetelben megadott osszefuggesek teljesuleset.
x1+ 2x4 +3x5 +x6 x7 +x8= 1x2+ 2x4 +3x5 +x6 +x7 +2x8= 1
x3+ 2x4 3x5 +x6 2x7 +2x8= 1xj 0 (i= 1, . . . , 8)
4x4 9x5 5x6 +3x7 +7x8=z(x) min
2. Oldjuk meg modostott szimplex algoritmussal az alabbi feladatokat:
x1+ +x5 +x6 x7 +2x8 +x9 x10= 2x2+ x4 +x5 +2x6 +x7 +2x8 x9 +x10= 6
(a) x3+ 2x4 +2x5 +x6 +x7 +3x8 +2x9 +3x10= 8xj 0 (i= 1, . . . , 10)
x4 4x5 +2x6 +x7 5x8 +2x93x10=z(x) min
x1+ x4 +x5 +x6 +x7 +x8 +2x9+2x10= 4x2+ x4 +2x5 +2x6 +x7 +x8 +2x9 +x10= 6
(b) x3+ 2x4 +x5 2x6 +2x7 +2x8 +x9 +3x10= 5xj 0 (i= 1, . . . , 10)
x4 +2x5 5x6 +x7 6x8 +x96x10=z(x) min
40
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
39/177
3. Igazoljuk a 4.tetel felhasznalasaval, hogy barmely olyan eljarasra, amely csak ageneralo elem kijeloleseben kulonbozik a szimplex algoritmustol ervenyes a kovetkezoalltas.
Ha az eljaras v-edik iteraciojaban a bazisvaltozok xi1 , . . . , xin , tovabba a w-edikiteracioban ugyanezen bazisvaltozok szerepelnek, csak xij es xik (1 j < k n)
helye fel van cserelve, akkor B1w eloal lthato B1v -bol a j-edik es k-adik sorvektorokcserejevel, es ((v), c
(v)1 , . . . , c
(v)n+m) = (
(w), c(w)1 , . . . , c
(w)n+m).
4. Alkalmazva a 2.1 fejezet eljarasat az alabbi feladatokra, rendre lehetsegeskanonikus alaku feladatokhoz jutunk. Alkalmazzuk ezen eljarast, es az eloalltottlehetseges kanonikus alaku feladatokat oldjuk meg modostott szimplex algoritmussal.
x1 2x2 +x3 x4 +x5 2x6 +x75x1 +x2 2x3 +x4 +x5 x6 2x7 73x1 x2 x3 +x4 x5 x6 +x74
xi 0 (i= 1, . . . , 7)
2x1 9x2 3x3 +x4 +2x511x6 +3x7=z(x) min
2x1 +x2 x3 5x1 +x2 2x3 4
x1 x2 x3 2
3x1 x2 +x3 =z(x) min
2.4 Lexikografikus szimplex algoritmus
Amint azt az elozoek soran emltettuk A. J. Hoffman, E. M. L. Beale es A.W. Tucker peldai negatv iranyban ugyan, de eldontottek a szimplex algoritmusvegessegenek kerdeset. Miutan ez ilyen modon megoldodott, a kutatok azt vizsgaltak,hogy az eljaras milyen valtoztatasa biztostana annak vegesseget. A vizsgalatoksoran kiderult, hogy ezt a generalo elem kijelolesenek strategiaja dontoen befolyasolja.Igazolast nyert, hogy amennyiben a generalo elem kijelolese a sorvektorok figyelem-bevetelevel tortenik, akkor a celfuggvenyegyutthatokbol allo vektorok kozott elerhetoegyfele szigoru monoton novekedes, amely mar biztostja az eljaras vegesseget. Az
algoritmus ezen valtozata lexikografikus szimplex algoritmusneven ismeretes.A tovabbiakban a szukseges fogalmak es jelolesek bevezetese utan, ismertetjuk a
szoban forgo eljarast, majd igazoljuk annak vegesseget.Legyen d es c az n-dimenzios ter ket vektora. Azt mondjuk, hogy d lexiko-
grafikusan nagyobb vagy egyenlo, mint c, h a a d c vektor elso 0-tol kulonbozokomponense pozitv. A bevezetett relacio jelolesere a d c jelolest hasznaljuk.Konnyen belathato, hogy azn-dimenzios euklideszi terben a tekintett relacio reflexv,tranzitv, antiszimmetrikus es dichotom. Ez pontosan azt jelenti, hogy a bevezetettrelacio linearis rendezes, vagy mas terminologia szerint teljes rendezes. Ebbol viszont
41
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
40/177
az kovetkezik, hogy az n-dimenzios ter vektoraibol allo barmely {d1, . . . , dn} vegeshalmaznak van legkisebb eleme a tekintett rendezes szerint. Ezt a legkisebb elemetlexmin{d1, . . . , dn}-nel jeloljuk. Hasznalni fogjuk a fenti rendezeshez tartozo szigorurendezest is, amelyre d c, had c es d =c . Specialisan,d 0eseten ad vektortlexikografikusan pozitvnaknevezzuk. Alkalmazzuk meg a fordtott relaciojeleket is a
termeszetes ertelmezesnek megfeleloen, azazc d pontosan akkor teljesul, ha d c, esc d pontosan akkor teljesul, ha d c.
Vegul azt mondjuk, hogy egy P matrix lexikografikusan pozitv, ha P minden sorvek-tora lexikografikusan pozitv. A P matrix ezen tulajdonsagat P 0 -val jeloljuk.
Ezek utan a (2.3.1) lehetseges kanonikus alaku feladat megoldasara a szimplexalgoritmus kovetkezo valtozatat epthetjuk fel.
Lexikografikus szimplex algoritmus
1.lepes.Ha a tekintett lehetseges kanonikus alaku feladat celfuggvenye nem tartal-maz negatv egyutthatot, akkor vege az eljarasnak, a feladat bazismegoldasa optimalismegoldas. Ellenkezo esetben a 2.lepes kovetkezik.
2.lepes.Vegyuk a negatv cs-ek minimumat. Jelolje cj a minimummal megegyezocs-ek kozul a legkisebb indexut. Haarj 0 (r= 1, . . . , n), akkor vege az eljarasnak, acelfuggveny alulrol nem korlatos a lehetseges megoldasok halmazan. Ellenkezo esetbena 3.lepes kovetkezik.
3.lepes. Ha min{br/arj :arj >0, 1 r n} =bk1/ak1j =. . .= bks/aksj , akkortekintsuk a hkt = (bkt , akt1, . . . , aktn+m)/aktj (t = 1, . . . , s) vektorokat, es legyenhk = lexmin{hk1 , . . . , hks}. Valasszuk az akj egyutthatot generalo elemnek, majd
hajtsuk vegre a 2.2 fejezet 2.teteleben megadott atalaktasokat, es a kapott lehetsegeskanonikus alaku feladattal folytassuk az eljarast az 1.lepesnel.Az eljarassal kapcsolatban elsokent az egyertelmuseget igazoljuk. Ehhez azt kell
megmutatnunk, hogy a generalo elem kivalasztasa egyertelmu. Ez akkor teljesul, haa hkt (t = 1, . . . , s) vektorok paronkent kulonbozoek, ami nyilvanvalo, mivel mindenfeladat tartalmaz egy egysegmatrixot, gy a sorvektorok nem egymas konstansszorosai.
Az eljaras helyesseget illetoen vegyuk eszre, hogy a fenti algoritmus csak aharmadik lepesben ter el a szimplex algoritmustol, az elteres a generalo elemkivalasztasanal van. De akkor az eljaras helyessege kovetkezik a 2.2 fejezet 1., 2.es 3.teteleibol.
Az algoritmus vegessegere vonatkozoan a kovetkezo alltas ervenyes.
5.tetel. A lexikografikus szimplex algoritmus veges lepesben veget er.
Bizonyt as. Jelolje az eljaras soran eloallo v-edik feladatot
A(v)x= b(v)
x 0, (b(v) 0)(v) + c(v)x= z(x) min
42
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
41/177
Legyen tovabba P(v) = (b(v), A(v)), q(v) = ((v), c(v)), es jelolje p(v)i a P
(v) matrixi-edik sorvektorat.
Elsokent megmutatjuk, hogy a P(v) (v= 0, 1, . . .) matrixok rendre lexikografiku-san pozitvak. Ezt az alltast v szerinti teljes indukcioval igazoljuk. Ha v = 0, akkoraz alltas nyilvanvaloan teljesul, mivel b(0) 0 es barmely 1 i n, 1 j nindexekre
a(0)ij =
1, ha i= j ,0 kulonben.
Most legyen v tetszoleges nemnegatv egesz es tegyuk fel, hogy az alltas teljesul v-re. Tegyuk fel tovabba, hogy az eljaras nem er veget, es a soron kovetkezo lepesbena generalo elem a
(v)kj . Ekkor tetszoleges 1 i n indexre, ha a
(v)ij > 0, akkor
p(v)i /a
(v)ij p
(v)k /a
(v)kj teljesul. Valoban, ha b
(v)i /a
(v)ij > b
(v)k /a
(v)kj , akkor a relacio nyil-
vanvaloan fennall. Ha b(v)i /a
(v)ij = b
(v)k /a
(v)kj , akkor a relacio teljesulese a generalo
elem kivalasztasanak kovetkezmenye. Vizsgaljuk ezek utan a P(v+1) matrix sorvek-
torait. Elsokent tekintsuk a k-adik sorvektort. A 2.2 fejezet 2.teteleben megadottatalaktasoknak megfeleloen rk = rk/a(v)kj , es gy p
(v+1)k = p
(v)k /a
(v)kj . Mivel a
(v)kj > 0
es az indukcios felteves szerint p(v)k 0, ezert p
(v+1)k 0. Most legyen 1 i n,
i = k tetszoleges. Akkor a 2.tetel bizonytasanak megfeleloen ri = ri a(v)ij rk/a
(v)kj ,
es gy p(v+1)i = p
(v)i a
(v)ij p
(v)k /a
(v)kj . Az a
(v)ij egyutthato elojeletol fuggoen ket esetet
kulonboztetunk meg.
Haa(v)ij 0, akkor a
(v)ij /a
(v)kj 0. Masreszt az indukcios felteves szerint p
(v)k 0,
es p(v)i 0. De akkor p
(v)i a
(v)ij p
(v)k /a
(v)kj 0 is teljesul, azaz p
(v+1)i 0.
Ha a(v)ij >0, akkor az elozoek alapjan tudjuk, hogy p
(v)i /a
(v)ij p
(v)k /a
(v)kj , amibol
p
(v)
i a(v)
ij p
(v)
k /a
(v)
kj 0 kovetkezik, azaz p(v+1)
i 0.Kovetkezeskepp P(v+1) 0, amivel a P(v) (v = 0, 1, . . .) matrixokra vonatkozo
alltast igazoltuk.Kovetkezo lepeskent megmutatjuk, hogy az additv konstans negatvjabol es a cel-
fuggvenyegyutthatokbol allo q(0), q(1), . . . vektorok a lexikografikus rendezesre nezveegy szigoruan monoton novekvo sorozatot alkotnak, azaz
q(0) q(1) q(2) . . . .
E celbol legyenv tetszoleges nemnegatv egesz, es tegyuk fel, hogy a soron kovetkezogeneralo elem a
(v)kj . Akkor a 2.2 fejezet 2.tetele bizonytasanak megfeleloen z
= z
c(v)
j r
k/a
(v)
kj, es gy q(v+1) =q(v)
c(v)
j p
(v)
k /a
(v)
kj, amibol q(v+1)
q(v) =
c(v)
j p
(v)
k /a
(v)
kj.
Az elozoekben bizonytast nyert, hogy p(v)k 0. Masreszt c
(v)j /a
(v)kj > 0, igy
c(v)j p
(v)k /a
(v)kj 0, amibol q
(v+1) q(v) 0, es gy q(v+1) q(v) kovetkezik. Ezzel amonotontasra vonatkozo alltast igazoltuk.
Befejezesul a kapott monotontast felhasznalva megmutatjuk, hogy az eljarasveges lepesben veget er. Az alltast indirekt bizonytjuk. Tegyuk fel, hogy az alltasnem igaz, az eljaras veg nelkul folytatodik. Akkor mivel a valtozok szaman + m, es abazisvaltozok szaman, ezert legfeljebb
n+mn
n! lepes utan olyan bazisvaltozokhoz ju-
tunk, amelyek mar valamely korabbi feladatnak is bazisvaltozoi voltak, es a valtozok
43
rrs: http://www.doksi.hu
7/26/2019 Imreh Balazs Operaciokutatas
42/177
sorrendje is azonos. Igy leteznek olyan 0 r < s n+mn
n! termeszetes szamok,
hogy az eljaras soran eloallo r-edik es s-edik feladatokhoz ugyanazon bazisvaltozoktartoznak, es a bazisvaltozok sorrendje is azonos. Ekkor az ezen valtozokhoz tartozo,az eredeti feladatban szereplo egyutthatokbol allo Br, Bs matrixokra es dr, ds vek-torokra Br = Bs es dr = ds teljesul. Mivel a lexikografikus szimplex algoritmus
csak a generalo elem kijeloleseben ter el a szimplex algoritmustol, ezert a 2.3 fejezet4.tetelet koveto megjegyzes alapjan a 4.tetel osszefuggesei ervenyesek a lexikografikusszimplex algoritmusra is. Alkalmazva ezeket az osszefuggeseket,
(r) =(0) + drB1r b
(0) , c(r) =c(0) drB1r A
(0) ,
(s) =(0) + dsB1s b
(0) , c(s) =c(0) dsB1s A
(0) .
A fenti egyenletekbol Br = Bs, dr = ds miatt (r) = (s), c(r) = c(s), es gy
q(r) = q(s) kovetkezik. Ez ellentmond a q(r) q(s) relacio teljesulesenek, amivelellentmondashoz jutottunk. Kovetkezeskepp az eljaras veges lepesben veget er, amivel
az 5.tetel bizonytasat befejeztuk.A fenti bizonytassal kapcsolatb