Lineáris programozás. Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer



Hasonló dokumentumok
Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2015/ Szegedi Tudományegyetem Informatikai Tanszékcsoport

A lineáris programozás 1 A geometriai megoldás

Komáromi Éva LINEÁRIS PROGRAMOZÁS

Szimplex módszer, szimplex tábla Példaként tekintsük a következ LP feladatot:

Lineáris Algebra gyakorlatok

MATEMATIKA FELADATGYŰJTEMÉNY

Bevezetés a lineáris programozásba

Széchenyi István Egyetem, 2005

5. Előadás. Megyesi László: Lineáris algebra, oldal. 5. előadás Lineáris függetlenség

Fejezetek a lineáris algebrából PTE-PMMK, Műszaki Informatika Bsc. Dr. Kersner Róbert

A lineáris tér. Készítette: Dr. Ábrahám István

BUDAPESTI KÖZGAZDASÁGTUDOMÁNYI EGYETEM. Puskás Csaba, Szabó Imre, Tallos Péter LINEÁRIS ALGEBRA JEGYZET

Mátrixok. 3. fejezet Bevezetés: műveletek táblázatokkal

Operációkutatás. 2. konzultáció: Lineáris programozás (2. rész) Feladattípusok

Mátrixaritmetika. Tartalom:

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

4. előadás. Vektorok

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. Párosítások

Miskolci Egyetem. Diszkrét matek I. Vizsga-jegyzet. Hegedűs Ádám Imre

KOVÁCS BÉLA, MATEMATIKA I.

A DÖNTÉSELMÉLET ELEMEI

NUMERIKUS MÓDSZEREK FARAGÓ ISTVÁN HORVÁTH RÓBERT. Ismertető Tartalomjegyzék Pályázati támogatás Gondozó

KOVÁCS BÉLA, MATEMATIKA I.

JANUS PANNONIUS TUDOMÁNYEGYETEM. Schipp Ferenc ANALÍZIS I. Sorozatok és sorok

Áttekintés a felhasznált lineáris algebrai ismeretekről.

Lineáris algebra - jegyzet. Kupán Pál

Bevezetés a számításelméletbe I. feladatgyűjtemény. Szeszlér Dávid, Wiener Gábor

Disztribúciós feladatok. Készítette: Dr. Ábrahám István

Lineáris algebra és mátrixok alkalmazása a numerikus analízisben

ÉS TESZTEK A DEFINITSÉG

Tartalom. Matematikai alapok. Termékgyártási példafeladat. Keverési példafeladat Szállítási példafeladat Hátizsák feladat, egészértékű feladat

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Diszkrét matematika II., 5. előadás. Lineáris egyenletrendszerek

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Lineáris algebra I. Kovács Zoltán. Előadásvázlat (2006. február 22.)

MATEMATIKA 9. osztály Segédanyag 4 óra/hét

Klasszikus alkalmazások

Egy irányított szakasz egyértelműen meghatároz egy vektort.

Bevezetés a játékelméletbe Kétszemélyes zérusösszegű mátrixjáték, optimális stratégia

Lineáris algebra bevezető

Elsôfokú egyenletek, egyenletrendszerek, egyenlôtlenségek

MIKROÖKONÓMIA I. Készítette: K hegyi Gergely és Horn Dániel. Szakmai felel s: K hegyi Gergely június

2. Hatványozás, gyökvonás

LÁNG CSABÁNÉ SZÁMELMÉLET. Példák és feladatok. ELTE IK Budapest javított kiadás

Operációkutatás. 4. konzultáció: Szállítási feladat. A feladat LP modellje

Tartalom. Descartes-koordináták. Geometriai értelmezés. Pont. Egyenes. Klár Gergely 2010/2011. tavaszi félév

LINEÁRIS ALGEBRA PÉLDATÁR MÉRNÖK INFORMATIKUSOKNAK

Feladatok a koordináta-geometria, egyenesek témaköréhez 11. osztály, középszint

Mesterséges Intelligencia I. (I602, IB602)

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR. Analízis I. példatár. (kidolgozott megoldásokkal) elektronikus feladatgyűjtemény

Ismerkedés az Abel-csoportokkal

Online jegyzet az Egészérték Programozás I. és II. tárgyhoz

2. Interpolációs görbetervezés

Komplex számok szeptember Feladat: Legyen z 1 = 2 3i és z 2 = 4i 1. Határozza meg az alábbi kifejezés értékét!

Arany Dániel Matematikai Tanulóverseny 2007/2008-as tanév 2. forduló haladók I. kategória

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

5. Trigonometria. 2 cos 40 cos 20 sin 20. BC kifejezés pontos értéke?

Color profile: Generic CMYK printer profile Composite 150 lpi at 45 degrees

TARTALOM. Ismétlő tesztek ÚTMUTATÁSOK ÉS EREDMÉNYEK...255

Elektromágneses hullámok - Hullámoptika

1.1. Gyökök és hatványozás Hatványozás Gyökök Azonosságok Egyenlőtlenségek... 3

