El˝ osz´ o
Jelen jegyzet a J´ozsef Attila Tudom´anyegyetem programoz´o matematikus ´es k¨ ozgazdas´ agi programoz´o hallgat´oi sz´am´ara k´esz¨ ult, akik m´asodik f´el´evt˝ol hallgatnak oper´aci´ okutat´ ast. A feldolgozott anyag bevezet˝o jelleg˝ u. N´eh´any karakterisztikus, ma m´ar klasszikusnak sz´am´ıt´ o r´eszter¨ uletet ¨olel fel, ´erintve ezek alapk´erd´eseit ´es n´eh´any ismertebb, egyszer˝ ubb megold´asi technik´at. Nem ´erinti a jegyzet az ut´obbi id˝oben igen el˝ ot´erbe ker¨ ult kombinatorikus optimaliz´al´as t´emak¨or´et, amely k¨ ul¨on tant´argyk´ent szerepel az oktat´asban. A t´argyal´ as sor´an mind line´aris algebr´ab´ol, mind anal´ızisb˝ol csak a legsz¨ uks´egesebb fogalmak, alap¨oszef¨ ugg´esek ismeret´et t´etelezz¨ uk fel. A fel´ep´ıtett elj´ ar´ asok rendre egyszer˝ u numerikus p´eld´akon kereszt¨ ul ker¨ ulnek bemutat´asra. Az egyes fejezeteket feladatok k¨ovetik, amelyek r´eszben az algoritmusoknak a hallgat´ok altal t¨ort´en˝ ´ o ¨on´ all´ o v´egrehajt´as´ at szolg´alj´ak, r´eszben egyszer˝ u bizony´ıt´asok kit˝ uz´es´evel a fogalmak maradand´obb megismer´es´et c´elozz´ak. A jegyzet meg´ır´ asa sor´an nagy seg´ıts´eget jelentett Csirik J´anos, Gr˝oger Hans Dietmar ´es M´at´e E¨ors munkat´ arsaim sz´amos hasznos tan´acsa, konstrukt´ıv ´eszrev´eteleik. V´eg¨ ul itt szeretn´ek k¨osz¨ onetet mondani lektoraimnak, Megyesi L´aszl´onak, a JATE docens´enek, ´es Sz´antai Tam´ asnak, az ELTE docens´enek a k´ezirat igen alapos ´es gondos lektor´al´ as´ a´ert.
Szeged, 1993. febru´ar 2. Imreh Bal´azs
1
2
´ 1. BEVEZETES
1.1 Az optimumsz´ am´ıt´ asi modellek
Az oper´aci´ okutat´ as viszonylag u ´j tudom´any´ag, amelynek fejl˝od´ese ´es sz´elesk¨ or˝ u alkalmaz´ asa szorosan ¨osszef¨ ugg a sz´am´ıt´og´epek kialakul´as´aval, fejl˝od´es´evel. Maga az ”oper´aci´ okutat´ as” kateg´ oria a m´asodik vil´agh´abor´ u idej´en alakult ki. A sz¨ ovets´eges hadseregek vez´erkarai mellett l´etrehoztak olyan k¨ ul¨onb¨oz˝o szakm´aj´ u tud´ osokb´ ol ´all´ o kutat´ocsoportokat, amelyeknek az volt a f˝o feladata, hogy tudom´anyos eszk¨ oz¨ ok seg´ıts´eg´evel javaslatokat dolgozzanak ki a hadm˝ uveletek legeredm´enyesebb ir´ any´ıt´ as´ ahoz. Innen ered az elnevez´es, amelyben az oper´aci´o sz´o katonai m˝ uveletre, hadm˝ uveletre utalt. A vil´agh´ abor´ u ut´an, a sz´am´ıt´og´epek fejl˝od´es´evel p´arhuzamosan az oper´aci´ okutat´ as mind tartalm´aban, mind alkalmaz´asi k¨or´et illet˝oen gyorsan fejl˝od¨ott, ´es napjainkban a t´arsadalmi-gazdas´agi ´elet majd minden ter¨ ulet´en alkalmaz´ast nyer. Az oper´aci´ okutat´ as feladat´anak szeml´eltet´es´ehez tekints¨ uk a k¨ovetkez˝o gyakorlati probl´em´ at. Adott egy m˝ uhely, amely asztalokat, sz´ekeket ´es szekr´enyeket gy´art. A gy´ art´ as sor´an k´etf´ele anyagot haszn´alnak fel, egyfajta lemezt ´es egyfajta deszk´at. Ezek egym´ assal nem helyettes´ıthet˝ ok ´es korl´atozott mennyis´egben ´allnak rendelkez´esre. A feladat: olyan term´ek¨ osszet´etel meghat´aroz´asa, amely mellett a m˝ uhely nyeres´ege maxim´ alis. A fenti probl´em´ ahoz egy matematikai modellt konstru´alhatunk. E c´elb´ol jel¨ olje rendre x1 , x2 , x3 a gy´art´ asra ker¨ ul˝ o asztalok, sz´ekek, szekr´enyek sz´am´at, l1 , l2 , l3 egy asztal, egy sz´ek, egy szekr´eny k´esz´ıt´es´ehez sz¨ uks´eges lemezek sz´am´at, d1 , d2 , d3 egy asztal, egy sz´ek, egy szekr´eny k´esz´ıt´es´ehez sz¨ uks´eges deszk´ak sz´ am´ at, c1 , c2 , c3 egy asztal, egy sz´ek, egy szekr´eny gy´art´as´ab´ol sz´armaz´o nyeres´eget, l, d a rendelkez´esre ´all´ o lemezek ´es deszk´ak sz´am´at. A bevezetett jel¨ol´esekkel a tekintett probl´ema az al´abbi, u ´gynevezett optimumsz´am´ıt´asi modellel ´ırhat´ o le, amely matematikai szempontb´ol egy felt´eteles sz´els˝o´ert´ek feladat. l1 x1 + l2 x2 + l3 x3 ≤ l d1 x1 + d2 x2 + d3 x3 ≤ d xi eg´esz & xi ≥ 0 (i = 1, 2, 3) —————————————– c1 x1 + c2 x2 + c3 x3 = z → max A fentiekkel kapcsolatban vegy¨ uk ´eszre, hogy a kapott modell le´ırhatn´a m´as olyan m˝ uhelyek probl´em´ aj´ at is, amelyek h´aromf´ele term´eket gy´artanak k´etf´ele anyag felhaszn´al´ as´ aval. ´Igy l´enyeg´eben a modellhez egy probl´emacsoport rendelhet˝ o. A probl´em´ at, probl´emacsoportot le´ır´o modell ismerete ¨onmag´aban persze m´eg nem jelenti a probl´ema megold´as´at. Ehhez sz¨ uks´eges lenne olyan elj´ar´ as ismerete, amely a modell ´altal meghat´arozott matematikai feladat megold´as´ara 3
szolg´ al. K¨ovetkez´esk´eppen az al´abbi h´arom, egym´assal szorosan ¨osszef¨ ugg˝o fogalmat k¨ ul¨ onb¨ oztethetj¨ uk meg: (1) gyakorlati probl´em´ ak, tev´ekenys´egek formaliz´alhat´os´ag szempontj´ab´ol k¨oz¨os tulajdons´ag´ u csoportja, (2) a fenti probl´emacsoportot le´ır´o optimumsz´am´ıt´asi modell, (3) a sz´oban forg´o optimumsz´am´ıt´asi modell ´altal meghat´arozott matematikai feladat megold´as´ ara szolg´al´ o elj´ar´ as. A gyakorlati probl´em´ ak csoportos´ıthat´os´ag´at, az ezzel kapcsolatos meggondol´ asokat f˝ok´eppen a rendszerszervez´esnek ´es a konkr´et alkalmaz´asi ter¨ ulet, ter¨ uletek szakembereinek kell vizsg´alniuk. Mi els˝osorban a (2) ´es (3) pontokhoz tartoz´o probl´em´ akkal fogunk foglalkozni. K´ezenfekv˝ o az a k´erd´es, hogy adott probl´emacsoporthoz hogyan hat´arozhat´o meg az illet˝o probl´emacsoportot le´ır´ o optimumsz´am´ıt´asi modell. A modellalkot´as ´altal´aban igen bonyolult tev´ekenys´eg, amely sor´an a jelens´egek t¨omeg´eb˝ol ki kell emelni a l´enyeges, meghat´aroz´ o ´es tart´os jegyeket, ¨osszef¨ ugg´eseket ´es a t¨obbi ¨osszef¨ ugg´est˝ol, ism´ervt˝ ol el kell tekinteni a modell kezelhet˝os´eg´enek ´erdek´eben. A modellekkel szemben k´etir´ any´ u k¨ovetelm´ennyel l´ep¨ unk fel: t¨ ukr¨ ozz´ek min´el h˝ uebben a val´os´agot, legyenek matematikailag, sz´am´ıt´astechnikailag kezelhet˝ok. Sok esetben ez k´et ellent´etes szempont u ¨tk¨oztet´es´et jelenti, ´es a modell kialak´ıt´as´an´al olyan kompromisszumra kell t¨orekedni, amelyn´el az matematikailag, sz´am´ıt´astechnikailag m´eg kezelhet˝ o ´es emellett a vizsg´alat szempontj´ab´ol h˝ uen t¨ ukr¨ozi a val´os´agot is. Tekintettel a modellalkot´ as bonyolults´ag´ara, nem adhat´o meg olyan elj´ar´as, amely alapj´an b´armely probl´emacsoporthoz a megfelel˝o modell elk´esz´ıthet˝o lenne. Megadhat´ ok viszont olyan ´altal´ anos elvek, amelyek seg´ıts´eget ny´ ujthatnak a modellalkot´ asban. A tov´ abbiakban ´attekintj¨ uk ezeket az elveket, mik¨ozben v´egrehajt´asukat az el˝oz˝ oek sor´an megadott probl´em´an szeml´eltetj¨ uk.
1.2 A modellalkot´ as elemei
1. A vizsg´alat t´argy´ at k´epez˝o tev´ekenys´eget bontsuk fel v´eges sok, u ´gynevezett elemi tev´ekenys´egre. Elemi tev´ekenys´egen a teljes tev´ekenys´eg azt a pontosan k¨ or¨ ulhat´ arolt r´esz´et ´ertj¨ uk, amelyet tov´abb bontani m´ar nem sz´and´ekozunk. Jel¨olje a felbont´ as sor´an el˝o´ all´ o elemi tev´ekenys´egeket E1 , . . . , En . A szeml´eltet´es¨ ul v´alasztott probl´em´an´al a m˝ uhely termel´es´et h´arom elemi tev´ekenys´egre bontottuk fel: asztalgy´art´asra, sz´ekgy´art´asra ´es szekr´enygy´art´asra. Nyilv´ anval´ o, hogy v´alaszthatn´ ank finomabb felbont´ast is, de a probl´ema megfogalmaz´ asa nem teszi ezt sz¨ uks´egess´e. Ilyen finomabb felbont´as lehetne p´eld´aul az, amikor a h´arom term´ekfajta gy´art´ as´ ahoz sz¨ uks´eges r´eszeket (fed˝olap, l´abak, stb.) k¨ ul¨onk¨ ul¨ on is figyelembe venn´enk, ´es ennek megfelel˝oen az anyagok kiv´alaszt´as´at is tov´abb bontan´ ank. L´athatjuk, hogy a teljes tev´ekenys´eg felbont´asa elemi tev´ekenys´egekre 4
bizonyos tekintetben ¨onk´enyes elj´ar´as, ami ´altal´aban igen alapos k¨ozgazdas´agi, rendszerelm´eleti, modellalkot´ asi megfontol´asokat ig´enyel. 2. Minden egyes Ei elemi tev´ekenys´eghez rendelj¨ unk hozz´a egy xi val´os v´altoz´ot, amely arra n´ezve ad felvil´agos´ıt´ ast, hogy Ei milyen m´ert´ekben vesz r´eszt a teljes tev´ekenys´egben. Az xi v´altoz´ ot az Ei elemi tev´ekenys´eg szintj´enek, intenz´ıt´ as´ anak nevezz¨ uk. P´eld´ ankban az asztalgy´art´ as elemi tev´ekenys´eg intenz´ıt´as´anak vegy¨ uk a gy´artand´ o asztalok sz´am´ at, ´es ehhez hasonl´oan, a m´asik k´et term´ekf´eles´egn´el is legyen a legy´ artand´ o term´ekek sz´ama az illet˝o elemi tev´ekenys´eg intenz´ıt´asa. Ekkor a h´arom elemi tev´ekenys´eg aktu´alis intenz´ıt´ asait az (x1 , x2 , x3 ) vektorral ´ırhatjuk le. Nyilv´anval´ o, hogy a lemez ´es deszka korl´ atozott volta miatt az intenz´ıt´as´ert´ekek korl´atosak ´es nem f¨ uggetlenek egym´ast´ ol. 3. Hat´arozzuk meg azokat a kapcsolatokat, ¨osszef¨ ugg´eseket, amelyeket az intenz´ıt´ as´ert´ekeknek k¨ ul¨ on-k¨ ul¨ on ´es egy¨ uttesen ki kell el´eg´ıteni. Ezeket fogjuk felt´eteleknek nevezni. Itt teh´at egyr´eszt az xi v´altoz´okra (i = 1, . . . , n), m´asr´eszt az (x1 , . . . , xn ) vektorv´ altoz´ ora vonatkoz´ o felt´eteleket kell meghat´arozni. Egy (¯ x1 , . . . , x ¯n ) val´os vektort a feladat lehets´eges megold´ as´ anak nevez¨ unk, ha x az intenz´ıt´as´ert´ekekre vonatkoz´o osszes, az el˝oz˝ ¨ oekben meghat´arozott felt´etelt kiel´eg´ıti. A lehets´eges megold´asok halmaz´ at a tov´ abbiakban L-lel fogjuk jel¨olni. P´eld´ ankban az intenz´ıt´ as´ert´ekekre vonatkoz´o, a probl´ema szempontj´ab´ol l´enyeges osszef¨ ¨ ugg´esek a k¨ovetkez˝ ok: mivel xi a gy´artand´o term´ekek sz´ama, ez´ert xi ≥ 0 ´es xi eg´esz (i = 1, 2, 3), tov´ abb´ a, mivel a rendelkez´esre ´all´o lemezek ´es deszk´ak sz´ama l ´es d, ez´ert az l1 x1 + l2 x2 + l3 x3 ≤ l ´es d1 x1 + d2 x2 + d3 x3 ≤ d felt´eteleknek is teljes¨ ulnie kell. Ekkor a lehets´eges megold´asok halmaza a 3-dimenzi´os euklideszi t´er azon r´eszhalmaza, amelyet a felsorolt felt´etelek hat´aroznak meg. Ezen r´eszhalmaz minden pontja egy terv abban az ´ertelemben, hogy v´egre lehet hajtani. 4. A tev´ekenys´eg vizsg´alat´ anak ´altal´aban valamilyen c´elja van. Fogalmazzuk meg ezt a c´elt a v´alasztott elemi tev´ekenys´egek seg´ıts´eg´evel, azaz adjunk meg egy olyan z : L → V val´ os f¨ uggv´enyt, amely a lehets´eges megold´asok ”´ert´ek´et”, ”j´os´ag´at” jellemzi a kit˝ uz¨ ott c´el szempontj´ ab´ol. Ezt a f¨ uggv´enyt c´elf¨ uggv´enynek nevezz¨ uk. A vizsg´alt probl´em´ aban c´elunk a nyeres´eg maximaliz´al´asa. A nyeres´eg mennyis´ege c1 x1 +c2 x2 +c3 x3 , ´ıgy a vizsg´alat szempontj´ab´ol alkalmas c´elf¨ uggv´eny a z(x1 , x2 , x3 ) = c1 x1 + c2 x2 + c3 x3 f¨ uggv´eny. A modellalkot´ as nagy k¨or¨ ultekint´est ig´enyl˝o feladat´aval a tov´abbiakban nem foglalkozunk, hanem a modellek ´altal meghat´arozott matematikai feladatok megold´ as´ ara szolg´al´ o elj´ar´ asokat fogjuk vizsg´alni.
1.3 Az optimumsz´ am´ıt´ asi modellekkel megadott matematikai feladatok megold´ as´ ara szolg´ al´ o elj´ ar´ asok
Az el˝oz˝ oekb˝ ol ad´odik, hogy az optimumsz´am´ıt´asi modell matematikai szempontb´ ol egy felt´eteles sz´els˝ o´ert´ek feladatnak tekinthet˝o, nevezetesen a felt´etelek ´altal 5
meghat´ arozott L halmazon keress¨ uk a c´elf¨ uggv´eny sz´els˝o´ert´ek´et. Maximum keres´es eset´en maximum feladatr´ ol, minimum keres´esn´el minimum feladatr´ ol besz´el¨ unk. Maximum feladatn´al egy maximumhelyet optim´ alis megold´ asnak, a maximum ´ert´ek´et pedig optimumnak nevezz¨ uk. (Ugyanezen elnevez´eseket haszn´aljuk minimum feladat eset´en is.) Teh´ at x ∈ L optim´alis megold´asa egy maximum feladatnak, ha z(x) ≥ z(x) teljes¨ ul b´ armely x ∈ L lehets´eges megold´asra, ´es ebben az esetben az optimum z(x). Nyilv´ anval´o, hogy egy felt´eteles sz´els˝ o´ert´ek feladatnak nem sz¨ uks´egk´epp l´etezik optim´alis megold´ asa, tov´ abb´ a ha l´etezik optim´alis megold´as, akkor az optimumot egyidej˝ uleg t¨ obb helyen is felveheti a c´elf¨ uggv´eny. Az ´altalunk vizsg´aland´ o elj´ar´ asok ´altal´aban egy optim´alis megold´as meghat´aroz´ as´ at biztos´ıtj´ ak, felt´eve, hogy a feladatnak l´etezik optim´alis megold´asa. Ellenkez˝ o esetben az elj´ar´ as alapj´an v´eges l´ep´esben kider¨ ul, hogy a feladatnak nincs optim´alis megold´ asa. Az egyetlen optim´alis megold´as meghat´aroz´as´ara vonatkoz´o t¨orekv´est ´ gyakorlati meggondol´asok motiv´alt´ak. Altal´ aban gyakorlati szempontb´ol egy optim´ alis megold´as ismerete is kiel´eg´ıt˝o. Gondoljunk p´eld´aul a tekintett m˝ uhely termel´es´ere. A maxim´alis nyeres´eget biztos´ıt´o valamely terv ismeret´eben nem okvetlen¨ ul sz¨ uks´eges ugyanekkora nyeres´eget biztos´ıt´o m´as tervet is meghat´arozni. Az eddig elmondottak lehet˝ov´e teszik sz´amunkra, hogy a tov´abbiakban v´azoljuk az oper´aci´okutat´ as feladat´at, ´es oszt´alyozzuk az optimumsz´am´ıt´asi modelleket.
1.4 Az oper´ aci´ okutat´ as feladata, az optimumsz´ am´ıt´ asi modellek oszt´ alyoz´ asa
Az oper´aci´ okutat´ asnak, mint tudom´any´ agnak a feladat´at a k¨ovetkez˝ok´eppen hat´ arozhatjuk meg: Az oper´aci´ okutat´ as feladata a gyakorlati ´elet k¨ ul¨onb¨oz˝o probl´emacsoportjaihoz az illet˝o probl´emacsoportokat le´ır´ o optimumsz´am´ıt´asi modellek konstru´al´asa, tov´abb´a a megl´ev˝ o modellekhez az optim´alis megold´ast meghat´aroz´o elj´ar´asok kidolgoz´asa. Igen fontos, ´es gazdas´agi okokb´ol egyre ink´abb el˝ot´erbe ker¨ ul az oper´aci´okutat´as gyakorlati alkalmaz´ asa. Ez abban ´all, hogy a megl´ev˝o modelleket ´es elj´ar´asokat a gyakorlati ´elet probl´em´ ainak megold´as´ara haszn´aljuk fel. Ahhoz, hogy ezt megtehess¨ uk, meg kell ismerkedn¨ unk a modellekkel ´es a kapcsol´od´o elj´ar´asokkal. Miel˝ott erre r´at´ern´enk megk´ıs´erl¨ unk r¨ ovid ´attekint´est adni a fontosabb modellt´ıpusokr´ol. Az optimumsz´ am´ıt´ asi modellek t¨obb szempont szerint oszt´alyozhat´ok. A k¨ovetkez˝ okben ismertetj¨ uk a f˝obb szempontokat ´es a megfelel˝o oszt´alyoz´asokat. I. Az elemi tev´ekenys´egek intenz´ıt´as´ert´ekeit˝ol f¨ ugg˝oen megk¨ ul¨onb¨oztet¨ unk 1. folytonos modelleket, 2. diszkr´et modelleket, 3. vegyes modelleket. Egy modellt folytonosnak nevez¨ unk, ha a benne szerepl˝o xi (i = 1, . . . , n) v´altoz´ok mindegyik´ere teljes¨ ul az, hogy xi a modell ´altal meghat´arozott, i-t˝ol f¨ ugg˝o intervallumban b´armilyen ´ert´eket felvehet. Diszkr´et modellr˝ol besz´el¨ unk akkor, ha a modellben 6
szerepl˝ o minden xi v´altoz´ o a sz´amegyenes bizonyos diszkr´et pontjait tartalmaz´o, i-t˝ol f¨ ugg˝ o halmazb´ol veheti fel az ´ert´ekeit. Ha a modell v´altoz´oira az el˝oz˝o felt´etelek egyike sem teljes¨ ul, akkor vegyes modellr˝ol besz´el¨ unk. Megjegyezz¨ uk, hogy ´altal´aban akkor neveznek egy modellt vegyesnek, ha a fenti t´ıpus´ u v´altoz´okat ´es csak ilyeneket tartalmaz. Az ut´obbi meghat´aroz´ assal nem kapn´ank oszt´alyoz´ast. P´eld´aul az x ∈ [a, b] vagy x ∈ {i1 , . . . , ik } felt´etel˝ u modellt nem sorolhatn´ank sehov´a. Ennek kik¨ usz¨ob¨ol´es´ere haszn´ aljuk a vegyes modellre a fenti, ´altal´anosabb meghat´aroz´ast. II. A modellekben szerepl˝o param´eterek szerint megk¨ ul¨onb¨oztet¨ unk 1. determinisztikus modelleket, 2. sztochasztikus modelleket. Determinisztikus modellr˝ol akkor besz´el¨ unk, ha a modellben szerepl˝o param´eterek pontosan meghat´arozhat´ o konstansok. Abban az esetben, ha a modellnek van olyan param´etere, amely val´ osz´ın˝ us´egi v´altoz´o, akkor a modellt sztochasztikusnak nevezz¨ uk. III. Az olyan modellek k¨oz¨ ott, amelyekben a felt´etelek mindegyike line´aris egyenl˝ os´eg vagy egyenl˝ otlens´eg, a c´elf¨ uggv´eny szerint megk¨ ul¨onb¨oztet¨ unk 1. line´aris programoz´asi modelleket, 2. nemline´aris programoz´asi modelleket. Line´ aris programoz´ asi modellr˝ ol vagy feladatr´ ol besz´el¨ unk, ha a c´elf¨ uggv´eny maga is line´ aris f¨ uggv´eny. Ellenkez˝ o esetben haszn´aljuk a modellre a nemline´ aris programoz´ asi feladat elnevez´est. E r¨ovid bevezet´esb˝ ol is kit˝ unik, hogy az oper´aci´okutat´as igen nagy ´es sokr´et˝ u anyagot foglal mag´aba. Ennek a nagy anyagnak csak egy kis r´esz´evel fogunk megismerkedni a tov´abbiak sor´an. Els˝ok´ent a line´aris programoz´as t´emak¨or´evel foglalkozunk. Ismertetj¨ uk a line´aris programoz´asi feladatok megold´as´ara szolg´al´ o szimplex algoritmust ´es ennek k¨ ul¨onb¨oz˝o v´altozatait. Ezt k¨ovet˝oen a lehets´eges megold´ asok halmaz´anak tulajdons´agait vizsg´aljuk, ´es ´erintj¨ uk a dualit´as, valamint az eg´esz´ert´ek˝ u line´aris programoz´as t´emak¨or´et, majd k´et speci´alis line´aris programoz´ asi feladatot vizsg´alunk, a hozz´arendel´esi feladatot ´es a sz´all´ıt´asi feladatot. Ezek ut´an a nemline´aris programoz´as n´eh´any speci´alis, viszonylag j´ol kezelhet˝o feladat´ at t´argyaljuk. ´ ´ 2. LINEARIS PROGRAMOZAS
2.1 A line´ aris programoz´ as ´ altal´ anos feladata, standard feladat
Az el˝oz˝ o pontban megismerkedt¨ unk az optimumsz´am´ıt´asi modellek oszt´alyoz´as´ aval. Ennek kapcs´an defini´altuk a line´aris programoz´asi feladatot, amelyben a felt´etelek line´ aris egyenl˝ os´eg, egyenl˝ otlens´eg form´aj´aban adottak, ´es ezen felt´etelek mellett kell egy line´aris f¨ uggv´eny maximum´ at vagy minimum´at meghat´arozni. Tekintettel arra, hogy tetsz˝oleges line´aris programoz´asi feladatra max{z(x) : x ∈ L} ´es min{−z(x) : 8
x ∈ L} egyidej˝ uleg l´eteznek illetve nem l´eteznek, tov´abb´a max{z(x) : x ∈ L} = −min{−z(x) : x ∈ L}, az optim´alis megold´as l´etez´ese ´es meghat´aroz´asa szempontj´ab´ ol elegend˝ o a k´et t´ıpus k¨oz¨ ul az egyik vizsg´alat´ara szor´ıtkozni. Ennek megfelel˝oen a tov´abbiakban csak minimum feladatokat vizsg´alunk. Nyilv´ anval´ o, hogy tetsz˝oleges minimum feladat sorcser´ekkel az al´abbi alakban ´ırhat´ o fel: a11 x1 + ... + a1m xm ≤ b1 .. .. .. . . .
(2.1.1)
ak1 x1 + ... + akm xm ≤ bk ak+1,1 x1 + ... + ak+1,m xm = bk+1 .. .. .. . . . al1 x1 + ... + alm xm = bl al+1,1 x1 + ... + al+1,m xm ≥ bl+1 .. .. .. . . . an1 x1 + ... + anm xm ≥ bn —————————————————— α + c1 x1 + ... + cm xm = z → min
ahol 1 ≤ k ≤ l ≤ n. A feladatot m´atrixokkal ´es vektorokkal a k¨ovetkez˝ok´eppen adhatjuk meg: A1 x ≤ b(1) A2 x = b(2) A3 x ≥ b(3) ——————— α + cx = z(x) → min ahol A1 , A2 , A3 , b(1) , b(2) , b(3) , c a megfelel˝o egy¨ utthat´okb´ol ´all´o m´atrixokat illetve vektorokat jel¨olik. A sor- ´es oszlopvektorokat k¨ ul¨on jel¨ol´essel nem fogjuk megk¨ ul¨onb¨ oztetni, az egyes formul´ akb´ ol mindig ki lehet k¨ovetkeztetni, hogy az illet˝o vektor sorvektor vagy oszlopvektor. P´eld´ aul a fenti fel´ır´asban c = (c1 , . . . , cm ) ´es x pedig olyan oszlopvektor, amelynek komponensei x1 , . . . , xm . Hasonl´oan fogunk elj´arni a m´atrixok, vektorok m´ereteit illet˝oen is, azaz a t´ıpust csak akkor ´ırjuk ki, ha ez az ¨osszef¨ ugg´esekb˝ol nem k¨ovetkeztethet˝ o ki, vagy a t´argyal´as sz¨ uks´egess´e teszi azt. A fenti fel´ır´asban A1 p´eld´ aul egy k × m-es m´atrix. Megjegyezz¨ uk m´eg, hogy szisztematikusan x-szel fogjuk ¯ , x∗ mindig egy-egy konkr´et vektort fog jel¨olni. jel¨ olni a vektorv´ altoz´ ot, ´es x ¯ vektor akkor Tekints¨ uk most a (2.1.1) feladatot. Nyilv´anval´o, hogy egy x ¯ kiel´eg´ıti ennek az ´es csak akkor el´eg´ıt ki egy egyenl˝os´eget, egyenl˝otlens´eget, ha x egyenl˝ os´egnek, egyenl˝ otlens´egnek a −1-szeres´et is. K¨ovetkez´esk´eppen, ha a (2.1.1) feladatban −1-gyel megszorozzuk azokat az egyenl˝os´egeket, egyenl˝otlens´egeket, amelyek jobboldala negat´ıv, akkor olyan line´aris programoz´asi feladatot kapunk, amelynek felt´etelrendszer´et azok ´es csak azok a vektorok el´eg´ıtik ki, amelyek kiel´eg´ıtik a (2.1.1) feladat felt´etelrendszer´et is. Ez azt jelenti, hogy e k´et felt´etelrendszerhez tartoz´ o lehets´eges megold´asok halmaza megegyezik. ´Igy a k´et feladatnak egyidej˝ uleg ¯ optim´alis megold´asa az egyik feladatnak, l´etezik optim´alis megold´asa, tov´ abb´a, ha x ¯ optim´alis megold´asa a m´asik feladatnak is. Ez azt jelenti, hogy az optim´alis akkor x 9
megold´ as l´etez´es´et ´es meghat´aroz´ as´at illet˝oen az al´abbi t´ıpus´ u feladatok vizsg´alat´ara szor´ıtkozhatunk:
(2.1.2)
A1 x ≤ b(1) A2 x = b(2) A3 x ≥ b(3) , (b(i) ≥ 0, i = 1, 2, 3) ——————————————— α + cx = z(x) → min
Konstru´ aljunk a (2.1.2) feladatb´ol egy tov´abbi line´aris programoz´asi feladatot u ´gy, hogy a feladatban szerepl˝o xi v´altoz´ok mindegyik´et az ui , vi nemnegat´ıv v´altoz´ok k¨ ul¨ onbs´eg´evel helyettes´ıtj¨ uk. Ekkor a k¨ovetkez˝o feladathoz jutunk:
(2.1.3)
A1 (u − v) ≤ b(1) A2 (u − v) = b(2) 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 k¨oz¨ott igen szoros kapcsolat van, ezt adja meg az al´ abbi seg´edt´etel. 1.seg´ edt´ etel. A (2.1.2) ´es (2.1.3) feladatoknak egyidej˝ uleg l´etezik optim´ alis megold´ asa, ´es az optim´ alis megold´ asok k¨ ozvetlen¨ ul sz´ armaztathat´ ok egym´ asb´ ol. Bizony´ıt´ as. Tegy¨ uk fel, hogy a (2.1.2) feladatnak l´etezik optim´alis megold´asa, ´es ¯ egy optim´alis megold´ast. K´epezz¨ ¯, v ¯ vektorokat a k¨ovetkez˝o m´odon: jel¨ olj¨ on x uk az u ½ ½ 0, ha x ¯j ≥ 0, x ¯j , ha x ¯j ≥ 0, v¯j = u ¯j = −¯ xj k¨ ul¨onben. 0 k¨ ul¨ onben, ¯ ) optim´alis megold´asa a (2.1.3) feladatnak. Ehhez els˝ok´ent Megmutatjuk, hogy (¯ u, v ¯ ) lehets´eges megold´asa (2.1.3)-nak, azaz kiel´eg´ıti annak felt´eteligazoljuk, hogy (¯ u, v ¯ ) defin´ıci´ ¯ ≥ 0, v ¯ ≥ 0. M´asr´eszt vegy¨ rendszer´et. Az (¯ u, v oj´ ab´ ol k¨ovetkezik, hogy u uk ¯ −v ¯=x ¯ . Mivel x ¯ a (2.1.2) feladat lehets´eges megold´asa, ez´ert ´eszre, hogy u ¯ ≤ b(1) , A2 x ¯ = b(2) , A3 x ¯ ≥ b(3) A1 x ¯ ) ≤ b(1) , A2 (¯ ¯ ) = b(2) , A3 (¯ ¯ ) ≥ b(3) is telteljes¨ ul. De akkor A1 (¯ u−v u−v u−v ¯ ) lehets´eges megold´asa a (2.1.3) feladatnak. Most megmutatjuk, jes¨ ul, ´es ´ıgy (¯ u, v ¯ ) optim´alis megold´as is. Ehhez elegend˝o bel´atni, hogy a (2.1.3) feladat hogy (¯ u, v ¯ ) teljes¨ tetsz˝ oleges (u∗ , v∗ ) lehets´eges megold´as´ara z˜(u∗ , v∗ ) ≥ z˜(¯ u, v ul. Legyen x∗ = u∗ − v∗ . Mivel (u∗ , v∗ ) lehets´eges megold´asa (2.1.3)-nak, ez´ert A1 (u∗ − v∗ ) ≤ b(1) , A2 (u∗ −v∗ ) = b(2) ´es A3 (u∗ −v∗ ) ≥ b(3) teljes¨ ul. De akkor A1 x∗ ≤ b(1) , A2 x∗ = b(2) ¯ op´es A3 x∗ ≥ b(3) , ´es ´ıgy x∗ lehets´eges megold´asa a (2.1.2) feladatnak. Mivel x ¯ ) ´es z(x∗ ) = z˜(u∗ , v∗ ), tim´ alis megold´as, ez´ert z(x∗ ) ≥ z(¯ x). M´asr´eszt z(¯ x) = z˜(¯ u, v ¯ ) k¨ovetkezik, azaz (¯ ¯ ) a (2.1.3) feladatnak egy optim´alis amib˝ ol z˜(u∗ , v∗ ) ≥ z˜(¯ u, v u, v megold´ asa. ¯ optim´alis megold´asa a (2.1.2) feladatnak, Ezzel igazoltuk, hogy amennyiben x ¯ ) optim´alis megold´asa a (2.1.3) akkor a fentieknek megfelel˝oen megkonstru´alt (¯ u, v 10
¯ ) optim´alis feladatnak. Teljesen hasonl´o gondolatmenettel bel´athat´o, hogy ha (¯ u, v ¯ = u ¯ −v ¯ vektor optim´alis megold´asa a (2.1.2) megold´ asa (2.1.3)-nak, akkor az x feladatnak. Ebb˝ol a k´et ´all´ıt´ asb´ ol k¨ovetkezik, hogy a (2.1.2) ´es (2.1.3) feladatoknak egyidej˝ uleg l´etezik optim´alis megold´asa, ´es az optim´alis megold´asok k¨ozvetlen¨ ul sz´ armaztathat´ ok egym´asb´ ol. Ezzel az 1.seg´edt´etel bizony´ıt´as´at befejezt¨ uk. K¨ ovetkezm´ eny. Az optim´ alis megold´ as l´etez´es´et ´es meghat´ aroz´ as´ at illet˝ oen elegend˝ o az al´ abbi, (2.1.4) t´ıpus´ u feladatok vizsg´ alat´ ara szor´ıtkozni. A1 x ≤ b(1) A2 x = b(2) (2.1.4) A3 x ≥ b(3) x ≥ 0, (b(i) ≥ 0, i = 1, 2, 3) ————————————– α + cx = z(x) → min Val´ oban, hiszen a z´ar´ ojelek felbont´as´aval ´es ´atjel¨ol´esek alkalmaz´as´aval a (2.1.3) feladat (2.1.4) alak´ ura hozhat´o. Megjegyezz¨ uk, hogy a fenti Ai m´atrixok nem egyeznek meg a (2.1.2)-ben szerepl˝o m´atrixokkal, az azonos szimb´olumokat csak az egyszer˝ ubb jel¨ol´estechnika ´erdek´eben haszn´aljuk. Vizsg´ aljuk ezek ut´an (2.1.4)-et. Konstru´aljuk meg hozz´a az al´abbi (2.1.5) feladatot, amelyben E(1) , E(3) megfelel˝ o m´eret˝ u egys´egm´atrixok ´es u,v megfelel˝o dimenzi´oj´ u vektorv´ altoz´ ok.
(2.1.5)
A1 x + E(1) u = b(1) A2 x = b(2) 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 k´et feladat k¨oz¨ ott ism´et szoros kapcsolat van, amint azt a k¨ovetkez˝o seg´edt´etel mutatja. 2.seg´ edt´ etel. A (2.1.4) ´es (2.1.5) feladatoknak egyidej˝ uleg l´etezik optim´ alis megold´ asa, ´es az optim´ alis megold´ asok k¨ ozvetlen¨ ul sz´ armaztathat´ ok egym´ asb´ ol. ¯ (2.1.4) optim´alis megold´aBizony´ıt´ as. Els˝ok´ent igazoljuk, hogy amennyiben x ¯, v ¯ ) optim´alis megold´asa (2.1.5)-nek, ahol u ¯ = b(1) − A1 x ¯ , tov´abb´ sa, akkor (¯ x, u a (3) ¯ = A3 x ¯ − b . Az u ¯, v ¯ defin´ıci´ ¯ lehets´eges megold´asa a (2.1.4) v oj´ ab´ol ´es abb´ol, hogy x ¯ ≥ 0, u ¯ ≥ 0, v ¯ ≥ 0, m´asr´eszt az, hogy feladatnak k¨ovetkezik egyr´eszt az, hogy x ¯ + E(1) u ¯ = b(1) , A2 x ¯ = b(2) , A3 x ¯ − E(3) v ¯ = b(3) teljes¨ A1 x ul. Ez pontosan azt jelenti, ¯, v ¯ ) lehets´eges megold´asa a (2.1.5) feladatnak. Ahhoz, hogy (¯ ¯, v ¯ ) ophogy (¯ x, u x, u tim´ alis megold´as is, azt kell igazolnunk, hogy (2.1.5) tetsz˝oleges (x∗ , u∗ , v∗ ) lehets´eges megold´ as´ ara z(x∗ ) ≥ z(¯ x) teljes¨ ul. Ehhez vegy¨ uk ´eszre, hogy ha (x∗ , u∗ , v∗ ) lehets´eges ∗ ¯ opmegold´ asa (2.1.5)-nek, akkor x lehets´eges megold´asa (2.1.4)-nek. De akkor x ¯, v ¯) tim´ alis megold´as volta miatt z(x∗ ) ≥ z(¯ x) teljes¨ ul, amivel igazoltuk, hogy (¯ x, u optim´ alis megold´as. 11
¯, v ¯ ) a (2.1.5) Teljesen hasonl´o gondolatmenettel bel´athat´o, hogy amennyiben (¯ x, u ¯ a (2.1.4) feladat egy optim´alis megold´asa. feladat egy optim´alis megold´asa, akkor x A fenti k´et ´all´ıt´ asb´ ol k¨ovetkezik, hogy a k´et feladatnak egyidej˝ uleg l´etezik optim´alis megold´ asa, ´es ezek egym´asb´ ol k¨ozvetlen¨ ul sz´armaztathat´ok. K¨ ovetkezm´ eny. Az optim´ alis megold´ as l´etez´es´et ´es meghat´ aroz´ as´ at illet˝ oen elegend˝ o az al´ abbi, (2.1.6) t´ıpus´ u feladatok vizsg´ alat´ ara szor´ıtkozni. (2.1.6)
Ax = b x ≥ 0, (b ≥ 0) ————————– α + cx = z(x) → min
¨ Osszegezve az el˝oz˝ oeket, igazol´ast nyert, hogy tetsz˝oleges line´aris programoz´asi feladat megold´asa visszavezethet˝ o egy alkalmas (2.1.6) t´ıpus´ u feladat megold´as´ara. Tekintettel ezen feladatok ilyen ´ertelm˝ u kit¨ untetett szerep´ere, a (2.1.6) t´ıpus´ u feladatokat standard feladatoknak nevezz¨ uk. Az elmondottak egyben az al´abbi elj´ar´ast is szolg´ altatj´ ak, amely tetsz˝oleges line´aris programoz´asi feladat standard feladatra val´o visszavezet´es´ere alkalmas. Elj´ ar´ as: 1.l´ep´es. Ha a megoldand´o feladat maximum feladat, akkor szorozzuk meg a c´elf¨ uggv´enyt −1-gyel, ´es keress¨ uk ennek az u ´j c´elf¨ uggv´enynek a minimum´at. 2.l´ep´es. Ha szerepel negat´ıv mennyis´eg a jobboldalon, akkor szorozzuk meg a megfelel˝ o egyenl˝ os´eget vagy egyenl˝otlens´eget −1-gyel. 3.l´ep´es. Ha szerepelnek olyan v´altoz´ok a feladatban, amelyekre nincs el˝o´ırva nemnegativit´ asi felt´etel, akkor helyettes´ıts¨ uk rendre ezeket a v´altoz´okat k´et nemnegat´ıv v´ altoz´ o k¨ ul¨ onbs´eg´evel. otlens´eg baloldal´ahoz adjunk hozz´a illetve vonjunk 4.l´ep´es. Minden egyes egyenl˝ ki egy nemnegat´ıv v´altoz´ ot att´ol f¨ ugg˝oen, hogy a tekintett egyenl˝otlens´egben ≤ illetve ≥ szerepel, ´es v´altoztassuk az egyenl˝otlens´egeket egyenl˝os´egekre. Az elj´ar´ as alkalmaz´ as´ at az al´abbi p´eld´an illusztr´aljuk: 1.p´elda. 2x + 3y ≤ 5 −4x + 7y = 3 2x + 5y ≥ 5 8x− y ≥ −3 ——————————— 17 + 4x + 5y = z(x, y) → max Az els˝o l´ep´es ut´an a k¨ovetkez˝ o feladatot kapjuk: 2x + 3y ≤ 5 −4x + 7y = 3 2x + 5y ≥ 5 12
8x− y ≥ −3 ———————————– −17 − 4x − 5y = z˜(x, y) → min V´egrehajtva a m´asodik l´ep´est, az al´abbi feladat ad´odik: 2x + 3y ≤ 5 −4x + 7y = 3 2x + 5y ≥ 5 −8x+ y ≤ 3 ———————————– −17 − 4x − 5y = z˜(x, y) → min A harmadik l´ep´esben az x = x1 − x2 , y = x3 − x4 helyettes´ıt´essel a k¨ovetkez˝o feladatot nyerj¨ uk: 2x1 − 2x2 + 3x3 − 3x4 ≤ 5 −4x1 + 4x2 + 7x3 − 7x4 = 3 2x1 − 2x2 + 5x3 − 5x4 ≥ 5 −8x1 + 8x2 +x3 −x4 ≤ 3 xj ≥ 0, (j = 1, . . . , 4) ——————————————————– −17 − 4x1 + 4x2 − 5x3 + 5x4 = z¯(x1 , . . . , x4 ) → min V´eg¨ ul a negyedik l´ep´esben, bevezetve az x5 , x6 , x7 v´altoz´okat, az al´abbi standard feladathoz jutunk: 2x1 − 2x2 + 3x3 − 3x4 +x5 =5 −4x1 + 4x2 + 7x3 − 7x4 =3 2x1 − 2x2 + 5x3 − 5x4 −x6 =5 −8x1 + 8x2 +x3 −x4 +x7 = 3 xj ≥ 0, (j = 1, . . . , 7) ————————————————————— −17 − 4x1 + 4x2 − 5x3 + 5x4 = z ∗ (x1 , . . . , x7 ) → min A standard feladatok vizsg´alat´an´al igen hasznos lesz a k¨ovetkez˝o fogalom. K´et standard feladatot ekvivalensnek nevez¨ unk, ha a lehets´eges megold´asok halmazai egybeesnek, ´es ezen a k¨oz¨ os L halmazon a k´et c´elf¨ uggv´eny megegyezik. A bevezetett rel´ aci´ or´ ol k¨onnyen bel´athat´ o, hogy reflex´ıv, szimmetrikus, valamint tranzit´ıv, ´es ´ıgy a standard feladatok halmaz´an egy ekvivalenciarel´aci´o. Ismeretes, hogy egy ekvivalenciarel´ aci´ ohoz hozz´arendelhet˝ o az illet˝o halmaz egy oszt´alyoz´asa, ha az egym´assal ekvivalens elemeket egy oszt´alyba soroljuk. ´Igy a bevezetett rel´aci´o alapj´an a standard feladatok egy oszt´alyoz´ as´ ahoz jutunk: k´et feladat akkor ´es csak akkor ker¨ ul egy oszt´ alyba, ha ekvivalensek. Az ilyen m´odon meghat´arozott oszt´alyokat az ekvivalenciarel´ aci´ o oszt´ alyainak nevezz¨ uk. Az ekvivalencia defin´ıci´oj´ab´ol k¨ovetkezik, hogy ekvivalens feladatok optim´alis megold´asai megegyeznek. Ez azt jelenti, hogy az optim´alis megold´ as l´etez´es´et ´es meghat´aroz´ as´at illet˝oen adott feladat helyett tekinthet¨ unk egy m´ asik, az el˝oz˝ ovel ekvivalens feladatot. Az ekvivalenci´anak ezt a k¨ovetkezm´eny´et a tov´ abbiakban gyakran fel fogjuk haszn´alni. 13
Feladatok
1. Hat´arozzuk meg az al´abbi line´aris programoz´asi feladatokhoz rendre azokat a standard feladatokat, amelyekre az illet˝o line´aris programoz´asi feladatok visszavezethet˝ ok.
(a)
(b)
3x1 + x2 − 4x3 ≥ −2 2x1 − x2 + x3 ≤ 8 x1 + x2 + x3 = 4 x1 ≥ 0 ——————————— 3x1 + x2 − 2x3 = z(x) → max 4x1 + x2 − 5x3 ≤ 7 2x1 + x2 + 2x3 ≤ 8 −5x1 + x2 ≥ −2 x1 ≤ 0, x2 ≥ 0 ————————————−2x1 − 4x2 + x3 = z(x) → min
2. Mutassuk meg, hogy az al´abbi standard feladatok ekvivalensek: 2x − y = 0 x+y =1 x ≥ 0, y ≥ 0 ——————– 5x + 4y = z(x, y) → min
−x + 2y = 1 −3x + 3y = 1 x ≥ 0, y ≥ 0 ——————– −x + 7y = z(x, y) → min
3. Adjunk meg olyan standard feladatot, amely ekvivalens az al´abbi feladattal. −8x + 12y = 9 −2x − 2y = 1 x ≥ 0, y ≥ 0 —————————– 2x + 3y = z(x, y) → min 4. Igazoljuk, hogy az al´abbi m˝ uveletek egy standard feladathoz olyan feladatot rendelnek, amely ekvivalens az eredetivel. (a) A feladat valamely egyenlet´et helyettes´ıts¨ uk az illet˝o egyenlet egy pozit´ıv konstansszoros´ aval. 14
(b) A feladat valamely egyenlet´enek konstansszoros´at adjuk hozz´a a feladat egy m´ asik egyenlet´ehez, ´es az eredm´ennyel helyettes´ıts¨ uk az ut´obbi egyenletet, felt´eve, hogy az u ´j egyenlet jobboldala nemnegat´ıv. (c) A feladat valamely egyenlet´enek konstansszoros´at adjuk hozz´a a c´elf¨ uggv´enyt meghat´ aroz´ o egyenlethez, ´es az el˝o´ all´o egyenlettel helyettes´ıts¨ uk a c´elf¨ uggv´eny egyenlet´et. 5. Vezess¨ uk be a standard feladatok halmaz´an a k¨ovetkez˝o rel´aci´ot: k´et standard feladat gyeng´en ekvivalens, ha lehets´eges megold´asaik halmazai egybeesnek, ´es ezen a k¨oz¨ os halmazon a k´et c´elf¨ uggv´eny elt´er´ese konstans. Igazoljuk, hogy a bevezetett rel´ aci´ o ekvivalenciarel´ aci´ o, tov´ abb´ a mutassuk meg, hogy gyeng´en ekvivalens feladatok optim´ alis megold´asai megegyeznek.
2.2 Szimplex algoritmus
A tov´abbiakban egy olyan elj´ar´ast ´ep´ıt¨ unk fel, amely alapj´an tetsz˝oleges standard feladatr´ol eld¨onthet˝ o, hogy l´etezik-e optim´alis megold´asa, ´es ha l´etezik, akkor az elj´ar´ as alapj´an egy optim´alis megold´as meg is hat´arozhat´o. Ezen elj´ar´as fel´ep´ıt´ese t¨ obb l´ep´esen kereszt¨ ul t¨ort´enik, ´es az algoritmus konkr´et megad´as´ara a 2.6 fejezetben ker¨ ul sor. Els˝o l´ep´esk´ent egy speci´alis standard feladatot vizsg´alunk, ´es ehhez adunk meg egy, a megold´ast szolg´ altat´ o algoritmust. Egy standard feladatot lehets´eges kanonikus alak´ u feladatnak nevez¨ unk, ha sor´es oszlopcser´ekkel, a v´altoz´ ok ´atjel¨ ol´es´evel az al´abbi form´aban ´ırhat´o fel: x1 +
(2.2.1)
a1,n+1 xn+1 + . . . + a1,n+m xn+m = b1 x2 + a2,n+1 xn+1 + . . . + a2,n+m xn+m = b2 .. .. .. .. . . . . xn + an,n+1 xn+1 + . . . + an,n+m xn+m = bn xj ≥ 0 (j = 1, . . . , n + m), (bi ≥ 0, i = 1, . . . , n) ——————————————————————————α+ +cn+1 xn+1 + . . . + cn+m xn+m = z(x) → min
A (2.2.1) feladattal kapcsolatban vegy¨ uk ´eszre, hogy k¨ozvetlen¨ ul leolvashat´o egy trivi´ alis lehets´eges megold´asa, nevezetesen x ¯s = bs (s = 1, . . . , n), x ¯n+t = 0 (t = 1, . . . , m). Ezt a trivi´alis lehets´eges megold´ast b´ azismegold´ asnak, az xs (s = 1, . . . , n) v´ altoz´ okat pedig b´ azisv´ altoz´ oknak nevezz¨ uk. Ha van olyan 1 ≤ i ≤ n index, hogy bi = 0, akkor a fenti b´azismegold´ ast szok´asos degener´ alt b´ azismegold´ asnak nevezni. A b´azismegold´ ast illet˝oen vegy¨ uk ´eszre, hogy az xs b´azisv´altoz´o egy¨ utthat´oib´ ol all´ ´ o oszlopvektor pontosan az n-dimenzi´os euklideszi t´er s-edik egys´egvektora, ´es 15
xs egy¨ utthat´ oja a c´elf¨ uggv´eny egyenlet´eben 0-val egyenl˝o. V´eg¨ ul egyszer˝ u behelyettes´ıt´essel meg´allap´ıthatjuk, hogy a z(x) c´elf¨ uggv´eny a b´azismegold´ason az α ´ert´eket veszi fel. A k¨ovetkez˝ o t´etel elegend˝o felt´etelt ad arra n´ezve, hogy a (2.2.1) feladat b´azismegold´ asa mikor lesz optim´alis megold´as. 1.t´ etel. A (2.2.1) feladat b´ azismegold´ asa egyben optim´ alis megold´ as is, ha cn+t ≥ 0 (t = 1, . . . , m) teljes¨ ul. uggv´eny´ert´ek α, ez´ert elegend˝o Bizony´ıt´ as. Mivel a b´azismegold´ason felvett c´elf¨ ¯ lehets´eges megold´as´ara z(¯ igazolni, hogy a (2.2.1) feladat tetsz˝oleges x x) ≥ α teljes¨ ul. ¯ lehets´egesPmegold´as l´ev´en nemnegat´ıv. M´asr´eszt a felt´ Val´ oban, x e tel szerint c ≥ 0 n+t Pm m (t = 1, . . . , m), ´ıgy t=1 cn+t x ¯n+t ≥ 0. De akkor z(¯ x) = α + t=1 cn+t x ¯n+t ≥ α, amivel az ´all´ıt´ ast igazoltuk. A t´etelben megfogalmazott el´egs´eges felt´etelt szok´asos optimum-krit´eriumnak nevezni. Azt, hogy a fenti felt´etel nem sz¨ uks´eges, p´eld´aul a k¨ovetkez˝o lehets´eges kanonikus alak´ u feladat mutatja: x1 +x3 = 0 x2 + x3 = 0 0 ≤ xj (j = 1, 2, 3) —————————−5x3 = z(x) → min ¯ = (0, 0, 0) Nyilv´ anval´ o, hogy a fenti feladatnak egyetlen lehets´eges megold´asa van, az x vektor, amely egyben b´azismegold´ as is, ´es optim´alis megold´as is. Ennek ellen´ere az optimum-krit´erium nem teljes¨ ul. A k¨ovetkez˝ o t´etel, amely b´ azisv´ altoztat´ as t´etele n´even ismeretes, lehet˝ov´e teszi, hogy bizonyos esetben a (2.2.1) feladatr´ol ´att´erj¨ unk egy vele ekvivalens lehets´eges kanonikus alak´ u feladatra u ´gy, hogy az u ´j feladat b´azismegold´as´an felvett c´elf¨ uggv´eny´ert´ek ne legyen nagyobb, mint α. 2.t´ etel. Ha a (2.2.1) feladat c´elf¨ uggv´eny´eben a cj (n + 1 ≤ j ≤ n + m) egy¨ utthat´ o negat´ıv, tov´ abb´ a l´etezik a ∆ = min{br /arj : arj > 0, 1 ≤ r ≤ n} mennyis´eg, akkor megadhat´ o egy olyan, a (2.2.1) feladattal ekvivalens lehets´eges kanonikus alak´ u feladat, ∗ ∗ amelynek x b´ azismegold´ as´ ara z(x ) = α + cj ∆ teljes¨ ul. Bizony´ıt´ as. Els˝ o l´ep´esk´ent megkonstru´aljuk az u ´j feladatot. E c´elb´ol tegy¨ uk fel, hogy cj < 0, ∆ = bk /akj ´es jel¨olje (2.2.1) i-edik egyenlet´et ri , a c´elf¨ uggv´eny egyenlet´et pedig z. Hajtsuk v´egre a (2.2.1) feladaton az al´abbi ´atalak´ıt´asokat: r0k = r0i = ri −
aij rk akj
1 rk , akj (1 ≤ i ≤ n, i 6= k),
z0 = z − 16
cj rk , akj
ahol r0t az u ´j feladat t-edik egyenlet´et (t = 1, . . . , n), z0 pedig az u ´j feladat c´elf¨ uggv´enyegyenlet´et jel¨ oli. Megmutatjuk, hogy a fenti m´odon el˝o´all´ıtott feladat rendelkezik a k´ıv´ant tulajdons´ agokkal, azaz ekvivalens a (2.2.1) feladattal, lehets´eges kanonikus alak´ u, tov´abb´a ∗ ∗ az x b´azismegold´ as´ ara z(x ) = α + cj ∆ teljes¨ ul. Az ekvivalencia igazol´as´ ahoz jel¨olje L a (2.2.1) feladat, ´es L0 az u ´j feladat ¯ ∈ L tetsz˝oleges. ¯ ≥ 0 lehets´eges megold´asainak a halmaz´at. Legyen x Akkor x Pn+m ¯ kiel´eg´ıti az rt (t = 1, . . . , n) egyenletek mindegyik´et, azaz ¯ s = bt ´es x s=1 ats x (t = 1, . . . , n) teljes¨ ul, ahol tetsz˝oleges 1 ≤ p ≤ n; 1 ≤ q ≤ n indexekre n 1, ha p = q, apq = 0 k¨ ul¨onben. Vizsg´ aljuk az u ´j feladat r0i egyenlet´et, ahol 1 ≤ i ≤ n, i 6= k. Az ri − (aij /akj )rk osszef¨ ¨ ugg´essel meghat´arozott r0i egyenlet a k¨ovetkez˝o: ¶ n+m Xµ aij aij ais − aks xs = bi − bk . a a kj kj s=1 ¯ kiel´ Egyszer˝ u behelyettes´ıt´essel bel´athat´o, hogy x eg´ıti a fenti egyenletet. Tekints¨ uk P n+m 0 ezek ut´an rk -t. Ez defin´ıci´ o szerint a k¨ovetkez˝o: et s=1 (aks /akj )xs = bk /akj . Ism´ ¯ kiel´eg´ıti ezt az egyenletet is. K¨ovetkez´esk´epp x ¯ behelyettes´ıt´essel ad´odik, hogy x 0 0 ¯ ∈ L , ´es ´ıgy L ⊆ L k¨ovetkezik. A kiel´eg´ıti az u ´j feladat minden egyenlet´et, amib˝ol x ¯ ∈ L0 tetsz˝oleges. Akkor ford´ıtott ir´any´ u tartalmaz´as igazol´as´ahoz legyen x ¶ n+m Xµ aij aij ais − aks x ¯ s = bi − bk (1 ≤ i ≤ n, i 6= k), a a kj kj s=1 n+m X s=1
aks bk x ¯s = akj akj
Pn+m teljes¨ ul. Az ut´obbi egyenletb˝ ol s=1 aks x ¯ = bk ad´odik. Ezt felhaszn´alva, az els˝o Pn+m s ¯s = bi (1 ≤ i ≤ n, i 6= k) teljes¨ ul, azaz n − 1 egyenletb˝ ol azt kapjuk, hogy s=1 ais x 0 0 ¯ ∈ L, amivel L ⊆ L ad´odik. Az igazolt k´et tartalmaz´asb´ol az L = L egyenl˝os´eg x k¨ ovetkezik. Ezek ut´an az ekvivalenci´ahoz m´eg azt kell megmutatnunk, hogy az L halmazon a k´et c´elf¨ uggv´eny megegyezik. Az u ´j c´elf¨ uggv´enyt meghat´aroz´o egyenlet a k¨ ovetkez˝ o: ¶ n+m Xµ cj cj α+ cs − aks xs = z(x) − bk , akj akj s=1 ahol ct = 0 (t = 1, . . . , n). Az egyenlet ´altal meghat´arozott u ´j f¨ uggv´enyt jel¨olje z 0 (x). 0 Rendez´essel z (x)-re a k¨ovetkez˝ o kifejez´est kapjuk: Ã ! n+m n+m X X c j bk − aks xs . z 0 (x) = α + cs xs + a kj s=1 s=1 17
¯ ∈ L lehets´eges megold´asra z(¯ A fenti kifejez´esb˝ ol nyilv´ anval´ o, hogy tetsz˝oleges x x) = 0 z (¯ x) teljes¨ ul, amivel az ekvivalenci´at igazoltuk. Ezek ut´an megmutatjuk, hogy az u ´j feladat lehets´eges kanonikus alak´ u. Ehhez els˝ ok´ent igazoljuk az el˝o´ all´ıtott feladat b01 , . . . , b0n jobboldal´anak nemnegativit´as´at. Val´ oban, b0k = bk /akj nemnegat´ıv, mivel bk ≥ 0 ´es akj > 0. Most legyen 1 ≤ i ≤ n, ugg˝oen k´et esetet i 6= k tetsz˝oleges. Akkor b0i = bi − (aij /akj )bk . Az aij el˝ojel´et˝ol f¨ k¨ ul¨ onb¨ oztet¨ unk meg. Ha aij ≤ 0, akkor bi ≥ 0 ´es bk /akj ≥ 0 alapj´an b0i ≥ 0 teljes¨ ul. Ha aij > 0, akkor ∆ = bk /akj miatt bi /aij ≥ bk /akj , ´es ´ıgy bi ≥ (aij /akj )bk , amivel b0i ≥ 0 ad´odik. Most vegy¨ uk ´eszre, hogy egyr´eszt az ´atalak´ıt´as sor´an az x1 , . . . , xk−1 , xk+1 , . . . , xn v´ altoz´ ok egy¨ utthat´ oi sem az egyenletrendszerben, sem a c´elf¨ uggv´enyben nem v´altoz0 uttnak, m´asr´eszt kisz´am´ıtva az u ´j feladatban az xj v´altoz´o aij (i = 1, . . . , n), c0j egy¨ hat´ oit, a k¨ovetkez˝ oket kapjuk: n 1, ha i = k, 0 0 cj = 0 , aij = 0 k¨ ul¨onben. K¨ ovetkez´esk´epp, ha az u ´j feladatban az xs v´altoz´okr´ol ´att´er¨ unk az x0s v´altoz´okra 0 0 0 az xs = xs (1 ≤ s ≤ n + m, s 6= k, s 6= j), xj = xk , xk = xj helyettes´ıt´essel, ´es ´atrendezz¨ uk az oszlopokat az u ´j v´altoz´ok indexei szerint, akkor egy (2.2.1) alak´ u feladatot kapunk, azaz az u ´j feladat lehets´eges kanonikus alak´ u. V´eg¨ ul vizsg´aljuk az u ´j feladat x∗ b´azismegold´as´an a c´elf¨ uggv´eny ´ert´ek´et. A b´azismegold´ as defin´ıci´ oja szerint x∗j = b0k , x∗i = b0i (1 ≤ i ≤ n, i 6= k) ´es x∗s = 0 a tov´abbi s Pn+m indexekre. Az ekvivalencia miatt z 0 (x∗ ) = z(x∗ ). M´asr´eszt z(x∗ ) = α + s=1 cs x∗s = Pn+m α + t=n+1 ct x∗t = α + cj b0k = α + cj bk /akj = α + cj ∆. Ezzel a 2.t´etel bizony´ıt´ as´ at befejezt¨ uk. Vegy¨ uk ´eszre, hogy a fenti bizony´ıt´asban alapvet˝o szerepet j´atszott az akj egy¨ utthat´ o. Tekintettel ezen kit¨ untetett szerepre, az akj egy¨ utthat´ot gener´ al´ o elemnek nevezz¨ uk. Felt´etelez´es¨ unk szerint min{br /arj : arj > 0, 1 ≤ r ≤ n} = bk /akj . Nyilv´ anval´ o, hogy A j-edik oszlop´anak t¨obb eleme is rendelkezhet ezzel a tulajdons´ aggal. Mivel akj tetsz˝oleges ilyen elem volt, ez´ert a bizony´ıt´asban szerepl˝o atalak´ıt´ ´ as b´armelyik, a fenti tulajdons´aggal rendelkez˝o egy¨ utthat´ora ´erv´enyes. A 2.t´etellel kapcsolatban vegy¨ uk m´eg ´eszre, hogy pozit´ıv ∆ eset´en a r´egi feladatr´ol az u ´j feladatra t¨ort´en˝ o ´att´er´es egyidej˝ uleg egy jobb megold´ast is eredm´enyez abban az ´ertelemben, hogy az u ´j b´azismegold´ason felvett c´elf¨ uggv´eny´ert´ek kisebb, mint az eredeti b´azismegold´ ashoz tartoz´o c´elf¨ uggv´eny´ert´ek. Val´oban, ez ut´obbi ´ert´ek α, m´ıg az u ´j b´azismegold´ ashoz tartoz´o f¨ uggv´eny´ert´ek α + cj ∆, ami kisebb α-n´al, ha ∆ > 0. Ezek ut´an vizsg´aljuk a 2.t´etel felt´etel´et. Nyilv´anval´o, hogy min{br /arj : arj > 0, 1 ≤ r ≤ n} akkor ´es csak akkor l´etezik, ha az arj (r = 1, . . . , n) elemek k¨oz¨ott van legal´ abb egy pozit´ıv. Ellenkez˝ o esetben a feladatnak nem l´etezik optim´alis megold´asa, amint azt az al´abbi ´all´ıt´ as mutatja.
arj
3.t´ etel. Ha a (2.2.1) feladatban valamely n + 1 ≤ j ≤ n + m indexre cj < 0 ´es az (r = 1, . . . , n) elemek egyike sem pozit´ıv, akkor a feladat c´elf¨ uggv´enye alulr´ ol nem 18
korl´ atos a lehets´eges megold´ asok halmaz´ an. ¯ (1) , x ¯ (2) , . . . Bizony´ıt´ as. Felt´etel¨ unk szerint arj ≤ 0 (r = 1, . . . , n). Defini´aljuk az x vektorsorozat elemeit a k¨ovetkez˝ ok´eppen: (k)
x ¯j
=k,
(k) x ¯r (k) x ¯s
= br − arj k (r = 1, . . . , n) , = 0 (n + 1 ≤ s ≤ n + m, s 6= j), ahol k tetsz˝oleges pozit´ıv eg´esz. Mivel arj ≤ 0 ´es br ≥ 0 teljes¨ ul b´armely 1 ≤ r ≤ n indexre, tov´ abb´ a k > 0, ez´ert a fenti sorozat elemei rendre nemnegat´ıv vektorok. ¯ (k) M´ asr´eszt egyszer˝ u behelyettes´ıt´essel ad´odik, hogy b´armely k pozit´ıv eg´eszre x ¯ (k) lehets´eges megold´asa a felakiel´eg´ıti a (2.2.1) feladat egyenletrendszer´et, azaz x datnak. Vizsg´aljuk most a c´elf¨ uggv´eny´ert´ekek z(¯ x(1) ), z(¯ x(2) ), . . . sorozat´at. Behe(k) ¯ -t a c´elf¨ lyettes´ıtve x uggv´eny egyenlet´ebe, azt kapjuk, hogy z(¯ x(k) ) = α + cj k. Ekkor a cj < 0 felt´etel miatt, ha k → ∞, akkor z(¯ x(k) ) → −∞. Ebb˝ol viszont m´ar ad´odik, hogy z(x) alulr´ol nem korl´ atos a lehets´eges megold´asok halmaz´an, amivel az ´all´ıt´ast igazoltuk. Az 1., 2. ´es 3.t´etelekkel kapcsolatban megjegyezz¨ uk, ´es a tov´abbiakban felhaszn´ aljuk a k¨ovetkez˝ oket. Tekintettel arra, hogy tetsz˝oleges lehets´eges kanonikus alak´ u feladat sor- ´es oszlopcser´ekkel, a v´altoz´ok ´atjel¨ol´es´evel (2.2.1) alak´ ura hozhat´o, ´es a felsorolt m˝ uveletek az eredeti feladattal ekvivalens feladatot eredm´enyeznek, ez´ert az eml´ıtett h´arom t´etel tetsz˝oleges lehets´eges kanonikus alak´ u feladatra is ´erv´enyes. A h´arom t´etelt felhaszn´alva fel´ep´ıthet¨ unk egy olyan elj´ar´ast, amely alkalmas lehets´eges kanonikus alak´ u feladatok megold´as´ara. Miel˝ott erre r´at´ern´enk, vegy¨ uk ´eszre, hogy a 2.t´etel alkalmaz´ asa adott esetben nem egy´ertelm˝ u. Az eml´ıtett t´etel k´et helyen is szabad v´alaszt´ ast biztos´ıt. Egyr´eszt, ha t¨obb negat´ıv cj szerepel a c´elf¨ uggv´enyben, akkor a t´etel nem tartalmaz utal´ast arra, hogy ezek k¨oz¨ ul melyiket v´ alasszuk. M´asr´eszt, ha cj < 0 ´es ½ ¾ br bk bk min : arj > 0, 1 ≤ r ≤ n = 1 = . . . = s , arj ak1 j aks j ahol s ≥ 2, akkor nincs meghat´arozva, hogy az akt j (t = 1, . . . , s) elemek k¨oz¨ ul melyiket v´alasszuk gener´al´ o elemnek. Nyilv´an egy elj´ar´asban ezeket a v´alaszt´asokat szab´ alyozni kell. Egy konkr´et v´alaszt´asi strat´egia r¨ogz´ıt´es´evel, egy konkr´et elj´ar´ashoz jutunk, ´es k¨ ul¨ onb¨ oz˝ o v´alaszt´ asi strat´egi´ak k¨ ul¨onb¨oz˝o elj´ar´asokat eredm´enyezhetnek. Ezek mindegyike ´ep¨ ulhet a 2.t´etelre, ugyanis a bizony´ıt´as sor´an nem haszn´altuk ki, hogy a negat´ıv c´elf¨ uggv´enyegy¨ utthat´o ´es a gener´al´o elem milyen strat´egia alapj´an lett kiv´ alasztva. Az al´abbi, t¨ort´enetileg legels˝o ilyen elj´ar´asban egy egyszer˝ u strat´egia alapj´an t¨ ort´enik a v´alaszt´ as, ami az elj´ar´ as v´egess´eg´et illet˝oen probl´em´at okoz. Szimplex algoritmus: 19
1.l´ep´es. Ha a tekintett lehets´eges kanonikus alak´ u feladat c´elf¨ uggv´enye nem tartalmaz negat´ıv egy¨ utthat´ ot, akkor v´ege az elj´ar´asnak, a feladat b´azismegold´asa optim´alis megold´ as. Ellenkez˝ o esetben a 2.l´ep´es k¨ovetkezik. uk a negat´ıv cs -ek minimum´at. Jel¨olje cj a minimummal megegyez˝ o 2.l´ep´es. Vegy¨ cs -ek k¨oz¨ ul a legkisebb index˝ ut. Ha arj ≤ 0 (r = 1, . . . , n), akkor v´ege az elj´ar´asnak, a c´elf¨ uggv´eny alulr´ol nem korl´ atos a lehets´eges megold´asok halmaz´an. Ellenkez˝o esetben a 3.l´ep´es k¨ovetkezik. 3.l´ep´es. Ha min{br /arj : arj > 0, 1 ≤ r ≤ n} = bk1 /ak1 j = . . . = bks /aks j , akkor v´alasszuk az akt j (t = 1, . . . , s) elemek k¨oz¨ ul a legkisebb sorindex˝ ut gener´al´ o elemk´ent, majd hajtsuk v´egre a 2.t´etel bizony´ıt´as´aban megadott ´atalak´ıt´asokat, ´es a kapott lehets´eges kanonikus alak´ u feladattal folytassuk az elj´ar´ast az 1.l´ep´esn´el. Az algoritmus helyess´ege k¨ovetkezik az 1., 2. ´es 3.t´etelekb˝ol. Alapvet˝o k´erd´es, hogy mit ´all´ıthatunk az elj´ar´ as v´egess´eg´er˝ol. Ezt most nem t´argyaljuk, de a k´es˝obbiek sor´ an visszat´er¨ unk r´a. El˝obb azonban egy p´eld´an illusztr´aljuk az algoritmust, majd az u ´gynevezett szimplex t´abl´ azatok bevezet´es´evel olyan eszk¨ozt adunk meg, amely nagyban megk¨onny´ıti az elj´ar´ as t´enyleges v´egrehajt´as´at. 2.p´elda. x1
+2x4 +x6 = 2 x2 +3x4 − x5 + 3x6 = 1 x3 −x4 + 2x5 +x6 = 3 xi ≥ 0 (i = 1, . . . , 6) —————————————————−2x4 − 3x5 − 3x6 = z(x) → min
A negat´ıv c´elf¨ uggv´enyegy¨ utthat´ok minimuma −3, ´es a minimummal megegyez˝o cs -ek k¨oz¨ ul c5 a legkisebb index˝ u. Az a15 , a25 , a35 elemek k¨oz¨ ul csak a35 pozit´ıv, ´ıgy csak ez az egy¨ utthat´ o v´alaszthat´ o gener´al´o elemnek. Ekkor a feladat ´atalak´ıt´asa a k¨ ovetkez˝ o ¨osszef¨ ugg´esek alapj´an t¨ort´enik: r03 =
1 r3 , a35
r0i = ri −
ai5 r3 (i = 1, 2), a35
z0 = z −
c5 r3 . a35
V´egrehajtva a fenti ´atalak´ıt´ asokat, a k¨ovetkez˝o feladathoz jutunk: x1 x2 +
1 2 x3 1 2 x3
+2x4 + 52 x4
+x6 = 2 + 72 x6 = 52
− 12 x4 + x5 + 12 x6 =
3 2
xi ≥ 0 (i = 1, . . . , 6) ———————————————————3 7 − 32 x6 = z(x) + 29 → min 2 x3 − 2 x4 Most c4 = −7/2 a legkisebb negat´ıv c´elf¨ uggv´enyegy¨ utthat´o, ´es a14 , a24 lehet gener´ al´ o elem. Ezek k¨oz¨ ul a kisebb sorindex˝ u a14 -et v´alasztva gener´al´o elemnek, ´es v´egrehajtva a megfelel˝o ´ atalak´ıt´ asokat, az al´abbi feladatot kapjuk: 20
1 2 x1 − 45 x1 1 4 x1
+ 12 x6 = 1
+x4 + x2 + 21 x3
+ 94 x6 = 0
+ 12 x3 +x5 + 34 x6 = 2 xi ≥ 0 (i = 1, . . . , 6) ———————————————————————– 7 + 32 x3 + 14 x6 = z(x) + 29 + 72 → min 4 x1
Ebben a feladatban m´ar valamennyi c´elf¨ uggv´enyegy¨ utthat´o nemnegat´ıv, ´ıgy az x ¯4 = 1, x ¯2 = 0, x ¯5 = 2 ´es x ¯1 = x ¯3 = x ¯6 = 0 b´azismegold´as egyben optim´alis megold´as is. A b´ azismegold´ ason felvett z(¯ x) c´elf¨ uggv´eny´ert´ek −9/2 − 7/2 = −8. Az elj´ar´ as konkr´et v´egrehajt´asa ut´an felvet˝odik az a k´erd´es, hogy az egyenletrendszerek valamilyen t¨om¨ or´ıtett ´ır´ asm´ odja nem eredm´enyezne-e technikailag egy egyszer˝ ubb sz´am´ıt´ ast. Erre a k´erd´esre pozit´ıv a v´alasz. Nevezetesen, rendelj¨ uk a (2.2.1) feladathoz a k¨ovetkez˝ o t´abl´ azatot, amelyet az illet˝o feladat szimplex t´ abl´ azat´ anak vagy szimplex t´ abl´ aj´ anak nevez¨ unk. xn+1 (2.2.2)
...
xn+m
x1 a1,n+1 . . . a1,n+m b1 .. .. . . xn an,n+1 . . . an,n+m bn cn+1
...
cn+m
−α
A hozz´arendel´esn´el val´ oj´ aban a v´altoz´okat emelj¨ uk ki oly m´odon, hogy a t´abl´azat i-edik sora els˝o elemk´ent tartalmazza az i-edik egyenletben szerepl˝o b´azisv´altoz´ot, majd rendre az i-edik egyenletre vonatkoz´oan az xs (s = n + 1, . . . , n + m) v´altoz´ok egy¨ utthat´ oit, v´eg¨ ul az i-edik egyenlet jobboldal´at. L´enyeg´eben a szimplex t´abl´azat a lehets´eges kanonikus alak´ u feladat egy t¨om¨or´ıtett le´ır´asa. Ebb˝ol ad´od´oan az elj´ar´ast atfogalmazhatjuk szimplex t´abl´ ´ azatokra. Ehhez azt kell megvizsg´alnunk, hogy a 2.t´etel bizony´ıt´ as´ aban megadott, az egyenletekre vonatkoz´o ´atalak´ıt´asok sor´an az egyenletekben szerepl˝o egy¨ utthat´ ok hogyan v´altoznak meg. E c´elb´ol tegy¨ uk fel, hogy cj < 0, min{br /arj : arj > 0, 1 ≤ r ≤ n} = bk /akj . Ekkor az egyenletrendszeren v´egrehajtand´o ´atalak´ıt´ asok a k¨ovetkez˝ok: r0k = (2.2.3)
1 rk , akj
r0i = ri − z0 = z −
aij rk akj
(1 ≤ i ≤ n, i 6= k),
cj rk , akj
A 2.t´etel bizony´ıt´ as´ ab´ ol tudjuk, hogy a k-adik b´azisv´altoz´o xj lesz, ´es xk kiker¨ ul a b´ azisv´ altoz´ ok k¨oz¨ ul. Ezt a szimplex t´abl´azattal t¨ort´en˝o fel´ır´asban u ´gy tudjuk megadni, hogy az u ´j t´ abl´ azatban az xk , xj v´ altoz´ ok hely´et megcser´elj¨ uk. 21
Vizsg´aljuk ezek ut´an az u ´j t´abl´ azatban szerepl˝o egy¨ utthat´okat, jel¨olje ezeket rendre a0ij , b0i , c0j , α0 , ahol 1 ≤ i ≤ n, n + 1 ≤ j ≤ n + m. Els˝ok´ent tekints¨ uk a0kj t. Az xj , xk v´altoz´ ok cser´eje miatt a0kj az xk v´altoz´o egy¨ utthat´oja r0k -ben. Mivel 0 xk egy¨ utthat´ oja rk -ban 1, ez´ert (2.2.3) alapj´an akj = 1/akj . Ezt szavakban u ´gy fogalmazhatjuk meg, hogy a gener´ al´ o elem hely´ere annak reciproka ker¨ ul. A j-edik oszlop elemein´el maradva, mivel xk egy¨ utthat´oja ri -ben ´es z-ben 0, ez´ert a v´altoz´ok cser´eje ´es (2.2.3) alapj´an a0ij = −aij /akj (1 ≤ i ≤ n, i 6= k), c0j = −cj /akj , azaz a gener´ al´ o elem oszlop´ aban l´ev˝ o elemek hely´ere az illet˝ o elemeknek a gener´ al´ o elem negat´ıvj´ aval k´epezett h´ anyadosa ker¨ ul. Vizsg´ aljuk most a k-adik sor elemeit. A (2.2.3) alatti ¨osszef¨ ugg´esek miatt a0ks = 0 aks /akj (n+1 ≤ s ≤ n+m, s 6= j), bk = bk /akj , azaz a gener´ al´ o elem sor´ aban szerepl˝ o elemek hely´en az illet˝ o elemeknek a gener´ al´ o elemmel k´epezett h´ anyadosa szerepel. V´eg¨ ul tekints¨ uk a felsorolt elemekt˝ol elt´er˝o index˝ u egy¨ utthat´ok sz´am´ıt´as´at. Ha 1 ≤ i ≤ n, i 6= k ´es n + 1 ≤ s ≤ n + m, s 6= j, akkor (2.2.3) alapj´an a0is = ais − c0s = cs −
aij aks , akj
b0i = bi −
cj aks , akj
α0 = α −
aij bk , akj
cj bk . akj
Vegy¨ uk ´eszre, hogy a felsorolt esetekben az illet˝ o elemb˝ ol ki kell vonni a sor´ aban ´es a gener´ al´ o elem oszlop´ aban, tov´ abb´ a az oszlop´ aban ´es a gener´ al´ o elem sor´ aban l´ev˝ o k´et elem szorzat´ anak a gener´ al´ o elemmel k´epezett h´ anyados´ at. aks ———————— akj Amint azt a mell´ekelt ´abra mutatja, ezen elemek egy t´eglalap cs´ ucsain helyezkednek el, ´es a kivonand´o a gener´al´o elemmel szomsz´edos cs´ ucsokban l´ev˝o elemek ais ———————— aij szorzat´anak a gener´al´o elemmel k´epezett h´anyadosa. Az ´atfogalmazott elj´ar´ as illusztr´al´as´ara v´egrehajtjuk az algoritmust az el˝oz˝oekben megadot lehets´eges kanonikus alak´ u feladaton. A v´egrehajt´as sor´an a v´alasztott cj -t al´ ah´ uz´ assal, a v´alasztott gener´al´ o elemet *-gal jel¨olj¨ uk meg. 3.p´elda. x4 x5 x6 x1 x2
2 0 3 −1
x4 x3 x6
1 3
2 1
x1 x2
1
3
x5
−2 −3 −3
0
x3 −1
∗
2
∗
x1 x3 x6
2
0
1
2
5 2 − 12
1 2 1 2
7 2 1 2
5 2 3 2
− 72
3 2
− 32
9 2
−
1 0
1 4
1 2 1 2
1 2 9 4 3 4
7 4
3 2
1 4
8
1 x4 2 5 x2 − 4
x5
0
2
Az utols´o szimplex t´abl´ azatnak megfelel˝o lehets´eges kanonikus alak´ u feladatban m´ar minden c´elf¨ uggv´enyegy¨ utthat´ o nemnegat´ıv, ´ıgy az x ¯4 = 1, x ¯2 = 0, x ¯5 = 2, x ¯1 = x ¯3 = x ¯6 = 0 b´azismegold´ as egyben optim´alis megold´as is. A b´azismegold´ason felvett z(¯ x) c´elf¨ uggv´eny´ert´ek −8. 22
A lehets´eges kanonikus alak´ u feladatok megold´as´ara szolg´al´o, az el˝oz˝oekben ismer´ tetett szimplex algoritmus G. B. Dantzigt´ol sz´armazik. Erdekes momentum, hogy az elj´ ar´ as m´ar 1947-ben elk´esz¨ ult, de publik´al´as´ara csak 1951-ben ker¨ ult sor, tekintettel a t´ema katonai ind´ıttat´ as´ ara. Az elj´ar´as elk´esz¨ ulte ut´an a v´egess´eg k´erd´ese egyre ink´ abb el˝ot´erbe ker¨ ult. A kutat´ok egy r´esze annak igazol´as´ara t¨orekedett, hogy az elj´ ar´ as b´armely lehets´eges kanonikus alak´ u feladaton v´eges l´ep´esben v´eget ´er. Ezzel szemben m´asok ellenp´eld´ at kerestek, azaz olyan lehets´eges kanonikus alak´ u feladatot, amelyen az elj´ar´ as v´eg n´elk¨ ul folytat´odik. Ez ut´obbi kutat´asok bizonyultak eredm´enyesnek. Els˝ok´ent A. J. Hoffmannak siker¨ ult egy ilyen lehets´eges kanonikus alak´ u feladatot megadnia. Hoffman p´eld´ aja, amely szerepel a fejezet v´eg´en felsorolt feladatok k¨oz¨ ott, h´arom egyenletet ´es tizenegy v´altoz´ot tartalmaz, az egy¨ utthat´ok pedig sz¨ ogf¨ uggv´eny´ert´ekek. Az elj´ar´ as sor´an a sz¨ogf¨ uggv´enyek add´ıci´os t´eteleit kell alkalmazni, ´ıgy az algoritmus v´egrehajt´asa igen neh´ezkes. K´es˝obb, 1955-ben E. M. L. Beale is megadott egy ellenp´eld´ at, amely racion´alis egy¨ utthat´okat tartalmaz ´es m´ereteiben is kisebb, mint Hoffman feladata. Tekintettel a fentiekre, az algoritmus v´eg n´elk¨ uli folytat´ od´ as´ anak illusztr´al´ as´ ara a Beale-f´ele feladatot oldjuk meg. 4.p´elda. x4 ∗
x2
1 4 1 2
x3
0
x1
− 34 −
x5
x6
x7
−8 −1
9
x1 0
x4
x6
x7
4 −32 −4
36
0
4
3 2
−15
0
0
1
0
1
3 −4 − 72
33
0
−12
− 21
3
0
x2
−2
0
1
0
1
x3
0
20 − 12
6
0
x1
x2
x4 −12
8
x5
− 12
x3
x6
∗
−
x7
x1
8 −84
0
x6
− 32
1 4
3 8
− 15 4
0
x5
0
0
1
0
1
x3
1 16 3 2
1
1 −2
18
0
∗
x5
−2
x2
x4
x7
1 8 1 3 − 8 − 64 −1 − 18
− 21 2
0
∗ 3 16 21 2
0
1 4
−3
0
x4
x5
−3 − 54
1
3
−
x1 x6
x2
x4
x5
2 −6 − 52
56
x6
16 3
0
x7
−2
6
− 14 5 2
1 2 − 16
−56
1
x3
1
−1
1 − 21
16
0
∗
x7
1 3
− 23
x3
−
0
x1
1 2
23
x2
1
−
28
0
∗1 3
1 6
−4
0
0
0
0
1
−2 − 74
44
0
−
x6
x7
x4
x5
Vegy¨ uk ´eszre, hogy az utols´o szimplex
−8
0
t´abl´azat csak az oszlopok sorrendj´e-
−12
0
ben k¨ ul¨onb¨ozik az els˝ot˝ol. Tekintettel arra, hogy a c´elf¨ uggv´eny egy¨ utthat´ oi
x1
−1
9
x2
− 12
3
1 4 1 2
x3
1
0
0
0
1
6 − 34
20
0
− 12
k¨oz¨ott minden l´ep´esben van legkisebb, az oszlopok sorrendje az elj´ar´ast nem befoly´asolja. ´Igy, folytatva az algoritmust, az oszlopok sorrendj´et˝ol eltekintve ism´et megkapn´ ank rendre a m´asodik, harmadik, . . . , szimplex t´abl´at, ´es az elj´ar´as v´eg n´elk¨ ul folytat´ odna. Miut´ an siker¨ ult cikliz´aci´ os p´eld´akat megadni, a kutat´asok u ´j ir´anyt vettek. Azt vizsg´ alt´ ak, hogy mik´ent lehetne az elj´ar´ast u ´gy megv´altoztatni, hogy minden esetben v´eges l´ep´esben v´eget ´erjen. Az elj´ar´asban az alkalmazott kiv´alaszt´asi strat´egia bizonyult d¨ont˝ onek. Igazol´ast nyert, hogy alkalmas strat´egi´aval el´erhet˝o a v´egess´eg. Az algoritmus els˝o ilyen v´altozata lexikografikus szimplex algoritmus n´even ismeretes. Miel˝ ott ezzel megismerkedn´enk, az elj´ar´as egy m´asik v´altozat´at, az u ´gynevezett m´ odos´ıtott szimplex algoritmust fogjuk a k¨ovetkez˝o fejezetben t´argyalni, amelyet azut´ an felhaszn´alunk a lexikografikus elj´ar´as v´egess´eg´enek igazol´as´ahoz. −
Feladatok 1. ´Irjuk fel rendre az al´abbi szimplex t´abl´azatoknak megfelel˝o lehets´eges kanonikus alak´ u feladatokat. x4
x5
x6
x7
x4
x1
−2
1
2
4
6
x1
1
2
x2
1 3
− 23
1
1 3
7
x2
−1
0
x3
−2
6
5 −5
8
x3
3
1
1 −2
2 −3
4
3
0
2. Az al´abbi szimplex t´abl´ azattal megadott feladathoz konstru´aljunk lehets´eges megold´ asoknak egy v´egtelen sorozat´at. K¨ovetkezik-e a sorozat l´etez´es´eb˝ol, hogy a c´elf¨ uggv´eny alulr´ol nem korl´ atos a lehets´eges megold´asok halmaz´an? x4
x5
x6
x1
1 −1
1
4
x2
−1 −1
2
5
x3
3 −1
2
2
2 −3
0
−2 24
3. Konstru´aljunk az al´abbi line´aris programoz´asi feladatokhoz olyan lehets´eges kanonikus alak´ u feladatokat, amelyekre az illet˝o line´aris programoz´asi feladatok viszszavezethet˝ ok. Adjuk meg a feladatok szimplex t´abl´azat´at, ´es oldjuk meg szimplex algoritmussal ezen feladatokat.
(a)
(b)
(c)
x1 + 3x2 ≤ 7 3x1 −x2 ≤ 11 x2 ≤ 4 x1 ≥ 0, x2 ≥ 0 ——————————−x1 −x2 = z(x) → min
4x1 +3x2 −11x3 ≤ 10 2x1 +2x2 −6x3 ≤ 4 5x1 −2x2 +8x3 ≤ 2 xi ≥ 0 (i = 1, 2, 3) ———————————— 3x1 −5x2 −8x3 = z(x) → min 2x1 −x2 −2x3 −x4 +x5 ≤ 4 4x1 −2x2 +3x3 −x4 ≤ 8 −2x1 +x2 +x3 +2x4 ≤ 6 x1 −x2 +4x3 +3x4 ≤ 10 xi ≥ 0 (i = 1, . . ., 5) —————————————————−3x1 −2x2 +x3 −x4 = z(x) → min
4. Hajtsuk v´egre a szimplex algoritmust az al´abbi, A. W. Tucker ´altal megadott feladaton, amely hasonl´oan a Beale-f´ele feladathoz azt demonstr´alja, hogy esetenk´ent az elj´ar´ as v´eg n´elk¨ ul folytat´odik. x4 x1
x5
x6
x7
−2 −9
1
9
0
−2
0
x2
1 3
1 − 13
x3
1
1
1
1
1
−2 −3
1
12
0
5. Hajtsuk v´egre a szimplex algoritmust az al´abbi, A. J. Hoffmant´ol sz´armaz´ o feladaton, ´es figyelj¨ uk meg, hogy az els˝o ´es harmadik szimplex t´abl´azatban ugyanazon egy¨ utthat´ ok szerepelnek, csak az oszlopok sorrendje m´as. Vegy¨ uk ´eszre, hogy az els˝o 25
´es harmadik szimplex t´abl´ azat ¨osszehasonl´ıt´as´ab´ol az k¨ovetkezik, hogy folytatva az elj´ ar´ ast, a tizennegyedik szimplex t´abla megegyezik az els˝o szimplex t´abl´aval.
x1 x2 x3
x4
x5
x6
x7
0
0
0
0
cos ρ
−t cos ρ cos 2ρ
x8
x9
0
0
2
−2t cos ρ cos 2ρ
sin ρtgρ t
cos ρ
tgρ sin 2ρ t
cos 2ρ
−(1−cos ρ) cos ρ
t
0
2t
x10
x11
0
0
1
2t cos ρ
cos ρ
t cos ρ
0
cos 2ρ
−tgρ sin ρ t
cos ρ
0
2
2
−2 sin ρ t
4 sin2 ρ −2t cos 2ρ 4 sin2 ρ t(1 − 2 cos ρ) 0
ahol ρ = 2π/5 ´es t > (1 − cos ρ)/(1 − 2 cos ρ).
6. Oldjuk meg szimplex algoritmussal a k¨ovetkez˝o feladatot. x4 x1 x2 x3
x5
x6
x7
x8
1 1 2
1 1 2 2 1 −2
1 1 2
1 1 2
1
2 −5
1 −6
x9 x10 x11 2 2 1
2 1 3
1 1 1
4 6 5
1 −6
8
0
7. Adott szimplex t´abl´ azatr´ ol egy m´asik szimplex t´abl´azatra t¨ort´en˝o ´att´er´es sor´an, az u ´j egy¨ utthat´ okat kisz´am´ıthatjuk u ´gy is, hogy miut´an kisz´am´ıtottuk a gener´al´o elem sor´ aban ´es oszlop´aban szerepl˝o u ´j elemeket, a tov´abbi egy¨ utthat´ok meghat´aroz´as´at a r´egi ´es az u ´j t´abl´ azatokban szerepl˝o ´ert´ekek alapj´an v´egezz¨ uk. Adjuk meg az a0is = ais − aij aks /akj ¨osszef¨ ugg´eseknek megfelel˝o ¨osszef¨ ugg´eseket, ha (a) a sz´am´ıt´ asok a r´egi t´abl´ azat ´es az u ´j t´abl´azat k-adik sor´anak felhaszn´al´as´aval t¨ ort´ennek, (b) a sz´am´ıt´ asokn´ al a r´egi t´abl´azatot ´es az u ´j t´abl´azat j-edik oszlop´at haszn´aljuk, (c) a sz´am´ıt´ asokat a r´egi t´abl´ azat, tov´abb´a az u ´j t´abl´azat k-adik sora ´es j-edik oszlopa alapj´an v´egezz¨ uk.
2.3 M´ odos´ıtott szimplex algoritmus
Bizonyos probl´em´ ak, probl´emacsoportok olyan lehets´eges kanonikus alak´ u feladatokat eredm´enyeznek, amelyek kev´es felt´etel mellett viszonylag sok v´altoz´ot tartalmaznak. Ilyen feladatokon v´egrehajtva a szimplex algoritmust, azt tapasztaljuk, hogy egyes v´altoz´ ok ´es a hozz´ajuk tartoz´o oszlopvektorok ´erdemben nem befoly´asolj´ak az 27
elj´ ar´ ast. A 2.2 fejezet 6.feladat´aban, p´eld´aul ilyenek az x4 , x5 , x7 , x9 , x10 , x11 v´ altoz´ ok. Az ´eszrev´etelhez kapcsol´ odva felvethet˝o az a k´erd´es, hogy az elj´ar´as valamilyen m´odos´ıt´ as´ aval nem ker¨ ulhet˝ ok-e el a feleslegesnek t˝ un˝o sz´am´ıt´asok. A k´erd´esre pozit´ıv a v´alasz. A k¨ovetkez˝ okben megmutatjuk, hogy az algoritmus v´egrehajt´asi technik´ aj´ anak megv´altoztat´ as´ aval az eml´ıtett elv´ar´as el´erhet˝o. E c´elb´ol ´ırjuk fel a (2.2.1) feladatot a k¨ovetkez˝ o m´odon: Ax = b x ≥ 0, (b ≥ 0) ————————– α + cx = z(x) → min
(2.3.1)
ahol az A m´atrixba most bele´ertj¨ uk az egys´egm´atrixot is, azaz 1 ≤ i ≤ n, 1 ≤ j ≤ n eset´en n 1, ha i = j, cj = 0 , aij = 0 k¨ ul¨onben. Most tegy¨ uk fel, hogy cj < 0 ´es a szimplex algoritmus alapj´an v´alasztott gener´al´o elem akj . Tudjuk, hogy ebben az esetben a szimplex algoritmus v´egrehajt´asa sor´an a k¨ ovetkez˝ o ´atalak´ıt´ asokat kell v´egrehajtani: r0k =
1 rk , akj
r0i = ri −
(2.3.2)
z0 = z −
aij rk akj
(1 ≤ i ≤ n, i 6= k),
cj rk , akj
ahol rt (t = 1, . . . , n), z a (2.3.1) feladat ´es r0t (t = 1, . . . , n), z0 pedig az u ´j feladat egyenleteit jel¨oli. Meg fogjuk mutatni, hogy a fenti ´atalak´ıt´asok el´erhet˝ok u ´gy is, hogy az egyenletrendszer mindk´et oldal´at balr´ol megszorozzuk egy regul´aris m´atrixszal, ´es a c´elf¨ uggv´eny egyenlet´ehez hozz´aadjuk az u ´j egyenletrendszer egyenleteinek egy alkalmas line´aris kombin´ aci´ oj´ at. Ennek el˝ok´esz´ıt´esek´ent tekints¨ uk a k¨ovetkez˝o Q=
1 ..
−a1j /akj .. .
.
1 1/akj .. . −anj /akj
1
..
. 1
m´ atrixot, amelyben a felt¨ untetett elemekt˝ol k¨ ul¨onb¨oz˝o elemek rendre 0-val egyenl˝oek. Jel¨ olje d = (d1 , . . . , dn ) azt a vektort, amelyre dk = cj ´es dt = 0, ha 1 ≤ t ≤ n, t 6= k. 28
Akkor ´erv´enyes a k¨ovetkez˝ o ´all´ıt´ as. 3.seg´ edt´ etel. V´egrehajtva a (2.3.1) feladaton a (2.3.2) alatti ´ atalak´ıt´ asokat, az el˝ o´ all´ ou ´j feladat megegyezik az al´ abbi feladattal: QAx = Qb x ≥ 0 (Qb ≥ 0) —————————————α + dQb + (c − dQA)x = z(x) → min Bizony´ıt´ as. Az egybees´es igazol´as´ahoz elegend˝o megmutatnunk, hogy a v´altoz´ok egy¨ utthat´ oi, a megfelel˝o jobboldalak ´es a c´elf¨ uggv´enyekben szerepl˝o konstansok rendre egyenl˝ ok. E c´elb´ ol legyenek 1 ≤ i ≤ n, 1 ≤ s ≤ n + m tetsz˝oleges indexek. Jel¨olje Q i-edik sorvektor´ at Qi , ´es A s-edik oszlopvektor´at As . Ismeretes, hogy ekkor a QA szorzatm´ atrix (i, s) index˝ u eleme Qi As . Vizsg´ aljuk els˝ok´ent az r0k egyenletben szerepl˝o egy¨ utthat´okat. Az xs v´altoz´ o egy¨ utthat´ oja r0k -ben aks /akj , ´es r0k jobboldal´an pedig bk /akj szerepel. Ugyanezen v´ altoz´ ok egy¨ utthat´ oja a fenti egyenletrendszer k-adik egyenlet´eben Qk As = aks /akj , tov´abb´ a ezen egyenlet jobboldala Qk b = bk /akj . K¨ovetkez´esk´epp a k´et k-adik egyenlet megegyezik. Most tegy¨ uk fel, hogy i 6= k, ´es vizsg´aljuk az i-edik egyenleteket. Az xs v´altoz´o egy¨ utthat´ oja r0i -ben ais −aij aks /akj , ´es r0i jobboldala bi −aij bk /akj . Ugyanezen v´altoz´o egy¨ utthat´ oja a fenti egyenletrendszer i-edik egyenlet´eben Qi As = ais − aij aks /akj , tov´ abb´a ezen egyenlet jobboldala Qi b = bi − aij bk /akj . K¨ovetkez´esk´epp a k´et i-edik egyenlet megegyezik. Mivel i tetsz˝oleges volt, ez´ert a fentiekb˝ol azt kapjuk, hogy a k´et egyenletrendszer azonos. Vizsg´ aljuk ezek ut´an a c´elf¨ uggv´enyeket meghat´aroz´o egyenleteket. A z0 egyenletben xs egy¨ utthat´ oja cs − cj aks /akj , az α0 konstans pedig α + cj bk /akj . A fenti feladat c´elf¨ uggv´eny´enek egyenlet´eben xs egy¨ utthat´oja cs − cj Qk As = cs − cj aks /akj ´es az egyenletben szerepl˝o konstans α + dQb = α + cj Qk b = α + cj bk /akj . Teh´at a c´elf¨ uggv´enyeket megad´ o egyenletek is megegyeznek, amivel az ´all´ıt´ast igazoltuk. A seg´edt´etellel kapcsolatosan h´arom ´eszrev´etelt tesz¨ unk. Nevezetesen, a 2.2 fejezet 2.t´etel´enek bizony´ıt´ as´ ab´ ol ismeretes, hogy a (2.2.3) ´atalak´ıt´asokkal el˝o´all´ıtott u ´j feladat b´azisv´ altoz´ oi x1 , . . . , xk−1 , xj , xk+1 , . . . , xn , ´es ezen v´altoz´okhoz tartoz´o, az u ´j feladatban szerepl˝o egy¨ utthat´ ok egys´egm´atrixot alkotnak. Jel¨olje most B azt a m´ atrixot, amely ugyanezen v´altoz´okhoz tartoz´o, az eredeti, teh´at a (2.3.1) feladatban szerepl˝o egy¨ utthat´ okb´ ol ´all. Akkor a fentiek ´es a seg´edt´etel alapj´an tetsz˝oleges 1 ≤ i ≤ n, 1 ≤ s ≤ n indexekre ½ 1, ha i = s, Qi Bs = 0 k¨ ul¨onben, teljes¨ ul, ahol Bs a B m´ atrix s-edik oszlopvektor´at jel¨oli. Ez pontosan azt jelenti, hogy QB = E, azaz Q a B m´ atrix inverze. A m´asodik ´eszrev´etel¨ unk a seg´edt´etel ´erv´enyess´egi k¨or´ehez kapcsol´odik. Mivel a 2.2 fejezet 2.t´etele b´ armilyen, a 29
bk = min akj
½
br : arj > 0, arj
¾ 1≤r≤n
felt´etelt kiel´eg´ıt˝ o gener´al´ o elem eset´en ´erv´enyes, tov´abb´a a 3.seg´edt´etel bizony´ıt´as´aban nem haszn´altuk ki, hogy akj milyen m´odon lett kiv´alasztva, ez´ert a 3.seg´edt´etel is ´erv´enyes b´armilyen, a fenti felt´etelt kiel´eg´ıt˝o gener´al´o elem eset´en. V´eg¨ ul vegy¨ uk ´eszre a k¨ovetkez˝ot. Mivel tetsz˝oleges lehets´eges kanonikus alak´ u feladat sor- ´es oszlopcser´ekkel, a v´altoz´ok ´atjel¨ol´es´evel (2.3.1) alak´ u feladatk´ent ´ırhat´o fel, ez´ert a 3.seg´edt´etel, valamint az el˝oz˝o k´et ´eszrev´etel tetsz˝oleges lehets´eges kanonikus alak´ u feladatra is ´erv´enyes. Az elmondottak arra utalnak, hogy nemcsak a kiindul´asi ´es az azt k¨ovet˝o feladat k¨ oz¨ ott mutathat´ o ki szoros kapcsolat, hanem a kiindul´asi ´es a szimplex algoritmus v´egrehajt´asa sor´an el˝o´ all´ o v-edik feladat k¨oz¨ott is teljes¨ ulnie kell valamilyen, a seg´edt´etelben megadott ¨osszef¨ ugg´eshez hasonl´o ¨osszef¨ ugg´esnek. A tov´abbiakban ezt a kapcsolatot fogjuk vizsg´alni. Ennek ´erdek´eben hajtsuk v´egre a (2.3.1) feladaton a szimplex algoritmust, ´es jel¨olj¨ uk a v´egrehajt´as sor´an el˝o´all´o v-edik feladatot a k¨ovetkez˝ok´eppen: A(v) x = b(v) x ≥ 0, (b(v) ≥ 0) ————————– α(v) + c(v) x = z(x) → min Ekkor ´erv´enyes a k¨ovetkez˝ o ´all´ıt´as. 4.t´ etel. Ha az elj´ ar´ as sor´ an el˝ o´ all´ o v-edik feladat b´ azisv´ altoz´ oi xi1 , . . . , xin ´es Bv az ezen v´ altoz´ okhoz tartoz´ o, az eredeti feladatban szerepl˝ o egy¨ utthat´ okb´ ol ´ all´ o m´ atrix, (0) (0) tov´ abb´ a dv = (ci1 , . . . , cin ), akkor a v-edik feladat megegyezik az al´ abbi feladattal: (0) Bv−1 A(0) x = B−1 v b (0) ≥ 0) x ≥ 0, (B−1 v b ————————————————(0) (0) α(0) + dv B−1 + (c(0) − dv B−1 )x = z(x) → min v b v A
Bizony´ıt´ as. Az ´all´ıt´ ast v szerinti teljes indukci´oval igazoljuk. A v = 1 esetben az ´all´ıt´ as nyilv´ anval´ oan k¨ovetkezik a 3.seg´edt´etelb˝ol. Most legyen v ≥ 1 tetsz˝oleges eg´esz, ´es tegy¨ uk fel, hogy v-re ´erv´enyes az ´all´ıt´as. Legyenek xi1 , . . . , xin a v-edik feladat b´ azisv´ altoz´ oi, ´es jel¨olje Bv az ezen v´altoz´okhoz tartoz´o, az eredeti feladatban szerepl˝o egy¨ utthat´ okb´ ol ´all´ o m´atrixot. Tegy¨ uk fel tov´abb´a, hogy nem ´er v´eget az elj´ar´as, ´es a (v) soron k¨ovetkez˝ o l´ep´esn´el akj a gener´al´o elem. Akkor a 3.seg´edt´etel ´es az azt k¨ovet˝ o harmadik ´eszrev´etel alapj´an a v + 1-edik feladat megegyezik az al´abbi feladattal:
(2.3.3)
Q(v) A(v) x = Q(v) b(v) x ≥ 0, (Q(v) b(v) ≥ 0) —————————————————— α(v) + dQ(v) b(v) + (c(v) − dQ(v) A(v) )x = z(x) → min (v)
ahol d k-adik komponense cj
´es d t¨obbi komponense 0, tov´abb´a Q(v) a k¨ovetkez˝o 30
(v)
1 ..
(v)
−a1j /akj .. .
. 1
(v)
1/akj
.. . (v) (v) −anj /akj
1
..
. 1
m´ atrixot jel¨oli, amelyben a felt¨ untetett elemekt˝ol k¨ ul¨onb¨oz˝o elemek rendre 0-val egyenl˝ ok. Vizsg´ aljuk els˝ok´ent a (2.3.3) feladat egyenletrendszer´et. Az indukci´os feltev´es (0) (0) alapj´an A(v) = B−1 , b(v) = B−1 . Mivel a (2.3.3) alatti feladat megegyezik a v b v A (v+1) (v) (v) v + 1-edik feladattal, ez´ert A = Q A , b(v+1) = Q(v) b(v) . De akkor A(v+1) = (v) −1 (0) (v+1) (v) −1 (0) Q Bv A , b = Q Bv b . M´asr´eszt tudjuk, hogy a v + 1-edik feladat b´ azisv´ altoz´ oi xi1 , . . . , xik−1 , xj , xik+1 , . . . , xin . Jel¨olje az ezen v´altoz´okhoz tartoz´o, az eredeti feladatban szerepl˝o egy¨ utthat´okb´ol ´all´o m´atrixot Bv+1 . Mivel a v + 1edik feladatban a felsorolt v´altoz´ okhoz tartoz´o egy¨ utthat´okb´ol ´all´o vektorok rendre egyenl˝ ok a megfelel˝o egys´egvektorokkal, ez´ert b´armely 1 ≤ i ≤ n, 1 ≤ s ≤ n indexekre ½ 1, ha i = s, (v) −1 (Q Bv )i (Bv+1 )s = 0 k¨ ul¨onben, (v) −1 teljes¨ ul, ahol (Q(v) B−1 Bv szorzatm´atrix i-edik sorvektor´at, (Bv+1 )s v )i a Q pedig a Bv+1 m´atrix s-edik oszlopvektor´at jel¨oli. Ez pontosan azt jelenti, hogy (v) −1 (v+1) (0) Q(v) B−1 Bv = B−1 = Q(v) B−1 v Bv+1 = E, azaz Q v A v+1 . Ezzel viszont az A −1 (0) ´es b(v+1) = Q(v) B−1 egyenletekb˝ol azt kapjuk, hogy A(v+1) = Bv+1 A(0) ´es v b −1 b(v+1) = Bv+1 b(0) , amivel az ´all´ıt´asnak az egyenletrendszerre vonatkoz´o r´esz´et igazoltuk. Vizsg´aljuk ezek ut´an a c´elf¨ uggv´eny (2.3.3) alatt megadott egyenlet´et. Jel¨olje dv (0) (0) (0) (0) (0) (0) (0) ´es dv+1 a (ci1 , . . . , cin ) ´es (ci1 , . . . , cik−1 , cj , cik+1 , . . . , cin ) vektorokat. Akkor az indukci´ os feltev´es alapj´an (0) α(v) = α(0) + dv B−1 , v b (0) c(v) = c(0) − dv B−1 , v A
(0) b(v) = B−1 , v b (0) A(v) = B−1 , v A
A fel´ırt egyenl˝ os´egeket felhaszn´alva a c´elf¨ uggv´eny (2.3.3) alatti egyenlet´et a k¨ovetkez˝ o alakban ´ırhatjuk fel: (0) (0) (0) (0) α(0) + dv B−1 + dQ(v) B−1 + (c(0) − dv B−1 − dQ(v) B−1 )x = z(x). v b v b v A v A
A kapott kifejez´est rendezve, az al´abbi egyenlethez jutunk: (0) (0) α(0) + (dv + dQ(v) )B−1 + (c(0) − (dv + dQ(v) )B−1 )x = z(x). v b v A
31
Ha most teljes¨ ul a dv + dQ(v) = dv+1 Q(v) egyenl˝os´eg, akkor ezt felhaszn´alva, a fenti egyenletb˝ ol a k¨ovetkez˝ o egyenletet nyerj¨ uk: (0) (0) α(0) + dv+1 Q(v) B−1 + (c(0) − dv+1 Q(v) B−1 )x = z(x). v b v A −1 M´ asr´eszt tudjuk, hogy Q(v) B−1 ıgy az ut´obbi egyenlet megegyezik az al´abbi v = Bv+1 , ´ egyenlettel: (0) (0) + (c(0) − dv+1 B−1 )x = z(x), α(0) + dv+1 B−1 v+1 b v+1 A
amivel az ´all´ıt´ as igazol´ast nyert. K¨ ovetkez´esk´epp, a tov´ abbiakban elegend˝o a dv + dQ(v) = dv+1 Q(v) egyenl˝os´eget (v) igazolni. E c´elb´ ol legyen 1 ≤ t ≤ n tetsz˝oleges, ´es jel¨olje Qt a Q(v) m´atrix t-edik (0) (v) (0) oszlopvektor´ at. Ha t 6= k, akkor dv + dQ(v) t-edik komponense cit + dQt = cit , (v)
(0)
´es dv+1 Q(v) t-edik komponense pedig dv+1 Qt = cit , azaz a t-edik komponensek megegyeznek. Vizsg´ aljuk ezek ut´an a k-adik komponenseket. Ha w-vel jel¨olj¨ uk a dv + dQ(v) vektor k-adik komponens´et, akkor (0)
(v)
(v)
(0)
w = cik + dQk = cik + cj
1 (v)
akj
.
(0) (0) ´ Az indukci´ os feltev´es szerint c(v) = c(0) − dv B−1 ´es A(v) = B−1 . Igy c(v) = v A v A (v) c(0) −dv A(v) . Ennek a vektornak a j-edik komponense cj , amelyre az ut´obbi kifejez´es miatt n X (v) (0) (v) (0) (0) (v) cj = cj − dv Aj = cj − cih ahj h=1
teljes¨ ul. Ezt behelyettes´ıtve w kifejez´es´ebe, w= (0)
(0) cik
+
cj
(v)
akj
−
(0) cik
+
1
(0) (c (v) j akj
(v) (0) ahj cih (v) akj h=1 k−1 X
(0)
cj
(v)
akj
−
−
−
n X
(0) (v)
cih ahj ) =
h=1
(v) (0) akj cik (v) akj
−
(v) (0) ahj cih (v) akj h=k+1 n X
=
(v) (0) ahj cih (v) . akj
n X h=1 h6=k
Tekints¨ uk most a dv+1 Q(v) vektor k-adik komponens´et. Erre (v) dv+1 Qk
=
(v) (0) ahj − cih (v) akj h=1 k−1 X
+
(0) 1 cj (v) akj
32
−
(v) (0) ahj cih (v) akj h=k+1 n X
=
(0)
cj
(v)
akj
−
n X h=1 h6=k
(v) (0) ahj cih (v) akj
teljes¨ ul, azaz a k-adik komponensek is megegyeznek. K¨ovetkez´esk´epp dv + dQ(v) = dv+1 Q(v) , amivel a 4.t´etel bizony´ıt´as´at befejezt¨ uk. A 4.t´etellel kapcsolatban vegy¨ uk ´eszre, hogy annak bizony´ıt´asa mag´aba foglalja a Bv m´atrixok inverzeinek egy szorzat alakban t¨ort´en˝o el˝o´all´ıt´as´at. Val´oban, ha az egyes l´ep´esekben szerepl˝o Q(v) m´ atrixokat tekintj¨ uk, akkor egy olyan Q(0) ,Q(1) ,. . .,Q(v) (t) −1 sorozathoz jutunk, amelyre B−1 = Q(0) B0 ´es B−1 (t = 1, . . . , v) 1 t+1 = Q Bt teljes¨ ul, ahol B0 = E. Ebb˝ol teljes indukci´oval egyszer˝ uen ad´odik, hogy B−1 v+1 = (v) (v−1) (0) Q Q ...Q . Egy m´asik ´eszrev´etel¨ unk a 4.t´etellel kapcsolatban a k¨ovetkez˝o. Egyr´eszt tudjuk, hogy a 3.seg´edt´etel b´ armilyen, a ½ ¾ bk br = min : arj > 0, 1 ≤ r ≤ n akj arj felt´etelt kiel´eg´ıt˝ o akj gener´al´ o elem eset´en ´erv´enyes. M´asr´eszt a 4.t´etel bizony´ıt´as´aban nem haszn´altuk ki, hogy a szimplex algoritmusn´al a fenti felt´etelt kiel´eg´ıt˝o elemek k¨oz¨ ul a legkisebb sorindex˝ ut kell gener´al´o elemk´ent v´alasztani, tov´abb´a azt sem haszn´altuk ki, hogy a c´elf¨ uggv´enyegy¨ utthat´o milyen strat´egia alapj´an ker¨ ul kiv´ alaszt´ asra. A felsoroltakb´ol az k¨ovetkezik, hogy a 4.t´etel ´erv´enyes minden olyan elj´ ar´ asra, amely csak a negat´ıv cj kijel¨ ol´es´et ´es a gener´ al´ o elem kiv´ alaszt´ as´ at meghat´ aroz´ o strat´egiap´ arban t´er el a szimplex algoritmust´ ol. A 4.t´etelben megadott ¨osszef¨ ugg´esek illusztr´al´as´ara tekints¨ uk a 2.2 fejezet 2.p´eld´ aj´ at, amelyen a szimplex algoritmus v´egrehajt´as´at mutattuk be. A tekintett p´eld´ an´ al 1 0 0 2 0 1 2 A(0) = 0 1 0 3 −1 3 , b(0) = 1 , 0 0 1 −1 2 1 3 c(0) = (0, 0, 0, −2, −3, −3) ,
α(0) = 0 , (0)
´es a feladat b´azisv´ altoz´ oi x1 , x2 , x3 . A szimplex algoritmus els˝o l´ep´es´eben a35 a gener´ al´ o elem. Ekkor a megfelel˝o ´atalak´ıt´asok az al´abbi Q(0) m´atrixszal ´erhet˝ok el:
Q(0)
1 = 0 0
0 1 0
0 1/2 1/2
Az ´atalak´ıt´ as ut´ani feladat b´azisv´ altoz´oi x1 , x2 , x5 . A felsorolt v´altoz´oknak megfelel˝o, az eredeti feladatban szerepl˝ o egy¨ utthat´okb´ol ´all´o B1 m´atrix a k¨ovetkez˝o: 33
1 0 B1 = 0 1 0 0
0 −1 2
A B1 m´atrix inverz´et a 4.t´etelt k¨ovet˝o megjegyz´es alapj´an el¨o´all´ıthatjuk Q(0) B−1 0 = Q(0) E = Q(0) alakban. Ezek ut´an v´egrehajtva a t´etelben megadott m˝ uveleteket, az u ´j feladat egy¨ utthat´ oira vonatkoz´ oan a k¨ovetkez˝o ´ert´ekeket kapjuk:
A(1) = Q(0) A(0)
1 0 = 0 1 0 0
0 1/2 1/2
2 0 1 5/2 0 7/2 , −1/2 1 1/2
2 = 5/2 , 3/2
b(1) = Q(0) b(0)
3 7 3 9 c(1) = c(0) − d1 Q(0) A(0) = (0, 0, , − , 0, − ) , α(1) = α(0) + d1 Q(0) b(0) = − , 2 2 2 2 ahol d1 = (0, 0, −3). (1) Az elj´ar´ as m´asodik l´ep´es´eben a14 a gener´al´o elem. Ekkor a megfelel˝o ´atalak´ıt´asokat biztos´ıt´ o Q(1) m´atrix a k¨ovetkez˝o: 1/2 0 0 = −5/4 1 0 1/4 0 1
Q(1)
Az el˝o´ all´ ou ´j feladat b´azisv´ altoz´ oi: x4 , x2 , x5 . A felsorolt v´altoz´oknak megfelel˝o, az eredeti feladat szerepl˝o egy¨ utthat´ okb´ ol ´all´o B2 m´atrix:
2 0 B2 = 3 1 −1 0
0 −1 2
B2 inverz´et el˝o´ all´ıthatjuk Q(1) Q(0) alakban.
Q(1) Q(0) = B−1 2
1/2 0 0 = −5/4 1 1/2 1/4 0 1/2
Most v´egrehajtva a t´etelben megadott m˝ uveleteket, a soron k¨ovetkez˝o feladat egy¨ utthat´ oira az al´abbi ´ert´ekeket kapjuk: 1/2 0 0 1 0 1/2 (0) A(2) = B−1 = −5/4 1 1/2 0 0 9/4 , 2 A 1/4 0 1/2 0 1 3/4 34
(0) b(2) = B−1 2 b
1 = 0 , 2
(0) (0) c(2) = c(0) − d2 B−1 = (7/4, 0, 3/2, 0, 0, 1/4) , α(2) = α(0) + d2 B−1 = −8, 2 A 2 b ahol d2 = (−2, 0, −3). A kapott c´elf¨ uggv´enyegy¨ utthat´ok rendre nemnegat´ıvak, ez´ert a szimplex algoritmus enn´el a l´ep´esn´el befejez˝odik. A nyert ¨osszef¨ ugg´esek alapj´an a (2.3.1) feladat megold´as´ara az al´abbi elj´ar´ast ´ep´ıthetj¨ uk fel.
M´ odos´ıtott szimplex algoritmus: El˝ ok´esz´ıt˝ o r´esz. v = 0. Iter´ aci´ os r´esz (v-edik iter´aci´ o). 1.l´ep´es. Ha c(v) ≥ 0, akkor v´ege az elj´ar´asnak, a v-edik feladat b´azismegold´asa optim´ alis megold´as. Ellenkez˝ o esetben a 2.l´ep´es k¨ovetkezik. (v)
(v)
uk a negat´ıv cs -k minimum´at. Jel¨olje cj 2.l´ep´es. Vegy¨
a minimummal mege-
(v)
gyez˝ o cs egy¨ utthat´ ok k¨oz¨ ul a legkisebb index˝ ut. Hat´arozzuk meg az xj -hez tartoz´o, (v) (0) a v-edik feladatban szerepl˝o egy¨ utthat´okat az Aj = B−1 ¨osszef¨ ugg´es alapj´an, v Aj majd k´epezz¨ uk a ( ) (v) br (v) : arj > 0, 1 ≤ r ≤ n ∆ = min (v) arj mennyis´eget. Ha ez a minimum nem l´etezik, akkor v´ege az elj´ar´asnak, a c´elf¨ uggv´eny alulr´ ol nem korl´ atos a lehets´eges megold´asok halmaz´an. Ellenkez˝o esetben a 3.l´ep´es k¨ ovetkezik. (v) (v) (v) (v) (v) 3.l´ep´es. Ha ∆ = bk1 /ak1 j = . . . = bkw /akw j , akkor v´alasszuk az akt j (t = 1, . . . , w) elemek k¨oz¨ ul a legkisebb sorindex˝ ut gener´al´o elemk´ent. K´epezz¨ uk a v´alasztott (v) (v) gener´ al´ o elem ´es Aj felhaszn´ al´ as´aval a Q m´atrixot. Hat´arozzuk meg az aktu´alis b´ azisv´ altoz´ okat, ´es az illet˝o v´altoz´oknak megfelel˝o dv+1 vektort. Sz´am´ıtsuk ki a (v) −1 (0) (0) B−1 = Q Bv m´atrixot, a c(v+1) = c(0) − dv+1 B−1 , b(v+1) = B−1 v+1 v+1 A v+1 b (0) vektorokat, ´es az α(v+1) = α(0) + dv+1 B−1 konstanst. Ezt k¨ovet˝oen n¨ovelj¨ uk v+1 b 1-gyel v ´ert´ek´et, ´es folytassuk az elj´ar´ast a k¨ovetkez˝o iter´aci´os l´ep´essel. Az elj´ar´ as helyess´ege a 4.t´etel ´es az azt k¨ovet˝o els˝o ´eszrev´etel, valamint a szimplex algoritmus helyess´eg´enek a k¨ovetkezm´enye. A sz´am´ıt´ asok v´egrehajt´as´ ahoz vegy¨ uk ´eszre, hogy bevezetve az xn+1 x1 . x(1) = .. , x(2) = ... , xn xn+m 35
(0)
a1,n+1 . ¯ A= . . (0) an,n+1
... ...
(0) a1,n+m .. , . (0) an,n+m
(0) (0) ¯ (2) . Ekkor A(v) x = B−1 A(0) x = ¯ = (cn+1 , . . . , cn+m ) jel¨ol´eseket, A(0) x = Ex(1) + Ax c v (1) ¯ (2) ) = B−1 x(1) + B−1 Ax ¯ (2) , azaz az x1 , . . . , xn v´altoz´okhoz tartoz´o, B−1 (Ex + Ax v v v a v-edik feladatban szerepl˝o egy¨ utthat´okb´ol ´all´o m´atrix pontosan B−1 v . (v)
(0) Vegy¨ uk ´eszre tov´ abb´ a, hogy c(v) = c(0) −dv B−1 alapj´an cj = 0−dv B−1 v A v Ej , (v) (v) ha 1 ≤ j ≤ n, ahol Ej a j-edik egys´egvektort jel¨oli. ´Igy (c1 , . . . , cn ) = −1 K¨ovetkez´esk´epp, az x1 , . . . , xn v´altoz´okhoz tartoz´o 0 − dv B−1 v E = −dv Bv . c´elf¨ uggv´enyegy¨ utthat´ okat megkapjuk, ha a −dv vektort megszorozzuk a B−1 atrixv m´ (v) (0) −1 (0) −1 (0) szal. Ha n + 1 ≤ j ≤ n + m, akkor cj = cj − dv Bv Aj = cj − dv Bv Aj , azaz (v) (v) ¯ ¯ − dv B−1 (cn+1 , . . . , cn+m ) = c uk meg, hogy a kapott kifejez´es tartalmazza v A. Figyelj¨ −1 az el˝oz˝ oekben m´ar szerepelt −dv B vektort. ´Igy els˝ok´ent meghat´arozva −dv B−1 v v
et, majd k´epezve ezzel az A eredm´enyhez hozz´aadva
(0)
(0) cj -t,
(0)
m´atrix Aj
megkapjuk a
oszlopvektor´anak bels˝o szorzat´at ´es az
(v) cj
egy¨ utthat´ot.
A m´odos´ıtott szimplex algoritmust, ellent´etben a szimplex algoritmussal, m´ar k¨ozvetlen¨ ul a feladatokban szerepl˝o egy¨ utthat´okra fogalmaztuk meg, amelyeket c´elszer˝ u t´ abl´ azatos form´aban elrendezni. A tov´abbiakban egy ilyen elrendez´est adunk meg, amelyben az oszlopok f¨ol´e ´ırt v´altoz´ok jelzik, hogy az illet˝o egy¨ utthat´ok melyik v´ altoz´ ohoz tartoznak. Indul´o t´abl´ azatk´ent vegy¨ uk a k¨ovetkez˝ot:
b.v´ alt.
b(v)
x1 . . . xn
x1 .. .
b(0)
E
xn+1
...
xn+m
¯ A
xn v=0
−α 0
...
0
¯ c
Az egyszer˝ ubb ´abr´ azol´ as ´erdek´eben tegy¨ uk fel, hogy α = 0 ´es n = m = 5. Tegy¨ uk (0) fel tov´ abb´ a, hogy a v´alasztott c´elf¨ uggv´enyegy¨ utthat´o c9 < 0. Akkor az elj´ar´as sze(0) (0) rint a 0-adik iter´aci´ o m´asodik l´ep´es´eben meg kell hat´aroznunk az A9 = B−1 0 A9 = (0) (0) unkre ´all, EA9 = A9 oszlopvektort. Ez a vektor a 0-adik iter´aci´oban rendelkez´es¨ ´ıgy meghat´aroz´ asa felesleges. Az elj´ar´ as ezt a sz´am´ıt´ ast technikai okok miatt tartalmazza, ugyanis ezen meghat´ aroz´ as a tov´ abbi iter´aci´ os l´ep´esekben m´ar sz¨ uks´eges. Ezek ut´an k´epezz¨ uk a (0) (0) pozit´ıv ar9 ´ert´ekekre a br /ar9 h´anyadosokat, ´es tegy¨ uk fel, hogy a v´alasztott gener´al´o 36
(0)
(0)
(0)
elem a39 . Akkor a39 ´es A9 ismeret´eben elk´esz´ıthet˝o a Q(0) = B−1 m´atrix. Mivel 1 B−1 a soron k¨ o vetkez˝ o feladatban az x , . . . , x v´ a ltoz´ o khoz tartoz´ o egy¨ utthat´okb´ol 1 5 1 −1 all´ ´ o m´atrix, ez´ert B1 -et be´ırhatjuk az x1 , . . . , x5 v´altoz´oknak megfelel˝o t¨ombbe. Az u ´j b´ azisv´ altoz´ ok x1 , x2 , x9 , x4 , x5 , ezeket be´ırhatjuk a t´abl´azat baloldal´aba. K´epezz¨ uk a (0) d1 vektort, amelynek 3-adik komponense c9 ´es a t¨obbi komponense 0, majd sz´am´ıtsuk ki a −d1 B−1 vektort. Az el˝o´ all´ o vektor pontosan az x1 , . . . , x5 v´altoz´ohoz tartoz´o 1 c´elf¨ uggv´enyegy¨ utthat´ okat tartalmazza, ´ıgy be´ırhatjuk a t´abl´azat megfelel˝o sor´aba. A felsorolt m˝ uveletek ut´an a v = 0 ´es v = 1 iter´aci´okra vonatkoz´o t´abl´azatok az al´ abbi ´ert´ekeket tartalmazz´ak: b.v´ alt.
b(v)
x1
...
x5
x6
x7
x8
x9
¯ A
a39
x10
x1 x2 x3
b(0)
E
(0)
x4 x5 v=0
0
...
¯ c
0
x1 x2 x9
(0) B−1 1 =Q
x4 x5 v=1
−d1 B−1 1
Most B1−1 , −d1 B−1 ismeret´eben az el˝oz˝oekben le´ırt m´odon rendre kisz´am´ıtjuk a 1 (1) (0) (0) (0) tov´abbi cj = cj − d1 B−1 (j = 6, . . . , 10) egy¨ utthat´okat, a b(1) = B−1 1 Aj 1 b −1 (0) vektort ´es a −d1 B1 b konstanst. Ezeket be´ırva a t´abl´azat megfelel˝o helyeire, az elj´ ar´ ast a k¨ovetkez˝ o iter´aci´ os l´ep´essel folytatjuk. Az al´abbi t´abl´ azat az elj´ar´ as folytat´as´at mutatja. Itt felt´etelezt¨ uk, hogy az elj´ar´ as (0) (0) (1) (1) a harmadik iter´aci´ os l´ep´esn´el v´eget ´er, ´es az egyes l´ep´esekben rendre c9 , a39 ; c7 , a47 ; (2) (2) c8 , a28 a v´alasztott c´elf¨ uggv´enyegy¨ utthat´ok illetve gener´al´o elemek. A t´abl´azatba bejel¨olt¨ uk azokat az oszlopokat, amelyek kisz´am´ıt´asra ker¨ ulnek az algoritmus sor´an.
37
b(v)
b.v´ alt.
x1
...
x5
x6
x7
x8
x9
¯ A
a39
x10
x1 x2 b(0)
x3
E
(0)
x4 x5 v=0
0
0
...
¯ c
0
x1 x2 (0) B−1 1 b
x9
(0)
(0) B−1 1 =Q
← B−1 1 A7 (0)
x4
a47
x5 v=1
(0) −d1 B−1 1 b
¯ ¯ − d1 B−1 c 1 A
−d1 B−1 1
x1 (2)
x2
a28 (0) B−1 2 b
Q(1) B−1 1
(0) −d2 B−1 2 b
−d2 B−1 2
(0) B−1 3 b
Q(2) B−1 2
(0) −d3 B−1 3 b
−d3 B−1 3
x9
(0)
← B−1 2 A8
x7 x5 v=2
¯ ¯ − d2 B−1 c 2 A
x1 x8 x9 x7 x5 v=3
¯ ¯ − d3 B−1 c 3 A
A m´odos´ıtott szimplex algoritmus v´egrehajt´as´at a k¨ovetkez˝o feladaton illusztr´aljuk.
5.p´elda. 38
x1 +
x4 +x5 +x6 +x7 +x8 +2x9 +2x10 = 4 x4 +2x5 +2x6 +x7 +x8 +2x9 +x10 = 6 x3 + 2x4 +x5 −2x6 +2x7 +2x8 +x9 +3x10 = 5 xj ≥ 0 (i = 1, . . . , 10) ———————————————————————————— x4 +2x5 −5x6 +x7 −6x8 +x9 −6x10 =z(x)→ min x2 +
b.v´ alt.
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
x2
7/2
0
1
−1/2
3
x8
5/2
0
0
1/2
−1
v=1
15
0
0
3
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
93/4 11/2
0
1/4
v=2
∗
2
7
5
−11
7
0
7
31/4
0
7
0
49/4 23/4
Mivel c(2) ≥ 0, ez´ert az elj´ ar´ as v´eget ´er. Az optim´alis megold´as a k¨ovetkez˝o: x ¯6 = 3/4
x ¯1 = x ¯3 = x ¯4 = 0
x ¯2 = 5/4
x ¯5 = x ¯7 = x ¯9 = 0
x ¯8 = 13/4
x ¯10 = 0
Az optimum ´ert´eke: −93/4 39
A m´odos´ıtott szimplex algoritmust G. B. Dantzig ´es W. Orchard-Hays dolgozta ki 1953-ban. Az elj´ar´ assal kapcsolatban meg kell eml´ıten¨ unk, hogy a v´egrehajt´as sor´an ´erintett feladatsort illet˝oen a m´odos´ıtott v´altozat nem k¨ ul¨onb¨ozik a szimplex algoritmust´ ol. Az elj´ar´ asokat alkalmazva egy lehets´eges kanonikus alak´ u feladatra, mindk´et elj´ ar´ as ugyanazon feladatsoron fut v´egig. A k´et elj´ar´as a kisz´am´ıtott egy¨ utthat´ok mennyis´eg´eben ´es a kisz´am´ıt´ as m´odj´aban k¨ ul¨onb¨ozik egym´ast´ol. Nevezetesen, amig a szimplex algoritmusn´ al az ´erintett feladatok ¨osszes egy¨ utthat´oj´at meghat´arozzuk, addig a m´odos´ıtott elj´ar´ asn´ al az ´erintett feladatok egy¨ utthat´oinak csak egy r´esz´et sz´ am´ıtjuk ki, ´es a kisz´am´ıt´ as m´odja elt´er a szimplex algoritmusn´al alkalmazott technik´ at´ ol. Ebb˝ol ad´od´ oan lehets´eges a sz¨ uks´eges egy¨ utthat´okat (a v-edik l´ep´esben B−1 v+1 , −1 −1 (0) Bv+1 b , −dv+1 Bv+1 elemei) a norm´al szimplex algoritmus szerint sz´am´ıtani. A k¨ovetkez˝ o fejezetben ismertet´esre ker¨ ul˝o elj´ar´as elt´er az eddigiekt˝ol, a v´egrehajt´as sor´an el˝o´ all´ o feladatsor bizonyos esetekben m´as lesz, mint a t´argyalt algoritmusokn´ al, ´es ´eppen ez az elt´er´es fogja biztos´ıtani ezen algoritmus v´egess´eg´et.
Feladatok 1. Hajtsunk v´egre a szimplex algoritmusb´ol egy iter´aci´os l´ep´est az al´abbi feladaton. Ezt k¨ovet˝ oen hat´arozzuk meg a B−1 atrixot, a d1 vektort, ´es ellen˝orizz¨ uk le a 1 m´ 4.t´etelben megadott ¨osszef¨ ugg´esek teljes¨ ul´es´et. x1 +
2x4 +3x5 +x6 −x7 +x8 = 1 x2 + −2x4 +3x5 +x6 +x7 +2x8 = 1 x3 + 2x4 −3x5 +x6 −2x7 +2x8 = 1 xj ≥ 0 (i = 1, . . . , 8) ——————————————————————— −4x4 −9x5 −5x6 +3x7 +7x8 =z(x)→ min
2. Oldjuk meg m´odos´ıtott szimplex algoritmussal az al´abbi feladatokat: x1 +
+x5 +x6 −x7 +2x8 +x9 −x10 = 2 x4 +x5 +2x6 +x7 +2x8 −x9 +x10 = 6 x3 + 2x4 +2x5 +x6 +x7 +3x8 +2x9 +3x10 = 8 xj ≥ 0 (i = 1, . . . , 10) ———————————————————————————— x4 −4x5 +2x6 +x7 −5x8 +2x9 −3x10 =z(x)→ min x2 +
(a)
x1 +
x4 +x5 +x6 +x7 +x8 +2x9 +2x10 = 4 x4 +2x5 +2x6 +x7 +x8 +2x9 +x10 = 6 x3 + 2x4 +x5 −2x6 +2x7 +2x8 +x9 +3x10 = 5 xj ≥ 0 (i = 1, . . . , 10) ———————————————————————————— x4 +2x5 −5x6 +x7 −6x8 +x9 −6x10 =z(x)→ min x2 +
(b)
40
3. Igazoljuk a 4.t´etel felhaszn´al´as´aval, hogy b´armely olyan elj´ar´asra, amely csak a gener´ al´ o elem kijel¨ol´es´eben k¨ ul¨ onb¨ ozik a szimplex algoritmust´ol ´erv´enyes a k¨ovetkez˝o all´ıt´ ´ as. Ha az elj´ar´ as v-edik iter´aci´ oj´ aban a b´azisv´altoz´ok xi1 , . . . , xin , tov´abb´a a w-edik iter´ aci´ oban ugyanezen b´azisv´ altoz´ok szerepelnek, csak xij ´es xik (1 ≤ j < k ≤ n) helye fel van cser´elve, akkor B−1 o´all´ıthat´o B−1 ol a j-edik ´es k-adik sorvektorok w el˝ v -b˝ (v) (w) (v) (v) (w) (w) cser´ej´evel, ´es (−α , c1 , . . . , cn+m ) = (−α , c1 , . . . , cn+m ). 4. Alkalmazva a 2.1 fejezet elj´ar´as´at az al´abbi feladatokra, rendre lehets´eges kanonikus alak´ u feladatokhoz jutunk. Alkalmazzuk ezen elj´ar´ast, ´es az el˝o´all´ıtott lehets´eges kanonikus alak´ u feladatokat oldjuk meg m´odos´ıtott szimplex algoritmussal. x1 −2x2 +x3 −x1 +x2 −2x3 3x1 −x2 −x3
−x4 +x5 −2x6 +x7 ≤ 5 +x4 +x5 −x6 −2x7 ≥ −7 +x4 −x5 −x6 +x7 ≤ 4 xi ≥ 0 (i = 1, . . . , 7) ———————————————————— 2x1 −9x2 −3x3 +x4 +2x5 −11x6 +3x7 =z(x) → min 2x1 +x2 −x3 ≤ 5 −x1 +x2 −2x3 ≥ −4 x1 −x2 −x3 ≤ 2 ———————————— −3x1 −x2 +x3 = z(x) → min 2.4 Lexikografikus szimplex algoritmus
Amint azt az el˝oz˝ oek sor´an eml´ıtett¨ uk A. J. Hoffman, E. M. L. Beale ´es A. W. Tucker p´eld´ ai negat´ıv ir´anyban ugyan, de eld¨ont¨ott´ek a szimplex algoritmus v´egess´eg´enek k´erd´es´et. Miut´an ez ilyen m´odon megold´odott, a kutat´ok azt vizsg´alt´ak, hogy az elj´ar´ as milyen v´altoztat´ asa biztos´ıtan´a annak v´egess´eg´et. A vizsg´alatok sor´ an kider¨ ult, hogy ezt a gener´al´ o elem kijel¨ol´es´enek strat´egi´aja d¨ont˝oen befoly´asolja. Igazol´ ast nyert, hogy amennyiben a gener´al´o elem kijel¨ol´ese a sorvektorok figyelembev´etel´evel t¨ort´enik, akkor a c´elf¨ uggv´enyegy¨ utthat´okb´ol ´all´o vektorok k¨oz¨ott el´erhet˝ o egyf´ele szigor´ u monoton n¨oveked´es, amely m´ar biztos´ıtja az elj´ar´as v´egess´eg´et. Az algoritmus ezen v´altozata lexikografikus szimplex algoritmus n´even ismeretes. A tov´ abbiakban a sz¨ uks´eges fogalmak ´es jel¨ol´esek bevezet´ese ut´an, ismertetj¨ uk a sz´ oban forg´o elj´ar´ ast, majd igazoljuk annak v´egess´eg´et. Legyen d ´es c az n-dimenzi´os t´er k´et vektora. Azt mondjuk, hogy d lexikografikusan nagyobb vagy egyenl˝ o, mint c, ha a d − c vektor els˝o 0-t´ol k¨ ul¨onb¨oz˝o komponense pozit´ıv. A bevezetett rel´aci´o jel¨ol´es´ere a d º c jel¨ol´est haszn´aljuk. K¨ onnyen bel´athat´ o, hogy az n-dimenzi´os euklideszi t´erben a tekintett rel´aci´o reflex´ıv, tranzit´ıv, antiszimmetrikus ´es dichotom. Ez pontosan azt jelenti, hogy a bevezetett rel´ aci´ o line´aris rendez´es, vagy m´as terminol´ogia szerint teljes rendez´es. Ebb˝ol viszont 41
az k¨ovetkezik, hogy az n-dimenzi´ os t´er vektoraib´ol ´all´o b´armely {d1 , . . . , dn } v´eges halmaznak van legkisebb eleme a tekintett rendez´es szerint. Ezt a legkisebb elemet lexmin{d1 , . . . , dn }-nel jel¨olj¨ uk. Haszn´alni fogjuk a fenti rendez´eshez tartoz´o szigor´ u rendez´est is, amelyre d  c, ha d º c ´es d 6= c . Speci´alisan, d  0 eset´en a d vektort lexikografikusan pozit´ıvnak nevezz¨ uk. Alkalmazzuk m´eg a ford´ıtott rel´aci´ojeleket is a term´eszetes ´ertelmez´esnek megfelel˝oen, azaz c ¹ d pontosan akkor teljes¨ ul, ha d º c, ´es c ≺ d pontosan akkor teljes¨ ul, ha d  c. V´eg¨ ul azt mondjuk, hogy egy P m´ atrix lexikografikusan pozit´ıv, ha P minden sorvektora lexikografikusan pozit´ıv. A P m´atrix ezen tulajdons´ag´at P  0 -val jel¨olj¨ uk. Ezek ut´an a (2.3.1) lehets´eges kanonikus alak´ u feladat megold´as´ara a szimplex algoritmus k¨ovetkez˝ o v´altozat´ at ´ep´ıthetj¨ uk fel. Lexikografikus szimplex algoritmus u feladat c´elf¨ uggv´enye nem tartal1.l´ep´es. Ha a tekintett lehets´eges kanonikus alak´ maz negat´ıv egy¨ utthat´ ot, akkor v´ege az elj´ar´asnak, a feladat b´azismegold´asa optim´alis megold´ as. Ellenkez˝ o esetben a 2.l´ep´es k¨ovetkezik. 2.l´ep´es. Vegy¨ uk a negat´ıv cs -ek minimum´at. Jel¨olje cj a minimummal megegyez˝ o cs -ek k¨oz¨ ul a legkisebb index˝ ut. Ha arj ≤ 0 (r = 1, . . . , n), akkor v´ege az elj´ar´asnak, a c´elf¨ uggv´eny alulr´ol nem korl´ atos a lehets´eges megold´asok halmaz´an. Ellenkez˝o esetben a 3.l´ep´es k¨ovetkezik. 3.l´ep´es. Ha min{br /arj : arj > 0, 1 ≤ r ≤ n} = bk1 /ak1 j = . . . = bks /aks j , akkor tekints¨ uk a hkt = (bkt , akt 1 , . . . , akt n+m )/akt j (t = 1, . . . , s) vektorokat, ´es legyen hk = lexmin{hk1 , . . . , hks }. V´alasszuk az akj egy¨ utthat´ot gener´al´o elemnek, majd hajtsuk v´egre a 2.2 fejezet 2.t´etel´eben megadott ´atalak´ıt´asokat, ´es a kapott lehets´eges kanonikus alak´ u feladattal folytassuk az elj´ar´ast az 1.l´ep´esn´el. Az elj´ ar´ assal kapcsolatban els˝ok´ent az egy´ertelm˝ us´eget igazoljuk. Ehhez azt kell megmutatnunk, hogy a gener´al´ o elem kiv´alaszt´asa egy´ertelm˝ u. Ez akkor teljes¨ ul, ha a hkt (t = 1, . . . , s) vektorok p´aronk´ent k¨ ul¨onb¨oz˝oek, ami nyilv´anval´o, mivel minden feladat tartalmaz egy egys´egm´ atrixot, ´ıgy a sorvektorok nem egym´as konstansszorosai. Az elj´ar´ as helyess´eg´et illet˝oen vegy¨ uk ´eszre, hogy a fenti algoritmus csak a harmadik l´ep´esben t´er el a szimplex algoritmust´ol, az elt´er´es a gener´al´o elem kiv´ alaszt´ as´ an´ al van. De akkor az elj´ar´as helyess´ege k¨ovetkezik a 2.2 fejezet 1., 2. ´es 3.t´eteleib˝ ol. Az algoritmus v´egess´eg´ere vonatkoz´oan a k¨ovetkez˝o ´all´ıt´as ´erv´enyes. 5.t´ etel. A lexikografikus szimplex algoritmus v´eges l´ep´esben v´eget ´er. Bizony´ıt´ as. Jel¨olje az elj´ar´ as sor´an el˝o´all´o v-edik feladatot A(v) x = b(v) x ≥ 0, (b(v) ≥ 0) ————————– α(v) + c(v) x = z(x) → min 42
(v)
Legyen tov´ abb´ a P(v) = (b(v) , A(v) ), q(v) = (−α(v) , c(v) ), ´es jel¨olje pi a P(v) m´atrix i-edik sorvektor´ at. Els˝ ok´ent megmutatjuk, hogy a P(v) (v = 0, 1, . . .) m´atrixok rendre lexikografikusan pozit´ıvak. Ezt az ´all´ıt´ ast v szerinti teljes indukci´oval igazoljuk. Ha v = 0, akkor az ´all´ıt´as nyilv´ anval´ oan teljes¨ ul, mivel b(0) ≥ 0 ´es b´armely 1 ≤ i ≤ n, 1 ≤ j ≤ n indexekre n (0) 1, ha i = j, aij = 0 k¨ ul¨onben. Most legyen v tetsz˝ oleges nemnegat´ıv eg´esz ´es tegy¨ uk fel, hogy az ´all´ıt´as teljes¨ ul vre. Tegy¨ uk fel tov´ abb´ a, hogy az elj´ar´as nem ´er v´eget, ´es a soron k¨ovetkez˝o l´ep´esben (v) (v) a gener´al´ o elem akj . Ekkor tetsz˝oleges 1 ≤ i ≤ n indexre, ha aij > 0, akkor (v) (v) (v) (v) (v) (v) (v) (v) pi /aij  pk /akj teljes¨ ul. Val´ oban, ha bi /aij > bk /akj , akkor a rel´aci´o nyil(v) (v) (v) (v) v´ anval´ oan fenn´all. Ha bi /aij = bk /akj , akkor a rel´aci´o teljes¨ ul´ese a gener´al´ o (v+1) elem kiv´alaszt´ as´ anak k¨ovetkezm´enye. Vizsg´aljuk ezek ut´an a P m´atrix sorvektorait. Els˝ok´ent tekints¨ uk a k-adik sorvektort. A 2.2 fejezet 2.t´etel´eben megadott (v) (v+1) (v) (v) (v) atalak´ıt´ ´ asoknak megfelel˝oen r0k = rk /akj , ´es ´ıgy pk = pk /akj . Mivel akj > 0 (v) (v+1) ´es az indukci´ os feltev´es szerint pk  0, ez´ert pk  0. Most legyen 1 ≤ i ≤ n, (v) (v) i 6= k tetsz˝oleges. Akkor a 2.t´etel bizony´ıt´as´anak megfelel˝oen r0i = ri − aij rk /akj , (v+1) (v) (v) (v) (v) (v) ´es ´ıgy pi = pi − aij pk /akj . Az aij egy¨ utthat´o el˝ojel´et˝ol f¨ ugg˝oen k´et esetet k¨ ul¨ onb¨ oztet¨ unk meg. (v) (v) (v) (v) Ha aij ≤ 0, akkor −aij /akj ≥ 0. M´asr´eszt az indukci´os feltev´es szerint pk  0, (v) (v) (v) (v) (v) (v+1) ´es pi  0. De akkor pi − aij pk /akj  0 is teljes¨ ul, azaz pi  0. (v) (v) (v) (v) (v) Ha aij > 0, akkor az el˝oz˝ oek alapj´an tudjuk, hogy pi /aij  pk /akj , amib˝ol (v) (v) (v) (v) (v+1) pi − aij pk /akj  0 k¨ovetkezik, azaz pi  0. (v+1) (v) K¨ ovetkez´esk´epp P  0, amivel a P (v = 0, 1, . . .) m´atrixokra vonatkoz´ o all´ıt´ ´ ast igazoltuk. K¨ovetkez˝ o l´ep´esk´ent megmutatjuk, hogy az addit´ıv konstans negat´ıvj´ab´ol ´es a c´elf¨ uggv´enyegy¨ utthat´ okb´ ol ´all´ o q(0) , q(1) , . . . vektorok a lexikografikus rendez´esre n´ezve egy szigor´ uan monoton n¨ovekv˝ o sorozatot alkotnak, azaz q(0) ≺ q(1) ≺ q(2) ≺ . . . . E c´elb´ ol legyen v tetsz˝oleges nemnegat´ıv eg´esz, ´es tegy¨ uk fel, hogy a soron k¨ovetkez˝ o (v) 0 gener´ al´ o elem akj . Akkor a 2.2 fejezet 2.t´etele bizony´ıt´as´anak megfelel˝oen z = z − (v) (v) (v) (v) (v) (v) (v) (v) cj rk /akj , ´es ´ıgy q(v+1) = q(v) − cj pk /akj , amib˝ol q(v+1) − q(v) = −cj pk /akj . (v) (v) (v) Az el˝oz˝ oekben bizony´ıt´ ast nyert, hogy pk  0. M´asr´eszt −cj /akj > 0, ´ igy (v) (v) (v) −cj pk /akj  0, amib˝ol q(v+1) − q(v)  0, ´es ´ıgy q(v+1)  q(v) k¨ovetkezik. Ezzel a monoton´ıt´ asra vonatkoz´ o ´all´ıt´ ast igazoltuk. Befejez´es¨ ul a kapott monoton´ıt´ast felhaszn´alva megmutatjuk, hogy az elj´ar´ as v´eges l´ep´esben v´eget ´er. Az ´all´ıt´ ast indirekt bizony´ıtjuk. Tegy¨ uk fel, hogy az ´all´ıt´as nem igaz, az elj´ar´ as v´eg n´elk¨ ul folytat´odik. mivel a v´altoz´ok sz´ama n + m, ´es a ¡ Akkor ¢ b´ azisv´ altoz´ ok sz´ama n, ez´ert legfeljebb n+m n! l´ e p´ es ut´an olyan b´azisv´altoz´okhoz jun tunk, amelyek m´ar valamely kor´ abbi feladatnak is b´azisv´altoz´oi voltak, ´es a v´altoz´ok 43
¡ ¢ sorrendje is azonos. ´Igy l´eteznek olyan 0 ≤ r < s ≤ n+m n! term´eszetes sz´amok, n hogy az elj´ar´ as sor´an el˝o´ all´ o r-edik ´es s-edik feladatokhoz ugyanazon b´azisv´altoz´ok tartoznak, ´es a b´azisv´ altoz´ ok sorrendje is azonos. Ekkor az ezen v´altoz´okhoz tartoz´o, az eredeti feladatban szerepl˝o egy¨ utthat´okb´ol ´all´o Br , Bs m´atrixokra ´es dr , ds vektorokra Br = Bs ´es dr = ds teljes¨ ul. Mivel a lexikografikus szimplex algoritmus csak a gener´al´ o elem kijel¨ol´es´eben t´er el a szimplex algoritmust´ol, ez´ert a 2.3 fejezet 4.t´etel´et k¨ovet˝ o megjegyz´es alapj´an a 4.t´etel ¨osszef¨ ugg´esei ´erv´enyesek a lexikografikus szimplex algoritmusra is. Alkalmazva ezeket az ¨osszef¨ ugg´eseket, (0) α(r) = α(0) + dr B−1 , r b
(0) c(r) = c(0) − dr B−1 , r A
α(s) = α(0) + ds Bs−1 b(0) ,
(0) c(s) = c(0) − ds B−1 . s A
A fenti egyenletekb˝ ol Br = Bs , dr = ds miatt α(r) = α(s) , c(r) = c(s) , ´es ´ıgy (r) (s) q = q k¨ovetkezik. Ez ellentmond a q(r) ≺ q(s) rel´aci´o teljes¨ ul´es´enek, amivel ellentmond´ ashoz jutottunk. K¨ovetkez´esk´epp az elj´ar´as v´eges l´ep´esben v´eget ´er, amivel az 5.t´etel bizony´ıt´ as´ at befejezt¨ uk. A fenti bizony´ıt´ assal kapcsolatban meg kell eml´ıteni, a q(r) = q(s) egyenletet ¡n+mhogy ¢ kiel´eg´ıt˝ o r < s indexek el´er´es´ehez nem sz¨ uks´eges n! l´ep´es, a korl´atb´ol az n! n elhagyhat´ o. Val´ oban, ismeretes, hogy b´armely permut´aci´o fel´ırhat´o transzpoz´ıci´ok szorzatak´ent, ´es ´ıgy a 2.3 fejezet 3.feladat´at felhaszn´alva, bel´athat´o, hogy a sorrendt˝ol eltekintve, a b´azisv´ altoz´ ok megegyez´es´eb˝ol m´ar k¨o¡vetkeznek a Br = Bs , dr = ds ¢ n+m egyenl˝ os´egek. Ez azt eredm´enyezi, hogy legfeljebb n l´ep´es ut´an l´eteznek a fenti tulajdons´aggal rendelkez˝ o r, s indexek. A nagyobb korl´atot az´ert haszn´altuk, mert a v´egess´eg szempontj´ ab´ ol k¨oz¨ omb¨ os a korl´at nagys´aga, ´es a jelen t´argyal´asm´odban a nagyobb korl´ at egy egyszer˝ ubb bizony´ıt´ast tett lehet˝ov´e. Az ismertetett elj´ar´ as demonstr´al´as´ara megoldjuk E. M. L. Beale p´eld´aj´at. A lexikografikus szimplex algoritmust a m´odos´ıtott szimplex algoritmusn´al megismert elrendez´esben hajtjuk v´egre az egy¨ utthat´okon. Az indul´o t´abl´azat a k¨ovetkez˝o: b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x1
0
1
0
0
1/4
−8
−1
9
x2
0
0
1
0
x3
1
0
0
1
v=0
0
0
0
0
A legkisebb c´elf¨ uggv´enyegy¨ utthat´o: −3/4. 0/(1/4) = 0/(1/2) = 0. V´eve a (0)
p1
(0)
a14
∗
1/2 −12 −1/2
3
0
0
1
−3/4 20 −1/2
6
Az oszlop´aban k´epezett h´anyadosok:
1 = 4(0, 1, 0, 0, , −8, −1, 9) , 4 44
0
(0)
p2
(0) a24
1 1 = 2(0, 0, 1, 0, , −12, − , 3) 2 2 (0)
(0)
vektorokat, ezek k¨oz¨ ul lexikografikusan kisebb a p2 /a24 vektor, ´ıgy a gener´al´o elem (0) a24 . V´egrehajtva a 2.t´etelben megadott ´atalak´ıt´asokat, a k¨ovetkez˝o t´abl´azathoz jutunk:
b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x1
0
1
−1/2
0
0
−2 −3/4 15/2
x4
0
0
2
0
1
−24
x3
1
0
0
1
0
0
v=1
0
0
3/2
0
0
2
x6
x7
−1
6
∗
0
1
−5/4 21/2
(1)
A −5/4 oszlop´aban csak az a36 lehet gener´al´o elem. V´egrehajtva a megfelel˝o ´atalak´ıt´ asokat, az al´abbi t´abl´ azatot kapjuk:
b.v´ alt.
b(v)
x1
x1
3/4
1
x4
1
0
2
x6
1
0
v=2
5/4
0
x2
x3
x4
x5
x6
x7
−1/2 3/4
0
−2
0
15/2
1
1
−24
0
6
0
1
0
0
1
0
3/2
5/4
0
2
0
21/2
45
Az utols´o t´abl´ azatban m´ar minden c´elf¨ uggv´enyegy¨ utthat´o nemnegat´ıv, ´ıgy az x ¯1 = 3/4, x ¯4 = 1, x ¯6 = 1, x ¯2 = x ¯3 = x ¯5 = x ¯7 = 0 b´azismegold´as egyben optim´alis megold´as is, amivel a tekintett feladatot megoldottuk. A feladat megold´as´ an´ al alkalmazott elrendez´es az´ert praktikus, mert a t´abl´azat sorvektorai a k´ıv´ ant ¨osszet´etel˝ uek, ´es ´ıgy a lexikografikus minimum a sorvektorok atrendez´ese n´elk¨ ´ ul meghat´arozhat´ o. A megold´as sor´an el˝o´all´ıtott h´arom t´abl´azaton (0) (1) kontroll´ alhat´ o a P Â 0, P Â 0, P(2) Â 0 ´es q(0) ≺ q(1) ≺ q(2) rel´aci´ok teljes¨ ul´ese. Szint´en az alkalmazott elrendez´es kapcs´an felvethet˝o az a k´erd´es, hogy van-e a m´odos´ıtott szimplex algoritmusnak lexikografikus v´altozata. Egy ilyen v´altozat l´etez´es´ehez azt kell bel´atnunk, hogy a m´odos´ıtott elj´ar´as sor´an el˝o´all´ıtott egy¨ utthat´ok alapj´an meghat´arozhat´ o a sz¨ uks´eges lexikografikus minimum. Ez viszont teljes¨ ul, mivel az el˝o´ all´ıtott egy¨ utthat´ ok tartalmaznak egy regul´aris m´atrixot, amelynek sorvektorai nem konstansszorosai egym´asnak. ´Igy ½ ¾ 1 1 lexmin (bkt , akt 1 , . . . , akt n ) = (bk , ak1 , . . . , akn ) t=1,...,s akt j akj akkor ´es csak akkor, ha ½ ¾ 1 1 lexmin (bkt , akt 1 , . . . , akt ,n+m ) = (bk , ak1 , . . . , ak,n+m ) t=1,...,s akt j akj A fenti ekvivalencia biztos´ıtja a k´ıv´ant algoritmus l´etez´es´et. A lexikografikus szimplex algoritmus v´egess´eg´et bizony´ıt´o 5.t´etellel kapcsolatban term´eszetesen vet˝ odik fel az a k´erd´es, hogy h´any iter´aci´os l´ep´es sz¨ uks´eges a (2.2.1) lehets´eges kanonikus alak´ u feladat megold´as´ahoz. A v´alasz megad´as´ ahoz el˝osz¨ or mag´at a k´erd´est kell pontos´ıtanunk. Az mag´at´ol ´ertet˝ od˝ onek l´atszik, hogy a feladat m´ereteinek n¨ovel´es´evel az iter´aci´os l´ep´esek sz´am´anak n¨ oveked´es´et v´arhatjuk, legal´abbis a sz´els˝os´eges esetekt˝ol eltekintve. Az is mag´at´ ol ´ertet˝ od˝ o, hogy r¨ogz´ıtett m´eretek mellett az iter´aci´os l´ep´esek sz´ama f¨ ugg az egy¨ utthat´ok konkr´et ´ert´ekeit˝ ol, vagyis m´as-m´ as ´ert´ekek mellett m´as ´es m´as sz´am´ u l´ep´est kell elv´egezn¨ unk a megold´asig. Ez´ert eredeti k´erd´es¨ unk egy pontosabb megfogalmaz´asa a k¨ovetkez˝o lehet: mi az iter´aci´ os l´ep´esek sz´am´anak ´atlagos ´ert´eke r¨ogz´ıtett m´eretek mellett. A v´alasz megad´as´ ahoz term´eszetesen sz¨ uks´eg¨ unk lenne a feladatban szerepl˝ o egy¨ utthat´ ok val´ osz´ın˝ us´egeloszl´as´anak ismeret´ere, ami a gyakorlati feladatokn´al altal´ ´ aban rem´enytelen. Az elm´ ult ´evtizedekben megoldott line´aris programoz´asi feladatokn´ al nyert megfigyel´esek alapj´an elfogadhat´onak t˝ unik az a becsl´es, hogy az iter´ aci´ os l´ep´esek sz´am´ anak ´atlagos ´ert´eke 3n-n´el kisebb, ahol n az egyenletek sz´am´ at jel¨ oli. A k´erd´es egy m´asik ir´any´ u pontos´ıt´asa gyakorlati szempontb´ol tal´an kev´esb´e ´erdekes, de elm´eleti szempontb´ ol nagyon is az: legfeljebb h´any iter´aci´os l´ep´est kell elv´egezn¨ unk ahhoz, hogy az optimumot megkapjuk? Ilyen szempontb´ol j´onak szok´as tekinteni azokat az elj´ar´ asokat, amelyek a bemen˝o adatok sz´am´anak egy polinomi´alis f¨ uggv´eny´evel korl´ atozhat´ o l´ep´essz´ amot haszn´alnak fel. Mi egy V. Klee ´es G. J. Minty altal 1972-ben megadott p´eld´ ´ an mutatjuk be, hogy a lexikografikus szimplex algoritmus ebb˝ol a szempontb´ ol nem j´o. Tekints¨ uk a k¨ovetkez˝o feladatot: 46
x1
+x4 = 1 +20x4 +x5 = 100 x3 +200x4 +20x5 +x6 = 10000 —————————————————————————−100x4 −10x5 −x6 =z(x) → min x2
Oldjuk meg a feladatot lexikografikus szimplex algoritmussal. Mivel minden l´ep´esben a gener´ al´ o elem kijel¨ol´ese egy´ertelm˝ u, ez´ert a lexikografikus elj´ar´as egybeesik a szimplex algoritmussal, ´ıgy a megold´as sor´an szimplex t´abl´azatokkal dolgozhatunk. x4
x5
x6
x1
x5
x6
0
0
1
1
0
80
20
1
9800
100
−10
−1
100
x4
x2
x6
x1
∗
1
0
0
1
x4
1
x2
20
1
0
100
x2
−20
x3
200
20
1
10000
−1
0
−100 −10 −
x1
x3 −200
∗
−
x2
x6
1
0
0
1
x1
1
0
0
1
x5
−20
1
0
80
x5
20
1
0
100
x3
200
−20
1
8200
−100
10
−1
900
x4
x2
x3
x4
∗
−
x3 −200 −20
∗
1
8000 1000
100
10
−1
x1
x2
x3
0
0
1
1
0
80
−
x1
∗
1
0
0
1
x4
1
x5
20
1
0
100
x5
−20
x6 −200 −20
1
8000
x6
200
−20
1
8200
−100 −10
1
9000
100
−10
1
9100
x4
x5
x3
−
x1
∗
−
x5
x3
1
0
0
1
x1
1
0
0
1
−20
1
0
80
x2
20
1
0
100
x6 −200
20
1
9800
x6
200
20
1
10000
−100
10
1
9900
100
10
1
10000
x4 x2
∗
−
47
´ Az optim´alis megold´ast 7 iter´aci´os l´ep´es ut´an kaptuk meg. Altal´ anosan is igazolhat´ o, hogy a k¨ovetkez˝ o x1
+xn+1 +2 · 10xn+1 +2 · 102 xn+1 .. .
x2 x3
..
.
= 1 = 100 = 1002 . = ..
+xn+2 +2 · 10xn+2 +xn+3
xn +2 · 10n−1 xn+1 +2 · 10n−2 xn+2 . . . +x2n =100n−1 xi ≥ 0 (i = 1, . . . , 2n) ———————————————————————————————– −10n−1 xn+1 −10n−2 xn+2 . . . −x2n = z(x) → min feladatot megoldva lexikografikus szimplex algoritmussal (szimplex algoritmussal), a v´egrehajt´asra ker¨ ul˝ o iter´aci´ os l´ep´esek sz´ama 2n − 1. Ennek szeml´eltet´es´et n = 4-re a gyakorlatokra hagyjuk. A fentiekhez kapcsol´odva megjegyezz¨ uk m´eg, hogy a k¨ovetkez˝o fejezetben ismertet´esre ker¨ ul˝ o tov´ abbi v´eges m´odszerekre (P. Wolfe ´es R. G. Bland algoritmusai) is hasonl´ o p´eld´ ak konstru´ alhat´ ok, vagyis azok sem szolg´altatnak polinomi´alis l´ep´essz´am´ u elj´ ar´ ast az optimum meghat´aroz´ as´ara. V´egezet¨ ul megeml´ıtj¨ uk, hogy az ismertetett lexikografikus szimplex algoritmust G. B. Dantzig, A. Orden ´es P. Wolfe dolgozta ki 1955-ben. Az´ota sz´amos tov´abbi v´ altozata k´esz¨ ult el a szimplex algoritmusnak, amelyek k¨oz¨ ul n´eh´anyat a k¨ovetkez˝o fejezetben ismertet¨ unk. Feladatok 1. Rendezz¨ uk lexikografikusan az al´abbi vektorokat: (3, 4, 2, 1, 0), (2, 1, −1, 0, 4), (3, 4, 1, −2, 0), (2, 1, −1, 0, 5), (3, 4, −2, 3, 4), (2, 1, −1, 0, 0). 2. Adjuk meg n-dimenzi´ os vektoroknak egy olyan v´egtelen halmaz´at , amelynek nem l´etezik lexikografikus minimuma. 3. Adjunk meg olyan m˝ uveleteket, amelyekre az n × m-es val´os lexikografikusan pozit´ıv m´atrixok halmaza z´art, azaz v´egrehajtva az adott m˝ uveletet egy ilyen m´ atrixon, az eredm´eny is lexikografikusan pozit´ıv m´atrix. 4. Oldjuk meg az al´abbi feladatokat lexikografikus szimplex algoritmussal. b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x1
0
1
0
0
1
−2
−3
4
x2
0
0
1
0
4
−3
−2
1
x3
1
0
0
1
1
1
1
1
v=0
0
0
0
0
−1
1
−1
1
48
b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x1
0
1
0
0
2
−3
−5
6
x2
0
0
1
0
6
−5
−3
2
x3
1
0
0
1
3
1
2
4
v=0
0
0
0
0
−1
1
−1
1
5. K´esz´ıts¨ uk el a m´odos´ıtott szimplex algoritmus lexikografikus v´altozat´at, ´es a fel´ep´ıtett algoritmussal oldjuk meg a fenti k´et feladatot. 6. Tekints¨ uk a fejezet v´eg´en megadott feladatot n=4 eset´en, ´es igazoljuk illetve v´ alaszoljuk meg az al´abbiakat: (a) Igazoljuk, hogy az els˝o h´et transzform´aci´o sor´an csak az els˝o h´arom sorb´ol v´ alasztunk gener´al´ o elemet. (b) Adjuk meg a negyedik sort ´es a c´elf¨ uggv´enyt a hetedik iter´aci´os l´ep´es ut´an. (c) Honnan v´alasztunk gener´al´o elemet a nyolcadik iter´aci´os l´ep´eshez? (d) Adjuk meg a szimplex t´abl´azatot a nyolcadik iter´aci´os l´ep´es ut´an. Mit allap´ıthatunk meg az els˝o h´arom sorr´ol? ´
2.5 A szimplex algoritmus n´ eh´ any tov´ abbi v´ altozata
Az el˝oz˝ o fejezetben megismert lexikografikus szimplex algoritmussal megold´odott az elj´ar´ as v´egess´eg´enek probl´em´ aja. Ennek ellen´ere folytat´odtak az olyan jelleg˝ u vizsg´ alatok, amelyek az algoritmus tov´abbi v´altozatainak kifejleszt´es´ehez vezettek. Ezeket a kutat´asokat egyr´eszt az elj´ar´as hat´ekonys´ag´anak n¨ovel´ese, m´asr´eszt az elj´ar´as gyakorlati v´egrehajt´as´ anak szempontjai motiv´alt´ak. A kutat´asok eredm´enyek´ent az algoritmus sz´amos v´altozata ker¨ ult kidolgoz´asra. Ezek k¨oz¨ ul a tov´abbiakban n´eh´any olyan v´altozatot ismertet¨ unk, amelyek csak a c´elf¨ uggv´enyegy¨ utthat´o ´es a gener´al´ o elem kiv´alaszt´ as´ anak strat´egi´ aj´ aban t´ernek el a szimplex algoritmust´ol. Tekintettel az eml´ıtett elt´er´esre, ezen elj´ar´ asok helyess´ege k¨ovetkezik a 2.2 fejezet 1., 2. ´es 3.t´eteleib˝ol, ´ıgy t´argyal´ asuk sor´an csak a v´egess´eg k´erd´es´ere fogunk kit´erni. Szint´en a strat´egi´ak k¨ oz¨ otti elt´er´es miatt, bizonyos esetekben eltekint¨ unk a konkr´et elj´ar´as megad´as´at´ol, csak a c´elf¨ uggv´enyegy¨ utthat´ o ´es a gener´al´o elem kiv´alaszt´as´anak szab´alyait adjuk meg. A legkor´ abbi v´altozatok egyike az al´abbi elj´ar´as. A gener´ al´ o elem v´ eletlenszer˝ u kiv´ alaszt´ asa 49
Az algoritmusn´ al a c´elf¨ uggv´eny egy¨ utthat´oj´anak kiv´alaszt´asa tetsz˝oleges r¨ogz´ıtett strat´egia szerint t¨ort´enhet. A v´alasztott cj oszlop´aban a
½ min
¾ bk bk br : arj > 0, 1 ≤ r ≤ n = 1 = . . . = s arj ak1 j aks j
egyen˝ os´eget kiel´eg´ıt˝ o akt j (t = 1, . . . , s) elemek k¨oz¨ ul azonos val´osz´ın˝ us´eggel v´eletlenszer˝ uen kiv´alasztunk egyet, ´es ezt az elemet vessz¨ uk gener´al´o elemnek.
A fenti t´ıpus´ u elj´ar´ asokra igazol´ast nyert, hogy b´armely ilyen algoritmust egy lehets´eges kanonikus alak´ u feladatra alkalmazva, az elj´ar´as 1 val´osz´ın˝ us´eggel v´eges l´ep´esben v´eget ´er.
A k¨ovetkez˝ o k´et elj´ar´ as a c´elf¨ uggv´eny ´ert´ek´enek v´altoztat´as´ahoz kapcsol´odik. A szimplex algoritmus v´egrehajt´asa sor´an a legkisebb negat´ıv c´elf¨ uggv´enyegy¨ utthat´o oszlop´ aban v´alasztunk gener´al´ o elemet. A v´alasztott cj ¨onmag´aban m´eg nem biztos´ıtja azt, hogy a lehet˝o legnagyobb m´ert´ek˝ u cs¨okken´est ´erj¨ uk el a c´elf¨ uggv´eny ´ert´ek´eben. A 2.2 fejezet 2.t´etel´eb˝ ol ismeretes, hogy a cs¨okken´es nagys´aga cj ∆, ahol ∆ = min{br /arj : arj > 0, 1 ≤ r ≤ n}. Ennek megfelel˝oen a v´altoz´as f¨ ugg ∆-t´ol is. M´ asr´eszt a cs¨okken´es nagys´ag´ anak explicit ismerete lehet˝ov´e teszi egy olyan v´altozat kidolgoz´ as´ at, amelyn´el minden egyes iter´aci´os l´ep´es sor´an az adott l´ep´esre vonatkoz´oan a lehet˝o legnagyobb m´ert´ekben cs¨okken a c´elf¨ uggv´eny ´ert´eke. Ezt az elvet val´os´ıtja meg az elj´ar´ as k¨ovetkez˝ o v´altozata. 50
A legnagyobb cs¨ okkent´ es m´ odszere Az elj´ar´ as alapvet˝ oen a cj kijel¨ol´es´eben t´er el a szimplex algoritmust´ol. Minden iter´ aci´ os l´ep´esn´el, minden egyes cs < 0 egy¨ utthat´ora meghat´arozzuk a ½ ¾ br ∆s = min : ars > 0, 1 ≤ r ≤ n ars mennyis´eget. Ha ezek a minimumok rendre l´eteznek, akkor k´epezz¨ uk a Θ = min{cs ∆s : cs < 0, 1 ≤ s ≤ n + m} minimumot, ´es kiv´alasztjuk a legkisebb olyan j indexet, amelyre Θ = cj ∆j teljes¨ ul. Ezt k¨ovet˝ oen a cj oszlop´ aban v´alasztunk gener´al´o elemet a szimplex algoritmusnak megfelel˝ oen. Az elj´ar´ as ismertetett v´altozata nem v´eges, azaz alkalmas lehets´eges kanonikus alak´ u feladatra alkalmazva, az elj´ar´as v´eg n´elk¨ ul folytat´odik. Ez kik¨ usz¨ob¨olhet˝o azzal, hogy a gener´al´ o elem kiv´alaszt´as´at nem a szimplex algoritmusnak megfelel˝oen hajtjuk v´egre, hanem a lexikografikus szimplex algoritmusn´al alkalmazott kiv´alaszt´asi strat´egi´ at alkalmazzuk. Mivel a lexikografikus szimplex algoritmus v´egess´eg´enek bizony´ıt´ asa sor´an nem haszn´altuk ki, hogy a negat´ıv cj milyen strat´egia alapj´an lett kiv´ alasztva, ez´ert ez a bizony´ıt´ as a fenti algoritmus lexikografikus v´altozat´ara is ´erv´enyes, ´es ´ıgy egy v´eges v´altozatot kapunk. Nyilv´anval´ o, hogy az ismertetett elj´ar´asban a cj kijel¨ol´ese jelent˝os t¨obblet munk´ aval j´ar, ami megt´er¨ ulhet olyan m´odon, hogy az iter´aci´os l´ep´esek sz´ama esetleg kevesebb, mint a szimplex algoritmusn´al. Ilyen jelleg˝ u eredm´eny nem ismeretes, csak bizonyos sz´am´ıt´ og´epes k´ıs´erletek t¨ort´entek ennek al´at´amaszt´as´ara, amelyeket a k´es˝ obbiek sor´an ismertet¨ unk. A c´elf¨ uggv´eny ´ert´ek´enek v´altoztat´as´at m´asf´elek´epp is meg lehet k¨ozel´ıteni. Ehhez vegy¨ uk a b´azisba bevonand´ o v´altoz´o ´ert´ek´et 1-nek ´es egyszer˝ u behelyettes´ıt´essel hat´ arozzuk meg a megfelel˝o megold´ast. Ezek ut´an az el˝o´all´ıtott u ´j pontot ´es a b´ azismegold´ ast ¨osszek¨ ot˝ o szakasz hossz´anak egys´egnyi r´esz´ere es˝o cs¨okken´est tekints¨ uk a cj kiv´alaszt´ asi krit´erium´ anak. Ezt az elvet val´os´ıtja meg az algoritmus k¨ovetkez˝ o v´ altozata. A legmeredekebb cs¨ okkent´ es m´ odszere Egyszer˝ u behelyettes´ıt´essel bel´athat´o, hogy b´armely iter´aci´os l´ep´esben , ha x∗ a b´ azismegold´ as, xj nem b´azisv´ altoz´o, ´es xj ´ert´ek´et 1-gyel n¨ovelj¨ uk, akkor x∗ -b´ol az ∗ ¯ megold´asra x xj v´ altoztat´ as´ aval el˝o´ all´ıtott x ¯j = 1, x ¯it = bt − atj (t = 1, . . . , n), x ¯s = 0 teljes¨ ul, ahol xit a t-edik egyenletben szerepl˝o b´azisv´altoz´o ´es 1 ≤ s ≤ n + m, ¯ vektor nem sz¨ ¯ ´es s∈ / {i1 , . . . , in , j}. A kapott x uks´egk´epp lehets´eges megold´as. Az x x∗ pontok t´avols´ aga: v v u u n n X X u u σj = t12 + ((bt − atj ) − bt )2 = t1 + a2tj t=1
t=1
51
¯ pontban pedig α + cj . ´Igy az x ¯ ´es x∗ A c´elf¨ uggv´eny ´ert´eke az x∗ pontban α, az x pontokat ¨osszek¨ ot˝ o szakasz hossz´anak egys´eg´ere es˝o cs¨okken´es cj /σj . A fentieknek megfelel˝oen minden iter´aci´os l´ep´es´eben, minden egyes cs < 0 egy¨ utthat´ ora meghat´arozzuk a cs /σs mennyis´eget. Ezek ut´an k´epezz¨ uk a Θ = min{cs /σs : cs < 0, 1 ≤ s ≤ n + m} ´ert´eket, ´es kiv´alasztjuk a legkisebb olyan j indexet, amelyre Θ = cj /σj teljes¨ ul. Ezt k¨ovet˝ oen a cj oszlop´ aban v´alasztunk gener´al´o elemet a szimplex algoritmusnak megfelel˝ oen. Az elj´ar´ as ismertetett v´altozata nem v´eges. Hasonl´oan a legnagyobb cs¨okkent´es m´ odszer´en´el elmondottakhoz, v´egess´e tehet˝o a gener´al´o elem lexikografikus szimplex algoritmus szerinti v´alaszt´ as´ aval. Nyilv´anval´o, hogy az el˝oz˝o m´odszerhez hasonl´oan ebben az elj´ar´ asban is cj kiv´alaszt´ asa jelent˝os t¨obbletmunk´at ´ıg´enyel. A fenti k´et elj´ar´ as ´es a szimplex algoritmus ¨osszehasonl´ıt´as´ara 1963-ban H. W. Kuhn ´es R. E. Quandt v´egeztek sz´am´ıt´og´epes kis´erletet. Ennek sor´an v´eletlensz´amgener´ atorral el˝o´ all´ıtott feladatok sorozat´an hajtott´ak v´egre mindh´arom algoritmust, ´es osszehasonl´ıtott´ ¨ ak az iter´aci´ os l´ep´esek sz´am´at, valamint a fut´asi id˝oket. A kapott eredm´enyek azt mutatt´ ak, hogy a legmeredekebb cs¨okkent´es m´odszere ´atlagosan kevesebb iter´aci´ os l´ep´esben v´eget ´er, mint a m´asik k´et m´odszer, ´es erre az elj´ar´asra a fut´ asi id˝ok ´atlaga is kisebb. Hasonl´o vizsg´alatokat v´egzett 1989-es vizsgadolgozat´aban Varga J´ozsef, ´es az ´altala regisztr´alt ´atlagok is a fentieket t´amasztj´ak al´a. Az el˝oz˝ oekben t´argyalt k´et elj´ar´as eset´eben csak a lexikografikus szimplex algoritmus gener´al´ o elem v´alaszt´ as´ aval lehet az elj´ar´asok v´egess´eg´et biztos´ıtani. Szemben ezekkel az elj´ar´ asokkal, a tov´ abbiakban ismertet´esre ker¨ ul˝o algoritmusok mindegyike v´eges l´ep´esben v´eget ´er. Az els˝o elj´ar´an´al, amelyet 1963-ban P. Wolfe dolgozott ki, a gener´ al´ o elem kiv´alaszt´ as´ anak strat´egi´aja biztos´ıtja az elj´ar´as v´egess´eg´et. P. Wolfe algoritmusa 1.l´ep´es. A tekintett lehets´eges kanonikus alak´ u feladat jobboldal´an szerepl˝o bi (i = 1, . . . , n) mennyis´egeket rendre helyettes´ıts¨ uk a (bi , 0) (i = 1, . . . , n) elemp´arokkal. 2.l´ep´es. Ha a feladat c´elf¨ uggv´enye nem tartalmaz negat´ıv egy¨ utthat´ot, akkor v´ege az elj´ar´ asnak, a feladat b´azismegold´asa (a b´azisv´altoz´ok ´ert´eke az elemp´arok els˝o komponens´evel egyezik meg, ha a m´asodik komponens 0, k¨ ul¨onben a v´altoz´o ´ert´eke 0) optim´ alis megold´as. Ellenkez˝ o esetben a 3.l´ep´es k¨ovetkezik. 3.l´ep´es. Vizsg´ aljuk meg rendre az egyenletrendszer jobboldal´an szerepl˝o (bi , µi ) (i = 1, . . . , n) elemp´arokat, ´es bi = 0 eset´en a (bi , µi ) p´art helyettes´ıts¨ uk (1, µi +1)-gyel. Ezek ut´an vegy¨ uk a negat´ıv cs -ek minimum´at. Jel¨olje cj a minimummal megegyez˝o cs -ek k¨oz¨ ul a legkisebb index˝ ut, ´es t´erj¨ unk r´a a 4.l´ep´esre. 52
4.l´ep´es. K´epezz¨ uk a µ = max{µt : 1 ≤ t ≤ n} maximumot ´es hat´arozzuk meg az M = {t : 1 ≤ t ≤ n, µ = µt } halmazt, tov´abb´a a ∆ = min{
br : arj > 0, r ∈ M } arj
´ert´eket. Ha az ut´obbi minimum nem l´etezik ´es µ = 0, akkor v´ege az elj´ar´asnak, a c´elf¨ uggv´eny alulr´ol nem korl´ atos a lehets´eges megold´asok halmaz´an. Ha ∆ nem l´etezik ´es µ > 0, akkor az 5.l´ep´essel folytat´odik az elj´ar´as. V´eg¨ ul, ha ∆ l´etezik ´es ∆=
bk1 bk = ... = s , ak1 j aks j
akkor v´alasszuk az akt j (t = 1, . . . , s) elemek k¨oz¨ ul a legkisebb sorindex˝ ut gener´al´ o elemk´ent. Jel¨olje a v´alasztott gener´al´o elemet akj . Ezek ut´an hajtsuk v´egre a 2.2 fejezet 2.t´etel´enek bizony´ıt´ as´ aban megadott ´atalak´ıt´asokat az ais egy¨ utthat´okon ´es a c´elf¨ uggv´enyegy¨ utthat´ okon a szok´asos m´odon, a (bi , µi ) (i = 1, . . . , n) elemp´arokon ´es az α konstanson pedig a k¨ovetkez˝ ok szerint: (i) ha µi < µk (= µ), akkor (b0i , µ0i ) = (bi , µi ), (ii) ha µi = µk ´es i 6= k, akkor (b0i , µ0i ) = (bi − aij bk /akj , µi ), (iii) (b0k , µ0k ) = (bk /akj , µk ), ½ α, ha µk > 0, 0 (iv) α = α − cj bk /akj k¨ ul¨ onben. Az ´atalak´ıt´ asokkal el˝o´ all´ıtott u ´j feladattal folytassuk az elj´ar´ast a 2.l´ep´esn´el. 5.l´ep´es. Minden egyes t ∈ M indexre a (bt , µt ) elemp´art helyettes´ıts¨ uk (0, µt − 1)gyel, majd folytassuk az elj´ar´ ast a 4.l´ep´essel. Terjedemi okok miatt az algoritmus helyess´eg´enek ´es v´egess´eg´enek igazol´as´at´ol eltekint¨ unk. Az elj´ar´ as demonstr´al´ as´ ara megoldjuk a Beale-f´ele p´eld´at, ´es a v´egrehajt´as sor´ an a feladatokat szimplex t´abl´ azatukkal adjuk meg. Az indul´o t´abl´ azatb´ ol az 1.l´ep´esnek megfelel˝oen a jobboldalakat rendre elemp´arokkal helyettes´ıtve, a k¨ovetkez˝ o t´abl´azathoz jutunk. x4
x5
x6
x7
x1
1/4
−8
−1
9
(0, 0)
x2
1/2
−12 −1/2
3
(0, 0)
x3
0
0
1
0
(1, 0)
−3/4
20
−1/2
6
0
Mivel a feladat c´elf¨ uggv´enye tartalmaz negat´ıv egy¨ utthat´ot, ez´ert az elj´ar´as 3.l´ep´ese k¨ ovetkezik. A (0, µi ) elemp´arokat (1, µi + 1)-gyel helyettes´ıtve, a k¨ovetkez˝oket kapjuk:
53
x1 x2 x3
x4
x5
x6
x7
1/4
−8
−1
9
(1, 1)
3
(1, 1)
∗
1/2
−12 −1/2
0
0
1
0
(1, 0)
−3/4
20
−1/2
6
0
−
Most −3/4 a legkisebb cs , µ = 1, M = {1, 2}, ∆ = 1/(1/2), ´es ´ıgy a gener´al´o elem a24 . V´egrehajtva a megfelel˝o ´atalak´ıt´asokat, a k¨ovetkez˝o t´abl´azathoz jutunk. x2
x5
x6
x7
x1
−1/2
−2
x4
2
−24
−1
6
(2, 1)
x3
0
0
1
0
(1, 0)
3/2
2
−3/4 15/2 (1/2, 1)
−5/4 21/2
0
−
Folytatva az elj´ar´ ast a 2.l´ep´essel, mivel a c´elf¨ uggv´eny tartalmaz negat´ıv egy¨ utthat´ot, ez´ert a 3.l´ep´es, majd a 4.l´ep´es k¨ovetkezik. A legkisebb c´elf¨ uggv´enyegy¨ utthat´o −5/4, µ = 1, M = {1, 2} ´es ∆ nem l´etezik, ´ıgy az 5.l´ep´est kell v´egrehajtani, ami a k¨ovetkez˝o t´ abl´ azatot eredm´enyezi: x2
x5
x1
−1/2
−2
x4
2
−24
x3
0
0
3/2
2
x6
x7
−3/4 15/2 (0, 0) −1
6
(0, 0)
∗
0
(1, 0)
1
−5/4 21/2
0
−
A 4.l´ep´essel folytatva az elj´ar´ ast, µ = 0, M = {1, 2, 3}, ∆ = 1, ´es a gener´al´o elem a36 . V´egrehajtva a megfelel˝o ´ atalak´ıt´ asokat, a k¨ovetkez˝o t´abl´azathoz jutunk. x2
x5
x3
x7
x1
−1/2
−2
3/4
x4
2
−24
1
6
(1, 0)
x6
0
0
1
0
(1, 0)
3/2
2
5/4
21/2
5/4
15/2 (3/4, 0)
A kapott feladat c´elf¨ uggv´enyegy¨ utthat´oi rendre nemnegat´ıvak, ´ıgy az x ¯1 = 3/4, x ¯4 = 1, x ¯6 = 1, x ¯2 = x ¯3 = x ¯5 = x ¯7 = 0 b´azismegold´as egyben optim´alis megold´as is, amivel a tekintett feladatot megoldottuk. A jelen fejezetben ismertet´esre ker¨ ul˝o utols´o elj´ar´asn´al, amelyet 1976-ban R. G. Bland dolgozott ki, a c´elf¨ uggv´enyegy¨ utthat´o ´es a gener´al´o elem kiv´alaszt´as´anak egy¨ uttes strat´egi´ aja biztos´ıtja az elj´ar´as v´egess´eg´et. 54
R. G. Bland algoritmusa u feladat c´elf¨ uggv´enye nem tartal1.l´ep´es. Ha a tekintett lehets´eges kanonikus alak´ maz negat´ıv egy¨ utthat´ ot, akkor v´ege az elj´ar´asnak, a feladat b´azismegold´asa optim´alis megold´ as. Ellenkez˝ o esetben a 2.l´ep´es k¨ovetkezik. 2.l´ep´es. Vegy¨ uk a legkisebb index˝ u negat´ıv c´elf¨ uggv´enyegy¨ utthat´ot, ´es jel¨olje ezt cj . Ha arj ≤ 0 (r = 1, . . . , n), akkor v´ege az elj´ar´asnak, a c´elf¨ uggv´eny alulr´ol nem korl´ atos a lehets´eges megold´asok halmaz´an. Ellenkez˝o esetben a 3.l´ep´es k¨ovetkezik. 3.l´ep´es. Ha min{br /arj : arj > 0, 1 ≤ r ≤ n} = bk1 /ak1 j = . . . = bks /aks j , akkor tekints¨ uk rendre a k1 -edik, . . ., ks -edik egyenletekben szerepl˝o xik1 , . . ., xiks b´ azisv´ altoz´ okat, ´es legyen ikv = min{ikr : 1 ≤ r ≤ s}. Ezek ut´an v´alasszuk akv j -t gener´al´ o elemnek, majd hajtsuk v´egre a 2.2 fejezet 2.t´etel´enek bizony´ıt´as´aban megadott ´atalak´ıt´ asokat. Az el˝o´ all´ıtott lehets´eges kanonikus alak´ u feladattal folytassuk az elj´ar´ ast az 1.l´ep´esn´el. Az elj´ar´ as v´egess´eg´enek igazol´as´at´ol eltekint¨ unk. Az algoritmus demonstr´al´as´ara ism´et a Beale-f´ele p´eld´ at haszn´aljuk. A v´egrehajt´as sor´an a feladatok helyett az egy¨ utthat´ okat tartalmaz´o t´abl´ azatokkal dolgozunk. Ennek megfelel˝oen az indul´o t´ abl´ azat a k¨ovetkez˝ o: b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x1
0
1
0
0
1/4
−8
−1
9
x2
0
0
1
0
1/2
−12 −1/2
x3
1
0
0
1
0
0
1
0
v=0
0
0
0
0
−3/4
20
−1/2
6
3
A legkisebb index˝ u negat´ıv c´elf¨ uggv´enyegy¨ utthat´o c4 = −3/4 ´es ∆ = 0/(1/4) = 0/(1/2). Az els˝o egyenletben szerepl˝o b´azisv´altoz´o x1 , a m´asodik egyenlet b´azisv´altoz´ oja x2 . ´Igy a tekintett b´azisv´ altoz´ok k¨oz¨ ul a legkisebb index˝ u x1 , ´es ´ıgy a14 -et kell gener´al´ o elemnek v´alasztanunk. V´egrehajtva a megfelel˝o ´atalak´ıt´asokat, az al´abbi t´ abl´ azathoz jutunk. b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x4
0
4
0
0
1
−32
−4
36
x2
0
−2
1
0
0
4
3/2
−15
x3
1
0
0
1
0
0
1
0
v=1
0
3
0
0
0
−4
−7/2
33
∗
A legkisebb index˝ u negat´ıv c´elf¨ uggv´enyegy¨ utthat´o c5 = −4. ∆ = 0/4, ´es ´ıgy a25 a gener´ al´ o elem. V´egrehajtva a transzform´aci´ot, a k¨ovetkez˝o t´abl´azatot kapjuk. 55
b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x4
0
−12
8
0
1
0
x5
0
−1/2 1/4
0
0
1
x3
1
0
0
1
0
0
1
0
v=2
0
1
1
0
0
0
−2
18
x6 ∗
8
x7 −84
3/8 −15/4
A legkisebb index˝ u negat´ıv c´elf¨ uggv´enyegy¨ utthat´o c6 = −2. ∆ = 0/8 = 0/(3/8) ´es a megfelel˝ o b´azisv´ altoz´ ok x4 ´es x5 . ´Igy a v´alasztott gener´al´o elem a16 . V´egrehajtva az atalak´ıt´ ´ asokat a k¨ovetkez˝ o t´abl´ azat ad´odik. b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x6
0
−3/2
1
0
1/8
0
1
−21/2
x5
0
∗
1/16 −1/8
0
−3/64
1
0
3/16
x3
1
3/2
−1
1
−1/8
0
0
21/2
v=3
0
−2
3
0
1/4
0
0
−3
Most cj = c1 = −2, ∆ = 0/(1/16), ´es ´ıgy a gener´al´o elem a21 . V´egrehajtva a transzform´ aci´ ot, az al´abbi egy¨ utthat´okat kapjuk. b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x6
0
0
−2
0
−1
24
1
−6
x1
0
1
−2
0
−3/4
16
0
3
x3
1
0
∗
2
1
1
−24
0
6
v=4
0
0
−1
0
−5/4
32
0
3
A fenti feladatban cj = c2 = −1, ∆ = 1/2, ´es ´ıgy a gener´al´o elem a32 . V´egrehajtva a megfelel˝ o ´atalak´ıt´ asokat, a k¨ovetkez˝o t´abl´azathoz jutunk. b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x6
1
0
0
1
0
0
1
0
x1
1
1
0
1
1/4
−8
0
9
x2
1/2
0
1
1/2
1/2 −12
0
3
v=5
1/2
0
0
1/2 −3/4
0
6
∗
20
Most cj = c4 = −3/4, ∆ = (1/2)/(1/2), ´es ´ıgy akj = a34 . V´egrehajtva a transzform´ aci´ ot a k¨ovetkez˝ o t´abl´ azat ad´odik. 56
b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x6
1
0
0
1
0
0
1
0
x1
3/4
1
0
−2
0
15/2
x4
1
0
2
1
1
−24
0
6
v=6
5/4
0
3/2
5/4
0
2
0
21/2
−1/2 3/4
A kapott t´abl´ azatban a c´elf¨ uggv´enyegy¨ utthat´ok rendre nemnegat´ıvak, ´ıgy az x ¯1 = 3/4, x ¯4 = 1, x ¯6 = 1, x ¯2 = x ¯3 = x ¯5 = x ¯7 = 0 b´azismegold´as egyben optim´alis megold´as is, amivel a tekintett feladatot megoldottuk. A fenti elj´ar´ assal kapcsolatban vegy¨ uk ´eszre, hogy az elj´ar´as szimplex t´abl´azatokkal is v´egrehajthat´o, csak a negat´ıv cj kiv´alaszt´as´an´al figyelni kell az oszlopokhoz tartoz´ o v´altoz´ ok index´et. Ezzel a szimplex algoritmus ´es k¨ ul¨onb¨oz˝o v´altozatainak t´argyal´as´at befejezt¨ uk. A k¨ ovetkez˝ o fejezetben visszat´er¨ unk az alap c´elkit˝ uz´eshez, a standard feladatok megold´ as´ ahoz.
Feladatok 1. Oldjuk meg a legnagyobb cs¨okkent´es m´odszer´evel az al´abbi feladatot. x1
+6x4 +8x5 −x6 +x7 = 4 x2 +2x4 +4x5 +2x7 = 4 x3 −x4 +x6 +x7 = 6 xi ≥ 0 (i = 1, . . . , 7) ———————————————————— −2x4 −4x5 −x6 +3x7 =z(x)→ min
´ ıts¨ 2. Ep´ uk fel a legnagyobb cs¨okkent´es m´odszer´enek lexikografikus v´altozat´at, ´es oldjuk meg az elj´ ar´ assal a k¨ovetkez˝ o feladatot.
b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x8
x1
0
1
0
0
2
−2
2
4
0
x2
1
0
1
0
−1
2
−1
1
0
x3
0
0
0
1
1
−1
1
3
1
v=0
0
0
0
0
−2
1
−2
2
−3
57
3. Oldjuk meg a legmeredekebb cs¨okkent´es m´odszer´evel a k¨ovetkez˝o feladatot. x4
x5
x6
x1
1
2 −1
2
x2
1
2
1
6
x3
2
3
3
8
−4 −5 −3
0
4. Oldjuk meg a Wolfe-f´ele elj´ar´assal az al´abbi feladatot. x4 x1
x5
x6
x7
−2 −9
1
9
0
−2
0
x2
1 3
1 − 13
x3
1
1
1
1
1
−2 −3
1
12
0
5. Alkalmazzuk a Bland-f´ele m´odszert a k¨ovetkez˝o feladat megold´as´ara. b.v´ alt.
b(v)
x1
x2
x3
x4
x5
x6
x7
x1
0
1
0
0
1
−2
−4
4
x2
0
0
1
0
2
−2
−2
1
x3
1
0
0
1
1
1
3
2
v=0
0
0
0
0
−1
0
−1
1
2.6 Szimplex m´ odszer
A 2.1 fejezetben megmutattuk, hogy tetsz˝oleges line´aris programoz´asi feladat megold´asa visszavezethet˝ o egy alkalmas standard feladat megold´as´ara. Ezt k¨ovet˝ oen olyan elj´ar´ asokkal ismerkedt¨ unk meg, amelyekkel speci´alis standard feladatot, nevezetesen a lehets´eges kanonikus alak´ u feladatot lehet megoldani. Most a szimplex algoritmust felhaszn´alva, olyan elj´ar´ast ´ep´ıt¨ unk fel, amely alapj´an tetsz˝oleges standard feladatr´ol eld¨onthet˝ o, hogy l´etezik-e optim´alis megold´asa, ´es ha l´etezik, akkor a sz´ oban forg´o algoritmus egy optim´alis megold´ast is szolg´altat. 58
Az elj´ar´ as fel´ep´ıt´es´ehez sz¨ uks´eg¨ unk lesz bizonyos ¨osszef¨ ugg´esekre, fogalmakra. A tov´ abbiakban ezeket adjuk meg. E c´elb´ ol tekints¨ uk az al´abbi standard feladatot: Ax = b x ≥ 0, (b ≥ 0) ————————– α + cx = z(x) → min
(2.6.1)
A fenti feladatot illet˝oen ´erv´enyes a k¨ovetkez˝o ´all´ıt´as. 6.t´ etel. Ha a (2.6.1) feladatban az xi1 , . . . , xin v´ altoz´ okhoz tartoz´ o egy¨ utthat´ okb´ ol −1 ´ all´ o B m´ atrix regul´ aris ´es B b ≥ 0, tov´ abb´ a d a (ci1 , . . . , cin ) vektort jel¨ oli, akkor a B−1 Ax = B−1 b , x ≥ 0, (B−1 b ≥ 0) ————————————————– α + dB−1 b + (c − dB−1 A)x = z(x) → min feladat lehets´eges kanonikus alak´ u, ´es ekvivalens a (2.6.1) feladattal. Bizony´ıt´ as. Els˝ok´ent megmutatjuk, hogy a fenti feladatban b´armely 1 ≤ t ≤ n indexre az xit v´altoz´ o egy¨ utthat´ oib´ ol ´all´o oszlopvektor pontosan a t-edik egys´egvektor. −1 −1 Val´ oban, B Ait = B Bt = Et , ahol Ait az A m´atrix it -edik oszlopvektor´at, Bt a B m´ atrix t-edik oszlopvektor´ at ´es Et a t-edik egys´egvektort jel¨oli. Ez pontosan azt jelenti, hogy a fenti egyenletrendszerben az xit egy¨ utthat´oib´ol ´all´o oszlopvektor megegyezik a t-edik egys´egvektorral. Ezek ut´an vizsg´aljuk az xit v´ altoz´o c0it egy¨ utthat´oj´at a fenti c´elf¨ uggv´enyben. c0it = cit − dB−1 Ait = cit − dB−1 Bt = cit − dEt = cit − cit = 0 . A fentiekb˝ ol k¨ovetkezik, hogy a t´etelben megadott feladat sor- ´es oszlopcser´ekkel, a v´altoz´ ok ´atjel¨ ol´es´evel (2.2.1) alakban ´ırhat´o fel, azaz lehets´eges kanonikus alak´ u. Az ekvivalencia igazol´as´ ahoz jel¨olje LA a (2.6.1) feladat, LB−1 A a fenti feladat lehets´eges megold´asainak halmaz´at. Jel¨olje tov´abb´a LBB−1 A a BB−1 Ax = BB−1 b, x ≥ 0 felt´etelrendszer ´altal meghat´arozott lehets´eges megold´asok halmaz´ at. Nyilv´anval´ o, hogy LA = LBB−1 A . M´asr´eszt tekints¨ uk a fenti feladat s-edik −1 −1 −1 −1 (B )s Ax = (B )s b egyenlet´et, ahol (B )s a B m´atrix s-edik sorvektora. Jel¨olje β1 , . . . , βn ezen sorvektor komponenseit. Akkor a tekintett egyenlet a k¨ovetkez˝o: n X
m n X X βi ( aij xj ) = βi bi , azaz
i=1
j=1 n X i=1
i=1 m X
βi (
aij xj − bi ) = 0 .
j=1
¯ ∈ LA lehets´eges Az ut´obbi egyenletb˝ ol nyilv´ anval´ o, hogy a (2.6.1) feladat tetsz˝oleges x megold´ asa kiel´eg´ıti ezen egyenletet. Mivel az s indexre nem tett¨ unk semmi kik¨ot´est, ¯ a B−1 Ax = B−1 b egyenletrendszer minden egyenlet´et kiel´eg´ıti, amib˝ol x ¯ ∈ ez´ert x LB−1 A , ´es ´ıgy LA ⊆ LB−1 A k¨ ovetkezik. Teljesen hasonl´oan bel´athat´o, hogy LB−1 A ⊆ 59
LBB−1 A . A kapott tartalmaz´asokb´ol ´es az LA = LBB−1 A egyenl˝os´egb˝ol LA = LB−1 A k¨ ovetkezik, amivel az ekvivalencia teljes¨ ul´es´enek egyik felt´etel´et igazoltuk. Befejez´es¨ ul a k´et c´elf¨ uggv´enynek az LA halmazon t¨ort´en˝o egybees´es´et kell meg¯ ∈ LA tetsz˝oleges. Akkor mutatnunk. E c´elb´ ol legyen x α + dB−1 b + (c − dB−1 A)¯ x = α + c¯ x + dB−1 (b − A¯ x) = α + c¯ x. Ezzel a 6.t´etel bizony´ıt´ as´ at befejezt¨ uk. Algebr´ ab´ ol ismeretes, hogy egy egyenletrendszernek nem sz¨ uks´egk´epp l´etezik megold´asa. ´Igy a (2.6.1) feladat eset´en is el˝ofordulhat, hogy a feladat egyenletrendszer´enek nem l´etezik nemnegat´ıv megold´asa. Egy ilyen megold´as l´etez´es´enek, illetve nem l´etez´es´enek eld¨ont´es´ehez fel fogjuk haszn´alni a (2.6.1) feladathoz konstru´alt k¨ ovetkez˝ o feladatot: (2.6.2)
Ev + Ax = b, x ≥ 0, v ≥ 0, (b ≥ 0) ————————————————v1 + . . . + vn = w → min
A fenti feladatban szerepl˝o v1 , . . . , vn v´altoz´okat mesters´eges v´ altoz´ oknak, a feladat c´elf¨ uggv´eny´et pedig m´ asodlagos c´elf¨ uggv´enynek nevezz¨ uk. Abb´ol a c´elb´ol, hogy megk¨ ul¨ onb¨ oztess¨ uk a t¨obbi v´altoz´ot a mesters´eges v´altoz´okt´ol, illetve a k´et c´elf¨ uggv´enyt egym´ast´ ol, haszn´alni fogjuk az x1 , . . . , xm v´altoz´okra a term´eszetes v´ altoz´ ok, a z c´elf¨ uggv´enyre pedig az els˝ odleges c´elf¨ uggv´eny elnevez´est. A (2.6.2) feladattal kapcsolatban vegy¨ uk ´eszre, hogy a w c´elf¨ uggv´eny egyenlet´ehez rendre hozz´aadva minden egyes egyenlet −1-szeres´et, egy lehets´eges kanonikus alak´ u feladatot kapunk. M´asr´eszt k¨onnyen bel´athat´o, hogy az ´ıgy el˝o´all´ıtott c´elf¨ uggv´eny a lehets´eges megold´asok halmaz´an megegyezik a w = v1 + . . . + vn f¨ uggv´ennyel. Ez azt jelenti, hogy az el˝o´ all´ıtott al´abbi feladat ekvivalens a (2.6.2) feladattal. (2.6.3)
Ev + Ax = b, x ≥ 0, v ≥ 0, (b ≥ 0) ————————————————– m X n n X X − ( atj )xj = w − bt → min j=1 t=1
t=1
A (2.6.1) ´es (2.6.3) feladatok k¨oz¨ott szoros kapcsolat van, amint azt a k¨ovetkez˝o all´ıt´ ´ as mutatja. 4.seg´ edt´ etel. A (2.6.1) feladatnak akkor ´es csak akkor l´etezik lehets´eges megold´ asa, ha a (2.6.3) feladat optimuma 0-val egyenl˝ o. Bizony´ıt´ as. Els˝ ok´ent vegy¨ uk ´eszre, hogy az ´all´ıt´as implicit m´odon mag´aba foglalja azt is, hogy a (2.6.3) feladatnak l´etezik optim´alis megold´asa. ´Igy mindenekel˝ott ezt kell megmutatnunk. Ehhez oldjuk meg a (2.6.3) feladatot lexikografikus szimplex algoritmussal. A 2.4 fejezet 5.t´etele szerint az elj´ar´as v´eges l´ep´esben v´eget ´er. Ez k´etf´elek´epp t¨ort´enhet. Vagy eljutunk egy optim´alis megold´ashoz, vagy azt kapjuk, hogy a c´elf¨ uggv´eny alulr´ol nem korl´atos a lehets´eges megold´asok L halmaz´an. Mivel a (2.6.2) feladat c´elf¨ uggv´enye b´armely lehets´eges megold´ason nemnegat´ıv ´ert´eket vesz fel, ez´ert az ekvivalencia miatt az ´atalak´ıtott c´elf¨ uggv´eny is nemnegat´ıv L-en, ´es ´ıgy az 60
L halmazon 0 als´o korl´ atja a feladat c´elf¨ uggv´eny´enek. Ez azt jelenti, hogy az elj´ar´ as csak egyf´elek´epp, az optim´alis megold´as el´er´es´evel fejez˝odhet be. K¨ovetkez´esk´epp, a (2.6.3) feladatnak mindig l´etezik optim´alis megold´asa, ´es az optimum ´ert´eke nemnegat´ıv. Ezzel megmutattuk, hogy az ´all´ıt´as korrekt. ¯ ) a (2.6.3) feladat A felt´etel elegend˝os´eg´enek igazol´as´ahoz tegy¨ uk fel, hogy (¯ v, x ¯ ) = 0. Ekkor az ekvivalencia miatt v¯1 + . . . + v¯n = 0. optim´ alis megold´asa, ´es w(¯ v, x ¯ ≥ 0, ez´ert a fenti egyenl˝os´egb˝ol v¯t = 0 (t = 1, . . . , n) k¨ovetkezik. De ekkor M´ asr´eszt v ¯ ≥ 0 teljes¨ ¯ lehets´eges megold´asa E0 + A¯ x = b, x ul, ami pontosan azt jelenti, hogy x a (2.6.1) feladatnak. ¯ lehets´eges megold´asa (2.6.1)-nek. A sz¨ uks´egess´eg igazol´as´ ahoz tegy¨ uk fel, hogy x ¯ ≥ 0 ´es A¯ ¯ = 0. Akkor ¯ ) lehets´eges Ekkor x x = b teljes¨ ul. Most legyen v v, x Pn(¯ ¯ ) = t=1 v¯t = 0, ´es ´ıgy megold´ asa (2.6.3)-nak. M´asr´eszt az ekvivalencia miatt w(¯ v, x ¯ ) optim´alis megold´asa (2.6.3)w L-en val´ o nemnegativit´as´ aval azt kapjuk, hogy (¯ v, x nak. Ezzel a felt´etel sz¨ uks´egess´eg´et, ´es egyben az ´all´ıt´ast is igazoltuk. Megeml´ıtj¨ uk, hogy a fenti seg´edt´etelnek ´es a 2.1 fejezet 1.seg´edt´etele bizony´ıt´ as´ anak felhaszn´al´ as´ aval egy olyan elj´ar´as k´esz´ıthet˝o, amellyel tetsz˝oleges egyenletrendszerr˝ ol eld¨onthet˝ o, hogy l´etezik-e megold´asa, ´es ha igen, akkor az elj´ar´as szolg´ altat is egy megold´ast. A 6.t´etel ´es a 4.seg´edt´etel alapj´an a (2.6.1) feladat megold´as´ara az al´abbi elj´ar´ast ´ep´ıthetj¨ uk fel. Szimplex m´ odszer 1.l´ep´es. Konstru´aljuk meg a (2.6.1) feladathoz a megfelel˝o (2.6.3) feladatot, ´es ezt oldjuk meg a szimplex algoritmus valamelyik v´altozat´aval. Ha az optimum ´ert´eke pozit´ıv, akkor v´ege az elj´ar´ asnak, a (2.6.1) feladatnak nincs lehets´eges megold´asa. Ellenkez˝ o esetben folytassuk az elj´ar´ast a 2.l´ep´essel. 2.l´ep´es. Ha az 1.l´ep´es v´egrehajt´asa ut´an kapott feladat b´azisv´altoz´oi k¨oz¨ott nem szerepel mesters´eges v´altoz´ o, akkor a 3.l´ep´es k¨ovetkezik. Ellenkez˝o esetben t´avol´ıtsuk el a mesters´eges v´ altoz´ okat a b´azisv´altoz´ok k¨oz¨ ul a k¨ovetkez˝ok szerint. (i) Az elt´avol´ıtand´ o mesters´eges v´altoz´ok k¨oz¨ ul vegy¨ uk az olyan legkisebb index˝ ut, amelynek egyenlete tartalmaz 0-t´ol k¨ ul¨onb¨oz˝o, term´eszetes v´altoz´ohoz tartoz´ o egy¨ utthat´ ot. Ha ilyen nincs, akkor folytassuk az elj´ar´ast az (ii) elj´ar´asr´esszel. Ha l´etezik ilyen tulajdons´ag´ u mesters´eges v´altoz´o, akkor a kiv´alasztott egyenletben vegy¨ uk a 0-t´ol k¨ ul¨ onb¨ oz˝ o, term´eszetes v´altoz´okhoz tartoz´o egy¨ utthat´ok k¨oz¨ ul a legkisebb index˝ ut. Ezzel, mint gener´al´o elemmel hajtsuk v´egre a 2.2 fejezet 2.t´etel´en´el megadott ´atalak´ıt´ asokat. Ha az el˝o´all´ıtott u ´j feladat b´azisv´altoz´oi k¨oz¨ott nincs mesters´eges v´altoz´ o, akkor folytassuk az elj´ar´ast a 3.l´ep´essel. Ellenkez˝o esetben az algoritmus az (i) elj´ar´ asr´esz ism´etelt v´egrehajt´as´aval folytat´odik. (ii) Hagyjuk el az elt´avol´ıtand´o mesters´eges v´altoz´okat egyenleteikkel egy¨ utt a felt´etelrendszerb˝ ol, majd folytassuk az elj´ar´ast a 3.l´ep´essel. 3.l´ep´es. Hagyjuk el a felt´etelrendszerb˝ol a mesters´eges v´altoz´okat ´es egy¨ utthat´ oikat. Az ´ıgy kapott felt´etelrendszerhez vegy¨ uk hozz´a az α + cx = z els˝odleges c´elf¨ uggv´enyt, majd a z c´elf¨ uggv´eny egyenlet´ehez rendre adjuk hozz´a a t-edik egyenlet 61
−cit -szeres´et, ahol it a t-edik (t = 1, . . . , s) egyenletben szerepl˝o b´azisv´altoz´o indexe ´es s a b´azisv´ altoz´ ok sz´ama. Az ´ıgy el˝o´all´ıtott, a (2.6.1) feladattal ekvivalens lehets´eges kanonikus alak´ u feladatot oldjuk meg a szimplex algoritmus valamelyik v´altozat´aval. Az elj´ ar´ as helyess´eg´enek igazol´ asa Az 1.l´ep´es helyess´ege k¨ovetkezik a 4.seg´edt´etelb˝ol. A 2. ´es 3.l´ep´esek v´egrehajt´as´ ara csak akkor ker¨ ul sor, ha az 1.l´ep´esben megoldott feladat optimuma nem pozit´ıv. A 4.seg´edt´etel bizony´ıt´as´ab´ol tudjuk, hogy a sz´oban forg´ o optimum nemnegat´ıv. K¨ovetkez´esk´epp, a vizsg´alt elj´ar´asr´esz akkor ker¨ ul v´egrehajt´asra, ha az optimum ´ert´eke 0. Az elj´ar´ as helyess´eg´enek igazol´as´ahoz els˝ok´ent tegy¨ uk fel, hogy az 1.l´ep´es ut´an el˝ o´ all´ o feladat b´azisv´ altoz´ oi k¨oz¨ ott nincsen mesters´eges v´altoz´o. Jel¨olje xi1 , . . . , xin a b´ azisv´ altoz´ okat, ´es B a felsorolt v´altoz´ok (2.6.3)-beli egy¨ utthat´oib´ol ´all´o m´atrixot. Akkor a 4.t´etel ´es az azt k¨ovet˝ o m´asodik megjegyz´es alapj´an, a tekintett feladat felt´etelrendszere a k¨ovetkez˝ o: (2.6.4)
B−1 Ev + B−1 Ax = B−1 b, x ≥ 0, v ≥ 0.
Mivel ez egy lehets´eges kanonikus alak´ u feladat felt´etelrendszere, ez´ert B−1 b ≥ 0. M´ asr´eszt vegy¨ uk ´eszre, hogy mivel az xi1 , . . . , xin v´altoz´ok mindegyike term´eszetes v´ altoz´ o, ez´ert az xi1 , . . . , xin v´altoz´ ok (2.6.1)-beli egy¨ utthat´oib´ol ´all´o m´atrix is egyenl˝o −1 B-vel. De akkor B regul´ aris ´es B b ≥ 0, ´ıgy a 6.t´etel alapj´an a (2.6.1) feladat ekvivalens az al´abbi lehets´eges kanonikus alak´ u feladattal: (2.6.5)
B−1 Ax = B−1 b , x ≥ 0, (B−1 b ≥ 0) —————————————————— , α + dB−1 b + (c − dB−1 A)x = z(x) → min
ahol d az xi1 , . . . , xin v´ altoz´ okhoz tartoz´o, az α + cx = z c´elf¨ uggv´enyben szerepl˝o egy¨ utthat´ okb´ ol ´all´ o vektor. Most megmutatjuk, hogy az elj´ar´as 3.l´ep´es´eben el˝o´all´o feladat megegyezik a (2.6.5) lehets´eges kanonikus alak´ u feladattal. Val´ oban, nyilv´ anval´ o, hogy a (2.6.4) felt´etelrendszer´eb˝ol elhagyva a mesters´eges v´ altoz´ okat oszlopaikkal egy¨ utt, a (2.6.5) feladat felt´etelrendszer´ehez jutunk. M´asr´eszt a (2.6.5) feladat t-edik egyenlete (B−1 )t Ax = (B−1 )t b, ahol (B−1 )t a B−1 m´atrix t-edik sorvektor´ at jel¨oli. Rendre hozz´aadva a α + cx = z egyenlethez a t-edik egyenlet −cit -szeres´et, a k¨ovetkez˝ o egyenletet kapjuk: α + cx −
n X
cit (B−1 )t Ax = z −
t=1
Mivel d = (ci1 , . . . , cin ) ´es az
Pn
t=1 cit (B
n X
cit (B−1 )t b.
t=1 −1
)t = dB−1 , ez´ert a fenti egyenlet megegyezik
α + (c − dB−1 A)x = z − dB−1 b egyenlettel, ami pontosan a (2.6.5) feladat c´elf¨ uggv´eny´enek egyenlete. Ezzel a k´et feladat egyenl˝ os´eg´et, ´es ´ıgy a vizsg´alt elj´ar´asr´esz helyess´eg´et is igazoltuk. 62
Az (i) ´es (ii) elj´ar´ asr´eszek helyess´eg´enek igazol´as´ahoz tegy¨ uk fel, hogy az 1.l´ep´es ut´ ani feladat b´azisv´ altoz´ oi k¨oz¨ ott van mesters´eges v´altoz´o. Legyen egy ilyen v´altoz´ o vk , ´es tegy¨ uk fel, hogy vk az i-edik egyenletben szerepel. Akkor az i-edik egyenlet a k¨ ovetkez˝ ok´epp ´ırhat´ o fel: vk
+ a0i1 y1 + . . . + a0im ym = b0i ,
utthat´okat, ys (s = ahol a0it (t = 1, . . . , m), b0i az i-edik egyenletben szerepl˝o egy¨ 1, . . . , m) pedig az egyenlet v´altoz´oit jel¨oli. Mivel vk b´azisv´altoz´o, ez´ert a feladat 0 ¯ ) b´azismegold´ ¯ ) optim´alis (¯ v, x as´ aban v¯k = bP asr´eszt az optimum ´ert´eke 0, ´es (¯ v, x i . M´ n ´ ¯ ) = t=1 v¯t . De v¯t ≥ 0 (t = 1, . . . , n), ´ıgy v¯t = 0 (t = megold´ as. Igy 0 = w(¯ v, x 1, . . . , n), amib˝ol b0i = 0 k¨ovetkezik. Ezzel azt kaptuk, hogy minden olyan egyenletnek, amely b´azisv´ altoz´ ok´ent mesters´eges v´altoz´ot tartalmaz, 0 a jobboldala. Vizsg´ aljuk ezek ut´an az (i) elj´ar´asr´eszt. Ehhez tegy¨ uk fel, hogy a b´azisv´altoz´ok´ent szerepl˝ o mesters´eges v´altoz´ ok k¨oz¨ ott van olyan, jel¨olje ezt vi , hogy a vi -t tartalmaz´o vi
+ a0k1 y1 + . . . + a0km ym = b0k
egyenletben valamely 1 ≤ j ≤ m indexre a0kj 6= 0 ´es yj term´eszetes v´altoz´ o. A mesters´eges v´altoz´ o ´es az egyenlet´eben l´ev˝o egy¨ utthat´o kiv´alaszt´as´ara az (i) elj´ ar´ asr´eszben megadott strat´egia csak az elj´ar´as egy´ertelm˝ us´ıt´es´et szolg´alja. ´Igy tegy¨ uk fel, hogy a kiv´alasztott v´altoz´o vi , ´es a sor´aban kiv´alasztott egy¨ utthat´o a0kj . Most az a0kj egy¨ utthat´ ot, amely lehet negat´ıv is, gener´al´o elemnek v´eve, hajtsuk v´egre a 2.2 fejezet 2.t´etel´en´el megadott ´atalak´ıt´asokat. Az el˝o´all´ıtott feladatr´ol egyszer˝ uen bel´athat´ o, hogy ekvivalens a vizsg´alt feladattal, lehets´eges kanonikus alak´ u, tov´abb´a az u ´j feladat b´azisv´ altoz´ oi k¨oz¨ ott vi nem szerepel, helyette az yj term´eszetes v´altoz´ o lesz b´azisv´ altoz´ o. A b0k = 0 egyenl˝ os´eg felhaszn´al´as´aval az is bel´athat´o, hogy a kapott feladatra is ´erv´enyesek a 4.t´etelben megadott ¨osszef¨ ugg´esek. Szint´en a b0k = 0 miatt a c´elf¨ uggv´eny ´ert´eke nem v´altozik, ami azt jelenti, hogy a fenti transzform´aci´oval az adott optim´alis megold´asr´ ol egy m´asik optim´alis megold´asra t´er¨ unk ´at. A vizsg´alt elj´ar´ asr´esz csak v´eges sokszor ism´etl˝odhet, mivel v´egrehajt´as´aval eggyel cs¨ okken a b´azisv´ altoz´ ok k¨oz¨ ott szerepl˝o mesters´eges v´altoz´ok sz´ama. ´Igy az (i) l´ep´es v´eges sokszori ism´etl´ese ut´an az elj´ar´as az (ii) l´ep´essel folytat´odik, vagy a 3.l´ep´es ker¨ ul v´egrehajt´asra. Ez ut´obbi esetben, mivel az el˝o´all´ıtott feladat lehets´eges kanonikus alak´ u, ´es ´erv´enyesek r´a a 4.t´etel ¨osszef¨ ugg´esei, ez´ert erre a feladatra is teljes¨ ulnek a 3.l´ep´es igazol´as´ an´ al elmondottak. Ebb˝ol m´ar k¨ovetkezik az (i) elj´ar´asr´esz helyess´ege, ha ezt k¨ozvetlen¨ ul a 3.l´ep´es k¨oveti. Vizsg´ aljuk v´eg¨ ul az (ii) elj´ar´ asr´eszt. Ehhez tegy¨ uk fel, hogy az eddig v´egrehajtott l´ep´esekkel el˝o´ all´ıtott feladatban b´azisv´altoz´ok´ent rendre olyan mesters´eges v´altoz´ok szerepelnek, amelyek egyenlet´eben csak a mesters´eges v´altoz´ok egy¨ utthat´oi k¨oz¨ott vannak 0-t´ol k¨ ul¨ onb¨ oz˝ o egy¨ utthat´ok. Legyenek ezek a v´altoz´ok az l1 -edik,. . .,ls -edik egyenletben. Ekkor a t¨obbi egyenlet b´azisv´altoz´oja rendre term´eszetes v´altoz´o, jel¨olje ezeket a v´altoz´ okat xi1 , . . . , xin−s . Jel¨olje most B az aktu´alis b´azisv´altoz´ok (2.6.3)beli egy¨ utthat´ oib´ ol ´all´ o m´atrixot. Az el˝oz˝oek alapj´an tudjuk, hogy a 4.t´etel az (i) elj´ ar´ asr´esz v´egrehajt´asa eset´en is ´erv´enyes. ´Igy a 4.t´etelnek megfelel˝oen a tekintett feladat felt´etelrendszere a k¨ovetkez˝ o: 63
(2.6.6)
B−1 Ev + B−1 Ax = B−1 b, x ≥ 0, v ≥ 0 (B−1 b ≥ 0) .
M´ asr´eszt a 6.t´etel bizony´ıt´ as´ ab´ ol ismeretes, hogy egy egyenletrendszernek egy regul´aris m´ atrixszal t¨ort´en˝ o szorz´asa az egyenletrendszer nemnegat´ıv megold´asainak halmaz´at nem v´altoztatja meg. ´Igy a (2.6.1) feladat egyenletrendszer´et megszorozva balr´ol a B−1 m´atrixszal, az el˝o´ all´ o al´abbi feladat ekvivalens a (2.6.1) feladattal. (2.6.7)
B−1 Ax = B−1 b x ≥ 0, (B−1b ≥ 0) ——————————————————- , α + cx = z(x) → min
Most legyen 1 ≤ t ≤ s tetsz˝oleges. Mivel a (2.6.6) feladat egyenletrendszer´enek lt edik egyenlet´eben csak a mesters´eges v´altoz´oknak lehet 0-t´ol k¨ ul¨onb¨oz˝o egy¨ utthat´oja, ´es az el˝oz˝ oek alapj´an az lt -edik egyenlet jobboldala 0-val egyenl˝o, ez´ert a (2.6.7) feladat lt -edik egyenlete 0 = 0 alak´ u. Hagyjuk el a (2.6.7) feladatb´ol az l1 -edik, . . ., ls -edik 0 = 0 t´ıpus´ u egyenleteket. Akkor az el˝o´all´o feladat sor- ´es oszlopcser´ekkel a k¨ovetkez˝ o form´ aban ´ırhat´ o fel:
(2.6.8)
Ex(1) + Dx(2) = f , x(1) ≥ 0, x(2) ≥ 0, (f ≥ 0) ————————————————————– , α + cx = z → min
ahol x(1) komponensei a vizsg´alt fa el˝oz˝oekben r¨ogz´ıtett xi1 , . . . , xin−s b´azisv´altoz´oi, x(2) a t¨obbi term´eszetes v´altoz´ ob´ol ´all´o vektor, E az egys´egm´atrix, D az x(2) -ben szerepl˝ o v´altoz´ okhoz tartoz´o egy¨ utthat´ob´ol ´all´o m´atrix, ´es f az u ´j jobbolbali vektor. Mivel a 0 = 0 t´ıpus´ u egyenletek elhagy´asa a megold´asok halmaz´at nem befoly´asolja, ez´ert a (2.6.8) feladat ekvivalens (2.6.7)-tel, ´es ´ıgy a (2.6.1) feladattal is. M´ asr´eszt vegy¨ uk ´eszre, hogy a (2.6.6) feladat felt´etelrendszer´eb˝ol elhagyva az l1 edik, . . . , ls -edik egyenleteket, majd elhagyva a mesters´eges v´altoz´okat oszlopaikkal egy¨ utt, az el˝o´ all´ o felt´etelrendszer sor- ´es oszlopcser´ekt˝ol eltekintve, megegyezik a (2.6.8) feladat felt´etelrendszer´evel. Ezek ut´an a 3.l´ep´esnek megfelel˝oen, hozz´aadva a (2.6.8) feladat c´elf¨ uggv´eny´enek egyenlet´ehez rendre a t-edik egyenlet −cit -szeres´et (t = 1, . . . , n − s), lehets´eges kanonikus alak´ u feladathoz jutunk. A c´elf¨ uggv´eny fenti atalak´ıt´ ´ as´ ar´ ol egyszer˝ uen bel´athat´ o, hogy ez nem v´altoztatja meg a c´elf¨ uggv´enyt a lehets´eges megold´asok halmaz´an. Ez pontosan azt jelenti, hogy az el˝o´all´ıtott lehets´eges kanonikus alak´ u feladat ekvivalens a (2.6.1) feladattal. Ezzel a szimplex m´odszer helyess´eg´enek igazol´as´at befejezt¨ uk. Az elj´ar´ as v´egess´ege az alkalmazott szimplex algoritmust´ol f¨ ugg. Ha a szimplex algoritmus olyan v´altozat´ at alkalmazzuk, amely v´eges l´ep´esben v´eget ´er, akkor nyilv´ anval´ oan a szimplex m´odszer is v´eges l´ep´esben v´eget ´er. A m´odszer v´egrehajt´as´ anak bemutat´as´ara k´et feladatot fogunk megoldani. Az els˝o feladat megold´asa sor´an r´amutatunk olyan technikai fog´asokra, amelyek megk¨ onny´ıtik az elj´ar´ as v´egrehajt´as´at, majd a m´asodik feladat megold´as´an´al m´ar felhaszn´ aljuk ezeket. Az elj´ar´ asban a szimplex algoritmusnak a szimplex t´abl´azatokkal dolgoz´ o v´altozat´ at haszn´aljuk. 6.p´elda. 64
x1 −x2 +2x3 −x4 = 2 2x1 +x2 −3x3 +x4 = 6 x1 +x2 +x3 +x4 = 7 xi ≥ 0 (i = 1, . . . , 4) —————————————— 2x1 +x2 −x3 −x4 = z(x) → min
(1)
Felv´eve a j-edik egyenletbe a vj mesters´eges v´altoz´ot (j = 1, . . . , 3) ´es a w = v1 + v2 + v3 m´asodlagos c´elf¨ uggv´enyt, a k¨ovetkez˝o feladathoz jutunk: v1
+x1 −x2 +2x3 −x4 = 2 v2 +2x1 +x2 −3x3 +x4 = 6 v3 +x1 +x2 +x3 +x4 = 7 vj ≥ 0 (j = 1, . . . , 3), xi ≥ 0 (i = 1, . . . , 4) ———————————————————— v1 +v2 +v3 =w→ min
(2)
Most rendre hozz´aadva az egyenletek −1-szeres´et a c´elf¨ uggv´eny egyenlet´ehez, az al´abbi lehets´eges kanonikus alak´ u feladatot kapjuk: v1 (3)
+x1 −x2 +2x3 −x4 = 2 v2 +2x1 +x2 −3x3 +x4 = 6 v3 +x1 +x2 +x3 +x4 = 7 vj ≥ 0 (j = 1, . . . , 3), xi ≥ 0 (i = 1, . . . , 4) ———————————————————— −4x1 −x2 −x4 =w − 15→ min
A (3) feladathoz a k¨ovetkez˝ o szimplex x1 x2 x3 x4 v1 1 −1 2 −1 2 v2 2 1 −3 1 6 v3
1
1
1
−4 −1
1
0
t´abl´azat tartozik: A kapott szimplex t´abl´azattal kapcsolatban megjegyezz¨ uk, hogy ez a (2.6.3) feladat szerkezet´enek ismeret´eben az (1) fe-
7
ladatb´ol k¨ozvetlen¨ ul fel´ırhat´o. (Az xj v´al-
−1 −15
toz´o oszlop´aban xj egy¨ utthat´oi, valamint
a c´elf¨ uggv´enyben az egy¨ utthat´ ok negat´ıvjainak az ¨osszege szerepel. A t´abl´azat jobboldal´an az egyenletrendszer jobboldala, ´es addit´ıv konstansk´ent a jobboldalak negat´ıvjainak az ¨osszege szerepel.) Most hajtsuk v´egre a szimplex algoritmust! Az elj´ar´as sor´an el˝o´all´o szimplex t´ abl´ azatok a k¨ovetkez˝ ok:
v1
x1
x2
x3
x4
∗
−1
2
−1
1
2
x1
v1
x2
x3
x4
1
−1
2
−1
2
3
−7
3
2
2
−1
2
5
v2
2
1
−3
1
6
v2
−2
v3
1
1
1
1
7
v3
−1
65
∗
−4 −1
0
−1 −15
4
−5
−
8
−5 −7
−
v1
v2
x3
x4
x1
1 3
1 3
− 13
0
8 3
x1
x2
− 23
1 3
− 73
1
2 3
x2
v3
1 3
− 23
∗ 11 3
0
11 3
x3
2 3
5 3
− 11 3
0
− 11 3
v1
v2
v3
x4
4 11
3 11
1 11
0
3
5 1 − 11 − 11
7 11
1
3
1 11
2 − 11
3 11
0
1
1
1
1
0
0
−
Mivel az optimum ´ert´eke 0, ez´ert az elj´ar´as 2.l´ep´ese k¨ovetkezik. Tekintettel arra, hogy a b´azisv´ altoz´ ok k¨oz¨ ott nincsen mesters´eges v´altoz´o, az (i) ´es (ii) elj´ar´asr´eszek nem ker¨ ulnek v´egrehajt´asra, hanem a 3.l´ep´essel folytat´odik az elj´ar´as. Az utols´o szimplex t´abl´ azathoz az al´abbi lehets´eges kanonikus alak´ u feladat tartozik:
x1 x2 (4)
4 3 1 + 11 v1 + 11 v2 + 11 v3
=3
5 1 7 − 11 v1 − 11 v2 + 11 v3
+x4 = 3
1 2 3 x3 + 11 v1 − 11 v2 + 11 v3
=1
vj ≥ 0 (j = 1, . . . , 3), xi ≥ 0 (i = 1, . . . , 4) —————————————————————v1 +v2 +v3 =w→ min
Elhagyva a felt´etelrendszerb˝ ol a mesters´eges v´altoz´okat, ´es a kapott felt´etelrendszerhez hozz´av´eve az els˝odleges c´elf¨ uggv´enyt, a k¨ovetkez˝o feladatot kapjuk:
x1 x2
+x4
= 3 = 3 = 1
x3 xi ≥ 0 (i = 1, . . . , 4) —————————————————– 2x1 +x2 −x3 −x4 = z(x) → min 66
Most rendre az els˝o egyenlet −2-szeres´et, a m´asodik egyenlet −1-szeres´et, a harmadik egyenlet 1-szeres´et hozz´aadva a c´elf¨ uggv´eny egyenlet´ehez, a k¨ovetkez˝ o lehets´eges kanonikus alak´ u feladatot kapjuk: x1 x2
+x4
= 3 = 3 = 1
x3 xi ≥ 0 (i = 1, . . . , 4) —————————————————– −2x4 = z(x) − 8 → min A feladat szimplex t´abl´ azata a k¨ovetkez˝o: x4
A kapott szimplex t´abl´azattal kapcsolatban megjegyezz¨ uk,
x1
0
3
hogy ez k¨ozvetlen¨ ul az utols´o szimplex t´abl´azatb´ol fel´ırha-
x2
1
3
t´o, csak az els˝odleges c´elf¨ uggv´eny egy¨ utthat´oit ´es konstans´at
x3
0 1 −2 −8
kell k¨ ul¨ on kisz´am´ıtani. Ezt a k¨ ul¨on sz´am´ıt´ast elker¨ ulhetj¨ uk azzal, hogy a (3) feladat szimplex t´abl´azat´ahoz hozz´avesz¨ unk
egy tov´ abbi sort, amely az els˝odleges c´elf¨ uggv´eny egy¨ utthat´oit tartalmazza, ´es ezeken az egy¨ utthat´ okon is, mint c´elf¨ uggv´enyegy¨ utthat´okon v´egrehajtjuk az elj´ar´ast. Akkor a szimplex algoritmus v´eg´en az els˝odleges c´elf¨ uggv´eny is a k´ıv´ant form´aban szerepel, ´es az utols´o szimplex t´abl´ azatb´ ol k¨ozvetlen¨ ul fel´ırhatjuk azt a szimplex t´abl´azatot, amely a term´eszetes v´ altoz´ okat ´es az els˝odleges c´elf¨ uggv´enyt tartalmazza. Most v´egrehajtva a szimplex algoritmust, a k¨ovetkez˝o szimplex t´abl´azatokat kapjuk: x4
x2
x1 x2
0 ∗ 1
3 3
x3
0 1 −2 −8
x1 x4
0 1
3 3
x3
0 2
1 −2
K¨ovetkez´esk´epp, a tekintett feladat optim´alis megold´asa: x ¯1 = 3, x ¯2 = 0, x ¯3 = 1, x ¯4 = 3, az optimum ´ert´eke pedig 2. 7.p´elda. x1 +2x2 +x3 +x4 x1 −x2 +2x3 +2x4 x1 +5x2 −x4
+x5 +x5 +x5
= = = −x7 = +x7 =
4 5 3 0 0
+x6 −x6 xi ≥ 0 (i = 1, . . . , 7) ——————————————————————— −x1 −2x2 +x3 +4x6 +6x7 =z(x)→ min 67
Az indul´o szimplex t´abl´ azat, amelyben m´ar mindk´et c´elf¨ uggv´eny egy¨ utthat´oit szerepeltetj¨ uk a k¨ovetkez˝ o:
v1 v2 v3 v4 v5 (z) (w)
x1 1 1 1 0 0 −1 −3
x2 2 −1 ∗ 5 0 0 −2 −6
x3 1 2 0 0 0 1 −3
x4 1 2 0 −1 0 0 −2
x5 1 1 1 0 0 0 −3
x6 0 0 0 1 −1 4 0
x7 0 4 0 5 0 3 −1 0 1 0 6 0 0 −12
−
V´egrehajtva (a m´asodlagos c´elf¨ uggv´eny szerint) a szimplex algoritmust, a k¨ ovetkez˝ o szimplex t´abl´ azatokat kapjuk: x1 v3 v1 3/5 −2/5 v2 6/5 1/5 x2 1/5 1/5 v4 0 0 v5 0 0 (z) −3/5 2/5 (w) −9/5 6/5
x3 ∗ 1 2 0 0 0 1 −3
x4 x5 1 3/5 2 6/5 0 1/5 −1 0 0 0 0 2/5 −2 −9/5
x6 0 0 0 1 −1 4 0
x7 0 14/5 0 28/5 0 3/5 −1 0 1 0 6 6/5 0 −42/5
x4 x5 1 3/5 0 0 0 1/5 ∗ − 1 0 0 0 −1 −1/5 1 0
x6 0 0 0 1 −1 4 0
x7 0 14/5 0 0 0 3/5 −1 0 1 0 6 −8/5 0 0
−
x1 v3 x3 3/5 −2/5 v2 0 1 x2 1/5 1/5 v4 0 0 v5 0 0 (z) −6/5 4/5 (w) 0 0
v1 1 −2 0 0 0 −1 3
Az utols´o szimplex t´abl´ azatban a m´asodlagos c´elf¨ uggv´eny egy¨ utthat´oi rendre nemnegat´ıvak, ez´ert a b´azismegold´as optim´alis megold´as. Az optimum ´ert´eke 0, ´ıgy az elj´ar´ as a 2.l´ep´essel folytat´odik. A b´azisv´altoz´ok k¨oz¨ott vannak mesters´eges v´ altoz´ ok. Ezek k¨oz¨ ul v4 az olyan legkisebb index˝ u, amelynek sor´aban van 0-t´ol k¨ ul¨ onb¨ oz˝ o, term´eszetes v´altoz´ ohoz tartoz´o egy¨ utthat´o. A kiv´alasztott sorban az els˝o ilyen egy¨ utthat´ o x4 egy¨ utthat´ oja. Ezt v´alasztva gener´al´o elemk´ent, ´es v´egrehajtva a 2.2 fejezet 2.t´etel´en´el megadott ´atalak´ıt´asokat, az al´abbi szimplex t´abl´azathoz jutunk: 68
x1 v3 x3 3/5 −2/5 v2 0 1 x2 1/5 1/5 x4 0 0 0 0 v5 (z) −6/5 4/5 (w)
v1 1 −2 0 0 0 −1
v4 x5 1 3/5 0 0 0 1/5 −1 0 0 0 −1 −1/5
x6 1 0 0 −1 −∗ 1 3
x7 −1 14/5 0 0 0 3/5 1 0 1 0 7 −8/5 0
A m´asodlagos c´elf¨ uggv´eny egy¨ utthat´oit m´ar nem kell kisz´am´ıtanunk, mivel a transzform´aci´ o sor´an a c´elf¨ uggv´eny ´ert´eke nem v´altozik. A kapott szimplex t´ abl´ azat b´azisv´ altoz´ oi k¨oz¨ ott m´eg mindig van mesters´eges v´altoz´o. A v5 v´altoz´o a legkisebb index˝ u, amelynek sora tartalmaz 0-t´ol k¨ ul¨onb¨oz˝o, term´eszetes v´altoz´ohoz tartoz´ o egy¨ utthat´ ot, az els˝o ilyen, x6 egy¨ utthat´oja. Ezt v´alasztva gener´al´o elemk´ent, v´egrehajtva az el˝o´ırt ´ atalak´ıt´ asokat, a k¨ovetkez˝o szimplex t´abl´azatot kapjuk: x1 v3 x3 3/5 −2/5 v2 0 1 x2 1/5 1/5 x4 0 0 x6 0 0 (z) −6/5 4/5 (w)
v1 1 −2 0 0 0 −1
v4 x5 1 3/5 0 0 0 1/5 −1 0 0 0 −1 −1/5
v5 1 0 0 −1 −1 3
x7 0 14/5 0 0 0 3/5 0 0 −1 0 10 −8/5 0
A t´abl´ azat b´azisv´ altoz´ oi k¨oz¨ ott m´eg mindig szerepel mesters´eges v´altoz´o. A v2 v´ altoz´ o sor´aban azonban csak a v3 ´es v1 v´altoz´ok egy¨ utthat´oja 0-t´ol k¨ ul¨onb¨oz˝o. ´Igy az elj´ar´ as az (ii) elj´ar´ asr´esszel folytat´odik, azaz el kell hagyni a m´asodik egyenletet (a t´ abl´ azat m´asodik sor´at). Az ´ıgy el˝o´all´ıtott szimplex t´abl´azat a k¨ovetkez˝o: x1 v3 x3 3/5 −2/5 x2 1/5 1/5 x4 0 0 x6 0 0 (z) −6/5 4/5 (w)
v1 1 0 0 0 −1
v4 x5 1 3/5 0 1/5 −1 0 0 0 −1 −1/5
v5 1 0 −1 −1 3
x7 0 14/5 0 3/5 0 0 −1 0 10 −8/5 0
Most az elj´ar´ as 3.l´ep´es´enek megfelel˝oen hagyjuk el a mesters´eges v´altoz´okat oszlopaikkal egy¨ utt, ´es hagyjuk el a m´asodlagos c´elf¨ uggv´enyt. Mivel az els˝odleges c´elf¨ uggv´eny a k´ıv´ ant alakban van el˝o´all´ıtva, ez´ert a kapott szimplex t´abl´azaton v´egrehajthatjuk a szimplex algoritmust. A v´egrehajt´as sor´an az al´abbi szimplex t´ abl´ azatokat nyerj¨ uk: 69
x3 x2 x4 x6
x1 x5 3/5 3/5 ∗ 1/5 1/5 0 0 0 0 −6/5 −1/5
x7 0 14/5 0 3/5 0 0 −1 0 10 −8/5
x3 x1 x4 x6
x2 −3 5 0 0 6
x5 0 1 0 0 1
x7 0 0 0 −1 10
1 3 0 0 10/5
−
Teh´ at a 7.p´elda optim´alis megold´asa: x ¯1 = 3, x ¯3 = 1, x ¯t = 0 (1 ≤ t ≤ 7, t 6= 1, t 6= 3), ´es az optimum ´ert´eke: z(¯ x) = −10/5 = −2. A szimplex m´odszert a szimplex algoritmussal egyidej˝ uleg, 1947-ben G. B. Dantzig dolgozta ki. Az elj´ar´ assal kapcsolatban megeml´ıtj¨ uk, hogy sz´amos oper´aci´okutat´ as k´ezik¨ onyv m´as sz´ohaszn´ alatot is tartalmaz. Szok´asos az ´altalunk megismert szimplex algoritmusra az egyf´azis´ u szimplex m´odszer, a szimplex m´odszerre pedig a k´etf´azis´ u szimplex m´odszer elnevez´esek haszn´alata.
Feladatok
1. A 4.seg´edt´etelnek ´es a 2.1 fejezet 1.seg´edt´etele bizony´ıt´as´anak felhaszn´al´as´aval ´ep´ıts¨ unk fel olyan elj´ar´ ast, amely alapj´an tetsz˝oleges egyenletrendszerr˝ol eld¨onthet˝ o, hogy az illet˝o egyenletrendszernek l´etezik-e megold´asa, ´es ha igen, akkor az algoritmus szolg´ altasson is egy megold´ast. Az elk´esz´ıtett elj´ar´as alapj´an d¨onts¨ uk el, hogy az al´abbi egyenletrendszereknek l´etezik-e megold´asa.
(a)
(b)
x1 +x2 −2x3 +x4 = 2 x1 −2x2 −x3 +2x4 = 3 x1 +3x4 = 9 x2 +x3 +x4 = 5 2x1 +6x2 +x3 = 10 −x1 +4x2 −6x3 = 10 x1 +x2 +x3 = 0 2x1 +5x2 −2x3 = 5 70
2. Oldjuk meg az al´abbi feladatokat szimplex m´odszerrel:
(a)
x1 −x2 +2x3 −x4 = 2 2x1 +x2 −3x3 +x4 = 6 x1 +x2 +x3 +x4 = 7 xi ≥ 0 (i = 1, . . . , 4) —————————————— 2x1 +x2 −x3 −x4 = z → min
(b)
x1 +2x2 +x3 = 4 x1 −x2 +2x3 = 5 x1 +5x2 =4 xi ≥ 0 (i = 1, . . . , 3) ———————————– −x1 −2x2 +x3 = z → min
(c)
x1 +2x2 +3x3 +2x4 −x5 = 6 2x2 +4x3 −4x4 +2x5 = 6 x2 +x3 +x4 +x5 = 5 xi ≥ 0 (i = 1, . . . , 5) ————————————————— −x1 +2x2 +x3 +x4 −x5 = z → min
3. Oldjuk meg szimplex m´odszerrel az al´abbi feladatokat u ´gy, hogy szimplex algoritmusk´ent a m´odos´ıtott szimplex algoritmust haszn´aljuk: 3x1 +2x2 x1 +2x2
(a)
(b)
+x3 +5x4 +2x5 = 15 −x3 +x5 = 13 x3 +x4 +x5 +x6 = 10 xi ≥ 0 (i = 1, . . . , 6) ——————————————————−x1 −2x2 −3x3 −4x4 −5x5 = z → min 5x1 −4x2 +13x3 −2x4 +x5 = 20 x1 −x2 +5x3 −x4 +x5 = 8 xi ≥ 0 (i = 1, . . . , 5) ————————————————— x1 +6x2 −7x3 +x4 +5x5 = z → min
71
4. A 2.1 fejezet elj´ar´ as´ at felhaszn´alva vezess¨ uk vissza az al´abbi line´aris programoz´ asi feladatokat alkalmas standard feladatokra, ´es oldjuk meg a kapott feladatokat szimplex m´odszerrel:
(a)
(b)
2x1 + x2 ≥ 1 x1 +x2 ≤ 3 x1 −x2 ≥ −1 x1 ≥ 0, x2 ≥ 0 ——————————−x1 +x2 = z(x) → min 2x1 −2x2 +x3 = 6 3x1 −5x2 +2x3 ≤ 15 x1 +x2 −x3 ≥ 3 −x1 +3x2 −x3 ≤ −1 xi ≥ 0 (i = 1, 2, 3) ———————————— −x1 +2x2 −x3 = z(x) → max
72
2.7 A line´ aris programoz´ as n´ eh´ any gyakorlati alkalmaz´ asa
A jelen fejezetben n´eh´ any olyan gyakorlati probl´em´at ismertet¨ unk, amelyek optimumsz´ am´ıt´ asi modellje line´aris programoz´asi feladat. Az egyik legkor´ abbi probl´ema, amely ”di´eta-modell” n´even ismeretes, G. J. Stiglert˝ ol sz´armazik, aki a feladatot ´es a megfelel˝o modellt 1945-ben tette k¨ozz´e egy k¨ ozgazdas´ agi foly´oiratban. A cikk befejez˝o r´esz´eben a szerz˝o sajn´alkoz´as´at fejezte ki amiatt, hogy nem ´all rendelkez´esre line´aris programoz´asi feladat megold´as´ara szolg´al´o elj´ ar´ as, ´es ´ıgy a modell gyakorlati alkalmaz´as´ara nincs lehet˝os´eg. Az el˝oz˝oekb˝ol m´ar tudjuk, hogy a hi´anyolt elj´ar´ as 1947-ben elk´esz¨ ult, ´es az´ota a di´eta-modell sz´amtalan ter¨ uleten alkalmaz´ ast nyert. Vizsg´ aljuk ezek ut´an a Stigler ´altal felvetett probl´em´at. Di´ eta-modell Ismeretes, hogy az ´el˝ o szervezeteknek a t´apl´alkoz´as sor´an sz¨ uks´ege van bizonyos anyagokra (feh´erje, sz´enhidr´ at, vitaminok stb.). M´asr´eszt a k¨ ul¨onb¨oz˝o t´apl´al´ekok k¨ ul¨ onb¨ oz˝ o ar´anyokban tartalmazz´ak ezeket az anyagokat. A rendelkez´esre ´all´ o t´ apl´ al´ekokb´ ol k´esz´ıts¨ unk olyan ¨ossze´all´ıt´ast, amely el˝o´ırt mennyis´egben tartalmazza a sz¨ uks´eges anyagokat ´es minim´alis k¨olts´eg˝ u. Vezess¨ uk be a k¨ovetkez˝ o jel¨ol´eseket. Jel¨olje n a sz¨ uks´eges anyagok sz´am´ at, m a rendelkez´esre ´all´ o t´apl´ al´ekok sz´am´at, aij az i-edik anyag mennyis´eg´et a j-edik t´apl´al´ek egys´egnyi mennyis´eg´eben (i = 1, . . . , n; j = 1, . . . , m), bi az i-edik anyagb´ ol sz¨ uks´eges mennyis´eget (i = 1, . . . , n), cj a j-edik t´apl´ al´ek egys´egnyi mennyis´eg´enek az ´ar´at (j = 1, . . . , m), xj a j-edik t´apl´ al´ekb´ ol felhaszn´al´asra ker¨ ul˝o mennyis´eget (j = 1, . . . , m). A bevezetett jel¨ol´esekkel a v´azolt probl´ema az al´abbi optimumsz´am´ıt´asi modellel ´ırhat´ o le: m X
aij xj ≥ bi (i = 1, . . . , n)
j=1
xj ≥ 0 (j = 1, . . . , m) ——————————————— m X cj xj = z(x) → min j=1
A fenti feladat i-edik egyenl˝ otlens´ege biztos´ıtja, hogy az ¨ossze´all´ıtott eledel az i-edik anyagb´ ol legal´abb bi mennyis´eget tartalmaz. 72
A modellhez kapcsol´odva megeml´ıtj¨ uk, hogy igen sikeresen alkalmazt´ak k¨ ul¨onb¨oz˝o ´llatok takarm´ a anyoz´ as´ ara, ´es sz´amos ´elelmiszeripari alkalmaz´as (p´eld´aul h´ usk´esz´ıtm´enyek el˝o´ all´ıt´ asa) ismertes. Emberi ´etrend ¨ossze´all´ıt´as´aval is kis´erleteztek, de ez nem j´ art sikerrel. G. B. Dantzig az ´atlagos amerikai ember optim´alis ´etrendj´et sz´am´ıtva, arra az eredm´enyre jutott, hogy ezt akkor ´erik el, ha napi 17 liter ecetet vagy napi 14 cs´esze tejesk´av´et isznak. A furcsa eredm´eny minden bizonnyal annak k¨osz¨onhet˝o, hogy az emberi t´apl´ alkoz´ as igen sokr´et˝ u, v´altozatos, ´es ´ıgy az ezt le´ır´o modellek nem t¨ ukr¨ ozik megfelel˝oen a val´ os´ agot. A t´apl´alkoz´ason kiv¨ ul a di´eta-modell alkalmazhat´ o olyan probl´em´ akn´ al is, amikor el˝o´ırt ¨osszet´etel˝ u anyagot kell el˝o´all´ıtani adott kever´ekanyagokb´ ol minim´alis k¨olts´eggel. Ez sz´amos, tov´abbi sikeres alkalmaz´ast tett lehet˝ ov´e a vegyiparban, a gy´ogyszergy´art´asban ´es a k¨ ul¨onb¨oz˝o ¨otv¨ozetek el˝o´all´ıt´as´an´al. A k¨ovetkez˝ o, t´argyal´ asra ker¨ ul˝o modellhez az 1.fejezetben megfogalmazott probl´ema ´altal´ anos´ıt´ as´ aval juthatunk el. Termel´ es korl´ atozott er˝ oforr´ asokb´ ol maxim´ alis nyeres´ eggel Adott egy u ¨zem, amely bizonyos term´ekeket ´all´ıt el˝o, ´es a termel´es sor´an bizonyos er˝oforr´ asokat (anyagok, energia, munkaer˝o stb.) haszn´al fel. Hat´arozzuk meg a maxim´alis nyeres´eget eredm´enyez˝ o termel´esi tervet, ha az er˝oforr´asok korl´atozottak, ´es ismeretes az egyes term´ekeknek az er˝oforr´asokra vonatkoz´o sz¨ uks´eglete. Vezess¨ uk be a k¨ovetkez˝ o jel¨ol´eseket. Jel¨olje n az er˝oforr´ asok sz´am´ at, m a term´ekf´eles´egek sz´am´ at, aij a j-edik term´ekf´eles´eg egys´egnyi mennyis´eg´eg´enek gy´art´as´ahoz sz¨ uks´eges mennyis´eget az i-edik er˝oforr´asb´ol (i = 1, . . . , n; j = 1, . . . , m), bi az i-edik er˝oforr´ asb´ ol rendelkez´esre ´all´o mennyis´eget (i = 1, . . . , n), cj a j-edik term´ekf´eles´eg egys´egnyi mennyis´eg´enek gy´art´as´aval keletkez˝o nyeres´eget (j = 1, . . . , m), xj a j-edik term´ekf´eles´egb˝ ol gy´art´asra ker¨ ul˝o mennyis´eget (j = 1, . . . , m). A bevezetett jel¨ol´esekkel a v´azolt probl´ema az al´abbi optimumsz´am´ıt´asi modellel ´ırhat´ o le: m X aij xj ≤ bi (i = 1, . . . , n) j=1
xj ≥ 0 (j = 1, . . . , m) ——————————————— m X cj xj = z(x) → max j=1
A fenti feladat i-edik egyenl˝ otlens´ege garant´alja, hogy a termel´es sor´an az i-edik er˝oforr´ asb´ ol felhaszn´alt mennyis´egek ¨osszege nem haladja meg az i-edik er˝oforr´asb´ol rendelkez´esre ´all´ o bi mennyis´eget. 73
A modellel kapcsolatban megeml´ıtj¨ uk, hogy 1950 ´es 1960 k¨oz¨ott sz´amos k¨onyv ´es cikk tartalmazott az u ¨zemi termel´es optimaliz´al´as´aval foglalkoz´o, k¨ ul¨onb¨oz˝o modelleket. Ezek k¨oz¨ ul az el˝oz˝ oekben ismertetett, amely megtal´alhat´o R. Dorfman egy 1951-ben megjelent munk´ aj´ aban, az egyik legegyszer˝ ubb v´altozat. A k¨ovetkez˝ o, egyben a jelen fejezetet befejez˝o modellel egy mez˝ogazdas´agi alkalmaz´ ast mutatunk be. Maxim´ alis nyeres´ eget biztos´ıt´ o vet´ esterv k´ esz´ıt´ ese el˝ o´ırt termel´ esi minimumok mellett Adott egy mez˝ogazdas´ agi egys´eg, amely k¨ ul¨onb¨oz˝o hozam´ u f¨oldter¨ uleteken bizonyos mez˝ogazdas´ agi term´ekeket termel. Az egyes term´ekf´eles´egekre el˝o van ´ırva egy minim´alis termelend˝o mennyis´eg. Hat´arozzunk meg egy olyan vet´estervet, amely maxim´ alis nyeres´eget biztos´ıt. Vezess¨ uk be a k¨ovetkez˝ o jel¨ol´eseket. Jel¨olje n a k¨ ul¨ onb¨ oz˝ o f¨oldter¨ uletek sz´am´at, m a term´ekf´eles´egek sz´am´ at, ti az i-edik f¨oldter¨ ulet nagys´ag´at (i = 1, . . . , n), aij az i-edik f¨oldter¨ ulet egys´egnyi r´esz´en a j-edik term´ekf´eles´egb˝ol v´arhat´o mennyis´eget (i = 1, . . . , n; j = 1, . . . , m), bj a j-edik term´ekf´eles´egb˝ ol el˝o´ırt minim´alis mennyis´eget (j = 1, . . . , m), cij a j-edik term´ekf´eles´eg egys´egnyi mennyis´eg´enek termel´es´evel keletkez˝o nyeres´eget az i-edik f¨oldter¨ uleten (i = 1, . . . , n; j = 1, . . . , m), xij az i-edik f¨oldter¨ uleten a j-edik term´ekf´eles´eg termel´es´ere be´all´ıtott ter¨ ulet nagys´ ag´ at (i = 1, . . . , n; j = 1, . . . , m). A bevezetett jel¨ol´esekkel a k¨ovetkez˝o felt´eteleket tudjuk megfogalmazni. Egyr´eszt az i-edik f¨oldter¨ uleten a k¨ ul¨ onb¨ oz˝o term´ekf´eles´egek termel´es´ere be´all´ıtott ter¨ uletek P m osszege nem haladhatja meg az i-edik f¨oldter¨ ulet ti nagys´ag´at. K¨ovetkez´esj=1 xij ¨ k´epp, minden i indexre a m X xij ≤ ti j=1
egyenl˝ otlens´egnek kell teljes¨ ulni. M´asr´eszt a j-edik term´ekf´eles´egb˝ol tervezett ¨osszes P n eg nem lehet kisebb, mint az el˝o´ırt bj , ´ıgy minden j indexre teli=1 aij xij mennyis´ jes¨ ulnie kell a n X aij xij ≥ bj i=1
egyenl˝ otlens´egnek. V´eg¨ ul a v´arhat´o nyeres´eget megkapjuk, ha f¨oldter¨ uletenk´ent ´es term´ekf´eles´egekk´ent a tervezett aij xij mennyis´egeket rendre megszorozzuk a cij egys´eg´ arakkal ´es i-re, j-re ¨osszegz¨ unk. Az elmondottak alapj´an a v´azolt probl´em´at a k¨ovetkez˝o optimumsz´am´ıt´asi modellel ´ırhatjuk le:
74
m X
xij ≤ ti (i = 1, . . . , n)
j=1 n X
aij xij ≥ bj (j = 1, . . . , m)
i=1
xij ≥ 0 (i = 1, . . . , n; j = 1, . . . , m) ——————————————— m X n X aij xij cij = z(x) → max j=1 i=1
Az ismertetett gyakorlati alkalmaz´asok kapcs´an hangs´ ulyoznunk kell, hogy a line´aris programoz´ asnak sz´amos, tov´ abbi ´erdekes alkalmaz´asa ismeretes. Nyilv´anval´o, hogy egy jegyzet keretein bel¨ ul csak bizonyos sz´am´ u modellt lehet ismertetni. A fenti h´arom feladat kiv´alaszt´ as´ an´ al ezen modellek egyszer˝ us´ege, sz´elesk¨or˝ u alkalmazhat´os´aga motiv´ alt benn¨ unket. Feladatok 1. S. Vajda 1961-ben a di´eta-modell demonstr´al´as´ara az al´abbi, egyszer˝ us´ıtett t´ apl´ alkoz´ asi probl´em´ at adta meg. A napi ´etkez´esek sor´an a k¨ovetkez˝o t´apl´alkoz´asi ´ert´ekeket kell elfogyasztani: 70gr feh´erje, 3000 kal´ oria, 800mg kalcium, 12mg vas . A rendelkez´esre ´all´o ´etelek: barnakeny´er, sajt, vaj, pir´ıtott bab ´es spen´ot, ´es ezekb˝ol 100gr rendre 3, 7, 7, 5, 2 doll´ arba ker¨ ul. Hat´arozzunk meg egy minim´alis k¨olts´eg˝ u ¨ossze´all´ıt´ast, ha a felsorolt ´elelmiszerekben a t´apl´ alkoz´ asi ´ert´ekek a k¨ovetkez˝ok:
feh´erje gr
kal´oria kalcium mg
vas mg
100gr barnakeny´er
8.3
246
17.2
2.01
100gr sajt
24.9
423
810
0.57
100gr vaj
0.4
793
14.8
0.16
6
93
61.6
2.05
5.1
26
595
4
100gr pir´ıtott bab 100gr spen´ot
´Irjuk fel ´es oldjuk meg a megfelel˝o line´aris programoz´asi feladatot. (A sz´am´ıt´ast egyszer˝ us´ıti, ha a m´asodik egyenl˝ otlens´eg mindk´et oldal´at osztjuk 100-zal, ´es a harmadik egyenl˝ otlens´eg mindk´et oldal´at osztjuk 10-zel.) 75
A di´eta-modellt szeml´eltet˝ o, k¨ovetkez˝o feladat G. B. Dantzig 1963-ban megjelent k¨ onyv´eben tal´alhat´ o. Egy v´allalkoz´ o olyan ¨otv¨ ozetet akar gy´artani, amely 30% ´olmot, 30% cinket ´es 40% ´ont tartalmaz. A piacon az al´abbi t´abl´azatban szerepl˝o ¨otv¨ozetek v´as´arolhat´ok, amelyek ¨osszet´etel´et ´es ´ar´ at szint´en a t´abl´azat tartalmazza. Milyen mennyis´egeket kell a v´allalkoz´ onak venni az egyes ¨otv¨ ozetekb˝ol, hogy az el˝o´all´ıtand´o ¨otv¨ozet egy fontj´anak (1 font= 409.5 gr) minim´alis legyen az anyagk¨olts´ege.
¨otv¨ ozetek
A
B
C
D
E
F
G
H
I
´olom%
10
10
40
60
30
30
30
50
20
cink%
10
30
50
30
30
40
20
40
30
´on%
80
60
10
10
40
30
50
10
50
1 font ´ara $-ban
4.1
4.3
5.8
6
7.6
7.5
7.3
6.9
7.3
´Irjuk fel a megfelel˝o line´aris programoz´asi feladatot. 3. A k¨ovetkez˝ o demonstr´aci´ os feladatot R. C. Pfaffenberg ´es D. A. Walker egy 1976-os munk´ aj´ ab´ ol v´alasztottuk. Adott egy u ¨zem, amely n´egyf´ele term´eket gy´art, ´es a gy´art´asra ford´ıthat´o g´epid˝ o, rakt´ arter¨ ulet ´es munkaer˝ o korl´ atozott. G´epid˝ob˝ol legfeljebb 180 ´ora, rakt´arter¨ uletb˝ ol legfeljebb 148m2 , munkaer˝ ob˝ ol pedig legfeljebb 40 munka´ora haszn´alhat´o fel. Az egyes term´ekf´eles´egek egys´egnyi mennyis´eg´enek gy´art´as´ahoz sz¨ uks´eges g´epid˝ot, rakt´arter¨ uletet ´es munka´ or´ at az al´abbi t´abl´ azat tartalmazza. 1.term´ek
2.term´ek 3.term´ek 4.term´ek
g´epid˝ o (´ora)
2
6.3
1.8
6
rakt´arter¨ ulet (m2 )
1.5
2
4
5
munka´ ora
0.8
0.6
0.9
0.4
Hat´ arozzunk meg egy olyan termel´esi tervet, amely maxim´alis ´arbev´etelt eredm´enyez, ha az egyes term´ekf´eles´egek egys´egnyi mennyis´eg´enek ´ara rendre 3, 5, 4, 4.5 doll´ar. ´Irjuk fel ´es oldjuk meg a megfelel˝o line´aris programoz´asi feladatot. 4. Az al´abbi feladatot Farkas Vilmos, egy 1972-es p´eld´aja alapj´an k´esz´ıtett¨ uk. Adott egy mez˝ogazdas´ agi u ¨zem, amely 810 hekt´ar term˝oter¨ uleten keny´ergabon´at, takarm´anygabon´at, egyny´ ari sz´alastakarm´anyt, nedvd´ us takarm´anyt ´es hibridkukoric´ at termel. A term˝of¨ old a keny´ergabona hozama szerint h´arom term˝ohelyi 76
oszt´ alyra bomlik. Az egyes term˝ohelyi oszt´alyok ter¨ ulet´et, az oszt´alyokra vonatkoz´o atlagterm´eseket, tov´ ´ abb´ a az oszt´alyokban termelt term´enyek 1q-ra es˝o nyeres´eg´et a k¨ ovetkez˝ o t´abl´ azat adja meg, amelyben a negat´ıv nyeres´eg a vesztes´eges termel´est jelenti.
Term˝ ohelyi oszt´ aly
Keny´ergabona
Takarm´ anygabona
Egyny´ari sz´alastakarm´any
Nedvd´ us takarm´any
Hibrid kukorica
Rendelkez´esre ´all´o ter¨ ulet
1
29q/ha 28q/ha 150q/ha 260q/ha 24q/ha 80Ft/q 30Ft/q -2Ft/q -5Ft/q 140Ft/q
184ha
2
26q/ha 24q/ha 135q/ha 210q/ha 20q/ha 60Ft/q 15Ft/q -3Ft/q -8Ft/q 100Ft/q
390ha
3
23q/ha 21q/ha 120q/ha 155q/ha 16q/ha 40Ft/q -10Ft/q -4Ft/q -14Ft/q 30Ft/q
236ha
Hat´ arozzunk meg egy maxim´alis nyeres´eget biztos´ıt´o vet´estervet, ha a keny´ergabon´ab´ ol legal´abb 6300q-´at, egyny´ ari sz´alastakarm´anyb´ol legal´abb 9750q-´at, nedvd´ us takarm´ anyb´ ol legal´abb 39500q-´at kell termelni. (A hibridkukoric´ab´ol tetsz˝oleges mennyis´eg termelhet˝ o.) ´Irjuk fel ´es oldjuk meg a megfelel˝o line´aris programoz´asi feladatot.
2.8 Konvex poli´ ederek A jelen fejezetben feleleven´ıtj¨ uk a felhaszn´al´asra ker¨ ul˝o fogalmakat, majd ezt k¨ ovet˝ oen a lehets´eges megold´asok halmaz´anak f˝obb tulajdons´agait vizsg´aljuk. Jel¨ olje E n az n-dimenzi´ os euklideszi teret. A h1 , h2 ∈ E n pontokat ¨ osszek¨ ot˝ o szakaszon a λh1 + (1 − λ)h2 pontok halmaz´at ´ertj¨ uk, ahol 0 ≤ λ ≤ 1. Speci´alisan, a λ = 1/2 ´ert´ekkel el˝o´ all´ıtott h1 /2 + h2 /2 pontot a h1 , h2 pontokat ¨osszek¨ot˝o szakasz felez´espontj´ anak nevezz¨ uk. Azt mondjuk, hogy a H ⊆ E n halmaz konvex, ha H b´ armely k´et pontj´ aval egy¨ utt a pontokat ¨osszek¨ot˝o szakaszt is tartalmazza. A H halmazt z´ artnak nevezz¨ uk, ha H b´armely konvergens pontsorozat´aval egy¨ utt az illet˝o pontsorozat hat´ar´ert´ek´et is tartalmazza, azaz hn ∈ H (n = 1, 2, . . . ) ´es hn → h fenn´ all´ as´ ab´ ol h ∈ H k¨ovetkezik. Azt mondjuk, hogy a H halmazPkorl´ atos, ha van n olyan M val´ os sz´am, hogy H b´ armely u = (u1 , . . . , un ) elem´ere ( i=1 u2i )1/2 ≤ M teljes¨ ul. A H halmaz h elem´et a H cs´ ucspontj´ anak nevezz¨ uk, ha h nem ´all el˝o k´et k¨ ul¨ onb¨ oz˝ o H-beli pontot ¨osszek¨ ot˝ o szakasz felez´espontjak´ent. A h1 , . . . , hk ∈ E n pontok konvex line´ aris kombin´ oj´ an a λ1 h1 + . . . + λk hk kifejez´est ´ertj¨ uk, ahol Pk aci´ n 0 ≤ λt (t = 1, . . . , k) ´es altal i ∈ E (i = 1, . . . , m) vektorok ´ t=1 λt = 1. Az aP m gener´ alt K konvex k´ upon a K = {u : u = a v , v ≥ 0 (i = 1, . . . , m)} = i i=1 i i {u : u = Av, v ≥ 0} halmazt ´ertj¨ uk. V´eg¨ ul a H halmazt konvex poli´edernek nevezz¨ uk, 78
ha H konvex, korl´ atos ´es z´art halmaz, tov´abb´a H-nak v´eges sok cs´ ucspontja van. Ezzel kapcsolatban megjegyezz¨ uk, hogy a konvex poli´eder a 2-dimenzi´os konvex soksz¨og fogalm´ anak ´altal´ anos´ıt´ asa. A konvex poli´ederek egy ´erdekes ´es fontos tulajdons´ag´at adja meg a k¨ovetkez˝o, bizony´ıt´ as n´elk¨ ul k¨oz¨ olt ´all´ıt´ as, amely a konvex poli´ederek f˝ot´etele n´even ismeretes. 7.t´ etel. Egy konvex poli´eder b´ armely pontja el˝ o´ all´ıthat´ o a poli´eder cs´ ucspontjainak konvex line´ aris kombin´ aci´ ojak´ent. A tov´ abbiakban a megadott fogalmak ´es a line´aris programoz´asi feladatok kapcsolat´ at vizsg´aljuk. A standard feladatot illet˝oen ´erv´enyes a k¨ovetkez˝o ´all´ıt´as. 5.seg´ edt´ etel. Egy standard feladat lehets´eges megold´ asainak a halmaza z´ art ´es konvex halmaz. Bizony´ıt´ as. Tekints¨ uk a k¨ovetkez˝o Ax = b, x ≥ 0, (b ≥ 0) (2.8.1) ——————————α + cx = z(x) → min standard feladatot, ´es jel¨olje a lehets´eges megold´asok halmaz´at L. Ha L = ∅, akkor az ´all´ıt´ as nyilv´ anval´ o. Ezek ut´an tegy¨ uk fel, hogy L 6= ∅. Els˝ ok´ent a z´arts´ agot igazoljuk. Ehhez tekints¨ unk egy x(k) ∈ L (k = 1, 2, . . .), ¯ konvergens sorozatot. Legyen 1 ≤ j ≤ m tetsz˝oleges. Akkor b´armely k-ra x(k) → x (k) (k) x(k) ∈ L fenn´ all´ as´ ab´ ol x(k) ≥ 0, ´es ´ıgy xj ≥ 0 k¨ovetkezik, ahol xj az x(k) vektor (k) ¯ , ´es ´ıgy limk→∞ xj = x j-edik komponens´et jel¨oli. M´asr´eszt limk→∞ x(k) = x ¯j . Mivel (k) az ut´obbi xj (k = 1, 2, . . .) numerikus sorozat elemei rendre nemnegat´ıvak, ez´ert a sorozat hat´ar´ert´eke szint´en nemnegat´ıv, amivel x ¯j ≥ 0 ad´odik. Mivel j tetsz˝oleges ¯ ≥ 0 k¨ovetkezik. volt, ez´ert ebb˝ol x Legyen most 1 ≤ i ≤ n tetsz˝oleges, ´es tekints¨ uk a (2.8.1) feladat i-edik egyenlet´et. Pm (k) (k) Mivel b´armely k-ra x ∈ L, ez´ert j=1 aij xj = bi , ´es ´ıgy bi ≤
m X
(k)
aij xj
≤ bi .
j=1 (k)
¯ alapj´an limk→∞ xj = x M´ asr´eszt limk→∞ x(k) = x ¯j . Anal´ızisb˝ol ismeretes, hogy vs → v, ws → w numerikus sorozatok eset´en βvs + s → βv + γw. Pγw (k) m Ezt felhaszn´alva, azt kapjuk, hogy az rk = j=1 aij xj (k = 1, 2, . . .) sorozat Pm konverg´ al, ´es limk→∞ rk = j=1 aij x ¯j . De akkor a rend˝or-elv alapj´an m X (k) bi ≤ aij xj ≤ bi ↓
j=1
bi ≤
m X
↓
↓
aij x ¯j ≤ bi
j=1
Pm ¯ kiel´eg´ıti az i-edik egyenletet. Mivel i tetsz˝oleges ad´ odik, ´es ´ıgy j=1 aij x ¯j = bi , azaz x volt, ez´ert ebb˝ol A¯ x = b ad´ odik. 79
¨ ¯ ≥ 0, A¯ ¯ ∈ L. K¨ovetkez´esk´epp L Osszegezve, azt kaptuk, hogy x x = b, azaz x z´ art. Most megmutatjuk, hogy L konvex. Legyen x1 , x2 ∈ L, 0 ≤ λ ≤ 1, ´es tekints¨ uk ¯ = λx1 + (1 − λ)x2 pontj´at. Mivel x1 , x2 ∈ L, az x1 , x2 pontokat ¨osszek¨ ot˝ o szakasz x ¯ = λx1 +(1−λ)x2 ≥ 0. Ism´et ez´ert x1 ≥ 0, x2 ≥ 0. M´asr´eszt λ ≥ 0 ´es 1−λ ≥ 0. ´Igy x x1 , x2 ∈ L fenn´ all´ as´ at felhaszn´alva, Ax1 = b ´es Ax2 = b. De akkor λAx1 = λb ´es (1 − λ)Ax2 = (1 − λ)b, amib˝ol λAx1 + (1 − λ)Ax2 = A(λx1 + (1 − λ)x2 ) = λb + (1 − λ)b = b , ¯ ≥ 0, A¯ ¯ ∈ L. K¨ovetkez´esk´epp L konvex, amivel azaz A¯ x = b. Teh´ at x x = b, ´es ´ıgy x az ´all´ıt´ ast igazoltuk. A lehets´eges kanonikus alak´ u feladatok ´es a konvex poli´ederek kapcsolat´at r´eszletesebben vizsg´aljuk. Ehhez tekints¨ uk a Ax = b, x ≥ 0, (b ≥ 0) (2.8.2) ——————————– α + cx = z(x) → min lehets´eges kanonikus alak´ u feladatot, ahol b´armely 1 ≤ i, j ≤ n indexp´arra ½ 1, ha i = j, aij = cj = 0. 0 k¨ ul¨onben, A vizsg´alatokhoz kiterjesztj¨ uk a 2.2 fejezetben megadott b´azismegold´as fogalm´at. A ¯ lehets´eges megold´as´at b´azismegold´asnak nevezz¨ ¯ pozit´ıv (2.8.2) feladat egy x uk, ha az x komponenseihez tartoz´o A-beli oszlopvektorok line´arisan f¨ uggetlen vektorrendszert alkotnak. A kiterjesztett b´ azismegold´as fogalm´at haszn´alva, ´erv´enyes a k¨ovetkez˝o all´ıt´ ´ as. 8.t´ etel. Ha a (2.8.2) feladat lehets´eges megold´ asainak L halmaza korl´ atos, akkor L olyan konvex poli´eder, amelynek cs´ ucspontjai pontosan a (2.8.2) feladat b´ azismegold´ asai. Bizony´ıt´ as. A 5.seg´edt´etel alapj´an L konvex ´es z´art halmaz. M´asr´eszt a felt´etelek szerint L korl´ atos. ´Igy L konvex poli´eder volt´ahoz azt kell megmutatnunk, hogy L cs´ ucspontjainak a sz´ama v´eges. Ehhez jel¨olje C az L cs´ ucspontjainak halmaz´at ´es B a (2.8.2) feladat b´azismegold´ asainak halmaz´at. Els˝ ok´ent megmutatjuk, hogy C = B. A halmazok egyenl˝os´eg´et mindk´et tartalmaz´ as fenn´all´ as´ aval igazoljuk. ¯ ∈ C ´es A C ⊆ B tartalmaz´ ast indirekt bizony´ıtjuk. Ehhez tegy¨ uk fel, hogy x ¯∈ ¯ pozit´ıv komponenseit x ¯∈ x / B. Jel¨olje x ¯ i1 , . . . , x ¯ik . Mivel x / B, ez´ert az A m´atrix ´Igy vannak olyan ai1 , . . . , aik oszlopvektorai line´ a risan f¨ u gg˝ o vektorrendszert alkotnak. Pk di1 , . . . , dik konstansok, hogy t=1 dit ait = 0 ´es dit 6= 0 valamely 1 ≤ t ≤ k indexre. Most legyen n dit , ha j = it valamely 1 ≤ t ≤ k indexre, dj = 0 k¨ ul¨ onben. Akkor a kapott egyenletet fel´ırhatjuk a k¨ovetkez˝o alakban: Pm (i) j=1 dj aj = 0 80
ahol b´armely 1 ≤ j ≤ m indexre x ¯j = 0 fenn´all´as´ab´ol dj = 0 k¨ovetkezik, ´es legal´abb egy dj 0-t´ol k¨ ul¨ onb¨ oz˝ o. Most legyen ε > 0 tetsz˝oleges. Akkor (i) alapj´an (ii)
m X
εdj aj = 0 ,
j=1
−
m X
εdj aj = 0.
j=1
Pm
¯ ∈ C, ´ıgy x ¯ ∈ L, amib˝ol j=1 x M´ asr´eszt x ¯j aj = b k¨ovetkezik. A kapott egyenletet hozz´ aadva az (ii) alatti egyenletekhez, azt kapjuk, hogy (iii)
m X (¯ xj + εdj )aj = b ,
m X (¯ xj − εdj )aj = b
j=1
j=1
teljes¨ ul, ahol ε > 0 tetsz˝oleges. Most v´alasszuk meg ε-t u ´gy, hogy x ¯j + εdj ≥ 0, x ¯j − εdj ≥ 0 (j = 1, . . . , m) teljes¨ ulj¨ on. Ilyen ε l´etezik, p´eld´ aul ½ ¾ x ¯j ε0 = min : 1 ≤ j ≤ m, dj 6= 0 |dj | eset´en a tekintett mennyis´egek rendre nemnegat´ıvak. Legyen u ¯j = x ¯j + ε0 dj ´es v¯j = ¯ ≥ 0, v ¯ ≥ 0. M´asr´eszt (iii) x ¯j − ε0 dj (j = 1, . . . , m). Akkor ε0 v´alaszt´asa miatt u ¯, v ¯ ∈ L. A d vektor defin´ıci´oj´ab´ alapj´an A¯ u = b, A¯ v = b. K¨ovetkez´esk´epp u ol ¯ 6= v ¯. ad´ od´ oan van olyan 1 ≤ j ≤ m, hogy dj 6= 0. De akkor u ¯j 6= v¯j , ´es ´ıgy u ¯ = (¯ ¯ )/2. Ez azt jelenti, hogy x ¯ az u ¯ 6= v ¯ V´egezet¨ ul vegy¨ uk ´eszre, hogy x u+v pontokat ¨osszek¨ ot˝ o szakasz felez´espontja, ami ellentmond annak a felt´etelez´esnek, hogy ¯ cs´ ¯ ∈ B, ´es ´ıgy C ⊆ B. x ucspont. K¨ovetkez´esk´epp x ¯ ∈ B ´es x ¯∈ A B ⊆ C tartalmaz´ ast is indirekt bizony´ıtjuk. Tegy¨ uk fel, hogy x / C. ¯ 6= v ¯, u ¯, v ¯ ∈ L, hogy x ¯ = (¯ ¯ )/2. Mivel x ¯, u ¯, v ¯ Az ut´obbi feltev´es miatt van olyan u u+v ¯ fenti el˝o´all´ıt´as´ab´ol ad´odik, hogy b´armely 1 ≤ j ≤ m nemnegat´ıv vektorok, ez´ert x ¯ pozit´ıv indexre x ¯j = 0 fenn´all´ as´ ab´ ol u ¯j = v¯j = 0 k¨ovetkezik. Jel¨olje x ¯ i1 , . . . , x ¯ik az x komponenseit ´es aj az A m´atrix j-edik oszlopvektor´at. Akkor b = A¯ x= b = A¯ u= b = A¯ v=
m X j=1 m X j=1 m X
x ¯ j aj = u ¯ j aj = v¯j aj =
k X t=1 k X t=1 k X
x ¯it ait, u ¯it ait, v¯it ait.
t=1
j=1
Viszont ´ıgy a m´asodik ´es harmadik egyenlet jobboldal´an szerepl˝o kifejez´esek egyenl˝ok b-vel, de akkor egym´assal is, amivel azt kapjuk, hogy k X
(¯ uit − v¯it )ait = 0.
t=1
¯ ∈ B, ´ıgy az x ¯ pozit´ıv komponenseihez tartoz´o ai1 , . . . , aik oszlopvektorok De x line´ arisan f¨ uggetlen vektorrendszert alkotnak. Vegy¨ uk ´eszre, hogy a kapott kifejez´esben pontosan ezzel a vektorrendszerrel ´all´ıtjuk el˝o a 0-vektort. A line´aris f¨ uggetlens´eg 81
miatt a 0-vektornak csak a trivi´alis el˝o´all´ıt´asa l´etezik, ´ıgy u ¯it − v¯it = 0 (t = 1, . . . , k). ¯=v ¯ , ami ellentmond´ De akkor u as. K¨ovetkez´esk´epp B ⊆ C.
A bizony´ıtott tartalmaz´asokb´ ol B = C k¨ovetkezik. Vizsg´aljuk most B elemeinek ¯ 6= v ¯, u ¯, v ¯ ∈ B eset´en az u ¯ pozit´ıv koma sz´am´ at. Ehhez els˝ok´ent megmutatjuk, hogy u ¯ pozit´ıv kompoponenseihez tartoz´o A-beli oszlopvektorok rendszere k¨ ul¨onb¨ozik a v nenseihez tartoz´o vektorrendszert˝ ol, ha a k¨ ul¨onb¨oz˝o index˝ u vektorokat k¨ ul¨onb¨oz˝oknek ¯, tekintj¨ uk. Val´ oban, tegy¨ uk fel az ellenkez˝oj´et, azaz tegy¨ uk fel, hogy Pk mind az u ¯ vektorhoz az ai1 , . . . , aik vektorrendszer tartozik. Akkor t=1 u mind a v ¯it ait = b, Pk Pk ¯, v ¯ ∈ B, ez´ert ai1 , . . . , aik ¯it ait = b, amib˝ol t=1 (¯ uit − v¯it )ait = 0. Mivel u t=1 v line´ arisan f¨ uggetlen vektorrendszer. De akkor a 0-vektor ezen vektorokkal csak a ¯ 6= v ¯ trivi´ alis m´odon ´all´ıthat´ o el˝o, azaz u ¯it = v¯it (t = 1, . . . , k), ami ellentmond az u ¯ 6= v ¯, u ¯, v ¯ ∈ B eset´en u ¯ -hoz ´es v ¯ -hoz indexeikben feltev´esnek. K¨ovetkez´esk´epp, u k¨ ul¨ onb¨ oz˝ o line´arisan f¨ uggetlen vektorrendszerek tartoznak. M´asr´eszt az A m´atrixb´ ol kiv´ alaszthat´ o line´arisan f¨ uggetlen p´aronk´ent k¨ ul¨onb¨ ¡ ¢ ¡m¢ Pn´es indexeikben Ponz˝o vektorrendszerek sz´ama nem nagyobb, mint k=1 m . K¨ o vetkez´ e sk´ e pp, |B| ≤ k=1 k , azaz |B| k v´eges. Viszont ´ıgy C = B alapj´an C is v´eges, amivel ad´odik, hogy L konvex poli´eder.
Ezzel a 8.t´etel igazol´as´ at befejezt¨ uk. 82
A 8.t´ etel bizony´ as´ aval kapcsolatban megjegyezz¨ uk, hogy a bizony´ıt´as sor´an ¡m¢ ıt´ P n haszn´ alt konstans igen durva fels˝ o korl´ a t. Egyr´eszt ha {j1 , . . . , jr } ⊂ k=1 k {i1 , . . . , ik }, akkor az {aj1 , . . . , ajr } ´es {ai1 , . . . , aik } vektorrendszerek k¨oz¨ ul elegend˝o lenne venni a nagyobb elemsz´am´ ut (ld. 5.feladat), m´asr´eszt az oszlopvektorok egy ai1 , . . . , aik line´arisan f¨ uggetlen vektorrendszer´ ehez nem minden esetben l´eteznek olyan P k x ¯it > 0, (t = 1, . . . k) konstansok, amelyekre t=1 ait x ¯it = b teljes¨ ul. Az igazolt t´etelt illet˝oen term´eszetesen vet˝odik fel a k´erd´es, hogy mit ´all´ıthatunk a (2.8.2) feladat lehets´eges megold´asainak L halmaz´ar´ol ´altal´aban, azaz L korl´atoss´ ag´ anak kik¨ot´ese n´elk¨ ul. Erre a k´erd´esre ad v´alaszt a k¨ovetkez˝o ´all´ıt´as. 9.t´ etel. A (2.8.2) feladat lehets´eges megold´ asainak halmaz´ ara a k¨ ovetkez˝ o ´ all´ıt´ asok ´erv´enyesek: (1) L z´ art ´es konvex halmaz, (2) L-nek v´eges sok cs´ ucspontja van, (3) ha l´etezik a feladatnak optim´ alis megold´ asa, akkor a c´elf¨ uggv´eny felveszi a minimum´ at L valamely cs´ ucspontj´ aban. Bizony´ıt´ as. (1) k¨ovetkezik az 5.seg´edt´etelb˝ol. A (2) ´all´ıt´as ´erv´enyess´ege ad´odik a 8.t´etel bizony´ıt´ as´ ab´ ol. (3) igazol´as´ahoz tegy¨ uk fel, hogy l´etezik a feladatnak optim´ alis megold´asa. Akkor v´egrehajtva a (2.8.2) feladaton a lexikografikus szimplex algoritmust, v´eges l´ep´esben megkapunk egy optim´alis megold´ast. Ez az elj´ar´as utols´ o feladat´anak trivi´alis megold´asa, de akkor a 2.3 fejezet 4.t´etele alapj´an a b´ azisv´ altoz´ okhoz tartoz´o A-beli oszlopvektorokb´ol ´all´o m´atrix regul´aris. Ez viszont azt eredm´enyezi, hogy a tekintett megold´as pozit´ıv komponenseihez tartoz´o A-beli oszlopvektorok line´arisan f¨ uggetlen vektorrendszert alkotnak, ´ıgy ez a megold´as kiterjesztett ´ertelemben is b´azismegold´ as. De akkor ez a b´azismegold´as a 8.t´etel bizony´ıt´asa alapj´an egyben cs´ ucspontja is L-nek, amivel az ´all´ıt´ast igazoltuk. V´egezet¨ ul, a fejezet befejez´esek´ent megeml´ıtj¨ uk, hogy a fentiekben igazolt osszef¨ ¨ ugg´esek lehet˝ov´e teszik a szimplex algoritmus egy geometriai interpret´aci´oj´at. Az elj´ar´ as az L halmaz egy cs´ ucspontj´ab´ol indul, ´es minden egyes l´ep´es v´egrehajt´as´aval att´er¨ ´ unk egy szomsz´edos cs´ ucspontra. ´Igy az elj´ar´as egy, az L ´eleib˝ol ´all´o utat jel¨ol ki. Speci´alisan, ha ez az u ´t k¨or, akkor l´ep fel a cikliz´aci´o.
Feladatok
1. Adott a s´ıkon h´arom, nem egy egyenesre es˝o pont. Igazoljuk, hogy a tekintett pontok ¨osszes lehets´eges konvex line´aris kombin´aci´oinak halmaza megegyezik a h´arom pont ´altal meghat´arozott h´ aromsz¨ oggel.
83
´ azolva az egyes felt´eteleket kiel´eg´ıt˝o ponthalmazokat, hat´arozzuk meg rend2. Abr´ re a lehets´eges megold´ asok halmaz´at az al´abbi felt´etelrendszerekre vonatkoz´oan. −x +y ≤ 4 x +y ≤ 8 2x −y ≤ 4 2x−3y ≤ 0 0 ≤ x, 0 ≤ y
(a)
(b)
−x +y ≤ 3 y ≤5 −x−3y ≤ −6 0 ≤ x, 0 ≤ y
(c)
x −y ≤ −2 −y ≤ −4 x+10y ≤ 10 0 ≤ x, 0 ≤ y
3. Igazoljuk, hogy az Ax ≤ b, x ≥ 0 felt´eteleket kiel´eg´ıt˝o vektorok halmaza z´art ´es konvex. 4. Hat´arozzuk meg a k¨ovetkez˝o feladatok ¨osszes lehets´eges b´azismegold´asait: x1 (a)
x2
+x3 −2x4 = 5 x1 −x3 +x4 = 7 (b) xi ≥ 0 (i = 1, . . . , 4) ——————————– −x3 −x4 = z → min
+2x3 −3x4 = 3 x2 +3x3 −x4 = 4 xi ≥ 0 (i = 1, . . . 4) ———————————−x3 −2x4 = z → min
¯, v ¯ a (2.8.2) feladat 5. Igazoljuk, hogy amennyiben {j1 , . . . , jr } ⊂ {i1 , . . . , ik } ´es u ¯ pozit´ıv komponensei u ¯ pozit´ıv komponenolyan b´azismegold´ asai, hogy u ¯j1 , . . . , u ¯ jr , v ¯=v ¯. sei v¯i1 , . . . , v¯ik , akkor u 6. Ha x(1) , x(2) a (2.8.2) feladat optim´alis megold´asai, akkor szok´asos alternat´ıv optim´ alis megold´ asokr´ ol besz´elni. Igazoljuk, hogy amennyiben x(1) , . . . , x(k) alternat´ıv optim´ alis megold´asai a (2.8.2) feladatnak, akkor ezen megold´asok b´armely konvex line´ aris kombin´ aci´ oja is optim´alis megold´as. 7. Tegy¨ uk fel, hogy a (2.8.2) feladat lehets´eges megold´asainak halmaza korl´atos. A szimplex algoritmus haszn´alata n´elk¨ ul, a 7. ´es 8.t´eteleket felhaszn´alva, igazoljuk, hogy a c´elf¨ uggv´eny felveszi a minimum´at L valamely cs´ ucspontj´aban. 8. Igazoljuk, hogy az ai ∈ E n (i = 1, . . . , m) vektorok ´altal gener´alt K konvex k´ upra ´erv´enyesek a k¨ovetkez˝ o ´all´ıt´ asok: (1) K konvex halmaz, (2) 0 ∈ K, (3) ha a ∈ K, akkor tetsz˝oleges λ ≥ 0-ra λa ∈ K, (4) b´armely 1 ≤ i ≤ m indexre ai ∈ K. 2.9 Dualit´ as
Tetsz˝ oleges line´aris programoz´asi feladathoz hozz´arendelhet˝o egy m´asik line´aris programoz´ asi feladat, az illet˝o feladat du´alisa. A hozz´arendel´es rendelkezik az al´abbi tulajdons´agokkal: 84
(1) a du´alis feladatban is ugyanazon param´eterek szerepelnek, mint az indul´o feladatban, (2) a du´alis feladat du´alisa megegyezik az indul´o feladattal. A k¨oz¨ os adathalmazon defini´alhat´o k´et line´aris programoz´asi feladatot, ´es ezek szoros kapcsolat´at Neumann J´anos vetette fel 1947-ben. A k´es˝obbiekben Neumann felvet´eseib˝ol kiindulva D. Gale, H. W. Kuhn ´es A. W. Tucker dolgozt´ak ki a dualit´as elm´elet´et, ´es igazolt´ak a dualit´asi t´etelt. A bizony´ıt´asban alapvet˝o szerepet j´atszott Farkas Gyula, egy 1902-ben publik´alt eredm´enye, amely Farkas-f´ele lemma n´even v´alt ismertt´e. A tov´ abbiakban csak speci´alis esetre t´argyaljuk a feladatp´art. Nevezetesen, tekints¨ uk az al´abbi feladatot, amelyet prim´ al feladatnak nevez¨ unk. Ax ≤ b, x ≥ 0 ———————– cx = z(x) → max
(2.9.1)
A tekintett feladathoz tartoz´o du´ al feladaton a k¨ovetkez˝o probl´em´at ´ertj¨ uk: yA ≥ c, y ≥ 0 ———————– yb = w(y) → min
(2.9.2)
Fontosnak tartjuk megjegyezni, hogy a fenti feladatokban a b ´es c vektorokra egyel˝ore semmif´ele kik¨ot´est nem tesz¨ unk. Vizsg´ aljuk ezek ut´an a k´et feladat kapcsolat´at. Egy gyenge, de viszonylag k¨onnyen igazolhat´ o ¨osszef¨ ugg´est ad meg az al´abbi ´all´ıt´as, amelyet szok´asos a dualit´ asi t´etel gyenge alakj´ anak nevezni. ¯ lehets´eges megold´ ¯ lehets´eges 10.t´ etel. Ha x asa a prim´ al feladatnak ´es y megold´ asa a du´ al feladatnak, akkor z(¯ x) ≤ w(¯ y). olje LP a prim´al ´es LD a du´al feladat lehets´eges megold´asainak Bizony´ıt´ as. Jel¨ ¯ ∈ LP , ez´ert halmaz´ at. Mivel x m X ait x ¯t ≤ bi (i = 1, . . . , n). t=1
¯ ∈ LD , ´ıgy y¯i ≥ 0 (i = 1, . . . , n). De akkor M´ asr´eszt y m X ait x ¯t y¯i ≤ bi y¯i (i = 1, . . . , n). t=1
Most ¨osszegezve az egyenl˝ otlens´egek bal- ´es jobboldalain szerepl˝o mennyis´egeket, n X m X i=1 t=1
ait x ¯t y¯i ≤
n X
bi y¯i = w(¯ y).
i=1
Vizsg´ aljuk ezek ut´an a baloldali ¨osszeget. Ha az ait x ¯t y¯i elemet egy n × mes m´atrix (i, t) index˝ u elem´enek tekintj¨ uk, akkor a kifejez´es ezen m´atrix elemeinek osszege, m´egpedig el˝osz¨ ¨ or soronk´ent ¨osszegz¨ unk, majd a sor¨osszegeket adjuk ¨ossze. 85
Nyilv´ an ugyanezt az ¨osszeget kapjuk akkor, ha el˝osz¨or oszloponk´ent ¨osszegz¨ unk, majd az oszlop¨osszegeket adjuk ¨ossze. ´Igy n X m X
ait x ¯t y¯i =
i=1 t=1
m X n X
ait x ¯t y¯i =
t=1 i=1
m X t=1
x ¯t
n X
ait y¯i .
i=1
Most vegy¨ uk ´eszre, hogy a kapott kifejez´esben x ¯t egy¨ utthat´oja a du´alis feladat t-edik P n ¯ ∈ LD , ´ıgy egyenl˝ otlens´eg´enek baloldala. Mivel y ¯i ≥ ct (t = 1, . . . , m). i=1 ait y ¯ ∈ LP , amib˝ol x M´ asr´eszt x ¯t ≥ 0 (t = 1, . . . , m) k¨ovetkezik. De akkor
x ¯t
n X
ait y¯i ≥ ct x ¯t (t = 1, . . . , m) .
i=1
Ism´et ¨oszegezve a bal- ´es jobboldalakat, m X t=1
x ¯t
n X i=1
ait y¯i ≥
m X
ct x ¯t = z(¯ x).
t=1
Ezzel azt kaptuk, hogy a vizsg´alt ¨osszeg nem kisebb, mint z(¯ x), ´es ´ıgy z(¯ x) ≤ w(¯ y), amivel ad´odik az ´all´ıt´ as.
1.k¨ ovetkezm´ eny. Ha a prim´ al feladat c´elf¨ uggv´enye fel¨ ulr˝ ol nem korl´ atos a lehets´eges megold´ asok halmaz´ an, akkor a du´ al feladatnak nincsen lehets´eges megold´ asa. ¯ lehets´eges megold´asa lenne a Bizony´ıt´ as. Az ´all´ıt´ ast indirekt bizony´ıtjuk. Ha y ¯ ∈ LP -re z(¯ du´ alis feladatnak, akkor a 10.t´etel alapj´an tetsz˝oleges x x) ≤ w(¯ y) teljes¨ ulne. De akkor w(¯ y) fels˝o korl´ atja lenne a z(¯ x) (¯ x ∈ LP ) ´ert´ekeknek, ami ellentmond´ as. Teljesen hasonl´oan ad´odik a k¨ovetkez˝o ´all´ıt´as. 2.k¨ ovetkezm´ eny. Ha a du´ al feladat c´elf¨ uggv´enye alulr´ ol nem korl´ atos a lehets´eges megold´ asok halmaz´ an, akkor a prim´ al feladatnak nincsen lehets´eges megold´ asa. A 10.t´eteln´el er˝osebb ´all´ıt´ as is ´erv´enyes a feladatp´arra. Ezt az ´all´ıt´ast a m´ar eml´ıtett Farkas-f´ele lemma felhaszn´al´as´aval fogjuk igazolni. 86
6.seg´ edt´ etel (Farkas-f´ele lemma). Az yA = c egyenletrendszernek akkor ´es csak ¯ megold´ ¯ vektorra, akkor l´etezik nemnegat´ıv y asa, ha c¯ x ≥ 0 teljes¨ ul b´ armely olyan x amelyre A¯ x ≥ 0. ¯ A = c, y ¯ ≥ 0. Legyen Bizony´ıt´ as. Az elegend˝os´eg igazol´as´ahoz tegy¨ uk fel, hogy y ¯ tetsz˝oleges olyan vektor, amelyre A¯ ¯ nemnegativit´asa miatt y ¯ A¯ x x ≥ 0. Akkor y x ≥ 0. ¯ A = c egyenlet mindk´et oldal´at szorozva jobbr´ol x ¯ -sal, azt kapjuk, M´ asr´eszt az y ¯ A¯ hogy y x = c¯ x. ´Igy c¯ x ≥ 0, amivel a felt´etel elegend˝os´eg´et igazoltuk. ¯ vektorra A sz¨ uks´egess´eg igazol´as´ ahoz tegy¨ uk fel, hogy b´armely x (i) A¯ x ≥ 0 fenn´ all´ as´ ab´ ol c¯ x ≥ 0 k¨ovetkezik. ¯ ≥ 0 vektor, amelyre y ¯ A = c teljes¨ Megmutatjuk, hogy ez esetben van olyan y ul. ¯ ≥ 0, Az ´all´ıt´ ast indirekt bizony´ıtjuk. Ehhez tegy¨ uk fel, hogy nem l´etezik olyan y (1) ¯ A = c. Ez pontosan azt jelenti, hogy c nem eleme az A m´atrix a , . . . , a(n) amelyre y sorvektorai ´altal gener´alt K = {u : u = vA, v ≥ 0} konvex k´ upnak. Most a bizony´ıt´ ashoz felhaszn´aljuk azt a geometri´ab´ol ismert t´enyt, hogy c ∈ / K eset´en l´etezik K-nak olyan u0 eleme, amelyre c ´es u0 t´avols´aga minim´alis, azaz | c − u0 |= min | c − u | > 0 . u∈K
Megmutatjuk, hogy a K konvex k´ up tetsz˝oleges u elem´ere
(ii)
(c − u0 )(u − u0 ) ≤ 0
teljes¨ ul. (Ez azt jelenti, hogy a c−u0 ´es u−u0 vektorok tompasz¨oget vagy der´eksz¨oget z´ arnak be.) Az ut´obbi ´all´ıt´ ast is indirekt bizony´ıtjuk. Ha (ii) nem teljes¨ ul, akkor van ¯ ∈ K, amelyre olyan u
(iii)
(c − u0 )(¯ u − u0 ) > 0 .
¯ pontokat ¨osszek¨ot˝o szakasz egy tetsz˝oleges u(λ) = λ¯ Tekints¨ uk az u0 ´es u u + (1 − λ)u0 (0 < λ < 1) pontj´ at. Az el˝oz˝ oek alapj´an (2.8 fejezet 8.feladat) tudjuk, hogy u(λ) ∈ K. K´epezz¨ uk a c (λ) ´es u pontok t´avols´ ag´ anak n´egyzet´et. Akkor | c − u(λ) |2 =| c − λ¯ u − (1 − λ)u0 |2 =| (c − u0 ) − λ(¯ u − u 0 ) |2 = ¯ − u0 |2 . | c − u0 |2 −2λ(c − u0 )(¯ u − u0 ) + λ2 | u Vizsg´ aljuk most az al´abbi f (λ) f¨ uggv´enyt: ¯ − u 0 |2 . f (λ) = −2λ(c − u0 )(¯ u − u 0 ) + λ2 | u V´eve f (λ) deriv´altj´ at, 87
¯ − u0 |2 , f 0 (λ) = −2(c − u0 )(¯ u − u0 ) + 2λ | u f 0 (0) = −2(c − u0 )(¯ u − u0 ) . Mivel (iii) alapj´an (c − u0 )(¯ u − u0 ) > 0, ez´ert f 0 (0) < 0. M´asr´eszt f 0 (λ) folytonos, ´ıgy van olyan ε > 0, hogy | λ |< ε eset´en f 0 (λ) < 0. De akkor f (λ) a [0, ε) intervallumban szigor´ uan monoton cs¨okken˝ o. Viszont f (0) = 0, ´ıgy f (λ) < 0, ha 0 < λ < ε. Ezzel | c − u(λ) |2 =| c − u0 |2 +f (λ) alapj´an azt kapjuk, hogy 0 < λ < ε eset´en | c − u(λ) |2 <| c − u0 |2 . De u(λ) ∈ K, ´ıgy a kapott egyenl˝ otlens´eg teljes¨ ul´ese ellentmond u0 defin´ıci´oj´anak. K¨ovetkez´esk´epp ellentmond´ ashoz jutottunk, amivel igazoltuk (ii) fenn´all´as´at tetsz˝oleges u ∈ K vektorra. Mivel 0 ∈ K ´es 2u0 ∈ K, ez´ert (ii) alapj´an azt kapjuk, hogy (c − u0 )u0 ≥ 0 ´es (c − u0 )u0 ≤ 0, amivel (iv)
(c − u0 )u0 = 0
ad´ odik. A kapott egyenl˝ os´eg ´es (ii) alapj´an tetsz˝oleges u ∈ K vektorra 0 ≥ (c − u0 )(u − u0 ) = (c − u0 )u − (c − u0 )u0 = (c − u0 )u , azaz (u0 − c)u ≥ 0 . Most megmutatjuk, hogy az (u0 − c) vektorra nem teljes¨ ul (i). Ehhez els˝ok´ent (i) vegy¨ uk ´eszre, hogy az A m´atrix minden a (i = 1, . . . , n) sorvektora eleme K-nak. Mivel a kapott egyenl˝ otlens´eg minden u ∈ K-ra ´erv´enyes, ez´ert ad´odik, hogy a(i) (u0 − c) ≥ 0 (i = 1, . . . , n) , amivel azt kapjuk, hogy A(u0 − c) ≥ 0. M´asr´eszt (iv) felhaszn´al´as´aval c(u0 − c) = c(u0 − c) + (c − u0 )u0 = (u0 − c)(c − u0 ) = − | u0 − c |2 < 0 . ´Igy A(u0 −c) ≥ 0 ´es c(u0 −c) < 0, amivel ellentmond´ashoz jutottunk. K¨ovetkez´esk´epp ¯ ≥ 0, amelyre y ¯ A = c teljes¨ l´etezik olyan y ul, amivel a 6.seg´edt´etelt igazoltuk. A Farkas-f´ele lemm´aval kapcsolatban megjegyezz¨ uk, hogy nyilv´anval´o m´odon ´erv´enyben marad, ha A hely´ebe −A-t ´es egyidej˝ uleg c hely´ebe −c-t helyettes´ıt¨ unk. Ekkor az ´all´ıt´ as a k¨ovetkez˝ o form´aban mondhat´o ki: 88
¯ Az yA = c egyenletrendszernek akkor ´es csak akkor l´etezik nemnegat´ıv y ¯ vektorra, amelyre A¯ megold´ asa, ha c¯ x ≤ 0 teljes¨ ul b´ armely olyan x x ≤ 0. Ebben a form´aban haszn´aljuk fel a Farkas-f´ele lemm´at az al´abbi , er˝os dualit´asi t´etel n´even ismert ´all´ıt´ as igazol´as´ ara. 11.t´ etel. Ha a prim´ al, du´ al feladatok k¨ oz¨ ul valamelyiknek l´etezik optim´ alis megold´ asa, akkor mindk´et feladatnak l´etezik optim´ alis megold´ asa ´es az optimum´ert´ekek megegyeznek. uk fel, hogy a (2.9.1) prim´al feladatnak l´etezik optim´alis Bizony´ıt´ as. Tegy¨ megold´ asa. Jel¨olj¨ on egy optim´alis megold´ast x0 . Megmutatjuk, hogy ekkor a (2.9.2) feladatnak is l´etezik optim´alis megold´asa ´es az optimum´ert´ekek megegyeznek. Ennek igazol´ as´ ahoz tekints¨ uk az al´abbi egyenl˝otlens´egrendszert: Ax −tb −Ex −t
≤ 0 ≤ 0 ≤ 0
ahol E megfelel˝o m´eret˝ u egys´egm´ atrixot jel¨ol. Vezess¨ uk be a k¨ovetkez˝o jel¨ol´eseket: A −b ¯ = −E 0 , ¯ = ( c, −cx0 ) . A c 0 −1 µ ¶ ¯ x Meg fogjuk mutatni, hogy b´armely ¯ vektorra t (i)
µ ¶ ¯ ¯ x A ≤0 t¯
µ ¶ ¯ x ¯ ¯ ≤ 0 k¨ovetkezik. fenn´ all´as´ab´ol c t
¯ =c ¯. Irjuk fel ¯s-t ¯s = (¯ ¯, v ¯) Ekkor a 6.seg´edt´etel alapj´an van olyan ¯s ≥ 0, hogy ¯sA y, u ¯ ¯, u ¯, v ¯ komponenseinek a sz´ama megfelel az A blokkm´ereteinek. (¯ alakban, ahol y y-nak ¯ pedig egyetlen komponensb˝ol ´all.) Akkor annyi komponense van, mint b-nek, v A −b ¯ = (¯ ¯, v ¯ )A ¯, v ¯ ) −E 0 = c ¯ = (c, −cx0 ) , (¯ y, u y, u 0 −1 amib˝ ol ¯A − u ¯ E = c , −¯ y yb − v¯ = −cx0 , ¯ vektor egyetlen komponens´et jel¨oli. Mivel u ¯ ≥ 0, ez´ert az els˝o ahol v¯ a v ¯ A ≥ c ad´ ¯ ≥ 0, ´ıgy azt kapjuk, hogy y ¯ lehets´eges egyenl˝ otlens´egb˝ ol y odik. De y ¯ ≥ 0, azaz v¯ ≥ 0, ´ıgy a m´asodik megold´ asa a du´al feladatnak. M´asr´eszt v ¯ b ≤ cx0 . De a 10.t´etel alapj´an tudjuk, hogy cx0 ≤ y ¯ b, ´ıgy egyenl˝ otlens´egb˝ ol y ¯ b. Ebb˝ol ism´et a 10.t´etel alapj´an k¨ovetkezik, hogy a du´al feladat y ¯ lehets´eges cx0 = y 89
megold´ asa egyben optim´alis megold´as is. K¨ovetkez´esk´epp mindk´et feladatnak l´etezik ¯ b alapj´an az optimum´ert´ekek egyenl˝ok. optim´ alis megold´asa ´es cx0 = y Ezek ut´an igazolnunk unk µ ¶kell m´eg az (i) alatti ´all´ıt´as ´erv´enyess´eg´et. Ehhez tekints¨ ¯ x egy tetsz˝oleges olyan ¯ vektort, amelyre t µ ¶ ¯ ¯ x A ≤0 t¯
(ii)
µ ¶ ¯ x ¯ ¯ ≤ 0. Ehhez vegy¨ teljes¨ ul. Megmutatjuk, hogy ekkor c uk ´eszre, hogy (ii) alapj´an t t¯ ≥ 0. A t¯ ´ert´ek´et˝ ol f¨ ugg˝ oen k´et esetet k¨ ul¨onb¨oztet¨ unk meg. (1) Tegy¨ uk fel, hogy t¯ > 0. Akkor (ii) fenn´all´as´ab´ol A¯ x − t¯b ≤ 0, ´es ´ıgy A¯ x/t¯ ≤ b ¯ ≥ 0, ´ıgy x ¯ /t¯ lehets´eges megold´asa a (2.9.1) prim´al k¨ ovetkezik. Szint´en (ii) alapj´an x feladatnak. Mivel x0 optim´ alis megold´asa (2.9.1)-nek, ez´ert c¯ x/t¯ ≤ cx0 ,
c¯ x − cx0 t¯ ≤ 0 . µ ¶ ¯ x ¯ ¯ ≤ 0, amivel a t¯ > 0 esetre Az ut´obbi egyenl˝ otlens´eg pontosan azt jelenti, hogy c t igazoltuk az ´all´ıt´ ast. ¯ vektort. Akkor (ii) alapj´an (2) Tegy¨ uk fel, hogy t¯ = 0. Tekints¨ uk az x0 + x A¯ x − bt¯ ≤ 0, azaz A¯ x ≤ 0. M´asr´eszt x0 a (2.9.1) feladat optim´alis megold´asa, ¯ ) ≤ b. Mivel mindk´et vektor nemnegat´ıv, ez´ert ´ıgy Ax0 ≤ b. De akkor A(x0 + x ¯ ≥ 0. K¨ovetkez´esk´epp x0 + x ¯ lehets´eges megold´asa a (2.9.1) feladatnak. De x0 x0 + x optim´ alis megold´as, ´ıgy azaz
¯ ) = cx0 + c¯ c(x0 + x x ≤ cx0 . otlens´egb˝ ol c¯ x ≤ 0 k¨ovetkezik, de akkor c¯ x − t¯cx0 ≤ 0, azaz µ A¶ kapott egyenl˝ ¯ x ¯ ¯ ≤ 0, amivel a t¯ = 0 esetre is igazoltuk az ´all´ıt´ast. c t Ezzel a 11.t´etelt az egyik ir´anyban igazoltuk. A megford´ıt´as anal´og m´odon bizony´ıthat´ o. A 11.t´etellel kapcsolatban fontosnak tartjuk megjegyezni a k¨ovetkez˝oket: (a) A Farkas-f´ele lemma ekvivalens az er˝os dualit´asi t´etellel, azaz a 6.seg´edt´etel megadhat´ o a 11.t´etel k¨ovetkezm´enyek´ent. (Ennek megmutat´as´ara itt most nem t´er¨ unk ki.) (b) L´eteznek az er˝os dualit´asi t´etelnek olyan bizony´ıt´asai is, amelyek nem haszn´ alj´ ak fel a 6.seg´edt´etel ´all´ıt´ as´at. (c) Amint azt a fejezet elej´en eml´ıtett¨ uk, tetsz˝oleges line´aris programoz´asi feladathoz defini´alhat´ o az illet˝o feladat du´alisa. Ilyen ´altal´anos esetben is ´erv´enyes az er˝os dualit´ asi t´etel. 90
A prim´al-du´ al feladatp´ar kapcsolat´at felhaszn´alva 1954-ben C. E. Lemke kidolgozott egy elj´ar´ ast, a du´alis szimplex algoritmust, amellyel megoldhat´ok az al´abbi t´ıpus´ u feladatok. Ey + Ax = b, x ≥ 0, y ≥ 0, (c ≥ 0) ———————————————— cx = z → min
(2.9.3)
A fenti feladattal kapcsolatban vegy¨ uk ´eszre, hogy most a jobboldali b vektorra nincs el˝ o´ırva nemnegativit´as, hanem a c´elf¨ uggv´enyegy¨ utthat´ok c vektor´ar´ol k¨otj¨ uk ki ezt a tulajdons´agot. Du´ alis szimplex algoritmus 1.l´ep´es. Ha a tekintett feladat egyenleteinek jobboldala rendre nemnegat´ıv, akkor v´ege az elj´ar´ asnak, a feladat b´azismegold´asa optim´alis megold´as. Ellenkez˝o esetben a 2.l´ep´es k¨ovetkezik. 2.l´ep´es. Vegy¨ uk a negat´ıv bt -k minimum´at, ´es jel¨olje bk a minimummal megegyez˝ o bt -k k¨oz¨ ul a legkisebb index˝ ut. Ha aks ≥ 0 (s = 1, . . . , m), akkor v´ege az elj´ ar´ asnak, a tekintett feladatnak nincsen lehets´eges megold´asa. Ellenkez˝o esetben a 3.l´ep´es k¨ovetkezik. 3.l´ep´es. Ha min{cs /−aks : aks < 0, 1 ≤ s ≤ m} = cj1 /−akj1 = . . . = cjr /−akjr , akkor v´alasszuk az akjt (t = 1, . . . , r) elemek k¨oz¨ ul a legkisebb oszlopindex˝ ut gener´al´o elemnek, majd hajtsuk v´egre a 2.2 fejezet 2.t´etel´enek bizony´ıt´as´aban megadott atalak´ıt´ ´ asokat. Az el˝o´ all´ıtott u ´j feladattal folytassuk az elj´ar´ast az 1.l´ep´esn´el. Az algoritmust az al´abbi feladat megold´as´aval demonstr´aljuk. 8.p´elda. y1
+x1 −2x2 −3x3 −x4 = −2 y2 −x1 +2x2 +x3 −x4 = 3 y3 +x1 +x2 −x3 −2x4 = −2 yj ≥ 0 (j = 1, . . . , 3), xi ≥ 0 (i = 1, . . . , 4) ———————————————————— 2x1 +x2 +3x3 +x4 =z→ min
Az elj´ar´ ast a feladathoz tartoz´o szimplex t´abl´azaton fogjuk v´egrehajtani. Az indul´ o szimplex t´abl´ azat a k¨ovetkez˝o: y1
x1
x2
1
∗
y2 −1 y3
1
x3
x4
− 2 −3 −1 −2 2 1
1
−1
A jobboldalon k´et ´ert´ek negat´ıv, b1 ´es
3
b3 . Mindk´et ´ert´ek −2, ´es b1 k¨oz¨ ul¨ uk a
−1 −2 −2
minim´alis index˝ u. Mivel az els˝o sor h´a-
2 1 3 1 0 rom negat´ıv egy¨ utthat´ot tartalmaz, ez´ert min{cs / − a1s : a1s < 0, 1 ≤ s ≤ 4} = min{1/2, 3/3, 1/1} = 1/2. K¨ovetkez´esk´epp a12 lesz a gener´al´ o elem. V´egrehajtva az el˝o´ırt ´atalak´ıt´asokat, a k¨ovetkez˝o szimplex t´ abl´ azathoz jutunk. 91
x1
y1
x3
x4
x2
− 12
− 12
3 2
1 2
y2
0
1
−2 −2
y3
3 2 5 2
1 2 1 2
− 52 −∗ 52 −3
1
A jobboldalon m´eg mindig szerepel ne-
1
gat´ıv mennyis´eg, m´egpedig a harmadik
3 2
1 2
−1
x2 − 15 − 25
1
− 65 − 35 14 5
0
1 5 − 45 − 25 1 5
2 5 17 5 6 5 − 85
sorban. K´epezve a harmadik sorra a mi-
nimumot, a k¨ovetkez˝o ´ert´ekeket kapjuk: min{cs / − a3s : a3s < 0, 1 ≤ s ≤ 4} = min{3/5, 1/5} = 1/5. ´Igy a34 lesz a gener´al´o elem. V´egrehajtva a megfelel˝o ´atalak´ıt´asokat, a k¨ovetkez˝o szimplex t´abl´azathoz jutunk. x1 y1 x3 y3 A kapott t´abl´azatban minden jobboldali y2 x4
3 5 − 15 3 5
1 1
´ert´ek nemnegat´ıv, ´ıgy a feladat b´azismegold´asa egyben optim´alis megold´as. Te¯ = (0, 25 , 0, 65 ), y ¯ = (0, 17 h´at x 5 , 0) optim´alis megold´asa a feladatnak, az opti-
¯ ) = 8/5 mum ´ert´eke pedig z(¯ x, y Az elj´ ar´ as helyess´eg´enek igazol´ asa A 2.2 fejezet 2.t´etel´enek bizony´ıt´as´aban megadott ´atalak´ıt´asokr´ol a t´etel igazol´ asa sor´an bel´attuk, hogy a kiindul´asi feladattal ekvivalens feladatot eredm´enyeznek. K¨ ovetkez´esk´epp, az elj´ar´ as a (2.9.3) feladattal ekvivalens feladatok sorozat´at ´all´ıtja el˝ o. Szint´en az eml´ıtett t´etel bizony´ıt´as´ab´ol k¨ovetkezik, hogy az ´atalak´ıt´as ut´ani feladat sor- ´es oszlopcser´ekkel, a v´altoz´ok ´atjel¨ol´es´evel fel´ırhat´o (2.9.3) alakban, eltekintve az u ´j c vektor nemnegativit´as´at´ol. M´asr´eszt a gener´al´o elem v´alaszt´as´anak defin´ıci´ oj´ at felhaszn´alva, egyszer˝ u esetvizsg´alattal bel´athat´o, hogy az ´atalak´ıt´as a c vektor nemnegativit´as´ at nem v´altoztatja meg, azaz az el˝o´all´ıtott feladatsorozat c´elf¨ uggv´enyegy¨ utthat´ oi rendre nemnegat´ıvak (ld. 3.feladat). ´Igy, ha valamely l´ep´esben minden egyes jobboldal nemnegat´ıv, akkor ezen l´ep´eshez tartoz´ o feladat a (2.9.3) feladattal ekvivalens lehets´eges kanonikus alak´ u feladat. De akkor az 1.t´etel alapj´an a feladat b´azismegold´asa optim´alis megold´as. Ezek ut´an m´ar csak azt kell igazolnunk, hogy amennyiben bk < 0 ´es aks ≥ 0 (s = 1, . . . , m), akkor a feladatnak nincs lehets´eges megold´asa. Ez viszont nyilv´anval´ o, ugyanis ebben az esetben a k-adik egyenlet baloldali egy¨ utthat´oi rendre nemnegat´ıvak, az egyenlet jobboldala pedig negat´ıv, ´ıgy ennek az egyenletnek nincs nemnegat´ıv megold´asa. Az elj´ar´ as helyess´eg´enek fenti igazol´as´aban megel˝oz˝o bizony´ıt´asokra t´amaszkodtunk. Most megmutatjuk, hogy a du´alis szimplex algoritmus u ´gy is interpret´alhat´ o, mint a feladat du´alis´ an v´egrehajtott szimplex algoritmus. Az elj´ar´as ilyen megk¨ ozel´ıt´ese nagyban megk¨onny´ıti a v´egess´eg problematik´aj´anak kezel´es´et. A v´azoltak ´erdek´eben konstru´ aljuk meg a (2.9.3) feladathoz a k¨ovetkez˝o feladatot. (2.9.4)
Ax ≤ b, x ≥ 0 ———————– −cx = z(x) → max 92
A 2.1 fejezet vizsg´alatai alapj´an tudjuk, hogy a (2.9.3) ´es (2.9.4) feladatoknak egyidej˝ uleg l´etezik optim´alis megold´asa, ´es az optim´alis megold´asok k¨ozvetlen¨ ul sz´ armaztathat´ ok egym´asb´ ol. M´asr´eszt vegy¨ uk ´eszre, hogy (2.9.4) egy prim´al feladat. Ezen feladat du´alisa: yA ≥ −c, y ≥ 0 ———————– yb = w(y) → min
(2.9.5)
Megszorozva a felt´etelrendszer egyenl˝otlens´egeit rendre −1-gyel, a (2.9.5) feladattal ekvivalens al´abbi feladathoz jutunk. −yA ≤ c, y ≥ 0 ———————– yb = w(y) → min
(2.9.6)
Most konstru´ aljuk meg (2.9.6)-hoz a k¨ovetkez˝o feladatot: Ex − yA = c, x ≥ 0, y ≥ 0 —————————————yb = w → min
(2.9.7)
A 2.1 fejezet alapj´an tudjuk, hogy a (2.9.6) ´es (2.9.7) feladatoknak egyidej˝ uleg l´etezik optim´alis megold´asa, ´es az optim´alis megold´asok k¨ozvetlen¨ ul sz´armaztathat´ok egym´ asb´ ol. M´asr´eszt vegy¨ uk ´eszre, hogy a c ≥ 0 felt´etel mellett (2.9.7) egy lehets´eges kanonikus alak´ u feladat. Vizsg´ aljuk most a (2.9.3) ´es (2.9.7) feladatok szimplex t´abl´azatait, x y
A
y b
x
c
−AT
c
b
ahol AT az A m´atrix transzpon´altj´at jel¨oli. A k´et szimplex t´abl´azat ugyanazon v´altoz´ okat ´es ugyanazon adatokat tartalmazza, csak elrendez´esbeli ´es el˝ojelbeli az elt´er´es. Egyszer˝ u sz´amol´ assal bel´athat´o, hogy aij -t v´alasztva gener´al´o elemnek, ´es mindk´et szimplex t´abl´ azaton v´egrehajtva a szimplex algoritmusnak megfelel˝o atalak´ıt´ ´ asokat, az el˝o´ all´ o szimplex t´abl´azatok is rendelkeznek ezzel a tulajdons´aggal. Ez viszont azt jelenti, hogy (a) v´egrehajtva a (2.9.3) feladaton a du´alis szimplex algoritmus egy transzform´ aci´ os l´ep´es´et, ez megfelel egy, a (2.9.7) feladaton v´egrehajtott transzform´aci´os l´ep´esnek, ´es az el˝o´ all´ o szimplex t´abl´azatok k¨ozvetlen¨ ul fel´ırhat´ok egym´asb´ol. (b) v´egrehajtva a szimplex algoritmus egy transzform´aci´os l´ep´es´et a (2.9.7) feladaton, ez megfelel egy, a (2.9.3) feladaton v´egrehajtott transzform´aci´os l´ep´esnek, ´es az el˝o´ all´ o szimplex t´abl´ azatok k¨ozvetlen¨ ul fel´ırhat´ok egym´asb´ol. A fentiek alapj´an vegy¨ uk ´eszre a k¨ovetkez˝oket. A c´elf¨ uggv´enyegy¨ utthat´ok nemnegativit´ asa biztos´ıtja, hogy a (2.9.7) feladat lehets´eges kanonikus alak´ u. ´Igy, v´egrehajtva (2.9.7)-en a szimplex algoritmust, az elj´ar´as (2.9.7)-tel ekvialens, lehets´eges kanonikus alak´ u feladatokon fut v´egig. M´asr´eszt (b) alapj´an a (2.9.7) feladat szimplex t´abl´ azat´ an v´egrehajt´asra ker¨ ul˝o m˝ uveletek ´atfogalmazhat´ok (2.9.3) szimplex 93
t´ abl´ azat´ ara, ´es ezen ´atfogalmaz´ assal egy, a (2.9.3) feladaton v´egrehajtott elj´ar´ashoz jutunk. Viszonylag egyszer˝ uen bel´athat´o, hogy ez az ´atfogalmazott elj´ar´as pontosan a du´alis szimplex algoritmust eredm´enyezi. A feladatp´ar szimult´ an megold´as´anak bemutat´as´ara tekints¨ uk az al´abbi prim´aldu´al feladatp´art. y1 +2y2 ≥ 0 y1 −y2 ≥ −1 −2y1 +y2 ≥ −2 yj ≥ 0 (j = 1, 2) —————————−2y1 −4y2 = w→ min
x1 +x2 −2x3 ≤ −2 2x1 −x2 +x3 ≤ −4 xi ≥ 0 (i = 1, 2, 3) ——————————−x2 −2x3 = z→ max
´Irjuk fel a feladatokhoz tartoz´o (2.9.3) ´es (2.9.7) t´ıpus´ u feladatokat. (I) (II) x1 y1
+x1 +x2 −2x3 = −2 y2 +2x1 −x2 +x3 = −4 x ≥ 0, y ≥ 0 —————————————– x2 +2x3 = z → min
−y1 −2y2 = 0 x2 −y1 +y2 = 1 x3 +2y1 −y2 = 2 x ≥ 0, y ≥ 0 ————————————— −2y1 −4y2 = w→ min
Mivel c ≥ 0, ez´ert az (I) feladatra alkalmazhatjuk a du´alis szimplex algoritmust. A feladatokhoz a k¨ ovetkez˝ o szimplex t´abl´azatok tartoznak: y1 y2
x1 1 2 0
x2 1 −∗ 1 1
x3 −2 1 2
−2 −4 0
x1 x2 x3
y1 −1 −1 2 −2
y2 −2 ∗ 1 −1 −4
0 1 2 0
A du´alis szimplex algoritmus szerint az (I) feladathoz tartoz´o t´abl´azatban a22 lesz a gener´al´ o elem. Figyelj¨ uk meg, hogy a (II) feladat lehets´eges kanonikus alak´ u, ´es a szimplex algoritmus szerint gener´al´o elemet v´alasztva, szint´en a22 ad´odik gener´al´ o elemnek. Most mindk´et feladaton v´egrehajtva a transzform´aci´os l´ep´est, az al´abbi szimplex t´abl´ azatokat kapjuk: y1 x2
x1 3 −2 2
y2 1 −1 1
x3 −∗ 1 −1 3
−6 4 −4
x1 y2 x3
y1 −3 −1 ∗ 1 −6
x2 2 1 1 4
2 1 3 4
Az els˝o t´abl´ azatban a du´alis szimplex algoritmus szerint a13 , m´ıg a m´asodik szimplex t´abl´ azatban a szimplex algoritmus szerint szint´en a13 lesz a gener´al´o elem. (A m´ asodik t´abl´ azatban az A m´atrix transzpon´altja szerepel, ´ıgy a kijel¨olt elem indexe val´ oban (1,3).) Mindk´et t´abl´ azaton v´egrehajtva a transzform´aci´os l´ep´est, a k¨ovetkez˝o szimplex t´abl´ azatokat kapjuk: 94
x3 x2
x1 −3 −5 11
y2 −1 −2 4
y1 −1 −1 3
6 10 −22
x1 y2 y1
x3 3 1 1 6
x2 5 2 1 10
11 4 3 22
Az el˝o´ all´ıtott t´abl´ azatokban mind a c´elf¨ uggv´enyegy¨ utthat´ok, mind a jobboldalak nemnegat´ıvak, ´ıgy a du´alis szimplex algoritmus szerint az els˝o t´abl´azathoz tartoz´o x ¯2 = 10, x ¯3 = 6, x ¯1 = y¯1 = y¯2 = 0 b´azismegold´as az (I) feladat optim´alis megold´ asa, ugyanakkor a szimplex algoritmus szerint a m´asodik t´abl´azathoz tartoz´o x∗1 = 11, y1∗ = 3, y2∗ = 4, x∗2 = x∗3 = 0 b´azismegold´as pedig a (II) feladat optim´ alis megold´asa. (Figyelj¨ uk meg, hogy a kapott megold´asok leolvashat´ok b´armelyik ¯ = (0, 10, 6) a prim´al t´ abl´ azatb´ ol.) M´asr´eszt a 2.1 fejezet alapj´an azt is tudjuk, hogy x ∗ ´es y = (3, 4) a du´al feladat optim´alis megold´asai. A fenti p´elda igen szeml´eletesen mutatja, hogy a szimplex t´abl´azatok rendre ugyanazon adatokat tartalmazz´ak, ´ıgy a (II) feladat optim´alis megold´as´at is megkapjuk, ha az (I) feladaton v´egrehajtjuk a du´alis szimplex algoritmust. A du´ alis szimplex algoritmus v´egess´ege Mivel az elj´ar´ as u ´gy tekinthet˝ o, mint a megfelel˝o du´alis feladaton (eset¨ unkben a (2.9.7) feladat) v´egrehajtott szimplex algoritmus, ez´ert enn´el az elj´ar´asn´al is fell´ephet a cikliz´aci´o. Nyilv´anval´ oan, ha a du´alis feladatra a szimplex algoritmusnak egy olyan v´ altozat´ at alkalmazzuk, amely v´eges, akkor az ezen elj´ar´asra ´ep¨ ul˝o du´alis szimplex algoritmus is v´eges lesz. ´Igy az ismertetett technik´ak (lexikografikus, Wolfe-f´ele, Blandf´ele v´altozatok) k¨oz¨ ul b´armelyiket alkalmazva a du´alis feladatra, a megfelel˝o du´alis szimplex algoritmus v´eges lesz. A fejezet befejez´esek´ent c´elszer˝ u hangs´ ulyozni, hogy a du´alis szimplex algoritmus nem egy tov´ abbi v´altozata a szimplex algoritmusnak. Am´ıg az el˝oz˝o fejezetekben megismert v´altozatok k¨oz¨ os tulajdons´aga, hogy alkalmazhat´os´aguk felt´etele ugyanaz (a feladat lehets´eges kanonikus alak´ u), addig a du´alis szimplex algoritmust m´as felt´etelek mellett alkalmazhatjuk. Most a prim´al-du´al feladatp´ar vonatkoz´as´aban mindk´et algoritmusra ¨osszegezz¨ uk az alkalmazhat´os´ ag felt´etel´et. Ha a (2.9.1) feladatban b ≥ 0, akkor az y1 , . . . , yn k¨ ul¨onbs´egv´altoz´ok bevezet´es´evel ´es egyenl˝ os´egekre val´ o ´att´er´essel el˝o´all´ıtott feladat lehets´eges kanonikus alak´ u, ´es ´ıgy megoldhat´o szimplex algoritmussal. A szimplex algoritmusnak megfelel a (2.9.2) feladathoz konstru´ alt (2.9.7) t´ıpus´ u feladaton v´egrehajthat´o du´alis szimplex algoritmus. Mivel a k´et algoritmus szimplex t´abl´azatai k¨oz¨ott csak elrendez´esbeli ´es el˝ ojelbeli k¨ ul¨ onbs´egek vannak, ez´ert a szimplex algoritmus v´eg´en kapott t´abl´azatb´ol leolvashat´ o (2.9.7) optim´alis megold´as is u ´gy, hogy a t´abl´azat fels˝o sor´aban szerepl˝o yt v´altoz´ ok ´ert´eke rendre az oszlopukban l´ev˝o c´elf¨ uggv´enyegy¨ utthat´o, a t¨obbi v´altoz´o ´ert´eke pedig 0. A kapott optim´alis megold´asokb´ol a 2.1 fejezetben megismertek alapj´an meghat´ arozhat´ ok a (2.9.1) ´es (2.9.2) feladatok optim´alis megold´asai. 95
Ha a (2.9.1) feladatban c ≤ 0, akkor ´att´erve minimum feladatra, ´es bevezetve az y1 , . . . , yn k¨ ul¨ onbs´egv´ altoz´ okat, valamint ´att´erve egyenl˝os´egekre, egy (2.9.3) t´ıpus´ u feladatot kapunk. (A c´elf¨ uggv´enyben c helyett −c szerepel.) Mivel ebben a feladatban a c´elf¨ uggv´enyegy¨ utthat´ ok nemnegat´ıvak, ez´ert alkalmazhatjuk a du´alis szimplex algoritmust. Ennek megfelel a (2.9.2) feladathoz konstru´alt (2.9.7) t´ıpus´ u feladaton (a jobboldali vektor −c) v´egrehajthat´o a szimplex algoritmus. Mivel a k´et algoritmus szimplex t´abl´ azatai k¨oz¨ ott csak elrendez´esbeli ´es el˝ojelbeli k¨ ul¨onbs´egek vannak, ez´ert a du´alis szimplex algoritmus v´eg´en kapott t´abl´azatb´ol leolvashat´o (2.9.7) optim´alis megold´ as is u ´gy, hogy a t´abl´ azat fels˝o sor´aban szerepl˝o yt v´altoz´ok ´ert´eke rendre az oszlopukban l´ev˝ o c´elf¨ uggv´enyegy¨ utthat´o, a t¨obbi v´altoz´o ´ert´eke pedig 0. A kapott optim´ alis megold´asokb´ ol a 2.1 fejezetben megismertek alapj´an meghat´arozhat´ok a (2.9.1) ´es (2.9.2) feladatok optim´alis megold´asai. Term´eszetesen a m´asodik esethez tartoz´o feladatok, alkalmas standard feladatra t¨ort´en˝ o visszavezet´es ut´an, megoldhat´ok szimplex m´odszerrel is. Enn´el nyilv´an egyszer˝ ubb a du´alis szimplex algoritmussal t¨ort´en˝o megold´as, ami alapvet˝o eszk¨oz lesz a k¨ovetkez˝ o fejezetben, az eg´esz´ert´ek˝ u programoz´asi feladatok vizsg´alat´an´al.
Feladatok
1. Az al´abbi prim´al feladathoz konstru´aljuk meg a du´alis feladatot. Rendre abr´ ´ azoljuk az egyes egyenl˝ otlens´egeket kiel´eg´ıt˝o ponthalmazokat, ´es ezek seg´ıts´eg´evel hat´ arozzuk meg mindk´et feladat lehets´eges megold´asainak halmaz´at. Ezek ismeret´eben hat´arozzuk meg az optim´alis megold´asokat, ´es vess¨ uk ¨ossze az optimum´ert´ekeket. x1 +x2 ≤ 5 x1 −x2 ≤ 2 x1 , x2 ≥ 0 ———————— 2x1 +x2 = z→ max 2. Hat´arozzuk meg az al´abbi prim´al feladat lehets´eges megold´asainak halmaz´at, ´es igazoljuk, hogy a c´elf¨ uggv´eny fel¨ ulr˝ol nem korl´atos ezen a halmazon. A 10.t´etel 1.k¨ ovetkezm´eny´enek demonstr´al´ as´ara konstru´aljuk meg a feladathoz tartoz´o du´alis feladatot, ´es hat´arozzuk meg ezen feladat lehets´eges megold´asainak halmaz´at. −x1 +x2 ≤ 3 x1 −x2 ≤ 0 x1 , x2 ≥ 0 ———————— x1 +x2 = z→ max 96
3. A 2.2 fejezet 2.t´etele bizony´ıt´as´anak anal´ogi´aj´ara igazoljuk, hogy amennyiben a (2.9.3) feladatban bi < 0 ´es min{cs / − ais : ais < 0, 1 ≤ s ≤ m} = cj /aij , akkor a −aij elemet gener´al´ o elemnek v´alasztva ´es v´egrehajtva a 2.t´eteln´el megadott ´atalak´ıt´asokat, az el˝o´ all´ ou ´j feladat minden c´elf¨ uggv´enyegy¨ utthat´oja ism´et nemnegat´ıv. 4. Oldjuk meg du´alis szimplex algoritmus alkalmaz´as´aval a k¨ovetkez˝o feladatokat: y1
+x2 −6x3 = −2 y2 −x2 −2x3 = −1 x ≥ 0, y ≥ 0 ———————————————— 5x1 +21x3 = z→ min
(a)
−x1 −x1
x1 +x2 −x3 ≥ 2 2x1 −x2 +x3 ≥ 4 xi ≥ 0, (i = 1, 2, 3) ———————————– 3x1 +x2 +x3 = z→ min
(b)
y1 (c)
y2 y3
+x1 −x2 −2x3 +x4 = −2 −2x1 +x2 +3x3 −x4 = 0 −x1 −2x2 −x3 +2x4 = −4 xi ≥ 0, (i = 1, 2, 3) , y1 ≥ 0, y2 ≥ 0, ——————————————— 2x1 +3x2 +x3 +2x4 = z→ min
2.10 Eg´ esz´ ert´ ek˝ u programoz´ as
A gyakorlati ´elet sz´amos probl´em´aja olyan optimumsz´am´ıt´asi modellel ´ırhat´o le, amelyekben a v´altoz´ ok egy r´esze, esetleg minden v´altoz´o csak eg´esz ´ert´ekeket vehet fel. Az ut´obbi esetben szok´asos eg´esz´ert´ek˝ u programoz´ asr´ ol besz´elni. A tov´abbiakban ennek csak egy speci´alis eset´evel, a line´aris modellekkel foglalkozunk. Ezen bel¨ ul els˝ ok´ent az al´abbi t´ıpus´ u feladatokat vizsg´aljuk. (2.10.1)
Ax ≤ b, x ≥ 0 & x eg´esz ——————————— α + cx = z(x) → min
´es felt´etelezz¨ uk, hogy (1) A, b, c, α rendre eg´eszek, (2) b ≥ 0, (3) a lehets´eges megold´asok L∗ halmaza korl´atos. A felt´etelekkel kapcsolatban fontosnak tartjuk megjegyezni a k¨ovetkez˝oket: 97
(a) Az (1) felt´etel teljes¨ ul´ese el´erhet˝o akkor is, ha a vizsg´alt feladat egy¨ utthat´ oi racion´ alisak. Ez esetben a nevez˝ ok abszol´ ut´ert´ekeinek legkisebb k¨oz¨os t¨obbsz¨or¨os´evel megszorozva minden egyenl˝ otlens´eget, a lehets´eges megold´asok halmaza nem v´altozik, tov´abb´ a ugyanezen konstanssal megszorozva a c´elf¨ uggv´eny egyenlet´et, a k´et c´elf¨ ugg´ v´enynek ugyanazon pontok lesznek a minimumhelyei. Igy a racion´alis egy¨ utthat´okat tartalmaz´ o feladat az optim´alis megold´as l´etez´es´et ´es meghat´aroz´as´at illet˝oen visszavezethet˝ o a (2.10.1) feladatra. Pm (b) Az L∗ halmaz korl´ atoss´ aga biztos´ıthat´o egy j=1 xj ≤ M t´ıpus´ u felt´etellel, ami a gyakorlati probl´em´ ak z¨om´en´el teljes¨ ul, azaz l´etezik ilyen M konstans, ´es viszonylag k¨onnyen meghat´arozhat´ o. A tov´abbiak egyszer˝ us´ıt´es´enek ´erdek´eben feltessz¨ uk, ∗ hogy L korl´ atoss´ aga egy ilyen felt´etellel van biztos´ıtva. (c) A (3) felt´etelb˝ ol k¨ovetkezik, hogy L∗ v´eges. M´asr´eszt a 0 vektor lehets´eges megold´ asa a feladatnak. ´Igy az adott felt´etelek mellett a (2.10.1) feladatnak mindig l´etezik optim´alis megold´asa. Az eg´esz´ert´ek˝ u probl´ema szeml´eltet´es´ehez tekints¨ uk a k¨ovetkez˝o feladatot:
−x1 +3x2 ≤ 6 x1 +2x2 ≤ 7 x1
−x2 ≤ 3
x1
+x2 ≤ 8
x1 , x2 ≥ 0 , x1 ´es x2 eg´esz —————————−2x1 −x2 = z→ min
´ azolva a 2-dimenzi´os t´erben az egyes egyenl˝otlens´egeket kiel´eg´ıt˝o pontokb´ Abr´ ol all´ ´ o f´els´ıkokat, ´es v´eve ezek k¨oz¨ os r´esz´et a nemnegat´ıv koordin´at´aj´ u pontokat tartalmaz´ o t´ernegyedben, megkapjuk azon pontok L halmaz´at, amelyek a feladat minden egyenl˝ otlens´eg´et kiel´eg´ıtik.
98
(Az ´abr´ an a f´els´ıkok sorsz´amoz´ asa az egyenl˝otlens´egek sorrendj´et k¨oveti.) Ezen L halx2
maz eg´esz koordin´at´aj´ u pontjai ´es csak ezek a pontok el´eg´ıtik ki a feladat felt´etelrendszer´et. ´Igy L∗ az ´abr´an karik´ak-
◦
◦
◦
◦
◦
◦
◦
◦
kal megjel¨olt 13 pontb´ol ´all. Ezek k¨o◦
z¨ ul a (4, 1) ponthoz tartozik a leg-
◦——◦——◦——◦———— x1
kisebb c´elf¨ uggv´eny´ert´ek, ´ıgy ez a pont
a feladat optim´alis megold´ asa, az optimum ´ert´eke pedig −9. A p´eld´ ahoz kapcsol´odva vegy¨ uk ´eszre, hogy a megold´as sor´an el˝osz¨or L-et hat´ aroztuk meg , majd vett¨ uk L eg´esz koordin´at´aj´ u pontjait, ´es ´ıgy jutottunk az L∗ halmazhoz. Ez nyilv´ anval´ oan ´altal´anos esetben is ´erv´enyes. K¨ovetkez´esk´epp, c´elszer˝ unek t˝ unik (2.10.1)-hez megkonstru´alni az al´abbi feladatot, amelyet szok´asos a (2.10.1)-hez tartoz´ o folytonos feladatnak nevezni. Ax ≤ b, x ≥ 0 (2.10.2) —————————– α + cx = z(x) → min Pm Jel¨ olje ezen feladat lehets´eges megold´asainak halmaz´at L. Akkor a j=1 xj ≤ M felt´etel miatt L korl´ atos, tov´ abb´ a 0 ∈ L, ´ıgy a (2.10.2) feladatnak az adott felt´etelek mellett mindig l´etezik optim´ alis megold´asa. M´asr´eszt nyilv´anv´al´o, hogy (i) L∗ ⊆ L, ¯ optim´alis megold´asa eg´esz, akkor x ¯ optim´alis megold´asa (ii) ha a (2.10.2) feladat x a (2.10.1) feladatnak is. Visszat´erve a vizsg´alt probl´em´ ahoz, a megfelel˝o folytonos feladat optim´alis megold´ asa (13/3, 4/3), ´ıgy (ii)-t nem alkalmazhatjuk. Azonban, ha kerek´ıtj¨ uk a koordin´at´ akat, akkor megkapjuk az eg´esz´ert´ek˝ u feladat optim´alis megold´as´at. Ennek kapcs´an felvet˝ odik a k¨ovetkez˝ o k´erd´es: a folytonos feladat megold´ as´ aval ´es a kapott optim´ alis megold´ as kerek´ıt´es´evel megkaphatjuk-e a (2.10.1) feladat optim´ alis megold´ as´ at? A k´erd´esre tagad´o a v´alasz. Mind az optimum´ert´ekek, mind az optim´alis megold´ asok t´avols´ ag´ at illet˝oen b´armilyen r¨ogz´ıtett elt´er´eshez konstru´alhat´o alkalmas feladatp´ ar. Ezt egy p´eld´ aval szeml´eltetj¨ uk. Egyszer˝ uen bel´athat´o (ld. 3.feladat), hogy tetsz˝ oleges k ≥ 3 eg´eszre, v´eve a −(k 2 +1)x1 +kx2 ≤ 0 (k 2 − 1)x1 −kx2 ≤ 0 x1 +x2 ≤ 2k + 1 xi ≥ 0 & xi eg´esz (i = 1, 2) —————————————−x1 −x2 = z(x)→ min ∗ feladatot, L = {(0, 0), (1, k)}, ´es ´ıgy az optim´alis megold´as (1, k), az optimum ´ert´eke pedig −(k + 1). M´asr´eszt a folytonos feladat egy optim´alis megold´asa a k¨ovetkez˝ o: 99
(2 − 1/(k + 1), 2k − k/(k + 1)). Az optimum ´ert´eke ez esetben: −2k − 1. De akkor az optimum´ert´ekek elt´er´ese k, a k´et optim´alis megold´as t´avols´aga pedig nem kisebb, mint k − 1. A vizsg´alt p´elda igen szeml´eletesen mutatja, hogy a folytonos feladat optim´alis megold´ as´ ab´ ol olyan egyszer˝ u eszk¨oz¨okkel, mint a kerek´ıt´es, nem hat´arozhat´o meg az eg´esz´ert´ek˝ u feladat optim´alis megold´asa. Eredm´enyesnek bizonyult viszont a folytonos feladatok k¨ovetkez˝o felhaszn´al´asa. ¯ optim´alis megold´asa nem eg´esz, akkor b˝ov´ıts¨ Ha a folytonos feladat x uk a feladat ¯ nem el´eg´ıt ki, de L∗ minden felt´etelrendszer´et egy tov´ abbi olyan felt´etellel, amelyet x pontja kiel´eg´ıt. ´Igy eg´esz megold´ast nem vesz´ıt¨ unk el, ´es az u ´j folytonos feladatra att´erve, egy iter´aci´ ´ os elj´ar´ ashoz jutunk. A v´azolt technik´ at az els˝ok´ent vizsg´alt p´eld´an mutatjuk be. A folytonos feladat optim´ alis megold´asa: (13/3, 4/3). Tov´abbi felt´etelk´ent vegy¨ uk fel az x1 ≤ 4 felt´etelt. x2
(Az ´abr´an a megfelel˝o f´els´ık hat´arol´o egyenes´et szaggatott vonallal jel¨olt¨ uk.) Az u ´j felt´etelt a (13/3, 4/3) pont nem
◦
◦
◦
◦
◦
◦
◦
◦
el´eg´ıti ki, de L∗ minden egyes pontj´ara ◦
teljes¨ ul ez a felt´etel. Most megoldva a
◦——◦——◦——◦———— x1
kib˝ovitett folytonos feladatot, az opti-
m´ alis megold´as: (4, 3/2), ami m´eg mindig nem eg´esz. Tov´abb b˝ov´ıtve felt´etelrendszex2
r¨ unket az x1 + x2 ≤ 5 felt´etellel, azt kapjuk, hogy az el˝o´all´ıtott folytonos feladat optim´alis megold´asa: (4, 1),
◦
◦
◦
◦
◦
◦
◦
◦
ami nyilv´anval´oan optim´alis megold´asa ◦
lesz a kiindul´asi eg´esz´ert´ek˝ u feladat-
◦——◦——◦——◦———— x1
nak. A megfelel˝o optimum´ert´ek: −9.
L´enyeg´eben az elj´ar´ as sor´an a lehets´eges megold´asok L halmaz´ab´ol lemetsz¨ unk olyan darabokat, amelyek nem tartalmaznak eg´esz koordin´at´aj´ u pontokat. Ebb˝ol ad´od´ oan a v´azolt technik´ at szok´asos metsz´esi m´ odszernek vagy metsz˝ o s´ıkok m´ odszer´enek, a metsz´eseket realiz´al´ o felt´eteleket pedig metszeteknek nevezni. Az els˝o v´eges metsz´esi elj´ar´ ast R. E. Gomory publik´alta 1958-ban. Ezt k¨ovet˝oen sz´ amos k¨ ul¨ onb¨ oz˝ o metsz´esi elj´ar´ as ker¨ ult kidolgoz´asra. A tov´abbiakban k´et ilyen algoritmussal fogunk megismerkedni. Els˝ok´ent Gomory 1958-as elj´ar´as´anak egy egyszer˝ us´ıtett v´altozat´ at ismertetj¨ uk. Ennek kapcs´an haszn´alni fogjuk az al´abbi fogalmakat ´es jel¨ol´eseket. A d val´ os sz´am eg´esz r´esz´en a d-n´el nem nagyobb eg´esz sz´amok maximum´ at ´ertj¨ uk, amit [d]-vel jel¨ol¨ unk. P´eld´aul [5/4] = 1, [−5/4] = −2. 100
A d sz´ am t¨ ortr´esz´enek a d − [d] mennyis´eget nevezz¨ uk, amelyet t(d)-vel fogunk jel¨ olni. P´eld´ aul t(5/4) = 1/4, t(−5/4) = 3/4. A t¨ortr´esz defin´ıci´oj´ab´ol k¨ovetkezik, hogy b´armely d-re 0 ≤ t(d) < 1 teljes¨ ul. V´egezet¨ ul tetsz˝oleges d1 x1 + . . . + dm xm ≤ f egyenl˝ otlens´egre, az illet˝o egyenl˝ otlens´eg Gomory-f´ele metszet´enek nevezz¨ uk a t(d1 )x1 + . . . + t(dm )xm ≥ t(f ) egyenl˝ otlens´eget. A bevezetett metszet fogalom alkalmass´ag´anak vizsg´alat´ahoz tekints¨ uk a (2.10.2) feladatot. A 2.1 fejezet alapj´an tudjuk, hogy az optim´alis megold´as l´etez´es´et ´es meghat´ aroz´ as´ at illet˝oen (2.10.2) visszavezethet˝o az al´abbi feladatra: Ey + Ax = b, x ≥ 0, y ≥ 0 ————————————— α + cx = z → min
(2.10.3)
Nyilv´ anval´ o, hogy az adott felt´etelek mellett mindk´et feladatnak l´etezik optim´alis megold´ asa. Ezen k´ıv¨ ul igen fontos m´eg a k¨ovetkez˝o ´eszrev´etel, amely egyszer˝ uen ad´ odik az (1) felt´etelb˝ ol: ˜ ) lehets´eges megold´asa a (2.10.3) feladatnak ´es x ˜ eg´esz, akkor y ˜ is (4) Ha (˜ y, x eg´esz. Oldjuk meg ezek ut´an a (2.10.3) feladatot szimplex algoritmussal, ´es tegy¨ uk fel, ¯ ) optim´alis megold´as nem eg´esz. Akkor (4) alapj´an van olyan xi hogy a kapott (¯ y, x b´ azisv´ altoz´ o, hogy x ¯i nem eg´esz. Tekints¨ uk a b´azisv´altoz´o +a ¯s1 v1 + . . . + a ¯sm vm = ¯bs S egyenlet´et, ahol vt ∈ {x1 , . . . , xm } {y1 , . . . , yn } (t = 1, . . . , m). Elhagyva az egyenletb˝ ol a nemnegat´ıv xi v´altoz´ ot, az al´abbi egyenl˝otlens´eghez jutunk: (5)
xi
a ¯s1 v1 + . . . + a ¯sm vm ≤ ¯bs Vegy¨ uk ennek az egyenl˝ otlens´egnek a Gomory-f´ele metszet´et: (6)
t(¯ as1) v1 + . . . + t(¯ asm )vm ≥ t(¯bs )
Megmutatjuk, hogy a (6) alatti egyenl˝otlens´eg lemetszi a (2.10.3) feladat ¯ ) optim´alis megold´ast, de nem metsz lehets´eges megold´asainak halmaz´ab´ol az (¯ y, x le egyetlen eg´esz megold´ast sem. ¯ ) b´azismegold´as, ez´ert az (5) alatti egyenletben szerepl˝o Val´ oban, mivel (¯ y, x v1 , . . . , vm v´ altoz´ ok ´ert´eke a b´azismegold´asban rendre 0-val egyenl˝o. ´Igy (6) baloldala ¯ ) pontban 0. M´asr´eszt x az (¯ y, x ¯i = ¯bs , ´es feltev´es¨ unk szerint x ¯i nem eg´esz. ´Igy ¯ ) nem el´eg´ıti ki a (6) alatti egyenl˝otlens´eget. t(¯bs ) > 0, amivel ad´odik, hogy (¯ y, x Most legyen (y∗ , x∗ ) a (2.10.3) feladat egy tetsz˝oleges eg´esz lehets´eges megold´asa. Akkor (y∗ , x∗ )-ra teljes¨ ul az (5) egyenlet. Az egyenlet egy¨ utthat´oit eg´esz r´esz plusz t¨ ortr´esz alakba ´ırva, a k¨ovetkez˝ o egyenl˝os´eghez jutunk: m X x∗i + ([¯ asj ] + t(¯ asj )) vj∗ = [¯bs ] + t(¯bs ) . j=1
101
A kapott egyenl˝ os´egb˝ ol rendez´essel ad´odik, hogy x∗i
+
m m X X ∗ ¯ ¯ [¯ asj ]vj − [bs ] = t(bs ) − t(¯ asj )vj∗ . j=1
j=1
Az egyenl˝ os´eg baloldal´an rendre eg´esz mennyis´egek szerepelnek, ´ıgy a baloldal ´ert´eke eg´esz. Az egyenl˝ os´eg jobboldal´an l´ev˝o mennyis´eg ´ert´eke 0 ≤ vj∗ ´es 0 ≤ t(¯ asj ) ¯ (j = 1, . . . , m) alapj´an nem nagyobb, mint t(bs ), ami defin´ıci´o szerint kisebb, mint 1. ´Igy azt kapjuk, hogy a jobboldal ´ert´eke 1-n´el kisebb eg´esz. Ebb˝ol ad´odik, hogy a jobboldal ´ert´eke nem pozit´ıv, ´es ´ıgy ∗ t(¯bs ) ≤ t(¯ as1 )v1∗ + . . . + t(¯ asm )vm ,
azaz (y∗ , x∗ ) kiel´eg´ıti a (6) alatti egyenl˝otlens´eget. Az el˝oz˝ oekben elmondottakra ´ep¨ ul a k¨ovetkez˝o, bizony´ıt´as n´elk¨ ul ismertet´esre ker¨ ul˝ o elj´ar´ as.
R. E. Gomory algoritmusa uk a (2.10.1)-hez tartoz´o (2.10.2) folytonos feladatot, ´es El˝ ok´esz´ıt˝ o r´esz. Tekints¨ konstru´ aljuk meg ehhez a megfelel˝o (2.10.3) lehets´eges kanonikus alak´ u feladatot. ¯ ) optim´alis Ezt oldjuk meg a szimplex algoritmus valamely v´altozat´aval. Ha az (¯ y, x ¯ vektor eg´esz, akkor v´ege az elj´ar´asnak, x ¯ optim´alis megold´asa megold´ asb´ ol k´epezett x a (2.10.1) feladatnak. Ellenkez˝ o esetben legyen r = 1, ´es t´erj¨ unk r´a az iter´aci´ os elj´ ar´ asr´eszre. Iter´ aci´ os r´esz (r. iter´ aci´ o). Vegy¨ uk az els˝o olyan egyenletet, amelyben valamely xi ∈ {x1 , . . . , xm } a b´azisv´ altoz´ o ´es az egyenlet jobboldala nem eg´esz. Legyen ez (r) (r) (r) unk az egyenlet: xi + as1 v1 + . . . + asm vm = bs , amelyb˝ol xi elhagy´as´aval k´epezz¨ (r) (r) (r) egyenl˝ otlens´eget, ´es vegy¨ uk ennek a t(as1 )v1 + . . . + t(asm )vm ≥ t(bs ) Gomory-f´ele metszet´et. Szorozzuk ezen egyenl˝ otlens´eg mindk´et oldal´at −1-gyel, ´es bevezetve az ur k¨ ul¨ onbs´egv´ altoz´ ot, vegy¨ uk az (r)
(r) ur − t(as1 )v1 − . . . − t(a(r) sm )vm = −t(bs )
egyenletet. A kapott egyenlettel b˝ov´ıts¨ uk a feladat felt´etelrendszer´et, tov´abb´a k¨oss¨ uk ki, hogy 0 ≤ ur . Az ´ıgy el˝o´ all´ıtott u ´j feladatot oldjuk meg du´alis szimplex algoritmus¯ (r) vektor eg´esz, akkor v´ege az elj´ar´asnak, sal. Ha az optim´alis megold´asb´ ol k´epezett x ¯ (r) a (2.10.1) feladat optim´alis megold´asa. Ellenkez˝o esetben n¨ovelj¨ x uk r ´ert´ek´et 1-gyel, ´es a b˝ov´ıtett feladatot tekintve aktu´alis feladatnak, t´erj¨ unk r´a a k¨ovetkez˝ o iter´ aci´os l´ep´es v´egrehajt´as´ ara. Az elj´ar´ as demonstr´al´ as´ ara megoldjuk az el˝oz˝oekben vizsg´alt p´eld´at. A feladathoz konstru´ alhat´ o (2.10.3) t´ıpus´ u feladat szimplex t´abl´azata, ´es a szimplex algoritmus v´egrehajt´asa sor´an nyert t´abl´ azatok a k¨ovetkez˝ok: 102
y1 y2 y3 y4
x1 −1 1 ∗ 1 1 −2
x2 3 2 −1 1 −1
6 7 3 8 0
y1 y2 x1 y4
y3 1 −1 1 −1 2
x2 2 ∗ 3 −1 2 −3
9 4 3 5 6
y1 x2 x1 y4
y3 y2 5/3 −2/3 −1/3 1/3 2/3 1/3 −1/3 −2/3 1 1
19/3 4/3 13/3 7/3 10
¯ ) = (19/3, 0, 0, 7/3, 13/3, 4/3), ´es Teh´ at a tekintett feladat optim´alis megold´asa: (¯ y, x ¯ = (13/3, 4/3). Az utols´o feladat ´ıgy az indul´o folytonos feladat optim´alis megold´asa: x els˝ o olyan egyenlete, amelyben x ¯i nem eg´esz a k¨ovetkez˝o: 1 1 4 x2 − y3 + y2 = . 3 3 3 Az elj´ar´ asnak megfelel˝oen k´epezve a Gomory-f´ele metszetet, az al´abbi egyenl˝otlens´eget kapjuk: 1 1 2 y3 + y2 ≥ 3 3 3 Ezt megszorozva −1-gyel, bevezetve az u1 k¨ ul¨onbs´egv´altoz´ot, ´es az el˝o´all´o egyenlettel b˝ ov´ıtve a felt´etelrendszert, olyan feladathoz jutunk, amelynek c´elf¨ uggv´enyegy¨ uttha´ t´ oi rendre nemnegat´ıvak, ´es amelyben y1 , x2 , x1 , y4 , u1 b´azisv´altoz´ok. Igy ez a feladat megoldhat´ o du´alis szimplex algoritmussal. Az indul´o feladat, ´es az elj´ar´as sor´an el˝o´all´o feladatok szimplex t´abl´ azatai a k¨ovetkez˝ok: (7)
y1 x2 x1 y4 u1
y3 5/3 −1/3 2/3 −1/3 −∗ 2/3 1
y2 −2/3 19/3 1/3 4/3 1/3 13/3 −2/3 7/3 −1/3 −1/3 1 10
u1 y2 5/2 −3/2 11/2 −1/2 1/2 3/2 1 0 4 −1/2 −1/2 5/2 −3/2 1/2 1/2 3/2 1/2 19/2
y1 x2 x1 y4 y3 (1)
(1)
(1)
(1)
(1)
A feladat optim´alis megold´asa: y1 = 11/2, y2 = 0, y3 = 1/2, y4 = 5/2, x1 = 4, (1) (1) (1) x2 = 3/2, u1 = 0. Az els˝o olyan egyenlet, amelyben xi nem eg´esz, a feladat m´ asodik egyenlete. V´eve a hozz´atartoz´o Gomory-f´ele metszetet, ´es a megfelel˝o egyenlettel b˝ov´ıtve a feladatot, majd v´egrehajtva a du´alis szimplex algoritmust, a k¨ovetkez˝o szimplex t´abl´ azatokat kapjuk: y1 x2 x1 y4 y3 u2
u1 y2 5/2 −3/2 11/2 −1/2 1/2 3/2 1 0 4 −1/2 −1/2 5/2 −3/2 1/2 1/2 −1/2 −∗ 1/2 −1/2 3/2 1/2 19/2
y1 x2 x1 y4 y3 y2
103
u1 4 −1 1 0 −2 1 1
u2 −3 1 0 −1 1 −2 1
7 1 4 3 0 1 9
Az optim´alis megold´as eg´esz, ´ıgy x(2) = (4, 1) optim´alis megold´asa az eg´esz´ert´ek˝ u feladatnak. B´ ar v´ege az elj´ar´ asnak, de a p´eld´ahoz kapcsol´odva, vizsg´aljuk meg, hogy a (7) alatti metszet milyen f´els´ıkot hat´aroz meg az eredeti feladatra vonatkoztatva. A legels˝o szimplex t´abl´ azatb´ ol: y2 + x1 + 2x2 = 7 ´es y3 + x1 − x2 = 3. Ezekb˝ ol az egyenletekb˝ ol kifejezve az y2 ´es y3 v´altoz´okat, ´es behelyettes´ıtve (7) baloldal´ aba, a grafikus megold´as sor´an m´ar haszn´alt, x1 ≤ 4 egyenl˝otlens´eget kapjuk. Hasonl´ o technik´ aval kifejezve az elj´ar´as m´asodik metszet´et x1 , x2 f¨ uggv´enyek´ent, az x1 + x2 ≤ 5 egyenl˝ otlens´eg ad´odik. Az ismertetett elj´ar´ assal kapcsolatban fontosnak tartjuk megeml´ıteni a k¨ovetkez˝ oket: A megadott v´altozat nem v´eges minden esetben, de ugyanezen metsz´esi technik´ at alkalmazva, tov´ abb´ a lexikografikus szimplex algoritmust ´es lexikografikus du´alis szimplex algoritmust haszn´alva, fel´ep´ıthet˝o egy v´eges v´altozata az elj´ar´asnak. A v´eges v´altozat iter´ am´ at illet˝oen, am´ıg a szimplex algoritmusr´ol tudjuk, ¡ aci´ ¢os l´ep´essz´ hogy legfeljebb m+n l´ e p´ e st kell v´egrehajtani az optim´alis megold´as el´er´es´eig, adn dig az eg´esz´ert´ek˝ u esetben nem adhat´o meg ilyen, a feladat m´ereteit˝ol f¨ ugg˝o fels˝o korl´ at. Ezt els˝ok´ent R. G. Jeroslow ´es K. O. Kortanek igazolt´ak 1969-ben. Egy ´evvel k´es˝ obb D. S. Rubin megadott egy olyan feladatoszt´alyt, amely k´etv´altoz´os ´es egyetlen egyenl˝ otlens´egb˝ ol ´all´ o feladatokat tartalmaz, ´es tetsz˝oleges n term´eszetes sz´amhoz l´etezik az oszt´alynak olyan feladata, hogy az illet˝o feladaton v´egrehajtott Gomory-f´ele elj´ ar´ as iter´aci´ os l´ep´eseinek a sz´ama nem kisebb, mint n. A nagy l´ep´essz´ am mellett az elj´ar´as egy m´asik h´atr´anya, hogy minden egyes l´ep´esben n˝o a feladat m´erete. Ez a n¨oveked´es bizonyos korl´atok k¨oz¨ott tarthat´o, nevezetesen a felvett u ´j felt´etelekb˝ol egyesek a k´es˝obbiek sor´an elhagyhat´ok. Az elj´ar´ as m´asik, k¨ ul¨ on¨ osen sz´am´ıt´astechnikai szempontb´ol jelent˝os h´atr´anya, hogy val´ os sz´am´ abr´ azol´ assal dolgozva, az elj´ar´as sor´an el˝o´all´o egy¨ utthat´okat kerek´ıt´esi hib´ ak terhelik. Ez´ert annak eld¨ont´ese, hogy valamely egy¨ utthat´o eg´esz vagy nem eg´esz, igen komplik´ alt, tov´ abbi vizsg´alatokat ig´enyl˝o feladat. A kerek´ıt´essel kapcsolatos probl´em´ak nem jelentkeznek akkor, ha minden l´ep´esben 1 vagy −1 a gener´al´ o elem, ugyanis ebben az esetben az elj´ar´as sor´an v´egig minden egy¨ utthat´ o eg´esz. L´enyeg´eben ez volt a motiv´aci´oja annak a du´alis elj´ar´asnak, amelyet szint´en R. E. Gomory dolgozott ki 1960-ban. A tov´abbiakban ennek egy egyszer˝ us´ıtett v´ altozat´ aval fogunk megismerkedni. E c´elb´ol tekints¨ uk a k¨ovetkez˝o feladatot: (2.10.4)
Ey + Ax = b, x ≥ 0, y ≥ 0, x, y eg´esz ———————————————– , α + cx = z → min
ahol felt´etelezz¨ uk, hogy (1) A, b, c, α rendre eg´eszek, (2) c ≥ 0. 104
Nyilv´ anval´ o, hogy amennyiben a b vektor komponensei rendre nemnegat´ıvak, akkor a b´ azismegold´ as optim´alis megold´as. Most tegy¨ uk fel, hogy bk < 0 valamely 1 ≤ k ≤ n indexre. Tekints¨ uk a feladat k-adik egyenlet´et: yk + ak1 x1 + . . . + akm xm = bk . K´epezz¨ uk az egyenletb˝ ol az al´abbi egyenl˝otlens´eget: (10)
ha
k1
λ
i x1 + . . . +
ha
km
λ
·
i xm
bk ≤ λ
¸ ,
ahol λ = max{−akj : akj < 0, 1 ≤ j ≤ m}, felt´eve, hogy λ l´etezik. A λ mennyis´eg defin´ıci´ oj´ ab´ ol k¨ovetkezik, hogy a (10) alatti egyenl˝otlens´egben minden negat´ıv egy¨ utthat´ o −1-gyel egyenl˝o. ´Igy bevezetve egy k¨ ul¨onbs´egv´altoz´ot, ´es a kapott egyenlettel b˝ov´ıtve a feladat felt´etelrendszer´et, ha ebben a sorban v´alasztunk a du´alis szimplex algoritmus szerint gener´al´o elemet, akkor a gener´al´o elem −1 lesz. Vizsg´ aljuk most a (10) alatti egyenl˝otlens´eget. Megmutatjuk, hogy tetsz˝oleges ∗ ∗ (y , x ) eg´esz lehets´eges megold´asra teljes¨ ul a (10) egyenl˝otlens´eg. Val´oban, mivel (y∗ , x∗ ) lehets´eges megold´as, ez´ert yk∗ + ak1 x∗1 + . . . + akm x∗m = bk . Viszont ´ıgy tetsz˝oleges λ > 0 eg´eszre, yk∗ akm ∗ bk ak1 ∗ + x1 + . . . + xm = , de akkor λ λ λ λ µ· ¸ ¶ · ¸ m ³h X 1 1 akj i akj ´ ∗ bk bk ∗ + t( ) yk + + t( ) xj = + t( ) , λ λ λ λ λ λ j=1 amib˝ ol rendez´essel ad´odik, hogy · ¸ · ¸ m m X bk akj ∗ bk 1 1 ∗ X h akj i ∗ t( yk + xj − = t( ) − t( )yk∗ − )xj . λ λ λ λ λ λ j=1 j=1 A kapott kifejez´es baloldala eg´esz, a jobboldalon pedig az 1-n´el kisebb t(bk /λ) menynyis´egb˝ ol vonunk ki nemnegat´ıv sz´amokat, ´ıgy a jobboldal ´ert´eke kisebb, mint 1. De akkor a baloldal ´ert´eke nem nagyobb, mint 0, ´ıgy · ¸ · ¸ m 1 ∗ X h akj i ∗ bk yk + xj − ≤0. λ λ λ j=1 Mivel λ > 0, yk∗ ≥ 0, ez´ert [1/λ]yk∗ ≥ 0. ´Igy a baloldalr´ol elhagyva az [1/λ]yk∗ mennyis´eget, az egyenl˝ otlens´eg ´erv´enyben marad, ´es azt kapjuk, hogy · ¸ m h X akj i ∗ bk xj ≤ , λ λ j=1 azaz az (y∗ , x∗ ) eg´esz lehets´eges megold´as kiel´eg´ıti a (10) alatti egyenl˝otlens´eget tetsz˝ oleges pozit´ıv eg´esz λ-ra. A fentieken alapul a (2.10.4) feladat megold´as´ara szolg´al´o, az irodalomban ”dual all-integer algorithm” n´even ismert, al´abbi elj´ar´as. 105
Elj´ ar´ as 1.l´ep´es. Ha a tekintett feladat egyenleteinek jobboldalai rendre nemnegat´ıvak, akkor v´ege az elj´ar´ asnak, a feladat b´azismegold´asa optim´alis megold´as. Ellenkez˝ o esetben a 2.l´ep´es k¨ovetkezik. 2.l´ep´es. Vegy¨ uk az els˝o olyan egyenletet, amelynek jobboldal´an negat´ıv ´ert´ek ´all. Jel¨ olje ezt az egyenletet vi
+ ak1 w1 + . . . + akm wm = bk .
Ha aks ≥ 0 (s = 1, . . . , m), akkor v´ege az elj´ar´asnak, a tekintett feladatnak nincsen lehets´eges megold´asa. Ellenkez˝o esetben k´epezz¨ uk az egyenletb˝ol a k¨ovetkez˝o egyenl˝ otlens´eget: · ¸ ha i ha i bk k1 km w1 + . . . + wm ≤ , λ λ λ ahol λ = max{−akj : akj < 0, 1 ≤ j ≤ m}. Egy nemnegat´ıv k¨ ul¨onbs´egv´altoz´o bevezet´es´evel az egyenl˝ otlens´egr˝ ol t´erj¨ unk ´at egyenl˝os´egre, ´es a kapott egyenlettel b˝ ov´ıts¨ uk a feladat felt´etelrendszer´et. K´epezz¨ uk a ½ ¾ h i cj akj min : < 0, 1 ≤ j ≤ m −[akj /λ] λ mennyis´eget. Legyen −cs /[aks /λ] a minimummal megegyez˝o legkisebb j index˝ u h´ anyados. V´alasszuk az u ´j egyenlet sor´aban az [aks /λ] egy¨ utthat´ot gener´al´o elemnek, majd hajtsuk v´egre a 2.2 fejezet 2.t´etel´enek bizony´ıt´as´aban megadott ´atalak´ıt´asokat. Az el˝o´ all´ıtott u ´j feladattal folytassuk az elj´ar´ast az 1.l´ep´esn´el. Az algoritmust az al´abbi feladat megold´as´aval demonstr´aljuk. 9.p´elda. y1
+x1 +2x2 −x3 = 1 y2 +x1 −2x2 −3x3 = −2 yj ≥ 0 (j = 1, 2), xi ≥ 0 (i = 1, 2, 3) —————————————————— 2x1 +x2 +2x3 =z→ min Az elj´ar´ ast a feladatokhoz tartoz´o szimplex t´abl´azatokon fogjuk v´egrehajtani. Az indul´ o szimplex t´abl´ azat a k¨ovetkez˝o: x1
x2
x3
y1
1
2
−1
y2
1
A m´asodik egyenlet jobboldala negat´ıv. 1
−2 −3 −2
λ = max{−a2j : a2j < 0, 1 ≤ j ≤ 3} = 3 ´Igy az egyenletb˝ol k´epezett egyenl˝otlens´eg:
2 1 2 0 [1/3] x1 + [−2/3] x2 + [−3/3] x3 ≤ [−2/3] Most bevezetve a v1 nemnegat´ıv k¨ ul¨onbs´egv´altoz´ot, a k¨ovetkez˝o egyenletet kapjuk: v1 − x2 − x3 = −1 . Ezzel b˝ov´ıtve a felt´etelrendszert, az u ´j feladat szimplex t´abl´azata a k¨ovetkez˝ o: 106
x1
x2
x3
y1
1
2
−1
y2
1
−2 −3 −2
b´ol az [akj /λ] (j = 1, . . . , m), [bk /λ] ´ert´ekek
v1
0
−∗ 1 −1 −1
k´epz´es´evel. Most a harmadik egyenletben ge-
2
1
2
Nyilv´anval´o, hogy az u ´j szimplex t´abl´azat k¨oz1
0
vetlen¨ ul fel´ırhat´o az eredeti szimplex t´abl´azat-
ner´al´o elemet v´alasztva, a32 lesz a k¨ovetkez˝o
gener´ al´ o elem. V´egrehajtva a transzform´aci´ot az al´abbi szimplex t´abl´azathoz jutunk. x1 v1 x3 Most az els˝o egyenletnek negat´ıv a jobboldala. y1 1 2 −3 −1 K´epezve a λ ´ert´ek´et, λ = 3, ´es bevezetve v2 -t, y2
1
−2 −1
0
x2
0
−1
1
1
a megfelel˝o u ´j egyenlet a k¨ovetkez˝o: v2
− x3 = −1.
2 1 1 −1 Ezzel b˝ov´ıtve a feladat felt´etelrendszer´et,az u ´j feladathoz az al´abbi szimplex t´abl´azat tartozik: x1 v1 x3 y1
1
y2
1
−2 −1
0
met v´alasztanunk. Mivel csak egyetlen nega-
x2
0
−1
1
1
t´ıv egy¨ utthat´o van a negyedik sorban, ez´er a43
0
0
∗
2
1
1
x1
v1
v2
y1
1
2
y2
v2
2
−3 −1
− 1 −1
Most a negyedik egyenletben kell gener´al´o ele-
lesz a gener´al´o elem. V´egrehajtva a megfelel˝o
−1
´atalak´ıt´asokat, az al´abbi szimplex t´abl´azatot
−3
2
A kapott t´abl´azatban minden jobboldali ´ert´ek
1
−2 −1
1
nemnegat´ıv, ´ıgy a feladat b´azismegold´asa egy-
x2
0
−1
1
0
ben optim´alis megold´as is. De akkor
x3
0
0
−1
1
y¯1 = 2, y¯2 = 1, x ¯1 = 0, x ¯2 = 0, x ¯3 = 1
2
1
1
−2
optim´alis megold´asa a kiindul´asi feladatnak.
kapjuk:
Az elj´ar´ assal kapcsolatban fontosnak tartjuk megjegyezni a k¨ovetkez˝oket: Az ismertetett v´altozat nem v´eges minden esetben, de ezzel a metszet fogalommal ´es lexikografikus technik´ aval fel´ep´ıthet˝o az elj´ar´asnak egy v´eges v´altozata. Sajn´alatos m´odon, hasonl´oan a m´asik metsz´esi m´odszerhez, a l´ep´essz´am ezen elj´ar´asra sem korl´ atozhat´ o a feladat m´ereteinek f¨ uggv´eny´eben, amint ezt J. J. Finkelstein 1970ben igazolta. A fejezet befejez´esek´ent megeml´ıtj¨ uk, hogy a metsz´esi elj´ar´asok kialakul´as´aval majdnem egyidej˝ uleg, 1960-ban A. H. Land ´es A. G. Doig egy m´as megold´asi technik´ at dolgoztak ki az eg´esz´ert´ek˝ u feladatok megold´as´ara, amely a ”korl´atoz´as ´es sz´etv´ alaszt´ as m´odszere” n´even ismeretes. Ezen kiv¨ ul, tekintettel az eg´esz´ert´ek˝ u 107
probl´ema neh´ez kezelhet˝ os´eg´ere, m´ar a kezdeti id˝oszakban megkezd˝odtek a speci´alis szerkezet˝ u feladatok vizsg´alatai, azzal a c´ellal, hogy ezen speci´alis modellek tulajdons´ agait kihaszn´alva, az illet˝o feladat megold´as´ara hat´ekony elj´ar´asokat nyerjenek. Ehhez nagyban hozz´aj´ arult az is, hogy bizonyos speci´alis modelleknek nagyon jelent˝os a gyakorlati alkalmaz´ asa. Ezt igen meggy˝oz˝oen mutatja egy 1960-as, az USA-ban v´egzett felm´er´es, amely szerint a line´aris programoz´asi modellek alkalmaz´asai k¨oz¨ ul 85% volt a sz´all´ıt´ asi ´es hozz´arendel´esi modellek r´eszar´anya. A k¨ovetkez˝o k´et fejezetben mi is megismerked¨ unk ezekkel a modellekkel, ´es a hozz´ajuk kapcsol´od´o elj´ar´asokkal.
Feladatok
1. Oldjuk meg az egyenl˝ otlens´egek ´altal meghat´arozott f´els´ıkok ´abr´azol´as´aval ´es L∗ meghat´ aroz´ as´ aval az al´abbi feladatot: 2x1 +3x2 ≤ 7 x1 −x2 ≤ 3 x1 −2x2 ≤ 2 x1 −10x2 ≤ 1 x1 +x2 ≤ 13 x1 , x2 ≥ 0 & x1 , x2 eg´esz —————————−8x1 +4x2 = z→ min 2. Tekints¨ uk a fejezetben megismert al´abbi feladatot. −(k 2 +1)x1 +kx2 ≤ 0 (k 2 − 1)x1 −kx2 ≤ 0 x1 +x2 ≤ 2k + 1 xi ≥ 0 & xi eg´esz (i = 1, 2) —————————————−x1 −x2 = z(x)→ min A k = 4 esetben ´abr´ azoljuk grafikusan L-t ´es L∗ -ot, majd hat´arozzuk meg mindk´et feladat (a diszkr´et ´es a megfelel˝o folytonos) optim´alis megold´as´at. 3. Tekints¨ uk a fenti feladatot tetsz˝oleges k ≥ 3 r¨ogz´ıtett eg´eszre. Igazoljuk, ∗ hogy L = {(0, 0), (1, k)}. Ezt k¨ovet˝oen tekints¨ uk a feladathoz tartoz´o folytonos feladatot, ´es igazoljuk, hogy ezen feladat egy optim´alis megold´asa: x ¯1 = 2 − 1/(k + 1), x ¯2 = 2k − k/(k + 1). 108
4. Oldjuk meg Gomory m´odszer´evel az al´abbi feladatokat: x1 −x2 +x3 ≤ 2 x1 +x2 −2x3 ≤ 2 −2x1 −2x2 +x3 ≤ 1 x1 +x2 +x3 ≤ 12 xi ≥ 0 ´es xi eg´esz (i = 1, 2, 3) —————————————−3x1 +5x2 −4x3 = z→ min
(a)
x1 +x2 +x3 ≤ 6 x1 −2x2 +2x3 ≤ 5 −2x1 +x2 −x3 ≤ 2 −x1 +3x2 +2x3 ≤ 20 xi ≥ 0 ´es xi eg´esz (i = 1, 2, 3) —————————————−2x1 −3x2 +x3 = z→ min
(b)
5. Oldjuk meg az eg´esz egy¨ utthat´os elj´ar´assal a k¨ovetkez˝o feladatokat. x1
+x4 −4x5 −x6 = −7 x2 −x4 −2x5 +x6 = −4 x3 −3x4 −x5 −2x6 = −5 xi ≥ 0 (i = 1, . . . , 6) —————————————————— 2x4 +5x5 +2x6 =z(x)→ min
x1
−x4 +2x5 −2x6 = −4 x2 −x4 −2x5 +3x6 = −6 x3 −2x4 +2x5 −3x6 = −4 xi ≥ 0 (i = 1, . . . , 6) —————————————————— 3x4 +2x5 +4x6 =z(x)→ min
2.11 Hozz´ arendel´ esi feladat megold´ asa magyar m´ odszerrel
A t´argyal´ asra ker¨ ul˝ o modellnek sz´amtalan gyakorlati alkalmaz´asa van, ezek k¨oz¨ ul az egyik legismertebb, a k¨ovetkez˝ o probl´ema. Adott bizonyos sz´am´ u dolgoz´o ´es ugyanennyi munka. Az egyes dolgoz´ok a munk´ akat k¨ ul¨ onb¨ oz˝ o k¨olts´egekkel tudj´ak v´egrehajtani. Osszuk sz´et a dolgoz´ok k¨oz¨ott az ¨osszes munk´ at u ´gy, hogy minden dolgoz´o pontosan egy munk´at kapjon, ´es a munkav´egz´es ¨osszk¨ olts´ege minim´alis legyen. 109
Vezess¨ uk be a k¨ovetkez˝ o jel¨ol´eseket. Jel¨olje n a dolgoz´ok sz´am´ at, cij a j-edik munka elv´egz´es´enek k¨olts´eg´et, ha azt az i-edik dolgoz´o hajtja v´egre (i = 1, . . . , n; j = 1, . . . , n). Tetsz˝ oleges 1 ≤ i, j ≤ n indexp´arra legyen n 1, ha az i-edik dolgoz´o hajtja v´egre a j-edik munk´at, xij = 0 k¨ ul¨ onben. A bevezetett jel¨ol´esekkel a probl´ema az al´abbi, hozz´ arendel´esi feladat n´even ismert optimumsz´ am´ıt´ asi modellel ´ırhat´ o le n X
xit = 1 (i = 1, . . . , n)
t=1 n X
(2.11.1)
xtj = 1 (j = 1, . . . , n)
t=1
xij ∈ {0, 1} (i = 1, . . . , n; j = 1, . . . , n) —————————————————– n X n X cij xij = z → min i=1 j=1
Pn
Val´ oban, a t=1 xit = 1, xit ∈ {0, 1} (t = 1, . . . , n) felt´ Pentelek biztos´ıtj´ak, hogy az i-edik dolgoz´o pontosan egy munk´at fog v´egrehajtani, a t=1 xtj = 1, xtj ∈ {0, 1} (t = 1, . . . , n) felt´etelek pedig azt eredm´enyezik, hogy a j-edik munka pontosan egy dolgoz´ o r´esz´ere lesz kiadva. Ebb˝ol m´ar k¨ovetkezik, hogy minden munka kioszt´asra ker¨ ul, ´es minden dolgoz´o pontosan munk´at fog v´egrehajtani. A teljes munkav´egz´es Pegy n Pn k¨ olts´ege cij defin´ıci´ oja alapj´an: i=1 j=1 cij xij . Miel˝ ott r´at´ern´enk a (2.11.1) feladat vizsg´alat´ara, megadunk egy tov´abbi olyan probl´em´ at, amely hozz´arendel´esi feladathoz vezet. A ”h´azass´agk¨ot´esi j´at´ek” n´even ismert al´abbi feladatot P. R. Halmos ´es H. Vaughon publik´alta 1950-ben. Telepesek egy 10 leg´enyemberb˝ol ´all´o kol´oni´aja kieg´esz¨ ul 10 potenci´alis menyaszszonnyal. R¨ovid udvarl´ as ut´an a fiatalemberek elhat´arozz´ak, hogy halad´ektalanul megh´ azasodnak. Minden egyes menyasszonyjel¨olt kap egy n´evsort, amelyen a 10 fiatalember neve szerepel, ´es ezen kell pontoznia a f´erjjel¨olteket, a sz´am´ara legink´abb megfelel˝ ot 10 ponttal, a k¨ovetkez˝o v´alasztottj´at 9 ponttal, ´es ´ıgy tov´abb. Tegy¨ uk fel, hogy b´armely r¨ogz´ıtett p´arv´ alaszt´asn´al az eg´esz telep boldogs´aga a menyaszszonyjel¨ oltek ´altal adott pontsz´ amok ¨osszeg´evel ar´anyos. Hat´arozzunk meg egy olyan p´ arv´ alaszt´ ast, amely az eg´esz telep sz´am´ara maxim´alis boldogs´agot eredm´enyez. Nyilv´ anval´ o, hogy a fenti probl´ema egy hozz´arendel´esi feladattal ´ırhat´o le, amelyben az i-edik menyasszonyjel¨ oltnek a j-edik fiatalemberre adott pontsz´ama −cij . 110
Vizsg´aljuk ezek ut´an a (2.11.1) feladatot. Vegy¨ uk ´eszre, hogy a tekintett feladat lehets´eges megold´asai olyan 0 ´es 1 elemekb˝ol ´all´o m´atrixok, amelyeknek minden sora ´es minden oszlopa pontosan egy darab 1-est tartalmaz. Igaz ennek a megford´ıt´asa is, azaz minden ilyen m´atrix lehets´eges megold´asa (2.11.1)-nek. M´asr´eszt k¨onnyen bel´athat´ o, hogy az ilyen tulajdons´ag´ u m´atrixok sz´ama n!. Ez viszont azt jelenti, hogy a (2.11.1) feladat lehets´eges megold´asainak halmaza egy nem¨ ures, v´eges halmaz, ´ıgy a feladatnak mindig l´etezik optim´alis megold´asa. Az elmondottakb´ol az is k¨ ovetkezik, hogy r¨ogz´ıtett n mellett a k¨ ul¨onb¨oz˝o c´elf¨ uggv´eny˝ u hozz´arendel´esi feladatokhoz egy k¨oz¨ os lehets´eges megold´as halmaz tartozik, m´egpedig a fenti tulajdons´aggal rendelkez˝ o m´atrixok halmaza. ´Igy a (2.11.1) feladatot egy´ertelm˝ uen meghat´arozza a (cij ) m´atrix, amelyet k¨ olts´egm´ atrixnak nevez¨ unk. Ez a meghat´arozotts´ag lehet˝ov´e teszi, hogy tetsz˝oleges Dn×n m´atrixra, a D k¨olts´egm´atrix´ u hozz´arendel´esi feladatot H(D)-vel jel¨olj¨ uk. A lehets´eges megold´asok halmaz´anak az el˝oz˝oekben adott le´ır´as´at felhaszn´alva, megkaphatjuk a feladat optim´alis megold´as´at u ´gy, hogy valamilyen elj´ar´assal el˝o´all´ıtjuk a fenti tulajdons´ag´ u m´atrixok mindegyik´et, majd kisz´am´ıtjuk a m´atrixokhoz tartoz´ o c´elf¨ uggv´eny´ert´ekeket ´es vessz¨ uk ezek minimum´at. Ennek az elj´ar´asnak a bemutat´ as´ ara tekints¨ uk a 3 4 2 H 6 5 1 hozz´arendel´esi feladatot. 7 4 3 A lehets´eges megold´asok halmaza a k¨ovetkez˝o m´atrixokb´ol ´all:
1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 0
0 0 0 0 1 1
1 0 0
0 0 0 1 1 0 0 0 1
1 0 0 0 0 1
0 1 0
1 0 0
A fenti m´atrixokhoz tartoz´o c´elf¨ uggv´eny´ert´ekek rendre: 11, 8, 13, 12, 12, 14. ´Igy a feladat optim´alis megold´asa: 1 0 0 ¯ = 0 0 1 , ¯ = 8. X az optimum ´ert´eke pedig z(X) 0 1 0 Nyilv´ anval´ o, hogy nagyobb feladatok eset´en ez az elj´ar´as gyakorlatilag nem haszn´ alhat´ o, ugyanis nagyon nagy lesz az el˝o´all´ıtand´o m´atrixok sz´ama. P´eld´aul, ha n = 6, akkor a megadott tulajdons´ag´ u m´atrixok sz´ama: 6! = 720. Ez´ert a (2.11.1) feladat megold´as´ ara egy m´asik, a fenti algoritmusn´al l´enyegesen hat´ekonyabb elj´ar´assal fogunk megismerkedni, amely magyar m´ odszer n´even ismeretes. Az elj´ar´ ast H. W. Kuhn publik´alta 1955-ben, ´es az algoritmus fel´ep´ıt´es´en´el egy magyar matematikus, Egerv´ary Jen˝o eredm´eny´et haszn´alta fel. Egerv´ary Jen˝o a m´ atrixok bizonyos tulajdons´ag´ u f¨ uggetlen elemeinek maxim´alis sz´am´at jellemezte a 111
m´ atrixok fed˝ovonalainak felhaszn´al´ as´aval, ´es ezt az eredm´enyt 1931-ben a Matematikai ´es Fizikai Lapokban k¨oz¨ olte. 22 ´evvel k´es˝obb, H. W. Kuhn tudom´ast szerzett ezen eredm´enyr˝ ol, ´es erre ´ep´ıtve kidolgozott egy elj´ar´ast a hozz´arendel´esi feladat megold´ as´ ara. Mivel a kidolgozott elj´ar´as Egerv´ary Jen˝o t´etel´ere ´ep¨ ul, ez´ert Kuhn az algoritmusnak a magyar m´odszer nevet adta. Az 1955-¨os publik´aci´o ut´an a magyar m´odszer igen ismertt´e v´alt, ´es k¨ ul¨onb¨oz˝o form´akban ker¨ ult t´argyal´asra. Mi a tov´abbiakban E. G. Golstejn ´es D. B. Jugyin 1969-es k¨onyv´ere ´ep´ıtve t´argyaljuk az elj´ ar´ ast. Miel˝ott erre r´at´ern´enk, sz¨ uks´egesek bizonyos el˝ok´esz¨ uletek. Legyenek Cn×m ´es Dn×m tetsz˝oleges val´os m´atrixok. Azt mondjuk, hogy C ekvivalens D-vel, ha vannak olyan α1 , . . . , αn ; β1 , . . . , βm val´os sz´amok, hogy b´armely 1 ≤ i ≤ n, 1 ≤ j ≤ m indexp´arra cij = dij + αi + βj teljes¨ ul. A bevezetett rel´aci´ ora a tov´ abbiakban a C ∼ D jel¨ol´est fogjuk haszn´alni. Nyilv´ anval´o, hogy az azonos t´ıpus´ u val´ os m´atrixok halmaz´an ez a rel´aci´o reflex´ıv, tranzit´ıv ´es szimmetrikus, azaz ekvivalenciarel´aci´o. A hozz´arendel´esi feladat ´es a fenti rel´aci´o kapcsolat´at mutatja a k¨ovetkez˝o ´all´ıt´as. 7.seg´ edt´ etel. Ha C, D n × n-es val´ os m´ atrixok ´es C ∼ D, akkor a H(C) ´es H(D) hozz´ arendel´esi feladatok optim´ alis megold´ asai megegyeznek. Bizony´ıt´ as. Mivel a lehets´eges megold´asok halmaza k¨oz¨os, ´es mindk´et feladatnak l´etezik optim´alis megold´asa, ez´ert az ´all´ıt´as korrekt. Ezek ut´an jel¨olje H(C) ´es H(D) c´elf¨ uggv´eny´et rendre zC ´es zD . Megmutatjuk, hogy van olyan γ konstans, amelyre ¯ = zD (X) ¯ + γ teljes¨ ¯ lehets´eges megold´asra. Val´oban, mivel zC (X) ul tetsz˝oleges X C ∼ D, ez´ert vannak olyan α1 , . . . , αn ; β1 , . . . , βn konstansok, hogy cij = dij + αi + βj teljes¨ ul b´armely 1 ≤ i ≤ n, 1 ≤ j ≤ n indexp´arra. De akkor ¯ = zC (X)
n X n X
cij x ¯ij =
i=1 j=1 n X n X
dij x ¯ij +
i=1 j=1
¯ lehets´eges megold´as, ez´ert Mivel X
n X n X
(dij + αi + βj )¯ xij =
i=1 j=1 n X
n X
n X
n X
αi x ¯ij + βj x ¯ij . i=1 j=1 j=1 i=1 Pn Pn ¯ij = 1. ¯ij = 1 ´es i=1 x j=1 x
¯ = zD (X) ¯ + zC (X)
n X i=1
αi +
n X
De akkor
βj .
j=1
Pn Pn ¯ = zD (X) ¯ + γ egyenlethez Most legyen γ = i=1 αi + j=1 βj . Akkor a zC (X) ¯ lehets´eges megold´asra. Ez pontosan azt jelenti, hogy jutunk, amely teljes¨ ul b´armely X a lehets´eges megold´asok halmaz´an a k´et c´elf¨ uggv´eny csak egy addit´ıv konstansban t´er el egym´ast´ ol, amib˝ol nyilv´ anval´ oan k¨ovetkezik az ´all´ıt´as. A tov´abbiakban alapvet˝ o szerepe lesz a k¨ovetkez˝o defin´ıci´onak: Adott m´atrix 0 elemeinek egy rendszer´et f¨ uggetlen 0-rendszernek nevezz¨ uk, ha a m´ atrix minden sora ´es minden oszlopa legfeljebb egy elem´et tartalmazza a rendszernek. Valamely f¨ uggetlen 0-rendszer elemeit a tov´abbiakban 0∗ -gal fogjuk jel¨olni. 112
Tekints¨ uk a k¨ovetkez˝ o f¨ uggetlen 0-rendszereket:
0∗ 4 3 0
1 2 2 0 4 0 0 1
3 0 1 2 0 4 2 0∗ 0 3 4 0 2 0 0 1
∗ 3 0 0 4 0∗ 3 2 0
1 2 4 0∗
2 0∗ 0 1
∗ 3 0 0 4 0∗ 3 2 0
1 2 4 0∗
2 0 0∗ 1
3 0∗ 0 2
A fenti p´eld´ ak mutatj´ ak, hogy adott m´atrixban t¨obb k¨ ul¨onb¨oz˝o f¨ uggetlen 0-rendszer is kijel¨olhet˝ o, ´es maxim´alis elemsz´am´ u f¨ uggetlen 0-rendszerb˝ol is t¨obb lehet. A 0∗ -okon kiv¨ ul haszn´alni fogjuk m´eg a k¨ovetkez˝o elnevez´eseket, illetve jel¨ol´eseket. Egy m´atrix valamely sor´at (oszlop´at) k¨ ot¨ ott sornak (oszlopnak) nevezz¨ uk, ha mellette (felette) egy ”+” jel ´all. A m´atrix valamely elem´et szabad elemnek nevezz¨ uk, ha nincs semmif´ele jellel ell´atva, ´es sem a sora, sem az oszlopa nincsen lek¨otve. Speci´alisan, ha az illet˝o elem 0, akkor szabad 0-r´ ol besz´el¨ unk. V´eg¨ ul haszn´alni fogjuk a C ≥ 0 jel¨ol´est, ha a C m´ atrix minden eleme nemnegat´ıv. Ezek ut´an r´at´erhet¨ unk a H(Cn×n ) hozz´arendel´esi feladat magyar m´odszerrel t¨ ort´en˝ o megold´as´ ara. Az elj´ar´ as sor´an el˝o´all´ıtunk egy olyan C(0) , C(1) , . . . , C(k) (k < n) m´atrixsorozatot, amelyre teljes¨ ulnek a k¨ovetkez˝ok: (1) C ∼ C(0) , (2) C(t) ∼ C(t+1) (t = 0, . . . , k − 1), (3) C(t) ≥ 0 (t = 0, . . . , k), (4) C(k) -ban ki van jel¨olve egy n-elem˝ u f¨ uggetlen 0-rendszer. Tegy¨ uk fel, hogy rendelkez¨ unk egy, a fentieket kiel´eg´ıt˝o C(0) , C(1) , . . . , C(k) ¯ m´ atrixsorozattal. Defini´aljuk az X m´atrixot a k¨ovetkez˝ok´eppen: ½ (k) ∗ x ¯ij = 1, ha cij = 0 , 0 k¨ ul¨onben. ¯ optim´ ¯ lehets´eges megMegmutatjuk, hogy X alis megold´asa H(C)-nek. Val´oban, X (k) old´ as, mivel C -ban minden sor ´es minden oszlop legfeljebb egy 0∗ -ot tartalmaz, tov´ abb´a a 0∗ -ok sz´ama n. M´asr´eszt jel¨olje zk a H(C(k) ) feladat c´elf¨ uggv´eny´et. Akkor ˜ ≥ 0 teljes¨ ˜ lehets´eges megold´asra. Most vegy¨ (3) alapj´an zk (X) ul tetsz˝oleges X uk ¯ ¯ ˜ ¯ ´eszre, hogy X defin´ıci´ oj´ ab´ ol zk (X) = 0 k¨ovetkezik. De ekkor zk (X) ≥ zk (X) teljes¨ ul ˜ lehets´eges megold´asra, azaz X ¯ optim´alis megold´asa H(C(k) )-nak. V´eg¨ tetsz˝ oleges X ul (k) (1) ´es (2), valamint az ekvivalencia tranzitivit´asa alapj´an C ∼ C . Ebb˝ol viszont ¯ optim´alis megold´asa H(C)-nek, amivel az m´ ar a 7.seg´edt´etellel azt kapjuk, hogy X ¯ X-ra vonatkoz´ o ´all´ıt´ ast igazoltuk. K´erd´es ezek ut´an, hogy mik´ent lehet egy, a fentieket kiel´eg´ıt˝o C(0) , . . . , C(k) m´ atrixsorozatot el˝o´ all´ıtani. Erre szolg´al a k¨ovetkez˝o iter´aci´os elj´ar´as. Magyar m´ odszer 113
El˝ ok´esz´ıt˝ o r´esz. A C m´ atrix i-edik sor´ab´ol rendre vonjuk ki az i-edik sor ele¯ A C ¯ m´atrix meinek a minimum´ at (i = 1, . . . , n), az el˝o´all´o m´atrixot jel¨olje C. j-edik oszlop´anak elemeib˝ol rendre vonjuk ki az illet˝o oszlop elemeinek a minimum´ at (j = 1, . . . , n), ´es a kapott m´atrixot jel¨olje C(0) . Jel¨olj¨ unk ki C(0) -ban egy f¨ uggetlen 0-rendszert oszlopfolytonosan, azaz oszloponk´ent haladva, a tekintett oszlopb´ ol v´alaszthat´ o 0-k k¨oz¨ ul mindig a legkisebb sorindex˝ u 0-t vegy¨ uk fel a f¨ uggetlen 0-rendszerbe. Ezek ut´an legyen r ´ert´eke 0, ´es folytassuk az elj´ar´ast az iter´aci´os elj´ ar´ asr´esszel. Iter´ aci´ os r´esz (r.iter´ aci´ o) 1.l´ep´es. Ha a C(r) -ben kijel¨olt f¨ uggetlen 0-rendszer elemeinek a sz´ama n, akkor v´ege az elj´ar´ asnak. Ellenkez˝ o esetben k¨oss¨ uk le C(r) -ben a 0∗ -okat tartalmaz´o oszlopokat, ´es folytassuk az elj´ar´ ast a 2.l´ep´essel. 2.l´ep´es. Keress¨ unk sorfolytonosan szabad 0-t. Ha nincs szabad 0, akkor az 5.l´ep´es k¨ ovetkezik. Ha tal´alunk szabad 0-t, akkor vizsg´aljuk meg az illet˝o 0 sor´at. Ha ez a sor nem tartalmaz 0∗ -ot, akkor a 4.l´ep´es k¨ovetkezik, ellenkez˝o esetben a 3.l´ep´essel folytatjuk az elj´ar´ ast. 3.l´ep´es. A tekintett szabad 0-t l´assuk el ”,”-vel, k¨oss¨ uk le a sor´at, ´es sz¨ untess¨ uk ∗ meg a sor´aban l´ev˝ o 0 oszlop´anak lek¨ot´es´et, majd folytassuk az elj´ar´ast a 2.l´ep´essel. 4.l´ep´es. A tekintett szabad 0-t l´assuk el ”,”-vel, ´es ebb˝ol a 00 -b˝ol kiindulva, k´epezz¨ unk l´ancot a k¨ovetkez˝ ok szerint: minden l´ancbeli 00 -re az oszlop´aban l´ev˝o 0∗ -gal folytat´ odik a l´anc, ´es minden l´ancbeli 0∗ -ra a sor´aban l´ev˝o 00 -vel folytat´odik a l´anc, felt´eve, hogy vannak ilyen elemek. Ellenkez˝o esetben a l´anck´epz´es v´eget ´er. Ezek ut´an (r+1) legyen C(r+1) a jel¨ol´esek n´elk¨ uli aktu´alis C(r) m´atrix, ´es l´assuk el ” ∗ ”-gal a cij (r)
(r)
(r)
(r)
elemet, ha cij = 0∗ ´es cij nem szerepel a l´ancban, vagy cij = 00 ´es cij eleme a l´ ancnak. Ezek ut´an n¨ovelj¨ uk r ´ert´ek´et 1-gyel, ´es folytassuk az elj´ar´ast a k¨ovetkez˝o iter´ aci´ os l´ep´essel. 5.l´ep´es. K´epezz¨ uk a szabad elemek minimum´at, majd ezt a minimumot vonjuk ki az ¨osszes szabad elemb˝ ol ´es adjuk hozz´a a k´etszer k¨ot¨ott (soruk ´es oszlopuk is le van k¨otve) elemekhez. Ezt k¨ovet˝oen az ´atalak´ıtott m´atrixot tekintve aktu´alis C(r) m´ atrixnak, folytassuk az elj´ar´ ast a 2.l´ep´essel. Az el˝oz˝ oek alapj´an az elj´ar´ as helyess´eg´enek igazol´as´ahoz elegend˝o megmutatnunk, hogy az elj´ar´ as r´ev´en el˝o´ all´ıthat´o egy olyan C(0) , . . . , C(k) m´atrixsorozat, amely rendelkezik az (1)-(4) alatti tulajdons´agokkal. Miel˝ott erre r´at´ern´enk, r´eszletesen v´egrehajtjuk az algoritmust egy konkr´et feladaton. E c´elb´ ol tekints¨ uk a H(C) hozz´arendel´esi feladatot, ahol
4 3 C = 3 2 2
5 2 3 4 1 114
3 4 4 3 3
2 3 4 2 4
3 4 3 4 3
A sorminimumok a k¨ovetkez˝ ok: 2, 2, 3, 2, 1. Ezeket rendre kivonva az els˝o,..., ¨ot¨odik ¯ m´ sor elemeib˝ol, az al´abbi C atrixhoz jutunk.
2 1 ¯ = C 0 0 1
3 0 0 2 0
1 2 1 1 2
1 2 0 2 2
0 1 1 0 3
¯ m´ A C atrix oszlopaira k´epezve a minimumokat, a k¨ovetkez˝o ´ert´ekeket kapjuk: 0, 0, 1, 0, 0. Rendre kivonva ezeket a megfelel˝o oszlopok elemeib˝ol (most csak a harmadik oszlop elemeib˝ol kell kivonnunk 1-et), az al´abbi C(0) m´atrixot kapjuk.
C(0)
2 1 = 0 0 1
3 0 0 2 0
0 1 0 0 1
0 1 1 0 3
1 2 0 2 2
Most jel¨olj¨ unk ki C(0) -ban egy f¨ uggetlen 0-rendszert oszlopfolytonosan. Az els˝o oszlop (0) els˝ o 0 eleme c31 . Vegy¨ uk fel ezt az elemet a f¨ uggetlen 0-rendszerbe, azaz l´assuk el ” ∗ ”-gal, majd t´erj¨ unk ´at a m´asodik oszlop 0 elemeinek a vizsg´alat´ara. Ebben az (0) oszlopban az els˝o 0 elem c22 . Ennek a sora nem tartalmaz 0∗ elemet, ´ıgy b˝ov´ıthetj¨ uk (0) vele a rendszert, ´es ´att´er¨ unk a harmadik oszlopra. Itt az els˝o 0 elem c13 , amellyel (0) szint´en b˝ov´ıthet˝ o a f¨ uggetlen 0-rendszer. A negyedik oszlop els˝o 0 eleme c14 , amelynek a sora tartalmaz 0∗ -ot, ´ıgy ezzel nem b˝ov´ıthet˝o a rendszer. A negyedik oszlop m´asodik (0) uggetlen 0-rendszer. V´eg¨ ul az utols´o oszlop 0 eleme c44 , amivel ism´et b˝ov´ıthet˝o a f¨ (0) els˝ o 0 eleme c35 . A harmadik sor m´ar tartalmaz 0∗ -ot, ´ıgy ezzel az elemmel nem b˝ ov´ıthet¨ unk. Mivel az utols´o oszlop t¨obb 0 elemet nem tartalmaz, ez´ert a f¨ uggetlen 0-rendszer kijel¨ol´es´et, ´es egyben az elj´ar´as el˝ok´esz´ıt˝o r´esz´et is befejezt¨ uk. A kijel¨olt f¨ uggetlen 0-rendszer a k¨ ovetkez˝ o:
C(0)
2 1 = 0∗ 0 1
3 0∗ 0 2 0
0∗ 1 0 0 1
0 1 1 0∗ 3
1 2 0 2 2
T´erj¨ unk r´a ezek ut´an az iter´aci´ os r´esz v´egrehajt´as´ara. Mivel a f¨ uggetlen 0-rendszer elemeinek a sz´ama 4, ez´ert k¨oss¨ uk le a 0∗ -okat tartalmaz´o oszlopokat.
C(0)
+ + +∗ 2 3 0 1 0∗ 1 = 0∗ 0 0 0 2 0 1 0 1 115
+ 0 1 1 0∗ 3
1 2 0 2 2
(0)
Sorfolytonosan szabad 0-t keresve, c35 az els˝o szabad 0. A harmadik sor tartalmaz (0) 0∗ -ot, ´ıgy a harmadik l´ep´es szerint c35 -t ell´atjuk ”,”-vel, a harmadik sort lek¨otj¨ uk, majd a sorban l´ev˝ o 0∗ oszlop´at (els˝o oszlop) feloldjuk. A kapott m´atrix a k¨ovetkez˝o:
C(0)
2 1 = 0∗ 0 1
+ +
+
0∗ 1 0 0 1
0 1 1 0∗ 3
3 0∗ 0 2 0
1 2 00 + 2 2
(0)
Ezt k¨ovet˝ oen a 2.l´ep´essel, sorfolytonos 0 keres´essel folytatjuk az elj´ar´ast. Most c41 az (0) els˝ o szabad 0. A negyedik sor tartalmaz 0∗ -ot, ez´ert a 3.l´ep´es alapj´an c41 -t ell´atjuk ”,”-vel, a negyedik sort lek¨otj¨ uk, ´es a negyedik oszlopot feloldjuk.
+ +
C(0)
2 1 = 0∗ 0 0 1
3 0∗ 0 2 0
0∗ 1 0 0 1
(0)
0 1 1 0∗ 3
1 2 00 + 2 + 2
(0)
Ism´et r´at´erve a 2.l´ep´esre, c14 az els˝o szabad 0. Az els˝o sor tartalmaz 0∗ -ot, ez´ert c14 -t ”,”-vel l´atjuk el, az els˝o sort lek¨otj¨ uk, ´es a harmadik oszlopot feloldjuk. 116
C(0)
2 1 = 0∗ 0 0 1
+ 3 0∗ 0∗ 1 0 0 2 0 0 1
00 1 1 0∗ 3
1 + 2 00 + 2 + 2
´ Ujra a 2.l´ep´essel folytatva az elj´ar´ ast, azt kapjuk, hogy nincs szabad 0. Ekkor az 5.l´ep´es k¨ ovetkezik. Abb´ol a c´elb´ ol, hogy az 5.l´ep´es v´egrehajt´as´at megk¨onny´ıts¨ uk, fedj¨ uk le a k¨ ot¨ ott sorokat ´es oszlopokat.
C(0)
2 1 = 0∗ 0 0 1
+ 3 0∗ 0∗ 1 0 0 2 0 0 1
00 1 1 0∗ 3
+ 1 2 00 + 2 + 2
´Igy a le nem fedett elemek lesznek pontosan a szabad elemek. Ezek minimuma 1. Ezt a minimumot kivonva a szabad elemekb˝ol ´es hozz´aadva a k´etszer fedett elemekhez, a k¨ ovetkez˝ o m´atrixhoz jutunk.
C(0)
2 0 = 0∗ 0 0 0
+ 4 0∗ 0∗ 0 1 0 3 0 0 0
00 0 1 0∗ 2
1 + 1 00 + 2 + 1 (0)
Most ism´et a 2.l´ep´essel kell folytatnunk az elj´ar´ast. Sorfolytonosan c21 az els˝o szabad (0) (0) uk, a 0. Mivel c21 sora tartalmaz 0∗ -ot, ez´ert c21 -t ell´atjuk ”,”-vel, a sor´at lek¨otj¨ m´ asodik oszlopot feloldjuk.
C(0)
2 0 0 = 0∗ 0 0 0
4 0∗ 1 3 0
0∗ 0 0 0 0
00 0 1 0∗ 2
1 1 00 2 1
+ + + +
(0) (0) ´ Ujra szabad 0-t keresve, c51 lesz az els˝o szabad 0. Mivel c51 sora nem tartalmaz 0∗ -ot, (0) ez´ert a 4.l´ep´essel folytat´odik az elj´ar´as. c51 -t ell´atjuk ”,”-vel, ´es ez lesz a l´anc kezd˝ o (0) ∗ eleme. A l´anc k¨ovetkez˝ o eleme az els˝o oszlopban l´ev˝o 0 , azaz c31 . Ezt az elemet a (0) l´ ancban a harmadik sorban elhelyezked˝o 00 , azaz c35 k¨oveti. Mivel az ¨ot¨odik oszlop (0) nem tartalmaz 0∗ -ot, ez´ert c35 -val a l´anc v´eget ´er.
117
C(0)
2 0 0 = 0∗ 0 0 00
4 0∗ 1 3 0
0∗ 0 0 0 0
00 0 1 0∗ 2
1 1 00 2 1
+ + + +
Ezek ut´an t¨or¨ olve a jel¨ol´eseket, ´es ” ∗ ”-gal ell´atva a l´ancon kiv¨ uli 0∗ -oknak megfelel˝o (0) (0) (0) elemeket (c13 , c22 , c44 ), valamint ”∗”-gal ell´atva a l´ancbeli 00 -knek megfelel˝o elemeket (0) (0) (c35 , c51 ), az al´abbi C(1) m´ atrixot kapjuk.
C(1)
2 0 = 0 0 0∗
4 0∗ 1 3 0
0∗ 0 0 0 0
0 0 1 0∗ 2
1 1 0∗ 2 1
Mivel C(1) -ben egy 5-elem˝ u f¨ uggetlen 0-rendszer van kijel¨olve, ez´ert az elj´ar´as v´eget ´er. Az el˝oz˝ oek alapj´an tudjuk, hogy ebben az esetben egy optim´alis megold´as az ¯ al´ abbi X m´ atrix:
0 0 ¯ = X 0 0 1
0 1 0 0 0
1 0 0 0 0
0 0 0 1 0
0 0 1 0 0
A v´egrehajtott elj´ar´ assal kapcsol´odva, fontosnak tartjuk megjegyezni a k¨ovetkez˝oket. A sz¨ uks´eges iter´aci´ ok k sz´ama C-t˝ol f¨ ugg˝oen a 0, 1, . . . , n − 1 ´ert´ekek b´armelyike lehet. P´eld´ aul konstru´ alhat´ o olyan 5×5-¨os C m´atrix (a 3.feladatban egy ilyen m´atrixot adunk meg), amelyre alkalmazva az elj´ar´ast, C(0) , C(1) , C(2) , C(3) , C(4) az el˝o´all´o m´ atrixsorozat. A l´anck´epz´es sor´an el˝ofordulhat, hogy a l´anc egyetlen 00 elemb˝ol, a kezd˝o elemb˝ol all. Ilyenkor elfajul´ ´ o l´ ancr´ ol besz´el¨ unk, amely u ´gy interpret´alhat´o, hogy a benne sz0 erepl˝ o 0 -vel k¨ozvetlen¨ ul b˝ov´ıthet˝ o az el˝oz˝oekben el˝o´all´ıtott f¨ uggetlen 0-rendszer. Az algoritmus fenti v´egrehajt´as´aban az egyes l´ep´eseket sz´and´ekosan t´ ulr´eszletezt¨ uk. A C(0) ism´etelt ki´ır´ asa n´elk¨ ul kijel¨olhet˝o C(0) -ban a f¨ uggetlen 0-rendszer, lek¨ othet˝ ok az oszlopok, ´es v´egrehajthat´ok a sork¨ot´esek valamint az oszlopfelold´asok. Ez ut´obbit a ”+” jel bekarik´ az´ as´ aval jel¨olj¨ uk. A m´atrix ism´etelt ki´ır´asa csak az 5.l´ep´es v´egrehajt´asa ut´an sz¨ uks´eges. Az elmondottaknak megfelel˝oen v´egrehajtva az elj´ar´ast, az al´abbi m´atrixokhoz jutunk: 118
4 3 3 2 2
5 2 3 4 1
3 4 4 3 3
2 3 4 2 4
3 4 3 4 3
2 1 0 0 1
3 0 0 2 0
1 2 1 1 2
0 1 1 0 3
1 1 00 2 1
+ + + +
1 2 0 2 2
° + + ° +
° +
0∗ 1 0 0 1
00 1 1 0∗ 3
2 1 ∗ 0 0 0 1
3 0∗ 0 2 0
1 + 2 00 + 2 + 2
° +
2 00 ∗ 0 0 0 00
4 0∗ 1 3 0
0∗ 0 0 0 0
00 0 1 0∗ 2
2 0 0 0 0∗
4 0∗ 1 3 0
0∗ 0 0 0 0
0 0 1 0∗ 2
1 1 0∗ 2 1
Ezek ut´an r´at´erhet¨ unk az elj´ar´as helyess´eg´enek az igazol´as´ara. Megmutatjuk, hogy az algoritmus egy olyan C(0) , . . . , C(k) (k < n) m´atrixsorozatot ´all´ıt el˝o, amely rendelkezik az (1) − (4) alatti tulajdons´agokkal. Vizsg´ aljuk els˝ok´ent az elj´ar´ as el˝ok´esz´ıt˝o r´esz´et. Ha az i-edik sor elemeinek a minimum´ at αi -vel jel¨olj¨ uk (i = 1, . . . , n), akkor nyilv´anval´o, hogy cij = c¯ij + αi teljes¨ ul ¯ m´atrix j-edik oszlop´anak minimum´at βj -vel b´ armely (i, j) indexp´arra. Hasonl´oan, a C (0) (0) jel¨ olve (j = 1, . . . , n), c¯ij = cij + βj . De akkor cij = cij + αi + βj teljes¨ ul b´armely (0) (i, j) indexp´arra, ´es ´ıgy C ∼ C . M´asr´eszt vegy¨ uk ´eszre, hogy mivel a sorokb´ol ´es oszlopokb´ol mindig az illet˝o sorok ´es oszlopok elemeinek minimum´at vonjuk ki, ez´ert C(0) ≥ 0. Szint´en a minimumok kivon´asa miatt C(0) minden sora ´es minden oszlopa tartalmaz legal´abb egy 0-t. Ebb˝ol k¨ovetkezik, hogy az oszlopfolytonosan kijel¨olhet˝ o f¨ uggetlen 0-rendszer legal´abb egy elemet tartalmaz. Ezzel az el˝ok´esz´ıt˝o r´esz helyess´eg´et igazoltuk. Tekints¨ uk ezek ut´an az iter´aci´os elj´ar´asr´eszt. Tegy¨ uk fel, hogy adott egy olyan (r) (r) (r) C m´ atrix, amelyre C ∼ C , C ≥ 0, ´es C -ben ki van t¨ untetve egy m-elem˝ u f¨ uggetlen 0-rendszer, ahol 1 ≤ m < n. (r)
Els˝ ok´ent megmutatjuk, hogy a tekintett elj´ar´asr´esz v´eges l´ep´esben v´eget ´er. Val´ oban, vegy¨ uk ´eszre, hogy a 2 − 3 l´ep´eskombin´aci´o legfeljebb m-szer hajt´odik v´egre, ugyanis minden egyes v´egrehajt´asn´al lek¨ot¨ unk egy sort ´es feloldunk egy oszlopot. Mivel a k¨ot¨ ott oszlopok sz´ama m, ez´ert ezt a l´ep´eskombin´aci´ot m-szer v´egrehajtva, minden egyes 0∗ k¨ot¨ ott sorban lesz, ´ıgy az elj´ar´as vagy a 4.l´ep´essel, vagy az 5.l´ep´essel folytat´ odik. Az 5.l´ep´es szint´en legfeljebb m-szer ker¨ ul v´egrehajt´asra. Erre a l´ep´esre akkor ker¨ ul sor, ha nem tal´alunk szabad 0-t. Mivel a k¨ot¨ott sorok sz´ama legfeljebb m(< n), ez´ert az aktu´alis C(r) -ben van k¨otetlen sor. Egy ilyen sor 00 -t nem tartalmazhat, ´es 0∗ -b´ol is legfeljebb egyet, ami k¨ot¨ott oszlopban van. M´asr´eszt a k¨ot¨ott oszlopok sz´ama legfeljebb m, ´ıgy a sor tartalmaz legal´abb n − m szabad elemet, azaz l´eteznek szabad elemek. Mivel nincs szabad 0, ´es C(r) elemei nemnegat´ıvak, ez´ert a 119
szabad elemek rendre pozit´ıvak. Ezek minimum´at kivonva minden szabad elemb˝ol, az atalak´ıt´ ´ as ut´ani m´atrix legal´abb egy szabad 0-t tartalmaz, m´egpedig ott, ahol a szabad elemek felveszik a minimumukat. A kapott szabad 0-val vagy a 4.l´ep´essel, vagy a 3.l´ep´essel folytat´odik az elj´ar´ as. Az ut´obbi esetben a szabad 0 sor´at lek¨otj¨ uk, ´es ∗ a sor´aban l´ev˝ o 0 oszlop´ at feloldjuk, amib˝ol m´ar k¨ovetkezik az 5.l´ep´esre vonatkoz´o all´ıt´ ´ as, ´es az elj´ar´ asr´esz v´egess´ege is. Most megmutatjuk, hogy az 5.l´ep´esre teljes¨ ulnek a k¨ovetkez˝ok: (i) az ´atalak´ıt´ as sor´an a 0∗ , 00 elemek nem v´altoznak, 0
0
0
(ii) az ´atalak´ıt´ assal el˝o´ all´ıtott C (r) m´atrixra C (r) ≥ 0 ´es C (r) ∼ C(r) teljes¨ ul. Az (i) ´all´ıt´ as k¨ovetkezik abb´ol, hogy minden egyes 0∗ pontosan egyszer van lek¨otve vagy a sor´aban vagy az oszlop´aban, tov´abb´a minden egyes 00 elemnek a sora k¨ot¨ott, az oszlopa pedig szabad. 0
Az (ii) ´all´ıt´ asban C (r) nemnegativit´asa abb´ol ad´odik, hogy az ´atalak´ıt´as sor´an a szabad elemek pozit´ıv θ minimum´at vonjuk ki a szabad elemekb˝ol ´es adjuk hozz´a 0 a k´etszeresen k¨ot¨ ott elemekhez. V´eg¨ ul a C (r) ∼ C(r) fenn´all´as´anak igazol´as´ahoz vegy¨ uk ´eszre, hogy az 5.l´ep´es ´atalak´ıt´asa az eredm´enyt illet˝oen megegyezik a k¨ovetkez˝o m˝ uvelettel: a nem k¨ot¨ ott sorok elemeib˝ol rendre vonjunk ki θ-t, a k¨ot¨ott oszlopok elemeihez rendre adjunk hozz´a θ-t. Val´oban, az ut´obbi ´atalak´ıt´as sor´an a k´etszeresen k¨ ot¨ ott elemekhez hozz´ aad´ odik θ, az egyszeresen k¨ot¨ott elemek nem v´altoznak, a szabad elemek cs¨okkennek θ-val, azaz a k´et ´atalak´ıt´as ugyanazt a m´atrixot eredm´enyezi. 0 M´ asr´eszt a m´asodik ´atalak´ıt´ asr´ ol nyilv´anval´o, hogy a v´egrehajt´as´aval el˝o´all´o C (r) m´ atrix ekvivalens C(r) -rel. Vizsg´ aljuk ezek ut´an az elj´ar´ as 4.l´ep´es´et. Mivel minden oszlop legfeljebb egy 0∗ -ot, 0 ´es minden sor legfeljebb egy 0 -t tartalmaz, ez´ert a l´anck´epz˝o algoritmus egy´ertelm˝ uen meghat´ arozza a l´ancot. Jel¨olje (i1 , λ1 ), (i2 , λ1 ), (i2 , λ2 ), . . . a l´ancbeli elemek indexp´ arjainak a sorozat´at a l´anck´epz´esnek megfelel˝o sorrendben. Megmutatjuk, hogy a l´ anc nem metszi ¨onmag´ at, azaz a fenti indexp´arsorozat elemei p´aronk´ent k¨ ul¨onb¨oz˝oek. Ehhez igazoljuk a k¨ ovetkez˝ oket: (a) a fenti sorozatban a l´ancbeli 00 elemekhez tartoz´o indexp´arok p´aronk´ent k¨ ul¨ onb¨ oz˝ ok, (b) a l´anck´epz´es sor´an minden l´ancbeli 0∗ elemet k¨ovet egy 00 elem a l´ancban. Az (a) ´all´ıt´ as igazol´as´ ahoz a m´atrix minden egyes 00 elem´ehez rendelj¨ uk hozz´a azt ´ az id˝opontot, amikor az illet˝o 0-t az elj´ar´as sor´an ell´attuk ”,”-vel. Igy minden 00 -h¨oz hozz´ arendelt¨ unk egy id˝opontot, ´es k¨ ul¨onb¨oz˝o 00 -kh¨oz k¨ ul¨onb¨oz˝o id˝opont tartozik. Most tekints¨ unk a l´ancban k´et egym´ast k¨ovet˝o 00 ele0∗ 00 σ0 met. Jel¨olje az els˝o elemhez rendelt id˝opontot σ ´es a m´ asodik 00 -h¨oz rendelt id˝opontot σ 0 . Vegy¨ uk ´eszre, 0 ∗ hogy az els˝o 0 oszlop´aban van egy 0 , ´ıgy ez az oszlop az iter´aci´os elj´ar´asr´esz kezdetekor le van k¨otve. Ezt a k¨ot´est a 3.l´ep´es alapj´an akkor sz¨ untetj¨ uk meg, 0 ∗ ... 0 σ amikor a 0 sor´aban ell´atunk egy szabad 0-t ”,”-vel. Mivel minden sor legfeljebb egy 00 elemet tartalmaz, ´ıgy 120
ez az id˝opont σ 0 . De ez azt jelenti, hogy a tekintett 0∗ oszlop´aban l´ev˝o b´armely 0 elem a σ 0 id˝opontban v´alhat szabad 0-v´a, k¨ovetkez´esk´epp ”,”-vel t¨ort´en˝o megjel¨ol´es´ere csak egy k´es˝ obbi id˝opontban ker¨ ulhet sor, azaz σ > σ 0 . Ezzel viszont azt kapjuk, hogy a fenti indexp´arsorozatban a 00 -kh¨oz rendelt id˝opontok egy szigor´ uan monoton cs¨okken˝ o sorozatot alkotnak, amib˝ol m´ar k¨ovetkezik az ´all´ıt´as. A (b) ´all´ıt´ as igazol´as´ ahoz tekints¨ uk a l´anc egy tetsz˝oleges 0∗ elem´et. A l´anck´epz˝o algoritmus szerint a 0∗ oszlop´aban egy l´ancbeli 00 0∗ el˝ ozi meg a 0∗ -ot. M´asr´eszt a 0∗ oszlopa az iter´aci´os elj´ ar´ as kezdet´en le van k¨otve. ´Igy ebbe az oszlopba csak u ´gy ker¨ ulhetett 00 , hogy a 0∗ sor´aban egy szabad 0-t el. . . 00 l´ attunk ”,”-vel ´es a 0∗ oszlop´at feloldottuk. De akkor a l´anck´epz˝o algoritmus szerint ez a 00 a l´anc k¨ovetkez˝o eleme, amivel az ´all´ıt´ ast igazoltuk. Most megmutatjuk, hogy az (i1 , λ1 ), (i2 , λ1 ), . . . sorozatban a l´ancbeli 0∗ -okhoz tartoz´ o indexek k¨ ul¨ onb¨ oz˝ ok. Val´oban, ha k´et ilyen indexp´ar megegyezne, akkor ∗ (b) alapj´an az illet˝o 0 -okat k¨oveti egy-egy 00 , ´es a l´anck´epz´es egy´ertelm˝ us´ege miatt ezen 00 -kh¨oz tartoz´o indexp´arok is megegyezn´enek, ami ellentmond (a)-nak. K¨ ovetkez´esk´epp, a vizsg´alt indexp´arok is p´aronk´ent k¨ ul¨onb¨oz˝ok. Mivel az elj´ar´ as sor´an a 0-kat legfeljebb egy jellel l´attuk el, ez´ert a fentiekb˝ol m´ar k¨ ovetkezik, hogy az (i1 , λ1 ), (i2 , λ1 ), . . . indexp´arok p´aronk´ent k¨ ul¨onb¨oz˝ok, azaz a l´anc nem metszi ¨onmag´ at. Vizsg´ aljuk v´eg¨ ul a l´ancon kiv¨ uli 0∗ -okb´ol ´es a l´ancbeli 00 -kb˝ol ´all´o 0-rendszert. Megmutatjuk, hogy ez olyan f¨ uggetlen 0-rendszer, amelynek elemsz´ama m + 1. Val´ oban, a l´ancon kiv¨ uli 0∗ -ok f¨ uggetlen 0-rendszert alkotnak, mert a 0∗ -ok f¨ uggetlen 0-rendszert jel¨oltek, ´es egy ilyen rendszer minden r´eszrendszere is f¨ uggetlen 0 0-rendszer. Most tekints¨ uk a l´ancbeli 0 elemeket. Mivel minden sor legfeljebb egy 00 -t tartalmaz, ez´ert minden sorban legfeljebb egy eleme van a tekintett rendszernek. Megmutatjuk, hogy ez az oszlopokra is teljes¨ ul. Tegy¨ uk fel, hogy valamely oszlop k´et l´ ancbeli 00 elemet tartalmaz. Akkor ezek k¨oz¨ ul valamelyik 00 kezd˝o vagy k¨ozb¨ uls˝ o ∗ eleme a l´ancnak, ez´ert a vizsg´alt oszlop tartalmaz egy l´ancbeli 0 -ot is. De akkor a l´ anck´epz˝ o algoritmus szerint a m´asik 00 -t is ez a 0∗ k¨ovetn´e a l´ancban, ´es ´ıgy a l´anc metszen´e ¨onmag´ at, ami ellentmond´as. K¨ovetkez´esk´epp, minden oszlop legfeljebb egy 0 l´ ancbeli 0 -t tartalmaz, ´es ´ıgy a l´ancbeli 00 -k f¨ uggetlen 0-rendszert alkotnak. Ezek ut´an az u ´j 0-rendszer f¨ uggetlens´eg´ehez csak azt kell igazolnunk, hogy 0 (i) l´ancbeli 0 sor´ aban nincs l´ancon kiv¨ uli 0∗ , 0 (ii) l´ancbeli 0 oszlop´ aban nincs l´ancon kiv¨ uli 0∗ . Az (i) ´all´ıt´ as igazol´as´ ahoz tegy¨ uk fel, hogy valamely l´ancbeli 00 elem sora tartalmaz l´ancon kiv¨ uli 0∗ -ot. Ekkor a tekintett 00 nem lehet a l´anc kezd˝o eleme, ugyanis csak akkor ind´ıthatunk 00 -b˝ ol l´ancot, ha a sora nem tartalmaz 0∗ elemet. ´Igy a vizsg´alt 00 k¨ozb¨ uls˝ o vagy befejez˝o eleme a l´ancnak. De ekkor a l´ancban van egy elem el˝otte, m´egpedig egy 0∗ . A l´anck´epz˝o algoritmus alapj´an ez a 0∗ is a tekintett 00 sor´aban helyezkedne el, ´es ´ıgy ez a sor k´et 0∗ -ot tartalmazna, ami ellentmond´as. K¨ ovetkez´esk´epp, l´ancbeli 00 sora nem tartalmazhat l´ancon kiv¨ uli 0∗ -ot. 121
Hasonl´ oan l´athat´ o be az (ii) ´all´ıt´as is. Ehhez tegy¨ uk fel, hogy valamely l´ancbeli 00 oszlopa tartalmaz l´ancon kiv¨ uli 0∗ -ot. Ekkor a tekintett 00 elem nem lehet a l´anc befejez˝o eleme, ugyanis a l´anck´epz˝o algoritmus szerint az oszlopban l´ev˝o 0∗ -gal folytat´ odna a l´anc. ´Igy a tekintett 00 a l´anc kezd˝o vagy k¨ozb¨ uls˝o eleme. De akkor a l´ anck´epz˝ o algoritmus szerint ez az oszlop tartalmaz egy l´ancbeli 0∗ -ot is. Ezzel azt kapjuk, hogy az oszlopban k´et 0∗ van, ami ellentmond´as. K¨ovetkez´esk´epp, l´ancbeli 00 oszlopa nem tartalmaz l´ ancon kiv¨ uli 0∗ -ot. Most felhaszn´alva, hogy mind a l´ancon kiv¨ uli 0∗ -ok, mind a l´ancbeli 00 -k f¨ uggetlen 0-rendszert alkotnak, (i) ´es (ii) alapj´an egyszer˝ uen ad´odik, hogy a l´ancon kiv¨ uli 0∗ -ok ´es a l´ancbeli 00 -k egy¨ uttesen egy f¨ uggetlen 0-rendszert alkotnak. H´ atra van m´eg annak igazol´asa, hogy az u ´j f¨ uggetlen 0-rendszer elemeinek a sz´ama m+1. Tudjuk, hogy a l´anc nem metszi ¨onmag´at. M´asr´eszt a l´anc 00 -vel kezd˝odik ´es (b) alapj´an 00 -vel v´egz˝ odik. Ez pontosan azt jelenti, hogy a l´ancban szerepl˝o 00 -k sz´ama eggyel t¨obb, mint a l´ancbeli 0∗ -ok sz´ama, amivel ad´odik az elemsz´amokra vonatkoz´ o all´ıt´ ´ as. ¨ Osszegezve az eddigieket, megmutattuk, hogy az iter´aci´os elj´ar´asr´esszel a C(r) b˝ ol k¨ozvetlen¨ ul, vagy k¨ozb¨ uls˝ o m´atrixok felhaszn´al´as´aval el˝o´all´ıtott C(r+1) m´atrixra teljes¨ ulnek a k¨ovetkez˝ ok: (r) (r+1) (i) C ∼ C , (r+1) (ii) C ≥ 0, (r+1) (iii) C -ben ki van jel¨olve egy (m+1)-elem˝ u f¨ uggetlen 0-rendszer. Ekkor C(r+1) -re teljes¨ ul (2) ´es (3). M´asr´eszt, mivel minden iter´aci´o sor´an eggyel n˝o a f¨ uggetlen 0-rendszer elemeinek a sz´ama, ez´ert az iter´aci´ok sz´ama legfeljebb n − 1. Ebb˝ ol m´ar k¨ovetkezik az iter´aci´ os elj´ar´asr´esz ´es egyben az eg´esz elj´ar´as helyess´ege.
Tiltott hozz´ arendel´ esek kezel´ ese El˝ ofordulnak olyan gyakorlati probl´em´ak, amelyek hozz´arendel´esi feladathoz vezetnek, de bizonyos hozz´arendel´esek nincsenek megengedve. Ilyenkor tiltott hozz´ arendel´esekr˝ ol besz´el¨ unk. Nyilv´anval´o, hogy ezeknek a feladatoknak nem okvetlen l´etezik lehets´eges megold´asa. A k¨ovetkez˝okben megmutatjuk, hogy a tilt´asos feladatok mindig visszavezethet˝ ok egy alkalmas hozz´arendel´esi feladat megold´as´ara. n×n Tekints¨ uk a C k¨ olts´egm´ atrix´ u hozz´arendel´esi feladatot az xit jt = 0 (t = 1, . . . , r) tilt´asokkal, ´es jel¨olje ezt a feladatot T H(C). Legyen D olyan n × n-es m´atrix, amelyre C ∼ D. Akkor ´erv´enyes a k¨ovetkez˝o ´all´ıt´as. 8.seg´ edt´ etel. A T H(C) ´es T H(D) feladatoknak egyidej˝ uleg l´etezik optim´ alis megold´ asa, ´es az optim´ alis megold´ asok megegyeznek. Bizony´ıt´ as. Mivel a felt´etelrendszerek azonosak, ez´ert a lehets´eges megold´asok halmaza k¨oz¨ os. Ha ez a halmaz u ¨res, akkor egyik feladatnak sincs lehets´eges megold´asa, ellenkez˝ o esetben mindk´et feladatnak l´etezik optim´alis megold´asa. M´asr´eszt a 122
¯ = zD (X) ¯ + γ egyenl˝os´eg ezekn´el a feladatokn´al is 7.seg´edt´eteln´el igazolt zC (X) ¯ ¯ optim´alis megold´asa az egyik ´erv´enyes tetsz˝oleges X lehets´eges megold´asra. ´Igy, ha X feladatnak, akkor optim´alis megold´asa a m´asik feladatnak is, amivel ad´odik az ´all´ıt´as. A 8.seg´edt´etel alapj´an elegend˝o olyan T H(C) feladatok megold´as´ara szor´ıtkozni, amelyekre C ≥ 0 teljes¨ ul. Tegy¨ uk fel, hogy C egy ilyen m´atrixot jel¨ol. Legyen M =1+
n X n X
cij ,
i=1 j=1
´es k´epezz¨ uk az A n × n-es m´atrixot a k¨ovetkez˝ok szerint: ½ M, ha van olyan 1 ≤ t ≤ r, hogy (i, j) = (it , jt ), aij = cij k¨ ul¨ onben. A T H(C) ´es H(A) feladatok kapcsolat´at adja meg a k¨ovetkez˝o ´all´ıt´as. 9.seg´ edt´ etel. A T H(C) feladatnak akkor ´es csak akkor l´etezik optim´ alis megold´ asa, ha a H(A) hozz´ arendel´esi feladat optimuma kisebb, mint M , ´es ebben az esetben H(A) optim´ alis megold´ asa egyben optim´ alis megold´ asa a T H(C) feladatnak is. Bizony´ıt´ as. Jel¨ olje T H(C) ´es H(A) lehets´eges megold´asainak halmaz´at rendre ¯ ∈L LT ´es L. Nyilv´anval´ o, hogy LT ⊆ L. Els˝ok´ent megmutatjuk, hogy tetsz˝oleges X lehets´eges megold´asra ¯ ≥ M teljes¨ ¯ ∈ L − LT , (i) zA (X) ul, ha X ¯ = zC (X) ¯ < M teljes¨ ¯ ∈ LT . (ii) zA (X) ul, ha X ¯ ∈ L − LT , akkor van olyan 1 ≤ t ≤ r index, hogy x Val´ oban, ha X ¯it jt = 1. Viszont ´ıgy az A m´ atrix nemnegativit´asa alapj´an M = a it j t x ¯it jt ≤
n X n X
¯ , aij x ¯ij = zA (X)
i=1 j=1
¯ ∈ LT . amivel ad´odik az (i) ´all´ıt´ as. Az (ii) ´all´ıt´as igazol´as´ahoz tegy¨ uk fel, hogy X Ekkor x ¯it jt = 0 (t = 1, . . . , r), ´es ´ıgy ¯ = zC (X)
n X n X
cij x ¯ij =
i=1 j=1
n X n X
¯ . aij x ¯ij = zA (X)
i=1 j=1
M´ asr´eszt C nemnegativit´ asa miatt n X n X
cij x ¯ij ≤
i=1 j=1
n X n X
cij .
i=1 j=1
´Igy M defin´ıci´ oj´ at is felhaszn´alva, azt kapjuk, hogy ¯ = zC (X) ¯ ≤ zA (X)
n X n X i=1 j=1
123
cij < M ,
amivel az (ii) ´all´ıt´ ast is igazoltuk. Ezek ut´an r´at´er¨ unk a seg´edt´etel ´all´ıt´as´anak igazol´as´ara. A felt´etel sz¨ uks´egess´eg´enek igazol´as´ahoz tegy¨ uk fel, hogy a T H(C) feladatnak ¯ egy optim´alis megold´ast. Akkor (ii) alapj´an l´etezik optim´alis megold´asa. Jel¨olj¨on X ¯ = zC (X) ¯ < M . M´asr´eszt LT ⊆ L, ´ıgy zA (X) ¯ <M , min zA (X) ≤ zA (X)
X∈L
azaz H(A) optimuma kisebb, mint M . Az elegend˝os´eg igazol´as´ ahoz tegy¨ uk fel, hogy a H(A) feladat optimuma kisebb, ¯ egy optim´alis megold´ast. zA (X) ¯ < M fenn´all´as´ab´ol (i) alapj´an mint M . Jel¨olj¨ on X ¯ ¯ X ∈ LT k¨ovetkezik. Mivel X optim´alis megold´asa H(A)-nak, ez´ert ¯ ≤ zA (X) , ha X ∈ L . zA (X) De akkor LT ⊆ L miatt ¯ ≤ zA (X) , ha X ∈ LT . zA (X) M´ asr´eszt (ii) alapj´an ¯ = zC (X) ¯ , zA (X)
˜ = zC (X) ˜ (X ˜ ∈ LT ) . zA (X)
A fenti egyenl˝ os´egeket ´es egyenl˝ otlens´egeket felhaszn´alva, azt kapjuk, hogy tetsz˝oleges ˜ ¯ ˜ azaz X ¯ optim´alis megold´asa a T H(C) feladatX ∈ LT megold´asra zC (X) ≤ zC (X), nak, amivel a 9.seg´edt´etelt igazoltuk. A fentiekb˝ ol k¨ovetkezik, hogy tetsz˝oleges T H(C) feladatot meg tudunk oldani az al´ abbi algoritmus alapj´an. Elj´ ar´ as 1.l´ep´es. Ha a C m´atrix nem tartalmaz negat´ıv elemeket, akkor a 2.l´ep´es k¨ ovetkezik. Ellenkez˝ o esetben vegy¨ uk C legkisebb elem´et, ´es ezt vonjuk ki a m´ atrix minden egyes elem´eb˝ ol. Ezek ut´an az el˝o´all´ıtott m´atrixot tekintve aktu´alis k¨ olts´egm´ atrixnak, folytassuk az elj´ar´ast a 2.l´ep´essel. Pn Pn 2.l´ep´es. Legyen M = 1+ i=1 j=1 cij , ´es k´epezz¨ uk az A m´atrixot az el˝oz˝oekben megadott defin´ıci´ o szerint. Ezt k¨ovet˝oen oldjuk meg a H(A) hozz´arendel´esi feladatot magyar m´odszerrel. Ha az optimum ´ert´eke nem kisebb, mint M , akkor a T H(C) feladatnak nincs lehets´eges megold´asa. Ellenkez˝o esetben H(A) optim´alis megold´asa egyben optim´alis megold´asa a T H(C) feladatnak is. Az elj´ar´ as illusztr´al´ as´ ara tekints¨ uk az −2 2 C= 3 4
al´abbi T H(C) feladatot: 3 1 2 −1 3 4 1 0 2 −1 3 5
124
ahol a tiltott hozz´ arendel´esek a k¨ovetkez˝ok: x13 = x22 = x33 = 0. A legkisebb elem C-ben −2, ezt rendre kivonva C minden elem´eb˝ol, a k¨ovetkez˝ o nemnegat´ıv m´atrixhoz jutunk: 0 5 3 4 4 1 5 6 C= 5 3 2 4 6 1 5 7 Pn Pn Most k´epezve az 1 + i=1 j=1 cij ´ert´eket , eredm´enyk´ent M = 62 ad´odik. Ezt rendre be´ırva a c13 , c22 , c33 elemek hely´ere, ´es az el˝o´all´o A m´atrixhoz tartoz´o H(A) hozz´ arendel´esi feladatot megoldva magyar m´odszerrel, az al´abbi m´atrixsorozathoz jutunk:
0 0 5 62 4 4 62 5 6 0 5 3 62 4 2 5 6 1 5 7 K¨ ovetkez´esk´epp, a H(A) m´ atrix:
+ ° + + ∗ 5 62 4 0 5 61 3 58 1 2 0 58 0∗ 1 2 0∗ 58 00 + 0 59 1 0 4 6 5 00 3 5 hozz´arendel´esi feladat egy optim´alis
0∗ 5 0 58 2 0 5 0∗ megold´as a
61 3 0∗ 1 58 0∗ 3 5 k¨ovetkez˝o
1 0 0 0 0 0 1 0 ¯ = X 0 0 0 1 0 1 0 0 ¯ A megfelel˝o c´elf¨ uggv´eny´ert´ek zA (X) = 10. Mivel az optimum ´ert´eke kisebb, mint 62, ¯ optim´alis megold´asa a tekintett T H(C) feladatnak is. ez´ert X
Ezzel a hozz´arendel´esi feladat megold´as´ara szolg´al´o magyar m´odszer t´argyal´as´ at befejezt¨ uk. Amint azt a demonstr´aci´os p´eld´ak is mutatj´ak, egy igen hat´ekony elj´ar´ast siker¨ ult H. W. Kuhnnak kidolgoznia. Kuhn ´erdemeit csak n¨oveli, hogy egy ´evvel a magyar m´odszer megjelen´ese ut´an kider¨ ult, hogy az ´altala alkalmazott technika felhaszn´ alhat´ o egy ´altal´ anosabb feladatt´ıpus, a sz´all´ıt´asi feladat megold´as´ara is. Ezzel a k¨ovetkez˝ o fejezetben fogunk megismerkedni.
Feladatok 1. Hat´arozzuk meg az al´abbi m´atrixban 0-rendszert. 3 1 0 0 0 1 2 1 0 4 2 1 125
kijel¨olhet˝o ¨osszes lehets´eges f¨ uggetlen 2 2 3 0
2. Oldjuk meg magyar m´odszerrel az al´abbi k¨olts´egm´atrix´ u hozz´arendel´esi feladatokat: 5 6 5 8 9 1 2 4 8 4 5 4 5 4 5 4 3 7 8 4 2 1 2 3 6 1 3 5 5 3 6 3 4 4 3 4 5 7 1 2 7 3 4 5 5 6 6 5 3 8 6 2 3 6 4 5 6 3. Hajtsuk v´egre a magyar m´odszert a H(C) hozz´arendel´esi feladaton, ahol
1 3 C = 2 3 6
1 4 3 4 4
1 5 4 5 6
1 3 6 3 5
1 1 1 1 1
4. Oldjuk meg az al´abbi k¨olts´egm´atrix´ u tilt´asos hozz´arendel´esi feladatokat, ahol a tilt´asokat az egyes k¨olts´egm´ atrixok alatt adtuk meg.
2 1 −1 3 1 3 x12 x32 x46 x54
2 4 2 1 4 2 1 2 1 2 4 1 = x14 = x34 = x51 = x56
3 1 −1 2 1 1 2 1 −1 1 1 −1 = x23 = x45 = x52 = x63
=0 =0 =0 =0
2 1 3 −1 2 1 3 0 2 2 4 −1 x13 x25 x41 x51
1 2 3 −1 1 2
2 2 1 3 1 1
−1 1 0 0 1 2
= x16 = x31 = x44 = x64
= x24 = x34 = x46 = x66
126
1 2 0 3 3 1 1 3 −1 −1 2 1 −1 3 0 0 0 =0 =0 =0 =0
x11 x22 x33 x44
1 −1 2 1 1 = x12 = x23 = x34 = x45
0 0 2 −1 −1
−1 1 0 2 2
2 2 2 1 1
= x13 = 0 = x24 = 0 = x35 = 0 =0
2.12 Sz´ all´ıt´ asi feladat megold´ asa magyar m´ odszerrel
1941-ben F. L. Hitchcock vetette fel az az´ota sz´all´ıt´asi feladat n´even ismert k¨ ovetkez˝ o probl´em´ at. Adottak bizonyos felad´ohelyek, amelyeken azonos anyagf´eles´eg ´all rendelkez´esre k¨ ul¨ onb¨oz˝ o mennyis´egekben. Adottak tov´abb´a bizonyos felvev˝ohelyek, amelyeken ezen anyagf´eles´egre van sz¨ uks´eg el˝o´ırt mennyis´egekben. Sz´all´ıtsuk el a felad´ohelyeken l´ev˝o anyagot a k´ıv´ ant mennyis´egben a felvev˝ohelyekre u ´gy, hogy a sz´all´ıt´assal kapcsolatos k¨ olts´egek ¨osszege minim´alis legyen. Vezess¨ uk be a k¨ovetkez˝ o jel¨ol´eseket. Jel¨olje n a felad´ohelyek sz´am´ at, ai az i-edik felad´ohelyen l´ev˝ o anyag mennyis´eg´et (i = 1, . . . , n), m a felvev˝ ohelyek sz´am´ at, bj a j-edik felvev˝ ohelyen sz¨ uks´eges anyagmennyis´eget (j = 1, . . . , m), cij egys´egnyi anyagmennyis´egnek a sz´all´ıt´asi k¨olts´eg´et, ha a sz´all´ıt´as az i-edik felad´ ohelyr˝ ol a j-edik felvev˝ ohelyre t¨ort´enik (i = 1, . . . , n; j = 1, . . . , m), xij az i-edik felad´ohelyr˝ ol a j-edik felvev˝ohelyre sz´all´ıtand´o anyagmennyis´eget (i = 1, . . . , n; j = 1, . . . , m). A bevezetett jel¨ol´esekkel a probl´ema az al´abbi optimumsz´am´ıt´asi modellel ´ırhat´o le: m X
xis = ai
(i = 1, . . . , n)
xsj = bj
(j = 1, . . . , m)
s=1
(2.12.1)
n X s=1
xij ≥ 0 (i = 1, . . . , n ; j = 1, . . . , m) —————————————————— n X m X cij xij = z(X) → min i=1 j=1
Pm Val´ oban, a P s=1 xis = ai felt´etel biztos´ıtja, hogy az i-edik felad´ohelyr˝ol elsz´all´ıtjuk az n anyagot, a s=1 xsj = bj felt´etel pedig biztos´ıtja, hogy a j-edik felvev˝ohely megkapja 126
a sz¨ uks´eges anyagmennyis´eget. Mivel ezt minden 1 ≤ i ≤ n, 1 ≤ j ≤ m indexp´ arra megk¨ovetelj¨ uk, ez´ert a sz´all´ıt´as az el˝o´ır´as szerint t¨ort´enik. Vizsg´aljuk ezek ut´ an a k¨olts´egeket. Felt´etelezve, hogy a k¨olts´egek a sz´all´ıtott anyag mennyis´eg´evel egyenesen ar´anyosak, az i-edik felad´ohelyr˝ol xij mennyis´eg˝ u anyagnak a j-edik felvev˝ helyre t¨ort´en˝ o sz´all´ıt´ asa sor´an a k¨olts´eg: cij xij . ´Igy a teljes sz´all´ıt´as k¨olts´ege Pn oP m i=1 j=1 cij xij . ´ Erdekes m´odon, annak ellen´ere, hogy F. L. Hitchcock egy elj´ar´ast is megadott a feladat megold´as´ ara, 1949-ig nem sok halad´as t¨ort´ent a sz´all´ıt´asi feladat alkalmaz´as´at, hat´ekony megold´as´ at illet˝oen. Ekkor T. C. Koopmans, aki a m´asodik vil´agh´abor´ u alatt egy sz´all´ıt´ asokat szervez˝ o bizotts´ag tagjak´ent tev´ekenykedett, ´es munk´aja sor´an alkalmazta a modellt, felh´ıvta a figyelmet a sz´all´ıt´asi feladat hasznoss´ag´ara, ´es k¨ozz´etette tapasztalait. Koopmans cikke fordul´opontot jelentett. Kifejleszt´esre ker¨ ultek a feladat saj´atoss´ agait kihaszn´al´ o, igen hat´ekony elj´ar´asok. Az els˝o teljesk¨or˝ u elj´ar´ast G. B. Dantzig k¨oz¨ olte 1951-ben, amely disztribuci´os m´odszer n´even ismeretes. Ez l´enyeg´eben a szimplex algoritmusnak egy olyan hat´ekony v´altozata, amely a sz´all´ıt´asi feladat speci´alis strukt´ ur´ aj´ ara, tulajdons´agaira ´ep¨ ul. Ezt k¨ovet˝oen kib˝ov¨ ult az alkalmaz´ asok k¨ore, megkezd˝ od¨ ott a modell ´altal´anos´ıt´asainak ´es speci´alis eseteinek a vizsg´alata. Ennek egyik eredm´eny´evel, a H. W. Kuhn ´altal kidolgozott magyar m´ odszerrel ismerkedt¨ unk meg az el˝oz˝o fejezetben. L´enyeg´eben Kuhn gondolatmenete tov´ abbfejleszt´es´enek tekinthet˝ o L. R. Ford ´es D. R. Fulkerson 1956-ban publik´alt, a sz´ all´ıt´ asi feladat megold´as´ ara szolg´al´o elj´ar´asa. Tekintettel az eml´ıtett kapcsolatra, ez az elj´ar´ as is magyar m´odszer n´even ismeretes. A tov´abbiakban ezzel az algoritmussal fogunk megismerkedni. Miel˝ott erre r´at´ern´enk, megadjuk a (2.12.1) feladat n´eh´any saj´atoss´ ag´ at. Els˝ ok´ent megvizsg´aljuk, hogy a tekintett feladatnak milyen felt´etelek mellett l´etezik optim´alis megold´asa. Erre vonatkoz´oan ´erv´enyes a k¨ovetkez˝o ´all´ıt´as. 10.seg´ edt´ etel. A (2.12.1) alis Pmakkor ´es csak akkor l´etezik optim´ Pnfeladatnak megold´ asa, ha a ≥ 0, b ≥ 0 ´es i=1 ai = j=1 bj . ¯ a (2.12.1) Bizony´ıt´ as. A felt´etel sz¨ uks´egess´eg´enek igazol´ s´ahoz tegy¨ uk fel, hogy X Pam ¯is ≥ 0 (i = 1, . . . , n) ´es bj = feladat egy optim´alis megold´asa. Akkor ai = s=1 x Pn ¯sj ≥ 0 (j = 1, . . . , m) teljes¨ ul, azaz a ≥ 0 ´es b ≥ 0. M´asr´eszt s=1 x n X i=1
ai =
n X m X i=1 j=1
x ¯ij =
m X n X j=1 i=1
x ¯ij =
m X
bj ,
j=1
amivel a sz¨ uks´egess´eget igazoltuk. Pn Az elegend˝ o s´ e g bizony´ ıt´ a s´ a hoz tegy¨ u k fel, hogy a ≥ 0, b ≥ 0 ´ e s i=1 ai = Pn Pm b . A a ¨ o sszeg ´ e rt´ e k´ e t˝ o l f¨ u gg˝ o en k´ e t esetet k¨ u l¨ o nb¨ o ztet¨ u nk meg. j=1 j i=1 i Pn Pm Pn (1) Ha i=1 ai = 0, akkor i=1 ai = j=1 bj , a ≥ 0, b ≥ 0 alapj´an ai = 0 (i = 1, . . . , n), bj = 0 (j = 1, . . . , m). Nyilv´anval´o, hogy ebben az esetben (2.12.1)nek egyetlen lehets´eges megold´asa van, az x ¯ij = 0 (i = 1, . . . , n; j = 1, . . . m), ami optim´ alis megold´as is. 127
(2) Ha
Pn i=1
¯ m´atrixot az al´abbi m´odon: ai > 0, akkor k´epezz¨ uk az X ai bj x ¯ij = Pn t=1
at
(i = 1, . . . , n ; j = 1, . . . , m) .
¯ ≥ 0. Most legyen 1 ≤ i ≤ n tetsz˝oleges. Akkor A felt´etelekb˝ ol k¨ovetkezik, hogy X m X
x ¯is =
s=1
m X
ab Pni s
s=1
t=1
m X
ai
at
= Pn
t=1
at
bs = ai .
s=1
Hasonl´ oan, tetsz˝oleges 1 ≤ j ≤ m indexre n X
x ¯sj =
s=1
n X
a b Pns j
s=1
t=1
at
bj = Pn t=1
n X
at
as = bj .
s=1
¯ kiel´eg´ıti (2.12.1) egyenletrendszer´et, ami X ¯ nemnegativit´as´aK¨ ovetkez´esk´epp, X ¯ lehets´eges megold´asa a feladatnak. val azt eredm´enyezi, hogy X Ezek ut´an megmutatjuk, hogy a lehets´eges megold´asok L halmaza korl´atos ´es z´ art halmaz. L z´arts´ aga k¨ovetkezik a 2.8 fejezet 5.seg´edt´etel´eb˝ol. A korl´atoss´ag iga¯ ∈ L lehets´eges megold´ast. Mivel X ¯ ≥ 0, ez´ert zol´ as´ ahoz tekints¨ unk egy tetsz˝oleges X Ãm !2 m X X x ¯2is ≤ x ¯is = a2i (i = 1, . . . , n) . s=1
s=1
¨ Osszegezve az egyenl˝ otlens´egek bal- ´es jobboldalait, azt kapjuk, hogy n X m X
x ¯2ij ≤
i=1 j=1
n X
a2i ,
i=1
amib˝ ol m´ar k¨ovetkezikPaz LP halmaz korl´atoss´aga. n m uggv´eny folytonos az nm-dimenzi´os t´erben, Mivel a z(X) = i=1 j=1 cij xij f¨ ez´ert azt kaptuk, hogy egy korl´ atos, z´art, nem¨ ures halmazon keress¨ uk egy folytonos f¨ uggv´eny minimum´ at. Ismeretes, hogy egy korl´atos, z´art, nem¨ ures halmazon egy folytonos f¨ uggv´eny felveszi a sz´els˝ o´ert´ekeit, ´ıgy a (2.12.1) feladatnak l´etezik optim´alis megold´ asa, amivel az elegend˝os´eget, ´es egyben a 10.seg´edt´etelt is igazoltuk. A tov´ abbiakban a fejezet befejez˝o r´esz´eig, hivatkoz´asP n´elk¨ ul mindig uk, Pmfelt´etelezz¨ n ul. hogy a vizsg´alt sz´all´ıt´ asi feladatokra a ≥ 0, b ≥ 0 ´es i=1 ai = j=1 bj teljes¨ Az ut´obbi egyenl˝ os´eg azt a nyilv´ anval´o t´enyt fejezi ki, hogy a k´eszletek elsz´all´ıt´as´aval akkor ´es csak akkor lehet kiel´eg´ıteni a sz¨ uks´egleteket, ha a k´eszletek ¨osszege megegyezik a sz¨ uks´egletek evel, azaz a k´eszletek ´es a sz¨ uks´egletek egyens´ ulyban vannak. Pn ¨osszeg´ P m Ez´ert a a = b egyenl˝ o s´ e get szok´ a sos egyens´ u lyi felt´ e telnek is nevezni. i=1 i j=1 j Ezzel kapcsolatban r¨ogt¨ on felvet˝ odik, hogy a gyakorlati probl´em´ak z¨om´en´el nincsen meg ez az egyens´ uly. A fejezet v´eg´en kit´er¨ unk az ilyen feladatok vizsg´alat´ara is, ´es megmutatjuk, hogy ezek megold´asa mindig visszavezethet˝o egy alkalmas (2.12.1) t´ıpus´ u, az egyens´ ulyi felt´etelt kiel´eg´ıt˝o feladat megold´as´ara. 128
A (2.12.1) feladattal kapcsolatban vegy¨ uk ´eszre, hogy az a = (a1 , . . . , an ), b = (b1 , . . . , bm ) vektorok egy´ertelm˝ uen meghat´arozz´ak a lehets´eges megold´asok halmaz´ at. ´Igy r¨ogz´ıtett a, b mellett az egyes sz´all´ıt´asi feladatok csak c´elf¨ uggv´eny¨ ukben k¨ ul¨ onb¨ oznek egym´ast´ ol, amelyeket viszont meghat´aroznak a k¨olts´egm´atrixok. Ez azt eredm´enyezi, hogy az (a, b, C) h´armas egy´ertelm˝ uen meghat´arozza a (2.12.1) feladatot. Ezt felhaszn´alva, a tekintett feladatra S(a, b, C) form´aban hivatkozunk. A m´atrixok el˝oz˝ o fejezetben bevezetett ekvivalenci´aja a sz´all´ıt´asi feladatokn´al is hasznosnak bizonyult. Ezt mutatja a k¨ovetkez˝o ´all´ıt´as. 11.seg´ edt´ etel. Ha C, D n×m-es val´ os m´ atrixok, ´es C ∼ D, akkor az S(a, b, C) ´es S(a, b, D) sz´ all´ıt´ asi feladatok optim´ alis megold´ asai megegyeznek. Bizony´ıt´ as. Az ´all´ıt´ as korrekt, mivel a lehets´eges megold´asok halmaza k¨oz¨os, ´es a 10.seg´edt´etel alapj´an mindk´et feladatnak l´etezik optim´alis megold´asa. Vizsg´aljuk ezek ut´ an az S(a, b, C) ´es S(a, b, D) feladatok c´elf¨ uggv´enyeit, amelyeket jel¨olj¨on rendre zC ´es zD . Az ekvivalencia miatt vannak olyan α1 , . . . , αn ; β1 , . . . , βm konstansok, hogy ¯ cij = dij + αi + βj teljes¨ ul b´armely 1 ≤ i ≤ n, 1 ≤ j ≤ m indexp´arra. Most legyen X tetsz˝ oleges lehets´eges megold´as. Akkor ¯ = zC (X)
n X m X
n X m X
cij x ¯ij =
i=1 j=1 n X m X
dij x ¯ij +
i=1 j=1
(dij + αi + βj ) x ¯ij =
i=1 j=1 n X m X
αi x ¯ij +
n X m X
i=1 j=1
¯ + zD (X)
n X
αi
i=1
¯ + zD (X)
m X
x ¯ij +
j=1 n X
m X
βj
j=1
α i ai +
i=1
βj x ¯ij =
i=1 j=1
m X
n X
x ¯ij =
i=1
βj bj .
j=1
Ez azt jelenti, hogy a lehets´eges megold´asok halmaz´an a k´et c´elf¨ uggv´eny csak egy addit´ıv konstansban t´er el egym´ast´ ol, amib˝ol m´ar k¨ovetkezik az ´all´ıt´as. Miel˝ ott r´at´ern´enk a magyar m´odszer t´argyal´as´ara, egy tov´abbi kik¨ot´est tesz¨ unk. Nevezetesen felt´etelezz¨ uk, hogy az a ´es b vektorok komponensei rendre eg´eszek. Gyakorlati szempontb´ ol ez nem olyan nagy megszor´ıt´as, ugyanis alkalmas egys´eget v´ alasztva, el´erhet˝ o, hogy mind a k´eszletek mennyis´egei, mind a sz¨ uks´egletek menynyis´egei rendre eg´eszek legyenek. Amint az a tov´abbiak sor´an kider¨ ul, ebben az esetben van a feladatnak eg´esz optim´alis megold´asa, ´es az elj´ar´as egy ilyen optim´alis megold´ ast szolg´altat.
129
Ezek ut´an r´at´er¨ unk az S(a, b, C) sz´all´ıt´asi feladat magyar m´odszerrel t¨ort´en˝o megold´ as´ ara. Az elj´ar´ as sor´an el˝o´ all´ıtunk egy olyan (0)
(C
,X
(0)
(1)
), (C
,X
(1)
(k)
), . . . , (C
(k)
,X
) (k ≤
n X
ai )
i=1
m´ atrixp´ arsorozatot, amelyre teljes¨ ulnek a k¨ovetkez˝ok: (1) C ∼ C(0) , (2) C(t) ∼ C(t+1) (t = 0, . . . , k − 1) , (3) C(t) ≥ 0 (t = 0, . . . , k) , (4) X(t) ≥ 0 ´es X(t) eg´esz (t = 0, . . . , k), (5) b´armely 0 ≤ t ≤ k indexre m X
(t) xis
≤ ai (i = 1, . . . , n),
s=1
n X
(t)
xsj ≤ bj (j = 1, . . . , m),
s=1 (t)
(6) b´armely 1 ≤ i ≤ n, 1 ≤ j ≤ m, 0 ≤ t ≤ k indexh´armasra xij > 0 fenn´all´as´ab´ ol (t)
cij = 0 k¨ovetkezik, (7) 0 ≤ ∆t+1 < ∆t , ahol ∆t =
Pn i=1
ai −
Pn i=1
Pm j=1
(t)
xij ´es 0 ≤ t < k,
(8) ∆k = 0. Most t´etelezz¨ uk fel, hogy rendelkez¨ unk egy, a fenti tulajdons´agokkal rendelkez˝ o (0) (k) (k) (k) (C , X ), . . . , (C , X ) m´atrixp´arsorozattal. Megmutatjuk, hogy ekkor X optim´ alis megold´asa az S(a, b, C) feladatnak. (0)
Val´ oban ∆t defin´ıci´ oja, valamint (4), (5) ´es (8) alapj´an X(k) lehets´eges megold´asa S(a, b, C(k) )-nak. Jel¨olje S(a, b, C(k) ) c´elf¨ uggv´eny´et zk . Akkor (6) felhaszn´al´as´aval (k) ¯ lehets´eges azt kapjuk, hogy zk (X ) = 0. M´asr´eszt (3) miatt tetsz˝oleges X (k) ¯ megold´ asra zk (X) ≥ 0 teljes¨ ul. Ez pontosan azt jelenti, hogy X optim´alis megold´asa (k) S(a, b, C )-nak. Az (1), (2) tulajdons´agok ´es az ekvivalencia tranzitivit´asa alapj´an C ∼ C(k) . Ebb˝ol viszont a 11.seg´edt´etellel azt kapjuk, hogy X(k) optim´alis megold´asa S(a, b, C)-nek, amivel az X(k) -ra vonatkoz´o ´all´ıt´ast igazoltuk. K´erd´es ezek ut´an, hogy mik´ent lehet egy, az (1) − (8) alatti tulajdons´agokat kiel´eg´ıt˝ o m´atrixp´ arsorozatot el˝o´ all´ıtani. Erre szolg´al a k¨ovetkez˝o iter´aci´os elj´ar´as, amelyben a k¨ot¨ ott sor, k¨ot¨ ott oszlop, szabad elem fogalmakat az el˝oz˝o fejezetnek megfelel˝ oen haszn´aljuk. 130
Magyar m´ odszer
El˝ ok´esz´ıt˝ o r´esz. A C m´ atrix i-edik sor´ab´ol rendre vonjuk ki az i-edik sor ele¯ A C ¯ m´atrix jmeinek a minimum´ at (i = 1, . . . , n), az el˝o´all´o m´atrixot jel¨olje C. edik oszlop´anak elemeib˝ol rendre vonjuk ki az illet˝o oszlop elemeinek a minimum´at (j = 1, . . . , n), ´es az el˝o´ all´ o m´atrixot jel¨olje C(0) . Ezek ut´an k´epezz¨ uk oszlop(0) folytonosan az X m´atrix elemeit a k¨ovetkez˝ok szerint: ½ (0) (0) x11 = min{a1 , b1 }, ha c11 = 0, 0 k¨ ul¨onben, ½ (0) xi1
=
min{ai , b1 − 0
Pi−1 s=1
(0)
xs1 },
(0)
ha ci1 = 0, k¨ ul¨onben,
(i = 2, . . . , n).
Ha az els˝o, . . . , (j − 1)-edik oszlop elemeit m´ar meghat´aroztuk, akkor a j-edik oszlop elemei a k¨ovetkez˝ ok: ½ Pj−1 (0) (0) (0) min{a − 1 s=1 x1s , bj }, ha c1j = 0, x1j = 0 k¨ ul¨onben, ½ (0) xij
=
min{ai − 0
Pj−1 s=1
(0)
xis , bj −
Pi−1 s=1
(0)
xsj },
(0)
ha cij = 0, k¨ ul¨onben,
(i = 2, . . . , n).
Ezek ut´an legyen r = 0, ´es az el˝o´ all´ıtott (C(0) , X(0) ) m´atrixp´arral folytassuk az elj´ar´ast az iter´aci´ os elj´ar´ asr´esszel. Iter´ aci´ os r´esz (r-edik iter´ aci´ o). Pn Pn Pm (r) 1.l´ep´es. K´epezz¨ uk a ∆r = i=1 ai − i=1 j=1 xij mennyis´eget. Ha ∆r = 0, akkor v´ege az elj´ar´ asnak, X(r) a feladat optim´alis megold´asa. Ellenkez˝o esetben k¨oss¨ uk Pn (r) (r) le rendre a C m´atrix j-edik oszlop´at, ha δj = bj − s=1 xsj = 0, ahol j = 1, . . . , m, majd folytassuk az elj´ar´ ast a 2.l´ep´essel. 2.l´ep´es. Keress¨ unk sorfolytonosan szabad 0-t az aktu´alis C(r) m´atrixban. Ha nincs szabad 0, akkor az 5.l´ep´es k¨ovetkezik. Ellenkez˝o esetben jel¨olje i a szabad 0 Pm (r) sorindex´et. Vizsg´aljuk meg az X(r) m´atrix i-edik sor´at. Ha δ¯i = ai − s=1 xis = 0, akkor a 3.l´ep´es k¨ovetkezik, k¨ ul¨ onben pedig a 4.l´ep´essel folytat´odik az elj´ar´as. 3.l´ep´es. L´assuk el ”,”-vel a tekintett szabad 0-t, k¨oss¨ uk le a sor´at, majd vizsg´aljuk v´egig ennek a sornak az elemeit a k¨ovetkez˝ok szerint. Minden egyes 1 ≤ s ≤ m indexre, (r) (r) ha cis = 0 ´es xis > 0, tov´ abb´ a C(r) -ben az s-edik oszlop le van k¨otve, akkor oldjuk (r) fel ezt az oszlopot, ´es l´assuk el ” ∗ ”-gal cis -t. Ezt k¨ovet˝oen folytassuk az elj´ar´ast a 2.l´ep´essel. 131
4.l´ep´es. L´ assuk el ”,”-vel a tekintett szabad 0-t, ´es ebb˝ol a 00 -b˝ol kiindulva k´epezz¨ unk l´ancot az aktu´alis C(r) -ben a k¨ovetkez˝o szab´alyok alapj´an: l´ancbeli 00 eset´en a l´anc a 00 oszlop´ aban lev˝o 0∗ -gal folytat´odik, l´ancbeli 0∗ eset´en pedig a l´anc az ∗ 0 illet˝ o 0 sor´aban l´ev˝ o 0 -vel folytat´odik, felt´eve, hogy ilyen elemek l´eteznek, ellenkez˝ o esetben v´ege a l´anck´epz´esnek. Jel¨olje a l´anc kezd˝o ´es befejez˝o elem´enek indexp´arj´ at (i1 , λ1 ), (iv , λv ), ´es a l´ancbeli elemek indexp´arjainak halmaz´at Γr . Legyen ½¯ δi1 , ha | Γr |= 1, ρ= (r) (r) ∗ min{xij : (i, j) ∈ Γr & cij = 0 } k¨ ul¨onben. Hat´ arozzuk meg a Θ = min{δ¯i1 , δλv , ρ} minimumot, majd k´epezz¨ uk az X(r+1) m´atrixot a k¨ovetkez˝ o m´odon: (r) ha (i, j) ∈ / Γr , xij , (r+1) (r) 0 = xij + Θ, ha (i, j) ∈ Γr & c(r) xij ij = 0 , (r) (r) xij − Θ, ha (i, j) ∈ Γr & cij = 0∗ . Legyen C(r+1) a jel¨ol´esek n´elk¨ uli aktu´alis C(r) m´atrix. N¨ovelj¨ uk r ´ert´ek´et 1-gyel, ´es folytassuk az elj´ar´ ast a k¨ovetkez˝ o iter´aci´os l´ep´essel. 5.l´ep´es. K´epezz¨ uk az aktu´alis C(r) m´atrixban a szabad elemek minimum´at. Ezt a minimumot vonjuk ki minden egyes szabad elemb˝ol, ´es adjuk hozz´a a k´etszer (sorukban ´es oszlopukban is) k¨ot¨ ott elemekhez. Ezt k¨ovet˝oen az ´atalak´ıtott m´atrixot tekintve aktu´ alis C(r) m´atrixnak, folytassuk az elj´ar´ast a 2.l´ep´essel. Az elj´ar´ as helyes´eg´enek igazol´as´ahoz azt kell megmutatnunk, hogy az elj´ar´assal (0) olyan (C , X(0) ), . . . ,(C(k) , X(k) ) m´atrixp´arsorozat ´all´ıthat´o el˝o, amely rendelkezik az (1) − (8) alatti tulajdons´agokkal. Miel˝ott ezt megtenn´enk, r´eszletesen v´egrehajtjuk az elj´ar´ ast egy konkr´et feladaton. E c´elb´ ol tekints¨ uk az S(a, b, C) sz´all´ıt´asi feladatot, ahol 3 a = 5 , 4
b = ( 2,
4,
2, 2,
2) ,
2 C = 4 1
3 5 3
4 3 4
1 2 6
2 1 . 2
Kivonva C soraib´ ol a sorminimumokat, majd az el˝o´all´o m´atrix oszlopaib´ol az oszlopminimumokat, a k¨ovetkez˝ o C(0) m´atrixhoz jutunk: 1 0 1 0 1 C(0) = 3 2 0 1 0 . 0 0 1 5 1 Most C(0) alapj´an megkonstru´ aljuk az X(0) m´atrixot. 132
(0)
(0)
(0)
(0)
x11 = x21 = 0, mivel c11 6= 0, c21 6= 0, (0)
(0)
(0)
(0)
x31 = min{a3 , b1 } = 2, ugyanis c31 = 0 ´es x11 = x21 = 0, (0)
(0)
(0)
x12 = min{a1 , b2 } = 3, mert c12 = 0 ´es x11 = 0, (0)
(0)
x22 = 0, mivel c22 6= 0, (0)
(0)
(0)
(0)
x32 = min{a3 − x31 , b2 − x12 } = 1, mert c32 = 0. Folytatva az elj´ar´ ast, egy´ertelm˝ uen ad´odik X(0) , ´es X(0) meghat´aroz´as´aval az elj´ar´as el˝ ok´esz´ıt˝ o r´esze befejez˝odik. Mivel az iter´aci´ os elj´ar´ asr´eszben mindig m´atrixp´arral dolgozunk, ez´ert a tov´ab(0) (0) biakban a (C , X ) p´art adjuk meg. K´epezve a ∆0 kifejez´es ´ert´ek´et ∆0 = 2, ´ıgy oszloplek¨ ot´esekkel folytat´odik az elj´ar´as. Oszloponk´ent megvizsg´alva a sz¨ uks´egletek Pn (0) ´es a sz´all´ıtand´ o mennyis´egek δj = bj − s=1 xsj elt´er´est (j = 1, . . . , 5), azt kapjuk, hogy δ1 = δ2 = δ3 = δ5 = 0, ´ıgy lek¨otj¨ uk C(0) -ban az els˝o, m´asodik, harmadik ´es ot¨ ¨ odik oszlopokat. C(0)
+ + +
1 0 3 2 0 0
1 0 1
+ 0 1 5
1 0 1
X(0)
0 3 0 0 2 1
0 2 0
0 3 2 5 0 4
0 0 0
2 4 2 2 2 A 0 elt´er´es u ´gy interpret´ alhat´ o, hogy ezekre az oszlopokra teljes¨ ul a sz´all´ıt´as. Ezek (0) ut´ an a 2.l´ep´essel, sorfolytonos szabad 0 keres´essel folytat´odik az elj´ar´as. c14 az els˝o szabad 0. Megvizsg´alva X(0) els˝ o sor´ara a k´eszlet ´es a sz´all´ıtand´o mennyis´egek δ¯1 = P5 (0) ul a sz´all´ıt´as. Ekkor a1 − s=1 x1s elt´er´es´et, δ¯1 = 3−3 = 0, azaz X(0) els˝o sor´ara teljes¨ (0) a 2.l´ep´es szerint a 3.l´ep´es v´egrehajt´asa k¨ovetkezik. Ell´atjuk c14 -t ”,”-vel, lek¨otj¨ uk C(0) (0) (0) els˝ o sor´at, ´es megvizsg´aljuk ennek a sornak az elemeit. c12 = 0, x12 > 0 ´es C(0) (0) m´ asodik oszlopa le van k¨otve, ez´ert ezt az oszlopot feloldjuk ´es ” ∗ ”-gal l´atjuk el c12 -t. Mivel ebben a sorban t¨obb elemre nem teljes¨ ul a felt´etel, ez´ert a 3.l´ep´es v´egrehajt´asa befejez˝odik, ´es a 2.l´ep´essel folytat´odik az elj´ar´as. Sorfolytonosan szabad 0-t keresve, (0) ul a sz´all´ıt´as), c32 az els˝o szabad 0. Mivel δ¯3 > 0 (az X(0) harmadik sor´ara nem teljes¨ (0) ez´ert a 4.l´ep´es, a l´anck´epz´es k¨ovetkezik. c32 -t ell´atva ”,”-vel, ´es l´ancot k´epezve, a l´anc (0) (0) (0) elemei a k´epz´es sorrendj´eben: c32 , c12 , c14 , ´es ´ıgy Γ0 = {(3, 2), (1, 2), (1, 4)}. C(0)
+ ° + +
1 0∗ 3 2 0 00
1 00 0 1 1 5
+
1 + 0 1
X(0)
0 3 0 0 2 1
0 2 0
0 0 0
0 3 2 5 0 4
2
2
2
2
4
Most X(0) ´es a l´anc alapj´an elk´esz´ıtj¨ uk X(1) -et. Vegy¨ uk ´eszre, hogy nem elfajul´o l´anc (0) ∗ eset´en ρ a l´ancbeli 0 -oknak megfelel˝o xij elemek minimum´at jel¨oli, ami eset¨ unkben 133
(0)
x12 = 3. M´asr´eszt venni kell a l´anc kezd˝o elem´enek sorindex´et, ez 3, ´es X(0) -ban a harmadik sorra vonatkoz´ o δ¯3 = 1 elt´er´est. Tov´abb´a venni kell a l´anc befejez˝o elem´enek oszlopindex´et, ez 4, ´es X(0) -ban a negyedik oszlopra vonatkoz´o δ4 = 2 elt´er´est. ´Igy Θ = min{δ¯3 , δ4 , ρ} = min{1, 2, 3} = 1 . Defin´ıci´ o szerint X(0) csak a Γ0 -hoz tartoz´o indexp´arokra v´altozik, m´egpedig a 0∗ (0) (0) oknak megfelel˝o index˝ u xij elemek Θ-val cs¨okkennek, a 00 -knek megfelel˝o xij -k Θval n˝onek. Ezek szerint meghat´arozva X(1) -et, majd C(0) -b´ol a jel¨ol´esek t¨orl´es´evel el˝ o´ all´ıtva C(1) -et, a k¨ovetkez˝ o (C(1) , X(1) ) m´atrixp´arhoz jutunk. + + +
+
X(1)
0 2 0 1 0 3 0 0 2 0 2 5 C(1) 2 2 0 0 0 4 2 4 2 2 2 Mivel ∆1 = 1, ez´ert ism´et oszloplek¨ot´esekkel folytat´odik az elj´ar´as. δ1 = δ2 = δ3 = (1) δ5 = 0, ´ıgy lek¨otj¨ uk az els˝o h´arom, valamint az ¨ot¨odik oszlopot. Sorfolytonosan c14 (1) az els˝o szabad 0. Mivel δ¯1 = 0, ez´ert a 3.l´ep´es szerint c14 -et ell´atjuk ”,”-vel, a sor´at (1) lek¨ otj¨ uk, majd C(1) m´asodik oszlop´at feloldjuk ´es c12 -et ell´atjuk ”∗”-gal. T¨obb elemet nem lehet ebben a sorban ” ∗ ”-gal ell´atni, ´ıgy a m´asodik l´ep´es k¨ovetkezik. Az aktu´alis allapotot az al´abbi m´atrixp´ ´ ar ´ırja le:
1 0 3 2 0 0
C(1)
1 0 1
0 1 5
+ ° + +
1 3 0
0∗ 2 0
1 0 1
1 0 1
+ 00 1 5
1 + 0 1
0 0 2 2
X(1)
2 0 1 0 3 0 2 0 2 5 2 0 0 0 4 4 2 2 2
(1) Sorfolytonosan szabad 0-t keresve, c32 lesz az els˝o szabad 0. Mivel δ¯3 = 0, ez´ert a (1) 3.l´ep´es szerint ell´atjuk ”,”-vel c32 -et, lek¨otj¨ uk a harmadik sort, majd az els˝o oszlopot (1) feloldjuk ´es ” ∗ ”-gal l´atjuk el c31 -et. Ebben a sorban t¨obb elemet nem lehet ” ∗ ”-gal ell´ atni, ´ıgy ism´et a 2.l´ep´es k¨ovetkezik. Az eddigi m˝ uveletek eredm´eny´et a k¨ovetkez˝o m´ atrixp´ ar tartalmazza:
° +
° + +
+
0 2 0 1 0 3 0 0 2 0 2 5 C(1) 2 2 0 0 0 4 2 4 2 2 2 R´ at´erve a 2.l´ep´esre ´es szabad 0-t keresve, azt kapjuk, hogy nincs szabad 0, ´ıgy az 5.l´ep´essel folytat´odik az elj´ar´ as. A szabad elemek minimuma 1. Ezt kivonva minden szabad elemb˝ ol ´es hozz´aadva minden k´etszer k¨ot¨ott elemhez, majd az el˝o´all´o m´atrixot tekintve aktu´alis C(1) m´ atrixnak, a k¨ovetkez˝o m´atrixp´art kapjuk:
1 3 0∗
0∗ 2 00
1 00 0 1 1 5
1 + 0 1 +
134
X(1)
° + C(1)
1 2 0∗
° + + 0∗ 1 00
X(1)
+
2 00 0 0 2 5
2 + 0 2 +
0 0 2
2 0 2
0 2 0
1 0 0
0 3 2 5 0 4
2
4
2
2
2
(1) Ism´et szabad 0-t keresve, c24 lesz az els˝o szabad 0. Mivel δ¯2 > 0, ez´ert az elj´ar´ as (1) (1) l´ anck´epz´essel folytat´odik. L´assuk el c24 -et ”,”-vel. A C negyedik oszlop´aban nincs (1) 0∗ , ´ıgy a l´anc elfajul´o, csak c24 -et tartalmazza.
° + C(1)
1 2 0∗
° + + 0∗ 1 00
X(1)
+
2 00 0 00 2 5
2 + 0 2 +
0 0 2
2 0 2
0 2 0
1 0 0
0 3 2 5 0 4
2
4
2
2
2
Ekkor δ¯2 = ρ = 1, δ4 = 1, ´es ´ıgy Θ = 1. A l´anc alapj´an az X(1) m´atrixnak csak a (2, 4) index˝ u eleme v´altozik, m´egpedig n˝o 1-gyel, ´es az ´ıgy k´epzett m´atrix lesz (2) X ). Az aktu´alis C(1) -b˝ol a jel¨ol´esek t¨orl´es´evel el˝o´all´ıtva C(2) -t, az al´abbi (C(2) , X(2) ) m´ atrixp´ ar ad´odik: X(2) C(2)
1 2 0
0 2 1 0 0 2
0 0 5
2 0 2
0 0 2
2 0 2
0 2 0
1 1 0
0 3 2 5 0 4
2
4
2
2
2
K´epezve ∆2 -t, azt kapjuk, hogy ∆2 = 0. Ezzel az elj´ar´as v´eget ´er, a tekintett feladat optim´ alis megold´asa az X(2) m´ atrix. A v´egrehajtott elj´ar´ assal kapcsolatban megjegyezz¨ uk a k¨ovetkez˝oket. A 3.l´ep´es sor´ an el˝ofordulhat, hogy egyetlen 0-t sem tudunk ” ∗ ”-gal ell´atni, de el˝ofordulhat az is, hogy egyidej˝ uleg ugyanabban a sorban t¨obb 0-t is ell´atunk ” ∗ ”-gal. Itt is, a hozz´arendel´esi feladathoz hasonl´oan, az egyes l´ep´eseket a m´atrixp´arok ism´etelt ki´ır´ as´ aval sz´and´ekosan t´ ulr´eszletezt¨ uk. A tekintett feladat megold´asa v´egrehajthat´o az al´abbi m´atrixp´ arok felhaszn´al´ as´ aval: 135
¯ C
C
2 4 1
3 4 1 2 5 3 2 1 3 4 6 2
1 2 3 4 0 2
3 2 3
0 1 5
C(0) + ° + + 1 0∗ 1 00 3 2 0 1 0 00 1 5 0 3 0 0 0 0 2 0 2 1 0 0
1 0 1
3 5 4
+
1 + 0 1 0 2 0
X(0) Θ=1 ————————————————————————————2 4
2 2 2
C(1) ° +
° +
C0(1)
+
1 0∗ 1 3 2 0 0∗ 00 1 0 2 0 1 0 0 2 0 2 2 0 0 X(1)
+ 00 1 5
1 + 1 0 2 1 + 0∗
+ 0∗ 1 00
2 00 0 00 2 5
0 2 0
Θ=1
C(2) + 2 + 1 0 2 0 2 0 2 1 0 0 0 2 + 0 0 2 5 2 0 2 0 1 0 0 0 2 1 2 2 2 0 0 0 X(2)
Ezek ut´an r´at´er¨ unk az elj´ar´ as helyess´eg´enek bizony´ıt´as´ara. Megmutatjuk, hogy az (0) (0) algoritmus egy olyan (C , X ), . . . ,(C(k) , X(k) ) m´atrixp´arsorozatot ´all´ıt el˝o, amelyre teljes¨ ulnek az (1) − (8) alatti tulajdons´agok. Els˝ ok´ent vizsg´aljuk az elj´ar´ as el˝ok´esz´ıt˝o r´esz´et. C ∼ C(0) ´es C(0) ≥ 0 teljes¨ ul´ese ugyan´ ugy igazolhat´o, mint a hozz´arendel´esi feladatn´al. M´asr´eszt vegy¨ uk ´eszre, (0) hogy X konstrukci´ oj´ ab´ ol k¨ovetkezik (4), (5) ´es (6) ´erv´enyess´ege, amivel ad´odik az el˝ ok´esz´ıt˝ o r´esz helyess´ege. Ezek ut´an tekints¨ uk az iter´aci´os elj´ar´asr´eszt. Tegy¨ uk fel, hogy adott egy olyan (C(r) , X(r) ) m´atrixp´ ar, amelyre teljes¨ ulnek a (3) − (6) alatti tulajdons´agok, tov´abb´ a (r) ∆r > 0 ´es C ∼ C . El˝ osz¨ or megmutatjuk, hogy az 5.l´ep´esre teljes¨ ulnek a k¨ovetkez˝ok: ∗ 0 (i) az ´atalak´ıt´ as sor´an a 0 , 0 elemek nem v´altoznak, (ii) az el˝o´ all´ıtott C0(r) m´atrixra C0(r) ≥ 0 ´es C0(r) ∼ C(r) . Az (i) ´all´ıt´ as k¨ovetkezik abb´ol, hogy minden egyes 00 ´es minden egyes 0∗ egyszeresen k¨ot¨ ott, m´egpedig a soruk van lek¨otve. Az (ii) ´all´ıt´ as ugyan´ ugy igazolhat´o, ahogy azt a sz´all´ıt´asi feladatn´al tett¨ uk. 136
Most megmutatjuk, hogy az iter´aci´os elj´ar´asr´esz v´eges l´ep´esben v´eget ´er. Ehhez vegy¨ uk ´eszre, hogy (5) alapj´an δ¯i ≥ 0 (i = 1, . . . , n) ´es δj ≥ 0 (j = 1, . . . , m) teljes¨ ul. (r) ¯ Ha az iter´aci´ os elj´ar´ asr´esz sor´an C minden sor´at lek¨otn´enk, akkor abb´ol δi = 0 (i = 1, . . . , n) k¨ovetkezne, ugyanis az i-edik sort csak akkor k¨otj¨ uk le, ha δ¯i = 0. M´ asr´eszt à ! n n X m n m n X X X X X (r) (r) ∆r = ai − x = ai − x = δ¯i . ij
i=1
i=1 j=1
is
s=1
i=1
i=1
´Igy a δ¯i = 0 (i = 1, . . . , n) feltev´esb˝ol ∆r = 0 k¨ovetkezne, ami ellentmond´as. K¨ ovetkez´esk´epp, az iter´aci´ os elj´ar´asr´esz v´egrehajt´asa sor´an az aktu´alis C(r) -ben mindig van k¨otetlen sor. Vizsg´ aljuk ezek ut´an a 2-3 l´ep´eskombin´aci´ot. Minden ilyen l´ep´essel eggyel n˝o a k¨ ot¨ ott sorok sz´ama, ´ıgy ez a l´ep´eskombin´aci´o legfeljebb n − 1-szer hajthat´o v´egre. Ez azt jelenti, hogy v´eges sok l´ep´es ut´an az elj´ar´as a 2-5 l´ep´eskombin´aci´oval vagy a 4.l´ep´essel folytat´odik. Az 5.l´ep´es v´egrehajt´as´ ara akkor ker¨ ul sor, ha nem tal´alunk szabad 0-t. Megmutatjuk, hogy ekkor l´eteznek szabad elemek az aktu´alis C(r) -ben. Az el˝oz˝oekb˝ol tudjuk, hogy ebben az esetben az aktu´alis C(r) -nek van k¨otetlen sora. Ebben a sorban 00 ´es 0∗ nem szerepelhet, mivel a 3.l´ep´es alapj´an ezek csak k¨ot¨ott sorokban fordulhatnak el˝o. M´ asr´eszt a k¨ot¨ ott oszlopok sz´ama kisebb, mint m, ugyanis ellenkez˝o esetben a δj = 0 (j = 1, . . . , m) feltev´esb˝ ol a fentiekhez hasonl´oan a ∆r = 0 ellentmond´ashoz jutn´ank. Teh´ at a tekintett sor tartalmaz szabad elemet, amivel a szabad elemek l´etez´es´et igazoltuk. Mivel nem tal´altunk szabad 0-t, ´es az aktu´alis C(r) elemei nemnegat´ıvak, ez´ert a szabad elemek rendre pozit´ıvak. Ezek minimum´at kivonva minden egyes szabad elemb˝ ol, az ´atalak´ıt´ as ut´ani m´atrix legal´abb egy szabad 0-t tartalmaz. Az el˝o´all´ıtott szabad 0-k k¨oz¨ ul a sorfolytonosan els˝o 0-val folytatva az elj´ar´ast, vagy a 4.l´ep´es, vagy a 3.l´ep´es v´egrehajt´asa k¨ovetkezik. Az ut´obbi esetben eggyel n˝o a k¨ot¨ott sorok sz´ama az aktu´alis C(r) -ben, amib˝ol k¨ovetkezik, hogy az 5.l´ep´es is v´eges sokszor ker¨ ulhet v´egrehajt´asra. A fentiek alapj´an az iter´aci´ os elj´ar´asr´esz v´eges sok l´ep´es ut´an a 4.l´ep´essel folytat´ odik, amivel ad´odik az iter´aci´ os elj´ar´asr´esz v´egess´ege. Vizsg´ aljuk ezek ut´an az elj´ar´ as 4.l´ep´es´et. Ugyan´ ugy, mint a hozz´arendel´esi feladatn´ al, a l´ancot illet˝oen bel´athat´ ok a k¨ovetkez˝ok: (a) a l´anck´epz˝ o algoritmus egy´ertelm˝ uen meghat´arozza a l´ancot, (b) a l´anc nem metszi ¨onmag´ at, azaz a l´anck´epz´es sorrendj´enek megfelel˝o l´ancbeli indexp´ arok (i1 , λ1 ),(i1 , λ2 ), . . . sorozata v´eges, ´es p´aronk´ent k¨ ul¨onb¨oz˝o elemekb˝ol ´all, ∗ 0 (c) a k´epezett l´ancban minden 0 -t k¨ovet egy 0 . A 4.l´ep´es sor´an el˝o´ all´ıtott Θ-r´ol megmutatjuk, hogy pozit´ıv eg´esz. Ehhez legyen (r) a l´ancbeli indexp´arok sorozata (i1 , λ1 ), . . . , (iv , λv ). Mivel a l´anc kezd˝o eleme ci1 λ1 , Pm (r) x , ahol ai eg´esz, ´es az X(r) -re tett ez´ert δ¯i > 0. M´asr´eszt δ¯i = ai − 1
feltev´es szerint
1
(r) xi1 s
1
s=1
i1 s
1
(s = 1, . . . , m) is eg´esz, k¨ovetkez´esk´epp δ¯i1 pozit´ıv eg´esz. Tudjuk (r)
(c) alapj´an, hogy a l´anc 00 -vel v´egz˝odik, ´es a befejez˝o elem civ λv . Tekints¨ uk C(r) λv -edik oszlop´at. Mivel ez az oszlop tartalmaz 00 -t, ez´ert a l´anck´epz´es id˝opontj´aban 137
nincs lek¨otve. M´asr´eszt ez az oszlop nem tartalmaz 0∗ -ot, ´ıgy az iter´aci´os elj´ar´asr´esz Pn (r) kezdetekor sem volt k¨ot¨ ott, amib˝ol δλv > 0 k¨ovetkezik. De δλv = bλv − s=1 xsλv , (r)
ahol bλv ´es xsλv (s = 1, . . . , m) rendre eg´eszek, ´es ´ıgy δλv pozit´ıv eg´esz. Ha a l´anc elfajul´o, akkor Θ = min{δ¯i1 , δλv }, ´es ´ıgy Θ pozit´ıv eg´esz. Most tegy¨ uk fel, hogy a (r) (r) ∗ l´ anc nem elfajul´o. Akkor ρ = min{xij : (i, j) ∈ Γr & cij = 0 }. A 3.l´ep´es szerint (r) (r) cij -t csak akkor l´atjuk el ” ∗ ”-gal, ha xij > 0. ´Igy a fenti minimumban szerepl˝o mennyis´egek rendre pozit´ıv eg´eszek, de akkor ρ is pozit´ıv eg´esz, amib˝ol az el˝oz˝oek alapj´an ad´odik, hogy Θ pozit´ıv eg´esz. Ezek ut´an igazoljuk, hogy az el˝o´all´ıtott (C(r+1) , X(r+1) ) m´atrixp´arra teljes¨ ulnek az el˝o´ırt tulajdons´agok. C(r+1) ≥ 0 ´es C(r) ∼ C(r+1) fenn´all´asa k¨ovetkezik az 5.l´ep´es vizsg´alata sor´an tett ´eszrev´etelekb˝ ol, ´ıgy (2) ´es (3) teljes¨ ul. Most igazoljuk (4) ´erv´enyess´eg´et. Feltev´es¨ unk szerint X(r) ≥ 0 ´es X(r) elemei (r+1) (r) eg´eszek. X -et u ´gy k´epezz¨ uk X -b˝ol, hogy bizonyos elemekhez hozz´aadjuk Θ-t, m´ as elemekb˝ol kivonunk Θ-t. Mivel Θ pozit´ıv eg´esz, ez´ert az el˝o´all´o X(r+1) m´atrix minden egyes eleme is eg´esz. M´asr´eszt azok az elemek, amelyek nem v´altoznak, tov´ abb´ a amelyek Θ hozz´aad´ as´ aval lettek k´epezve, nyilv´anval´oan nemnegat´ıvak. Most (r+1) (r) legyen (i, j) olyan indexp´ar, amelyre xij = xij − Θ. Akkor X(r+1) defin´ıci´oja sze(r)
(r)
rint (i, j) ∈ Γr ´es cij = 0∗ . De akkor Θ defin´ıci´oj´ab´ol Θ ≤ xij k¨ovetkezik, ´es ´ıgy (r+1)
xij ≥ 0. K¨ovetkez´esk´epp, X(r+1) ≥ 0 ´es X(r+1) elemei eg´eszek, amivel bel´attuk (4) ´erv´enyess´eg´et. Az (5) tulajdons´ag igazol´as´ ahoz els˝ok´ent vegy¨ uk ´eszre, hogy az i1 -edik sor ´es a (r) λv -edik oszlop kiv´etel´evel az aktu´alis C m´atrix minden sora ´es minden oszlopa vagy k´et l´ancbeli elemet tartalmaz, egy 00 -t ´es egy 0∗ -ot, vagy egyetlen l´ancbeli elemet sem tartalmaz. Val´ oban tekints¨ uk egy, az i1 -edik sort´ol k¨ ul¨onb¨oz˝o sort, ´es tegy¨ uk fel, hogy tartalmaz l´ancbeli elemet. Ha ez az elem 00 , akkor ez a 00 nem lehet a l´anc kezd˝ o ∗ ∗ eleme, ´ıgy a sor´aban van egy 0 , amely megel˝ozi a l´ancban. Ha a tekintett elem 0 , akkor ezt a sor´aban k¨oveti egy l´ancbeli 00 . K¨ovetkez´esk´epp, ha a sor tartalmaz l´ancbeli elemet, akkor legal´abb kett˝ ot tartalmaz, m´egpedig egy 0∗ -ot ´es egy 00 -t. M´asr´eszt a sor kett˝ on´el t¨obb l´ancbeli elemet nem tartalmazhat, mivel egy sorban legfeljebb egy 00 lehet, ´es kett˝ on´el t¨obb l´ancbeli elem eset´en k´et l´ancbeli 0∗ lenne a sorban, de akkor a l´anck´epz˝ o algoritmus szerint a l´anc metszen´e ¨onmag´at, ami ellentmond (b)-nek. Most tekints¨ uk egy, a λv -edik oszlopt´ol k¨ ul¨onb¨oz˝o oszlopot, ´es tegy¨ uk fel, hogy 0 tartalmaz l´ancbeli elemet. Ha ez 0 , akkor ez nem lehet a l´anc befejez˝o eleme, de akkor az oszlop´aban a l´anc egy 0∗ -gal folytat´odik. Ha a tekintett elem 0∗ , akkor a l´ anck´epz˝ o algoritmus szerint van egy 00 is az oszlopban, ami megel˝ozi a l´ancban ezt a ∗ 0 -ot. K¨ovetkez´esk´epp, ha az oszlop tartalmaz l´ancbeli elemet, akkor legal´abb kett˝ ot 0 ∗ tartalmaz, m´egpedig egy 0 -t ´es egy 0 -ot. M´asr´eszt kett˝on´el t¨obb l´ancbeli elem nem lehet az oszlopban, mivel minden oszlop legfeljebb egy 0∗ -ot tartalmaz, ez´ert kett˝on´el t¨ obb l´ancbeli elem eset´en k´et l´ancbeli 00 lenne az oszlopban, de akkor a l´anc metszen´e onmag´ ¨ at, ami ellentmond (b)-nek. 138
Vizsg´aljuk az aktu´alis C(r) i1 -edik sor´at ´es λv -edik oszlop´at. Mivel minden sor legfeljebb egy 00 -t tartalmaz ´es δ¯i1 > 0, ez´ert az i1 -edik sorban egyetlen eleme van a (r) l´ ancnak, m´egpedig ci1 λ1 . Hasonl´oan, mivel δλv > 0, ez´ert a λv -edik oszlopban nincsen (r)
0∗ , ´ıgy az oszlop egyetlen l´ancbeli elemet tartalmaz, civ λv -t. Ezek ut´an tekints¨ uk az X(r) m´atrix i-edik sor´at ´es j-edik oszlop´at. Az X(r+1) ´es a Θ defin´ıci´ oja, valamint a l´ anc fenti tulajdons´aga alapj´an nyilv´anval´oak a k¨ovetkez˝ok: Pm (r+1) Pm (r) Ha i = i1 , akkor s=1 xis = Θ + s=1 xis ≤ ai . (r)
(r+1)
Ha i 6= i1 ´es C(r) i-edik sora nem tartalmaz l´ancbeli elemet, akkor xis = xis Pm (r+1) (s = 1, . . . , m), ´es ´ıgy s=1 xis ≤ ai . Pm (r+1) Ha i 6= i1 ´es C(r) i-edik sora tartalmaz l´ancbeli elemet, akkor s=1 xis = Pm (r) Θ − Θ + s=1 xis ≤ ai . Pn Pn (r+1) (r) Ha j = λv , akkor s=1 xsj = Θ + s=1 xsj ≤ bj . (r+1)
Ha j 6= λv ´es C(r) j-edik oszlopa nem tartalmaz l´ancbeli elemet, akkor xsj = Pn (r) (r+1) xsj (s = 1, . . . , n), ´es ´ıgy s=1 xsj ≤ bj . Pn (r+1) Ha j 6= λv ´es C(r) j-edik oszlopa tartalmaz l´ancbeli elemet, akkor s=1 xsj = Pn (r) Θ − Θ + s=1 xsj ≤ bj . A fentiek pontosan azt jelentik, hogy m X
(r+1) xis
n X
≤ ai (i = 1, . . . , n),
s=1
(r+1)
xsj
≤ bj (j = 1, . . . , m),
s=1
azaz X(r+1) rendelkezik az (5) alatti tulajdons´aggal. A (6) tulajdons´ag igazol´as´ ahoz legyen (i, j) tetsz˝oleges olyan indexp´ar, amelyre (r+1) > 0. Ha (i, j) ∈ Γr , akkor nyilv´anval´o, hogy cij = 0. Most tegy¨ uk fel, hogy
(r+1) xij
(r)
(r+1)
(i, j) ∈ / Γr . Akkor xij = xij
, ´es ´ıgy a (C(r) , X(r) ) p´arra vonatkoz´o feltev´es¨ unk (r)
alapj´an az iter´aci´ os elj´ar´ asr´esz kezdet´en cij = 0. M´asr´eszt az elj´ar´asr´esz sor´an a (r)
k¨ olts´egm´ atrixok rendre nemnegat´ıvak, ´ıgy cij ´ert´eke legfeljebb n¨ovekedhet. Az 5.l´ep´es (r)
szerint cij ´ert´eke csak akkor n˝o, ha mind a sora, mind az oszlopa le van k¨otve. De ez (r)
a 3.l´ep´es alapj´an nem k¨ovetkezhet be, ugyanis a cij sor´anak lek¨ot´es´evel egyidej˝ uleg (r)
(r+1)
az oszlop´at fel kellene oldani. K¨ovetkez´esk´epp, 0 = cij = cij , amivel a k´erd´eses tulajdons´agot igazoltuk. ¨ Osszegezve az eddigieket, azt kaptuk, hogy amennyiben (C(r) , X(r) ) olyan m´ atrixp´ ar, amelyre ∆r > 0, C ∼ C(r) ´es rendelkezik a (3)−(6) alatti tulajdons´agokkal, akkor v´egrehajtva a (C(r) , X(r) ) m´atrixp´aron az elj´ar´as iter´aci´os r´esz´et, egy olyan (C(r+1) , X(r+1) ) m´atrixp´ arhoz jutunk, amely szint´en rendelkezik a (3) − (6) alatti tulajdons´agokkal, tov´ abb´ a C(r) ∼ C(r+1) . 139
M´ asr´eszt (5) alapj´an 0 ≤ ∆r+1 , tov´abb´a X(r+1) konstrukci´oj´ab´ol n X m X
(r+1) xij
=Θ+
i=1 j=1
n X m X
(r)
xij
i=1 j=1
k¨ ovetkezik, ´es ´ıgy ∆r+1 − ∆r = Θ. Mivel Θ pozit´ıv eg´esz, ez´ert 0 ≤ ∆r+1 < ∆r , azaz (7) is teljes¨ ul. K¨ ovetkez´esk´epp, kiindulva a (C(0) , X(0) ) m´atrixp´arb´ol, ´es r-szer v´egrehajtva az iter´ aci´os elj´ar´ asr´eszt, az el˝o´ all´ o (C(0) , X(0) ), . . . , (C(r) , X(r) ) m´atrixp´arsorozatra teljes¨ ulnek az (1) − (7) alatti ´all´ıt´ asok. A l´ep´essz´ amot illet˝oen vegy¨ uk ´eszre a k¨ovetkez˝oket. Mivel X(t) (0 ≤ Ptn ≤ r) eg´esz, tov´ abb´ a az a ´es b vektorok is eg´eszek, ez´ert ∆t eg´esz. M´asr´eszt ∆0 ≤ i=1 ai . ´Igy n X
a i ≥ ∆0 > ∆1 > . . . > ∆r
i=1
nemnegat´ıv eg´eszeknek egy szigor´ uan monoton cs¨okken˝o sorozata. EzP azt eredm´enyezi, n hogy folytatva az elj´ar´ ast, a ∆t -k sorozata sz¨ uks´egk´epp legfeljebb i=1 ai l´ep´esben P n el´eri a 0-t. ´Igy van olyan k ≤ i=1 ai , amelyre ∆k = 0 teljes¨ ul, amivel ad´odik (8) ´erv´enyess´ege. Ezzel igazoltuk az iter´aci´ os elj´ar´asr´esz, ´es egyben az eg´esz elj´ar´as helyess´eg´et. Az ismertetett m´odszerrel kapcsolatban megeml´ıtj¨ uk a k¨ovetkez˝ot. Vegy¨ uk ´eszre, hogy (4) alapj´an az optim´alis megold´as eg´esz. K¨ovetkez´esk´epp, eg´esz a ´es b vektorok eset´en a sz´all´ıt´ asi feladatnak l´etezik eg´esz optim´alis megold´asa. Ez egy igen ´erdekes tulajdons´aga a feladatnak, ha figyelembe vessz¨ uk, hogy a modellben csak a nemnegativit´ asi felt´etelt k¨ot¨ ott¨ uk ki X-re. Ennek az egzisztenci´alis ´all´ıt´asnak a magyar m´odszer egy konstrukt´ıv bizony´ıt´ asa. Ezzel a (2.12.1) modell t´argyal´as´at befejezt¨ uk, a fejezet h´atral´ev˝o r´esz´eben n´eh´any tov´ abbi sz´all´ıt´ asi modellt vizsg´alunk.
Nyitott sz´ all´ıt´ asi feladat Amint azt az egyens´ ulyi felt´etel t´argyal´asakor megeml´ıtett¨ uk, sok gyakorlati probl´em´ an´al nem teljes¨ ul az egyens´ ulyi felt´etel. Ilyenkor nyitott sz´ all´ıt´ asi feladatr´ ol szok´ asos besz´elni. Pn Pm eszletek ¨osszege kevesebb, mint Tegy¨ uk fel, hogy i=1 ai < j=1 bj , azaz a k´ a sz¨ uks´egletek ¨osszege. Ekkor csak azt t˝ uzhetj¨ uk ki c´elul, hogy a sz¨ uks´egletek figyelembev´etel´evel az ¨osszes k´eszletet el kell sz´all´ıtani, m´egpedig minim´alis sz´all´ıt´asi k¨ olts´eggel. A probl´em´ at le´ır´ o optimumsz´ am´ıt´asi modell a k¨ovetkez˝o: 140
m X
xis = ai
(i = 1, . . . , n)
xsj ≤ bj
(j = 1, . . . , m)
s=1
(2.12.2)
n X s=1
xij ≥ 0 (i = 1, . . . , n ; j = 1, . . . , m) —————————————————— n X m X cij xij = z(X) → min i=1 j=1
¯ C) ¯ sz´all´ıt´asi feladatot, ahol Konstru´ aljuk meg a (2.12.2) feladathoz azP S(¯ a, b, Pm n ¯ b = b, a ¯i = ai (i = 1, . . . , n), a ¯n+1 = j=1 bj − i=1 ai ´es ½ cij , ha 1 ≤ i ≤ n; 1 ≤ j ≤ m, c¯ij = 0, ha i = n + 1; 1 ≤ j ≤ m. ¯ C) ¯ feladat (2.12.2)-b˝ol t¨ort´en˝o el˝o´all´ıt´as´an´al az Vegy¨ uk ´eszre , hogy az S(¯ a, b, egyenl˝ otlens´egekben rendre felvett¨ unk egy tov´ bbi nemnegat´ıv v´altoz´ot ´es ´att´ert¨ unk Pam egyenl˝ os´egekre, tov´ abb´ a a felt´etelrendszer a s=1 xn+1,s = a ¯n+1 egyenlettel b˝ov¨ ult. Az ut´obbi egyenletr˝ ol egyszer˝ uen bel´athat´o, hogy nem f¨ uggetlen a t¨obbi egyenlett˝ol, ´ıgy elhagy´asa nem v´altoztatja meg a lehets´eges megold´asok halmaz´at. De akkor a 2.1 ¯ C) ¯ ´es a (2.12.2) feladatoknak egyidej˝ fejezet 2.seg´edt´etele alapj´an az S(¯ a, b, uleg l´etezik optim´ alis megold´asa, ´es ezek k¨ozvetlen¨ ul sz´aP rmaztathat´ok egym´asb´ol. Mivel az adott m ¯ ¯ C) ¯ ≥ 0, Pn+1 a ¯ feladatnak l´etezik a, b, ¯ = felt´etelek mellett (¯ a ≥ 0, b j=1 bj ) az S(¯ i=1 i optim´ alis megold´asa, ez´ert a (2.12.2) feladatnak is l´etezik optim´alis megold´asa, ´es ezt ¯ C) ¯ feladat X ¯ optim´alis megold´as´ab´ol a 2.seg´edt´etel alapj´an megkapjuk, ha az S(¯ a, b, ¯ az X m´ atrix utols´o sor´at elhagyjuk. Pn Pm A fenti visszavezet´es u ´gy interpret´alhat´o, hogy a ¯n+1 = j=1 bj − i=1 ai anyagmennyis´eggel felvesz¨ unk egy fikt´ıv felad´ohelyet, ´es ´ıgy teremtj¨ uk meg az egyens´ ulyt. A megold´ asban a fikt´ıv felad´ohelyekr˝ ol kiel´eg´ıtett sz¨ uks´egletek kiel´eg´ıtetlenek maradnak, azaz ezek a sz´ all´ıt´ asok nem realiz´al´odnak. Pn Pm Nyilv´ anval´ oan teljesen hasonl´oan kezelhet˝o a i=1 ai > j=1 bj eset is. Ekkor Pm Pn uks´eglettel. egy fikt´ıv felvev˝ ohelyet kell l´etes´ıteni ¯bm+1 = i=1 ai − j=1 bj anyagsz¨
Tiltott sz´ all´ıt´ asok kezel´ ese A (2.12.1) modelln´el felt´etelezt¨ uk, hogy b´armely felad´ohelyr˝ol b´armely felvev˝ohelyre lehet sz´all´ıtani. El˝ofordulhat, hogy bizonyos viszonylatokban nem lehets´eges a sz´ all´ıt´ as, ilyenkor tiltott sz´ all´ıt´ asokr´ ol szok´asos besz´elni. Nyilv´anval´o, hogy ebben az esetben nem mindig l´etezik optim´alis megold´as. A tov´abbiakban megmutatjuk, hogy 141
a tilt´asos feladatok megold´asa mindig visszavezethet˝o egy alkalmas (2.12.1) t´ıpus´ u feladat megold´as´ ara. E c´elb´ ol tekints¨ uk az S(a, b, C) sz´all´ıt´asi feladatot az xit jt (t = 1, . . . , r) tilt´ asokkal, ´es jel¨olje ezt a feladatot T S(a, b, C). Akkor ugyan´ ugy, mint ahogy azt a hozz´arendel´esi feladatn´al tett¨ uk, bel´athat´o a k¨ovetkez˝o ´all´ıt´as. 12.seg´ edt´ etel. Ha C ∼ D, akkor a T S(a, b, C) ´es T S(a, b, D) feladatoknak egyidej˝ uleg l´etezik optim´ alis megold´ asa, ´es az optim´ alis megold´ asok megegyeznek. A fenti seg´edt´etel alapj´an elegend˝o olyan T S(a, b, C) feladatok megold´as´ara szor´ıtkozni, amelyekre C ≥ 0 teljes¨ ul. Tegy¨ uk fel, hogy T S(a, b, C) ilyenPfeladan tot jel¨ol. Legyen c = max {cij : 1 ≤ i ≤ n; 1 ≤ j ≤ m} ´es M = 1 + c i=1 ai , tov´ abb´a ½ M, ha van olyan 1 ≤ t ≤ r, hogy (i, j) = (it , jt ), pij = cij k¨ ul¨ onben. Ekkor ´erv´enyes a k¨ovetkez˝ o ´all´ıt´ as: 13.seg´ edt´ etel. A T S(a, b, C) feladatnak akkor ´es csak akkor l´etezik optim´ alis megold´ asa, ha az S(a, b, P) feladat optimuma kisebb, mint M , ´es ebben az esetben S(a, b, P) optim´ alis megold´ as egyben optim´ alis megold´ asa a T S(a, b, C) feladatnak is. Bizony´ıt´ as. Az ´all´ıt´ as korrekt, mivel az adott felt´etelek mellett az S(a, b, P) sz´ all´ıt´ asi feladatnak l´etezik optim´alis megold´asa. A felt´etel sz¨ uks´egess´eg´enek igazol´as´ahoz tegy¨ uk fel, hogy a T S(a, b, C) feladatnak ¯ egy optim´alis megold´ast. Ekkor x l´etezik optim´alis megold´asa. Jel¨olj¨on X ¯it jt = 0 (t = 1, . . . , r), ´es ´ıgy n X m n X m X X ¯ zP (X) = pij x ¯ij = cij x ¯ij < M . i=1 j=1
i=1 j=1
¯ lehets´eges megold´asa S(a, b, P)-nek is, amib˝ol k¨ovetkezik, hogy az M´ asr´eszt X ut´ obbi sz´all´ıt´ asi feladat optimuma kisebb, mint M , amivel a felt´etel sz¨ uks´egess´eg´et igazoltuk. Az elegend˝os´eg bizony´ıt´ as´ ahoz tegy¨ uk fel, hogy S(a, b, P) optimuma kisebb, mint M . Az el˝oz˝ oek alapj´an tudjuk, hogy a feladatnak l´etezik eg´esz optim´alis megold´asa. ¯ az S(a, b, P) feladat egy eg´esz optim´alis megold´as´at. Ekkor zP (X) ¯ < M. Jel¨ olje X Ebb˝ ol x ¯it jt = 0 (t = 1, . . . , r) k¨ovetkezik, ugyanis ellenkez˝o esetben P nemnegativit´asa ¯ ≥ M ellentmond´ ¯ lehets´eges megold´asa a miatt zP (X) ashoz jutn´ank. De akkor X ¯ T S(a, b, C) feladatnak. Most megmutatjuk, hogy X optim´alis megold´asa T S(a, b, C)˜ T S(a, b, C)-nek egy tetsz˝oleges lehets´eges megold´as´at. Mivel nak. Ehhez jel¨olje X x ¯it jt = 0 ´es x ˜it jt = 0 (t = 1, . . . , r), ez´ert ¯ = zC (X) ˜ = zC (X)
n X m X
cij x ¯ij =
n X m X
i=1 j=1
i=1 j=1
n X m X
n X m X
i=1 j=1
cij x ˜ij =
i=1 j=1
142
¯ , pij x ¯ij = zP (X) ¯ . pij x ˜ij = zP (X)
¯ optim´alis megold´asa S(a, b, P)-nek, ´ıgy zP (X) ¯ ≤ zP (X), ˜ De feltev´es¨ unk szerint X ¯ ˜ amib˝ ol a fenti egyenl˝ os´egek alapj´an zC (X) ≤ zC (X) k¨ovetkezik. Ez pontosan azt ¯ jelenti, hogy X optim´alis megold´asa a T S(a, b, C) feladatnak, amivel az elegend˝os´eget ´es egyben az ´all´ıt´ ast is igazoltuk. A megel˝oz˝ o k´et seg´edt´etel alapj´an egyszer˝ uen fel´ep´ıthet˝o egy olyan elj´ar´as, amelylyel tetsz˝oleges T S(a, b, C) feladat megoldhat´o. A elj´ar´as t´enyleges fel´ep´ıt´es´et a gyakorlatokra hagyjuk. Korl´ atos sz´ all´ıt´ asi feladat Bizonyos ´ertelemben a tilt´asos modell ´altal´anos´ıt´as´anak tekinthet˝o a korl´atos sz´ all´ıt´ asi feladat, amelyben minden egyes sz´all´ıt´asi viszonylatra el˝o´ırunk egy korl´atot. A probl´ema optimumsz´ am´ıt´ asi modellje a k¨ovetkez˝o: m X xis = ai (i = 1, . . . , n) s=1 n X
(2.12.3)
xsj = bj
(j = 1, . . . , m)
s=1
0 ≤ xij ≤ dij (i = 1, . . . , n ; j = 1, . . . , m) —————————————————— n X m X cij xij = z(X) → min i=1 j=1
Sajnos a fenti modell kezel´ese nem olyan egyszer˝ u, mint a tilt´asos feladat´e. Megold´ as´ ahoz sz¨ uks´eges az ismertetett magyar m´odszer bizonyos v´altoztat´asa. A k¨ ovetkez˝ okben megadjuk azokat az elt´er´eseket, amelyekben a k´et elj´ar´as k¨ ul¨onb¨ozik egym´ ast´ ol, ´es ezek alapj´an a konkr´et elj´ar´as fel´ep´ıt´es´et a gyakorlatokra hagyjuk. Az elj´ ar´ as helyess´eg´enek igazol´as´ at´ ol eltekint¨ unk. Miel˝ ott megadn´ank az elt´er´eseket, bevezetj¨ uk a k¨ovetkez˝o fogalmat. Adott (r) (r) (r) (C , X ) p´arra, a cij elemet X-teljesnek nevezz¨ uk, ha xij = dij . N´ezz¨ uk ezek ut´an l´ep´esenk´ent a korl´atos feladat megold´as´ara szolg´al´o elj´ar´as elt´er´eseit a (2.12.1) feladat megold´as´ara szolg´al´o elj´ar´ast´ol. (r)
El˝ ok´esz´ıt˝ o r´esz. Csak az X(0) kialak´ıt´as´aban van elt´er´es, nevezetesen a minimumokban a dij ´ert´ekeket is figyelembe kell venni. Az ´altal´anos defin´ıci´oban ez azt jelenti, hogy ½ Pj−1 (0) Pi−1 (0) (0) (0) xij = min{ai − s=1 xis , bj − s=1 xsj , dij }, ha cij = 0, 0 k¨ ul¨onben. Iter´ aci´ os r´esz 1.l´ep´es. Nincs v´altoz´ as. 143
2.l´ep´es. Csup´an annyi v´altoz´ as van, hogy sorfolytonosan szabad ´es nem X-teljes 0-t keres¨ unk. 3.l´ep´es. Nincs v´altoz´ as. 4.l´ep´es. Csak Θ defin´ıci´ oja v´altozik, nevezetesen a Θ defin´ıci´oj´at k´epez˝o minimum egy tov´ abbi taggal b˝ov¨ ul, azaz Θ = min{δ¯i1 , δλv , ρ, ρ0 } , ahol (r)
(r)
ρ0 = min{dij − xij : (i, j) ∈ Γr & cij = 00 } . Mivel az 5.l´ep´esben sok a v´altoz´as, ez´ert a teljes 5.l´ep´est megadjuk. 5.l´ep´es. Ha minden szabad elem kisebb vagy egyenl˝o, mint 0, tov´abb´a minden k´etszeresen k¨ot¨ ott elem nemnegat´ıv, akkor v´ege az elj´ar´asnak, a feladatnak nincs lehets´eges megold´asa. Ellenkez˝ o esetben jel¨olje h1 a pozit´ıv szabad elemek minimum´at, h2 a negat´ıv k´etszeresen k¨ot¨ ott elemek minimum´at, ´es legyen h = min{h1 , −h2 }. (Ha a h1 , h2 k¨ oz¨ ul valamelyik nem l´etezik, akkor h a m´asik taggal egyenl˝o.) Ezek ut´an vonjuk ki h-t az ¨osszes szabad elemb˝ol, adjuk hozz´a a k´etszer k¨ot¨ott elemekhez, ´es az olyan esetekben, amikor egy k´etszer k¨ot¨ott negat´ıv elem h hozz´aad´as´aval 0-v´a v´alik, akkor oldjuk fel az illet˝o elem oszlop´at ´es az el˝o´all´o 0-t l´assuk el ” ∗ ”-gal. Ezt k¨ovet˝oen folytassuk az elj´ar´ ast a 2.l´ep´essel. Az elj´ar´ as v´egrehajt´as´ at a k¨ovetkez˝o p´eld´an szeml´eltetj¨ uk: ¯ C
C
1 4 2 5 0 2 1 4 1 1 3 2 1 3 2 3 1 2 1 6 D 1 1 1 2 3 2 1 1 1 3
3 0 1
C(0) 1 3 0
4 0 2
0 3 1 0 2 1 3 0 0 1 0 0
+ + 1 4 −1 2 00 4 3 0 0 −1 2 0 0 2 1 0 −1 2 0 0 0 2 h = h1 = 1 1 0
4 2 4 2 X(0) ——————————————————————————————— C(1)
−1 00 1 3 0 0
° +
2 −1 00 0 1 0
° +
0 4 −1 2 0 4 −2 2 −1 3 2 0∗ + 00 −1 2 0∗ + 00 0∗ 2 0∗ + −1 2 1 0 −1 2 00 0 −2 1 2 0 3 0 2 0 h1 = 1 0 2 0 1 0 2 h2 = −1 1 0 0 1 1 0 h=1
X(1)
C(2) +
X(2) 144
C(3) +
+
+
+ ° +
−2 2 −1 3 −2 2 0 0 2 0 0 0∗ 0 0 −2 1 0 0
3 0 0 1 1 1
2 0 1
0 2 0
° +
° +
3 −2 ∗ 0 + 1 1 0∗
−3 00 −4
h = h1 = 2
1 −4 0 ∗ 00 −1 −5
2 0∗ + 00 +
h = h1 = 1
X(3) ————————————————————————————C(4)
−3 1 0∗
00 −5 0∗ 00 −1 −5
1 −3 ∗ 1 0 + 0 00 +
h = h1 = 1
−5 1 0 0 −5 0
0 0 −1
3 1 0 0 1 1
2 1 1
0 2 0
X(4) Teh´ at a tekintett feladatnak l´etezik optim´alis megold´asa, m´egpedig egy optim´alis megold´ as az X(4) m´atrix.
Feladatok 1. Oldjuk meg magyar m´odszerrel az al´abbi a, b, C adatokkal az S(a, b, C) sz´ all´ıt´ asi feladatot. (Megeml´ıtj¨ uk, hogy ez az els˝o publik´alt sz´all´ıt´asi feladat. 1941-ben F. L. Hitchcock k¨oz¨ olte a t´emak¨ ort ismertet˝o cikk´eben, mint demonstr´aci´os p´eld´at.) 25 10 5 6 7 a = 25 b = ( 15, 20, 30, 35 ) C = 8 2 7 6 50 9 3 4 8 2. Adott h´arom homokb´anya A1 , A2 , A3 , amelyeken rendre 120, 80, 150 teheraut´o homok v´ar elsz´all´ıt´ asra. M´asr´eszt adott ¨ot ´ep´ıt˝oipari v´allalat, B1 , B2 , B3 , B4 , B5 , amelyekn´el rendre 65, 71, 79, 67, 68 teheraut´o homokot v´arnak. Sz´all´ıtsuk a b´any´akb´ol 145
a v´allalatokhoz minim´alis sz´all´ıt´ asi k¨olts´eggel a homokot, ha az egy teheraut´o fuvarra es˝ o sz´all´ıt´ asi k¨olts´eg az Ai b´any´ ab´ ol a Bj v´allalathoz (i − j)2 + (i − j) + 2. Konstru´ aljuk meg a probl´em´ ahoz a megfelel˝o feladatot, ´es oldjuk meg. 3. Egy harc´aszati alkalmaz´ ast adott meg 1954-ben J. A. Joseph. Ennek egy b´ek´es v´ altozata a k¨ovetkez˝ o probl´ema. Adott a l´egier˝ oknek n´egy b´azisa B1 , B2 , B3 , B4 , tov´abb´a h´arom rep¨ ul˝ot´er, ahov´a seg´elysz´ all´ıtm´ anyokat kell eljuttatni a b´azisokr´ol. Mindegyik b´azisr´ol el´erhet˝o mindegyik rep¨ ul˝ ot´er. A sz¨ uks´eges rep¨ ul´esi magass´agt´ol, valamint a fogad´o rep¨ ul˝ot´ert˝ ol f¨ ugg˝ oen k¨ ul¨ onb¨ oz˝ o az egy g´epen sz´all´ıthat´o seg´ely mennyis´ege az egyes b´azis-rep¨ ul˝ot´er viszonylatokra. Ezeket a mennyis´egeket az T1 T2 B1 8 6 B2 6 6 B3 10 8 B4 8 6 sz´ all´ıt´ asi tervet, amely Konstru´ aljuk meg
T3 al´ abbi t´abl´azatban adjuk meg, ahol cij egy g´eppel 5 az i-edik b´azisr´ol a j-edik rep¨ ul˝ot´erre sz´all´ıthat´o 6 seg´ely mennyis´ege tonn´aban. Egy-egy b´azis napi 4 150 felsz´all´ast k´epes kiszolg´alni, ´es minden rep¨ ul˝ot´er 4 napi 200 g´epet tud fogadni. K´esz´ıts¨ unk olyan mellett maxim´alis mennyis´eg˝ u seg´ely sz´all´ıthat´o. a probl´em´ at le´ır´o optimumsz´am´ıt´asi feladatot, ´es oldjuk meg.
4. Oldjuk meg magyar m´odszerrel az S(a1 , b1 , C1 ) ´es S(a2 , b2 , C2 ) sz´all´ıt´asi feladatokat, ahol 7 a1 = 6 8
b1 = ( 5, 3,
2 3 a2 = 4 5
5,
5 3)
2 3 C1 = 3 3 2 2
b2 = ( 5, 4,
3, 2 )
2 2 C2 = 2 2
2 3 4 5
5 3 4
4 1 4
2 4 3
2 4 5 4
2 5 6 6
5. Oldjuk meg az S(a1 , b1 , C1 ) ´es S(a2 , b2 , C2 ) nyitott sz´all´ıt´asi feladatokat, ahol 5 a1 = 7 5 6 5 a2 = 6 5
b1 = ( 4,
4, 4,
4,
4, 4 )
4 C1 = 3 6
b2 = ( 3,
5,
3, 5,
146
3)
7 5 C2 = 3 5
3 4 5
2 3 4
5 5 3
7 3 4
3 4 6 3
6 5 7 5
3 4 2 4
5 4 4 6
2 7 2
6. A 8.seg´edt´etel bizony´ıt´ as´ at k¨ovetve igazoljuk a 12.seg´edt´etelt. 7. A 12. ´es 13.seg´edt´etelek felhaszn´al´as´aval ´ep´ıts¨ unk fel egy, a T S(a, b, C) feladat megold´ as´ ara szolg´al´ o elj´ar´ ast. 8. Oldjuk meg az al´abbi tilt´asos sz´all´ıt´asi feladat feladatokat:
5 6 5 3 1 5 4 5 7
3 4 4 2 3 3
(a)
x11 = x22 = 0 x33 = x34 = 0
4 5 6 2
4 3 4 3
(b)
7 4 7 5
5 5
4 3 3 2
(c)
4 3 4 4
3 5 5 3
2 6 6 4
4 6 9 6
x11 = x21 = x22 = 0 x32 = x33 = x43 = 0 x44 = 0
6 4 7 8
x13 = x21 = x23 = 0 x32 = x34 = x43 = 0 x44 = x45 = 0
5 5 5
2 1 6 2
5 2 7 1
6 5 2 3
1 5 3 5
4 6
7
3 5
9. A megadott elt´er´esek alapj´an a magyar m´odszerb˝ol ´ep´ıts¨ uk fel a korl´atos sz´ all´ıt´ asi feladat megold´as´ ara szolg´al´o elj´ar´ast. 10. Oldjuk meg az al´abbi korl´ atos sz´all´ıt´asi feladatokat.
5 3 C= 4 3
4 3 5 2
3 5
3 4 4 4
4 3 7 7
7 6 6 9
5 6 5 7
0 2 D= 2 2
5 5 5 148
2 0 2 2
2 2 0 2
2 2 2 0
2 2 2 2
3 2 ¯ = C 3 3
4 3 4 1
2 2 6 5
4 4 5
4 1 2 3
5 4 4 4
4 7 7 5
2 3 ¯ = D 0 2
3 1 3 3
3 0 3 3
2 2 3 1
2 1 2 2
5 5
´ ´ 3. NEMLINEARIS PROGRAMOZAS
Az 1.fejezetben, a modellek oszt´alyoz´asa sor´an meghat´aroztuk a c´ımben szerepl˝ o t´emak¨ ort. Nevezetesen, nemline´ aris programoz´ asi feladaton olyan probl´em´ at ´ert¨ unk, amelyben line´aris felt´etelrendszer mellett keress¨ uk egy nemline´aris z(x) c´elf¨ uggv´eny sz´els˝ o´ert´ekeit. A feladathoz, illetve annak speci´alis v´altozataihoz kapcsol´ od´ o vizsg´alatok sz´ama igen nagy. A jelen keretek k¨oz¨ott csak h´arom modellt ´es h´arom kapcsol´od´ o elj´ar´ ast ismertet¨ unk. Ezek k¨ ul¨onb¨oz˝o megold´asi technik´ara ´ep¨ ulnek. Az els˝o esetben a nemline´aris probl´ema egyszer˝ uen visszavezethet˝o egy alkalmas line´aris programoz´asi feladatra. A m´asodik elj´ar´asunk l´enyeg´eben egy numerikus k¨ozel´ıt˝ o megold´asa a nemline´aris probl´em´anak, v´eg¨ ul a harmadik, hat´ok¨or´et illet˝ oen leg´altal´ anosabb elj´ar´ as sor´an, fokozatos k¨ozel´ıt´essel jutunk el az optim´alis megold´ ashoz. A k¨ ul¨ onb¨ oz˝ o megold´asi technik´ak ellen´ere, a h´arom elj´ar´as k¨oz¨os tulajdons´ aga, hogy mindh´aromban alapvet˝o szerepet j´atszik a line´aris programoz´as.
3.1 Hiperbolikus programoz´ asi feladat
A nemline´aris programoz´asi feladatok egy speci´alis oszt´aly´at k´epezik az olyan probl´em´ ak, amelyek c´elf¨ uggv´enye fel´ırhat´o k´et line´aris f¨ uggv´eny h´anyadosak´ent. Ilyen esetben hiperbolikus programoz´ asi feladatr´ ol besz´el¨ unk. A k¨ovetkez˝okben ezen feladatt´ıpust vizsg´aljuk, ´es megadunk egy olyan algoritmust, amellyel bizonyos felt´etelek teljes¨ ul´ese eset´en a hiperbolikus programoz´asi feladat egyszer˝ uen megoldhat´o. Az els˝ o ´altal´ anos elj´ar´ ast a hiperbolikus programoz´asi feladat megold´as´ara Martos B´ela magyar matematikus publik´alta 1960-ban. Mi egy m´asik, technikailag egyszer˝ ubben kezelhet˝ o algoritmust fogunk megismerni, amelyet A. Charnes ´es W. W. Cooper dolgozott ki 1962-ben. Tekints¨ uk az al´abbi hiperbolikus programoz´asi feladatot: (3.1.1)
Ax ≤ b, x ≥ 0, (b ≥ 0) ——————————— 149
cx + α = z(x) → max dx + β amelyr˝ ol a tov´ abbiakban hivatkoz´ as n´elk¨ ul mindig felt´etelezz¨ uk a k¨ovetkez˝ oket: (i) a feladat lehets´eges megold´asainak L1 halmaza korl´atos, ¯ ∈ L1 lehets´eges megold´asra d¯ (ii) tetsz˝oleges x x + β > 0 teljes¨ ul. Vegy¨ uk ´eszre, hogy az (i) ´es (ii) felt´etelek biztos´ıtj´ak, hogy a (3.1.1) feladatnak l´etezik optim´alis megold´asa. Val´ oban, a 2.8 fejezet 5.seg´edt´etel´enek bizony´ıt´as´aban alkalmazott gondolatmenettel bel´athat´o, hogy L1 z´art halmaz (ld. 2.8 fejezet 3.feladat). M´ asr´eszt 0 ∈ L1 , ´es (i) alapj´an L1 korl´atos. ´Igy L1 korl´atos, z´art ´es nem¨ ures halmaz. V´eg¨ ul az (ii) felt´etelb˝ ol k¨ovetkezik, hogy z(x) folytonos L1 -en. De akkor z(x) felveszi a maximum´ at L1 -en, azaz l´etezik a feladatnak optim´alis megold´asa. Ezek ut´an konstru´ aljuk meg a (3.1.1) feladathoz az al´abbi line´aris programoz´asi feladatot:
(3.1.2)
Ay − bt ≤ 0, (b ≥ 0), dy + βt = 1, y ≥ 0, t ≥ 0, ——————————— cy + αt = w(y, t) → max
Jel¨ olje (3.1.2) lehets´eges megold´asainak halmaz´at L2 . Meg fogjuk mutatni, hogy az adott felt´etelek mellett ´erv´enyesek a k¨ovetkez˝o ´all´ıt´asok: (a) L2 korl´ atos, (b) megadhat´o olyan ϕ : L1 → L2 k¨olcs¨on¨osen egy´ertelm˝ u lek´epez´es, amelyre L1 ϕ = L2 teljes¨ ul, azaz az L1 halmaz ϕ melletti k´epe pontosan L2 , ¯ ∈ L1 lehets´eges megold´asra z(¯ ¯ ϕ az x ¯ vektor (c) tetsz˝oleges x x) = w(¯ xϕ), ahol x ϕ melletti k´ep´et jel¨oli. Joggal vet˝ odik fel a k´erd´es, hogy a fenti ´all´ıt´asok mennyivel visznek k¨ozelebb benn¨ unket a probl´ema megold´as´ ahoz. ´Igy miel˝ott igazoln´ank ezen ´all´ıt´asokat, bebizony´ıtjuk az al´abbi t´etelt, amely v´alaszt ad a felvetett k´erd´esre. 12.t´ etel. A (3.1.1) feladat optim´ alis megold´ as´ anak ϕ melletti k´epe optim´ alis megold´ asa a (3.1.2) feladatnak ´es ford´ıtva, a (3.1.2) feladat optim´ alis megold´ as´ anak ϕ melletti ˝ ose optim´ alis megold´ asa a (3.1.1) feladatnak. Bizony´ıt´ as. Az ´all´ıt´ as korrekt, ugyanis egyr´eszt tudjuk, hogy (3.1.1)-nek l´etezik optim´ alis megold´asa. M´asr´eszt (a) alapj´an L2 korl´atos ´es (b) miatt L2 nem u ¨res. Ism´et a 2.8 fejezet 5.seg´edt´etel´enek bizony´ıt´as´an´al alkalmazott gondolatmenettel bel´athat´ o, ´ hogy L2 z´art halmaz. Igy L2 korl´atos, z´art ´es nem¨ ures halmaz. V´eg¨ ul (3.1.2) c´elf¨ uggv´enye line´aris f¨ uggv´eny, ´ıgy folytonos L2 -n. De akkor w felveszi a maximum´ at L2 -n, azaz l´etezik a (3.1.2) feladatnak is optim´alis megold´asa. ¯ optim´alis megold´asa a (3.1.1) feladatnak. Ekkor (b) alapj´an Ezek ut´an legyen x ¯ ϕ lehets´eges megold´asa (3.1.2)-nek. Megmutatjuk, hogy x ¯ ϕ optim´alis megold´as is. x ¯ ϕ nem optim´alis megold´asa Az ´all´ıt´ ast indirekt bizony´ıtjuk. Ehhez tegy¨ uk fel, hogy x 150
(3.1.2)-nek. Akkor van olyan (˜ y, t˜) ∈ L2 , hogy w(˜ y, t˜) > w(¯ xϕ). Ez esetben (b) alapj´an ˜ ∈ L1 , amelyre x ˜ ϕ = (˜ van olyan x y, t˜). De (c) alapj´an z(˜ x) = w(˜ xϕ) = w(˜ y, t˜) ´ ˜ ´es z(¯ x) = w(¯ xϕ). Igy w(˜ y, t) > w(¯ xϕ) fenn´all´as´ab´ol z(˜ x) > z(¯ x) k¨ovetkezik, ami ¯ optim´alis megold´asa a (3.1.1) feladatnak. ellentmond annak a feltev´es¨ unknek, hogy x ¯ ϕ optim´alis megold´asa (3.1.2)-nek, amivel az ´all´ıt´as egyik r´esz´et K¨ ovetkez´esk´epp x igazoltuk. A megford´ıt´ as teljesen hasonl´o m´odon bizony´ıthat´o. K¨ ovetkezm´ eny. A (3.1.1) feladat optim´ alis megold´ as´ at megkapjuk, ha megoldjuk a megfelel˝ o (3.1.2) line´ aris programoz´ asi feladatot, ´es a kapott optim´ alis megold´ asnak k´epezz¨ uk a ϕ melletti ˝ os´et. A fenti k¨ovetkezm´eny l´enyeg´eben azt az elj´ar´ast is megadja, amellyel a (3.1.1) feladat optim´alis megold´asa meghat´arozhat´o. Ahhoz, hogy ez az elj´ar´as v´egrehajthat´o legyen, m´eg a ϕ f¨ uggv´enyt kell megadnunk. Ezt az (a), (b), (c) igazol´as´aval egyidej˝ uleg tessz¨ uk meg. A felsorolt ´all´ıt´ asok bizony´ıt´as´ahoz sz¨ uks´eg¨ unk lesz az L2 halmaz k¨ ovetkez˝ o, fontos tulajdons´ag´ ara. 13.t´ etel. A (3.1.2) feladat tetsz˝ oleges (¯ y, t¯) lehets´eges megold´ as´ ara t¯ > 0 teljes¨ ul. Bizony´ıt´ as. Az ´all´ıt´ ast indirekt bizony´ıtjuk. Ehhez tegy¨ uk fel, hogy t¯ > 0 nem ¯ ¯ ¯ ¯ ¯ 6= 0, teljes¨ ul, azaz t ≤ 0. Mivel (¯ y, t) ∈ L2 , ez´ert t ≥ 0, ´ıgy t = 0. Viszont ez esetben y ¯ vektor egy 0-t´ol k¨ mivel d¯ y + β t¯ = 1. Jel¨olje az y ul¨onb¨oz˝o komponens´et y¯i . Szint´en (¯ y, t¯) ∈ L2 alapj´an A¯ y − bt¯ ≤ 0, de t¯ = 0, ´ıgy A¯ y ≤ 0. ¯ ∈ L1 tetsz˝ ¯ + λ¯ Legyen most x oleges, ´es tekints¨ uk az x y vektort, ahol λ ≥ 0 ¯ ≥ 0, y ¯ ≥ 0, λ ≥ 0 fenn´all´as´ab´ol x ¯ + λ¯ tetsz˝ oleges val´ os sz´am. Ekkor x y ≥ 0 ¯ ∈ L1 , ´es ´ıgy A¯ k¨ ovetkezik. M´asr´eszt A¯ y ≤ 0 ´es λ ≥ 0, ´ıgy Aλ¯ y ≤ 0. De x x ≤ b. A ¯ + λ¯ kapott k´et egyenl˝ otlens´egb˝ ol A(¯ x + λ¯ y) ≤ b ad´odik. De akkor x y ∈ L1 teljes¨ ul tetsz˝ oleges λ ≥ 0 val´ os sz´amra. ¯ + λ¯ Vizsg´ aljuk most az x y vektor i-edik komponens´et. A tekintett komponens: x ¯i + λ¯ yi . Vegy¨ uk ´eszre, hogy y¯i > 0 miatt, ez a komponens tart v´egtelenhez, ha λ → ∞. Ez azt jelenti, hogy L1 elemeire vonatkoz´oan ez a komponens nem korl´atos, ami ellentmond annak, hogy az L1 halmaz korl´atos. K¨ovetkez´esk´epp ellentmond´ashoz jutottunk, ´ıgy t¯ > 0, amivel a 13.t´etelt igazoltuk. Ezek ut´an csak az (a), (b) ´es (c) ´all´ıt´asok igazol´as´at kell elv´egezn¨ unk. Els˝ok´ent ¯ ∈ L1 vektorra legyen megadjuk a ϕ lek´epez´est. Tetsz˝ oleges x µ ¶ ¯ x 1 ¯→ ϕ:x , . d¯ x + β d¯ x+β ¯ ∈ L1 eset´en ´ertelmezve van. Egyszer˝ Az (ii) felt´etel miatt ϕ tetsz˝oleges x uen bel´athat´ o (ld. 2.feladat), hogy k¨ ul¨ onb¨oz˝o vektorok k´epe k¨ ul¨onb¨oz˝o, azaz ϕ k¨olcs¨on¨osen egy´ertelm˝ u. Most legyen (¯ y, t¯) ∈ L2 tetsz˝oleges. A 13.t´etel alapj´an ekkor t¯ > 0. ´Igy ¯=y ¯ /t¯ vektort. Megmutatjuk, hogy x ¯ ∈ L1 ´es x ¯ ϕ = (¯ k´epezhetj¨ uk az x y, t¯). Val´ oban, (¯ y, t¯) ∈ L2 , ´ıgy A¯ y − bt¯ ≤ 0, amib˝ol t¯ > 0 miatt A¯ y/t¯ ≤ b, ´es ´ıgy ¯ ≥ 0, t¯ > 0, de akkor y ¯ /t¯ = x ¯ ≥ 0. K¨ovetkez´esk´epp A¯ x ≤ b k¨ovetkezik. M´asr´eszt y ¯ ∈ L1 . Most v´eve x ¯ ϕ meletti k´ep´et, x 151
µ
¶ µ ¶ ¯ /t¯ ¯ y 1 y t¯ ¯ϕ = x , = , = (¯ y, t¯) d¯ y/t¯ + β d¯ y/t¯ + β d¯ y + β t¯ d¯ y + β t¯ ugyanis (¯ y, t¯) ∈ L2 miatt d¯ y + β t¯ = 1. Ezzel megmutattuk, hogy ϕ az L1 halmaznak az L2 halmazra val´o k¨olcs¨on¨osen egy´ertelm˝ u lek´epez´ese, amivel (b)-t igazoltuk. Az (a) ´all´ıt´ as bizony´ıt´ as´ ahoz tekints¨ uk a ϕ f¨ uggv´enyt komponensenk´ent, azaz legyen 1 xi (i = 1, . . . , m), ϕm+1 : x → . dx + β dx + β ¯ ∈ L1 lehets´eges megold´asra d¯ Mivel tetsz˝oleges x x + β > 0, ez´ert ezek a f¨ uggv´enyek rendre folytonosak az L1 halmazon, amelyr˝ol tudjuk, hogy egy korl´atos, nem¨ ures, z´art halmaz. De akkor ezek a f¨ uggv´enyek rendre felveszik minimumukat ´es maximumukat ´ L1 -en. Igy l´eteznek olyan hi , Hi (i = 1, . . . , m) , h, H konstansok, hogy tetsz˝oleges ¯ ∈ L1 lehets´eges megold´asra x x ¯i 1 hi ≤ ≤ Hi (i = 1, . . . , m); h≤ ≤H . d¯ x+β d¯ x+β ¯ = y ¯ /t¯ ∈ L1 , ´es x ¯ ϕ M´ asr´eszt tetsz˝oleges (¯ y, t¯) ∈ L2 lehets´eges megold´asra x ´ melletti k´epe (¯ y, t¯). Igy ϕi : x →
hi ≤ y¯i ≤ Hi (i = 1, . . . , m),
h ≤ t¯ ≤ H ,
amib˝ ol m´ar k¨ovetkezik az L2 halmaz korl´atoss´aga. ¯ ∈ L1 tetsz˝oleges, ´es jel¨olje x ¯ ϕ meletti k´ep´et V´eg¨ ul (c) igazol´as´ ahoz legyen x ¯ (¯ y, t). Akkor z(¯ x) =
¯ c¯ x+α x 1 =c +α = c¯ y + αt¯ = w(¯ y, t¯) = w(¯ xϕ) . d¯ x+β d¯ x+β d¯ x+β
Ezzel az (a), (b), (c) ´all´ıt´ asok mindegyik´et igazoltuk, ´es ϕ megad´as´aval az elj´ar´ast is teljess´e tett¨ uk. A k¨ovetkez˝ okben egy p´elda megold´as´aval mutatjuk be az elj´ar´as gyakorlati v´egrehajt´as´ at. Ehhez tekints¨ uk a k¨ovetkez˝o hiperbolikus programoz´asi feladatot: x1 + x2 ≤ 6 x1 ≤4 −x1 + x2 ≤ 4 x1 ≥ 0, x2 ≥ 0 ———————– x1 + 2x2 − 5 = z → max 3x1 + x2 + 2 Vegy¨ uk ´eszre, hogy a tekintett feladat kiel´eg´ıti a felt´eteleket. Az x1 + x2 ≤ 6 egyenl˝ otlens´eg biztos´ıtja, hogy a lehets´eges megold´asok L1 halmaza korl´atos. M´asr´eszt ¯ = (¯ nemnegat´ıv x1 , x2 eset´en 3x1 + x2 + 2 ≥ 2, ´ıgy tetsz˝oleges x x1 , x ¯2 ) lehets´eges 152
megold´ asra d¯ x + β = 3¯ x1 + x ¯2 + 2 ≥ 2 > 0. Teh´at az (i) ´es (ii) felt´etelek mindegyike teljes¨ ul, ´ıgy alkalmazhatjuk az el˝oz˝oekben megismerteket. A megfelel˝o line´aris programoz´ asi feladat a k¨ovetkez˝ o: y1 + y2 − 6t ≤ 0 y1 − 4t ≤ 0 −y1 + y2 − 4t ≤ 0 3y1 + y2 + 2t = 1 y1 ≥ 0, y2 ≥ 0, t ≥ 0 ————————y1 + 2y2 − 5t = w → max Rendre hozz´aadva az egyenl˝ otlens´egek baloldal´ahoz az u1 , u2 , u3 nemnegat´ıv v´ altoz´ okat, ´es megszorozva a c´elf¨ uggv´enyt −1-gyel, a k¨ovetkez˝o standard feladatot kapjuk: y1 +y2 −6t +u1 =0 y1 −4t +u2 =0 −y1 +y2 −4t +u3 = 0 3y1 +y2 +2t =1 y1 ≥ 0, y2 ≥ 0, t ≥ 0, ui ≥ 0 (i = 1, 2, 3) ——————————————————– −y1 −2y2 +5t =w ¯ → min Vegy¨ uk ´eszre, hogy a kapott standard feladatban az u1 , u2 , u3 v´altoz´ok haszn´ alhat´ ok, mint b´azisv´ altoz´ ok. ´Igy a szimplex m´odszerhez sz¨ uks´eges mesters´eges v´ altoz´ ok sz´am´ at egyre reduk´alhatjuk a negyedik egyenletben felvett v nemnegat´ıv mesters´eges v´altoz´ o felv´etel´evel. Ez esetben a m´asodlagos c´elf¨ uggv´eny v = s alak´ u, ´es ennek a minimum´ at keress¨ uk. Mivel v b´azisv´altoz´o, ez´ert a negyedik egyenlet −1szeres´et kell hozz´aadnunk a m´asodlagos c´elf¨ uggv´enyt meghat´aroz´o fenti egyenlethez. Az u ´j c´elf¨ uggv´enyegyenlet a k¨ovetkez˝o: −3y1 − y2 − 2t = s(y, t, u) − 1 Ezt tekintve a m´asodlagos c´elf¨ uggv´eny egyenlet´enek, az al´abbi indul´o szimplex t´ abl´ azatot kapjuk: y1
y2
t
u1
1
1
−6
0
u2
1
0
−4
0
u3
−1
1
−4
0
∗
1
v
3
1
2
(w) ¯
−1
−2
+5
0
(s)
−3
−1
−2
−1
Vegy¨ uk ´eszre, hogy a t´abl´ azat harmadik oszlop´aban v´alasztva gener´al´o elemet, az ´talak´ıt´ a as ut´ani feladat b´azismegold´as´an a m´asodlagos c´elf¨ uggv´eny 0 ´ert´eket vesz fel. ´Igy a szimplex algoritmust´ ol elt´er˝ oen ebben az oszlopban v´alasztva gener´al´o elemet, 153
a43 ad´odik, ´es v´egrehajtva a megfelel˝o ´atalak´ıt´asokat, az al´abbi szimplex t´abl´azatot kapjuk. y1 y2 v u1
10
4
3
3
u2
7
2
2
2
u3
5
3
2
2
t
3/2
1/2
1/2
1/2
(w) ¯ −17/2 −9/2 −5/2 −5/2 (s) 0 0 1 0 A kapott t´abl´ azatban a m´asodlagos c´elf¨ uggv´eny ´ert´ek´et megad´o konstans 0, ´ıgy l´etezik lehets´eges megold´asa a tekintett standard feladatnak. A szimplex m´odszernek megfelel˝ oen elhagyva a m´asodlagos c´elf¨ uggv´enyt valamint a mesters´eges v´altoz´ot oszlop´ aval egy¨ utt, a tekintett standard feladattal ekvivalens lehets´eges kanonikus alak´ u feladathoz jutunk. Ezen feladat szimplex t´abl´azata ´es a rajta v´egrehajtott szimplex algoritmus sor´an el˝o´ all´ o szimplex t´abl´azatok a k¨ovetkez˝ok: y1
y2
u2
y2
u1
10
4
3
u1
−10/7
8/7
∗
1/7
u2
7∗
2
2
y1
1/7
2/7
2/7
u3
5
3
2
u3
−5/7
11/7
4/7
t
3/2
1/2
1/2
t
−3/14
1/14
1/14
(w) ¯
−17/2
−9/2
−5/2
(w) ¯
u2
u1
y2
−10/8
7/8
1/8
y1
4/8
17/14 −29/14 −1/14 u3
u1
y2
1
−1/2
1/2
−2/8
2/8
y1
−2/5
3/10
1/10
u3
∗
10/8
−11/8
3/8
u2
4/5
−11/10
3/10
t
−1/8
−1/16
1/16
t
1/10
−1/5
1/10
−11/8 29/16
3/16
(w) ¯
11/10
3/10
6/10
(w) ¯
A tekintett line´aris programoz´asi feladat optim´alis megold´asa: y¯1 = 1/10, y¯2 = 1/2, t¯ = 1/10. Ebb˝ol a hiperbolikus programoz´asi feladatra az ¯= x
¯ y (1/10, 1/2) = = (1, 5) ¯ t 1/10
optim´ alis megold´as ad´odik a z(¯ x) = 6/10 optimum´ert´ekkel. 154
Feladatok
1. Igazoljuk, hogy az al´abbi felt´etelrendszerrel meghat´arozott lehets´eges megold´ asok halmaza z´art. Ay − bt ≤ 0 , (b ≥ 0) dy + βt = 1 , y ≥ 0 , t ≥ 0 ¯ 6= x ˜ olyan vektorok, amelyekre d¯ 2. Igazoljuk, hogy amennyiben x x + β 6= 0 ´es d˜ x + β 6= 0 teljes¨ ul, akkor ´erv´enyes a k¨ovetkez˝o: ¯ ˜ x x 6= d¯ x+β d˜ x+β
vagy
1 1 6= . d¯ x+β d˜ x+β
3. Oldjuk meg az al´abbi hiperbolikus programoz´asi feladatokat. (A megold´as el˝ ott ellen˝orizz¨ uk, hogy teljes¨ ulnek-e az (i) ´es (ii) felt´etelek.)
(1)
(2)
x1 + x2 ≤ 4 x1 − x2 ≤ 2 x1 ≥ 0, x2 ≥ 0 ———————– 2x1 + x2 − 2 = z → max x1 + x2 + 1
x1 + x2 + x3 ≤ 12 2x1 − x2 + x3 ≤ 10 −3x1 + 5x2 + 2x3 ≤ 8 −2x1 − x2 + 4x3 ≤ 4 xi ≤ 0 (i = 1, 2, 3) ————————– 2x1 − x2 + 2x3 − 2 = z → max x1 + 2x2 + x3 + 2
155
3.2 Konvex programoz´ asi feladat
Mindenekel˝ ott eml´ekeztet¨ unk a konvex f¨ uggv´eny defin´ıci´oj´ara. Azt mondjuk, hogy egy f (x) m-v´ altoz´ os f¨ uggv´eny az m-dimenzi´os t´er egy L konvex halmaz´an konvex, ¯ ,¯ ha tetsz˝oleges x y ∈ L vektorokra ´es 0 ≤ λ ≤ 1 konstansra f (λ¯ x + (1 − λ)¯ y) ≤ λf (¯ x) + (1 − λ)f (¯ y) teljes¨ ul. Ha egy nemline´aris programoz´asi feladat z(x) c´elf¨ uggv´enye a lehets´eges megold´ asok halmaz´an konvex, ´es z(x)-nek a minimum´at keress¨ uk, akkor konvex programoz´ asi feladatr´ ol besz´el¨ unk. A probl´ema megold´as´ ara sz´amos elj´ar´as ismeretes. A k¨ovetkez˝okben a konvex programoz´ asnak csak egy speci´alis eset´evel foglalkozunk, nevezetesen olyan feladatokat Pm vizsg´ alunk, amelyek z(x) c´elf¨ uggv´enye fel´ırhat´o j=1 fj (xj ) alakban, ahol az fj (xj ) egyv´ altoz´ os f¨ uggv´enyek rendre konvex f¨ uggv´enyek a megfelel˝o intervallumokban. Ilyen f¨ uggv´enyek eset´en szok´asos sz´etv´ alaszthat´ o v´ altoz´ oj´ u konvex f¨ uggv´enyr˝ ol besz´elni. Ezek ut´an tekints¨ uk a k¨ovetkez˝o feladatot: (3.2.1)
Ax ≤ b, x ≥ 0, (b ≥ 0) ——————————— m X fj (xj ) = z(x) → min j=1
amelyr˝ ol a tov´ abbiakban hivatkoz´ as n´elk¨ ul mindig felt´etelezz¨ uk a k¨ovetkez˝ oket: (i) a feladat lehets´eges megold´asainak L halmaza korl´atos, (ii) a z(x) f¨ uggv´eny folytonos L-en. Vegy¨ uk ´eszre, hogy az adott felt´etelek mellett L korl´atos, z´art , nem¨ ures halmaz, ´ıgy z(x) folytonoss´aga miatt a feladatnak mindig l´etezik optim´alis megold´asa. A k¨ovetkez˝ okben megmutatjuk, hogy megadhat´o a (3.2.1) feladat optim´alis megold´ as´ anak egy olyan numerikus k¨ozel´ıt´ese, amelyre a t´enyleges optimum ´ert´eke ´es a k¨ozel´ıt˝ o optim´alis megold´ason felvett c´elf¨ uggv´eny´ert´ek elt´er´ese kisebb, mint egy el˝ ore adott pozit´ıv ε. E c´elb´ ol a (3.2.1) feladathoz megkonstru´alunk egy olyan (3.2.2)
Du ≤ d, u ≥ 0, (d ≥ 0) ——————————— α + cu = w(u) → min
line´ aris programoz´asi feladatot, hogy teljes¨ ulnek a k¨ovetkez˝ok: (1) a (3.2.2) feladat lehets´eges megold´asainak L0 halmaza korl´atos, (2) megadhat´o olyan ϕ : L → L0 lek´epez´es, hogy ¯ ∈ L0 vektorhoz meghat´arozhat´o olyan u ˜ ∈ Lϕ, amelyre (a) tetsz˝oleges u w(˜ u) ≤ w(¯ u) teljes¨ ul, ¯ ∈ L lehets´eges megold´asra z(¯ (b) tetsz˝oleges x x) ∼ w(¯ xϕ). 155
A bevezetett feladatp´arra vonatkoz´oan ´erv´enyes a k¨ovetkez˝o ´all´ıt´as. 14.t´ etel. Ha a (3.2.1) feladathoz megkonstru´ alunk egy olyan (3.2.2) feladatot, ¯ ∈ L lehets´eges hogy a feladatp´ arra teljes¨ ulnek az (1), (2) ´ all´ıt´ asok, ´es ha tetsz˝ oleges x megold´ asra | z(¯ x) − w(¯ xϕ) |< ε/2, akkor megadhat´ o olyan x0 ∈ L, amelyre | z(x0 ) − min z(x) |< ε . x∈L
Bizony´ıt´ as. Els˝ok´ent megmutatjuk, hogy (3.2.2)-nek van olyan optim´alis megold´ asa, amely eleme az Lϕ halmaznak. Ezen ´all´ıt´as korrekt, ugyanis (1) alapj´an L0 korl´ atos, de akkor hasonl´oan az el˝oz˝o fejezetekben t´argyaltakhoz bel´athat´o, hogy ¯ egy optim´alis megold´ast. Ekkor a l´etezik (3.2.2)-nek optim´alis megold´asa. Jel¨olj¨on u ˜ ∈ Lϕ, amelyre w(˜ (2) ´all´ıt´ as (a) r´esz´eb˝ ol ad´odik, hogy van olyan u u) ≤ w(¯ u) teljes¨ ul. ˜ is optim´alis megold´as, amivel a kit˝ De akkor u uz¨ott ´all´ıt´ast igazoltuk. ˜ optim´alis megold´as egy ϕ melletti ˝ose. Megmutatjuk, Ezek ut´an legyen x0 az u ¯ ∈ L lehets´eges hogy x0 -ra teljes¨ ul a t´etelben kimondott ´all´ıt´as. Mivel tetsz˝oleges x megold´ asra | z(¯ x) − w(¯ xϕ) |< ε/2, ez´ert (3)
z(¯ x) − ε/2 < w(¯ xϕ) < z(¯ x) + ε/2 .
˜ optim´ ¯ ∈ L0 vektorra w(˜ M´ asr´eszt u alis megold´as, ´ıgy tetsz˝oleges u u) ≤ w(¯ u) teljes¨ ul. ˜ = x0 ϕ, ´ıgy az ut´obbi egyenl˝ ¯ ∈ L-re De u otlens´egb˝ol azt kapjuk, hogy tetsz˝oleges x (4)
w(x0 ϕ) ≤ w(¯ xϕ) .
Most (3) ´es (4) alapj´an ad´odik, hogy z(x0 ) − ε/2 < w(x0 ϕ) < z(¯ x) + ε/2 ¯ ∈ L vektorra. De akkor z(x0 ) − z(¯ ¯ ∈ L-re, ´es teljes¨ ul tetsz˝oleges x x) < ε tetsz˝oleges x ´ıgy z(x0 ) − min z(x) < ε . x∈L
Mivel x0 ∈ L, ez´ert a fenti kifejez´es baloldala nemnegat´ıv, de akkor megegyezik saj´at abszol´ ut ´ert´ek´evel. ´Igy | z(x0 ) − min z(x) |< ε , x∈L
amivel igazoltuk a 14.t´etelt. K¨ ovetkezm´ eny. Ha r¨ ogz´ıtett ε > 0 mellett a (3.2.1) feladathoz megkonstru´ alunk egy olyan (3.2.2) feladatot, hogy a feladatp´ arra teljes¨ ulnek az (1), (2) ´ al´ıt´ asok, ´es a (2) ´ all´ıt´ as (b) r´esz´eben megadott k¨ ozel´ıt´es ε/2 pontoss´ ag´ u, akkor megadhat´ o (3.2.1) optim´ alis megold´ as´ anak egy olyan numerikus k¨ ozel´ıt´ese, hogy a t´enyleges optimum elt´er´ese a k¨ ozel´ıt˝ o optimum´ert´ekt˝ ol kisebb, mint ε. 156
K´erd´es ezek ut´an, hogy mik´ent lehet (3.2.1)-hez olyan (3.2.2) t´ıpus´ u feladatot konstru´ alni, hogy a feladatp´ar kiel´eg´ıtse a fentieket. A tov´abbiakban ezt vizsg´aljuk. Megadunk egy olyan elj´ar´ ast, amellyel a megfelel˝o (3.2.2) feladat el˝o´all´ıthat´o. Ezt k¨ ovet˝ oen megmutatjuk, hogy az elj´ar´assal el˝o´all´ıtott feladat val´oban rendelkezik a k´ıv´ ant tulajdons´agokkal. Az eml´ıtett elj´ar´ as megad´asa el˝ott sz¨ uks´egesek bizonyos el˝ok´esz¨ uletek. Mivel a (3.2.1) feladat lehets´eges megold´asainak L halmaza korl´atos, ez´ert ¯ ∈ L lehets´eges megold´asra l´eteznek olyan h1 , . . . , hm konstansok, hogy tetsz˝oleges x 0 ≤ x ¯j ≤ hj (j = 1, . . . , m) teljes¨ uP l. Ilyen ´ert´ekek val´oban l´eteznek, ugyanis a m ¯ ∈ L. De akkor hj = M korl´ atoss´ ag miatt van olyan M , hogy j=1 x ¯2j ≤ M 2 , ha x (j = 1, . . . , m) m´aris alkalmas konstansok. Sajnos a hj (j = 1, . . . , m) ´ert´ekek l´etez´es´en kiv¨ ul sz¨ uks´eg¨ unk van konkr´et ilyen konstansok ismeret´ere is, amelyek meghat´aroz´asa esetenk´ent neh´ezs´egekbe u ¨tk¨ozik. Kett˝ o ´es h´arom v´altoz´ ot tartalmaz´o feladatok eset´eben ezek a korl´atok meghat´ arozhat´ ok grafikusan. Nagyobb feladatn´al egy lehets´eges elj´ar´as a Fourier-m´odszer (ld. 1.feladat), ez azonban igen sz´am´ıt´asig´enyes, ´es nehezen hajthat´o v´egre. A tov´abbiakban nem t´er¨ unk ki a hj (j = 1, . . . , m) konstansok meghat´aroz´asi technik´ aj´ ara. Felt´etelezz¨ uk, hogy ezek valamilyen m´odszerrel meghat´arozhat´ok. Haszn´ alni fogjuk az fj (xj ) f¨ uggv´enynek a [0, hj ] intervallumon line´aris f¨ uggv´enyekkel t¨ ort´en˝ o k¨ozel´ıt´es´et. E c´elb´ol tekints¨ uk a [0, hj ] intervallum egy 0 = hj0 < hj1 < . . . < hjkj = hj beoszt´as´ at. K´epezz¨ uk az s = 1, . . . , kj ´ert´ekekre a (hjs−1 , fj (hjs−1 )), (hjs , fj (hjs )) pontokat ¨osszek¨ ot˝ o szakaszok mjs =
fj (hjs ) − fj (hjs−1 ) hjs − hjs−1
ir´ anytangenseit. Ekkor a Γj (uj1 , . . . , ujkj ) = fj (0) +
kj X
mjs ujs
s=1
f¨ uggv´enyt fj (xj ) h´ urpoligonj´ anak nevezz¨ uk a [0, hj ] intervallumon. Γj -t u ´gy lehet interpret´ alni, mint az egyes oszt´opontokban felvett f¨ uggv´eny´ert´ekeket ¨osszek¨ ot˝ o szakaszok ´altal meghat´arozott f¨ uggv´enyt. Ennek al´at´amaszt´as´ara legyen 0≤x ¯j ≤ hj tetsz˝ oleges. Tekints¨ uk az x tengelyen a 0, x ¯j pontok ´altal meghat´arozott szakaszt. Jel¨olje ezen szakasz [hjs−1 , hjs ]-be es˝o r´esz´enek hossz´at u ¯js . Akkor nyilv´ anval´ oan teljes¨ ulnek a k¨ovetkez˝ ok: Pkj (5) ¯js = x ¯j , s=1 u (6)
0≤u ¯js ≤ hjs − hjs−1 (s = 1, . . . , kj ) ,
(7)
tetsz˝oleges 1 ≤ s ≤ kj indexre, ha u ¯js > 0, akkor u ¯jt = hjt − hjt−1 (t = 1, . . . , s − 1). 157
M´ asr´eszt Γj defin´ıci´ oj´ ab´ ol k¨ovetkezik, hogy az ´ıgy meghat´arozott u ¯js (s = 1, . . . , kj ) ´ert´ekekre Γj (¯ uj1 , . . . , u ¯jkj ) pontosan a f¨ uggv´eny´ert´ekeket ¨osszek¨ot˝o szakaszok ´altal meghat´ arozott f¨ uggv´eny ´ert´eke az x ¯j pontban. Felt´etelez´es¨ unk szerint fj (xj ) konvex f¨ uggv´eny [0, hj ]-n. Ebb˝ol a Γj h´ urpoligonban szerepl˝o mjs (s = 1, . . . , kj ) ir´anytangensekre k¨ovetkezik, hogy (8)
mj1 ≤ mj2 ≤ . . . ≤ mjkj ,
amely tulajdons´agot a k´es˝ obbiek sor´an fel fogunk haszn´alni. V´eg¨ ul vizsg´aljuk a h´ urpoligon ´es az fj (xj ) f¨ uggv´eny elt´er´es´et a [0, hj ] intervallumon. Mivel a h´ urpoligont a beoszt´as hat´arozza meg, ez´ert az elt´er´es a tekintett beoszt´ast´ ol f¨ ugg. M´asr´eszt (ii) alapj´an z(x) folytonos L-en, de akkor fj (xj ) is folytonos a [0, hj ] intervallumon. Anal´ızisb˝ol ismeretes, hogy ekkor fj (xj ) egyenletesen is folytonos [0, hj ]-n, azaz tetsz˝oleges pozit´ıv ε-hoz van olyan δ > 0, hogy b´armely u ¯, v¯ ∈ [0, hj ] pontp´ arra, ha | u ¯ − v¯ |< δ, akkor | fj (¯ u) − fj (¯ v ) |< ε. Ez viszont azt eredm´enyezi, hogy v´eve egy olyan beoszt´ast, amelyre hjs − hjs−1 < δ (s = 1, . . . , kj ) teljes¨ ul, a beoszt´ashoz tartoz´o h´ urpoligon ´es az fj (xj ) f¨ uggv´eny elt´er´ese a [0, hj ] intervallumon kisebb, mint ε. ¨ Osszegezve a fentieket, az elt´er´est illet˝oen azt kaptuk, hogy tetsz˝oleges el˝o´ırt pozit´ıv ε pontoss´ aggal k¨ozel´ıthet˝ o az fj (xj ) f¨ uggv´eny egy alkalmas h´ urpoligonnal. Konkr´et feladatokn´al a megfelel˝o beoszt´as meghat´aroz´asa igen komplik´alt lehet, az fj (xj ) f¨ uggv´enyekt˝ ol f¨ ugg˝ oen k¨ ul¨ onb¨oz˝o technik´akat lehet alkalmazni. A tov´abbiakban ennek a r´eszleteivel nem foglalkozunk, a t´argyal´asra ker¨ ul˝o feladatokban a megfelel˝o beoszt´asok viszonylag k¨onnyen meghat´arozhat´ok. A fenti el˝ok´esz´ıt´es ut´an a (3.2.1) feladat r¨ogz´ıtett ε > 0 hibahat´ar melletti megold´ as´ ara a k¨ovetkez˝ o elj´ar´ ast ´ep´ıthetj¨ uk fel. Elj´ ar´ as 1.l´ep´es. A feladat v´altoz´ oira rendre hat´arozzuk meg a hj (j = 1, . . . , m) fels˝o korl´ atokat. 2.l´ep´es. Minden j-re (j = 1, . . . , m) vegy¨ uk fel a [0, hj ] intervallum egy olyan beoszt´as´ at, hogy a beoszt´ashoz tartoz´o h´ urpoligon ´es az fj (xj ) f¨ uggv´eny elt´er´ese kisebb legyen, mint ε/2m, majd hat´arozzuk meg rendre a Γj (uj1 , . . . , ujkj ) (j = 1, . . . , m) h´ urpoligonokat. 3.l´ep´es. A (3.2.1) feladat Ax ≤ b egyenl˝otlens´egrendszer´eben minden j-re Pkj (j = 1, . . . , m) helyettes´ıts¨ uk az xj v´altoz´ot a s=1 ujs kifejez´essel. Az ´ıgy el˝o´all´o felt´etelrendszert eg´esz´ıts¨ uk ki a 0 ≤ ujs ≤ hjs − hjs−1 (s = 1, . . . , kj ; j = 1, . . . , m) felt´etelekkel. Ezt k¨ovet˝ oen vegy¨ uk fel c´elf¨ uggv´enyk´ent a 158
w(u) =
m X
Γj (uj1 , . . . , ujkj )
j=1
f¨ uggv´enyt. 4.l´ep´es. A 3.l´ep´esben el˝oa´ll´ıtott (3.2.2) t´ıpus´ u line´aris programoz´asi feladatot oldPkj ¯ optim´alis megold´asb´ol k´epezz¨ u ¯js ´ert´ekeket juk meg, ´es a kapott u uk az x ¯j = s=1 ¯ = (¯ ¯ vektor a (3.2.1) feladat (j = 1, . . . , m) ´es az x x1 , . . . , x ¯m ) vektort. Az el˝o´all´ıtott x optim´ alis megold´as´ anak egy numerikus k¨ozel´ıt´ese. Az elj´ar´ as helyess´eg´enek igazol´as´ahoz a 14.t´etel alapj´an elegend˝o azt bizony´ıtanunk, hogy az elj´ar´ as sor´an megkonstru´alt (3.2.2) t´ıpus´ u feladat ´es a (3.2.1) feladatot ¯ az u ¯ optim´alis illet˝ oen teljes¨ ulnek az (1) ´es (2) ´all´ıt´asok, ´es a 4.l´ep´esben k´epezett x megold´ as ϕ melletti ˝ose. Az (1) ´all´ıt´ as, azaz L0 korl´ atoss´aga, nyilv´anval´oan k¨ovetkezik a 0 ≤ ujs ≤ hjs − hjs−1 (s = 1, . . . , kj ; j = 1, . . . , m) felt´etelekb˝ol. ¯ = A (2) ´all´ıt´ as igazol´as´ ahoz els˝ok´ent defini´aljuk a ϕ lek´epez´est. Tetsz˝oleges x (¯ x1 , . . . , x ¯m ) ∈ L vektorra legyen (¯ x1 , . . . , x ¯m )ϕ = (¯ u11 , . . . , u ¯1k1 , u ¯21 , . . . , u ¯2k2 , . . . , u ¯m1 , . . . , u ¯mkm ) , ahol u ¯j1 , . . . , u ¯jkj az x ¯j ´ert´eknek az el˝oz˝oekben ismertetett, az (5), (6), (7) ´all´ıt´asokat kiel´eg´ıt˝ o felbont´ asa (j = 1, . . . , m). Mivel x ¯j ilyen felbont´asa egy´ertelm˝ u, ez´ert ϕ olyan ¯ komponensei (6) alapj´an lek´epez´es, amelynek ´ertelmez´esi tartom´anya L. M´asr´eszt u kiel´eg´ıtik a 0 ≤ ujs ≤ hjs − hjs−1 (s = 1, . . . , jk ; j = 1, . . . , m) Pkj ¯ kiel´eg´ıti a megkonstru´alt ¯js miatt u felt´eteleket, tov´ abb´ a A¯ x = b ´es x ¯j = s=1 u ¯ (3.2.2) t´ıpus´ u feladat m´asik felt´etelcsoportj´at is. Ez pontosan azt jelenti, hogy u 0 ¯ ∈ L . K¨ovetkez´esk´epp, lehets´eges megold´asa a line´aris programoz´asi feladatnak, azaz u ϕ ´ert´ekk´eszlete r´esze L0 -nek, ´es ´ıgy ϕ a megadott t´ıpus´ u lek´epez´es. ¯ ∈ L0 vektor eset´en, ha u ¯ -ra teljes¨ Most vegy¨ uk ´eszre, hogy tetsz˝oleges u ul (7) ¯ ∈ Lϕ. Val´oban, egyszer˝ minden 1 ≤ j ≤ m indexre, akkor u uen bel´athat´o, hogy ebben az esetben k´epezve az k1 km X X ¯ = (¯ x x1 , . . . , x ¯m ) = ( u ¯1s , . . . , u ¯ms ) s=1
s=1
¯ lehets´eges megold´asa (3.2.1)-nek, ´es x ¯ϕ = u ¯ , ami egyidej˝ vektort, x uleg azt is mutatja, ¯ vektor az u ¯ optim´alis megold´as ϕ melletti ˝ose. hogy a 4.l´ep´esben k´epezett x ¯ ∈ L0 tetsz˝oleges. Ezek ut´an r´at´er¨ unk az (a) ´all´ıt´as igazol´as´ara. Ehhez legyen u ¯ -ra teljes¨ ¯ ∈ Lϕ, ´es Ha u ul (7) minden 1 ≤ j ≤ m indexre, akkor a fentiek alapj´an u ¯=u ˜ el˝ ˜ vektor. ´ıgy a u o´ all´ıt´ assal ad´odik a megfelel˝o u 159
¯ -ra vonatkoz´ Ha u oan van olyan 1 ≤ j ≤ m index, amelyre nem teljes¨ ul (7), akkor jel¨olje j1 , . . . , jw az ¨osszes ilyen tulajdons´ a g´ u indexeket. Legyen i ∈ {j , . . . , jw } 1 Pki 0 ¯ ∈ L , ez´ert 0 ≤ tetsz˝ oleges, ´es k´epezz¨ uk a qi = ¯is mennyis´eget. Mivel u s=1 u u ¯is ≤ his − his−1 (s = 1, . . . , ki ), ´ıgy 0 ≤ qi ≤ hki = hi . Most jel¨olje a 0 ´es qi pontokat ¨osszek¨ ot˝ o szakasz [his−1 , his ]-be es˝o r´esz´enek hossz´at u ˜is (s = 1, . . . , ki ), azaz vegy¨ uk qi -nek az (5), (6), (7) ´all´ıt´asokat kiel´eg´ıt˝o felbont´as´at. Hajtsuk v´egre a fentieket minden i ∈ {j1 , . . . , jw } indexre, tov´abb´a a j ∈ / {j1 , . . . , jw } indexekre legyen u ˜js = u ¯js (s = 1, . . . , kj ). ˜ vektorra u ˜ ∈ L0 teljes¨ Megmutatatjuk, hogy az el˝o´ all´ıtott u ul. Ehhez els˝ok´ent vizsg´ aljuk a konstru´ alt (3.2.2) feladat 0 ≤ ujs ≤ hjs − hjs−1 (s = 1, . . . , kj ; j = 1, . . . , m) felt´eteleinek teljes¨ ul´es´et. Ha j ∈ / {j1 , . . . , jw }, akkor u ˜js = u ¯js (s = 1, . . . , kj ), ´es ´ıgy az u ˜j1 , . . . , u ˜jkj ´ert´ekekre teljes¨ ulnek a megfelel˝o felt´etelek. Ha j ∈ {j1 , . . . , jw }, akkor az u ˜j1 , . . . , u ˜jkj ´ert´ekekre ´erv´enyes (6), ´es ´ıgy kiel´eg´ıtik a fenti felt´eteleket is. A konstru´ alt (3.2.2) feladat m´asik felt´etelcsoportj´anak, az Ax ≤ b felt´etelrendszerb˝ol xj Pkj nek a s=1 ujs kifejez´essel t¨ort´en˝ o helyettes´ıt´es´evel nyert felt´eteleknek a teljes¨ ul´ese Pkj Pkj ¯ -ra teljes¨ nyilv´ anval´ o, ugyanis minden j-re ˜js = ¯js , ´ıgy ha u ultek s=1 u s=1 = u ˜ is kiel´eg´ıti ezeket a felt´eteleket. K¨ovetkez´esk´epp u ˜ kiel´eg´ıti ezek a felt´etelek, akkor u ˜ ∈ L0 . a line´aris programoz´asi feladat minden felt´etel´et, ´ıgy u ˜ defin´ıci´oj´ab´ol k¨ovetkezik, hogy u ˜ -ra vonatkoz´oan M´ asr´eszt vegy¨ uk ´eszre, hogy u ˜ ∈ Lϕ. minden 1 ≤ j ≤ m indexre ´erv´enyes (7). Ekkor viszont az el˝oz˝oek szerint u Ezek ut´an m´ar csak azt kell igazolnunk, hogy w(˜ u) ≤ w(¯ u). Mivel w(u11 , . . . , umkm ) =
m X
Γj (uj1 , . . . , ujkj ) ,
j=1
ez´ert a fenti egyenl˝ otlens´eg fenn´all´as´ahoz elegend˝o megmutatnunk, hogy minden 1 ≤ j ≤ m indexre teljes¨ ul az al´abbi egyenl˝otlens´eg: (9)
Γj (˜ uj1 , . . . , u ˜jkj ) ≤ Γj (¯ uj1 , . . . , u ¯jkj )
Ha j ∈ / {j1 , . . . , jw }, akkor u ˜js = u ¯js (s = 1, . . . , kj ), ´es ´ıgy (9) ´erv´enyess´ege nyilv´ anval´ o. Most tegy¨ uk fel, hogy j ∈ {j1 , . . . , jw }. Mivel Γj (uj1 , . . . , ujkj ) = Pkj fj (0) + s=1 mjs ujs , ez´ert (9) fenn´all´as´ahoz elegend˝o megmutatni, hogy (10)
kj X
mjs u ˜js ≤
s=1
kj X
mjs u ¯js .
s=1
Ennek igazol´as´ ahoz legyen ds = u ˜ −u ¯js (s = 1, . . . , kj ). Vegy¨ uk ´eszre, hogy mivel Pkj Pkj js Pkj u ¯ , ez´ e rt d = 0. Jel¨ o lje s a legnagyobb olyan 1 ≤ s ≤ kj u ˜ = 0 s=1 s s=1 js s=1 js indexet, amelyre u ˜js > 0 teljes¨ ul. Ekkor mivel az u ˜j1 , . . . , u ˜jkj ´ert´ekekre teljes¨ ul (7), ez´ert u ˜js = hjs − hjs−1 , ha 1 ≤ s < s0 . K¨ovetkez´esk´epp ds ≥ 0, ha 1 ≤ s < s0 . M´ asr´eszt s0 defin´ıci´ oj´ ab´ ol k¨ovetkezik, hogy u ˜js = 0, ha s0 < s ≤ kj . ´Igy ds ≤ 0, ha s0 < s ≤ k j . 160
Ezek ut´an legyen
½ r=
s0 , ha ds0 ≥ 0, s0 − 1 , ha ds0 < 0.
´Igy azt kapjuk, hogy ds ≥ 0, ha 1 ≤ s ≤ r, ´es ds ≤ 0, ha r + 1 ≤ s ≤ kj . M´asr´eszt Pkj ol s=1 ds = 0, amib˝ r X
kj X
ds = −
s=1
ds
s=r+1
.
Most legyen 1 ≤ s ≤ r tetsz˝oleges. Akkor ds ≥ 0 ´es (8) alapj´an mjs ≤ mjr . ´Igy ¨ mjs ds ≤ mjr ds (s = 1, . . . , r). Osszegezve az egyenl˝otlens´egek bal- ´es jobboldalait, azt kapjuk, hogy r X
(11)
mjs ds ≤
s=1
r X
mjr ds .
s=1
M´ asr´eszt, ha r + 1 ≤ s ≤ kj , akkor ds ≤ 0, ´es ism´et (8) alapj´an mjr+1 ≤ mjs . De ¨ akkor mjr+1 ds ≥ mjs ds (s = r + 1, . . . , kj ). Osszegezve az egyenl˝otlens´egek bal- ´es jobboldalait, kj X
(12)
mjs ds ≤
s=r+1
kj X
mjr+1 ds .
s=r+1
De akkor (11) ´es (12) alapj´an kj X
mjs ds =
s=1
M´ asr´eszt
r X
mjs ds +
s=1
Pr s=1
ds = −
kj X
mjs ds ≤
s=r+1
Pkj s=r+1 kj X
r X
mjr ds +
s=1
kj X
mjr+1 ds .
s=r+1
ds , ´ıgy a fenti egyenl˝otlens´egb˝ol azt kapjuk, hogy
mjs ds ≤ (mjr − mjr+1 )
s=1
r X
ds .
s=1
Pkj A kapott egyenl˝ otlens´eg jobboldala (8) alapj´an nem pozit´ıv, ´ıgy s=1 mjs ds ≤ 0, azaz Pkj ujs − u ¯js ) ≤ 0, amib˝ol k¨ovetkezik (10), ´es egyben w(˜ u) ≤ w(¯ u) ´erv´enyess´ege s=1 mjs (˜ is. Ezzel igazoltuk a (a) ´all´ıt´ ast. ¯ ∈ L tetsz˝oleges, ´es jel¨olje x ¯ ϕ melA (2) ´all´ıt´ as (b) r´esz´enek igazol´as´ahoz legyen x Pkj ¯ . Akkor tetsz˝oleges 1 ≤ j ≤ m indexre x letti k´ep´et u ¯j = s=1 u ¯js , ´es az u ¯j1 , . . . , u ¯jkj ´ert´ekekre teljes¨ ul (6) ´es (7). De akkor Γj (¯ uj1 , . . . , u ¯jkj ) ´es fj (¯ xj ) elt´er´ese kisebb, mint ´ ε/2m. Igy 161
| z(¯ x) − w(¯ xϕ) |=| m X
m X ¡
¢ fj (¯ xj ) − Γj (¯ uj1 , . . . , u ¯jkj ) |≤
j=1
| fj (¯ xj ) − Γj (¯ uj1 , . . . , u ¯jkj ) |< ε/2.
j=1
Ezzel igazoltuk a (b) ´all´ıt´ ast is, speci´alisan azt is megmutattuk, hogy az elj´ar´as konstrukci´ oj´ aban a konvex f¨ uggv´eny ´es a line´aris f¨ uggv´eny elt´er´ese kisebb, mint ε/2. Az elj´ar´ assal kapcsolatban megjegyezz¨ uk, hogy a k¨ozel´ıt´es pontoss´ag´anak n¨ovel´ese altal´ ´ aban a line´aris feladat m´ereteinek n¨oveked´es´et eredm´enyezi. A hibahat´ar ´es a m´eret k¨ozti kapcsolat miatt, annak ´erdek´eben, hogy a megoldand´ o line´aris programoz´asi feladatok viszonylag kism´eret˝ uek legyenek, mind a demonstr´aci´ os feladat, mind a fejezet v´eg´en megadott feladatok hibahat´ara viszonylag nagy. Az elj´ar´ as illusztr´al´ as´ ara tekints¨ uk a k¨ovetkez˝o konvex programoz´asi feladatot: 2x1 +x2 +x3 ≤ 4 x2 −x3 ≤ 2 3x1 +x3 ≤ 3 xi ≥ 0 (i = 1, 2, 3) ——————————————2x21 − 3x1 + x22 − 5x2 + x23 = z(x) → min Legyen az el˝ o´ırt hibahat´ar ε = 0.4. Vizsg´aljuk els˝ok´ent a felt´etelek teljes¨ ul´es´et. Az els˝o felt´etel biztos´ıtja a korl´ atoss´agot, amib˝ol ad´odik (i) ´erv´enyess´ege. M´asr´eszt z(x) folytonos az eg´esz t´erben, ´ıgy a lehets´eges megold´asok L halmaz´an is, azaz (ii) is teljes¨ ul. V´eg¨ ul z(x) = f1 (x1 ) + f2 (x2 ) + f3 (x3 ), ahol az fi (xi ) (i = 1, 2, 3) f¨ uggv´enyek egyenes´ all´as´ u parabol´ak, ´es ´ıgy konvexek az eg´esz sz´amegyenesen. Ezzel azt kaptuk, hogy valamennyi felt´etel teljes¨ ul. Ezek ut´an hat´arozzuk meg a hj (j = 1, 2, 3) ´ert´ekeket. Ehhez vegy¨ uk ´eszre, hogy a ¯ ∈ L lehets´eges megold´asra harmadik egyenl˝ otlens´egb˝ ol k¨ovetkezik, hogy tetsz˝oleges x x ¯1 ≤ 1 ´es x ¯3 ≤ 3. M´asr´eszt ¨osszeadva az els˝o ´es m´asodik egyenl˝otlens´egek bal- ´es jobboldalait, azt kapjuk, hogy 2x1 + 2x2 ≤ 6, amib˝ol x ¯2 ≤ 3 ad´odik. K¨ovetkez´esk´epp h1 = 1, h2 = 3, h3 = 3. Most hat´arozzuk meg az el˝o´ırt hibahat´arhoz a megfelel˝o beoszt´asokat. Ehhez vegy¨ uk ´eszre, hogy mivel az fi (xi ) (i = 1, 2, 3) f¨ uggv´enyek egyenes´all´as´ u parabol´ak, ez´ert a f¨ uggv´enyek ´es a h´ urpoligonok elt´er´es´enek vizsg´alat´ahoz elegend˝o az y = cx2 (c > 0) f¨ uggv´enynek ´es a hozz´atartoz´o h´ urpoligonnak az elt´er´es´et vizsg´alni. Az elt´er´es meghat´ aroz´ as´ ahoz legyen x ¯ a sz´amegyenes egy tetsz˝oleges r¨ogz´ıtett pontja, ´es legyen δ > 0 tetsz˝oleges. Akkor az (¯ x, c¯ x2 ), (¯ x + δ, c(¯ x + δ)2 ) pontokat ¨oszek¨ot˝o egyenes egyenlete: y = c(2¯ x + δ)x − c¯ x(¯ x + δ) . 162
K´epezve az y = c(2¯ x + δ)x − c¯ x(¯ x + δ) ´es y = cx2 f¨ uggv´enyek k¨ ul¨onbs´eg´et, az al´abbi ∆(x) f¨ uggv´enyt kapjuk: ∆(x) = −cx2 + c(2¯ x + δ)x − c¯ x(¯ x + δ) V´eve ∆(x) deriv´altj´ at, ∆0 (x) = −2cx + 2c¯ x + cδ, amelynek egyetlen 0-helye van, az 00 x = x ¯ + δ/2 pont. Mivel ∆ (x) = −2c < 0, ez´ert a ∆(x) f¨ uggv´eny konk´av, ´ıgy a 0-hely maximumhelye ∆(x)-nek. Behelyettes´ıtve az x ¯ + δ/2 ´ert´eket ∆(x)-be, azt kapjuk, hogy a k´et f¨ uggv´eny maxim´alis elt´er´ese az [¯ x, x ¯ + δ] intervallumon cδ 2 /4. A kapott eredm´eny mutatja, hogy az elt´er´es val´oban csak az intervallum hossz´at´ol f¨ ugg, az intervallum hely´et˝ ol nem. Most a [0, h1 ] intervallumot 3, a [0, h2 ] ´es [0, h3 ] intervallumokat 6-6 egyenl˝o r´eszre osztva, olyan ekvidiszt´ans beoszt´asokhoz jutunk, amelyekre rendre teljes¨ ul, hogy a f¨ uggv´eny ´es a beoszt´ashoz tartoz´o h´ urpoligon elt´er´ese kisebb, mint ε/6. Meghat´ arozva a h´ urpoligonokhoz tartoz´o ir´anytangenseket, a k¨ovetkez˝o ´ert´ekeket kapjuk: 7 1 m11 = − , m12 = −1, m13 = , 3 3 9 7 5 3 1 1 m21 = − , m22 = − , m23 = − , m24 = − , m25 = − , m26 = , 2 2 2 2 2 2 m31 =
1 3 5 7 9 11 , m32 = , m33 = , m34 = , m35 = , m36 = , 2 2 2 2 2 2
Az ir´anytangensek kisz´am´ıt´ as´ at illet˝oen vegy¨ uk ´eszre, hogy parabol´ak eset´en ezek egy sz´amtani sorozatot alkotnak (ld. 2.feladat), ´ıgy elegend˝o minden beoszt´asn´al az els˝o k´et ir´anytangenst kisz´am´ıtani, ezek ismeret´eben a t¨obbi ´ert´ek egyszer˝ uen meghat´ arozhat´ o. Most megkonstru´alva a line´aris programoz´asi feladatot, az al´abbi feladathoz jutunk: 2u11 +2u12 +2u13 +u21 +u22 +u23 +u24 +u25 +u26 +u31 +u32 +u33 +u34 +u35 +u36 ≤ 4 +u21 +u22 +u23 +u24 +u25 +u26 −u31 −u32 −u33 −u34 −u35 −u36 ≤ 2 3u11 +3u12 +3u13
+u31 +u32 +u33 +u34 +u35 +u36 ≤ 3
0 ≤ u1j ≤ 1/3 (j = 1, 2, 3); 0 ≤ uit ≤ 1/2 (t = 1, . . . , 6; i = 2, 3) ———————————————————————————————————– 7 1 9 7 5 3 1 1 1 − u11 − u12 + u13 − u21 − u22 − u23 − u24 − u25 + u26 + u31 + 3 3 2 2 2 2 2 2 2 3 5 7 9 11 + u32 + u33 + u34 + u35 + u36 = w(u) → min 2 2 2 2 2 Megoldva az el˝o´ all´ıtott line´aris programoz´asi feladatot, azt kapjuk, hogy egy optim´alis megold´ as a k¨ovetkez˝ o: 163
u ¯11 = 1/3,
u ¯12 = 1/3,
u ¯21 = u ¯22 = u ¯23 = u ¯24 = 1/2, u ¯js = 0 a kimarad´o indexekre. ¯ optim´alis megold´asra teljes¨ A w(¯ u) optimum´ert´ek: -64/9. Az u ul (7) minden 1 ≤ j ≤ m indexre, ´ıgy az x ¯1 =
3 X
u ¯1s =
s=1
x ¯2 =
6 X
2 , 3
u ¯2s = 2 ,
s=1
x ¯3 =
6 X
u ¯3s = 0 ,
s=1
¯ vektor a tekintett nemline´aris programoz´asi feladat egy k¨ozel´ıt˝o komponensekb˝ ol ´all´ ox optim´ alis megold´asa. A vizsg´alt feladat optim´alis megold´asa x∗ = (3/4, 9/4, 1/4), ´es az optimum ´ert´eke: -58/8. K´epezve a kapott optimum´ert´ekek elt´er´es´et 5 1 1 , | z(x∗ ) − w(¯ u) |=| − + |= 4 9 36 ami val´ oban kisebb, mint az el˝o´ırt 0.4 hibahat´ar. A konstru´ alt line´aris programoz´asi feladat megold´asa sor´an viszonylag nagy szimplex t´abl´ azattal kell dolgozni, ugyanis minden ujs ≤ hjs −hjs−1 (1 ≤ s ≤ kj ; 1 ≤ j ≤ m) felt´etel egy k¨ ul¨ on egyenletet eredm´enyez. Sok esetben a t´abl´azat ´atalak´ıt´asa sor´ an csak a gener´al´ o elem oszlop´aban l´ev˝o elemek el˝ojele ´es a t´abl´azat jobboldala v´ altozik. A t´abl´ azat u ´jb´ oli le´ır´ asa helyett ezt ´atvezethetj¨ uk a t´abl´azaton u ´gy, hogy atel˝ ´ ojelezz¨ uk a gener´al´ o elem oszlop´aban l´ev˝o elemeket, tov´abb´a b˝ov´ıtj¨ uk a t´abl´azatot az u ´j jobboldallal. A fentiekkel kapcsolatban megeml´ıtj¨ uk, hogy az ilyen t´ıpus´ u feladatokra, amelyekben a v´altoz´ ok ´ert´eke fel¨ ulr˝ ol korl´ atos, 1954-ben A. Charnes ´es C. E. Lemke kidolgoztak egy k¨ ul¨ on elj´ar´ ast, az u ´gynevezett fels˝ okorl´ atos szimplex algoritmust. Ez kik¨ usz¨ob¨oli a v´azolt technikai neh´ezs´egeket, de itt most ezen elj´ar´as ismertet´es´et˝ol eltekint¨ unk.
164
Feladatok 1. J. B. J. Fourier 1823-ban line´aris egyenl˝otlens´egrendszerek megold´asainak vizsg´ alat´ ahoz javasolta a k¨ovetkez˝ o elj´ar´ast. T¨ untess¨ uk ki a feladat valamely v´altoz´oj´at. A nem kit¨ untetett v´altoz´ok k¨ oz¨ ul v´alasszunk ki egyet, ´es ezt fejezz¨ uk ki minden egyes egyenl˝otlens´egb˝ol. Ezek ut´an a kapott egyenl˝ otlens´egek baloldalaib´ol ´es jobboldalaib´ol k´epezz¨ unk u ´j egyenl˝ otlens´egeket u ´gy, hogy minden baloldalt p´aros´ıtunk minden jobboldallal. Az u ´j egyenl˝ otlens´egrendszer a v´alasztott v´altoz´ot m´ar nem tartalmazza. Folytatva az elj´ar´ ast tov´ abbi nem kit¨ untetett v´altoz´okkal, v´eges sok l´ep´es ut´an az el˝o´all´o egyenl˝ otlens´egrendszer m´ar csak a kit¨ untetett v´altoz´ot tartalmazza. Most ezt is kifejezve minden egyenl˝ otlens´egb˝ ol, a v´altoz´ora vonatkoz´o fels˝o korl´atok minimuma lesz a v´altoz´ o korl´ atja. Nyilv´ anval´ o, hogy a fenti elj´ar´as m-szer t¨ort´en˝o v´egrehajt´as´aval el˝o´all´ıthat´ok az el˝ oz˝ oekben haszn´alt h1 , . . . , hm konstansok. Hat´ arozzuk meg Fourier m´odszer´evel az al´abbi egyenl˝otlens´egrendszerre vonatkoz´ oan a v´altoz´ ok fels˝o korl´ atait: x1 + 2x2 + x3 ≤ 6 x1 − x2 + x3 ≤ 2 2x1 − x3 ≤ 4 2. Igazoljuk, hogy az y = cx2 (c > 0) parabol´ahoz felv´eve egy ekvidiszt´ans beoszt´ast, a beoszt´ashoz tartoz´o h´ urpoligon ir´anytangensei sz´amtani sorozatot alkotnak. 3. Oldjuk meg az al´abbi konvex programoz´asi feladatokat az el˝o´ırt hibahat´arok mellett:
(a)
(b)
x2 ≤ 8 x1 +x2 ≤ 10 2x1 +x2 ≤ 16 ε = 2.01 x1 ≥ 0, x2 ≥ 0 ——————————– x21 − 7x1 + (x2 − 3)2 = z(x) → min x1 +x2 ≤ 4 x1 −x2 ≤ 2 ε = 0.51 x1 ≥ 0, x2 ≥ 0 ——————————– x1 + (x2 − 3)2 = z(x) → min 3.3 Gradiens m´ odszer 166
A jelen fejezetben egy ´altal´ anos m´odszerrel ismerked¨ unk meg, amely gradiens m´ odszer vagy m´as terminol´ogi´ aban hat´ekony ir´ anyok m´ odszere n´even ismeretes. A tekintett nemline´aris probl´em´ ar´ ol els˝o k¨ozel´ıt´esben csak a legsz¨ uks´egesebb tulajdons´ agokat t´etelezz¨ uk fel. A k¨ovetkez˝o probl´em´at fogjuk vizsg´alni: Ax ≤ b, x ≥ 0, (b ≥ 0) ——————————— , f (x) = z → max
(3.3.1)
ahol felt´etelezz¨ uk, hogy (i) a lehets´eges megold´asok L halmaza korl´atos, (ii) az f (x) f¨ uggv´eny minden v´altoz´oja szerint differenci´alhat´o egy L-et tartalmaz´ o S ny´ılt halmazon ´es a parci´alis deriv´altak folytonosak L-en. Az elj´ar´ as t´argyal´ as´ ahoz sz¨ uks´egesek bizonyos el˝ok´esz¨ uletek. Ezek sor´an mindig, hivatkoz´ as n´elk¨ ul felt´etelezz¨ uk, hogy f (x) a (3.3.1) feladat c´elf¨ uggv´eny´et jel¨oli, ´es teljes¨ ulnek az (i), (ii) felt´etelek. Els˝ok´ent bizony´ıt´as n´elk¨ ul megadjuk az al´abbi, anal´ızisb˝ ol ismert Lagrange-f´ele k¨oz´ep´ert´ek t´etelt, amelyre a tov´abbiakban t¨obbsz¨or hivatkozunk. 15.t´ etel. Ha g(x) folytonos az [a, b] intervallumon ´es differenci´ alhat´ o (a, b)-ben, 0 akkor van olyan a < ξ < b, hogy f (b) − f (a) = f (ξ)(b − a). Haszn´ alni fogjuk a gradiens k¨ovetkez˝o fogalm´at. Az f (x) m-v´altoz´os f¨ uggv´eny gradiens´en a µ ¶ ∂f ∂f |x , . . . , |x ∂x1 ∂xm vektorf¨ uggv´enyt ´ertj¨ uk, amelyet gradf (x)-szel jel¨ol¨ unk. A t´argyal´ asra ker¨ ul˝ o elj´ar´ as fel´ep´ıt´es´eben alapvet˝o szerepet j´atszik a k¨ovetkez˝o t´etel, amely a gradiens vektor egy igen fontos tulajdons´ag´at adja meg. ¯ ∈ S pontra gradf (¯ 16.t´ etel. Ha valamely h m-dimenzi´ os vektorra ´es x x) · h > 0, akkor van olyan δ > 0, hogy tetsz˝ oleges 0 < t < δ eset´en f (¯ x + th) > f (¯ x). ¯ ∈ S ´es S ny´ılt halmaz, ez´ert van olyan δ1 > 0, hogy 0 ≤ t ≤ δ1 Bizony´ıt´ as. Mivel x ¯ + th ∈ S. Legyen g(t) = f (¯ eset´en x x + th). Akkor g(t) a [0, δ1 ] intervallumon kiel´eg´ıti a 15.t´etel felt´etel´et, ´es b´armely 0 < t ≤ δ1 ´ert´ek eset´en is teljes¨ ul ez a felt´etel a [0, t] ´ intervallumra. Igy tetsz˝oleges 0 < t ≤ δ1 ´ert´ekhez van olyan 0 < ξt < t, hogy f (¯ x + th) − f (¯ x) = g(t) − g(0) = tg 0 (ξt ) . Vizsg´ aljuk most g 0 (ξt )-t. m X ∂f g (ξt ) = |x¯ +ξt h ·hs = gradf (¯ x + ξt h) · h . ∂xs s=1 0
´Igy a fentiek alapj´an 167
f (¯ x + th) − f (¯ x) = tgradf (¯ x + ξt h) · h . Az f (x)-re vonatkoz´ o feltev´es szerint a parci´alis deriv´altak folytonosak, ez´ert gradf (¯ x + ξt h) · h = g 0 (ξt ) folytonos f¨ uggv´enye ξt -nek. De akkor ξt → 0 eset´en 0 0 g (ξt ) → g (0) = gradf (¯ x) · h. A t´etel felt´etele alapj´an gradf (¯ x) · h > 0, ´ıgy g 0 (ξt ) folytonoss´ ag´ ab´ ol k¨ovetkezik, hogy van olyan 0 < δ2 < δ1 , amelyre g 0 (ξ) > 0, ha 0 < ξ < δ2 . Most megmutatjuk, hogy δ2 -re ´erv´enyes a t´etel ´all´ıt´asa. Ehhez legyen 0 < t < δ2 tetsz˝ oleges. Akkor van olyan 0 < ξ < t, amelyre f (¯ x + th) − f (¯ x) = tg 0 (ξ) . M´ asr´eszt ξ < t miatt 0 < ξ < δ2 , de akkor g 0 (ξ) > 0, ´es ´ıgy f (¯ x + th) − f (¯ x) > 0, amivel igazoltuk az ´all´ıt´ ast. ¯ ∈ L ´es h tetsz˝oleges mEzek ut´an tekints¨ uk ism´et a (3.3.1) feladatot. Legyen x ¯ -hoz tartoz´ dimenzi´ os vektor. Azt mondjuk, hogy a h vektor az x o lehets´eges hat´ekony ¯ + h ∈ L ´es gradf (¯ ¯ ponthoz nem tartozik lehets´eges ir´ any, ha x x) · h > 0. Ha az x ¯ -t stacion´ hat´ekony ir´any, akkor x arius pontnak nevezz¨ uk. A lehets´eges hat´ekony ir´anyhoz a 16.t´etelt felhaszn´alva, egy szeml´eletes jelent´es ¯ ´es x ¯ + h lehets´eges megold´asok ´es L konvex halmaz, ez´ert a k´et kapcsolhat´o. Mivel x ¯ + th (0 ≤ t ≤ 1) pontjai is rendre lehets´eges megold´asok. pontot ¨osszek¨ ot˝ o szakasz x M´ asr´eszt a 16.t´etel alapj´an l´etezik olyan δ > 0, hogy 0 < t < δ eset´en f (¯ x +th) > f (¯ x). ´Igy x ¯ -b´ ¯ + th (0 ≤ t ≤ 1) szakaszon elmozdulva, n¨ovelhetj¨ ol az x uk a c´elf¨ uggv´eny ´ert´ek´et. Az elmondottak alapj´an a (3.3.1) feladat megold´as´ara kezdem´enyezhetj¨ uk a k¨ ovetkez˝ o iter´aci´ os elj´ar´ ast. Elj´ ar´ as El˝ ok´esz´ıt˝ o r´esz. Hat´ arozzunk meg egy x(0) lehets´eges megold´ast ´es legyen r = 0. Iter´ aci´ os r´esz (r. iter´ aci´ o). Ha x(r) stacion´arius pont, akkor v´ege az elj´ar´asnak. Ellenkez˝ o esetben hat´arozzunk meg egy, az x(r) ponthoz tartoz´o h(r) lehets´eges hat´ekony ir´anyt, majd egy olyan 0 ≤ λr ≤ 1 konstanst, amelyre f (x(r) + λr h(r) ) > f (x(r) ). Legyen x(r+1) = x(r) + λr h(r) . N¨ovelj¨ uk r ´ert´ek´et 1-gyel, ´es folytassuk az elj´ ar´ ast a k¨ovetkez˝ o iter´aci´ os l´ep´essel. A megadott elj´ar´ as hi´anyos. Ahhoz, hogy v´egre lehessen hajtani a k¨ovetkez˝ o k´erd´esek megold´as´ ara kell tov´ abbi algoritmusokat megadni: 168
¯ ∈ L vektorr´ol, hogy stacion´arius pont? (1) Hogyan lehet eld¨onteni egy x ¯ ∈ L ponthoz tartozik lehets´eges hat´ekony ir´any, akkor mik´ent lehet (2) Ha az x egy ilyen vektort meghat´arozni? ¯ lehets´eges hat´ekony ir´any ismeret´eben hogyan ¯ ∈ L ´es egy hozz´atartoz´o h (3) Az x ¯ ≤ 1 konstans, amelyre f (¯ ¯ h) ¯ > f (¯ hat´ arozhat´ o meg olyan 0 < λ x+λ x) teljes¨ ul? Ha a fentiekben felvetett k´erd´eseknek a megold´as´ara algoritmusokat adunk meg, ´es ezekkel kieg´esz´ıtj¨ uk az ismertetett elj´ar´ast, akkor egy komplett elj´ar´ast kapunk. A felvetett k´erd´esek k¨ ul¨ onb¨ oz˝ o m´odon, elt´er˝o technik´akkal oldhat´ok meg, ´es ´ıgy a megadott elj´ar´ asb´ ol k¨ ul¨ onb¨ oz˝ o komplett algoritmusok sz´armaztathat´ok. Ezek a gradiens m´odszer k¨ ul¨ onb¨ oz˝ o v´altozatai. Ezek a v´altozatok elt´er˝oen viselkednek az el˝o´all´ıtott pontsorozat konvergenci´ aj´ at illet˝oen. A tov´abbiakban egy olyan v´altozattal fogunk megismerkedni, amelyet N. Frank ´es P. Wolfe dolgoztak ki 1956-ban, ´es amelyre bizonyos felt´etelek mellett biztos´ıthat´o az el˝o´all´ıtott pontsorozat konvergenci´aja. Vizsg´ aljuk ezek ut´an a fentiekben felvetett probl´em´ak Frank ´es Wolfe ´altal javasolt megold´ as´ at. Az (1) ´es (2) alatti probl´em´ ak megold´asa szerencs´es m´odon ¨osszekapcsolhat´o, ´es visszavezethet˝ o egy line´aris programoz´asi feladat megold´as´ara. Ezt foglalja mag´aba a k¨ ovetkez˝ o t´etel. ¯ ∈ L lehets´eges megold´ 17.t´ etel. Az x ashoz akkor ´es csak akkor tartozik lehets´eges hat´ekony ir´ any, ha az Ax ≤ b, x ≥ 0, (b ≥ 0) ——————————— , ¯ ) = w → max gradf (¯ x)(x − x ˜ optim´ line´ aris programoz´ asi feladat optimuma pozit´ıv, ´es ebben az esetben az x alis ˜−x ¯ = h vektor x ¯ -hoz tartoz´ megold´ assal k´epezett x o lehets´eges hat´ekony ir´ any. Bizony´ıt´ as. Els˝ok´ent megmutatjuk, hogy az ´all´ıt´as korrekt. Ehhez vegy¨ uk ´eszre, hogy a felt´etelrendszer v´altozatlan, ´ıgy a fenti feladat lehets´eges megold´asainak halmaza szint´en L, amely korl´ atos, z´art, nem¨ ures halmaz. M´asr´eszt w(x) line´aris f¨ uggv´eny, ´ıgy folytonos L-en, de akkor felveszi a maximum´at L-en, azaz a feladatnak l´etezik optim´alis megold´asa. ¯ -hoz tartozik lehets´eges hat´ekony A sz¨ uks´egess´eg igazol´as´ ahoz tegy¨ uk fel, hogy x ¯ egy ilyen lehets´eges hat´ekony ir´anyt. Legyen x∗ = x ¯ Mivel ¯ + h. ir´ any. Jel¨olj¨ on h ∗ ¯ ¯ ¯ -hoz tartoz´o lehets´eges hat´ekony ir´any, ez´ert x ¯ + h ∈ L, azaz x ∈ L. M´asr´eszt hx ∗ ¯ ¯ ) > 0. Ezzel azt kaptuk, hogy x∗ ∈ L ´es gradf (¯ x) · h > 0, ´ıgy gradf (¯ x) · (x − x ∗ w(x ) > 0. De akkor a line´aris programoz´asi feladat optimuma is pozit´ıv, amivel igazoltuk a felt´etel sz¨ uks´egess´eg´et. Az elegend˝os´eg igazol´as´ ahoz tegy¨ uk fel, hogy a line´aris programoz´asi feladat op∗ ¯ = x∗ − x ¯ . Akkor timuma pozit´ıv, ´es jel¨olj¨ on x egy optim´alis megold´ast. Legyen h ∗ ∗ ¯ ¯ ¯ + h = x ∈ L ´es gradf (¯ ¯ ) > 0, azaz gradf (¯ x x)(x − x x) · h > 0. Ez pontosan azt ¯x ¯ -hoz tartoz´o lehets´eges hat´ekony ir´any, amivel a felt´etel elegend˝os´eg´et, jelenti, hogy h ´es egyben a t´etelt is igazoltuk. 169
¯ az x ¯ ∈ L ´es h ¯ vekMost vizsg´aljuk a (3) probl´em´at. Ehhez tegy¨ uk fel, hogy x ¯ ¯ ∈ S ´es gradf (¯ torhoz tartoz´o lehets´eges hat´ekony ir´any. Akkor x x) · h > 0, ´ıgy ¯ > f (¯ a 16.t´etel alapj´an van olyan δ > 0, hogy 0 < t < δ eset´en f (¯ x + th) x). ¯ ∈ L (0 ≤ t ≤ 1). ´Igy v´eve a g(t) = f (¯ ¯ ¯ + th M´ asr´eszt L konvexit´ asa miatt x x + th) f¨ uggv´enyt, a (3) probl´ema visszavezethet˝o a g(t) f¨ uggv´enynek a [0, 1] intervallumra vonatkoz´ o f¨ uggv´enymenet vizsg´alat´ ara, ´es egy maximumhely meghat´aroz´as´ara. Mivel erre az anal´ızisb˝ ol ismertek m´odszerek, ez´ert a tov´abbiakban (3) megold´as´aval nem foglalkozunk. Miut´ an siker¨ ult megold´ast tal´alnunk az (1), (2), (3) probl´em´akra, fel´ep´ıthetj¨ uk az al´abbi konkr´et elj´ar´ ast. N. Frank ´ es P. Wolfe elj´ ar´ asa El˝ ok´esz´ıt˝ o r´esz. Hat´arozzunk meg egy x(0) lehets´eges megold´ast (x(0) lehet a 0 vektor is), ´es legyen r = 0. Iter´ aci´ os r´esz (r-edik iter´ aci´ o). Vegy¨ uk fel a (3.3.1) feladat felt´etelrendszer´ehez a gradf (x(r) )(x − x(r) ) = wr (x) → max line´aris c´elf¨ uggv´enyt. A kapott line´aris programoz´ asi feladat i-edik egyenl˝otlens´eg´enek baloldal´ahoz hozz´aadva az ui nemnegat´ıv v´altoz´ ot (i = 1, . . . , n), t´erj¨ unk ´at egyenl˝os´egekre, majd −1-gyel megszorozva a c´elf¨ uggv´enyt, t´erj¨ unk ´at minimum feladatra. Az ´ıgy el˝o´all´ıtott lehets´eges kanonikus alak´ u feladatot oldjuk meg a szimplex algoritmus valamely v´altozat´aval. Ha az opti¯ (r) ) mum ´ert´eke nemnegat´ıv, akkor v´ege az elj´ar´asnak. Ellenkez˝o esetben jel¨olje (¯ x(r) , u az utols´o feladat b´azismegold´ as´ at, amely egyben optim´alis megold´as is. K´epezz¨ uk a (r) (r) (r) (r) (r) ¯ − x vektort. Vegy¨ h =x uk a g(t) = f (x + th ) f¨ uggv´enyt, ´es hat´arozzuk meg g(t)-nek egy, a [0, 1] intervallumra vonatkoz´o maximumhely´et, amelyet jel¨olj¨ unk (r+1) (r) (r) λr -rel. Legyen x = x + λr h . N¨ovelj¨ uk r ´ert´ek´et 1-gyel, ´es folytassuk az elj´ ar´ ast a k¨ovetkez˝ o iter´aci´ os l´ep´essel. Az elj´ar´ assal kapcsolatban term´eszetesen vet˝odik fel a k´erd´es, hogy mit ´all´ıthatunk az el˝o´ all´ıtott pontsorozatr´ol. A 16.t´etel ´es a λr (r = 0, 1, . . .) konstansok defin´ıci´ oj´ ab´ ol ad´odik, hogy az el˝o´ all´ıtott x(0) , x(1) ,. . . pontsorozatra teljes¨ ulnek az al´ abbiak: (4)
f (x(r) ) < f (x(r+1) ) (r = 0, 1, . . .) ,
(5)
f (x(r) + th(r) ) ≤ f (x(r+1) ) (0 ≤ t ≤ 1; r = 0, 1, . . .) .
A fenti tulajdons´agokb´ ol m´eg nem k¨ovetkezik a pontsorozat konvergenci´aja. Ahhoz, hogy ezt biztos´ıtsuk, tov´ abbi megszor´ıt´asokat kell tenni az f (x) c´elf¨ uggv´enyre. Ha f (x) szigor´ uan konk´ av L-en, akkor ez egy elegend˝o felt´etele a konvergenci´anak. A tov´ abbiakban egy ilyen konvergenciat´etelt fogunk igazolni. A bizony´ıt´ashoz sz¨ uks´egesek a k¨ovetkez˝ o el˝ok´esz¨ uletek. 170
Els˝ ok´ent eml´ekeztet¨ unk a konk´av f¨ uggv´eny defin´ıci´oj´ara. Azt mondjuk, hogy az ¯, y ¯ ∈ L f (x) m-v´ altoz´ os f¨ uggv´eny konk´ av az L konvex halmazon, ha tetsz˝oleges x vektorokra ´es 0 ≤ λ ≤ 1 konstansra f (λ¯ x + (1 − λ)¯ y) ≥ λf (¯ x) + (1 − λ)f (¯ y) teljes¨ ul. Speci´alisan, az f (x) f¨ uggv´enyt szigor´ uan konk´ av f¨ uggv´enynek nevezz¨ uk, ha ¯, y ¯ ∈ L pontokra ´es 0 < λ < 1 konstansra a fenti egyenl˝otlens´egben a tetsz˝ oleges x baloldal nagyobb, mint a jobboldal. A konk´ av f¨ uggv´enyek egy ´erdekes, ´es a k´es˝obbiekben felhaszn´al´asra ker¨ ul˝o tulajdons´ ag´ at adja meg a k¨ovetkez˝ o ´all´ıt´as. ¯, y ¯ ∈ L-re 14.seg´ edt´ etel. Ha az f (x) konk´ av L-en, akkor tetsz˝ oleges x ¯) . f (¯ y) − f (¯ x) ≤ gradf (¯ x)(¯ y−x Bizony´ıt´ as. Mivel f (x) konk´ av L-en, ez´ert a t = 1 − λ helyettes´ıt´essel azt kapjuk, hogy tetsz˝oleges 0 ≤ t ≤ 1-re (1 − t)f (¯ x) + tf (¯ y) ≤ f ((1 − t)¯ x + t¯ y) teljes¨ ul. A kapott kifejez´est ´atrendezve, ¯ )) − f (¯ t(f (¯ y) − f (¯ x)) ≤ f (¯ x + t(¯ y−x x) . ¯, y ¯ ∈ L ´es f (x) a (3.3.1) feladat c´elf¨ Mivel x uggv´eny´et jel¨oli, ez´ert L konvexit´asa miatt ¯ ¯ ¯ )) f¨ x + t(¯ y − x) ∈ L, ha 0 ≤ t ≤ 1. De akkor a g(t) = f (¯ x + t(¯ y−x uggv´eny ´ertelmezett ´ a [0, 1] intervallumon ´es teljes¨ ul r´a a 15.t´etel felt´etele. Igy r¨ogz´ıtett t-hez van olyan 0 < ξ < t, hogy ¯ )) − f (¯ t(f (¯ y) − f (¯ x)) ≤ f (¯ x + t(¯ y−x x) = g(t) − g(0) = tg 0 (ξ) , azaz ¯ ))(¯ ¯) . f (¯ y) − f (¯ x) ≤ g 0 (ξ) = gradf (¯ x + ξ(¯ y−x y−x Most v´eve egy tk → +0 sorozatot, minden tk -hoz van olyan ξk , hogy (6)
¯ ))(¯ ¯ )) (k = 1, 2, . . .) f (¯ y) − f (¯ x) ≤ gradf (¯ x + ξk (¯ y−x y−x
M´ asr´eszt tk > ξk > 0, ´ıgy ξk → +0. Az el˝oz˝oekb˝ol tudjuk, hogy az adott felt´etelek mellett g 0 (t) folytonos a [0, 1] intervallumon. De akkor ξk → +0 eset´en g 0 (ξk ) → g(0), azaz ¯ ))(¯ ¯ ) → gradf (¯ ¯) gradf (¯ x + ξk (¯ y−x y−x x)(¯ y−x
.
Most vegy¨ uk ´eszre, hogy a (6) egyenl˝otlens´eg jobboldal´an egy konvergens sorozat elemei szerepelnek, ´es minden elemre ´erv´enyes az egyenl˝otlens´eg. Ismeretes, hogy ebben az esetben a sorozat hat´ar´ert´ek´ere is teljes¨ ul az egyenl˝otlens´eg, azaz ¯) , f (¯ y) − f (¯ x) ≤ gradf (¯ x)(¯ y−x 171
amivel az ´all´ıt´ ast igazoltuk. Ezek ut´an r´at´erhet¨ unk a konvergencia vizsg´alat´ara. Az elj´ar´assal el˝o´all´ıthat´o pontsorozatot illet˝oen ´erv´enyes a k¨ovetkez˝o ´all´ıt´as. 18.t´ etel. Ha f (x) szigor´ uan konk´ av L-en, akkor a Frank-Wolfe f´ele elj´ ar´ as vagy v´eges l´ep´esben v´eget ´er, ´es az utols´ o pont optim´ alis megold´ as, vagy v´eg n´elk¨ ul folytat´ odik, ´es az el˝ oa ´ll´ıtott pontsorozat az optim´ alis megold´ ashoz konverg´ al. Bizony´ıt´ as. Az ´all´ıt´ as igazol´asa h´arom l´ep´esre tagoz´odik, amelyek azt mutatj´ak, hogy az f (x)-re vonatkoz´ o felt´etelek mit eredm´enyeznek. Ennek megfelel˝oen az al´abbi all´ıt´ ´ asokban rendre ki´ırjuk az f (x) c´elf¨ uggv´enyre vonatkoz´o felt´eteleket. (a) Ha az elj´ar´ as minden hat´aron t´ ul folytat´odik, akkor az x(r) (r = 0, 1, . . .) pontsorozatb´ ol kiv´alaszthat´ o egy olyan konvergens r´eszsorozat, amely stacion´arius ponthoz konverg´ al. (b) Ha f (x) konk´ av L-en, akkor L b´armely stacion´arius pontja egyben optim´alis megold´ as is. (c) Ha f (x) szigor´ uan konk´ av L-en, ´es az elj´ar´as v´eg n´elk¨ ul folytat´odik, akkor az x(r) (r = 0, 1, . . .) pontsorozatnak csak egy torl´od´asi pontja van. Nyilv´anval´ o, hogy a fenti h´arom ´all´ıt´asb´ol k¨ovetkezik a konvergenci´ara vonatkoz´o t´etel helyess´ege. ´Igy elegend˝o ezen ´all´ıt´asok igazol´as´ara szor´ıtkoznunk. Az (a) ´all´ıt´ as igazol´as´ ahoz tegy¨ uk fel, hogy az elj´ar´as v´eg n´elk¨ ul folytat´odik, ´es (r) az el˝o´ all´ o pontsorozatot jel¨olje x (r = 0, 1, . . .). A pontsorozatra vonatkoz´ o (4) ´all´ıt´asb´ol k¨ovetkezik, hogy a f¨ uggv´eny´ert´ekek (r) f (x ) (r = 0, 1, . . .) sorozata szigor´ uan n¨oveked˝o sorozat. M´asr´eszt L korl´atos, z´art, nem¨ ures halmaz ´es f (x) folytonos L-en. ´Igy f (x) felveszi a maximum´at L-en, ami az (r) f (x ) (r = 0, 1, . . .) f¨ uggv´eny´ert´ekek fels˝o korl´atja. De akkor f (x(r) ) (r = 0, 1, . . .) korl´ atos monoton sorozat, ´es mint ilyen, konvergens. ¯ (r) Az elj´ar´ as szerint b´armely r ≥ 0 indexre x(r+1) = x(r) + λr (¯ x(r) − x(r) ), ahol x az Ax + Eu = b, x ≥ 0, u ≥ 0, (b ≥ 0) ————————————————— , −gradf (x(r) )(x − x(r) ) = w ˜r → min ¯ (r) ) optim´alis megold´as´ab´ol (amely egyben lehets´eges kanonikus alak´ u feladat (¯ x(r) , u b´ azismegold´ as is) k´epezett vektor. Vizsg´aljuk a fenti feladat lehets´eges megold´asainak ˜ ) ∈ L0 eset´en x ˜ ∈ L, ´ıgy L korl´atoss´aga miatt van olyan L0 halmaz´ a t. oleges (˜ x, u Pm Tetsz˝ 2 2 M , hogy s=1 x ˜s ≤ M . M´asr´eszt b´armely 1 ≤ i ≤ n indexre ˜ ≤ max{bi − a(i) x : x ∈ L} , u ˜i ≤ bi − a(i) x ahol a(i) az A matrix i-edik sorvektor´at jel¨oli. Mivel L korl´atos, ez´ert a jobboldalon szerepl˝ o maximum l´etezik, de akkor u ˜i ≤ hi teljes¨ ul valamely alkalmas hi konstan0 sra. K¨ovetkez´esk´epp L korl´ atos. Ebb˝ol viszont a 2.8 fejezet 8.t´etele alapj´an azt 172
kapjuk, hogy L0 -nek v´eges sok cs´ ucspontja van, ´es a cs´ ucspontok megegyeznek a fe¯ (s) ) (s = 1, . . . , k). Ekkor x ¯ (r) ladat b´azismegold´ asaival. Jel¨olje az ut´obbiakat (¯ y(s) , u ¯ (r) ∈ {¯ ¯ (k) } (r = 0, 1, . . .). Most k´epezve a defin´ıci´ oja szerint x y(1) , . . . , y ¯ (r) = y ¯ (j) } Pj = {r : r ∈ {0, 1, . . .} & x
(j = 1, . . . , k)
halmazokat, a term´eszetes sz´amok egy oszt´alyoz´as´at kapjuk. Mivel az oszt´alyok sz´ama v´eges, ez´ert lesz legal´abb egy olyan oszt´aly, amely v´egtelen sok elemet tartalmaz. Az ´altal´ anoss´ ag megszor´ıt´ asa n´elk¨ ul felt´etelezhetj¨ uk, hogy P1 egy ilyen oszt´aly, ´es az (1) ¯ ) = (¯ ¯ (1) ). egyszer˝ ubb jel¨ol´es ´erdek´eben legyen (¯ y, u y ,u Tekints¨ uk most az x(r) (r ∈ P1 ) pontokat. Mivel L korl´atos, ez´ert a tekintett pontokb´ ol kiv´alaszthat´ o egy olyan x(rs ) (s = 0, 1, . . .) konvergens pontsorozat, amelyre rs < rt , ha s < t. Legyen lims→∞ x(rs ) = q. Mivel x(rs ) ∈ L (s = 0, 1, . . .) ´es L z´ art, ez´ert q ∈ L. Vizsg´aljuk az f (x(rs ) (s = 0, 1, . . .) f¨ uggv´eny´ert´ekek sorozat´at. (r) Mivel ez az f (x ) (r = 0, 1, . . .) konvergens sorozat egy r´eszsorozata, ez´ert konvergens, ´es lims→∞ f (x(rs ) ) = limr→∞ f (x(r) ). M´asr´eszt f (x) folytonos L-en, ´ıgy lims→∞ f (x(rs ) ) = f (lims→∞ x(rs ) ) = f (q). Ezek ut´an megmutatjuk, hogy q stacion´arius pont. Ehhez legyen s tetsz˝oleges term´eszetes sz´am. A P1 halmaz defin´ıci´oja szerint az Ax + Eu = b, x ≥ 0, u ≥ 0, (b ≥ 0) ————————————————— , −gradf (x(rs ) )(x − x(rs ) ) = w ˜rs → min ¯ ). Ez azt eredm´enyezi, hogy tetsz˝oleges x ¯ ∈ L feladat optim´alis megold´asa: (¯ y, u vektorra ´es ´ıgy
gradf (x(rs ) )(¯ x − x(rs ) ) ≤ gradf (x(rs ) )(¯ y − x(rs ) ) ,
¯) . 0 ≤ gradf (x(rs ) )(¯ y−x ¯ ) folytonos Mivel a parci´alis deriv´altak folytonosak L-en, ez´ert gradf (x(rs ) )(¯ y−x ¯ ) → gradf (q)(¯ ¯) . f¨ uggv´enye x(rs ) -nek. ´Igy ha s → ∞, akkor gradf (x(rs ) )(¯ y−x y−x (rs ) ¯ ) (s = 0, 1, . . .) ´ert´ekek rendre nemM´ asr´eszt a fentiek alapj´an a gradf (x )(¯ y−x ¯ ∈ L-re negat´ıvak, ´ıgy a hat´ar´ert´ek is nemnegat´ıv, amivel ad´odik, hogy tetsz˝oleges x ¯) . (7) 0 ≤ gradf (q)(¯ y−x Legyen ism´et s tetsz˝oleges term´eszetes sz´am. Akkor (4) ´es az x(rs ) (s = 0, 1, . . .) sorozat defin´ıci´ oja alapj´an f (x(rs ) ) < f (x(rs +1) ) ≤ f (x(rs+1 ) ) . M´ asr´eszt (5) szerint tetsz˝oleges 0 ≤ t ≤ 1 eset´en f (x(rs ) + t(¯ y − x(rs ) )) ≤ f (x(rs ) + λrs (¯ y − x(rs ) )) = f (x(rs +1) ) . A fenti k´et egyenl˝ otlens´egb˝ ol azt kapjuk, hogy tetsz˝oleges 0 < t ≤ 1 ´ert´ekre f (x(rs ) + t(¯ y − x(rs ) )) ≤ f (x(rs+1 ) ), ´es ´ıgy f (x(rs ) + t(¯ y − x(rs ) )) − f (x(rs+1 ) ) ≤0 t 173
tetsz˝ oleges 0 < t ≤ 1 eset´en. Most ha t → +0, akkor a fenti egyenl˝otlens´eg baloldala gradf (q)(¯ y − q)-hoz konverg´ al, ´ıgy (8)
gradf (q)(¯ y − q) ≤ 0 .
¯ ∈ L tetsz˝oleges. Akkor (8) alapj´an Ezek ut´an legyen ism´et x ¯ ) + gradf (q)(¯ gradf (q)(¯ y − q) = gradf (q)(¯ y−x x − q) ≤ 0 . ¯ ), ´ıgy a fenti egyenl˝otlens´egb˝ol azt kapjuk, M´ asr´eszt (7) szerint 0 ≤ gradf (q)(¯ y−x hogy ¯) ≤ 0 . gradf (q)(¯ x−q ¯ ∈ L tetsz˝oleges, ez´ert a kapott egyenl˝otlens´egb˝ol a 17.t´etel alapj´an ad´odik, Mivel x hogy q-hoz nem tartozik lehets´eges hat´ekony ir´any. ´Igy q stacion´arius pont, amivel igazoltuk az (a) ´all´ıt´ ast. A (b) ´all´ıt´ ast indirekt igazoljuk. Ehhez tegy¨ uk fel, hogy q ∈ L stacion´arius pont ˜ ∈ L, hogy f (˜ ´es q nem optim´alis megold´as. Akkor van olyan x x) > f (q), azaz 0 < f (˜ x) − f (q). Mivel f (x) konk´ av L-en, ez´ert a 14.seg´edt´etel alapj´an f (˜ x) − f (q) ≤ gradf (q)(˜ x − q) . De akkor gradf (q)(˜ x − q) > 0. M´asr´eszt q stacion´arius pont, ´ıgy nem tartozik hozz´a lehets´eges hat´ekony ir´any. Ez a 17.t´etel szerint pontosan akkor ´erv´enyes, ha a line´aris programoz´ asi feladat gradf (q)(x − q) c´elf¨ uggv´enye nem pozit´ıv L-en, ami ellentmond ´ gradf (q)(˜ x − q) > 0 fenn´all´ as´ anak. Igy ellentmond´ashoz jutottunk. K¨ovetkez´esk´epp q optim´ alis megold´as, amivel igazoltuk (b)-t. A (c) ´all´ıt´ ast is indirekt bizony´ıtjuk. Ehhez tegy¨ uk fel, hogy az x(r) (r = 0, 1, . . .) sorozatnak az el˝oz˝ oekben meghat´arozott q torl´od´asi pontj´an kiv¨ ul egy tov´abbi p torl´ od´ asi pontja is van. Ekkor az el˝oz˝oek szerint lim f (x(rs ) ) = lim f (x(r) ) = f (q) ,
s→∞
r→∞
´es q a feladat egy optim´alis megold´asa. M´asr´eszt mivel p is torl´od´asi pont, ez´ert az x(r) 0 (r = 0, 1, . . .) sorozatb´ol kiv´alaszthat´o egy olyan p-hez konverg´al´o x(rs ) (s = 0, 1, . . .) r´eszsorozat, amelyre rs0 < rt0 , ha s < t. Mivel L z´art, ez´ert p ∈ L, ´es f (x) folytonoss´aga 0 0 miatt lims→∞ f (x(rs ) ) = f (p). De x(rs ) (s = 0, 1, . . .) az x(r) (r = 0, 1, . . .) sorozat 0 egy r´eszsorozata, ´ıgy lims→∞ f (x(rs ) ) = limr→∞ f (x(r) ). Viszont ´ıgy 0
lim f (x(rs ) ) = lim f (x(r) ) = f (p) .
s→∞
r→∞
Ezzel azt kaptuk, hogy f (p) = f (q), azaz p is optim´alis megold´as. 174
Most felhaszn´alva, hogy (c) felt´etele szerint f (x) szigor´ uan konk´av L-en, tetsz˝ oleges 0 < λ < 1 ´ert´ekre az f (λp + (1 − λ)q) > λf (p) + (1 − λ)f (q) egyenl˝ otlens´egnek kell fenn´allnia. Most vegy¨ uk ´eszre, hogy f (p) = f (q) miatt az egyenl˝ otlens´eg jobboldal´an az optimum ´ert´eke ´all, a baloldali argumentum pedig L konvexit´ asa miatt lehets´eges megold´as. ´Igy a fenti egyenl˝otlens´eg teljes¨ ul´ese ellentmond annak, hogy q optim´alis megold´as, amivel igazoltuk a (c) ´all´ıt´ast, ´es egyben a t´etelt is. Az elj´ar´ assal kapcsolatban c´elszer˝ u megjegyezni a k¨ovetkez˝ot. Gyakorlati probl´em´ ak megold´as´ an´ al egy fontos k´erd´es, hogy mikor kapunk elfogadhat´o k¨ozel´ıt´est. A t´argyalt esetre egy igen haszn´alhat´o felt´etel adhat´o a meg´all´asra. ¯ Az f (x) f¨ uggv´eny konk´ av volta miatt a 14.seg´edt´etel alapj´an tetsz˝oleges x lehets´eges megold´asra f (¯ x) − f (x(r) ) ≤ gradf (x(r) )(¯ x − x(r) ) teljes¨ ul. Vegy¨ uk ´eszre, hogy az egyenl˝otlens´eg jobboldal´an az aktu´alis line´aris pro¯ pontban felvett c´elf¨ gramoz´ asi feladat c´elf¨ uggv´eny´enek az x uggv´eny´ert´eke szerepel. ´Igy ezen ´ert´ek nem nagyobb, mint a line´aris programoz´asi feladat optimuma, azaz ¯ ∈ L-re tetsz˝ oleges x f (¯ x) − f (x(r) ) ≤ max wr (x) . x∈L
¯ a (3.3.1) feladat optim´alis megold´asa, akkor a baloldal nemnegat´ıv, Speci´alisan, ha x ´es ´ıgy | max f (x) − f (x(r) ) |≤ max wr (x) . x∈L
x∈L
K¨ ovetkez´esk´epp, ha az r-edik l´ep´esben a line´aris programoz´asi feladat optimuma ε, akkor f (x(r) ) ε pontoss´ aggal k¨ozel´ıti a nemline´aris feladat optimum´at. Az elj´ar´ ashoz kapcsol´od´ o m´asik megjegyz´es¨ unk a k¨ovetkez˝o. A konvergenci´ara vonatkoz´ o t´etel csak konk´ av vagy szigor´ uan konk´av f (x) eset´en biztos´ıtja az optimum k¨ ozel´ıt´es´et. Ha ezt kik¨otj¨ uk a (3.3.1) feladatn´al, ´es a c´elf¨ uggv´enyt −1-gyel megszorozva att´er¨ ´ unk minimum feladatra, akkor egy konvex programoz´asi feladatot kapunk. ´Igy az elj´ar´ as alkalmazhat´ o az el˝oz˝ o fejezet ´altal´anos feladat´anak megold´as´ara. Azt, hogy ennek ellen´ere maximum feladatot t˝ uzt¨ unk ki, ´es erre fogalmaztuk meg az elj´ar´ast, egyszer˝ uen az indokolta, hogy szok´asos az algoritmust az u ´gynevezett kvadratikus programoz´ asi feladathoz kapcsolni. Ezen egy olyan nemline´aris programoz´asi feladatot ´ert¨ unk, amelyben f (x) = cx − xAx, ahol A pozit´ıv definit m´atrix, ´es f (x) maximum´ at keress¨ uk. A megadott kvadratikus c´elf¨ uggv´enyr˝ol bel´athat´o, hogy szigor´ uan konk´ av, ´ıgy ezen feladatt´ıpusra is alkalmazhat´o az elj´ar´as.
175
A fejezet befejez´esek´ent az algoritmus demonstr´al´as´ara tekints¨ uk a k¨ovetkez˝o feladatot: x1 + x2 ≤ 5 x2 ≤ 3 x1 ≤4 x1 ≥ 0, x2 ≥ 0 ————————— −x21 + 10x1 − x22 + 12x2 = z → max Vizsg´ aljuk els˝ok´ent a felt´etelek teljes¨ ul´es´et. A m´asodik ´es harmadik egyenl˝otlens´egekb˝ ol nyilv´ anval´ o, hogy L korl´ atos. Az f (x1 , x2 ) f¨ uggv´eny az eg´esz t´erben minden v´altoz´ oja szerint differenci´alhat´o, ´es a parci´alis deriv´altak mindenhol folytonos f¨ uggv´enyek, ´ıgy teljes¨ ul (ii) is. V´eg¨ ul egyszer˝ u sz´amol´assal bel´athat´o (ld. 1.feladat), hogy f (x1 , x2 ) az eg´esz t´erben szigor´ uan konk´av. K¨ovetkez´esk´epp valamennyi felt´etel teljes¨ ul. Legyen x(0) = (0, 0). Akkor gradf (x(0) ) = (10, 12), ´es gradf (x(0) )(x − x(0) ) = w0 (x). ´Igy a megoldand´o line´aris programoz´asi feladat a k¨ovetkez˝o: x1 + x2 ≤ 5 x2 ≤ 3 x1 ≤4 x1 ≥ 0, x2 ≥ 0 ————————10x1 + 12x2 = w0 (x) → max Felv´eve az u1 , u2 , u3 nemnegat´ıv v´altoz´okat ´es ´att´erve egyenl˝os´egekre, tov´abb´ a −1-gyel megszorozva a c´elf¨ uggv´enyt ´es minimumot keresve, az el˝o´all´o lehets´eges kanonikus alak´ u feladat ´es a v´egrehajtott szimplex algoritmus szimplex t´abl´azatai a k¨ovetkez˝ ok:
u1 u2 u3
x1 x2 1 1 0 1∗ 1 0 −10 −12
5 3 4 0
u1 x2 u3
x1 1∗ 0 1 −10
u2 −1 1 0 12
2 3 4 36
x1 x2 u3
u1 1 0 −1 10
u2 −1 1 1 2
2 3 2 56
Az optimum ´ert´eke negat´ıv, de akkor a maximum feladat optimuma pozit´ıv. Az ¯ (0) = (2, 3). ´Igy h(0) = x ¯ (0) − x(0) = (2, 3) az x(0) vektorhoz optim´ alis megold´as: x tartoz´ o lehets´eges hat´ekony ir´any. Most vizsg´aljuk a g(t) = f (x(0) + th(0) ) = −13t2 + 56t 176
f¨ uggv´enyt a [0, 1] intervallumon. Mivel g 0 (t) = −26t + 56 > 0, ha t ∈ [0, 1], ez´ert a g(t) f¨ uggv´eny szigor´ uan monoton n¨ovekv˝o [0, 1]-en, ´es ´ıgy ezen az intervallumon a t = 1 pontban veszi fel a maximum´ at, azaz λ0 = 1. Most k´epezve az x(1) pontot: x(1) = x(0) + λ0 h(0) = (2, 3) R´ at´erve a k¨ovetkez˝ o iter´aci´ os l´ep´esre, gradf (x(1) ) = (6, 6), ´es az u ´j c´elf¨ uggv´eny: w1 (x) = gradf (x(1) )(x − x(1) ) = 6x1 + 6x2 − 30 . A megoldand´o feladat ´es a v´egrehajtot szimplex algoritmus szimplex t´abl´azatai a k¨ ovetkez˝ ok:
u1 u2 u3
x1 1 0 1∗ −6
x2 1 1 0 −6
5 3 4 −30
u1 u2 x1
u3 −1 0 1 6
x2 1∗ 1 0 −6
1 3 4 −6
x2 u2 x1
u3 −1 1 1 0
u1 1 −1 0 6
1 2 4 0
Mivel az optimum ´ert´eke 0, ez´ert v´ege az elj´ar´asnak. A c´elf¨ uggv´eny konk´avit´asa miatt az utols´o x(1) = (2, 3) pont a tekintett feladat optim´alis megold´asa.
Feladatok
1. Igazoljuk, hogy a −x21 + 10x1 − x22 + 12x2 = z(x) f¨ uggv´eny szigor´ uan konk´av a 2-dimenzi´os t´erben. 2. L´assuk be, hogy amennyiben az L konvex halmazon f (x) konk´av ´es g(x) szigor´ uan konk´ av, akkor f (x) + g(x) is szigor´ uan konk´av L-en. 3. Mutassuk meg, hogy −xAx szigor´ uan konk´av f¨ uggv´eny, ha A pozit´ıv definit m´ atrix. 4. Az el˝oz˝ o k´et feladat ´all´ıt´ as´ at felhaszn´alva igazoljuk, hogy cx − xAx szigor´ uan konk´ av, ha A pozit´ıv definit m´atrix.
177
5. Alkalmazzuk a Frank-Wolfe f´ele elj´ar´ast az al´abbi feladatok megold´as´ara u ´gy, hogy mindk´et esetben x(0) = (0, 0): x1 + x2 ≤ 4 x1 − x2 ≤ 2 x1 ≥ 0, x2 ≥ 0 ————————— x1 −
1 1 2 x1 + 2x2 − x22 = z → max 36 8
x1 + x2 ≤ 5 −3x1 + x2 ≤ 1 x1 − x2 ≤ 3 x1 ≥ 0, x2 ≥ 0 ————————— 4x1 − x21 + 9x2 − x22 = z → max
178
Tartalomjegyz´ ek
El˝ osz´ o ....................................................................................................................... 1 1. Bevezet´es .............................................................................................................. 3 1.1 Az optimumsz´ am´ıt´ asi modellek ................................................................... 3 1.2 A modellalkot´ as elemei ................................................................................ 4 1.3 Az optimumsz´ am´ıt´ asi modellekkel megadott matematikai feladatok megold´as´ ara szolg´al´ o elj´ ar´ asok ................................................................................... 5 1.4 Az oper´aci´ okutat´ as feladata, az optimumsz´am´ıt´asi modellek oszt´alyoz´asa .. 6 2. Line´aris programoz´as ............................................................................................ 8 2.1 A line´aris programoz´as ´altal´anos feladata, standard feladat ........................ 8 2.2 Szimplex algoritmus .................................................................................... 15 2.3 M´odos´ıtott szimplex algoritmus .................................................................. 27 2.4 Lexikografikus szimplex algoritmus ............................................................. 41 2.5 A szimplex algoritmus n´eh´ any tov´abbi v´altozata ...................................... 49 2.6 Szimplex m´odszer ....................................................................................... 58 2.7 A line´aris programoz´as n´eh´any gyakorlati alkalmaz´asa ............................... 72 2.8 Konvex poli´ederek ...................................................................................... 78 2.9 Dualit´as ...................................................................................................... 84 2.10 Eg´esz´ert´ek˝ u programoz´as .......................................................................... 97 2.11 Hozz´arendel´esi feladat megold´asa magyar m´odszerrel ............................ 109 2.12 Sz´all´ıt´ asi feladat megold´asa magyar m´odszerrel ..................................... 126 3. Nemline´aris programoz´as .................................................................................. 148 3.1 Hiperbolikus programoz´asi feladat ........................................................... 148 3.2 Konvex programoz´asi feladat .................................................................... 155 3.3 Gradiens m´odszer ...................................................................................... 166 Tartalomjegyz´ek .................................................................................................... 178
179