1. Előadás Lineáris programozás Szállítási feladatok Salamon Júlia Előadás II. éves gazdaság informatikus hallgatók számára
Projekt Témák: Lineáris programozási feladat (3 hallgató) Szállítási feladat (3 hallgató) Projekt ütemezés (4 hallgató) Program: Excel makrókkal, solver parancs használatáva. Végső jegy: program+dokumentáció+bemutatás azaz 20+5+5 illetve 26.(6)+6.(6)+6.(6) 2016.02.09. I. előadás 2
Bemutatás 5. héten 1 óra áll rendelkezésre. Mindegyik hallgató a projekten belül elvégzett saját részét is be kell mutassa (forráskód + magyarázat). Feladat: generál Pótvizsga: 1 feladat a 6 projekt közül. Maximális jegy: 7. 2016.02.09. I. előadás 3
Könyvészet www.emte.siculorum.ro/~salamonjulia Makó Z., Salamon J.: Operációkutatási példatár közgazdászoknak, Ed. Scientia, Cluj Napoca, 2011. (29 db. a könyvtárban) Winston W.: Operációkutatás I. II., Ed. AULA, Budapest, 2003. (5 db. a könyvtárban) Darnyi P., Varró Z.: Operációkutatás, Ed. Carbocomp, Pécs, 2001. (19 db. a könyvtárban) Hiller F. S., Lieberman G. J.: Bevezetés az Operációkutatásba LSI Okt.központ, Budapest, 1999. (1 db. a könyvtárban) 2016.02.09. I. előadás 4
Lineáris programozás A lineáris programozási feladat (LP) egy olyan optimalizálási feladat, amelyben: maximalizáljuk vagy minimalizáljuk a döntési változók egy lineáris függvényét. Ezt 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. Ezen a feltételek vagy lineáris egyenlőtlenségek vagy lineáris egyenletek kell legyenek; a döntési változókhoz tartozhat előjel-korlátozás is. Ha a döntési változókra pluszban kikötjük, hogy értékei egész számok, akkor egész értékű lineáris programozási feladatról beszélünk. 2016.02.09. I. előadás 5
Általános alakja 2016.02.09. I. előadás 6
Lineáris programozás Matematikai modell felírásának lépései: 1. lépés: A döntési változók és a mértékegységek meghatározása. x 1,x 2,.. 2. lépés: A célfüggvény felírása. 3. lépés: A korlátozó feltételek és a döntési változókra vonatkozó előjel-korlátozó feltételek megadása. 2016.02.09. I. előadás 7
Lineáris programozás Feladat Egy cég kéttípusú robot összeszerelésével foglalkozik. Az első típusú robot R1-nek nevezik és darabja 50 euró profitot, a második típust R2-nek nevezik és darabja 40 euró profitot jövedelmez. A következő héten a két robot összeszerelésére 150 munkaóra áll rendelkezésre. Egy darab R1 összeszereléséhez 3 munkaóra és egy darab R2 összeszereléséhez pedig 5 munkaóra szükséges. A R2 olyan speciális processzort tartalmaz, amiből csak 20 darab van raktáron. A cég raktározási helysége 300 négyzetméter, amiből egy R1 8 négyzetmétert és egy R2 pedig 5 négyzetméter területet foglal el. A cég vezetősége maximalizálni szeretné a profitját. Milyen termelési tervet kövessen? 2016.02.09. I. előadás 8
Matematikai modell 1. A döntési változók és a mértékegységek meghatározása: x 1 az összeszerelendő R1 robotok darabszáma; x 2 az összeszerelendő R2 robotok darabszáma. 2. A célfüggvény felírása. Mivel a cél a profit maximalizálása, ezért meghatározzuk, hogy ha a cég az (x 1,x 2 ) termelési tervet választja, azaz x 1 darabot szerel össze a R1-ből ésx 2 -őt ar2-ből, mennyi lesz a profitja. Tudjuk, hogy 1 darab R1 50 euró profitot eredményez. Tehát x 1 darabnak 50x 1 a profitja. Teljesen hasonlóan x 2 darabr240x 2 profitot eredményez. Tehát, a teljes profit: 50x 1 + 40x 2. Következésképpen a célfüggvény: z = 50x 1 + 40x 2. 2016.02.09. I. előadás 9
3. A korlátozó feltételek megadása. Az összeszerelés időigényével kapcsolatos feltétel: mivel egy darab R1 összeszereléséhez 3 munkaóra és egy darab R2 összeszereléséhez 5 munkaóra szükséges, ezért x 1 darab R1-et és x 2 darab R2-t 3x 1 +5x 2 munkaóra alatt szerelnek össze, ami nem lehet nagyobb, mint a rendelkezésre álló 150 munkaóra, vagyis 3x 1 + 5x 2 150. A R2 processzorigényével kapcsolatos feltétel: mivel csak 20 darab processzor van raktáron, ezért: x 2 20. A raktározási feltétel: mivel egy R1 8 m 2 -tésegyr25m 2 -t foglal el, ezért x 1 darab R1 és x 2 darabr2összesen8x 1 +5x 2 m 2 területet igényel, ami nem lehet nagyobb, mint a rendelkezésre álló 300 m 2 raktározási felület. Következésképpen: 8x 1 + 5x 2 300. A döntési változókra vonatkozó előjelkorlátozó feltételek: mivel az x 1 és x 2 darabszámokat jelölnek, ezért x 1 0, x 2 0, és x 1,x 2 egész számok. 2016.02.09. I. előadás 10
Ha összegezzük az 1. 2. és 3. pontokban kapott összefüggéseket, az alábbi matematikai modellhez jutunk: 2016.02.09. I. előadás 11
A lehetséges megoldások halmazának megszerkesztése Tekintünk egy olyan koordinátarendszert, amelynek a vízszintes tengelyen x 1 döntési változót, a függőleges tengelyén pedig az x 2 döntési változót vesszük fel. Az egyenlőtlenségekkel megadott korlátozó feltételek egy félsíkot, az egyenlőséggel megadott feltételek pedig egy egyenest határoznak meg. Ábrázoljuk a határegyeneseket: 3x 1 + 5x 2 = 150 x 2 = 20 8x 1 + 5x 2 = 300 Ahhoz, hogy meghatározzuk a lehetséges megoldások halmazt ki kell számítsuk a három határegyenes páronkénti metszéspontjainak koordinátáit, azaz meg kell oldani a 2016.02.09. I. előadás 12
Metszéspontok: F( 50/3, 20), G(25, 20) és H(30, 12). Az M (lehetséges megoldások halmaza) egy olyan poliéder, amelynek csúcspontjai: O,E, F, H, D. 2016.02.09. I. előadás 13
Sajátos esetek Alternatív vagy többszörös megoldások. Ha két egymásmelletti csúcspontban optimális megoldásokat kapunk, akkor a két csúcspontot összekötő szakasz minden pontja optimális pont. Ebben az esetben a szintvonal párhuzamos az optimális szakaszt tartalmazó egyenessel. Nincs lehetséges megoldás. Előfordulhat, hogy a korlátozó feltételek és az előjelkorlátozások által meghatározott tartományok metszete üres. Ekkor a LP-nek nincs megoldása. Az LP feladat nem nemkorlátos. Egy maximalizálási problémában a nemkorlátos eset akkor fordul elő, ha a lehetséges megoldások halmazában találhatók olyan pontok, amelyekhez tetszőlegesen nagy z értékek tartoznak. Ez csak akkor fordulhat elő, ha a profit szintvonalat a növekvő z irányába saját magával párhuzamosan mozgatjuk, és soha nem hagyjuk el a lehetséges megoldások halmazát. Hasonlóan a minimalizálási feladatoknál, ha a költség szintvonalat a csökkenő z irányába saját magával párhuzamosan mozgatjuk, és soha nem hagyjuk el a lehetséges megoldások halmazát. 2016.02.09. I. előadás 14
Szállítási feladatok A lineáris programozási feladatok bizonyos speciális típusai a szállítási és hozzárendelési feladatok. Egy általános szállítási feladat valamilyen tárolóhelyek(raktárok) valamilyen halmazából a felvevőhelyek (keresleti helyek) valamilyen halmazába történő minimális szállítási összköltséget igénylő elszállításával foglalkozik. Egy szállítási feladatban általában az alábbi információk szerepelnek: Az m darab tárolóhelyről álló halmaz az, ahonnan a szállítás történik. Az i-edik tárolóhelyről legfeljebb s i egységet képes szállítani. Az n darab felvevőhelyből álló halmaz az, ahová a szállítás történik. A j-edik felvevőhelynek legalább d j egységnyire van szükség. Minden olyan egység, amit az i-edik helyről a j-edik helyre szállítanak c ij költséggel jár. 2016.02.09. I. előadás 15
Ha x ij -vel (i = 1,...,m; j = 1,..., n;) jelöljük az i-edik tárolóhelyről a j-edik felvevőhelyre szállítandó egységek számát, akkor a szállítási feladat általános formában így írható fel: 2016.02.09. I. előadás 16
Ha egy feladatban akkor a teljes kínálat egyenlő a teljes kereslettel. Ilyenkor kiegyensúlyozott szállítási feladatról beszélünk. Ha akkor feladatnak van megoldása, de nem kiegyensúlyozott,hapedig akkor a feladatnak nincs lehetséges megoldása, mivel ebben az esetben az összkínálat kisebb mint az összkereslet és így a felvevőhelyek szükségleteit nem tudják a tárolóhelyek teljesíteni. 2016.02.09. I. előadás 17
Fiktív kínálati hely Az utóbbi esetben kívánatos azt a lehetőséget is megengedni, hogy a felvevőhelyek egy része kielégítetlen maradjon. Ilyenkor a kielégítetlen kereslet gyakran büntetőköltséggel jár. A feladat kiegyensúlyozására bevezetünk egy fiktív kínálati helyet, ahol a hiányt állítják elő. Erről a helyről a valamelyik felvevőhelyre való szállítási költség éppen az arra a helyre vonatkozó, a hiányból fellépő egy egységre számított büntetőköltség. Hogy ezt meghatározzuk szerre meg kell oldanunk azokat a szállítási feladatokat, amelyben az egyes felvevőhelyek keresletét szerre a hiánnyal csökkentjük. 2016.02.09. I. előadás 18
Feladat Egy vállalathoz három fogyasztótól érkezett megrendelés egy bizonyos termékre, mindegyiktől 30 egységre. A vállalatnak két raktára van. Az 1. raktárban 60 egység, a 2. raktárban pedig 30 egység áll rendelkezésre. Az alábbi táblázatban láthatók a raktárakból a fogyasztókhoz történő szállítások egységköltségei (euróban): Bizonyos meghibásodások miatt a vállalat a második raktárt nem tudja feltölteni csak 40 egységgel, vagyis a teljes megrendelést nem tudja kielégíteni. Minden egyes kielégítetlen fogyasztói keresletegységhez bírság tartozik. Számold ki ezeket és oldjuk meg a feladatot számítógép segítségével. 2016.02.09. I. előadás 19