Első sorozat (2000. május 22. du.) 1. Oldjamegavalós számok halmazán a. cos x + sin2 x cos x. +sinx +sin2x =

5. gyakorlat. Lineáris leképezések. Tekintsük azt a valós függvényt, amely minden számhoz hozzárendeli az ötszörösét!

Juhász Tibor. Lineáris algebra

Komputer statisztika gyakorlatok

Nemlineáris optimalizálás

2. Halmazelmélet (megoldások)

15. LINEÁRIS EGYENLETRENDSZEREK

KOVÁCS BÉLA, MATEMATIKA I.

Mátrixok és determinánsok

Analízis előadás és gyakorlat vázlat

2) = 0 ahol x 1 és x 2 az ax 2 + bx + c = 0 ( a,b, c R és a 0 )

Megoldások, megoldás ötletek (Jensen-egyenlőtlenség)

A gyakorlatok HF-inak megoldása Az 1. gyakorlat HF-inak megoldása. 1. Tagadások:

Számelméleti feladatok az általános iskolai versenyek tükrében dr. Pintér Ferenc, Nagykanizsa

8. előadás EGYÉNI KERESLET

Arany Dániel Matematikai Tanulóverseny 2010/2011-es tanév 2. forduló haladók II. kategória

Beadható feladatok december Add meg az alábbi probléma állapottér-reprezentációját!

Sztojka Miroszláv LINEÁRIS ALGEBRA Egyetemi jegyzet Ungvár 2013

Differenciálegyenletek a hétköznapokban

MATEMATIKA ÉRETTSÉGI május 9. EMELT SZINT

Matematikai alapismeretek. Huszti Andrea

Gyakorlatok. P (n) = P (n 1) + 2P (n 2) + P (n 3) ha n 4, (utolsó lépésként l, hl, u, hu-t léphetünk).

Analízisfeladat-gyűjtemény IV.

Bevezetés 3. Vizsga tételsor 5. 1 Komplex számok 6. 2 Lineáris algebra Vektorterek 11

összeadjuk 0-t kapunk. Képletben:

Valószín ségelmélet házi feladatok

Parciális differenciálegyenletek numerikus módszerei számítógépes alkalmazásokkal Karátson, János Horváth, Róbert Izsák, Ferenc

Oktatási segédlet. Acél- és alumínium-szerkezetek hegesztett kapcsolatainak méretezése fáradásra. Dr. Jármai Károly.

2. feladat Legyenek 1 k n rögzített egészek. Mennyi az. x 1 x 2...x k +x 2 x 3...x k x n k+1 x n k+2...x n

Az áprilisi vizsga anyaga a fekete betűkkel írott szöveg! A zölddel írott rész az érettségi vizsgáig még megtanulandó anyag!

1. Vizsgálat az időtartományban Határozza meg az ábrán vázolt diszkrét idejű hálózat állapotváltozós leírásának normál alakját!

Félévi időbeosztás (nagyjából) házi feladat beadási határidőkkel (pontosan) Valószínűségszámítás 2. matematikusoknak és fizikusoknak, 2009 tavasz

Gondolkodjunk a fizika segı tse ge vel!

Valószínűségszámítás

Természetes számok: a legegyszerűbb halmazok elemeinek. halmazokat alkothatunk, ezek elemszámai természetes 3+2=5

Teszt kérdések. Az R n vektortér

Válasz Szőnyi Tamásnak az Optimális térlefedő kódok kutatása című doktori értekezés opponensi bírálatára

1. Lineáris leképezések

Átírás:

Lineáris programozás Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer

Feladat: Egy gyár kétféle terméket gyárt (A, B): /db Eladási ár 1000 800 Technológiai önköltség 400 300 Normaóraigény 15 20 Alapanyag-szükséglet 3 2 Normaóra kapacitás: 1440/év Beszerezhető alapanyag: 240/év Fel nem osztott költségek: 3200/év B-ből eladható: maximum 50/év Feladat: Határozzuk meg az évi maximális nyereséget biztosító termelési tervet! Modell: A-ból x-et termelünk, B-ből y-t. A B x, y 0 1000x+800y -400x-300y 15x + 20y 1440 3x + 2y 240-3200 y 50

Tehát a megoldandó a következő matematikai feladat: 15x + 20y 1440 3x + 2y 240 feltételek y 50. x, y 0. 1000x + 800y 400x 300y 3200 = 600x + 500y 3200 max célfüggvény Ezzel ekvivalens feladat: ugyanezen feltételek mellett a 600x + 500y célfüggvény maximumát keressük. Megoldás: később.

Definíció. Az olyan feltételes szélsőérték-feladatokat, amelyben a feltételek lineáris egyenletek és egyenlőtlenségek, és egy lineáris függvény szélsőértékét keressük, lineáris programozási feladatnak nevezzük Általánosítások: Ha a feltételek lineárisak, de a célfüggvény nem, akkor nemlineáris programozási feladatról beszélünk. Pl. hiberbolikus programozási feladat célfüggvénye alakú. a x+b c x+d Azon pontok halmazát, amelyek koordinátái kielégítik a feltételrendszert, lehetséges megoldásoknak nevezzük. Azon lehetséges megoldásokat, ahol a célfüggvény értéke maximális/minimális, optimális megoldásoknak nevezzük.

