Sipleová etoda: - patří ezi uiverzálí etody řešeí úloh lieárího prograováí. - de o etodu iteračí, t. k optiálíu řešeí dospíváe postupě, krok za kroke. - výpočetí algoritus se v každé iteraci rozpadá do tří základích etap (viz blokové schéa). Blokové schéa: Nalezeí výchozího základího řešeí Je řešeí optiálí? e Zěa řešeí ao Koec výpočtu Pokud se hed v prví kroku eukáže, že úloha eá vůbec přípusté řešeí, vede sipleová etoda po koečé počtu kroků k optiálíu řešeí, ebo k výsledku, že úloha eá koečé optiálí řešeí.. Nalezeí výchozího základího řešeí: Ještě ež začee e utá úprava úlohy a kaoický tvar a z ěho pak určíe tzv. výchozí základí řešeí. Pro eho určeí eistue celá řada postupů. My zvolíe takové, abycho se vyhuli epřípustéu řešeí. Úpravy a kaoický tvar: - eistue-li řádek, kde b < 0, poto teto řádek vyásobíe (-) i - eistue-li řádek, kde ai bi, poto přidáe do erovice tzv. přídatou = proěou i 0, která á převede erovici a rovici a i + i = bi - obdobě áe-li erovici ai bi, poto přidáe přídatou proěou = i 0, která á převede erovici a rovici a i i = bi Příklad. + Soustava v obecé tvaru: + 5 (k prvíu řádku přidáe přídatou proěou, abycho upravili erovici a rovici, druhý řádek upravíe vyásobeí - a přidáí přídaté proěé 4 ) = =
+ + Příslušý kaoický tvar této soustavy: + (základí proěé sou, 4, ezákladí sou, ) 4 = = 5 - ve výsledku budee ít původích proěých,, K, a dalších přídatých proěých,,, K. Celke tedy + proěých v rovicích. Výchozí základí řešeí: - ezákladí proěé,, K, položíe rovy 0, - základí proěé,, K, z rovic dopočítáe (sou rovy příslušé hodotě a pravé straě) = = L = = 0 = b - základí řešeí poto vypadá ásledově: = b M = b A I b Výchozí sipleová tabulka á ásleduící tvar: z 0 0 kde A = původí atice soustavy A b I = edotková subatice přídatých proěých b = sloupek pravých stra z = kriteriálí fukce V další budee sipleovou tabulku upravovat tak, abycho v posledí řádku obdrželi všechy hodoty ezáporé.. Výpočty v sipleové tabulce: Postupě tabeluee výpočty v sipleové tabulce, t. ísto řešeí soustavy rovic trasforuee soustavu vektorů tabulky poocí záých eliiačích vzorců. Tabulka obsahue avíc eště ahoře hlavičku (syboly všech proěých,, K,,,, K, a ozačeí sloupce pravých stra b) a vlevo legedu (syboly základích,, K,, které ozačuee báze). proěých báze b a a a 0 0 b a a a 0 0 b : : : : : : : : a a a 0 0 b z -c -c -c 0 0 0 0
Ozače poe klíčový sloupec vstupuící proěou, klíčový rádek vystupuící proěou a klíčový prvek průsečík klíčového sloupce a klíčového řádku sipleové tabulky. Na ásleduící příkladu e ukázá způsob výpočtu optiálího řešeí poocí sipleové tabulky. Příklad. Měe edoduchý odel optializace obratu zboží. Jsou á záy určité obey zdroů. K dispozici áe 600 hodi pracoví síly, 00 peěžích edotek a 800 užité plochy. Máe určit optiálí obe edotlivých skladovaých výrobků (ozačíe e V, V a V ), aby celkový zisk z realizace zboží byl aiálí. Příslušá spotřeba edotlivých zdroů a určitý výrobek a zisk e dá tabulkou: dispoibilí ožství Zdroe Spotřeba/výrobek V V V pracoví síla (hod) 600 peěží edotky 00 užitá plocha ( ) 800 zisk z edoho výrobku 0 5 0 Neprve si zavedee proěé,, ako ožství edotlivých výrobků V, V a V. Poto ůžee úlohu převést a ateatický zápis úlohy lieárího prograováí: a z = 0 + 5 + 0 za oezuících podíek: + + 600 + +,, kde 0 + + 00 800 Nyí převedee úlohu a kaoický tvar, a to přidáí přídatých proěých,,. + + + = 600 + + + = 00 + + + = 800 Současě s tí e vhodé zapsat kriteriálí fukci v aulovaé tvaru. z 0 5 0 = 0 Z předchozích rovic ůžee edoduše vytvořit výchozí sipleovou tabulku:
báze b 0 0 600 0 0 00 0 0 800 z -0-5 -0 0 0 0 0 Další postup: Posledí řádek tabulky obsahue záporé koeficiety => základí řešeí eí řešeí optiálí, e uté přepočítat tabulku (viz ásleduící řádky), t. přeít k dalšíu (výhoděšíu) základíu řešeí. - určíe klíčový sloupec (vstupí proěou) => edá se o sloupec tabulky, kde v posledí řádku z se achází evětší záporý koeficiet (zde sloupec ). - určíe klíčový řádek i (výstupí proěou) => edá se o řádek tabulky, kde se vypočítá eeší kladý podíl b/(koeficiet z klíčového sloupce) (zde řádek ). - určíe klíčový prvek a i = ísto v tabulce, které e průike klíčového sloupce a klíčového řádku (zde a ). báze b 0 0 600 600/ 0 0 00 00/ 0 0 800 800/ z -0-5 -0 0 0 0 0 Nyí vytvoříe další sipleovou tabulku přepočítáí předchozí: - v legedě vyěíe syboly klíčového řádku za klíčový sloupek (zde výstupí proěou zaěíe za vstupí proěou. - doplíe edotkovou subatici (zde,, ) báze b 0 0 0 0 0 0 z 0 0 0 - v klíčové řádku koeficiety původí tabulky vydělíe klíčový prvke a i. báze b / / / 0 0 600/ 0 0 0 0 z 0 0 0 - ostatí koeficiety dopočítáe dle ásleduícího předpisu: 4
a ew K L apříklad ai L ak = ak L, kde a i e klíčový prvek a i a a = = a ew = a a báze b / / / 0 0 00 -/ / 0 -/ 0 800 4/ 5/ 0 -/ 0 600 z 0-5 0 0 0 0 6000 Vzhlede k tou, že posledí řádek tabulky eště stále obsahue záporé hodoty, e uté předchozí postup opakovat, dokud ezískáe v posledí řádku ezáporé hodoty (základí řešeí e pak řešeí optiálí). Ve zkratce: Určíe klíčový sloupec, klíčový řádek a klíčový prvek. báze b / / / 0 0 00 00* -/ / 0 -/ 0 800 800* 4/ 5/ 0 -/ 0 600 600*/5 z 0-5 0 0 0 0 6000 Poté přepočítáe tabulku. Závěr: báze b /5 0 /5 0 -/5 80 -/5 0 0 -/5 -/5 680 4/5 0 -/5 0 /5 60 z 0 0 7 0 9 400 Získali se základí řešeí = ( 0, 60, 80, 0, 680, 0) optiálí. (Získáí základího řešeí (,,,, ) = viz straa ),, které e zároveň řešeí Toto základí řešeí á říká, že e optiálí prodávat výrobek V v ožství 60 kusů ( ), výrobek V v ožství 80 kusů ( ) a výrobek V eprodávat ( ). Současě ušetříe 680 peěžích edotek z ákladů ( ). Optiálí hodota zisku e 400 peěžích edotek. 5
Teorie duality: Každé úloze lieárího prograováí e ožé přiřadit iou úlohu lieárího prograováí, která e vytvořea z koeficietů původí úlohy. Ozačuee i poe duálí úloha. Řešeí obou úloh sou úzce svázáa. Priárí úloha á tvar: a z = c při oezeí: A b 0 T kde A e typu ( ), = (..., ), b = ( b b..., ) a c = ( c c..., ) Duálí úloha á tvar: i f = b při oezeí: A T u c u 0 T u,,,, b,, kde ísto vektoru = (..., ) priárích proěých e vektor u = ( u..., ) duálích proěých Obě úlohy se azývaí syetricky sdružeé duálí úlohy., Optiálí řešeí duálí úlohy alezee v sipleové tabulce (pro alezeí optiálího řešeí priárí úlohy) v kriteriálí řádku pod přídatýi proěýi. Duálí úloha á přiáší iforace o to, aké zásahy v oezuících podíkách povedou ke zěá kriteriálí fukce. Jedotlivé duálí proěé u, u,, u určuí, o kolik se zvýší kriteriálí fukce z při zvýšeí dispoibilího ožství o edotku. Příklad 4. Ukážee si to a předchozí příkladě. Priárí úloha vypadala ásledově: a z = 0 + 5 + 0 za oezuících podíek: + + 600 + +,, kde 0 + + 00 800 Duálí úloha aproti tou vypadá takto: i f = 600 u + 00 u + 800 u za oezuících podíek: c, u 6
u u u + u + u + u, u, u kde u 0 + u + u + u 0 5 0 Výsledá sipleová tabulka priárí úlohy vypadala takto: báze b /5 0 /5 0 -/5 80 -/5 0 0 -/5 -/5 680 4/5 0 -/5 0 /5 60 z 0 0 7 0 9 400 Poto optiálí duálí řešeí e vektor = ( u u, u ) ( 7, 0, 9) u., = Toto duálí řešeí á říká ásleduící: Pokud avýšíe pracoví sílu o hodiu, poto se á optiálí hodota zisku zvýší o 7 peěžích edotek. Obdobě pokud zvětšíe užitou plochu o, poto se á optiálí hodota zisku zvýší o 9 peěžích edotek. 7