Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Lineární programování Simplexový algoritmus

Podobné prezentace


Prezentace na téma: "Lineární programování Simplexový algoritmus"— Transkript prezentace:

1 Lineární programování Simplexový algoritmus

2 Základní pojmy Přípustné řešení - množina přípustných řešení
Bázické řešení (vrchol) Optimální řešení Alternativní řešení Suboptimální řešení

3 Řešitelnost úlohy Řešení neexistuje Existuje právě jedno řešení
neexistuje řešení omezujících podmínek kriteriální funkce je neomezená v požadovaném směru Existuje právě jedno řešení jediné a bázické Existuje nekonečně mnoho řešení dvě a více bázická optimální (alternativní) řešení

4 Základní věty Má-li úloha LP přípustné řešení, má i přípustné bázické řešení. Má-li úloha LP optimální řešení, má i optimální bázické řešení. Optimální řešení úlohy LP leží vždy na hranici množiny přípustných řešení. Má-li úloha LP více než jedno optimální řešení řešení, je optimálním řešením i jejich konvexní kombinace.

5 Simplexový algoritmus
Výchozí řešení ve tvaru rovnic Soustava lineárních rovnic v kanonickém tvaru Nezápornost pravých stran Test optima (vstupu) Test přípustnosti báze (výstupu Přechod na nové řešení Jordanovou eliminační metodou

6 Soustava omezujících podmínek
Numericky umíme řešit pouze soustavy lineárních rovnice, nikoliv nerovnic Jordanova eliminační metoda – bázické řešení převedeme na

7 Kapacitní podmínky Ax  b Ax + Ed = b, d  0 doplňkové proměnné Ax Ed

8 Požadavkové podmínky Ax  b Ax - Ed + Ep = b, d  0
doplňkové proměnné + pomocné proměnné Ax -Ed Ep b

9 Podmínky v rovnicovém tvaru
určení, bilanční a pod. Ax = b Ax + Ep = b, p  0 pomocné proměnné Ax Ep b

10 Druhy proměnných Strukturní Doplňkové Umělé Vycházejí ze zadání úlohy
Doplňují nerovnice na rovnice Rezerva v kapacitních podmínkách - kladný koeficient 1 Překročení v požadavkových podmínkách - záporný koeficient -1 Umělé Vytvářejí jednotkovou matici

11 Bázické řešení Kanonický tvar soustavy rovnic
Proměnné s jednotkovými vektory - bázické Řešení VZHLEDEM k bázickým proměnným xN xB AN E b xB

12 Příklad Na 300 ha orné půdy se bude pěstovat pšenice, ječmen a řepka. K dispozici je 50 t NPK. Řepku je možno pěstovat na nejvýše 20 ha, ječmen alespoň na 100 ha. Rozhodněte, na kolika ha kterou plodinu pěstovat, aby zisk byl maximální.

13 Matematický model

14 Úpravy na rovnice a kanonicky tvar

15 Výchozí řešení Simplexová tabulka Bázické proměnné

16 Test optimality Cena ekvivalentní lineární kombinace
zj - cj = iij.ci - cj zj - cj  0 skutečná cena (náklady) nižší než bázická zj - cj  0 skutečná cena (zisk) vyšší než bázická Optimální řešení Maximalizace: všechna (zj - cj) nezáporná Minimalizace: všechna (zj - cj) nekladná

17 Test optimality Vstupující proměnná

18 Vstup proměnné do báze Výsledek testu optimality Maximalizace
Do báze vstupuje proměnná, která má zj - cj  0 a největší v absolutní hodnotě v našem příkladu x2 Minimalizace zj - cj  0 a s největší hodnotou

19 Test přípustnosti Zaručuje nezápornost řešení
Pro vstupující proměnnou xj  0 musí platit Je-li ij > Ω = bj /ij Je-li ij  Výpočet se neprovádí Vystupující proměnná je v řádku, kde je minimální Ω

20 Test přípustnosti Vstupující proměnná Pivot Vstupující proměnná

21 Přechod na nové řešení Sloupec j-té proměnné, která vstupuje do báze se nazývá klíčový sloupec Řádek i-té proměnné, která vystupuje z báze se nazývá klíčový řádek Průsečík klíčového sloupce a řádku je klíčový prvek (pivot)

22 Postup eliminační metody
Klíčový řádek dělíme klíčovým prvkem Upravený klíčový řádek zapíšeme do další tabulky Pro úpravu dalšího řádku násobíme upravený klíčový řádek prvkem v upravovaném řádku v klíčovém sloupci (leží pod nebo nad pivotem) Vynásobený klíčový řádek od původního upravovaného řádku odečteme

23 Jordanova eliminační metoda

24 Nové řešení Nová báze

25 Výpočet modelu

26 Interpretace optimálního řešení
x1=0 (nebázická) pšenice se pěstovat nebude x2=280 ječmen se bude pěstovat na 280 ha x3=20 řepka se bude pěstovat na 20 ha x4=0 (nebázická) žádná rezerva orné půdy x5=7,6 rezerva NPK je 7,6 t x6=0 (nebázická) žádná rezerva půdy pro řepku x7=180 překročení plochy ječmene Zisk bude 480 tis. Kč.

27

28 Příklad 2 Výrobky A a B se opracovávají na dvou strojích.
Výrobku A je třeba vyrobit alespoň 14 kusů. Kapacita prvního stroje je 3000 hodin a kapacita druhého stroje je 1000 hodin. Požadavky výrobků na strojní hodiny viz tabulka. Sestavte výrobní program, který dosáhne maximálního zisku. Stroj 1 Stroj 2 Zisk A 80 20 30 B 2

29 Sestavení modelu X1 …počet výrobků A X2…počet výrobků B
Výrobku A alespoň 14 kusů Kapacita prvního stroje je 3000 hodin Kapacita druhého stroje je 1000 hodin Počty výrobků jsou nezáporné Maximalizujeme zisk

30 Výchozí řešení – simplexová tabulka

31 Test optimality

32 Výběr vstupující proměnné

33 Výběr vystupující proměnné

34 Úprava klíčového řádku

35 Úprava druhého řádku Klíčový řádek násobíme (-80) a přičítáme k druhému řádku

36 Úprava třetího řádku Klíčový řádek násobíme (-20) a přičítáme ke třetímu řádku

37 Volba klíčového sloupce a řádku

38 Konec výpočtu

39 Výsledek řešení x1=14 výrobků typu A bude 14 kusů
x2=360 výrobků typu B bude 360 kusů x3=0 x4=1160 volná kapacita 1. stroje x5=0 Zisk bude tis. Kč.

40


Stáhnout ppt "Lineární programování Simplexový algoritmus"

Podobné prezentace


Reklamy Google