Kétváltozós LP-feladat grafikus megoldása Lineáris egyenlőtlenség megoldása 3x + 2y 6 Először ábrázoljuk a megfelelő egyenlet megoldásait, pl. tengelymetszet segítségével: 3 2 Utána el kell dönteni, hogy melyik félsík lesz az egyenlőtlenség megoldása. Ez legegyszerűbben behelyettesítéssel történhet. Pl. origó: 3 0 + 2 0 6 teljesül Az a félsík a megoldás, amiben az origó van.

Egyenlőtlenség-rendszer megoldása: Tekintem az egyes félsíkok metszetét. Ez lehet: Üres halmaz Egyetlen pont Szakasz Félegyenes Egyenes Konvex sokszög Nem korlátos konvex sokszög

1. feladat. Oldjuk meg az előzőleg felírt feladatot 15x + 20y 1440 1 3x + 2y 240 2 y 50 3. x, y 0. 600x + 500y max 1 2 600x + 500y = c max 6x + 5y = c/100 max 50 3 Itt van az optimum! 80 Ha pontos az ábra (vagy számolás): x = 64, y = 24

2a. Oldjuk meg az alábbi LP- feladatot: 3x + 2y 6 1 -x + y 4 2 5x + 8y 40 3 x 2y 4 4. x, y 0. 2x + y max 3 1 2 4 2x + y = c max y = -2x + c és c max A 2 meredekségű egyenesek közül keressük azt, amelynek van közös pontja a tartománnyal, és c értéke maximális Itt van az optimum! Optimum koordinátái: 3 és 4 egyenletből: x = 10/9, y = 56/9

2b. Oldjuk meg az előző LP- feladatot 10x + 16y max célfüggvénnyel! 3x + 2y 6 1 2 3 -x + y 4 2 5x + 8y 40 3 x 2y 4 4 1. x, y 0. 10x + 16y max 10x + 16y = c max y = -5/8 x + c és c max 4 A 5/8 meredekségű egyenesek közül keressük azt, amelynek van közös pontja a tartománnyal, és c értéke maximális Itt van az optimum! Optimum egy szakasz! Végtelen sok megoldás!

2c. Oldjuk meg az előző LP- feladatot 10x + 16y min célfüggvénnyel! 3x + 2y 6 1 2 3 -x + y 4 2 5x + 8y 40 3 x 2y 4 4 1. x, y 0. 10x + 16y min 10x + 16y = c min y = -5/8 x + c és c min 4 A 5/8 meredekségű egyenesek Itt van az optimum! közül keressük azt, amelynek van közös pontja a tartománnyal, és c értéke Optimum koordinátái: x = 2, y = 0 minimális

2c. Oldjuk meg az előző LP- feladatot 10x 5y min célfüggvénnyel! 3x + 2y 6 1 2 3 -x + y 4 2 5x + 8y 40 3 x 2y 4 4 1. x, y 0. 10x 5y min 10x 5y = c min y = 2x c és c min y = 5/8 x + ( c) és - c max A 2 meredekségű egyenesek Itt van az optimum! közül keressük azt, amelynek van közös pontja a tartománnyal, és -c értéke Optimum koordinátái: x =0, y = 4 maximális 4

3a. Oldjuk meg az alábbi LP-feladatot! x + 2y 4 1 -x + y 4 2 x 3y 3 3. x, y 0. x + y min Végtelen tartomány! x + y = c min y = -x + c és c min 1 A -1 meredekségű egyenesek közül keressük azt, amelynek van közös pontja a Itt van az optimum! tartománnyal, és c értéke minimális Optimum koordinátái: x =0, y = 2 2 3

3b. Oldjuk meg az előző LP-feladatot az x + y max célfüggvénnyel! 2 x + 2y 4 1 -x + y 4 2 x 3y 3 3. x, y 0. 1 x + y max Végtelen tartomány! x + y = c max y = -x + c és c max A -1 meredekségű egyenesek közül keressük azt, amelynek van közös pontja a tartománnyal, és c értéke maximális A célfüggvény felülről nem korlátos a lehetséges megoldások halmazán. 3

4. Oldjuk meg az alábbi LP-feladatot! x + 2y 6 -x + y 2 1 2 2 x 3y 3 3. x, y 0. x + y min 1 3 Üres tartomány! A feladatnak nincs lehetséges megoldása sem.

Láttuk, hogy egy lineáris programozási feladat esetén a következő lehetetőségek fordulhatnak elő: a lehetséges megoldások halmaza üres; van lehetséges megoldás, de a célfüggvény nem korlátos a lehetséges megoldások halmazán; van lehetséges megoldás, és a célfüggvény korlátos is a kívánt irányból; ekkor kétféle eset lehetséges egyetlen optimum van; több (végtelen sok) optimum van.

