11. Előadás. 11. előadás Bevezetés a lineáris programozásba

Hasonló dokumentumok
10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Operációkutatás. Vaik Zsuzsanna. ajánlott jegyzet: Szilágyi Péter: Operációkutatás

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet

A szimplex algoritmus

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

11. Előadás. Megyesi László: Lineáris algebra, oldal. 11. előadás Kvadratikus alakok, Stratégiai viselkedés

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell

8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

9. Előadás. (9. előadás) Lineáris egyr.(3.), Sajátérték április / 35

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

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

5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39

Lineáris egyenletrendszerek

7. Előadás. Megyesi László: Lineáris algebra, oldal. 7. előadás Elemi bázistranszformáció

Kétfázisú szimplex algoritmus és speciális esetei

Érzékenységvizsgálat

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

A szimplex algoritmus

Konjugált gradiens módszer

Lineáris algebra gyakorlat

Opkut deníciók és tételek

A szimplex tábla. p. 1

15. LINEÁRIS EGYENLETRENDSZEREK

Totális Unimodularitás és LP dualitás. Tapolcai János

Szélsőérték-számítás

A dualitás elve. Készítette: Dr. Ábrahám István

Lineáris algebra. (közgazdászoknak)

Bázistranszformáció és alkalmazásai 2.

1. Határozzuk meg, hogy mikor egyenlő egymással a következő két mátrix: ; B = 8 7 2, 5 1. Számítsuk ki az A + B, A B, 3A, B mátrixokat!

Bevezetés az operációkutatásba A lineáris programozás alapjai

Mátrixok 2017 Mátrixok

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

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

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Szöveges feladatok a mátrixaritmetika alkalmazására

Vektorterek. =a gyakorlatokon megoldásra ajánlott

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

Lineáris algebra Gyakorló feladatok

Lineáris leképezések. 2. Lineáris-e az f : R 2 R 2 f(x, y) = (x + y, x 2 )

1/ gyakorlat. Hiperbolikus programozási feladat megoldása. Pécsi Tudományegyetem PTI

Analízis I. Vizsgatételsor

Gauss-eliminációval, Cholesky felbontás, QR felbontás

1. feladatsor Komplex számok

Áttekintés LP és geometria Többcélú LP LP és egy dinamikus modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

Operációkutatás. Vaik Zsuzsanna. Budapest október 10. First Prev Next Last Go Back Full Screen Close Quit

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

3. Lineáris differenciálegyenletek

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

összeadjuk 0-t kapunk. Képletben:

Első zárthelyi dolgozat megoldásai biomatematikából * A verzió

Nemlineáris programozás 2.

y + a y + b y = r(x),

Alkalmazott optimalizálás és játékelmélet Lineáris programozás Gyakorlófeladatok. Rétvári Gábor

LINEÁRIS ALGEBRA. matematika alapszak. Euklideszi terek. SZTE Bolyai Intézet, őszi félév. Euklideszi terek LINEÁRIS ALGEBRA 1 / 40

5 = hiszen és az utóbbi mátrix determinánsa a középs½o oszlop szerint kifejtve: 3 7 ( 2) = (példa vége). 7 5 = 8. det 6.

Bázistranszformáció és alkalmazásai

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Egyenletek, egyenlőtlenségek VII.

Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony.

MA1143v A. csoport Név: december 4. Gyak.vez:. Gyak. kódja: Neptun kód:.

Matematika III. harmadik előadás

1. zárthelyi,

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

Gauss-Seidel iteráció

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

Optimumkeresés számítógépen

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

Operációkutatás példatár

Problémás regressziók

Lineáris leképezések (előadásvázlat, szeptember 28.) Maróti Miklós, Kátai-Urbán Kamilla

Növényvédő szerek A B C D

6. Előadás. Megyesi László: Lineáris algebra, oldal. 6. előadás Bázis, dimenzió

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

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

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

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Lineáris egyenletrendszerek

1. Homogén lineáris egyenletrendszer megoldástere

KOVÁCS BÉLA, MATEMATIKA I.

EuroOffice Optimalizáló (Solver)

Matematika III előadás

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás

