1 / 18

Simplexová metoda pro známé počáteční řešení úlohy LP

Simplexová metoda pro známé počáteční řešení úlohy LP. RNDr. Jiří Dvořák, CSc. dvorak @uai.fme.vutbr.cz. Kanonický tvar úlohy LP. Uvažujme úlohu ve standardním tvaru (a) kde A je typu ( m,n ).

rufina
Download Presentation

Simplexová metoda pro známé počáteční řešení úlohy LP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Simplexová metoda pro známé počáteční řešení úlohy LP RNDr. Jiří Dvořák, CSc. dvorak@uai.fme.vutbr.cz Teorie systémů a operační analýza

  2. Kanonický tvar úlohy LP Uvažujme úlohu ve standardním tvaru (a) kde A je typu (m,n). Řekneme, že úloha (a) je v kanonickém tvaru, když matice A obsahuje jednotkovou matici typu (m,m). TSOA: Simplexová metoda pro známé počáteční řešení

  3. Kanonický tvar úlohy LP a bázické řešení Nechť úloha (a) je v kanonickém tvaru a nechť b  0. Zvolme bázi B = E a označme xB … vektor bázických proměnných, xN … vektor nebázických proměnných. Bázické řešení: xN = 0 xB = b TSOA: Simplexová metoda pro známé počáteční řešení

  4. Speciální případ úlohy LP Předpokládejme úlohu LP v kanonickém tvaru, kde jednotková matice je tvořena posledními m sloupci matice A a kdeb  0. Nebázické proměnné: xN = (x1, x2, … , xn–m)T Bázické proměnné: xB = (xn–m+1, xn–m+2, … , xn)T Bázické řešení: x0 = (0, … ,0, b1, b2, … , bm)T Obecné řešení: Nebázické proměnné x1, x2, … , xn–m jsou volné a bázické proměné jsou určeny vztahem TSOA: Simplexová metoda pro známé počáteční řešení

  5. Úprava účelové funkce Účelovou funkci vyjádříme pomocí nebázických proměnných: po úpravě dostaneme TSOA: Simplexová metoda pro známé počáteční řešení

  6. Prověření optimality bázického řešení Označme: Pak a f(x0) = F. Nechť x1 = (0, … , , … ,0, 1, … , m)T, kde  > 0 se nachází na s-té pozici a i = bi – ais .Potom f(x1) = F – s . Je-li tedy s < 0, pak řešení x0 není optimální, neboť hodnotu účelové funkce lze zvětšit o hodnotu (–s). TSOA: Simplexová metoda pro známé počáteční řešení

  7. Nové řešení musí být přípustné Aby řešení x1 bylo přípustným řešením dané úlohy LP, musí splňovat podmínky nezápornosti x1  0. Hodnota > 0 tedy musí být řešením soustavy nerovnic bi – ais   0, i = 1, … ,m. Je-li aps  0, pak odpovídající nerovnice je splněna pro jakoukoli kladnou hodnotu  a může být tudíž vynechána. Řešením zbylé soustavy nerovnic je podmínka TSOA: Simplexová metoda pro známé počáteční řešení

  8. Nové řešení musí být bázické Aby řešení bylo bázické, musí být některá dosavadní bázická proměnná anulována. Položíme-li bude anulována proměnná xn–m+r , kde r je určeno vztahem neboť xn–m+r = br – ars . TSOA: Simplexová metoda pro známé počáteční řešení

  9. Kanonický tvar odpovídající nové bázi K nové bázi B1patří s-tý sloupec matice A a sloupce s indexy n–m+i pro i = 1, … , m, i r. Nový kanonický tvar získáme eliminační metodou, při níž s-tý sloupec matice A upravíme na jednotkový a zachováme jednotkové sloupce s indexy n–m+i pro i = 1, … , m, i r. TSOA: Simplexová metoda pro známé počáteční řešení

  10. Algoritmus simplexové metody Mějme výchozí přípustné bázické řešení x0. Položme k = 1, xk = x0 , A(k) = A, b(k) = b. Simplexový algoritmus: 1. Test kritéria optimality pro xk. Je-li splněno, pak konec (bázické řešení xk je optimálním řešením). 2. Určení klíčového prvkuars(k) matice A(k). Není-li možné určit klíčový prvek, pak konec (úloha nemá konečné optimální řešení). 3. Simplexová transformace matice (A(k)| b(k)). Získáme matici (A(k+1)| b(k+1)) a nové bázické řešení xk+1. Položíme k = k +1 a postup opakujeme od bodu 1. TSOA: Simplexová metoda pro známé počáteční řešení

  11. Simplexová tabulka označují i-tou bázickou proměnnou a její koeficient v účelové funkci TSOA: Simplexová metoda pro známé počáteční řešení

  12. Stanovení hodnot veličin j a F Veličiny slouží k testování kritéria optimality a F představuje hodnotu účelové funkce pro aktuální bázické řešení. Výchozí hodnoty těchto veličin můžeme získat také tak, že k soustavě rovnic přidáme rovnici a pak z ní eliminační metodou odstraníme bázické proměnné (nesmíme ji přitom ničím násobit ani dělit). TSOA: Simplexová metoda pro známé počáteční řešení

  13. Kritérium optimality a) Kritérium optimality promaximalizační úlohu: pro j = 1, … , n. b) Kritérium optimality prominimalizační úlohu: pro j = 1, … , n. TSOA: Simplexová metoda pro známé počáteční řešení

  14. Určení klíčového prvku a) Určení indexu sklíčového sloupce: J je množina indexů těch sloupců, kde nebylo splněno kritérium optimality. Klíčový sloupec určuje proměnnou, která vstoupí do báze. b) Určení indexu rklíčového řádku: Klíčový řádek určuje proměnnou, která bude z báze vyloučena. Je-li určen klíčový prvek, pak do báze vstupuje proměnná xs a nahrazuje proměnnou na r-té pozici. TSOA: Simplexová metoda pro známé počáteční řešení

  15. Poznámky k určení klíčového prvku Pokud podmínce pro klíčový sloupec vyhovuje několik sloupců tabulky, můžeme volit kterýkoli z nich. Totéž platí pro určení klíčového řádku. Klíčovým řádkem může být i ten řádek, kde je pravá strana nulová (taková situace může nastat v případě, že aktuální bázické řešení je degenerované). Musí ale být splněna podmínka, že . TSOA: Simplexová metoda pro známé počáteční řešení

  16. Simplexová transformace Úprava klíčového řádku: Úprava ostatních řádků (i = 1, … , m, i r): TSOA: Simplexová metoda pro známé počáteční řešení

  17. Poznámky k simplexové transformaci Z uvedených vzorců vyplývá, že řádek, který není klíčový, nesmíme při úpravě ničím násobit nebo dělit. Pokud tuto zásadu nedodržíme, ztratíme kanonický tvar a hodnota bázické proměnné odpovídající tomuto řádku se nebude rovnat pravé straně. Pokud je zachován kanonický tvar, získáme nové bázické řešení následujícím způsobem: • nebázické proměnné se položí rovny nule, • bázická proměnná v i-tém řádku se rovná pravé straně. TSOA: Simplexová metoda pro známé počáteční řešení

  18. Zjednodušení úprav j K soustavě rovnic přidáme rovnici kde proměnná z reprezentuje hodnotu účelové funkce. Tuto rovnici pak upravujeme stejně jako všechny ostatní: TSOA: Simplexová metoda pro známé počáteční řešení

More Related