Optimální výrobní program
Optimální výrobní program je jednou z typových úloh lineárního programování.
Výrobce vyrábí n výrobků, z nichž každý vyžaduje m různých surovin. Na výrobu výrobku j-tého typu se spotřebuje aij jednotek i-tého zdroje. Všechny zdroje jsou omezené a můžemke použít maximálně bi jednotek i-tého druhu. Zisk z prodeje výrobku j-tého typu je cj. Cílem úlohy je maximalizovat zisk z výroby.
Příklad
Mějme továrnu, která vyrábí židle a stoly. Na židli jsou zapotřebí 2 prkna 8 hřebíku, na stůl 4 prkna a 12 hřebíků. Židli prodáváme za 100Kč a stůl za 150Kč. Na skladě máme 201 prken a 463 hřebíků. Kolik máme vyrobit židlí a stolů tak, aby byl zisk maximální?
Řešení
Matlab
Za podmínek:
f = [-100; -150]; % matlab minimalizuje, funkci je treba otocit A = [2 4; 8 12]; b = [201; 463]; lb = [0,0]; ub = [+inf, +inf]; linprog(f, A, b, [], [], lb, ub)
Měli bychom vyrobit 30 židlí a 18 stolů.
Simplexový algorimus
Nejprve příklad přepíšeme do požadovené formy.
Za podmínek:
Zadání přepíšeme do simplexové tabulky.
| z | s | a | c | b |
|---|---|---|---|---|
| 2 | 4 | 1 | 0 | 201 |
| 8 | 12 | 0 | 1 | 463 |
| -100 | -150 | 0 | 0 | 0 |
Provedeme první iteraci simplexového algoritmu.
| z | s | a | c | b |
|---|---|---|---|---|
| -2/3 | 0 | 1 | -1/3 | 140/3 |
| 2/3 | 1 | 0 | 1/12 | 463/12 |
| 0 | 0 | 0 | 25/2 | 11575/2 |
Nalezené řešení je sice optimální, ale ze simplexové tabulky vidíme, že není jediné, protože u nebázové proměnné máme nulový koeficient. Proto dopočítáme řešení podle první proměnné. Celkové řešení bude konvexní kombinací prvního a druhého dílčího řešení.
| z | s | a | c | b |
|---|---|---|---|---|
| 0 | 1 | 1 | -1/4 | 341/4 |
| 1 | 3/2 | 0 | 1/8 | 463/8 |
| 0 | 0 | 0 | 25/2 | 11575/2 |
Celkové řešení je:
Z duálních proměnných je vidět, že při zvýšení zásob prken o 1 nedojde ke zvýšení zisku, naproti tomu při zvýšení zásob hřebíků o jednotku se zvýší zisk o Kč
Grafické řešení
Jednoduché případy lineární optimalizace lze také řešit graficky. Tento postup je únosný maximálně pro 3 proměnné (3D prostor).
Postup je velmi intuitivní - do prostoru zakreslíme příslušné poloprostory omezení a vznikne polyedr přípustných řešení. Dále zakreslíme vektor kriteriální funkce nebo jeho normály a na základě jeho směru zjistíme na tomto mnohostěnu bod (nebo více bodů), který je maximálním nebo minimálním řešením daného problému.
Literatura
- ŠTECHA, Jan. Optimální rozhodování a řízení : Přednášky. [s.l.] : Vydavatelství ČVUT, 2002. 241 s. ISBN 80-01-02083-5.



Existuje vynikající programový systém, jehož demo-verse nestojí vůbec nic. Program se jmenuje LINGO a dá se stáhnout na adrese http://www.lindo.com
Demo-licence platí 30 dní. Program při startu vyžádá licenční kód nebo DEMO. Pokud kliknete na DEMO, můžete LINGO používat 30 dní, pak je nutné si na DEMO nakliknout znovu. Takže se jedná prakticky o časové neomezenou licenci.
Kapacita programu je omezená na 200 podmínek a 300 proměnných (LP) - pokud se dobře pamatuji - celočíselně a nelineární úlohy podléhají dalším omezením.
V případeě potřeby lze zakoupit odstupňovanou plnou licenci. Její nejvyšší stupeň nemá žádné omezení.
Pozdrav
Karel