Függvény határérték összefoglalás

A lineáris programozás alapjai

Analízis I. beugró vizsgakérdések

Mátrixjátékok tiszta nyeregponttal

Lineáris algebra. =0 iє{1,,n}

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

12 48 b Oldjuk meg az Egyenlet munkalapon a következő egyenletrendszert az inverz mátrixos módszer segítségével! Lépések:

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

egyenlőtlenségnek kell teljesülnie.

Matematika (mesterképzés)

Átírás:

11. Előadás

Gondolkodnivalók Sajátérték, Kvadratikus alak 1. Gondolkodnivaló Adjuk meg, hogy az alábbi A mátrixnak mely α értékekre lesz sajátértéke a 5. Ezen α-ák esetén határozzuk meg a 5 sajátértékhez tartozó sajátaltér egy bázisát. A = 4 3 4 1 α 5 2 2 6 α. A 5 pontosan akkor sajátértéke az A mátrixnak, ha az A ( 5)E mátrix determinánsa 0. 1 3 4 A+5E = 1 α 2 2 6 α + 5 = 1 3 4 0 α 3 2 0 0 α 3 = (α 3)2 = 0. Tehát a 5 akkor lesz sajátértéke az A-nak, ha α = 3.

Gondolkodnivalók Sajátérték, Kvadratikus alak Az A mátrix (α = 3 esetén) 5 sajátértékéhez tartozó sajátalterének egy bázisa az (A + 5E)x T = 0 homogén lineáris egyenletrendszer fundamentális rendszere. 1 3 4 1 3 2 2 6 8 x 1 x 2 x 3 = x 1 + 3x 2 4x 3 x 1 + 3x 2 2x 3 2x 1 6x 2 + 8x 3 Ennek a homogén lineáris egyenletrendszernek az együtthatómátrixa, éppen az A mátrix (α = 3 esetén). 1 3 4 0 1 3 2 0 2 6 8 0 Így a sajátaltér egy bázisa: ( 3, 1, 0). 1 3 4 0 0 0 2 0 0 0 0 0, = 0 0 0 x 1 = 3x 2, x 3 = 0..

Gondolkodnivalók Sajátérték, Kvadratikus alak 2. Gondolkodnivaló Vegyük észre, hogy egy q kvadratikus alak pontosan akkor negatív definit, ha q pozitív definit. Ezt felhasználva adjuk meg a negatív definit kvadratikus alakok jellemzését a mátrixuk főminorai segítségével. A kvadratikus alakok értékkészlet szerinti jellemzése alapján: egy q kvadratikus alak pontosan akkor negatív definit, ha minden 0 vektortól különböző vektorra NEGATÍV értéket ad (természetesen 0-ra minden kvadratikus alak 0 értéket ad). Világos, hogy ekkor q pozitív definit lesz. Hogy néz ki a q (negatív definit) kvadratikus alak mátrixa? Éppen ( 1)-szerese q mátrixának. Márpedig q pozitív definit, így mátrixának minden főminora pozitív.

Gondolkodnivalók Sajátérték, Kvadratikus alak Tehát a következő: ha egy A mátrix minden főminora pozitív, akkor mit tudunk mondani a A mátrix főminorairól? Világos, hogy A k. főminora éppen A k. főminorának ( 1) k -szorosa, hiszen a megfelelő k k-as mátrix éppen a másik mátrix 1-szerese. Márpedig ha B egy k k-as mátrix, akkor B = ( 1) k B, hiszen ha a determinánst szorzom 1-gyel, akkor csak 1 sorát szorozzuk 1-gyel, azaz minden sorból ki tudjuk emelni a 1-et.

Gondolkodnivalók Sajátérték, Kvadratikus alak Ezen gondolkodnivaló állítását érdemes tételbe foglalni, mivel elég fontos: Tétel Egy q kvadratikus alak pontosan akkor negatív definit, ha mátrixának főminorai váltakozó előjelűek: az 1 1-es negatív, a 2 2-es pozitív, a 3 3-as negatív, stb. Fontos odafigyelni, hogy melyik főminorral kezdődik a sorozat, például a 3, 4, 4, 3 sorozat nem egy negatív definit kvadratikus alak főminor-sorozata, hiszen pozitív számmal kezdődik (természetesen a főminorokat úgy írjuk le, hogy az első mindig az 1 1-es).

