Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Úterý 11:00 – 12:30 hod. učebna 212 RB © Lagová, Kalčevová
4EK213 – LINEÁRNÍ MODELY Úterý 11:00 – 12:30 hod. učebna 212 RB © Lagová, Kalčevová
2
9. PŘEDNÁŠKA DOPRAVNÍ PROBLÉM II.
© L&K
3
OSNOVA PŘEDNÁŠKY 1. Báze v DP 2. Distribuční metoda
3. Modifikovaná distribuční metoda 4. Transformace řešení 5. Degenerace v DP 6. Prohibitivní cena v DP © L&K
4
UZAVŘENÝ OBVOD Uzavřený obvod v dopravní tabulce je grafickým znázorněním lineární kom-binace vektorů Sestrojíme ho tak, že vyjdeme z určitého políčka DT a po obsazených polích v řád-cích a sloupcích (ne diagonálně) se k té-muž políčku vrátíme Přitom můžeme některá obsazená políčka přeskočit (v lineární kombinaci mají koefi-cient roven nule) © L&K
5
Počet obsazených polí je m+n−1=6 Netvoří uzavřený obvod, řešení je ZPŘ
• Příklady: 1. Na obrázku (9.1) je schematicky zakresleno přípustné řešení DP. Určete, zda je toto řešení i základním přípustným řešením. Počet obsazených polí je m+n−1=6 Netvoří uzavřený obvod, řešení je ZPŘ Obr. 9.1 Vektory obsazených políček tvoří bázi © L&K
6
ní DP. Určete, zda je to ZPŘ ?
• 2. Na obrázku (9.2) je opět přípustné řeše- ní DP. Určete, zda je to ZPŘ ? Počet obsazených polí ? Tvoří obsazená pole uzavřený obvod ? Řešení není ZPŘ Vektory obsazených políček netvoří bázi © L&K
7
BÁZE V DP Vektory strukturních koeficientů základ-ních proměnných tvoří matici báze B Počet sloupců matice B je ? Počet řádků matice B je ? Jeden řádek je lineární kombinací ostat-ních, můžeme ho z matice B vynechat Dostaneme redukovanou matici báze B0 © L&K
8
Všechny báze jsou trojúhelníkové
ZÁKLADNÍ VĚTA DP (4) Základní věta DP: Všechny báze jsou trojúhelníkové Alespoň jedna proměnná je tedy osamo-cena v řádku a alespoň jedna ve sloupci © L&K
9
Dopravní problém je tedy vždy možno řešit v celých číslech
Hodnoty základních proměnných se tedy dají vyjádřit sčítáním a odčítáním kapacit a požadavků Důsledek: jsou-li všechny dílčí součty ka-pacit ai a požadavků bj celá čísla, jsou rov-něž všechny proměnné každého základní-ho řešení celá čísla Dopravní problém je tedy vždy možno řešit v celých číslech Toho je možno využít např. při výpočtu nového řešení po postoptimalizačních změnách kapacit a požadavků Např. při postoptimalizačních změnách © L&K
10
Příklad 9.1 1. Vypište matici báze B
• V tabulce 9.3 je ZPŘ dopravního problému 1. Vypište matici báze B Tab. 9.1 © L&K
11
B = (9.1) Matice báze B=[ a11, a12, a13, a21] © L&K
matici B zeleně !!! © L&K
12
2. Vyjádřete proměnné pomocí kapacit a po- žadavků:
Tab. 9.2 • Dosadíme: ? © L&K
13
VÝPOČET OŘ • Některou z aproximačních metod vypočte- me výchozí řešení
• Pokračujeme iterační metodou: 1. testujeme optimalitu řešení: - není-li řešení optimální,určíme vstu- pující proměnou 2. určíme vystupující proměnnou: - v DP vždy existuje 3. transformujeme řešení Vracíme se k bodu 1 © L&K
14
1. TEST OPTIMA Koeficienty účelové funkce zij doprav-ního problému je třeba na rozdíl od SM v každé iteraci vypočítat samostatně Existují dva způsoby výpočtu: a. distribuční metoda b. modifikovaná distribuční metoda Distribuční metoda je historicky starší a rovněž komplikovanější. Popíšeme zde proto jen její princip © L&K
15
DISTRIBUČNÍ METODA Koeficient zij vypočteme stejně jako
v simplexové metodě podle vzorce: zij = cBTB–1aij – cij (9.2) V dopravní tabulce ale nemáme matici B–1 Můžeme však vyjádřit vektor aij jako lineár-ní kombinaci vektorů báze Dostaneme tak transformovaný vektor B–1aij Výpočet pomocí uzavřeného obvodu uká-žeme na příkladě © L&K
16
Příklad 9.2 V tabulce 9.3 je výchozí řešení DP z pří-kladu 8.6
Naším cílem je zjistit, zda je možno obsa-zením některého volného políčka snížit hodnotu účelové funkce, tj. počet tuno-kilometrů K testu optimality si vybereme políčko (1,1) Utvoříme uzavřený obvod políčka (1,1) s obsazenými políčky © L&K
17
O1 O2 O3 ai D1 9 3 2 150 D2 7 8 4 200 D3 5 6 11 250 bj 220 180 600 − + 150 170 + - 30 220 - 30 + Tab.9.3 © L&K
18
Vyjádříme vektor a11 jako lineární kombi-naci vektorů báze:
a11 = 1.a13 – 1.a a22 – 1.a a31 Podle (9.2) vypočteme koeficient c’11: c’11 = = +1.2 − − = 5 Vypočteme z11: z11= = - 4 Protože hledáme minimum účelové funk-ce, není dopravní cesta (1,1) výhodná Vypočtěte stejným způsobem zbylé koeficienty zij v neobsazených políčkách..? © L&K
19
O1 O2 O3 ai D1 9 3 2 150 -4 D2 7 8 4 200 D3 5 6 11 250 bj 220 180 3060 3 150 170 30 Kroužky a čísla na webu vynechat !!!!!!!!!! 220 30 -9 Tab.9.4 © L&K
20
MODI METODA xj > 0 aij ui = cj
MODI metoda využívá pro test optima vlastností sdružených problémů defino-vaných ve větách o dualitě Princip metody: 1. Vyjdeme z primárně přípustného řešení 2. Vypočteme duální proměnné podle první podmínky věty o rovnováze: ? xj > aij ui = cj m i=1 © L&K
21
VÝPOČET ui a vj Vyjdeme z omezení duálního problému ui + vj ≤ cij
Vybereme všechna omezení odpovídající základním proměnným Tato omezení jsou podle 1. podmínky věty o rovnováze splněna jako rovnost: xij > ui + vj = c*ij (9.3) kde c*ij … je cena základní proměnné, i = 1, 2, …, m, j = 1, 2, …, n © L&K
22
Dostaneme soustavu m+n−1 rovnic a m+n proměnných
Soustava má jeden stupeň volnosti Za jednu proměnnou dosadíme nulu, hod-noty ostatních dopočítáme Zvolíme obvykle u1=0 Poznámka: Pokud položíme rovnu nule jinou proměnnou (nebo zvolíme jinou hod-notu), jsou vypočtené hodnoty duálních proměnných jiné, ale jejich součty jsou stejné © L&K
23
Příklad MODI metoda O1 O2 O3 ai D1 9 3 2 150 D2 7 8 4 200 D3 5 6 11 250 bj 220 180 600 150 170 30 220 30 Tab.9.5 • Sestavte podle (9.3) soustavu rovnic a vypočtěte hodnoty ui + vj ? © L&K
24
1. Z tabulky 9.5 výchozího řešení vypíšeme
soustavu rovnic pro výpočet duálních proměnných: 3. Vypočteme: v3 = 2 – 0 = 2 u2 = 4 - v3 = 2 v2 = 8 - u2 = 6 u3 = 6 - v2 = 0 v1 = 5 – u3 = 5 u1 + v3 = 2 u2 + v3 = 4 u2 + v2 = 8 u3 + v2 = 6 u3 + v1 = 5 2. Dosadíme u1 = 0 © L&K
25
TEST OPTIMA Podle věty o dualitě stačí testovat duální přípustnost, tj. splnění duálních omezení: ui + vj ≤ cij neboli ui + vj - cij ≤ (9.4) Dá se odvodit (z obecných vzorců na obr. 5.2), že ui + vj = c’ij a tudíž c’ij - cij = zij (9.5) Podle věty o dualitě © L&K
26
optimální Všechna duální omezení jsou splněna, je-li zij ≤ 0 (9.6)
pro všechna políčka řešení je optimální V opačném případě výpočet pokračuje určením vstupující proměnné podle g = max (zij ) = zpk (9.7) (hledáme políčko, kde je nejvíce porušena duální přípustnost) Podle věty o dualitě © L&K
27
Příklad 9.4 • Určete v tabulce 9.5 vstupující proměnnou
Dosadíme do: z11= u1 + v1 - 9 z12= u1 + v2 - 3 z21= u2 + v1 - 7 z33= u3 + v3 - 11 u1=0, u2=2, u3=0, v1=5, v2=6, v3=2 Testujeme: 0 + 5 – 9 = -4 < 0 0 + 6 – 3 = 3 > 0 2 + 5 – 7 = 0 = 0 = -9 < 0 Vstupující proměnná je x12 Výpočet je jednodušší v tabulce • Testovali jsme jen v neobsazených polích Proč ? Výpočet je jednodušší v tabulce © L&K
28
O1 O2 O3 ai ui D1 9 3 2 150 D2 7 8 4 200 D3 5 6 11 250 bj 220 180 600 vj 150 - 4 3 2 170 30 220 30 - 9 5 6 2 Tab.9.6 © L&K
29
VYSTUPUJÍCÍ PROMĚNNÁ Utvoříme uzavřený obvod políčka vstupu-jící proměnné (p,k) s obsazenými políčky Na políčko (p,k) dosadíme xpk=t >0 Tuto hodnotu přičteme a odečteme podle znamének v rozích uzavřeného obvodu Řešení v dalším kroku musí být ZPŘ Proto je t = min( ) (9.8) © L&K
30
TRANSFORMACE TABULKY V uzavřeném obvodu v tabulce podle znamének přičteme a odečteme t Nové řešení musí být základní přípustné Na políčku vstupující proměnné je nyní hodnota t Políčko vystupující proměnné je neobsa-zené, hodnota proměnné je rovna nule © L&K
31
Příklad 9.5 Určení vystupující proměnné
Vstupující proměnná je x12,vystupující proměnná je x13 podle t = min (150, 170) = 150 Příklad 9.5 Určení vystupující proměnné O1 O2 O3 ai ui D1 9 3 2 150 D2 7 8 4 200 D3 5 6 11 250 bj 220 180 600 vj + t - t 150 - 4 3 2 - t 170 + t 30 220 30 - 9 Tab.9.7 5 6 2 © L&K
32
Optimální řešení O1 O2 O3 ai ui D1 150 D2 200 D3 250 bj 220 180 600 vj
9 3 2 150 D2 7 8 4 200 D3 5 6 11 250 bj 220 180 600 vj 150 180 - 5 20 - 3 220 30 - 2 3 −1 Tab.9.8 © L&K
33
ALTERNATIVNÍ OŘ Jestliže je v optimálním řešení některý koeficient zij u nezákladní proměnné ro-ven nule, existuje další, tzv. alternativní optimální řešení Vypočteme ho tak, že tuto nezákladní pro-měnnou zvolíme jako vstupující Optimálních řešení existuje nekonečně mnoho Každé další optimální řešení je konvexní kombinací dosud vypočtených OŘ © L&K
34
Příklad 9.6 O1 O2 O3 ai ui D1 150 D2 200 D3 250 bj 220 180 600 vj 2610
− D2 7 8 4 200 + t −t D3 5 6 11 250 +t bj 220 180 600 vj 2610 150 5 20 180 Více rozfázovat ?! 3 220 30 2 3 −1 Tab.9.9 © L&K
35
Alternativní OŘ O1 O2 O3 ai ui D1 150 D2 200 D3 250 bj 220 180 600 vj
9 3 2 150 − D2 7 8 4 200 D3 5 6 11 250 bj 220 180 600 vj 2610 150 5 20 180 3 200 50 2 3 −1 Tab.9.10 © L&K
36
Nezákladní optimální řešení
Optimálním řešením základním je vektor x(1)=(0, 150, 0, 0, 20, 180, 220, 30, 0)T Základním optimálním řešením je i vektor x(2)=(0, 150, 0, 20, 0, 180, 200, 50, 0)T Optimálním řešením přípustným je např. vektor x(3)=1/2 x(1)+ 1/2 x(2) x(3)=(0, 150, 0, 10, 10, 180, 210, 40, 0)T Hodnota účelové funkce je z=2610 © L&K
37
DEGENERACE V DP V degenerovaném řešení je jedna nebo více základních proměnných rovna nule V dopravní tabulce jsou některá políčka obsazena nulou Při výpočtu mají stejný význam jako ostatní obsazená políčka Znamená to, že je bereme v úvahu jak při výpočtu hodnot duálních proměnných, tak i při určování hodnoty t © L&K
38
Příklad 9.9 - SZR O1 O2 O3 ai a‘i D1 220 D2 200 D3 180 bj b‘j 200 9 3
7 10 30 200 D3 180 bj 3980 b‘j 220 200 180 200 180 © L&K Tab.9.11
39
Test optima O1 O2 O3 ai ui D1 220 D2 200 D3 180 bj vj 7 -23 9 3 23 9 3
10 30 200 − D3 180 bj 3980 vj 220 21 7 200 -23 180 9 3 23 Tab.9.12 © L&K
40
Uzavřený okruh O1 O2 O3 ai ui D1 220 D2 200 D3 180 bj vj -7 -23 9 3 23
10 30 200 D3 180 bj 3980 vj 220 −t + t -7 +t 200 −t -23 180 9 3 23 © L&K Tab.9.13
41
Určení vystupující proměnné
Nejmenší hodnota v uzavřeném obvodu v tabulce 9.14 označená znaménkem (−) je: t =min(0,0)=0 Vyskytuje se na políčku (1,2) a (2,3) Zvolíme např. políčko (1,2) Znamená to, že proměnná x12 je proměnná vystupující a v další iteraci bude proměn-nou nezákladní Proměnná x23 zůstane základní © L&K
42
Nové řešení O1 O2 O3 ai ui D1 220 D2 200 D3 180 bj 600 vj 28 -2 9 -18
7 10 30 200 D3 180 bj 600 vj 220 28 200 -2 180 9 -18 2 Tab.9.14 © L&K
43
Pokračování výpočtu Ve výpočtu pokračujeme MODI metodou
V šesté iteraci dostáváme optimální řeše-ní: x=(0, 40, 180, 200, 0, 0, 20, 180, 0)T Degenerace se během výpočtu odstranila Může být OŘ degenerované ? Minimální hodnota účelové funkce je: z=1880 © L&K
44
Optimální řešení 6. O1 O2 O3 ai ui D1 220 D2 200 D3 180 bj vj 4 -3 3 3
9 3 2 220 +t D2 7 10 30 200 D3 180 bj 1880 vj 40 180 4 200 -3 20 160 3 3 2 © L&K Tab.9.15
45
Obecný distribuční problém
Obecný distribuční problém (ODP) je po-dobný dopravnímu problému především svým matematickým modelem Ekonomické modely se liší: - v DP jde o rozdělení zdrojů, které se ni- jak nemění, pouze se převážejí - v ODP jde o rozdělení (distribuci) čin- ností, jejichž realizací vznikají nové vý- robky (podobně jako v kapacitním prob- lému) © L&K
46
EKONOMICKÝ MODEL V ekonomickém modelu je zadána:
ai ... kapacita i-tého výrobního zařízení bj ... požadované množství j-tého druhu výrobků kij ... koeficienty výkonnosti cij ... cenové koeficienty V ODP obvykle kij udávají produktivitu práce za časovou jednotku i−tého zařízení při výrobě j−tého druhu výrobku Kapacity a požadavky nejsou ve stejných jednotkách Na rozdíl od DP jsou v ODP kapacity a požadavky v různých jednotkách © L&K
47
PROMĚNNÉ MODELU Jejich ekonomická interpretace a jednotky záleží jako vždy na formulaci ekonomic-kého modelu V ODP obvykle kij udávají produktivitu práce za časovou jednotku i−tého zařízení při výrobě j−tého druhu výrobku V tomto případě je proměnná xij ... počet časových jednotek, po které i−tý stroj vyrábí j− tý výrobek © L&K
48
MATEMATICKÝ MODEL Řádková omezení se formulují stejně jako v DP:
Na levé straně omezení je skutečné čer-pání kapacity zdroje, na pravé straně je celková kapacita zdroje Jednotky vlevo i vpravo jsou stejné (např. hodiny), není třeba přepočet © L&K
49
Sloupcová omezení zabezpečují splnění požadavků:
Pravá strana sloupcového omezení bj vyjadřuje požadavek na množství výrobku, tj. množství např. v kusech, kg apod. Koeficient výkonnosti umožní přepočet na shodné jednotky © L&K
50
Účelovou funkci většinou minimalizujeme stejně jako u DP:
Na rozdíl od DP není možno určit před výpočtem, zda je problém vyrovnaný Vlastní omezení proto na rozdíl od DP neformulujeme všechna jako rovnice, ale podle EM volíme buď v řádkových nebo sloupcových omeze-ních nerovnice © L&K
51
Matematický model xij ≥ 0 , i = 1, 2, ... , m, j = 1, 2, ... , n
minimalizovat za podmínek xij ≥ 0 , i = 1, 2, ... , m, j = 1, 2, ... , n © L&K
52
DUÁLNÍ PROBLÉM Za podmínek ui ≥ 0 i=1, 2, ..., m, j=1, 2, ..., n
−ui + kijvj ≤ cij ui ≥ 0 i=1, 2, ..., m, j=1, 2, ..., n maximalizovat účelovou funkci f = ∑−ai ui + ∑ bj vj Duální proměnné vj nemají podmínky nezápornosti © L&K
53
Řešení ODP K řešení ODP je možno použít i metod pro řešení dopravního problému, ale je nutné je upravit Výpočet se komplikuje: - výchozí řešení nelze vypočítat přímo - proměnné, kapacity a požadavky nejsou ve stejných jednotkách - obsazená pole mohou tvořit uzavřený obvod Programové systémy řeší proto tento problém simplexovou metodou © L&K
54
Příklad 9.10 Strojírenský podnik vyrábí součástky A a B na dvou druzích automatických strojů Hodinová výkonnost strojů ve 100 ks a náklady na hodinu práce i-tého stroje při výrobě j-tého druhu součástky jsou v ta-bulce I. Každý stroj pracuje 100 hodin Podnik potřebuje pro zajištění své výroby přesně kusů každé součástky Cílem je zajistit výrobu požadovaného množství součástek s minimálními náklady © L&K
55
Koeficienty kij a cij © L&K
56
Volba proměnných Zvolíme proměnnou: .............................. ?
Řádková omezení zabezpečí, že nebudou překročeny kapacity strojů Sloupcová omezení zajistí výrobu požado-vaného množství součástek Účelová funkce bude minimalizovat celko-vé náklady na výrobu © L&K
57
Formulace modelu Za podmínek x11 + x12 ≤ 100 x21 + x22 ≤ 100
xij ≥ 0, i, j = 1, 2 nalézt minimum účelové funkce z = 10x x x x22 © L&K
58
Duální problém Formulujeme nesymetrický duální prob-lém: za podmínek
−u v1 ≤ 10 −u v2 ≤ 40 −u v1 ≤ 20 −u v2 ≤ 50 u1, u2 ≥ 0 maximalizovat f = −100 u1 −100 u v v2 První omezení násobíme (-1) © L&K
59
Řešení modelu Úlohu jsme řešili SM Výchozí řešení je v tabulce:
© L&K
60
Optimální řešení v LinPro
Tab. 9.17 • Odtud je x=(75, 0, 0, 75, 25, 25, 0, 0)T uT=(0, 0, 1/2, 5/2, 0, 15, 17 1/2) z = f = 4500 © L&K
61
Ekonomická interpretace
Primární problém: x11=75 → stroj S1 bude 75 hodin vyrábět součástku A x22=75 → stroj S2 bude 75 hodin vyrábět součástku B x1= x2=25 → na každém stroji zbude 25 volných hodin y1= y2=0 → přitom se vyrobí přesně součástek A i B z2=4500 → náklady jsou 4500 Kč © L&K
62
u1=u2=0 → kapacity nejsou vyčerpány, jejich zvýšení neovlivní ná-
Stínové ceny: u1=u2=0 → kapacity nejsou vyčerpány, jejich zvýšení neovlivní ná- klady v1=0,5 → zvýšení požadovaného počtu součástek A o 1 kus zvýší ná- klady o 0,5 Kč v2=2,5 → zvýšení požadovaného počtu součástek B o 1 kus zvýší ná- klady o 2,5 Kč © L&K
63
KONEC © L&K
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.