Lineární programování I Úvod Grafické řešení Počítačový algoritmus Analýza citlivosti
Management Science/ Operations Research Věda o řízení/operační výzkum Využití kvantitativní analýzy ke zlepšení rozhodování a řešení problémů Opírá se o vědecké metody
Vědecká metoda Identifikace problému/Definice Formulace modelu Sběr dat Řešení modelu, validizace a analýza Implementace rozhodnutí a evaluace
I. Úvod Lineární programování je jednou z nejpoužívanějších metod vědy o řízení. Jejím účelem je pomoci manažerům při rozhodování o alokaci nedostatkových zdrojů.
Charakteristika LP problému Maximalizovat nebo minimalizovat určitou kvantitu (cílovou, účelovou funkci). Omezení limitují možnost dosáhnout cíle. Užitková funkce a omezení jsou vyjádřeny lineárními funkcemi. Proměnné jsou nezáporné.
Obecná formulace Maximalizace funkce o více proměnných Y = f(x1, x2, …, xk; a,b,c, …) a ještě omezení na x
Funkce více proměnných Y = f(x), kde je vektor z Rk Příklad y = x + v + w2 Nejjednodušší případ: Reálné funkce jedné reálné proměnné y=f(x)
Příklad dvou produktů Firma vyrábí dva výrobky -- A & B. Firma chce vědět optimální počet každého produktu, aby se maximalizoval zisk. Analýza odpovídajících nákladů a cen odhalila, že čistý zisk pro každý produkt je: $10 pro produkt A $9 pro produkt B
Oba výrobky vyžadují ty samé výrobní aktivity, ale v jiném množství (v hodinách):
Omezení kapacit časových možností pro potřebné specializace je dáno pro příští výrobní cyklus údaji: 630 hodin pro aktivitu W 600 hodin pro aktivitu X 708 hodin pro aktivitu Y 135 hodin pro aktivitu Z
(1) Jaké jsou rozhodovací proměnné? Nechť: x1 = počet výrobku A, který se bude vyrábět x2 = počet výrobku B, který se bude vyrábět
(2) Jaké jsou cíle, užitková funkce? --maximalizace zisku. Proto je užitková funkce ve tvaru: max 10x1 + 9x2 (celkový zisk)
(3) Jaká jsou omezení? Jsou zde 4 výrobní operace, každá je omezená kapacitou využitelného času. Omezení jsou vyjádřeny podmínkami: Aktivita W: 7/10x1 + x2 630 Aktivita X: 1/2x1 + 5/6x2 600 Aktivita Y: x1 + 2/3x2 708 Aktivita Z: 1/10x1 + 1/4x2 135
Dále musí platit, že počet výrobků jsou nezáporná čísla: x1, x2 0
Matematická formulace max 10x1 + 9x2 za omezujících podmínek: 7/10x1 + x2 630 1/2x1 + 5/6x2 600 x1 + 2/3x2 708 1/10x1 + 1/4x2 135 x1, x2 0
Chceme nalézt hodnoty x1 a x2, které: • vyhovují podmínkám a • maximalizují užitkovou funkcí. Příslušné hodnoty nazýváme optimální řešení LP úlohy.
II. Grafické řešení
1. Sestroj graf všech přípustných řešení Protože chceme určit množství obou výrobků, které se budou vyrábět, -- budou jednotlivé osy X a Y reprezentovat rozhodovací proměnné -- každý bod v kvadrantu I soustavy souřadné reprezentuje jedno řešení
2. Nakreslíme omezení do tohoto prostoru Např. omezení spojené s aktivitou W je: 7/10x1 + x2 630 1. Graf odpovídá přímce: -- určená 2 body, které leží na přímce -- spojením těchto bodů přímkou 2. Pouze body ležící bod přímkou odpovídají podmínce pro W
3. Identifikujeme přípustnou oblast Nakreslíme všechny omezení Identifikujeme množinu řešících bodů, které odpovídají všem podmínkám: přípustná oblast
4. Identifikujeme směrnici účelové funkce: Vybereme jakýkoliv zisk a identifikujeme všechny přípustná řešení, které vedou ke zvolenému zisku. Uvažujeme vyšší zisk (protože naším cílem je maximalizovat zisk)
5. Identifikujeme optimální bod Užitím trojúhelníku pohybujeme přímkou zisku co nejdále od počátku. Přípustný bod, která leží na přímce s nejvyšší hodnotou zisku, představuje optimální řešení. Pro získání optimálního bodu, hledáme řešení soustavy dvou rovnic.
Extremální body Co se stane, jestliže zisk z produktu A byl redukován na $5 a ostatní podmínky zůstávají stejné? Tzn. účelová funkce má tvar: max 5x1 + 9x2 s těmi samými podmínkami?
Obě optimální řešení jsou v rozích přípustné oblasti Obě optimální řešení jsou v rozích přípustné oblasti. Tyto body se nazývají extremální body. Optimální řešení lineárního programování nalezneme vždy jako extremální bod přípustné oblasti. Proto musíme pouze vyhodnotit extremální body a vybrat ten, který maximalizuje užitkovou funkci.
Alternativní optima Co se stane, jestliže přímky s nejvyšším ziskem je totožná s nějakou podmínkou přípustných řešení? Pak existuje nekonečně mnoho optimálních řešení – nazýváme je alternativní optima. Manažér může z nich vybrat preferované řešení pomocí jiného kritéria.
Zbytkové a přebytkové proměnné -- poskytují informace o množství využití každého zdroje Jestliže máme nevyužitou kapacitu, nazýváme to zbytek nebo slack. Jestliže využijeme více než je jistý standard, nazýváme to přebytek nebo surplus.
Příklad zbytku Např. : (7/10)540 + 252 = 630 ‑‑630 hodin k dispozici (W) (1/2)540 + (5/6)252 = 480 ‑‑600 hodin k dispozici (X) 540 + (2/3)252 = 708 ‑‑708 hodin k dispozici (Y) (1/10)540 + (1/4)252 = 117 ‑‑135 hodin k dispozici (Z) Firma má nevyužitou kapacitu v: Aktivita X (600-480=120 hodin) Aktivita Z (135-117=18 hodin)
Standardní forma Koncept zbytku může být zabudován do formulace problému, např. : 7/10x1 + x2 + s1 = 630 1/2x1 + 5/6x2 + s2 = 600 x1 + 2/3x2 + s3 = 708 1/10x1 + 1/4x2 + s4 = 135 Tato formulace LP problému se nazývá standardní forma.
Každý LP problém mohou tvořit podmínky typu , nebo rovnosti. Standardní forma konvertuje podmínky nerovnosti do podmínek rovnosti: Přičtením zbytkových proměnných k nerovnostem typu Nebo odečtením přebytkových proměnných k podmínkám typu Podmínky rovnosti se ponechávají beze změny
III. Počítačové řešení Uvažujeme standardní formu našeho příkladu: max 10x1 + 9x2 + 0s1 + 0s2 + 0s3 + 0s4 7/10x1 + x2 + s1 = 630 1/2x1 + 5/6x2 + s2 = 600 x1 + 2/3x2 + s3 = 708 1/10x1 + 1/4x2 + s4 = 135 x1,x2,s1,s2,s3,s4 0
Poznámka: Podmínky tvoří systém 4 rovnic o 6 proměnných. Ne každé řešení tohoto systému je přípustné (tzn. odpovídá podmínkám nezápornosti). Každé procedura řešení musí vybrat přípustné řešení, které maximalizuje účelovou funkci.
Simplexová metoda -- je algebraické řešení, které se může vyrovnat s těmito třemi vlastnostmi.
Příklad Z algebry je známé, že můžeme snadno řešit a systém a rovnic o a neznámých. My ale máme 4 rovnic a 6 neznámých. Jestliže libovolné dvě proměnné položíme rovné nule, pak můžeme zbylé proměnné hledat běžným způsobem (řešením systému 4 rovnic).
Např. x2 = 0 a s1 = 0, podmínky pak mají tvar: 1/2x1 + s2 = 600 x1 + s3 = 708 1/10x1 + s4 = 135
Základní řešení Řešení těchto rovnic vede k výsledku: x1 = 900 x2 = 0
Základní přípustné řešení Jestliže položíme rovny nule proměnné x1 a x2, pak je řešení: x1 = 0 x2 = 0 s1 = 630 s2 = 600 s3 = 708 s4 = 135
Poznamenejme, že toto ZP řešení odpovídá bodu v rohu přípustné oblasti (extremální bod) (x1=0, x2=0). Ve skutečnosti, základní přípustné řešení je vždy extremální bod. Víme, že optimální řešení je také extremální bod. Proto množina všech základních přípustných řešení obsahuje optimální řešení.
Simplexová metoda Používá základní přípustné jako počáteční bod Hledá další ZP řešení, které zvyšují hodnotu účelové funkce Pohybuje se od jednoho ZP řešení ke druhému, až se dostane k optimálnímu řešení K tomu je nutný speciální LP software
IV. Analýza citlivosti -- Hodnotí se efekt změn jednotlivých koeficientů a optimální řešení Uvažujeme dva typy změn: Změna hodnot koeficientů účelové funkce Změna hodnot koeficientů podmínek.
A. Změna koeficientů účelové funkce Co se stane, když změny v ceně materiálu redukuje zisk z produktu A na $9.50 (bez efektu na zisk z produktu B). Změní se optimální počet výrobků?
Analýza citlivosti odpovídá tuto otázku výpočtem rozmezí hodnot pro koeficienty účelové funkce, které nevedou ke změně optimálního řešení. Toto rozmezí hodnot se nazývá rozmezím optimality.
Grafické řešení
Připomeňme rovnice těchto dvou podmínek: W: 7/10 x1 + x2 = 630 Y: x1 + 2/3 x2 = 708 Přepisem pomocí směrnicového vyjádření: W: x2 = 630 - 7/10 x1 Y: x2 = 1062 - 3/2 x1 Tudíž: -7/10 je směrnice W -3/2 je směrnice Y
Účelová funkce s hodnotou označenou z je: z = c1x1 + c2x2 x2 = z/c2 - c1/c2 x1 tedy směrnice je -c1/c2 Proto extrémní bod 3 zůstane optimální pokud: -3/2 -c1/c2 -7/10
Pokud c2 zůstane fixní s hodnotou 9, pak: -3/2 -c1/9 -7/10 Jestliže c1 zůstane fixní na hodnotě 10, pak: -3/2 -10/c2 -7/10 3/20 1/c2 7/100 20/3 c2 100/7 6 2/3 c2 14 2/7 .