Bevezetés a lineáris programozásba A gyakorlatban felmerülő konkrét problémák általában nem egyszerű lineáris egyenletrendszerekre vezetnek, hanem legtöbbször speciális feltételek is adottak: egyenletek helyett például egyenlőtlenségek szerepelhetnek, a változók általában nem negatívak. Ráadásul legtöbbször nem az összes megoldást keressük, hanem egy bizonyos szempontból optimális megoldást. Az ilyen problémák megoldásával foglalkozik a lineáris programozás.

Példa Egy gyárban 3 féle terméket gyártanak: széket (S), asztalt (A), ajtót (J), melyekhez 2 féle nyersanyag szükséges: faforgács (F) és ragasztó (R). Az egyes termékekhez szükséges nyersanyagmennyiségeket az alábbi mátrix tartalmazza: F R S 1 3 A 2 4. J 3 2 A cégnek a székeken 10 Ft, az asztalokon 4 Ft, az ajtókon pedig 3 Ft nyeresége van, míg a raktáraiban 100 egységnyi faforgácsa és 50 egységnyi ragasztója van. Melyik termékből mennyit állítson elő, hogy a profit maximális legyen?

A probléma az alábbi feladatra vezet: keressük azon (x 1, x 2, x 3 ) valós számokat (most tekintsünk el attól, hogy egészeket keresünk, hiszen az x i -k a termékek darabszámát jelölik), amelyekre: x 1 + 2x 2 + 3x 3 100 3x 1 + 4x 2 + 2x 3 50 x 1, x 2, x 3 0. Ezen (x 1, x 2, x 3 ) megoldások közül szeretnénk meghatározni egy olyat, amelyre a 10x 1 + 4x 2 + 3x 3 érték maximális.

Alapfeladat Alapfeladat A lineáris programozás az alábbi alakú problémákkal foglalkozik: a 11 x 1 +... + b 11 y 1 +... + ( ) c 1... x 1 ( ) d 1... d 11 x 1 +... + e 11 y 1 + min(max) Azaz lineáris egyenletek helyett egyenlőtlenségek szerepelnek, valamint némely változókra (x 1,...) vonatkoznak alsó illetve felső korlátok, más változókra (y 1,...) nincs semmilyen korlát. Ezen kívül adott egy függvény (az úgynevezett célfüggvény), és olyan megoldást keresünk, amelyre az adott függvény minimális (maximális) értéket vesz fel.

Az alapfeladat átalakítása A probléma megoldásához először átalakítjuk a feltételeket, a következőképpen: A joboldali konstansok legyenek nemnegatívak. A többváltozós egyenlőtlenségek helyett egyenletek szerepeljenek. MINDEN x változóra egy feltétel vonatkozzon csak: x 0. A célfüggvényt minimalizálni kelljen (ne maximalizálni). Az átalakítások legtöbbször természetesen adódnak, nézzünk most néhány példát.

Példa Ha egy egyenlőtlenség jobb oldala negatív, szorozzuk meg 1-gyel: x 1 2x 3 + x 3 3 helyett x 1 + 2x 3 x 3 3. Egyenlőtlenségeket új változók segítségével alakítsunk egyenletté: x 1 x 2 + 2x 3 3 helyett x 1 x 2 + 2x 3 3 helyett x 1 x 2 + 2x 3 x 4 = 3 x 4 0, x 1 x 2 + 2x 3 + x 4 = 3 x 4 0.

Korlát nélküli változókat helyettesítsünk két korlátos változóval: y helyett y = x 1 x 2 x 1, x 2 0. Ha a célfüggvényt maximalizálni kell, akkor szorozzuk meg 1-gyel: 10x 1 + 4x 2 + 3x 3 max helyett 10x 1 4x 2 3x 3 min. Ezen átalakítások előbb-utóbb véget érnek, vagyis ha valamit egy átalakítással kijavítunk, azzal nem rontunk el valami mást. Elvégezve a megfelelő átalakításokat, a feladat speciális alakú lesz: úgynevezett standard feladat.

