Imreh Balazs Operaciokutatas

  • 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