Dvoufázový simplexový algoritmus
Author
Albert FloresDvoufázový simplexový algoritmus, neboli také dvoufázová simplexová metoda, je úprava simplexového algoritmu, který dokáže vyřešit i takové úlohy lineárního programování, které mají v soustavě omezujících podmínek rovnice nebo nerovnice typu "\ge".
Průběh algoritmu dvoufázové simplexové metody
Průběh algoritmu dvoufázové simplexové metody se liší v první fázi řešení úlohy - v získání výchozího řešení. Proto, abychom mohli použít simplexovou metodu, potřebujeme však všechna omezení vyjádřit ve formě rovnic a navíc mít jednotkovou submatici v matici koeficientů proměnných modelu.
Nerovnice typu "\le" dorovnáme na rovnice stejným způsobem jako u simplexové metody.
a_{ij}*x_{ij} \le b_i → a_{ij}*x_{ij} + x_{n+1} = b_i\,\!
kde x_{n+1} představuje tzv. přídatnou proměnnou. Ta se interpretuje jako nevyužitá kapacita - je rozdílem mezi levou a pravou stranou nerovnice.
Nerovnice typu "\ge" dorovnáme na rovnice také pomocí přídatné proměnné (odečteme ji). Zavedeme však navíc tzv. +more pomocnou proměnnou y_i, která zajistí podmínku existence jednotkového vektoru, díky které můžeme na problém použít simplexovou metodu.
a_{ij}*x_{ij} \ge b_i → a_{ij}*x_{ij} - x_{n+1} + y_k = b_i\,\!
První fáze výpočtu dvoufázovou simplexovou metodou
V první fázi sestavíme minimalizační tzv. pomocnou účelovou funkci ve tvaru:
:z^{pom} = \sum_k y_k
Pomocné proměnné vyjádříme z nerovnic omezujících podmínek typu "\ge" nebo "=". Pomocná účelová funkce v typickém případě nabude nějaké hodnoty. +more V první fázi výpočtu se snažíme vynulovat pomocnou účelovou funkci pomocí Gaussovy eliminace. Pokud se nám to nepodaří, pak úloha LP nemá přípustné řešení. Pokud se nám povede pomocnou účelovou funkci vynulovat, pokračujeme druhou fází výpočtu.
Výpočet je výhodné provádět v upravené simplexové tabulce:
Strukturní koeficienty | Koeficienty přídatných proměnných | Koeficienty pomocných proměnných | Pravé strany omezení | |
---|---|---|---|---|
z\,\. | -c^T\,\. +more | 0\,\. | 0\,\. | 0 \,\. |
z^{pom}\,\. | d_1^T \,\. | d_2^T \,\. | d_3^T \,\. | H \,\. |
kde:
* H \,\! je hodnota pomocné účelové funkce * d_1^T\,\!, d_2^T\,\! a d_3^T\,\! jsou vektory koeficientů proměnných modelu v pomocné účelové funkci
Druhá fáze výpočtu dvoufázové simplexové metody
Tato fáze se ničím neliší od klasické simplexové metody. Při započetí výpočtu doporučují např. +more Lagová a Jablonský v [1] vypustit ze simplexové tabulky pomocné proměnné a řádek pomocné účelové funkce a pokračovat bez nich.
Literatura
# Lagová M. , Jablonský J. +more, Lineární modely, Praha, 2004, nakladatelství Oeconomica, # Jablonský J. , Programy pro matematické modelování, Praha, 2007, nakladatelství Oeconomica, # Jablonský J. , Operační výzkum - kvantitativní metody pro ekonomické rozhodování, Praha, 2002, Professional Publishing,.
Kategorie:Optimalizace (matematika) Kategorie:Lineární programování