Standard feladat Standard feladat Az alábbi alakú problémát nevezzük standard feladatnak: ahol b 1,... 0. a 11 x 1 + a 12 x 2 +... = b 1. x 1, x 2,..... 0, c 1 x 1 + c 2 x 2 +... min, Azaz standard feladat esetén MINDEN változóra az a feltétel, hogy nemnegatív, a célfüggvényt MINIMALIZÁLJUK, az egy változóra vonatkozó x i 0 feltételek kivételével csak egyenletek szerepelnek, NEMNEGATÍV jobboldallal.

Lehetséges kanonikus alakú feladat Lehetséges kanonikus alakú feladat Az alábbi alakú standard feladatokat hívjuk lehetséges kanonikus alakú feladatoknak (l.k.a.f.): ahol b 1,... 0. x 1 + a 11 y 1 +... = b 1. x 1,..., y 1,..... 0, c 1 y 1 +... min Azaz a l.k.a.f-ban minden egyenlethez tartozik egy változó, amely csak az adott egyenletben szerepel (még a célfüggvényben sem!), és az adott egyenletben az együtthatója 1, ezek az úgynevezett kiemelt változók.

példa A következő feladat lehetséges kanonikus alakú feladat: 2x 1 + x 2 2x 3 2x 6 = 3 2x 1 + x 3 + x 4 3x 6 = 4 3x 1 3x 3 + x 5 2x 6 = 5 x 1, x 2, x 3, x 4, x 5, x 6 0 2x 1 + 3x 3 + 5x 6 min Ugyanis: x 2 + 2x 1 2x 3 2x 6 = 3 x 4 + 2x 1 + x 3 3x 6 = 4 x 5 + 3x 1 3x 3 2x 6 = 5 x 1, x 2, x 3, x 4, x 5, x 6 0 2x 1 + 3x 3 + 5x 6 min kiemelt változók: x 2, x 4, x 5.

A lehetséges kanonikus alakú feladat egy fontos jellemzője, hogy könnyen leolvasható belőle az egyenlőtlenség-rendszer egy megoldása. Bázismegoldás Bázismegoldásnak nevezzük, ha a kiemelt változók az egyenletek jobboldali konstansaival egyenlők, a többi változó pedig 0 értéket vesz fel. A példa esetén: x 2 + 2x 1 2x 3 2x 6 = 3 x 4 + 2x 1 + x 3 3x 6 = 4 x 5 + 3x 1 3x 3 2x 6 = 5 x 1, x 2, x 3, x 4, x 5, x 6 0 2x 1 + 3x 3 + 5x 6 min a bázismegoldás: x 2 = 3, x 4 = 4, x 5 = 5, x 1 = x 3 = x 6 = 0.

Szimplex algoritmus A módszer lényege, hogy a lehetséges kanonikus alakú feladatokat elemi bázistranszformációk sorozatával oldjuk meg: első lépésként felírjuk a feladat szimplex tábláját. A táblázat sorai az egyenleteknek felelnek meg, a sorok elején most nem a bázis vektorok, hanem a definícióban szereplő kiemelt változók, a célfüggvényt pedig egy külön sorba írjuk.

A példa: x 2 + 2x 1 2x 3 2x 6 = 3 x 4 + 2x 1 + x 3 3x 6 = 4 x 5 + 3x 1 3x 3 2x 6 = 5 x 1, x 2, x 3, x 4, x 5, x 6 0 2x 1 + 3x 3 + 5x 6 min Szimplex táblája: x 1 x 3 x 6 x 2 2 2 2 3 x 4 2 1 3 4 x 5 3 3 2 5 2 3 5 0

A szimplex algoritmus vége Az algoritmus lényege, hogy a fenti táblázatban megfelelő generáló elemet választva egyre közelebb kerülünk az optimális megoldáshoz. A szimplex algoritmus vége Az algoritmus kétféle eredménnyel érhet véget: 1 Ha a célfüggvényben nincs negatív együttható: ekkor a bázismegoldás optimális. A célfüggvény optimumának 1-szerese a jobb alsó sarokban szereplő szám. 2 Ha a célfüggvényben van olyan negatív együttható, melynek oszlopában nincs pozitív szám: ekkor a célfüggvény alulról nem korlátos, tehát bármilyen kis értéket felvehet. Az első esetre példa a l.k.a.f.

