Gazdaságmatematika 1. szeminárium Rétallér Orsi
Tudnivalók a tantárgyról Szemináriumi diák: http://uni-corvinus.hu/~u2w6ol Számonkérés: ZH év végén Ponthatárok: - 39 : 1 40 - 54 : 2 55 - 69 : 3 70 - 84 : 4 85 - : 5
Irodalom Temesi József, Varró Zoltán: Operációkutatás AULA Kiadó, 2007 Wayne L. Winston: Operációkutatás – módszerek és alkalmazások I.-II., AULA Kiadó, 2003
Mi a lineáris programozási feladat? Maximalizáljuk (vagy minimalizáljuk) a döntési változók egy lineáris függvényét. A maximalizálandó vagy minimalizálandó függvényt célfüggvénynek nevezzük. A döntési változók értékeinek ki kell elégíteniük a korlátozó feltételeket. Minden feltételnek vagy lineáris egyenletnek vagy lineáris egyenlőtlenségnek kell lennie.
Mi a lineáris programozási feladat? Minden változóhoz tartozik egy előjelkorlátozás (vagy annak hiánya). Bármely xi változóra az előjelkorlátozás vagy azt írja elő, hogy xi csak nemnegatív lehet (xi ≥ 0), vagy azt írja elő, hogy xi előjelkorlátozatlan.
A lineáris programozási feladat feltevései Arányossági feltevés Additivitási feltevés Oszthatósági feltevés Bizonyossági feltevés
Feladat (Winston 3.1) Giapetto Fafaragó Cége kétfajta fából készült játékot gyárt: katonákat és vonatokat. Egy katonát 27$-ért lehet eladni, és előállításához 10$ értékű nyersanyag szükséges. Minden legyártott katona 14$-ral növeli Giapetto bérben jelentkező változó költségét és az általános költséget. Egy vonat 21$-ért adható el, előállításához 9$ értékű nyersanyag szükséges. Minden legyártott vonat 10$-ral növeli a változó- és általános költségeket.
Feladat (Winston 3.1) A fakatonák és favonatok gyártása kétféle szakképzett munkát igényel: fafaragó és felületkezelő munkát. Egy katona előállításához 2 óra felületkezelő munka és 1 óra fafaragó munka kell. Egy vonathoz 1 óra felületkezelő és 1 óra fafaragó munka kell. Giapettonak minden héten korlátlan mennyiségű nyersanyag áll rendelkezésére, de csak 100 felületkezelő munkaóra és 80 fafaragó munkaóra használható fel. A vonatok iránti kereslet korlátlan, katonákból azonban legfeljebb csak 40-et vesznek hetente.
Feladat (Winston 3.1) Giapetto maximalizálni szeretné a heti profitot (bevételek – költségek). Keressünk Giapetto helyzetének leírására egy olyan matematikai modellt, amely a heti profitot maximalizálja!
Mire kell minden lineáris programozási feladatnál figyelni? Döntési változók Célfüggvény Korlátozó feltételek Előjelkorlátozások
Mire kell minden lineáris programozási feladatnál figyelni? Döntési változók Célfüggvény Korlátozó feltételek Előjelkorlátozások
1. feladat (Winston 3.1) -1- Giapetto Fafaragó Cége kétfajta fából készült játékot gyárt: katonákat és vonatokat. Egy katonát 27$-ért lehet eladni, és előállításához 10$ értékű nyersanyag szükséges. Minden legyártott katona 14$-ral növeli Giapetto bérben jelentkező változó költségét és az általános költséget. Egy vonat 21$-ért adható el, előállításához 9$ értékű nyersanyag szükséges. Minden legyártott vonat 10$-ral növeli a változó- és általános költségeket.
Mire kell minden lineáris programozási feladatnál figyelni? Döntési változók Célfüggvény Korlátozó feltételek Előjelkorlátozások
1. feladat (Winston 3.1) -1- Giapetto Fafaragó Cége kétfajta fából készült játékot gyárt: katonákat és vonatokat. Egy katonát 27$-ért lehet eladni, és előállításához 10$ értékű nyersanyag szükséges. Minden legyártott katona 14$-ral növeli Giapetto bérben jelentkező változó költségét és az általános költséget. Egy vonat 21$-ért adható el, előállításához 9$ értékű nyersanyag szükséges. Minden legyártott vonat 10$-ral növeli a változó- és általános költségeket.
1. feladat (Winston 3.1) -3- Giapetto maximalizálni szeretné a heti profitot (bevételek – költségek). Keressünk Giapetto helyzetének leírására egy olyan matematikai modellt, amely a heti profitot maximalizálja!
Mire kell minden lineáris programozási feladatnál figyelni? Döntési változók Célfüggvény Korlátozó feltételek Előjelkorlátozások
1. feladat (Winston 3.1) -2- A fakatonák és favonatok gyártása kétféle szakképzett munkát igényel: fafaragó és felületkezelő munkát. Egy katona előállításához 2 óra felületkezelő munka és 1 óra fafaragó munka kell. Egy vonathoz 1 óra felületkezelő és 1 óra fafaragó munka kell. Giapettonak minden héten korlátlan mennyiségű nyersanyag áll rendelkezésére, de csak 100 felületkezelő munkaóra és 80 fafaragó munkaóra használható fel. A vonatok iránti kereslet korlátlan, katonákból azonban legfeljebb csak 40-et vesznek hetente.
Mire kell minden lineáris programozási feladatnál figyelni? Döntési változók Célfüggvény Korlátozó feltételek Előjelkorlátozások
A feladat felírása max z = 3x1 + 2x2 2x1 + x2 ≤ 100 x1 + x2 ≤ 80 x1 ≤ 40 x1 ≥ 0 x2 ≥ 0
Grafikus megoldás Lehetséges megoldások halmaza
Létezik-e mindig egyértelmű megoldás?
Lehetséges LP megoldások Az LP-nek egyértelmű megoldása van Az LP-nek alternatív optimuma van: végtelen sok megoldása van Az LP nem megoldható: a lehetséges megoldások halmaza üres Az LP nem korlátos
Lehetséges LP megoldások Az LP-nek egyértelmű megoldása van Az LP-nek alternatív optimuma van: végtelen sok megoldása van Az LP nem megoldható: a lehetséges megoldások halmaza üres Az LP nem korlátos
Lehetséges LP megoldások Az LP-nek egyértelmű megoldása van Az LP-nek alternatív optimuma van: végtelen sok megoldása van Az LP nem megoldható: a lehetséges megoldások halmaza üres Az LP nem korlátos
Alternatív optimum max z = 4x1 + x2 8x1 + 2x2 ≤ 16 5x1 + 2x2 ≤ 12 x1 ≥ 0 x2 ≥ 0
Alternatív optimum
Lehetséges alternatív optimumok Szakasz Félegyenes Egyenes
Lehetséges LP megoldások Az LP-nek egyértelmű megoldása van Az LP-nek alternatív optimuma van: végtelen sok megoldása van Az LP nem megoldható: a lehetséges megoldások halmaza üres Az LP nem korlátos
Nem megoldható max z = x1 + x2 x1 + x2 ≤ 4 x1 - x2 ≥ 5 x1 ≥ 0 x2 ≥ 0
Nem megoldható
Lehetséges LP megoldások Az LP-nek egyértelmű megoldása van Az LP-nek alternatív optimuma van: végtelen sok megoldása van Az LP nem megoldható: a lehetséges megoldások halmaza üres Az LP nem korlátos
Nem korlátos max z = -x1 + 3x2 x1 - x2 ≤ 4 x1 + 2x2 ≥ 4 x1 ≥ 0 x2 ≥ 0
Nem korlátos
Elemi bázistranszformáció Lineáris egyenletrendszerek megoldása Inverz keresése LP feladatok megoldása
Elemi bázistranszformáció Generáló elemet választunk (≠0) A generáló elem sorát végigosztjuk a generáló elemmel. Minden más elem és a generáló elem meghatároz egy téglalapot. A másik két sarkot összeszorozzuk, majd a generáló elemmel elosztjuk, végül kivonjuk az eredeti elemből. A generáló elem oszlopa eltűnik.
Elemi bázistranszformáció x1 x2 x3 e1 1 2 e2 3 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 e2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 3 -5 e3 -1
Elemi bázistranszformáció x1 x2 x3 1 2 3 -5 e3 -1 12
Elemi bázistranszformáció x1 x2 x3 1 2 3 -5 e3 -1 12 ≠0 ! Lineárisan független
A generálóelem oszlopa A generálóelem helyére annak reciproka kerül. A generálóelem oszlopát végigszorozzuk a generálóelem reciprokának -1-szeresével
Elemi bázistranszformáció x1 x2 x3 e1 1 2 e2 3 e3 -1 e1 x2 x3 x1 1 2 e2 -3 -5 e3
Elemi bázistranszformáció x2 x3 x1 1 2 e2 -3 -5 e3 e1 e2 x3 x1 1 2 x2 -3 -5 e3 7 -2 12
Elemi bázistranszformáció x3 x1 1 2 x2 -3 -5 e3 7 -2 12 e1 e2 e3 x1 -2/12 4/12 x2 -1/12 2/12 5/12 x3 7/12 1/12
Alapfogalmak a szimplex algoritmushoz Standard (normál) feladat Minden feltétel egyenlőség Minden változó nemnegatív Kiegészítő változó (hiány változó) ui – i. erőforrás fel nem használt mennyisége ui ≥ 0 Kiegyenlítő változó (többlet változó) vi – i. feltétel túlteljesítése vi ≥ 0
Alapfogalmak a szimplex algoritmushoz Bázismegoldás n-m változót 0-nak veszünk Bázisváltozók: m db Nembázis változók: (n-m) db Lehetséges bázismegoldás Bármely olyan bázismegoldás, amelyben minden változó nemnegatív Szomszédos bázismegoldás Szomszédosnak nevezünk két lehetséges bázismegoldást, ha a bázisváltozók halmazában m-1 közös
A szimplex algoritmus - általános Lehetséges bázismegoldás (LBM) keresése Induló lehetséges bázismegoldás Aktuális lehetséges bázismegoldás Optimalitás vizsgálata Ha optimális: kész vagyunk Ha nem optimális, keressünk olyan szomszédos LBM-et, ahol z értéke nagyobb (kisebb) Az előző lépés ismételgetése
Feladat – Winston 4.3 A Dakota Bútorkészítő Cég íróaszta- lokat, asztalokat és székeket gyárt. Mindegyik bútortípus gyártásához faanyag és kétféle szakmunka szükséges: durva asztalosmunka és felületkezelés. Az egyes bútortípusok előállításához a különböző erőforrásokból szükséges mennyiséget a következő táblázat adja meg:
Feladat – Winston 4.3 Erőforrás Író-asztal Asztal Szék Faanyag (egység) 8 6 1 Felületkezelés (óra) 4 2 1,5 Asztalos-munka (óra) 0,5
Feladat – Winston 4.3 Jelenleg 48 egység faanyag, 20 órányi felületkezelés és 8 órányi asztalos-munka kapacitás áll rendelkezésre. Egy íróasztal 60, egy asztal 30, egy szék pedig 20$-ért adható el. A Dakota cég azt gondolja, hogy íróas-talokra és székekre korlátlan kereslet van, de legfeljebb 5 asztal adható el. Mivel az erőforrásokat már megvásá- rolták, a Dakota cég az összjövedelmet kívánja maximalizálni.
A feladat felírása max z = 60x1 + 30x2 + 20x3 8x1 + 6x2 + 1x3 ≤ 48 4x1 + 2x2 + 1,5x3 ≤ 20 2x1 + 1,5x2 + 0,5x3 ≤ 8 x2 ≤ 5 x1, x2, x3≥ 0
A szimplex algoritmus – maximalizálandó célfüggvény LP feladat standard (normál) alakra hozása Állítsunk elő egy LBM-t! Optimalitás vizsgálata Ha optimális: kész vagyunk Ha nem optimális, akkor a következő lépésre megyünk Elemi bázistranszformáció használata, majd az előző lépés megismétlése.
A szimplex algoritmus – maximalizálandó célfüggvény LP feladat standard (normál) alakra hozása Állítsunk elő egy LBM-t! Optimalitás vizsgálata Ha optimális: kész vagyunk Ha nem optimális, akkor a következő lépésre megyünk Elemi bázistranszformáció használata, majd az előző lépés megismétlése.
Alapfogalmak a szimplex algoritmushoz Standard feladat Minden feltétel egyenlőség Minden változó nemnegatív Kiegészítő változó (hiány változó) ui – i. erőforrás fel nem használt mennyisége ui ≥ 0 Kiegyenlítő változó (többlet változó) vi – i. feltétel túlteljesítése vi ≥ 0
A feladat felírása max z = 60x1 + 30x2 + 20x3 8x1 + 6x2 + 1x3 ≤ 48 4x1 + 2x2 + 1,5x3 ≤ 20 2x1 + 1,5x2 + 0,5x3 ≤ 8 x2 ≤ 5 x1, x2, x3≥ 0
A standard (normál) feladat felírása z – 60x1 – 30x2 – 20x3 = 0 8x1 + 6x2 + 1x3 + u1 = 48 4x1 + 2x2 + 1,5x3 + u2 = 20 2x1 + 1,5x2 + 0,5x3 + u3 = 8 x2 + u4 = 5 x1, x2, x3≥ 0
A kiegészítő változók értékei u1 = 48 – 8x1 – 6x2 – 1x3 u2 = 20 – 4x1 – 2x2 – 1,5x3 u3 = 8 – 2x1 – 1,5x2 – 0,5x3 u4 = 5 – x2
A szimplex algoritmus – maximalizálandó célfüggvény LP feladat standard (normál) alakra hozása Állítsunk elő egy LBM-t! Optimalitás vizsgálata Ha optimális: kész vagyunk Ha nem optimális, akkor a következő lépésre megyünk Elemi bázistranszformáció használata, majd az előző lépés megismétlése.
A standard (normál) feladat felírása z – 60x1 – 30x2 – 20x3 = 0 8x1 + 6x2 + 1x3 + u1 = 48 4x1 + 2x2 + 1,5x3 + u2 = 20 2x1 + 1,5x2 + 0,5x3 + u3 = 8 x2 + u4 = 5 x1, x2, x3≥ 0
LBM előállítása x1 x2 x3 u1 u2 u3 u4 8 6 1 48 4 2 1,5 20 0,5 5 z -60 48 4 2 1,5 20 0,5 5 z -60 -30 -20 Lehetséges bázismegoldás: x1, x2, x3 = 0
LBM előállítása x1 x2 x3 u1 8 6 1 48 u2 4 2 1,5 20 u3 0,5 u4 5 z -60 5 z -60 -30 -20 x1 = 0 x2 = 0 x3 = 0 z = 0 BV: u1, u2, u3, u4 NBV: x1, x2, x3
A feladat felírása max z = 60x1 + 30x2 + 20x3 8x1 + 6x2 + 1x3 ≤ 48 4x1 + 2x2 + 1,5x3 ≤ 20 2x1 + 1,5x2 + 0,5x3 ≤ 8 x2 ≤ 5 x1, x2, x3≥ 0
A szimplex algoritmus – maximalizálandó célfüggvény LP feladat standard (normál) alakra hozása Állítsunk elő egy LBM-t! Optimalitás vizsgálata Ha optimális: kész vagyunk Ha nem optimális, akkor a következő lépésre megyünk Elemi bázistranszformáció használata, majd az előző lépés megismétlése.
Optimalitás vizsgálata x1 x2 x3 u1 8 6 1 48 u2 4 2 1,5 20 u3 0,5 u4 5 z -60 -30 -20 x1 –t 1-gyel növelve a célfüggvény 60-nal nő!
A szimplex algoritmus – maximalizálandó célfüggvény LP feladat standard (normál) alakra hozása Állítsunk elő egy LBM-t! Optimalitás vizsgálata Ha optimális: kész vagyunk Ha nem optimális, akkor a következő lépésre megyünk Elemi bázistranszformáció használata, majd az előző lépés megismétlése.
A generáló elem meghatározása Azt a nembázis változót választjuk, melynek együtthatója a célfüggvény sorában levő nempozitív számok közül a legnagyobb abszolútértékű. Hányadosteszttel eldöntjük, hogy az oszlopból melyik elemet válasszuk. (Mindig a legkisebb pozitív értékűt)
A generáló elem meghatározása Azt a nembázis változót választjuk, melynek együtthatója a célfüggvény sorában levő nempozitív számok közül a legnagyobb abszolútértékű. Hányadosteszttel eldöntjük, hogy az oszlopból melyik elemet válasszuk. (Mindig a legkisebb pozitív értékűt)
Generáló elem meghatározása x1 x2 x3 u1 8 6 1 48 u2 4 2 1,5 20 u3 0,5 u4 5 z -60 -30 -20
Generáló elem meghatározása Azt a nembázis változót választjuk, melynek együtthatója a célfüggvény sorában levő nempozitív számok közül a legnagyobb abszolútértékű. Hányadosteszttel eldöntjük, hogy az oszlopból melyik elemet válasszuk. (Mindig a legkisebb pozitív értékűt)
Generálóelem meghatározása x1 x2 x3 u1 8 6 1 48 u2 4 2 1,5 20 u3 0,5 u4 5 z -60 -30 -20 48/8 = 6 20/4 = 5 8/2 = 4
Elemi bázistranszformáció Generáló elem helyére a reciproka kerül. A generálóelem oszlopában minden elemet végigszorzunk a generálóelem reciprokának - 1-szeresével. A generáló elem sorát végigosztjuk a generáló elemmel. Minden más elem és a generáló elem meghatároz egy téglalapot. A másik két sarkot összeszorozzuk, majd a generáló elemmel elosztjuk, végül kivonjuk az eredeti elemből.
Elemi bázistranszformáció x1 x2 x3 u1 8 6 1 48 u2 4 2 1,5 20 u3 0,5 u4 5 z -60 -30 -20 u3 x2 x3 u1 u2 x1 u4 z
Elemi bázistranszformáció Generáló elem helyére a reciproka kerül. A generálóelem oszlopában minden elemet végigszorzunk a generálóelem reciprokának - 1-szeresével. A generáló elem sorát végigosztjuk a generáló elemmel. Minden más elem és a generáló elem meghatároz egy téglalapot. A másik két sarkot összeszorozzuk, majd a generáló elemmel elosztjuk, végül kivonjuk az eredeti elemből.
Elemi bázistranszformáció x1 x2 x3 u1 8 6 1 48 u2 4 2 1,5 20 u3 0,5 u4 5 z -60 -30 -20 u3 x2 x3 u1 u2 x1 0,5 u4 z
Elemi bázistranszformáció Generáló elem helyére a reciproka kerül. A generálóelem oszlopában minden elemet végigszorzunk a generálóelem reciprokának - 1-szeresével. A generáló elem sorát végigosztjuk a generáló elemmel. Minden más elem és a generáló elem meghatároz egy téglalapot. A másik két sarkot összeszorozzuk, majd a generáló elemmel elosztjuk, végül kivonjuk az eredeti elemből.
Elemi bázistranszformáció x1 x2 x3 u1 8 6 1 48 u2 4 2 1,5 20 u3 0,5 u4 5 z -60 -30 -20 u3 x2 x3 u1 -4 u2 -2 x1 0,5 u4 z 30
Elemi bázistranszformáció Generáló elem helyére a reciproka kerül. A generálóelem oszlopában minden elemet végigszorzunk a generálóelem reciprokának - 1-szeresével. A generáló elem sorát végigosztjuk a generáló elemmel. Minden más elem és a generáló elem meghatároz egy téglalapot. A másik két sarkot összeszorozzuk, majd a generáló elemmel elosztjuk, végül kivonjuk az eredeti elemből.
Elemi bázistranszformáció x1 x2 x3 u1 8 6 1 48 u2 4 2 1,5 20 u3 0,5 u4 5 z -60 -30 -20 u3 x2 x3 u1 -4 u2 -2 x1 0,5 0,75 0,25 4 u4 z 30
Elemi bázistranszformáció Generáló elem helyére a reciproka kerül. A generálóelem oszlopában minden elemet végigszorzunk a generálóelem reciprokának - 1-szeresével. A generáló elem sorát végigosztjuk a generáló elemmel. Minden más elem és a generáló elem meghatároz egy téglalapot. A másik két sarkot összeszorozzuk, majd a generáló elemmel elosztjuk, végül kivonjuk az eredeti elemből.
Elemi bázistranszformáció x1 x2 x3 u1 8 6 1 48 u2 4 2 1,5 20 u3 0,5 u4 5 z -60 -30 -20 u3 x2 x3 u1 -4 -1 16 u2 -2 0,5 4 x1 0,75 0,25 u4 1 5 z 30 15 -5 240
Elemi bázistranszformáció u3 x2 x3 u1 -4 -1 16 u2 -2 0,5 4 x1 0,75 0,25 u4 1 5 z 30 15 -5 240
Elemi bázistranszformáció u3 x2 x3 u1 -4 -1 16 u2 -2 0,5 4 x1 0,75 0,25 u4 1 5 z 30 15 -5 240 x1 = 4 x2 = 0 x3 = 0 z = 240 BV: x1, u1, u2, u4 NBV: x2, x3, u3
A szimplex algoritmus – maximalizálandó célfüggvény LP feladat standard (normál) alakra hozása Állítsunk elő egy LBM-t! Optimalitás vizsgálata Ha optimális: kész vagyunk Ha nem optimális, akkor a következő lépésre megyünk Elemi bázistranszformáció használata, majd az előző lépés megismétlése.
Optimalitás vizsgálata u3 x2 x3 u1 -4 -1 16 u2 -2 0,5 4 x1 0,75 0,25 u4 1 5 z 30 15 -5 240 x3 –t 1-gyel növelve a célfüggvény 5-tel nő!
A szimplex algoritmus – maximalizálandó célfüggvény LP feladat standard (normál) alakra hozása Állítsunk elő egy LBM-t! Optimalitás vizsgálata Ha optimális: kész vagyunk Ha nem optimális, akkor a következő lépésre megyünk Elemi bázistranszformáció használata, majd az előző lépés megismétlése.
Generálóelem meghatározása u3 x2 x3 u1 -4 -1 16 u2 -2 0,5 4 x1 0,75 0,25 u4 1 5 z 30 15 -5 240 16/-1 = -16 4/0,5 = 8 4/0,25 = 16
Elemi bázistranszformáció u3 x2 x3 u1 -4 -1 16 u2 -2 0,5 4 x1 0,75 0,25 u4 1 5 z 30 15 -5 240 u3 x2 u2 u1 x3 x1 u4 z
Elemi bázistranszformáció u3 x2 x3 u1 -4 -1 16 u2 -2 0,5 4 x1 0,75 0,25 u4 1 5 z 30 15 -5 240 u3 x2 u2 u1 x3 2 x1 u4 z
Elemi bázistranszformáció u3 x2 x3 u1 -4 -1 16 u2 -2 0,5 4 x1 0,75 0,25 u4 1 5 z 30 15 -5 240 u3 x2 u2 u1 2 x3 x1 -0,5 u4 z 10
Elemi bázistranszformáció u3 x2 x3 u1 -4 -1 16 u2 -2 0,5 4 x1 0,75 0,25 u4 1 5 z 30 15 -5 240 u3 x2 u2 u1 2 x3 -4 -2 8 x1 -0,5 u4 z 10
Elemi bázistranszformáció u3 x2 x3 u1 -4 -1 16 u2 -2 0,5 4 x1 0,75 0,25 u4 1 5 z 30 15 -5 240 u3 x2 u2 u1 -8 -2 2 24 x3 -4 8 x1 1,5 1,25 -0,5 u4 1 5 z 10 280
Elemi bázistranszformáció u3 x2 u2 u1 -8 -2 2 24 x3 -4 8 x1 1,5 1,25 -0,5 u4 1 5 z 10 280
Elemi bázistranszformáció u3 x2 u2 u1 -8 -2 2 24 x3 -4 8 x1 1,5 1,25 -0,5 u4 1 5 z 10 280 x1 = 2 x2 = 0 x3 = 8 z = 280 BV: x1, x3, u1, u4 NBV: x2, u2, u3
A szimplex algoritmus – maximalizálandó célfüggvény LP feladat standard (normál) alakra hozása Állítsunk elő egy LBM-t! Optimalitás vizsgálata Ha optimális: kész vagyunk Ha nem optimális, akkor a következő lépésre megyünk Elemi bázistranszformáció használata, majd az előző lépés megismétlése.
Optimalitás vizsgálata u3 x2 u2 u1 -8 -2 2 24 x3 -4 8 x1 1,5 1,25 -0,5 u4 1 5 z 10 280 x1 = 2 x2 = 0 x3 = 8 z = 280 Nincsen negatív elem a célfüggvény sorában: Optimumban vagyunk.
Megoldás x1 = 2 x2 = 0 x3 = 8 u1 = 24 u2 = 0 u3 = 0 u4 = 5 z = 60x1 + 30x2 + 20x3 z = 60∙2 + 30∙0 + 20∙8 = 280
Lehetséges LP megoldások Az LP-nek egyértelmű megoldása van Az LP-nek alternatív optimuma van: végtelen sok megoldása van Az LP nem megoldható: a lehetséges megoldások halmaza üres Az LP nem korlátos
Lehetséges LP megoldások Az LP-nek egyértelmű megoldása van Az LP-nek alternatív optimuma van: végtelen sok megoldása van Az LP nem megoldható: a lehetséges megoldások halmaza üres Az LP nem korlátos
Lehetséges LP megoldások Az LP-nek egyértelmű megoldása van Az LP-nek alternatív optimuma van: végtelen sok megoldása van Az LP nem megoldható: a lehetséges megoldások halmaza üres Az LP nem korlátos
Alternatív optimum max z = -3x1 + 6x2 5x1 + 7x2 ≤ 35 -x1 + 2x2 ≤ 2 x1, x2 ≥ 0
Alternatív optimum – A standard feladat felírása z + 3x1 – 6x2 = 0 5x1 + 7x2 + u1 = 35 -x1 + 2x2 + u2 = 2 x1, x2 ≥ 0
Alternatív optimum – A szimplex tábla 5 7 35 u2 -1 2 z 3 -6
Alternatív optimum – A szimplex tábla 5 7 35 u2 -1 2 z 3 -6 x1 = 0 x2 = 0 z = 0 BV: u1, u2 NBV: x1, x2
Alternatív optimum – Generálóelem meghatározása x1 x2 u1 5 7 35 u2 -1 2 z 3 -6 35/7 = 5 2/2 = 1
Alternatív optimum – Elemi bázistranszformáció x1 x2 u1 5 7 35 u2 -1 2 z 3 -6 x1 u2 u1 x2 z
Alternatív optimum – Elemi bázistranszformáció x1 x2 u1 5 7 35 u2 -1 2 z 3 -6 x1 u2 u1 x2 0,5 z
Alternatív optimum – Elemi bázistranszformáció x1 x2 u1 5 7 35 u2 -1 2 z 3 -6 x1 u2 u1 -3,5 x2 0,5 z 3
Alternatív optimum – Elemi bázistranszformáció x1 x2 u1 5 7 35 u2 -1 2 z 3 -6 x1 u2 u1 -3,5 x2 -0,5 0,5 1 z 3
Alternatív optimum – Elemi bázistranszformáció x1 x2 u1 5 7 35 u2 -1 2 z 3 -6 x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6
Alternatív optimum – Elemi bázistranszformáció x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6
Alternatív optimum – Elemi bázistranszformáció x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6 x1 = 0 x2 = 1 z = 6 BV: u1, u2 NBV: x1, x2
Alternatív optimum – Optimalitás vizsgálata x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6 Honnan látszik hogy alternatív optimuma lehet?
A belépő változó meghatározása Azt a nembázis változót választjuk, melynek együtthatója a célfüggvény sorában levő nempozitív számok közül a legnagyobb abszolútértékű. Hányadosteszttel eldöntjük, hogy az oszlopból melyik elemet válasszuk. (Mindig a legkisebb pozitív értékűt)
Alternatív optimum – Optimalitás vizsgálata x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6 x1 = 0 x2 = 1 z = 6 x1 –t 1-gyel növelve a célfüggvény 0-val nő!
Alternatív optimum – Generálóelem meghatározása x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6 28/(17/2)= 56/17 1/ (-1/2) = -2
Alternatív optimum – Elemi bázistranszformáció x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6 u1 u2 x1 x2 z
Alternatív optimum – Elemi bázistranszformáció x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6 u1 u2 x1 2/17 x2 z
Alternatív optimum – Elemi bázistranszformáció x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6 u1 u2 x1 2/17 x2 1/17 z
Alternatív optimum – Elemi bázistranszformáció x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6 u1 u2 x1 2/17 -7/17 56/17 x2 1/17 z
Alternatív optimum – Elemi bázistranszformáció x1 u2 u1 8,5 -3,5 28 x2 -0,5 0,5 1 z 3 6 u1 u2 x1 2/17 -7/17 56/17 x2 1/17 5/17 45/17 z 3 6
Alternatív optimum – Elemi bázistranszformáció x1 2/17 -7/17 56/17 x2 1/17 5/17 45/17 z 3 6
Alternatív optimum – Elemi bázistranszformáció x1 2/17 -7/17 56/17 x2 1/17 5/17 45/17 z 3 6 x1 = 56/17 x2 = 45/17 z = 6 BV: x1, x2 NBV: u1, u2
Lehetséges LP megoldások Az LP-nek egyértelmű megoldása van Az LP-nek alternatív optimuma van: végtelen sok megoldása van Az LP nem megoldható: a lehetséges megoldások halmaza üres Az LP nem korlátos
Lehetséges LP megoldások Az LP-nek egyértelmű megoldása van Az LP-nek alternatív optimuma van: végtelen sok megoldása van Az LP nem megoldható: a lehetséges megoldások halmaza üres Az LP nem korlátos
Nem korlátos LP max z = 2x2 x1 – x2 ≤ 4 -x1 + x2 ≤ 1 x1, x2 ≥ 0
Nem korlátos LP – A standard feladat felírása z – 2x2 = 0 x1 – x2 + u1 = 4 -x1 + x2 + u2= 1 x1, x2 ≥ 0
Nem korlátos LP – A szimplex tábla u1 1 -1 4 u2 z -2
Nem korlátos LP – A szimplex tábla u1 1 -1 4 u2 z -2 x1 = 0 x2 = 0 z = 0 BV: u1, u2 NBV: x1, x2
Nem korlátos LP – Generálóelem meghatározása x1 x2 u1 1 -1 4 u2 z -2 4/(-1)= -4 1/1 = 1
Nem korlátos LP – Elemi bázistranszformáció x1 x2 u1 1 -1 4 u2 z -2 x1 u2 u1 x2 z
Nem korlátos LP – Elemi bázistranszformáció x1 x2 u1 1 -1 4 u2 z -2 x1 u2 u1 x2 1 z
Nem korlátos LP – Elemi bázistranszformáció x1 x2 u1 1 -1 4 u2 z -2 x1 u2 u1 1 x2 z 2
Nem korlátos LP – Elemi bázistranszformáció x1 x2 u1 1 -1 4 u2 z -2 x1 u2 u1 1 x2 -1 z 2
Nem korlátos LP – Elemi bázistranszformáció x1 x2 u1 1 -1 4 u2 z -2 x1 u2 u1 1 5 x2 -1 z -2 2
Nem korlátos LP – Elemi bázistranszformáció x1 u2 u1 1 5 x2 -1 z -2 2 x1 = 0 x2 = 1 z = 2 BV: u1, x2 NBV: x1, u2
Nem korlátos LP – Optimalitás vizsgálata x1 u2 u1 1 5 x2 -1 z -2 2 Honnan látszik hogy nem korlátos az LP?
Nem korlátos LP – Generálóelem választása x1 u2 u1 1 5 x2 -1 z -2 2 5/0 1/(-1) Nincs eredménye a hányadostesztnek!
Minimum feladat felírása – 2 módszer Minimum feladat átírása maximum feladattá: max (-z) - ekkor a táblát akkor tekintjük optimálisnak, ha a célfüggvény sora mindenütt negatív vagy 0 Minimum feladat célfüggvényének megszorzása -1-gyel - ekkor a táblát akkor tekintjük optimálisnak, ha a célfüggvény sora mindenütt pozitív vagy 0
Minimum feladat felírása – feladat min z = 2x1 – 3x2 x1 + x2 ≤ 4 x1 – x2 ≤ 6 x1, x2 ≥ 0
Minimum feladat felírása – 1. módszer min z = 2x1 – 3x2 x1 + x2 ≤ 4 x1 – x2 ≤ 6 x1, x2 ≥ 0 max – z = – 2x1 + 3x2 z – 2x1 + 3x2 = 0 (akkor optimális, ha a célfüggvény sora mindenütt nempozitív)
Minimum feladat felírása – 1. módszer x1 x2 u1 1 4 u2 -1 6 z -2 3 4/1 = 4 6/(-1) = -6
Minimum feladat felírása – 1. módszer x1 x2 u1 1 4 u2 -1 6 z -2 3 x1 u1 x2 u2 z
Minimum feladat felírása – 1. módszer x1 x2 u1 1 4 u2 -1 6 z -2 3 x1 u1 x2 1 u2 z
Minimum feladat felírása – 1. módszer x1 x2 u1 1 4 u2 -1 6 z -2 3 x1 u1 x2 1 u2 z -3
Minimum feladat felírása – 1. módszer x1 x2 u1 1 4 u2 -1 6 z -2 3 x1 u1 x2 1 4 u2 z -3
Minimum feladat felírása – 1. módszer x1 x2 u1 1 4 u2 -1 6 z -2 3 x1 u1 x2 1 4 u2 2 10 z -5 -3 -12
Minimum feladat felírása – 1. módszer x1 x2 u1 1 4 u2 2 10 z -5 -3 -12 Nincsen pozitív elem a célfüggvény sorában: Optimumban vagyunk.
Minimum feladat felírása – 2. módszer min z = 2x1 – 3x2 x1 + x2 ≤ 4 x1 – x2 ≤ 6 x1, x2 ≥ 0 max z = – 2x1 + 3x2 z + 2x1 – 3x2 = 0 (akkor optimális, ha a célfüggvény sora mindenütt nemnegatív)
Minimum feladat felírása – 2. módszer x1 x2 u1 1 4 u2 -1 6 z 2 -3 4/1 = 4 6/(-1) = -6
Minimum feladat felírása – 2. módszer x1 x2 u1 1 4 u2 -1 6 z 2 -3 x1 u1 x2 u2 z
Minimum feladat felírása – 2. módszer x1 x2 u1 1 4 u2 -1 6 z 2 -3 x1 u1 x2 1 u2 z
Minimum feladat felírása – 2. módszer x1 x2 u1 1 4 u2 -1 6 z 2 -3 x1 u1 x2 1 u2 z 3
Minimum feladat felírása – 2. módszer x1 x2 u1 1 4 u2 -1 6 z 2 -3 x1 u1 x2 1 4 u2 z 3
Minimum feladat felírása – 2. módszer x1 x2 u1 1 4 u2 -1 6 z 2 -3 x1 u1 x2 1 4 u2 2 10 z 5 3 12
Minimum feladat felírása – 2. módszer x1 x2 u1 1 4 u2 2 10 z 5 3 12 Nincsen negatív elem a célfüggvény sorában: Optimumban vagyunk.
Minimum feladat felírása – összefoglalva Nem változtatunk a célfüggvény során, de a tábla akkor optimális, ha nincs benne pozitív elem A célfüggvény sorát megszorozzuk (-1)- gyel, a tábla a szokásos esetben lesz optimális (ha nincs benne negatív elem)