1 Operációkutatás #, NYME KTK III. évf. nappali Lineáris programozás Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach 2004. ősz Lineáris programozás (2. rész) 1. rész: ld. PowerPoint prezentáció Modellalkotás Grafikus megoldás Feladattípusok Szimplex algoritmus Feladattípusok A) Normál feladat ahol megköveteljük, hogy b 1,..., b m 0 teljesüljön. Mátrixos alak: Itt is megköveteljük, hogy b 0 teljesüljön. a 11 x 1 +... + a 1n x n b 1. a m1 x 1 +... + a mn x n b m x 1,..., x n 0 f(x) = c 1 x 1 +... + c n x n max Ax b x 0 f(x) = c x max A vektorok közti és jelek komponensenkénti összehasonlítást jelentenek. Tehát e f azt jelenti, hogy minden i-re e i f i. A a transzponálást jelöli, azaz c egy sorvektor. B) Módosított normál feladat (Lehet egyenlet is benne.) Itt is megköveteljük, hogy b 1 0 és b 2 0 teljesüljön. A 1 x = b 1 A 2 x b 2 x 0 f(x) = c x max

C) Általánosított normál feladat (Lehet = és is benne.) 2 Itt is megköveteljük, hogy b i 0 (i = 1, 2, 3) teljesüljön. D) Standard feladat (Jobb oldalra nincs kikötés) A 1 x = b 1 A 2 x b 2 A 3 x b 3 x 0 f(x) = c x max Ax b x 0 f(x) = c x max Állítás. Az A), B), és C) feladatok mindegyike ekvivalens egy standard feladattal. Bizonyítás. A) egy speciális standard feladat. B) A 1 x = b 1 A 2 x b 2 A 1 x b 1 A 1 x b 1 A 2 x b 2 A 1 x b 1 A 1 x b 1 A 2 x b 2 C) A 1 x = b 1 A 2 x b 2 A 3 x b 3 A 1 x b 1 A 1 x b 1 A 2 x b 2 A 3 x b 3 Állítás. Minden LP-feladat ekvivalens egy általánosított normál feladattal. Bizonyítás. 1) Ha az LP-feladatban szerepel egy x előjelkötetlen változó, akkor annak minden előfordulási helyére írjunk (y z)-t, ahol y és z két új, nemnegatív változó. 2) Ha valamelyik feltétel jobb oldalán negatív szám áll, szorozzuk be 1-gyel. 3) Ha minimumfeladattal van dolgunk: f(x) min, akkor ez ekvivalens a f(x) max feladattal. Általánosított normál feladat visszavezetése módosított normál feladatra: a jelek helyett = írható, ha a bal oldalból levonok egy új, pozitív változót. Pl.: 2x 5 2x u = 5. A módosított normál feladat az úgynevezett kétfázisú szimplex módszerrel oldható meg, később lesz. Definíció. Az Ax b, x 0 egyenletrendszer x lehetséges megoldásához tartozó eltérésvektor az az u vektor, amelyre Ax + u = b. Az eltérésvektor i-edik komponensét tehát úgy kapjuk, hogy megnézzük: a bal oldal értéke mennyivel kisebb a jobb oldalon álló b i -nél. Nyilvánvalóan u 0. Módosított normál feladatra ill. általános feladatra ld. könyvben! Definíció. Az Ax b x 0 f(x) = c x max

