Kvantitatív módszerek Lineáris programozás Készítette: Dr. Csizmadia Tibor Hegedűs Csaba csizi@gtk.uni-pannon.hu hegeduscs@gtk.uni-pannon.hu http://vision.vein.hu/~kzst/oktatas/km/index.htm 2. 1
LP fejezet felépítése LP fogalmak Klasszikus feladattípusok Alkalmazási terület Példák Szimplex módszer Solveres megoldás 2
LP fogalmak 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. Azon pontok halmazát, amelyek koordinátái kielégítik a feltételrendszert, megengedett 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. 3
LP fogalmak Az egészérték programozási feladat olyan lineáris programozási feladat, amelyben a változókról kikötjük, hogy egészek. 4
Klasszikus feladattípusok: termelési feladat Erőforrások felhasználásával termékeket gyártunk Egyes termékek egységnyi mennyiségének előállításához szükséges erőforrás-mennyiségek ismertek. Ismert továbbá a nyersanyag készlet és termék egységnyi mennyiségének értékesítéséből származó haszon. Az erőforrás felhasználás és a haszon a termékek mennyiségével arányos. Feladat: mennyit gyártsunk az egyes termékekből, hogy a készletek fedezzék az erőforrás igényeket, és e mellett az elért haszon maximális legyen? 5
Klasszikus feladattípusok: szállítási feladat Bizonyos anyagból különböző telephelyeken áll rendelkezésre készlet. A készleteket különböző rendeltetési helyekre kell igény szerint elszállítani. Az összes igény fedezi az összes készletet. Bármely telephelyről bármely rendeltetési helyre szállíthatunk, a szállítási egységköltséget minden viszonylatra ismerjük. Feladat: optimális szállítási terv meghatározása a szállítási költség minimalizálásával. 6
LP feladat általános megfogalmazása a11x1+ a12x2 + … + a1ixi {≤, =, ≥ } b1 a21x1+ a22x2 + … + a2ixi {≤, =, ≥ } b2 . aj1x1+ aj2x2 + … + ajixi {≤, =, ≥ } bj x1, x2, … , xi ≥ 0 {max, min} z = c1x1 + c2x2 + … + cixi 7
LP alkalmazási területei: példák Aggregát termeléstervezés (minimális költségű termelésütemezés magtalálása adott feltételek mellett) Disztribúcióütemezés (a rendeltetési és célállomás közötti kiszállítási terv elkészítése bizonyos célfüggvény alapján) Üzemelhelyezés (a legjobb helyszín kiválasztása) Anyaggazdálkodás (a legjobb szállítási rendszer kifejlesztése) 8
Termelési feladat: példa Feladat: Egy gyár kétféle terméket gyárt (A, B): A B Eladási ár 1000 800 Technológiai önköltség 400 300 Normaóra igény 15 20 Alapanyag-szükséglet 3 2 /db A-ból x-et termelünk, B-ből y-t. 1000x+800y -400x-300y x, y 0 9
Termelési feladat 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 15x + 20y 1440 3x + 2y 240 y 50 -3200 Feladat: Határozzuk meg az évi maximális nyereséget biztosító termelési tervet! 10
Termelési feladat Tehát a megoldandó a következő matematikai feladat: feltételek 15x + 20y 1440 3x + 2y 240 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. 11
Grafikus megoldás lépései: Egyenletrendszer matematikai formában történő felírása Feltételek felrajzolása Területkijelölés Célfüggvény paraméteres ábrázolása Megoldás(ok) megkeresése 12
Termelési feladat megoldása 1 15x + 20y 1440 3x + 2y 240 y 50 . x, y 0 . 600x + 500y max 2 3 600x + 500y = c max 1 50 80 3 2 6x + 5y = c/100 max Itt van az optimum! Ha pontos az ábra (vagy számolás): x = 64, y = 24 13
LP-feladat megoldásai LP-feladat esetén a következő lehető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. 14
Példa: LP grafikus megoldására Szabóság: 2 terméket gyártanak Pizsama (1,5 óra szabás, 1 óra varrás) Kosztüm (2 óra szabás, 45 perc varrás) Kapacitás: szabás: 450 óra varrás: 280 óra Eladási ár: pizsama: 3 EUR kosztüm: 4 EUR Milyen ütemezéssel lesz maximális a profit? 15
Szimplex algoritmus I. Alapgondolat: A megengedett megoldásokat vizsgálva keresi az optimális megoldást. Lépései: 1.) egy megengedett megoldás előállítása. (Ha ilyen nincs, akkor a feladatnak nincs megengedett megoldása.) 2.)a megengedett megoldás ismeretében az optimális megoldás(ok) előállítása. (Ha ilyen nincs, akkor a feladatnak nincs optimális megoldása.) 16
Szimplex algoritmus II. Az algoritmus véges, mivel egy transzformáció végrehajtása után mindig nagyobb célfüggvény értéket adó bázismegoldást kapunk. Egy lineáris programozási feladatnak véges sok megengedett megoldása van, ezért véges sok lépésben megkapjuk az optimális bázismegoldást, ha létezik.
Példa - Szállítási feladat Három telephellyel rendelkező tüzép 4 különböző helyre szállít építőanyagokat. A nagy nyári-őszi akcióban vállalták, hogy ingyen házhoz szállítják a megrendelt árut. Melyik telephelyről és mennyit szállítsanak az egyes rendelési helyekre, hogy a szállítási költség minimális legyen, és minden igényt kielégítsenek? Mennyi lesz ez a minimális szállítási költség? Mekkora a megtett km-ek száma? A telephelyek: Veszprém, Ajka, Dudar A fogadási helyek : Pápa, Hajmáskér, Zirc, Sümeg A szállítási költség 15Ft/(q*km)
Példa - Szállítási feladat A távolságok km-ben Pápa Hajmáskér Zirc Sümeg Veszprém 50 11,7 30 63 Dudar 54 30,2 9,6 83,3 Ajka 37,6 46,1 44,9 32,7 Raktárkészlet (q) Veszprém 400 Dudar 300 Ajka 200 Igény (q) Pápa 210 Hajmáskér 170 Zirc 150 Sümeg 300
Solveres megoldás lépései Eredeti és egy „Solveres” táblázat felvétele „Solveres2 táblázat feltöltése induló adatokkal és sor és oszlop összegzések Célfüggvény felvétele Solver funkció használata (célcella tartomány, módosuló cellák és a korlátozó feltételek felvétele) A „Nemnegatív feltételezése” és a a „Lineáris modell feltételezése” funkció beállítása Megoldás lefuttatása 20
Irodalom Tomor, B. (1989). Matematika VI. Veszprém A témához kapcsolódó ajánlott irodalom.
2.