Példa x 1 x 2 = 0 x 1, x 2 0 x 2 min lehetséges kanonikus alakú feladat esetén a célfüggvény alulról nem korlátos, tehát bármilyen kis értéket felvehet. Ugyanis a szimplex táblája: x 2 x 1 1 0 1 0 tehát a célfüggvény negatív együtthatójánál nincs pozitív szám, így az előző dián szereplő 2. eset áll fenn.

Generáló elem kiválasztása A generáló elem kiválasztása többféleképpen történhet, a legegyszerűbb algoritmus: Generáló elem kiválasztása Ha a célfüggvényben nincs negatív együttható, vagy van olyan negatív együttható, melynek oszlopában nincs pozitív szám, akkor az algoritmus véget ért (ld.: "A szimplex algoritmus vége" dia). Ha nem teljesülnek az előző feltételek, akkor van olyan negatív célfüggvény-együttható, melynek oszlopában szerepel pozitív szám: 1 keressük meg ezen célfüggvény-együtthatók közül a legkisebbet, 2 majd az oszlopában válasszuk azt a pozitív együtthatót generáló elemnek, melynek kiválasztása esetén a jobboldali konstansok egyike sem válik negatívvá, ehhez azt az elemet kell választani, ahol a konstans/együttható hányados a legkisebb lesz.

Példa x 4 x 5 x 6 x 7 arány x 1 1 2 1 1 3 3/1 x 2 1 0 2 2 4 4/2 x 3 3 1 3 1 5 5/3 1 1 3 2 2 A 3 a legkisebb olyan negatív célfüggvény-együttható, amelynek oszlopában szerepel pozitív szám. Az utolsó oszlop tartalmazza a konstans/együttható hányadosokat, ezek közül a 3-hoz tartozó hányados a legkisebb, így azt választjuk generáló elemnek. Ha a 3 oszlopában más generáló elemet választottunk volna, akkor a konstans oszlopban a következő lépésben megjelennének negatív számok.

Generáló elemet addig kell választanunk, míg az algoritmus véget nem ér (ld.: "A szimplex algoritmus vége" dia). Megjegyzések Az algoritmus hibája, hogy előfordulhat, hogy végtelen ciklusba esik, vagyis folyamatosan választva generáló elemeket, mindig visszatérünk egy korábbi esethez. A generáló elem kiválasztásának bonyolításával az algoritmus gyorsítható, valamint a végtelen ciklusok elkerülhetők.

Példa Oldjuk meg az x 1 + x 3 = 3 x 2 + 2x 3 + 2x 4 = 8 x 1, x 2, x 3, x 4 0 2x 3 x 4 min lehetséges kanonikus alakú feladatot szimplex algoritmus segítségével. x 3 x 4 x 1 1 0 3 x 2 2 2 8 2 1 0 x 1 x 4 x 3 1 0 3 x 2 2 2 2 2 1 6 x 1 x 2 x 3 1 0 3 x 4 1 1 2 1 1 1 2 7 Nincs negatív célfüggvény-együttható, ezért a bázismegoldás: (0, 0, 3, 1) optimális, a célfüggvény értéke ezen a helyen: 7.

Példa Oldjuk meg az x 1 + x 3 x 4 = 3 x 2 + 2x 3 3x 4 = 8 x 1, x 2, x 3, x 4 0 2x 3 x 4 min lehetséges kanonikus alakú feladatot szimplex algoritmus segítségével. x 3 x 4 x 1 1 1 3 x 2 2 3 8 2 1 0 x 1 x 4 x 3 1 1 3 x 2 2 1 2 2 3 6 Mivel a célfüggvényben van olyan negatív együttható, melynek oszlopában nincs pozitív szám, így a célfüggvény alulról nem korlátos, bármilyen kis értéket felvehet.