normál feladat kanonikus alakja az 3 Ax + u = b x 0, u 0 f(x) = c x max feladat. Mátrixosan a 11 x 1 +... + a 1n x n + u 1 = b 1. a m1 x 1 +... + a mn x n + u m = b m x 1,..., x n 0 f(x) = c 1 x 1 +... + c n x n max ahol megköveteljük, hogy b 1,..., b m 0 teljesüljön. Ha bevezetjük a B = A E és az y = x u jelölést, akkor az egyenletrendszer By = b alakú lesz. Ha felírjuk a By = b egyenletrendszer kibővített mátrixát, s az oszlopvektorokat rendre x 1,..., x n, u 1,..., u m jelöli, akkor az oszlopvektorok éppen az u 1,..., u m bázisban vannak felírva. Elemi bázistranszformációval át lehet térni más bázisra. Definíció. Egy kanonikus alakú feladat bázismegoldásán azt értjük, hogy a bázisban nem szereplő oszlopokhoz tartozó változók (szabad változók) értéke nulla, a bázisban szereplő oszlopokhoz tartozó változók (bázisváltozók, kötött változók) értéke pedig a jobb oldalon álló szám. Lehetséges bázismegoldáson olyan bázismegoldást értünk, amelynek nincs negatív komponense. Ha egy lehetséges bázismegoldásból elhagyjuk az u i -ket, akkor az eredeti normál feladat lehetséges megoldását kapjuk. Normál feladat esetén a kiindulási u 1,..., u m bázisnak megfelelő bázismegoldás: x 1 =... = x n = 0, u 1 = b 1,..., u m = b m. Ez lehetséges bázismegoldás, mert b i 0. a 11 x 1 +... + a 1n x n + u 1 = b 1. a m1 x 1 +... + a mn x n + u m = b m x 1,..., x n 0 Tétel. A kanonikus alakú LP feladatnak, s így a normál feladatnak is csak véges sok bázismegoldása van. Bizonyítás. Az (A E) mátrix rangja = sorok száma = m, hiszen az egységmátrix rangja m. Az oszlopok száma: m + n. A bázismegoldások száma ( ) m+n m. Tétel. Egy standard feladat lehetséges megoldásai a lehetséges megoldások halmazának extremális pontjai. Fordítva, a lehetséges megoldások halmazának extremális pontjai a standard feladat bázismegoldásai. Definíció. Degenerált bázismegoldásban kevesebb nullától különböző elem van, mint az együtthatómátrix rangja. Tehát a bázismegoldást adó táblázatban a bal oldalon nulla is szerepel. Egyenletrendszer bázistáblázata Most az egyenletrendszer egy megoldása azonnal leolvasható, minket viszont az érdekel, hogy hogyan lehet áttérni egy másik (bázis)megoldásra. Nem akarunk mindig feleslegesen leírni egy egységmátrixot, ennek viszont az lesz az ára, hogy a táblázat fejléceibe mindig fel kell írni, hogy a sorok és oszlopok milyen vektorokhoz/változókhoz tartoznak. 2x + 2y + 3z 2 4x y + 5z 7 2x + 2y + 3z + u 1 = 2 4x y + 5z + u 2 = 7

2 2 3 1 0 2 4 1 5 0 1 7 x y z b u 1 2 2 3 2 u 2 4 1 5 7 4 Áttérés az x, u 2 bázisváltozókra: 3 1 1 1 2 2 0 1 0 5 1 2 1 3 u 1 y z b 1 3 x 2 1 2 1 u 2 2 5 1 3 A bázistáblás írásmódnál az elemi bázistranszformáció egy lépése a mátrixelemek szintjén a következő: 1. kiválasztom a generálóelemet, g-t 2. A generálóelem feletti és melletti két változónevet felcserélem 3. generálóelem reciprokát veszem 4. generálóelem oszopát osztom g-vel és szorzom 1-gyel. 5. generálóelem sorát osztom a generálóelemmel 6. további elemek: téglalap szabály: g a b t t = t ab g. Lehetséges bázistranszformáció Ha azt akarjuk, hogy az elemi bázistranszformáció során lehetséges bázismegoldást adó új bázisra térjünk át, azaz a jobb oldalakon ne álljon negatív szám, akkor a generálóelemet nem lehet tetszőlegesen választani. Mivel a generálóelem sorát végigosztjuk a generálóelemmel, ennek a sornak a jobb oldala akkor marad nemnegatív, ha a generálóelem nemnegatív. Nulla sem lehet generálóelem, tehát α) a generálóelem csak pozitív szám lehet. Ha a generálóelem a ij, akkor a k-adik sor jobb oldala (k i esetén) Itt b 1, b k, a ij 0, kérdés, hogy mikor lesz b k 0? b k = b k b ia kj a ij. Két eset van: ha a kj 0, akkor b k b k 0 automatikusan teljesül. Ha viszont a kj > 0, akkor teljesülnie kell. Tehát b k = b k b ia kj a ij > 0 b k a kj > b i a ij β) az adott j-edik oszlop pozitív elemeivel osztjuk a megfelelő jobb oldalakat, s a generálóelemet abból a sorból választjuk, ahol ez a hányados a legkisebb. Definíció. Az α és β tulajdonságokkal rendelkező elemi bázistranszformációt lehetséges bázistranszformációnak nevezzük. Tétel. Egy lehetséges bázismegoldást adó bázistáblából el lehet jutni tetszőleges más lehetséges bázismegoldást adó bázistáblához a lehetséges elemi bázistranszformáció véges sokszori alkalmazásával. (standard feladatra is igaz!)

A célfüggvény értékét jelöljük z-vel! Ekkor z = c x, azaz 5 c x z = c x + ( z) = 0. Ez egy újabb egyenlet. Ha z-t tekintjük változónak, akkor az egyenletrendszer kibővített mátrixa: Itt a bázis az u i és z változókhoz tartozó oszlopok: x 1... x n u 1... u m z b a 11... a 1n 1... 0 0 b 1. a m1... a mn 0... 1 0 b m c 1... c n 0... 0 1 0 x 1... x j... x n b u 1 a 11... a 1j... a 1n b 1. u i a i1... a ij... a in b i. u m a m1... a mj... a mn b m z c 1... c j... c n 0 A jobb alsó sarokban álló elem adja a bázismegolásban z értéket. Ezt minimalizálni kell. Lehetséges elemi bázistranszformáció esetén a jobb alsó sarokban lévő elemből le kell vonni: b i c j a ij Kell: z csökkenjen, azaz c j > 0 legyen. γ) A generálóelemet pozitív célfüggvényegyüttható (c j ) felett kell választani ahhoz, hogy az új bázismegoldásnál a célfüggvény értéke nagyobb legyen. Hogyan érhet véget az algoritmus? Tétel. Ha egy standard feladat megoldása során az egyik bázistáblában van egy olyan oszlop (j-edik), ahol minden a ij 0, azaz a j 0, de c j > 0, akkor a célfüggvény felülről nem korlátos a lehetséges megoldások halmazán. Bizonyítás. Legyen x az aktuális bázismegoldás, s adjunk λ > 0-t a j-edik komponenséhez: Ez is lehetséges megoldás, ugyanis A célfüggvény értéke x λ = x + λe j. Ax λ = A(x + λe j ) = Ax + Aλe j = Ax + λa j Ax b. f(x λ ) = c x λ = c (x + λe j ) = c x + c λe j = c x + λc j = f(x) + λc j. Ha λ, akkor f(x λ ). Ha nincs pozitív célfüggvényegyüttható, akkor γ) szerint a célfüggvényérték nem növelhető lehetséges elemi bázistranszformációval. Belátható, hogy máshogyan sem: Tétel. Ha egy bázistáblában nincs pozitív célfüggvényegyüttható, akkor az aktuális bázismegoldás optimális. Bizonyítás. Később. Szimplex algoritmus (végesség is!): TÁBLÁN!!!

1 Operációkutatás #, NYME KTK III. évf. nappali Lineáris programozás (3. rész) Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach 2004. ősz Konvex halmazok. Jelölje E n az n-dimenziós Euklideszi teret. Tehát E n elemei az n komponensű valós szám-n-esek, és egy vektor normája az alábbiak szerint definiált: x = x 2 1 +... + x2 n Két pont távolságát helyvektoraik különbségének normájával fejezhetjük ki: d(a, B) = a b. Definíció. Az a pont ε sugarú környezete az a a < ε képlettel definiált. Definíció. Az a és b pontok által meghatározott egyenes egyenlete: x = λa + (1 λ)b (λ R). Ugyanígy néz ki az a és b pontok által meghatározott szakasz egyenlete is, csak ki kell kötni, hogy 0 λ 1. Definíció. Az a 0 ponthoz tartozó sugár egyenlete: x = λa, λ > 0. Definíció. Egy K E n halmaz konvex, ha bármely két pontja által meghatározott szakasz is része K-nak.(Ennek megfelelően az üres halmaz, az egyetlen pontból álló halmazok, egy szakasz, egy félegyenes, egy egyenes is konvexek.) Definíció. Az a pont a H halmaz belső pontja, ha a H, továbbá létezik a-nak olyan környezete, amely teljes egészében H-ban fekszik. Definíció. Az a pont a H halmaz határpontja, ha a-nak bármely környezete tartalmaz H-beli és H-n kívüli pontot is. Definíció. A H halmaz zárt, ha minden határpontja H-hoz tartozik. Definíció. Az a pont a H halmaz extremális pontja, ha a H, továbbá nincs olyan a-n átmenő szakasz, amely teljes egészében H-ban fekszik. Definíció. A H halmaz korlátos, ha van egy olyan k vektor, hogy tetszőleges a H esetén a i < k i. Definíció. Konvex poliéderen olyan K E n konvex, zárt halmazt értünk, amely egyrészt korlátos, másrészt csak véges sok extremális pontja van. Definíció. n-dimenziós szimplexen olyan n-dimenziós konvex poliédert értünk, amelynek n + 1 extremális pontja van. Tétel. Az Ax b, x 0 standard feladat lehetséges megoldásainak halmaza konvex.

Bizonyítás. Az üres és egyelemű megoldáshalmaz definíció szerint konvex. Tegyük fel, hogy x 1 és x 2 is megoldások: 2 Ax 1 b, x 1 0 és Ax 2 b, x 2 0. Lássuk be, hogy az általuk meghatározott szakasz x = λx 1 + (1 λ)x 2, λ [0, 1] is megoldás. λ, 1 λ > 0 miatt x 0. Másrészt Ax = A [λx 1 + (1 λ)x 2 ] = λ Ax 1 + (1 λ) Ax 2 λb + (1 λ)b = b. Dualitás Definíció. Az és az Ax b x 0 f(x) = c x max A y c y 0 g(y) = b y min (standard) feladatok egymás duáljai. A kiinduló feladatot szokás primál feladatnak nevezni, míg az abból származtatottat duál feladatnak. A primál maximumfeladat eltérésvektorának szokásos jelölése u, a duál minimufeladaté w: Ax + u = b, A y w = c. Dualitás (folyt.) Részletesen kiírva: standard feladat duálja az feladat. a 11 x 1 +... + a 1n x n b 1. a m1 x 1 +... + a mn x n b m x 1,..., x n 0 f(x) = c 1 x 1 +... + c n x n max a 11 y 1 +... + a m1 y m c 1. a 1n y 1 +... + a mn y m c n y 1,..., y n 0 g(y) = b 1 y 1 +... + b m y m min Primál-duál feladatpár lehetséges megoldásai Tétel. Ha a fenti primál-duál feladatpárnak x és y lehetséges megoldásai, akkor f(x) g(y). Bizonyítás. Azaz f(x) y Ax g(y). Ax b y Ax y b = b y = g(y) A y c y A c y Ax c x = f(x)

