17.3.1.5
Příklady modelů pro optimslizaci plánu výroby
Doc. Ing. Alois Fiala, CSc.
NahoruLineární modely
Předpokládejme, že podnik je schopen vyrábět n typů
výrobků, přičemž k výrobě využívá m druhů zdrojů. Je třeba pro dané
období stanovit výrobní program (tj. určit, které typy výrobků a v jakém
množství se mají vyrábět) tak, aby nebyly překročeny kapacity výrobních zdrojů
a aby bylo dosaženo maximální hodnoty produkce.
Předpokládáme, že závislosti mezi objemem výroby na jedné straně a
spotřebou zdrojů na druhé straně jsou lineární. Dále předpokládáme, že množství
výrobků jsou libovolně dělitelná (to je možné např. v chemické výrobě, ale
velmi často takto model zjednodušujeme i v situacích, kdy tento předpoklad není
splněn).
NahoruVeličiny modelu
Na základě analýzy problému lze stanovit následující veličiny
modelu:
Při specifikaci veličin modelu je důležité, aby byl model
konzistentní z hlediska použitých jednotek. V tomto případě to znamená, že
hodnoty spotřeby aij jednotlivých zdrojů musejí být vyjádřeny
ve stejných jednotkách jako kapacity bi těchto zdrojů, že se
musejí shodovat cenové jednotky u veličin cj a z a že
pro každý výrobek musí být použita stejná jednotka množství tohoto výrobku u
veličin aij, cj a xj.
NahoruCelková hodnota produkce
Kriteriální funkce vyjadřuje celkovou hodnotu produkce za dané
období. Hodnota produkce j-tého výrobku je rovna cj xj, a tedy pro celkovou hodnotu produkce platí:
Vlastní omezení vyjadřují, že spotřeby zdrojů nesmějí překročit
jejich kapacity. Za předpokladu linearity závislostí mezi veličinami modelu je
spotřeba i-tého zdroje na výrobu množství xj j-tého
výrobku rovna aijxj, a tedy pro i-tý zdroj
musí platit podmínka:
NahoruPodmínky
Dále pro jednotlivé rozhodovací proměnné musejí být předepsány
podmínky nezápornosti (nemůžeme vyrobit záporné množství j-tého
výrobku):
xj ≥ 0.
Matematický model pak vypadá takto:
maximalizovat
za podmínek
Připomeňme, že vhodnou volbou jednotek můžeme zajistit, že se v
modelu nebudou vyskytovat řádově příliš odlišné hodnoty, a tak zlepšit
výpočetní vlastnosti modelu. Změna jednotek zdrojů ovlivňuje hodnoty v
odpovídajících řádcích soustavy omezujících podmínek a změna jednotek výrobků
ovlivňuje hodnoty v odpovídajících sloupcích této soustavy. Např. nechť i-tým zdrojem je nějaká surovina, jejíž množství i spotřeba jsou
vyjádřeny v kilogramech. Když změníme tuto jednotku na 100 kg, odpovídající
hodnoty aij a bi se sníží stokrát. Když
místo kilogramu použijeme gram, pak se uvedené hodnoty zvýší tisíckrát.
Jestliže např. stokrát zvýšíme (snížíme) jednotku množství j-tého
výrobku, pak se hodnoty aij a cj zvýší
(sníží) stokrát. Když budeme ceny výrobků a celkovou hodnotu produkce
vyjadřovat v tisícikorunách místo v korunách, pak se hodnoty cj tisíckrát sníží.
NahoruZpůsoby úprav
Vytvořený model je modelem lineárního programování. Tento model
může být upravován nebo doplňován např. následujícími způsoby.
Jestliže je dán požadavek, že kapacita k-tého zdroje musí
být plně vyčerpána, musí mít příslušné omezení tvar rovnice:
Je-li možný odbyt r-tého výrobku omezen nejvýše na
jednotek, musí být do modelu doplněno omezení:
xr ≤ hr
Může být také požadováno, že musí být vyrobeno alespoň jednotek s-tého výrobku, aby byly splněny objednávky odběratelů. Pak je třeba
model rozšířit o podmínku:
xs ≥ ds.
V případě, že nejde o finální výrobky, ale o komponenty, které se
montují do nějakých vyšších celků, mohou být dány požadavky na poměry mezi
množstvími těchto komponent. Požadavku, že množství i-tého a j-tého výrobku musí být v poměru pi : pj, odpovídá omezení:
Má-li být zachována linearita modelu, je třeba toto omezení
upravit takto:
pjxj –
pixj = 0.
V případě, že některé výrobky jdou jednak na odbyt, jednak jsou
využívány jako polotovary pro výrobu jiných výrobků, musí model obsahovat
omezení vyjadřující, že spotřeba těchto výrobků jakožto polotovarů nesmí
přesáhnout vyrobené množství. Nechť eij označuje množství i-tého výrobku použité jako polotovar pro výrobu jednotky j-tého
výrobku (samozřejmě musí platit, že eii = 0). Pak příslušné
omezení má tvar
resp.
V tomto případě by pak také v účelové funkci vyjadřující hodnotu
produkce musely být koeficienty cj nahrazeny koeficienty
~cj získanými odečtením ceny použitých polotovarů:
Předpokládejme nyní, že v rámci uvažovaných výrobků se žádný z
nich nepoužívá jako polotovar pro výrobu jiného z těchto výrobků, a že chceme
maximalizovat celkový zisk. Pak má účelová funkce tvar
NahoruZisk
kde z je celkový zisk a vj jsou výrobní
náklady na jednotku j-tého výrobku. Tato formulace je založena na
předpokladu, že výrobní náklady rostou lineárně s růstem objemu výroby.
S rozhodováním o tom, kolik kterého výrobku vyrábět, může být také
spojena volba technologických postupů. Zaveďme následující označení:
NahoruMatematický model
Matematický model pak bude mít tvar
maximalizovat
za podmínek
NahoruCeločíselné modely
Pokud je u některých výrobků jejich množství vyjadřováno v kusech
resp. násobcích kusů, je nutno předchozí modely rozšířit o podmínky:
kde Z označuje množinu celých čísel. Jde pak o modely
celočíselného lineárního programování. Jestliže se požadavek celočíselnosti
týká všech výrobků, jde o plně celočíselné modely, v opačném případě jsou to
smíšeně celočíselné modely.
Další výskyt podmínek celočíselnosti může vycházet z faktu, že s
přípravou výroby každého výrobku jsou spojeny fixní náklady, které nezávisejí
na vyrobeném množství. Pokud chceme tyto náklady zohlednit, musíme účelovou
funkci vyjádřit ve tvaru (neuvažujeme teď možnosti volby různých
technologických postupů):
kde jsou fixní náklady na přípravu výroby j-tého výrobku a
jsou další rozhodovací proměnné, které musejí splňovat podmínky:
přičemž M je velké kladné číslo. Tyto podmínky zajišťují,
že je-li j-tý výrobek vyráběn (tj. xj > 0), pak
musí být yj = 1, a tedy jsou započítány fixní náklady wj. Může se také stát, že s přípravou výroby jednotlivých
výrobků jsou rovněž spojeny fixní spotřeby jednotlivých zdrojů. V takovém
případě podmínky zohledňující omezené kapacity výrobních zdrojů budou mít
tvar:
kde je fij fixní spotřeba i-tého zdroje
na přípravu výrobu jednotky j-tého výrobku. Zavedením proměnných yj, které mohou nabývat hodnot 0 nebo 1, se model dostává do
kategorie celočíselných modelů (speciálně se takové modely označují jako modely
s bivalentními nebo nula-jedničkovými proměnnými).
NahoruNelineární modely
Zatím jsme předpokládali, že náklady na výrobu jednotky výrobku
jsou konstantní. Ve skutečnosti tomu tak není, protože na ně…