Formulace ekonomického a matematického modelu
|
Mezi nejtypičtější úlohy lineárního programování patří tzv. distribuční úlohy lineárního programování. Z distribučních úloh v této kapitole podrobněji rozebereme dopravní problém a z formulačního hlediska se zmíníme o dalších úlohách jako je přiřazovací problém, okružní dopravní problém a obecný distribuční problém.
Formulace ekonomického a matematického modeluV dopravním problému se typickém případě jedná o rozvržení rozvozu nějakého zboží či materiálu z dodavatelských míst (zdroje) odběratelům (cílová místa) tak, aby byly minimalizovány celkové náklady související s tímto rozvozem. V dopravním problému je definováno m-zdrojů (dodavatelů) D1, D2, …, Dm s omezenými kapacitami a1, a2, …, am (množství, které je dodavatel schopen v uvažovaném období dodat ) a n-cílových míst (odběratelů) O1, O2, …, On se stanovenými požadavky b1, b2, …, bn (množství, které odběratel v uvažovaném období požaduje). Vztah každé dvojice zdroj-cílové místo je nějakým způsobem oceněn. Tímto oceněním mohou být například vykalkulované náklady na přepravu jedné jednotky zboží mezi zdrojem a cílovým místem nebo kilometrová vzdálenost mezi zdrojem a cílovým místem. Kvantifikované ocenění vztahu zdrojů a cílových míst označím cij, i = 1, 2, …, m, j = 1, 2, …, n. Cílem řešení dopravního problému je naplánovat přepravu mezi zdroji a cílovými místy, tzn. stanovit objem přepravy mezi každou dvojici zdroj-cílové místo tak, aby nebyly překročeny kapacity zdrojů a aby byly uspokojeny požadavky cílových míst. Z hlediska matematického modelu je tedy třeba stanovit hodnoty proměnných xij, i = 1, 2, …, m, j = 1, 2, …, n, které vyjadřují objem přepravy mezi i-tým zdrojem a j-tým cílovým místem. Výše uvedený popis lze považovat za typickou formulaci ekonomického modelu dopravního problému. Tuto formulaci lze přehledně vyjádřit ve formě tabulky (tabulka 1).
Tab. 1 – Formulace ekonomického modelu dopravního problému. Při řešení dopravního problému je třeba uvažovat vztah celkové kapacity všech zdrojů å i ai (součet všech dílčích kapacit) a všech požadavků cílových míst å j bj (součet požadavků). Pouze ve speciálním případě bude patrně platit å i ai = å j bj . Takový dopravní problém budeme označovat jako vyrovnaný dopravní problém. V tomto případě platí, že všechny požadavky budou přesně uspokojeny a všechny kapacity budou vyčerpány. Dopravní problém, ve kterém å i ai ¹ å j bj budeme označovat jako nevyrovnaný dopravní problém. Při převisu na straně nabídky zůstane část kapacity nevyužita a podobně při převisu na straně poptávky nebudou uspokojeny všechny požadavky. My se v dalším textu budeme zabývat pouze vyrovnaným dopravním problémem, neboť nevyrovnaný problém lze na vyrovnaný snadno převést. Tento převod se realizuje tak, že
Zbývá poznamenat, že ocenění vztahu mezi zdroji a cílovými místy cij je u fiktivních činitelů nulové. Při formulaci matematického modelu vyrovnaného dopravního problému si je třeba uvědomit, že model bude obsahovat m.n proměnných xij vyjadřujících objem přepravy mezi i-tým zdrojem a j-tým cílovým místem a dále bude obsahovat (m+n) vlastních omezení. Omezení jsou přitom dvojího druhu. Prvních m představuje bilanci pro jednotlivé zdroje – součet dodávek ze zdrojů cílovým místům nesmí přesáhnout kapacitu jednotlivých zdrojů (vzhledem k vyrovnanosti dopravního problému bude roven této kapacitě). Řádkové součty proměnných v tabulce 1 se tedy rovnají příslušným kapacitám. Zbývajících n omezení přísluší jednotlivým cílovým místům. Součet dodávek do jednotlivých cílových míst by se měl rovnat, opět vzhledem k vyrovnanosti dopravního problému, jednotlivým požadavkům. Matematický model vyrovnaného dopravního problému vypadá proto následovně: minimalizovat z = c11x11 + c12x12 + … + c1nx1n + … + cm1xm1 + cm2xm2 + … +cmnxmn za podmínek
+ x1n + x2n . . . + xmn = bn vn xij ³ 0, i = 1, 2, … , m, j = 1, 2, …, n. Koeficienty cij budeme v matematickém modelu označovat jako cenové koeficienty. Současně s formulaci matematického modelu budeme formulovat i model k němu duálně sdružený. Ve výše uvedené formulaci jsme označili symboly u1, u2, …, um duální proměnné příslušející kapacitnímu omezením a pro odlišení symboly v1, v2, …, vn duální proměnné pro omezení jednotlivých požadavků. Duální model bude vypadat následovně: maximalizovat f = a1u1 + a2u2 + … + amum + b1v1 + b2v2 + …+ bnvn za podmínek , u2 + v2 £ c12, . . um + vn £ cmn. Vlastní omezení duální úlohy lze přehledně zapsat v následující podobě: xij ³ 0 ui + vj £ ci j., i = 1, 2, …, m, j = 1, 2, …, n. Nebo lze zapsat takto: minimalizovat z =
za podmínek
Množina přípustných řešení vyrovnaného dopravního problému je určená soustavou (m+n) lineárních rovnic, které obsahují m.n proměnných, a podmínkami nezápornosti. Je však možné poměrně snadno ukázat, že hodnost rozšířené matice uvedené soustavy lineárních rovnic
není zrovna m+n, ale pouze m+n-1, že libovolný řádek uvedené matice lze získat jako lineární kombinaci všech řádků ostatních. Důsledkem toho je, že v základním řešení vyrovnaného dopravního problému je pouze m+n-1 základních proměnných.
Příklad: Společnost Multicomp, s.r.o. má v ČR 3 střediska (Plzeň, Pardubice, Olomouc), ve kterých montuje osobní počítače. Kapacita těchto středisek je 330, 150 a 220 ks počítačů měsíčně. Tyto počítače jsou distribuovány smluvním odběratelům v Brně, Praze, Ostravě a Liberci. Podle smluv dodá Multicomp jednotlivým odběratelům postupně 180, 250, 160 a 110 ks počítačů. Distribuční náklady mezi středisky a odběrateli byly vykalkulovány na 1 ks počítače ve výši, která je zřejmá z tabulky 2 – údaj v pravém horním rohu každého pole (uvedené hodnoty jsou ve stovkách Kč).
Tab. 2 – Dopravní problém – formulace ekonomického modelu. Formulace matematický modelu našeho vyrovnaného dopravního problému následnovně: minimalizovat z = 11x11 + 4x12 + 17x13 + 9x14 + 6x21 + 7x22 + 10x23 + 8x24 + 3x31 + 9x32 + 5x33 + 12x34 za podmínek
x11 + x12 + x13 + x14 = 330 x21 + x22 + x23 + x24 = 150 x31 + x32 + x33 + x34 = 220 x11 + x21 + x31 = 180 x12 + x22 + x32 = 250 x13 + x23 + x33 = 160 x14 + x24 + x34 = 110 xij ³ 0, i = 1, 2, 3, j = 1, 2, 3, 4.
Řešení dopravního problému
1. Výpočet výchozího základního řešeníPři výpočtu základního řešení se zde vlastně jedná pouze o to, doplnit do tabulky 1 hodnoty proměnných tak, aby jejich řádkové součty byly rovny kapacitám a sloupcové součty byly rovny požadavkům, a aby počet nenulových proměnných nebyl vyšší než m+n-1. Pro výpočet je možno použít tří metod: metoda severozápadního rohu, indexní metoda (metoda maticového minima) a metoda VAM. Metoda severozápadního rohuPříklad: Tato metoda umístí v prvním kroku přepravu do pole s proměnnou x11, které je v tabulce vlevo nahoře tedy na „severozápadě“. V našem případě představuje toto pole přepravu mezi Brnem a Plzní, která bude ve výši 180 ks a tím je požadavek Brna plně uspokojen a je třeba zredukovat kapacitu Plzně z původních 330 ks na 330 – 180 = 150 ks. Dále pokračujeme stejným způsobem.
Tab. 3 – Dopravní problém – metoda severozápadního rohu.
Tab. 4 – Výpočet hodnoty účelové funkce. Z tabulky 4 je vidět, že celkové náklady přepravy pro řešení získané metodou severozápadního roku jsou 565 000 Kč. Pozn.: Tato metoda poskytuje v typickém případě velmi špatné řešení, nebere totiž při obsazování přepravy v úvahu vůbec náklady přepravy. Proto se tato metoda nedoporučuje používat.
Indexní metoda (metoda maticového minima)Příklad: Tato metoda jako první umístí přepravu do pole s minimálními jednotkovými přepravními náklady, v našem případě jde o pole Olomouc-Brno. Umisťujeme stejně jako v předešlé metodě.
Tab. 4.8 – Dopravní problém – indexní metoda
Hodnota účelové funkce tohoto řešení je 438 000 Kč, což je lepší výsledek než v předchozí metodě.
Indexní metoda poskytuje v typickém případě lepší řešení než metoda severozápadního rohu. Tuto skutečnost však nelze brát jako pravidlo. Negativním rysem indexní metody je, že sice zpočátku obsazuje přepravu do nejvýhodnějších polí, ale může se snadno stát, ze nakonec je třeba obsadit pole s nejméně výhodnými cenovými koeficienty. Metoda VAM (Vogelova aproximační metoda)Příklad: Výpočet metodou VAM budeme ilustrovat na stejném příkladu. Tabulka 6 obsahuje 5 kroků výpočtu optimálního řešení. Tato metoda vychází z toho, že se pro každý řádek a sloupec dopravního problému vypočítají tzv. DIFERENCE, což je rozdíl mezi nejmenšími cenovými koeficienty v daném řádku či sloupci.. Vybere se pole, které má nejnižší cenový koeficient v řádku nebo sloupci s maximální diferencí. Může nastat situace, kdy existuje více řádků a sloupců se stejnou maximální diferencí. Pak vybereme pole, které má nejnižší sazbu z těch polí, které leží v řádcích a sloupcích s těmito maximálními diferencemi.Po obsazení pole dojde k vyloučení řádku a sloupce. Přepočítáme diference a postup zopakujeme.
Tab. 6 – Dopravní problém – metoda VAM (1. – 5. krok). Hodnota účelové funkce tohoto řešení je 366000 Kč a je tedy výrazně lepší než řešení získané předchozími metodami.
Metoda VAM poskytuje v typickém případě nejlepší řešení. 2. Test optimalityPo nalezení výchozího základního řešení je třeba provést test optimality, který spočívá ve výpočtu redukovaných cenových koeficientů zij zij = ui + vj – cij, i = 1, 2, …, m, j = 1, 2, …, n. Pro každou základní proměnnou xij, která je v typickém případě kladná, platí podle této věty zij = ui + vj – cij = 0, tedy ui + vj = cij. Aby řešení, jehož optimalitu testujeme, bylo řešením optimálním, musí platit pro všechny nezákladní proměnné, že jsou jejich redukované ceny nekladné. Dostáváme tedy dvě podmínky optimality: Výpočetní realizace testu optimality:
Příklad: Test optimality ukážeme na výchozím základním řešení našeho příkladu, tabulka 5. Základní proměnné s jejich hodnotou a jim odpovídající rovnice ui + vj = cij uvádíme v následujícím přehledu: x12 = 250 Þ u1 + v2 = 4 , x12 = 80 Þ u1 + v3 = 17 , x12 = 40 Þ u2 + v3 = 10 , x12 = 110 Þ u2 + v4 = 8 , x12 = 180 Þ u3 + v1 = 3 , x12 = 40 Þ u3 + v3 = 5 .
Položíme-li například neznámou v3 = 0, potom pro ostatní duální proměnné dostáváme již snadno – u1 = 17, u2 = 10, u3 = 5, v1 = -2, v2 = - 13 a v4 = -2. Pro nezákladní proměnné vypočteme redukované ceny: x11 = 0 Þ z11 = u1 + v1 – c11 = 17 – 2 – 11 = 4 , x14 = 0 Þ z14 = u1 + v4 – c14 = 17 – 2 – 9 = 6 , x21 = 0 Þ z21 = u2 + v1 – c21 = 10 – 2 – 6 = 2 , x22 = 0 Þ z22 = u2 + v2 – c22 = 10 – 13 – 7 = -10 , x32 = 0 Þ z32 = u3 + v2 – c32 = 5 – 13 – 9 = -17 , x34 = 0 Þ z34 = u3 + v4 – c34 = 5 – 2 – 12 = -9 . Z uvedeného přitom plyne, že testované řešení není optimální, protože je zde test optimality porušen u proměnných x11, x14 a x21, u kterých jsou redukované ceny kladné. 3. Výpočet nového základního řešeníVolba vstupující proměnné Provádí se stejně jako u simplexovy metody. Zvolí se ta proměnná, která nejvíce porušuje test optimality. Volí se tedy podle maximálního kladného redukovaného cenového koeficientu. Zrs = max (zij ) zij > 0 Pokud toto určení není jednoznačné, zvolí se vstupující proměnná libovolně z proměnných, které přicházejí v úvahu. Vstupující proměnná určuje klíčové pole. V našem případě je vstupující proměnná x14 , protože redukovaná cena u této proměnné je 6, a porušuje tak nejvíce test optimality. Volba vystupující proměnné Je třeba nejdříve zkonstruovat tzv. uzavřený kruh. Je to posloupnost obsazených polí, která začíná a současně končí v klíčovém poli. Tento kruh je určen jednoznačně. Po určení uzavřeného kruhu označíme jeho prvky střídavě symbolem +t a –t. V klíčovém poli je přitom symbol +t. Vystupující proměnná je určená minimální hodnotou xij , které jsou označeny symbolem –t. Pokud je polí s touto minimální hodnotou více, zvolí se vstupující proměnná libovolně z nich. Hodnota t určuje současně hodnotu nově vstupující proměnné. V našem případě vychází jako vystupující proměnná x13 a hodnota t =80. Přepočet tabulky dopravního problému K polím označeným +t se jednoduše hodnota t přičte a naopak od polí označených –t se odečte. Ostatní pole zůstanou beze změny. V každém kroku výpočtu musí zůstat zachován počet základních proměnných m+n-1. Změnu hodnoty účelové funkce pro vstupující proměnnou xrs lze vypočítat podle vztahu ∆z(xrs) = -t* Zrs . V našem případě dostáváme ∆z(x14 ) = -80*6 = -480 – hodnota účelové funkce se sníží o 48000 Kč. V našem případě je vstupující proměnou tedy x14 . Klíčové pole a prvky uzavřeného kruhu jsou v tabulce zvýrazněny. Vystupující proměnná je zřejmě x13 –hodnota t = min (80,110) = 80. Hodnota účelové funkce se v prvním kroku snížila z hodnoty 438000 Kč o 48000 Kč a její nová hodnota je 390000 Kč. V novém řešení opět realizujeme test optimality. V našem případě je porušen pouze u proměnné x21 , jejíž cenový koeficient je roven 2 (má být záporný). Je to teda nová vstupující proměnná. Vystupující proměnnou je x23 – hodnota t = min(120,180) = 120. Změna hodnoty účelové funkce nového řešení je rovna ∆z(x21 )= -120*2 = -240 – nová výše nákladů je tedy 390000 – 24000 = 366000 Kč. Přepočteme-li znovu tabulku dosáhneme již optimálního řešení, protože všechny nezákladní proměnné již budou záporné. Všimněte si, že se jedná o řešení, které je shodné s výchozím základním řešením vypočteným metodou VAM.
Vyrovnaný dopravní problém má vždy optimální řešení. Optimální řešení může být přitom buď jediné nebo alternativní. Jediné řešení má dopravní problém v případě, že jsou všechny redukované cenové koeficienty u nezákladních proměnných záporné. Pokud je alespoň jeden z těchto koeficientů roven nule má dopravní problém alternativní řešení. zpět
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||