Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév
A 2. előadás vázlata A Szimplex módszer összefoglalása Gyakorló feladat megoldása A hozzárendelési feladat ismertetése Mintapélda a hozzárendelési feladatra A szállítási feladat ismertetése Mintapélda a szállítási feladatra
A Szimplex módszer A lineáris programozás általános feladata : A x = 0 z = c* x max.! A lineáris programozási feladatat kanonikus alakja: A x = b;x >= 0 z = c* x max.!
A Szimplex módszer A Szimplex módszer induló táblája az alábbi:
A Szimplex módszer Az algoritmus lépései: –A megoldás optimális, ha a c* minden együtthatója negatív; –Ha van c j > 0, akkor a legnagyobb ilyen oszlopát vizsgáljuk; –Megkeressük azt az a k,j > 0 számot, amelyre az x k /a k,j hányados minimális lesz, ez lesz a generáló elem; –Elvégezzük az elemi bázistranszformációt úgy, hogy a j. és a k. elemet cseréljük ki egymással; –Az eljárást az első lépéssel folytatjuk.
A Szimplex módszer Megállási feltétel: –Nincs c j > 0 elem, ekkor találtunk optimális megoldást; –Bár még van c j > 0, de ebben az oszlopban minden a k,j < 0; Ebben az esetben a célfüggvény nem korlátos, tehát nincs optimális megoldás. Degeneráció: –Van olyan c j > 0, ahol a felette lévő oszlopban minden a k,j <= 0, és legalább egy a k,j = 0. Ilyenkor van alternatív optimum, az eljárás nem ér véget.
A Szimplex módszer Oldjuk meg az alábbi LP feladatot! x 1 +2·x 2 + x 3 + x 4 =30 2 ·x 1 +3 ·x 3 + x 4 =20 x 2 - x ·x 4 =18 x 1, x 2, x 3, x 4 >= 0 z = c* ·x = (6 ·x ·x ·x ·x 4 ) max.
A Szimplex módszer Az induló tábla az előzőek alapján:
A Szimplex módszer Az 1. számított tábla:
A Szimplex módszer A 2. számított tábla:
A mintapélda megoldása A feladat megoldása: x 1 =10 x 2 =10 x 3 = 0 x 4 = 0 Ekkor a célfüggvény maximuma: z = 100
Hozzárendelési feladat Mi a feladat? –Van n munkás (gép, üzem, stb.) és ugyanennyi elvégzendő feladat (legyártandó termék). –Mindenki pontosan egy feladatot végezhet el. –Mindenihez tartozik egy önköltség, ami munkásonként és feladatonként eltérő (ez a K mátrix) –A cél: az összes feladat elvégzése minimális költség mellett! Elvileg n! lehetséges megoldás van, ebből a minimális kikeresése hosszadalmas lenne.
Hozzárendelési feladat Mi jellemzi a megoldást? –A K költség mátrix minden sorában és oszlopában pontosan egy elem van kijelölve. –A kijelölt elemek összege a költség, aminél egyetlen kisebb értékű kijelölés se létezik. –Mivel a lehetséges megoldások száma véges, a feladatnak biztosan van megoldása.
Hozzárendelési feladat A megoldás algoritmusa I.: –A K mátrixból készítünk egy K 1 redukált mátrixot, amit az alábbi módon állítunk elő: Előbb a K minden sorában az összes elemből levonjuk a sor legkisebb elemét; Majd az így nyert mátrix azon oszlopaiból, amelyekben még nincs 0 érték, szintén levonjuk az oszlop legkisebb elemét. –Állítás: A redukált K 1 mátrixra megoldva a hozzárendelési feladatot, ugyanazokon a helyeken lesznek az optimális elemek, mint az eredeti K mátrixban lennének.
Hozzárendelési feladat A megoldás algoritmusa II.: –Ha a transzformált K 1 mátrixban kijelölhetők úgy 0 elemek, hogy belőlük minden sorban és oszlopban pontosan 1 darab lesz, akkor megoldottuk a feladatot (Miért?!?) –Ha ez még nem teljesül, akkor létrehozzuk a fedővonalak rendszerét. –Fedővonalaknak nevezzük a mátrix 0 elemeit tartalmazó sorokat, illetve oszlopokat. –A K 1 mátrixban válasszunk egy minimális fedővonal rendszert, ami lefedi az összes 0 elemet.
Hozzárendelési feladat A megoldás algoritmusa III.: –Alkalmazzunk egy transzformációt: A K 1 minden eleméből vonjuk le a mátrix legkisebb fedetlen elemét, majd adjuk hozzá ezt az értéket minden fedett sorhoz és oszlophoz, így nyerjük K 2 -t –Ez azt eredményezi, hogy minden fedetlen elem csökkenni fog, minden egyszer lefedett változatlan marad, és minden kétszer lefedett megnövekszik a megfelelő értékkel. –Belátható, hogy ezzel a lépéssel a K 1 elemeinek összértéke legalább n-nel csökkenni fog, így ez az eljárás pár lépésen belül előállítja a megoldást.
Hozzárendelési feladat Mintapélda –Oldjuk meg az alábbi K mátrixra a feladatot:
Hozzárendelési feladat Határozzuk meg a K 1 és a K 2 mátrixokat a megadott algoritmussal: A K 2 mátrix aláhúzott 0 elemei jelölik ki az optimális program értékeit. A célfüggvény így: z 0 = = 7
Hozzárendelési feladat Gyakorló feladat –Oldjuk meg az alábbi K mátrixra a feladatot:
Hozzárendelési feladat A megoldás lépései: –Min. elemek levonása a sorokból
Hozzárendelési feladat A megoldás lépései: –Min. elemek levonása az oszlopokból, majd a minimális fedővonalrendszer berajzolása:
Hozzárendelési feladat A megoldás lépései: –Redukáljuk a K 1 elemeit a megadott szabály szerint, így kapjuk K 2 -t: