Lineáris programozás A mese
Célok Geometriai szemlélet (nem lesz matek ) Gakorlati kérdések
Már megint a szendvics Kétfajta szendvicset szeretnénk készíteni, sonkásat és szalámisat. Lehetőleg minél többet. Minden hozzávaló van bőven, kivéve : : sonkás szalámis ma 3 2 12 Uborkaszelet a tetejére, melből minden sonkásra 3-at, minden szalámisra 2-t 2 6 rakunk a 12-ből. Illetve vajból, melből a sonkás 1 valamennit a szalámis meg 2 valamennit igénel, és csak 6 valamenni van. Mivel mi is éhesek vagunk, legalább 1-et akarunk azért csinálni És ezt nem felejtjük el, 1
A feladat geometriai reprezentációja 2D esetén ma 3 2 12 2 6 1 2 6 Megengedett tartomán 1 Optimum 3 2 12
A standard alak ma c T A = b A feltételek lineárisan függetlenek, vagis az A mátri teljes sorrangú (Gauss elimináció!). Az algoritmusok (legalábbis az elméleti felírása) ezen az alakon dolgoznak. Átalakítások: A A A b b = b A b A( A = b A A s = b, s ) = A, b, A b A A tételek és állítások ezen átalakítással hozhatók a konkrét feladatok által kívánt alakra = b,
A standardizálásról 1 s = 1, s
A lehetséges megoldási típusok A Trichotómia tétel Létezik optimális megoldás, vagis T T L : c c L = { : A = b, } L A feladat nem korlátos, vagis T L, z : λz L, c z > Nincs megengedett megoldás, vagis / : L
Ha a feladat nem korlátos Bizoníték: Megoldás és végtelen irán, mel felé a célfüggvén nem korlátos., :, : > = = z c z Az z b A T ) ( = = λ λ λ z b A z A
Eg nem korlátos feladat Feladat: ma 2 z 6 1 z 8,, z z Megoldás: = (,, z) = (,,) w = ( w1, w2, w3 ) = (,1,) ( λ w) = λ c T Ténleg megengedett lesz, de Nincs standardizált alakban
A feladat korlátos, a megengedett megoldások halmaza nem Hogan lehet a tartomán korlátosságát ellenőrizni? ma 1... A = b De a célfüggvént igazítani kell a felírás alakjához! A fenti a standardizálthoz tartozik. n
Ha nincs megoldás 6 2 12 2 3 6 1 18 4 4 6 4?
Ha a feltételrendszer ellentmondásos, akkor levezethető eg ellentmondás a feltételekből. A Farkas lemma : A = b, / : A =, b = 1 Megmutathatjuk a főnöknek miért nem tudunk megoldást kreálni
ma 3 2 A szimple algoritmus 12 2 6 (, ) = (,) z = ( 1 1) 1, = ( 4,) z = 4 ( 2 2 ) 2, = ( 3,1.5 ) z = 4. 5
Induló csúcs? Legen a jobboldal nemnegatív. (szorzás!) min s 1... s n A = b A s = b s Ha a másodlagos célfüggvén nem veszi fel a nulla értéket, akkor az eredeti feladatnak nincs megengedett megoldása Ez a kétfázisú szimple módszer
A csúcs - bázismegoldás A bázismegoldás előnei: Egszerű struktúra (például szívesebben termelünk 3 dolgot mint 3-at) Jól illeszkedik összetettebb algoritmusokhoz (pl. egészértékű megoldók) Könnebb beadni a főnöknek, átlátható
A megoldás ma 3 2 12 1 2 6, LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1) 4.5 VARIABLE VALUE REDUCED COST X 3.. Y 1.5. ROW SLACK OR SURPLUS DUAL PRICES 2)..25 3) 3.5. 4)..25 NO. ITERATIONS= 2
A megoldás minősége Mennire stabil az adatokra nézve? Mennit módosíthatok anélkül hog a megoldás szerkezete megváltozna? Hogan változtassam meg a költségeket, hog bizonos termékeket megérje termelni? Van-e más struktúrájú, uganilen jó célfüggvén-értékű megoldás ha nem változtatunk az adatokon?
Érzékenségvizsgálat Mennit módosíthatok a feltételek jobboldalán illetve a célfüggvén-értékeken anélkül, hog a megoldás szerkezete megváltozna? ma 3 2 12 1 2 6, RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X 1..5.5 Y 1. 1..333333 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 12. 6. 6. 3 1. 3.5 INFINITY 4 6. 6. 2.
Árnékár Mennivel kellene eg termék árát növelni, vag előállítási költségét csökkenteni hog megérje termelni? ma z 3 2 2, 1 6 z 12 LP OPTIMUM FOUND AT STEP 4 OBJECTIVE FUNCTION VALUE 1) 11. VARIABLE VALUE REDUCED COST X. 1. Y 1.. Z 1.. ROW SLACK OR SURPLUS DUAL PRICES 2). 1. 3). -1. 4) 4.. NO. ITERATIONS= 4
ma1.5 3 2 2, 1 z 6 z 12 ma 2 z 3 2 2, 1 6 z 12 LP OPTIMUM FOUND AT STEP 3 OBJECTIVE FUNCTION VALUE 1) 11. VARIABLE VALUE REDUCED COST X..5 Y 1.. Z 1.. ROW SLACK OR SURPLUS DUAL PRICES 2). 1. 3). -1. 4) 4.. 5).. 6) 1.. NO. ITERATIONS= 3 LP OPTIMUM FOUND AT STEP OBJECTIVE FUNCTION VALUE 1) 11. VARIABLE VALUE REDUCED COST X.. Y 1.. Z 1.. ROW SLACK OR SURPLUS DUAL PRICES 2). 1. 3). -1. 4) 4.. NO. ITERATIONS=??
ma 2.1 z LP OPTIMUM FOUND AT STEP 1 3 2 2, 1 6 z 12 OBJECTIVE FUNCTION VALUE 1) 11.1 VARIABLE VALUE REDUCED COST X 1.. Y..1 Z 9.. ROW SLACK OR SURPLUS DUAL PRICES 2). 1. 3). -.9999 4) 5.. NO. ITERATIONS= 1 De ezek szerint több különböző (struktúrájú) megoldást kaphatunk? Ha eg megoldás árnékára nulla, akkor van olan megoldás melben nem nulla? Nem feltétlen (pl. eg = feltétel miatt) De kereshetünk alternatív megoldást másként is
Alternatív megoldások LP OPTIMUM FOUND AT STEP OBJECTIVE FUNCTION VALUE ma 3, 2 2 2 1 z 6 z 12 1) 11. VARIABLE VALUE REDUCED COST X.. Y 1.. Z 1.. ROW SLACK OR SURPLUS DUAL PRICES 2). 1. 3). -1. 4) 4.. NO. ITERATIONS= ma 2 3, z 2 2 1 6 z = 11 12 LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1) 1. VARIABLE VALUE REDUCED COST X 1.. Y. 1. Z 9.. ROW SLACK OR SURPLUS DUAL PRICES 2). -1. 3). 1. 4).. 5) 5.. NO. ITERATIONS= 2
Gakorlatban Adatok megkeverése (egszerűen más sorrendben írom le) Szimple algoritmus paraméterei Más algoritmus Másodlagos célfüggvének
Az optimalitás ellenőrzése ma LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 3 2 1 12 1) 4.5 VARIABLE VALUE REDUCED COST X 3.. Y 1.5. 2 6 ROW SLACK OR SURPLUS DUAL PRICES 2)..25 3) 3.5. 4)..25, NO. ITERATIONS= 2 De nincs jobb? Ha van eg megoldásom mi bizonítja hog a legjobb?
ma 3 2 12 1 2 6, Korlátozó feltételek 4 4 18 4.5 LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1) 4.5 VARIABLE VALUE REDUCED COST X 3.. Y 1.5. = 4.5 = 1 3.5 1 ROW SLACK OR SURPLUS DUAL PRICES 2)..25 3) 3.5. 4)..25 NO. ITERATIONS= 2
Az erős dualitás tétel ma c T A b ( P) min T b A = c ( D) A következő állítások ekvivalensek: 1. A primál (P) feladatnak létezik optimális megoldása 2. A duál (D) feladatnak létezik optimuma 3. A primál és duál feladatnak is van megoldása, és a két optimum értéke megegezik.
A lehetséges esetek D P Nincs megoldás Optimális Nem korlátos Nincs megoldás Optimális Nem korlátos
Más algoritmusok Sok szimple jellegű közös: bázismegoldások Elméletileg nem hatékon gakorlatilag igen Ellipszoid Elméletben jó, gakorlatban használhatatlan (de teljesen) Belsőpontos algoritmusok És külső pontos belsőpontosok Elméletileg és gakorlatilag is jó Más struktúrájú (tetszőlegesen jó) közelítő megoldást ad
Ipari feladatok - nehéz
Ipari feladatok - könnű 688 6875 687 6865 686 6855 685 6845 684 6835 1.452 1.454 1.456 1.458 1.46 1.462 1 4
Megoldókról Ingenesek GLPK (GNU, C) LPSOLVE (LGPL 2, Borland C) Kereskedelmi professzionális CPLEX (C és C callable librar) XPRESS MP Kereskedelmi, inkább user-friendl LINDO What s Best (Ecel plug-in)
Nehézségek Elméletileg nagon egszerű implementálni (4 for ciklus?) Sajnos ez nagon pici faladat után meghal Numerikusan instabil, a degenerált feladatokon még ciklizálhatnak is (hoghog?!) Módosított szimple algoritmus komol numerikus megvalósítási aparátussal
Köszönöm a figelmet