CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ Ústav technologie, mechanizace a řízení staveb Fakulta stavební VUT v Brně CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ 12. PŘEDNÁŠKA Lineár. progr. - 2 © Ing. Václav Rada, CSc. Březen 2010
….. METODY ŘEŠENÍ patřící do oblasti lineárního programování- 2. ☺ CW05 POKRAČOVÁNÍ ….. METODY ŘEŠENÍ patřící do oblasti lineárního programování- 2. ☺ Březen 2010
CW05 Simplexová metoda Simplexová metoda Vychází z metody řešení soustavy lineárních rovnic - patří v matematice k nejpropracova-nějším. Obecný postup je založen na nume-rickém řešení soustavy lineárních rovnic a nerovnic. Vypracována americkým matematikem G. B. Datzingem v roce 1947. Březen 2010
CW05 Simplexová metoda Řešení modelů spadajících do oblasti lineárního programování je možné gra-fickou metodu pokud mají pouze dvě rozhodovací proměnné. Její výhodou je názornost předvedení vztahů v modelu a naznačení univerzálně platných principů pro řešení. Březen 2010
CW05 Simplexová metoda Jenže v praxi jich bývá více – řádově i stovky proměnných. Zde se hodí použít tzv. simplexovou metodu. Nebo na ni navazující (z ní vycházející) řada dalších metod. Březen 2010
CW05 Simplexová metoda Je to metoda iterační využívající Gauss-Jordanovu eliminační metodu doplněnou o dvě kritéria umožňující nalézt optimální řešení. Model je nutno upravit do speciálního kanonického tvaru. Březen 2010
CW05 Simplexová metoda Nechť je soustava lineárních rovnic zapsána v maticovém tvaru: A * x = b Březen 2010
CW05 Simplexová metoda Kanonický tvar Soustava je v tomto tvaru, pokud: - všechny podmínky jsou jako rovnosti - všechny hodnoty pravých stran pod-mínek b jsou nezáporné - v matici koeficientů podmínek A existu-je jednotková submatice s hodností m - tzv. báze (base). Březen 2010
CW05 Simplexová metoda Kanonický tvar Další předpoklady - řešená úloha je v maximalizačním tvaru (převedení z minimalizačního tvaru na požadovaný maximalizační je snadné) Březen 2010
CW05 Simplexová metoda Kanonický tvar - postup 1. krok = min se převedena max 2. krok = násobením příslušné podmínka hodnotou (-1) se získá nezáporná hodnota bi 3. krok = doplněním PŘÍDATNÝCH (doplňko-vých) proměnných se získají rovnosti v pod-mínkách * těmto třem úpravám se říká ekvivalentní sou-stava rovnic * 4. krok = … Březen 2010
CW05 Simplexová metoda Kanonický tvar - postup …. 4. krok = pokud matice A neobsahuje 0-1 bázi (čili neobsahuje jednotkovou submatici) přidávají se pro její získání tzv. POMOCNÉ (umělé) proměnné – tato proměnná nemá ekonomický smysl Březen 2010
KRÁTKÁ UKÁZKA Výchozí tvary: CW05 Simplexová metoda KRÁTKÁ UKÁZKA Výchozí tvary: min -x1 + x2 z.p.: x1 - x2 ≥ -3 2x1 + x2 ≥ 4 x1 - 2x2 = 3 x1 , x2 ≥ 0 max +x1 - x2 z.p.: x1 - x2 ≥ -3 2x1 + x2 ≥ 4 x1 + 2x2 = 3 x1 , x2 ≥ 0 1. krok Březen 2010
CW05 min +x1 - x2 z.p.: -x1 + x2 ≤ -3 2x1 + x2 ≥ 4 x1 + 2x2 = 3 x1 , x2 ≥ 0 min -x1 + x2 (+ 0x3 + 0x4) z.p.: -x1 + x2 + x3 = -3 2x1 + x2 - x4 = 4 x1 + 2x2 = 3 x1 , x2 , x3 , x4 ≥ 0 3. krok 2. krok Březen 2010
Výsledný kanonický tvar CW05 min -x1 + x2 (+ 0x3 + 0x4) - ω x5 - ω x6 z.p.: -x1 + x2 + x3 = -3 2x1 + x2 - x4 + x5 = 4 x1 + 2x2 + x6 = 3 x1 , x2 , x3 , x4 , x5 , x6 ≥ 0 Výsledný kanonický tvar 4. krok Březen 2010
CW05 Simplexová metoda Řešení musí splňovat tyto podmínky: * musí být nezáporné, tj. x* ≥ 0 * musí maximalizovat lineární formu L (x) – musí platit, že: L (x*) ≥ L (x) pro všechna ostatní řešení x dané soustavy. Březen 2009
CW05 Simplexová metoda Ve výše uvedených vztazích platí, že: x = ( x1 , x2 , x3 , ...... , xn)T je vektor proměnných. Matice A je typu (m,n) pro m < n a platí předpoklad, že: h(A) = h(Ar) = m a úloha LP je nedegenerovaná. Březen 2009
CW05 Simplexová metoda Dále pro matici A platí, že je to matice sou-stavy nebo matice koef. proměnných a11 a12 ... a1n A = ( a1 , a2 , a3 , ...... , an) = ………. am1 am2 ... amn b = ( b1 , b2 , b3, ...... , xn)T... vektor hodnot pravých stran ( A │ b ) ... je tzv. rozšířená matice soustavy Březen 2009
CW05 Simplexová metoda Nejzajímavější budou ta řešení, která jsou zároveň krajními body množiny: S = { x │ A * x = b , x ≥ 0 } pokud existuje bod x0 splňující rovnost A * x0 = b pak lze pomocí Gauss-Jordanovy eliminace nalézt (vypočítat) další řešení x1 , x2 , atd. – těchto řešení je konečný počet. Březen 2009
CW05 Simplexová metoda Dále se spočte funkční hodnota L(xk) u kaž-dého základního řešení xk … pro k = 1 , 2 , … q ≤ číslo n nad m po projití všech základních řešení, tj. všech krajních bodů množiny S, lze z nich elimino-vat nejvyšší hodnotu L(xk) … pro k = 1 , 2 , … q ≤ číslo n nad m Březen 2009
CW05 Simplexová metoda Pokud je označen příslušný index k = N, je nejvyšší hodnotou hodnota L(xN) a optimál-ním řešením je bod xN - což je výsledek řešení zadané úlohy. Problémem je nalézt výchozí základní řešení x0 – řešením je vynucená úloha pro bi > 0 , kde i = 1 , 2 , … , m. Březen 2009
CW05 Simplexová metoda Další problém – q číslo n nad m z předcho-zích vztahů může být obrovské – např. pro n = 50 a m = 50 bude mít číslo hodnotu q = 4,7129 * 1013 a popsaný postup nezvládnou ani superpo-čítače. Je zřejmé, že je to použitelné pro velmi malé hodnoty n a m. Březen 2009
CW05 Simplexová metoda Ruční výpočet simplexové metody - probíhá v simplexové tabulce – předsta-vuje rozšířenou matici soustavy lineárních rovnic. Je potřeba zajistit, aby pravá strana rovnic byla nezáporná. Rovněž může být vyžita doplňková proměnná typu rezerva. Březen 2009
CW05 Simplexová metoda Test optimality využívá kriteriálních hodnot (zr – cr)min nebo (zr – cr)max které při nabytí nulových hodnot signalizují, že test končí a že optimální hodnoty bylo dosaženo. Následující test přípustnosti zase vypočí-tává hodnoty Ωmin(k). Březen 2009
Simplexová metoda – tabulka (obecně) c1 c2 ... cn x1 x2 ... xn Ωmin(k) CW05 Simplexová metoda – tabulka (obecně) c1 c2 ... cn x1 x2 ... xn Ωmin(k) xB1 cB1 xB2 cB2 .... xBm cBm A b βB1 / αB1 βB2 / αB2 βBm / αBm (zr – cr)min z1 – c1 z2 – c2 ... zn – cn y ( x ) Březen 2009
CW05 B cBm c1 c2 ... cn x1 x2 ... xn b Ωmin(k) xB1 cB1 xB2 cB2 .... Březen 2010 B cBm c1 c2 ... cn x1 x2 ... xn b Ωmin(k) xB1 cB1 xB2 cB2 .... xBm cBm a11 a12 … a1n a21 a22 … a2n … … … … am1 am2 … amn b1 b2 … bm βB1 / αB1 βB2 / αB2 βBm / αBm (zr – cr)min z1 – c1 z2 – c2 ... zn – cn y ( x ) HÚF hodnota účelové funkce řádky podmínek koeficienty účelové funkce sloupec pravých stran basické (bázické) proměnné hodnoty účelové funkce pro basické (bázické) proměnné
CW05 Simplexová metoda Jiné (obecnější, širší) znázornění matice A je tabulkovou formou – výhodou této tabulky je mimo jiné, že snadno definuje účelovou funkci kL( kx0) i souřadnice bodu kx0 – také se říká, že tabulka TO reprezentuje bod kx0 – je řešením soustavy rovnic definujících množinu S. Březen 2009
Simplexová metoda - tabulka c1 c2 … cn cn+1 cn+2 cn+m a1 a2 an an+1 CW05 Simplexová metoda - tabulka c1 c2 … cn cn+1 cn+2 cn+m a1 a2 an an+1 an+2 an+m b a11 a12 a1n 1 b1 a21 a22 a2n b2 am1 am2 amn bm z - c d1 d2 dn dn+1 dn+2 dn+m kL( kx0) Březen 2009
Simplexová metoda - Konečná Simplexová tabulka c1 c2 … cn cn+1 cn+2 cm CW05 Simplexová metoda - Konečná Simplexová tabulka c1 c2 … cn cn+1 cn+2 cm a1 a2 an an+1 an+2 am b a11 a12 a1n a1n+1 a1n+2 a1m x1 a21 a22 a2n a2n+1 a2n+2 a2m x2 1 am1 am2 amn amn+1 amn+2 amm xm z - c d1 d2 dn dn+1 dn+2 dm Březen 2009
CW05 Simplexová metoda TO │ kx0 = ( 0 , 0 , … , 0 , b1 , b2 , … , bm )T … definice bodu kx0 Pro praxi je potřeba hledat a nalézat všech-na optimální řešení, která danému problému přísluší. Březen 2009
Pro úplnost ještě shrnutí principu Simplexové metody. CW05 Simplexová metoda Pro úplnost ještě shrnutí principu Simplexové metody. krok = nalezne se jeden krajní bod (KB), tj. jedno bázické přípustné (základní) řešení (BPŘ) ( = čili má nejvýše m složek (proměn-ných) kladných – kde m je počet lineárně nezá-vislých podmínek řešeného modelu + množina sloupcových vektorů matice A, které odpovídají těmto proměnným, je lineárně nezávislá) krok = ….. Březen 2010
CW05 Simplexová metoda 2. krok = přejde se do dalšího „sousedního“ KB (BPŘ) (tj. takové dvě BPŘ, které se odlišují pouze v jedné bázické proměnné) tak, aby se zlepšila hodnota ÚČELOVÉ FUNKCE (ÚF) (pro max se zvýší) 3. krok = nelze-li nalézt KB (BPŘ) s lepší (vyšší) hodnotou ÚF, je poslední nalezené BPŘ optimálním řešením a tedy i je výsledkem Viz grafika dále…. Březen 2010
Grafika zjednodušeného znázornění postupu Simplexové metody. CW05 Simplexová metoda Grafika zjednodušeného znázornění postupu Simplexové metody. optimum výchozí KB x2 x3 x1 Březen 2010
CW05 Simplexová metoda Začátek Konec řešení Březen 2009 Optimální řešení NALEZENO kxwk Je řešení optimální? Test přípustnosti Konec řešení Neomez. hodnota kritéria – LP nemá optimální řešení Nové přípustné konečné řešení existuje? Přechod na nové bazické řešení s lepší hodnotou účelové funkce – výpočet k-tého krajního bodu pro index: 1 ≤ e ≤ n+m - řídicí prvek je asjk Začátek Podmínky simplexového algoritmu iterace k : = 0 Výchozí bazické řešení - nalezení 0-tého krajního bodu množiny kS = { x │ A x : = b ; x ≥ 0} Před testem optimality - výpočet řádku zk – ck Test optimality - nalezení min (zek – cek) = zjk – cjk pro index: 1 ≤ e ≤ n+m NE k : = k + 1 Simplexová metoda Březen 2009
CW05 Simplexová metoda Pro určení zda existuje více než jedno opti-mální řešení, jsou důležité nuly v poslední řádce, tj. hodnoty di. Pokud si jejich hodnoty budou rovny (až do indexu n) a zároveň budou rovny nule a dále, ostatní od indexu n+1 až po index m budou rovny nule nebo větší než nula, bude exis-tovat pouze jediné optimální řešení x*1 . Březen 2009
CW05 Simplexová metoda Množina všech optimálních řešení je kon-vexním obalem množiny tvořené krajními bo-dy x1 , x2 , … , xs množiny přípustných řešení S a dále tvořené všemi body polopřímek p1() , p2() , … , pv(). Březen 2009
CW05 Simplexová metoda - postupy řešení Způsoby a postupy řešení soustavy li-neárních rovnic * Gauss-Jordanova eliminační metoda vy-cházející z ekvivalentní soustavy rovnic vy-tvořené k původní soustavě tak, že nová matice je diagonální a má na diagonále jed-ničky. Vede k úpravě rovnic do kanonického tvaru….. Březen 2009
CW05 Simplexová metoda - postupy řešení Povolené eliminační úpravy soustavy rovnic (omezujících podmínek) pro řešení lineárních optimalizačních modelů jsou dvě – násobení řídící rovnice převrácenou hodnotou řídícího prvku a přičtení vhodného násobku řídící rov-nice k původní (upravované) rovnici. Březen 2009
CW05 Simplexová metoda - postupy řešení * bazické, nebazické a parametrické řeše-ní pro soustavu lineárních rovnic o n – pro-měnných převedenou do kanonického tvaru – kanonické proměnné s koeficienty vytváře-jícími jednotkovou matici, se nazývají bazické a ostatní proměnné jsou nebazické Březen 2009
CW05 Simplexová metoda - postupy řešení * matice transformace – k původní matici A se připojí submatice E – postupuje se Gauss-Jordanovou eliminací vedoucí od výchozího tvaru rozšířené matice soustavy k transfor-movanému tvaru – přitom obě soustavy jsou si ekvivalentní, takže platí vztah: ( A │ E │ b ) ~ ( Ẫ │ E │ B-1│ β ) Březen 2009
CW05 Simplexová metoda - postupy řešení * matice transformace - po aplikaci Gauss-Jordanovy metody je na místě jednotkové matice E matice B-1 což je matice inverzní k matici bazických vektorů B. Březen 2009
CW05 Simplexová metoda - postupy řešení Optimalizační model - dalším způsob řešení. První je stanovení kriteria optimality = zda lze k danému řešení xp soustavy omezujících podmínek najít řešení jiné, které bude mít lepší hodnotu kriteria (účelové funkce). Březen 2010
CW05 Simplexová metoda - postupy řešení Pokud takové řešení neexistuje, je řešení xp optimálním řešením lineárního optimalizačního modelu. Přitom kritérium optimality může být pro maximalizační i minimalizační úlohu. Březen 2010
CW05 Simplexová metoda - postupy řešení Získané optimální řešení udává optimální stav systému v určitém okamžiku a při splnění určitého souboru předpokladů popsaných soustavou omezujících podmínek a účelovou funkcí. Proto je posledním krokem ekono-mická interpretace - určuje závislost na kva-litativních vlivech a protože se mohou v prů-běhu chování systému měnit, mohou podstat-ným způsobem ovlivnit výsledné rozhodnutí. Březen 2009
CW05 Simplexová metoda - postupy řešení Je potřeba provést rozsáhlý rozbor získaných informací a exaktně stanovit rozsah přípust-ných změn, v rámci nichž nedochází ke změ-nám optimálního řešení. Těmto navazujícím postupům se obecně říká postoptimalizační analýza, do které patří …… Březen 2009
CW05 Simplexová metoda - postupy řešení * ekonomická interpretace výsledné simplexové tabulky * sledování vlivu změn hodnot nebazických proměnných na optimální řešení * hledání suboptimálního řešení * citlivostní analýza. Březen 2009
CW05 Simplexová metoda - postupy řešení Analýza citlivosti se zabývá určováním tako-vého rozsahu změn výchozích údajů lineární optimalizační úlohy, v rámci nichž nedochází ke změně optimální báze (sledují se změny, k nimž by došlo změnou hodnot vstupních parametrů – takto se hledá i interval stability). Březen 2009
CW05 Degenerované úlohy Degenerovaná úloha LP = úloha, kde ales-poň jeden krajní bod množiny přípustných řešení S má méně než m kladných složek a tedy více než (n-m) složek nulových. Těmto úlohám je potřeba věnovat pozornost v případech, kdy by mohly znemožnit naleze-ní optimálního řešení pomocí Simplexové me-tody. Je asi vhodné poznamenat, že se jedná převážně o ekonomické úlohy. Březen 2009
CW05 Degenerované úlohy Problémem této skupiny úloh je, že nebývá jednoznačná volba řídícího řádku v Simplexo-vých tabulkách a že bývá volen náhodně (což nemusí být volba správná nebo vhodná – jak v praxi potvrzují rozbory řešených příkladů). Výpočet se může dokonce zacyklovat, proto-že při přechodu z jedné tabulky do druhé bu-de výsledkem tentýž bod a mění se pouze báze tabulky. Březen 2009
CW05 Degenerované úlohy Potřeba pravidla vylučujícího tuto nejedno-značnost je značná. Pravidlo spočívá v hodnocení podílů bodů sloupců a řádků a je popsáno v literatuře. Březen 2009
CW05 Zobecněné výsledky Zobecněné výsledky * Hodnoty přídatných proměnných u kaž-dého přípustného (a tedy i optimálního) řešení mají v těchto úlohách význam nevyužité ka-pacity příslušného zdroje – proto se jim taky říká volné (slack) proměnné. * Hodnoty pravých stran rovnic množiny S mají význam hodnoty zdrojů (proto název vektor zdrojů nebo krátce jen zdroje). Březen 2009
CW05 Zobecněné výsledky * Koeficienty u jednotlivých proměnných v rovnicích množiny S mají význam normy přímé spotřeby – koeficient aij udává spotřebu i-tého zdroje na jednotku j-tého výrobku – používají se také názvy strukturální koefi-cienty nebo technické koeficienty. Březen 2009
CW05 Zobecněné výsledky Řešením úlohy se vlastně stanoví výrobní program, nebo též plán (sled) určitých činností (operací). To čeho má být řešením úlohy dosaženo se nazývá kritérium optimality Březen 2009
CW05 Zobecněné výsledky Do úlohy mohou vstupovat další informace či omezení: * účast pracovníků s různou kvalifikací Ki (což je vstup prolínající se komplexem celé úlohy) * spotřeba času Hi potřebného pro zhotovení (vyrobení, sestavení, …) jednotky výrobku * hodinová kapacita příslušného výrobního stroje Vi (nástroje, použitých přístrojů a po-můcek, …) Březen 2009
CW05 Zobecněné výsledky * skladová, nakládací či skládací, dopravní problematika. * výsledek řešení může vést i k variantám, závisejícím na vstupních datech či na sou-boru a kombinaci omezení * atp. Březen 2009
CW05 Zobecněné výsledky Další typické úlohy se týkají: * rozvozu materiálu (výrobků) * v projektování třeba optimalizace skladby bytů v daném domě * optimální zatížení konstrukce * zásobování zavlažovací vodou * plnění nádrží vzhledem ke spotřebě a (předpokládaným) dešťovým srážkám. Březen 2009
CW05 … metody … postupy …. Až dosud probrané metody a způsoby řeše-ní se spolu s dalšími probranými v pokračo-váních se týkají (asi největší a nejširší) oblasti lineárního programování. Březen 2010
…..… Informace pokračují …… DALŠÍMI METODAMI cw05 – 12 CW05 POKRAČOVÁNÍ PŘÍŠTĚ ……. Informace pokračují …… DALŠÍMI METODAMI …..… cw05 – 12 březen 2010
CW05 ……… Březen 2010