A lineáris programozási feladatok típusai és grafikus megoldásai Alkalmazott operációkutatás 2. Előadás 2008. Február 4. Kundi Viktória, Phd hallgató http://www.sze.hu/~kundi/opkut_orai_anyagok/opkut.2ora.ppt
A lineáris programozás alapjai Lineáris programozás: Korlátozottan rendelkezésre álló gazdasági erőforrások lehető legjobb (optimális) elosztása egymással versenyző tevékenységek között, minél nagyobb gazdasági haszon elérése érdekében (Ferenczi, 2006). Kundi Viktória, Phd hallgató
A lineáris programozási feladat Egy Fafaragó Cég kétfajta játékot gyárt: katonákat és vonatokat. Egy katonát 27$-ért lehet eladni, előállításához 10$ értékű nyersanyag szükséges, és minden legyártott katona 14$-ral növeli a vállalat bérben jelentkező változó költségeit. Egy vonat 21$-ért adható el, előállításához 9$ értékű nyersanyag szükséges, és minden legyártott vonat 10$-ral növeli a cég változó- és általános költségeit. A katonák és vonatok 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 szükséges. Egy vonathoz 1 óra felületkezelő és 1 óra fafaragó munka kell. A vállalatnak minden héten korlátlan mennyiségű nyersanyag áll rendelkezésére, de hetente 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 darabot vesznek meg hetente. A vállalat maximalizálni szeretné a heti profitot (bevételek – költségek). Keressünk a vállalat helyzetének leírására egy olyan matematikai modellt, amely a heti profitot maximalizálja! (Winston, 2003. 51. o. alapján) Kundi Viktória, Phd hallgató
A lineáris programozás alapfogalmai I. Döntési változók: a jövőben meghozandó döntések leírására szolgálnak x1 = a hetente gyártott katonák száma x2 = a hetente gyártott vonatok száma Célfüggvény: a maximalizálandó vagy minimalizálandó függvény (heti bevételek) – (nyersanyag költségek) – (egyéb változó költségek) max heti bevételek (vonat + katona) = 27x1 + 21x2 heti nyersanyagköltség = 10x1 + 9x2 egyéb heti változó költségek = 14x1 + 10x2 célfüggvény: (27x1 + 21x2 ) – (10x1 + 9x2) – (14x1 + 10x2)max célfüggvény (átrendezve): z = 3 x1 + 2 x2 max a változó | célfüggvény együtthatója Kundi Viktória, Phd hallgató
A lineáris programozás alapfogalmai II. Korlátozó feltételek: a változók értékeit korlátozó megszorítások felületkezelő feltétel: 2x1 + x2 ≤ 100 fafaragó feltétel: x1 + x2 ≤ 80 katonák iránti kereslet: x1 ≤ 40 döntési változók korlátozó feltételekben szereplő együtthatói = technológiai együtthatók feltételek jobb oldalán szereplő számok = jobb oldal Előjelkorlátozások: a döntési változó pozitív és negatív értéket is felvehet-e? döntési változó csak nemnegatív lehet: előjelkorlátozó feltétel xi ≥ 0 döntési változó pozitív és negatív értéket is felvehet: előjelkorlátozatlan változó Kundi Viktória, Phd hallgató
Lineáris programozási feladat felületkezelő feltétel: 2x1 + x2 ≤ 100 fafaragó feltétel: x1 + x2 ≤ 80 katonák iránti kereslet: x1 ≤ 40 nemnegativitási feltétel: x1 ≥ 0 nemnegativitási feltétel: x2 ≥ 0 z = 3x1 + 2x2 max KORLÁTOZÓ FELTÉTELEK NEMNEGATIVITÁSI FELTÉTELEK CÉLFÜGGVÉNY Kundi Viktória, Phd hallgató
Definíciók I. Lineáris függvény: az f (x1, x2, ....., xn) akkor és csak akkor lineáris függvénye az x1, x2, ....., xn változóknak, ha valamely c1, c2, ......, cn konstansokra f (x1, x2, ....., xn) = c1x1 + c2x2 + ... + cnxn Lineáris egyenlőtlenség: bármely f (x1, x2, ....., xn) lineáris függvény és tetszőleges b szám esetén f (x1, x2, ....., xn) ≤ b és f (x1, x2, ....., xn) ≥ b lineáris egyenlőtlenségek. c1x1 + c2x2 + ... + cnxn ≤ b c1x1 + c2x2 + ... + cnxn ≥ b Forrás: Winston, 2003. 55. o. alapján Kundi Viktória, Phd hallgató
Definíciók II. A lineáris programozási feladat egy olyan optimalizálási feladat, amelyben a következők történnek: 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. Minden változó esetében meg kell vizsgálni, hogy szükség van-e előjelkorlátozásra (megengedett-e, hogy a változók negatív értéket is felvegyenek). Kundi Viktória, Phd hallgató
Maximumfeladat grafikus megoldása (1) (2) (3) lehetséges megoldások Optimális megoldás: Kundi Viktória, Phd hallgató
Definíciók III. Lehetséges megoldások halmaza: az összes olyan pontok halmaza, amelyek kielégítik a lineáris programozási feladat valamennyi feltételét és az összes előjelkorlátozást. Optimális megoldás: Maximalizálási problémában: olyan pont a lehetséges megoldások halmazában, amelyikhez a legnagyobb célfüggvényérték tartozik. Minimalizálási problémában: olyan pont a lehetséges megoldások halmazában, amelyikhez a legkisebb célfüggvényérték tartozik Kundi Viktória, Phd hallgató
Definíciók IV. Maximum feladat: olyan lineáris programozási feladat, amelyben a feltételek ≤ értelműek és a célfüggvény maximuma jelenti az optimumot. Minimum feladat: olyan lineáris programozási feladat, amelyben a feltételek ≥ értelműek és a célfüggvény minimuma jelenti az optimumot. Kundi Viktória, Phd hallgató
Minimumfeladat Egy állattartó telepen az állatok etetésére kétfajta (A és B jelű) tápot használnak. A tápok 4 fajta alapanyagot (vitamin, búza, lucerna, kukorica) tartalmaznak a táblázatban szereplő megoszlásban: A táp összetétele: 1 kg = 0,2 kg vitamin + 0,1 kg lucerna + 0,7 kg kukorica B táp összetétele: 1 kg = 0,2 kg búza + 0,2 kg lucerna + 0,6 kg kukorica Az állatorvos szerint egy állatnak naponta legalább 5,8 kg tápot kell megennie az előírt összetételben. A táp B táp Előírt menny Vitamin 0,2 kg 0 kg Búza 0,4 kg Lucerna 0,1 kg 1,0 kg Kukorica 0,7 kg 0,6 kg 4,2 kg 1 kg költsége 30 Ft/kg 40 Ft/kg 5,8 kg Feladat: Határozzuk meg a gazdaságos tápanyag összetételét, ha ismertek az egyes összetevők előírt mennyiségei és az A, illetve a B jelű táp kilogrammonkénti költségei. (Raffai, 101. o.) Kundi Viktória, Phd hallgató
Minimumfeladat grafikus megoldása Optimális megoldás: x1 = 3 x2 = 3,5 z= 230 Kundi Viktória, Phd hallgató
Nem megoldható lineáris programozási feladat Speciális esetek Alternatív optimum Nem megoldható lineáris programozási feladat A célfüggvény nem korlátos Kundi Viktória, Phd hallgató
Alternatív optimum Egy autógyár személyautókat és teherautókat gyárt. A gyártás során minden egyes járműnek végig kell mennie a festőműhelyen és a karosszéria összeszerelő műhelyen. Ha a festőműhely csak teherautókat festene, naponta 40 darabot tudna lefesteni. Ha a festőműhely csak személyautókat festene, naponta 60 darabot tudna elkészíteni. Ha a karosszériaműhely csak személyautókat állítana össze, naponta 50 db-ot tudna megcsinálni, míg ha csak teherautókkal foglalkozna, akkor naponta 50 db-ot tudna elkészíteni. Minden teherautó 300 dollárral és minden személyautó 200 dollárral járul hozzá a profithoz. Alkalmazzuk a lineáris programozást a napi termelési terv meghatározásához úgy, hogy a vállalat profitja maximális legyen! (Winston, 68.o.) Kundi Viktória, Phd hallgató
Alternatív optimum Matematikai modell: x1= a naponta gyártott teherautók száma x2 = a naponta gyártott személyautók száma Matematikai modell: (festőműhely felt.) (karosszériaműhely felt.) Kundi Viktória, Phd hallgató
Alternatív optimum alternatív optimum, a szakasz minden pontja (f) (k) alternatív optimum, a szakasz minden pontja optimális Kundi Viktória, Phd hallgató
Nem megoldható lineáris programozási feladat Az autókereskedők azt szeretnék, hogy az autógyár naponta legalább 30 teherautót és 20 személyautót gyártson. Kundi Viktória, Phd hallgató
Nem megoldható lineáris programozási feladat LEHETSÉGES MEGOLDÁSOK HALMAZA ÜRES! Kundi Viktória, Phd hallgató
A célfüggvény nem korlátos A CÉLFÜGGVÉNY NEM ÉRINTI, HANEM METSZI A LEHETSÉGES MEGOLDÁSOK HALMAZÁT! Kundi Viktória, Phd hallgató
A célfüggvény nem korlátos Maximum feladat esetén: a lehetséges megoldások halmazában találhatók olyan pontok, amelyekhez tetszőlegesen nagy z értékek tartoznak (növekvő z irányába haladva sosem hagyjuk el a lehetséges megoldások halmazát). Minimum feladat esetén: a lehetséges megoldások halmazában találhatók olyan pontok, amelyekhez tetszőlegesen kicsi z érték tartozik (csökkenő z irányába haladva sosem hagyjuk el a lehetséges megoldások halmazát). Kundi Viktória, Phd hallgató
Lineáris programozási feladatok típusai és matematikai modelljei Kundi Viktória, Phd hallgató
Maximum feladat Maximum feladat: olyan lineáris programozási feladat, amelyben a feltételek ≤ értelműek és a célfüggvény maximuma jelenti az optimumot. Alapforma Kanonikus forma hiányváltozó Smahó Melinda
Minimum feladat Minimum feladat: olyan lineáris programozási feladat, amelyben a feltételek ≥ értelműek és a célfüggvény minimuma jelenti az optimumot. Alapforma Kanonikus forma többletváltozó Kundi Viktória, Phd hallgató
Normál feladat Normál feladat: olyan maximumfeladat, amelynél a b ≥ 0 feltétel is teljesül Alapforma Kanonikus forma Kundi Viktória, Phd hallgató
Módosított normál feladat Módosított normál feladat: olyan lineáris programozási feladat, amelynek egyenlőtlenségei ≤ értelműek, tartalmaz egyenleteket és a célfüggvény maximumát keressük, továbbá b1 és b2 vektorok minden koordinátája nemnegatív Alapforma Kanonikus forma Kundi Viktória, Phd hallgató
Általános feladat Általános feladat: olyan lineáris programozási feladat, amelynek feltételei között a kapacitások (b) nemnegativitása mellett ≥ relációk is szerepelnek és maximum a cél Alapforma Kanonikus forma Kundi Viktória, Phd hallgató
Köszönöm a figyelmet! Kundi Viktória, Phd hallgató