Következmény. 1. Ha a primál feladatnak van lehetséges megoldása és a célfüggvény nem korlátos felülről, akkor a duálnak 3 nincs lehetséges megoldása. 2. Ha a duál feladat célfüggvénye nem korlátos alulról, akkor a primálnak nincs lehetséges megoldása 3. Ha f(x 0 ) = g(y 0 ), akkor x 0 a primál, y 0 a duál feladat optimális megoldása. Módosított normál feladat duálja Belátható, hogy a módosított normál feladat duáljának felírásához nem kell áttérnünk a standard alakra, hanem a következőképpen járhatunk el: Ha valamelyik feltétel egyenlőség, akkor a duál feladatmegfelelő változójára nincs előjelkorlát. Ha valamelyik változóra nincs előjelkorlát, akkor a duál feladat megfelelő feltétele egyenlőség. LP alaptétele Ld. Csernyák 1.9. tétel, illetve táblán. Duál feladat otimuma Az előzőek szerint a primál és duál feladat optimális célfüggvényértéke megegyezik. Ennél több is igaz: a primál feladatot megoldva az optimális megoldást adó bázistáblából leolvasható a duál feladat optimális bázismegoldása: A célfüggvényegyütthatók ellentettjei adják a duál megoldásvektor és eltérésvektor nemnulla komponenseit. A duál feladat változói a primál feladat egyenleteinek felelnek meg, vagyis a primál eltérésváltozóknak (u i ). A bázisban nem szereplő eltérésváltozók oszlopából olvashatók tehát le a duál megoldásvektor (y) nemnulla komponensei. A duál feladat egyenletei a primál feladat változóinak felelnek meg, vagyis a primál változóknak (x j ). A bázisban nem szereplő x j változók oszlopából olvashatók tehát le a duál eltérésvektor (w) nemnulla komponensei. Degeneráció Volt: Definíció. Degenerált bázismegoldásban kevesebb nullától különböző elem van, mint az együtthatómátrix rangja. Tehát a bázismegoldást adó táblázatban a jobb oldalon nulla is szerepel. Új: Definíció. Egy normál feladat akkor nemdegenerált, ha az egyik lehetséges bázismegoldás sem degenerált. Ez nem dönthető el mindig ránézésre! A degeneráltság hátránya: γ) szabály esetén ha a generálóelem sorában a jobb oldalon nulla áll, akkor a célfüggvényérték nem változik az átalakítás során. Nincs biztosítva az algortimus végessége, mert így felléphet ciklikusság is az algoritmusban! Van arra is módszer, hogy kivédjük a ciklikusságot, de ezt nem tanuljuk.

1 Operációkutatás #, NYME KTK III. évf. nappali Lineáris programozás (4. rész) Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach 2004. ősz Alternatív optimum Definíció. Alternatív optimumról beszélünk, ha egy feladatnak több optimális megoldás is van. Tétel. Az LP feladat alternatív optimumainak konvex lineáris kombinációja is alternatív optimum. Bizonyítás. A könyvbeli bizonyítás hiányos! 1. Lehetséges megoldások konvex lineáris kombinációja is lehetséges megoldás (1.1. Tétel) utána pedig 2. Ha néhány helyen ugyanakkora a függvényérték (mindenütt optimális), akkor a konvex lineáris kombinációjukban is (könyvbeli bizonyítás): Legyenek x és x is optim lis megold sok, azaz z = z = z o. Legyen x = λx + (1 λ)x egy konvex lineáris kombinácijuk. c x = c λx + (1 λ)x = λc x + (1 λ)c x = λz o + (1 λ)z o = z o. Alternatív optimális bázismegoldások Az optimális bázistáblában nincs negatív célfüggvényegyüttható. De lehet esetleg nulla célfüggvényegyüttható. Ez azt jelenti, hogy a duál feladat megfelelő optimális bázismegoldása degenerált. Ha nulla felett választunk generálóelemet (mert van felette pozitív elem), akkor a primál feladat egy másik optimális bázismegoldásába juthatunk el: x j x i g b 0 z Látható, hogy z-ből le kell vonni 0 b g -t, azaz a célfüggvényérték nem változik. Degenerált optimális bázismegoldás Ha a primál feladat optimális bázismegoldása degenerált, akkor megpróbálhatunk abban a sorban generálóelemet választani, ahol a jobb oldalon nulla áll. A generálóelem nem lehet nulla de α) és β) most figyelmen kívül hagyható, hiszen a jobb oldalakon most nem jöhet be negatív szám. Viszont arra kell ügyelni, hogy a célfüggvényegyütthatók között ne jelenjen meg pozitív szám a bázisátmenet után. Ekkor a duál feladat alternatív optimumát kapjuk. x j x i g 0 c z

Alternatív optimum és degeneráció 2 Tétel. Egy LP feladatnak csak akkor lehet alternatív optimuma, ha a duál feladat optimális megoldása degenerált. Bizonyítás. Nem kell. Ebben benne foglaltatik az is, hogy a duál feladatnak is csak akkor lehet alternatív optimuma, mert a duál duálja a primál. Miért nem "akkor és csak akkor" tételünk van? Mert lehet egyszerre alternatív optimum és degeneráció: x j x i g 0 0 z Alternatív optimum és degeneráció egyszerre x j x i g 0 0 z Ekkor g-t választva ugyan eljutunk egy másik bázisegoldáshoz abban az értelemben, hogy más lesz a bázis, de a változók értéke ugyanaz marad a primál feladat degeneráltsága miatt. Eredetileg ugyanis x i = 0, mert bázisváltozó ugyan, de a jobb oldalon nulla áll, x j pedig azért nulla, mert nem bázisváltozó. A bázistranszformáció után ez éppen fordítva lesz. Még egy lehetőség Ha az optimális bázismegoldásban van nulla célfüggvényegyüttható, felette nincs pozitív elem, de van nulla, akkor nincs ugyan más optimális bázismegoldás, mégis végtelen sok megoldás van: egy félegyenesen. Kétfázisú szimplex módszer A normál feladatnak mindig van lehetséges megoldása, az a bázismegoldás, amikor az eltérésváltozók a bázisváltozók, az erdeti feladat változói mind nullák; ez a kiindulási bázistáblához tartozik. A normál feladatnak (lehetnek egyenlőségek is) már nem mindig van lehetséges megoldása. Ezért a szimplex módszert kiegészítjük egy olyan első fázissal, ahol találunk egy lehetséges megoldást, s innen szokásos szimplex módszerrel folytatjuk. Tekintsük a A 1 x = b 1 A 2 x b 2 x 0 f(x) = c x max

módosított normál feladatot (b 1, b 2 0), és írjuk fel hozzá az 3 A 1 x b 1 A 2 x b 2 x 0 ˆf(x) = 1 A 1 x max normál feladatot. Itt 1 az a megfelelő méretű vektor, aminek minden komponense 1. Ha ezzel balról szorzok egy mátrixot, akkor az eredmény a mátrix sorainak összege. Tétel. A fenti módosított normál feladatnak pontosan akkor van lehetséges megoldása, ha a belőle felírt normál feladat optimális megoldása: ˆf = 1 b 1. Bizonyítás. Az egyenletekből egyenlőtlenségeket csináltunk a feltételrendszerben, bal oldalaikat pedig összeadtuk, ez lett a másodlagos célfüggvény. Ez az összeg mindig kisebb vagy egyenlő, mint a jobb oldalak összege, 1 b 1. Ha sikerül elérni az egyenlőséget, akkor mindegyik feltételben egyenlőség teljesül, vagyis az eredeti feladat lehetséges megoldását kapjuk. Feladatmegoldás. Azoknál a soroknál, ahol egyenlőség áll, az eltérésváltozókat kalappal látjuk el. A másodlagos célfüggvény sora a kalapos sorok összege lesz, a hozzá tartozó konstans most nem nulla, hanem az is a kalapos sorok jobb oldalainak összege. Ezt az elsődleges célfüggvény alatti plusz egy sorba írjuk. Az algoritmus első fázisában a másodlagos célfüggvényre nézve optimalizálunk. Ha sikerül elérni, hogy a jobb alsó konstans nulla legyen, akkor a másodlagos célfüggvény optimuma ˆf = 1 b 1, s így az eredeti feladat egy lehetséges megoldásánál tartunk. Az esetek többségében érdemes a kalapos változókat kihozni a bázisból az első lépésben, hiszen azon eltéréseknek nullának kell lenniük egy lehetséges megoldásban. A második fázisban elhagyható a másodlagos célfüggvény sora, most az elsődelges célfüggvényre nézve optimalizálok. A fentre került kalapos változók oszlopában azonban nem szabad generálóelemet választani, azon oszlopokban nem is kell nézni a célfüggvényegyütthatók előjelét, amikor el kell dönteni, hogy a jelenlegi bázismegoldás optimális-e. Lehet hogy végül pozitív elem marad ott, ami a duál feladatra nézve azt jelenti, hogy annak a bázisváltozónak az értéke negatív. Ez nem gond, hiszen az egyenleteknek a duál feladatban előjelkötetlen változók felelnek meg. Szokás a kalapos sorokat elhagyni a második fázisban, ha nem vagyunk kiváncsiak a duál feladat optimális megoldására. Figyelem! Itt is lehetnek alternatív optimális bázismegoldások! Általánosított normál feladat, illetve tetszőleges LP feladat visszavezetése korábban már szerepelt.