Dopravní problém


Nahoru

Formulace ekonomického a matematického modelu

Řešení dopravního problému

 

 

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 modelu

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).

Cílová místa

O1

O2

On

D1

c11

x11

c12

x12

 

c1a

x1a

 

a1

D2

c21

x21

c22

x22

c2n

x2n

a2

.

.

.

Dm

cm1

xm1

cm2

xm2

cmn

xmn

am

Požadavky cíl. míst

b1

b2

bn

ai

bj

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

Ř při převisu nabídky k modelu doplníme tzv. fiktivní cílové místo OF (fiktivní odběratel), jehož požadavek bude roven å i ai - å j bj , tj. rozdílu mezi celkovými kapacitami a požadavky – tabulka 1 bude tedy rozšířena o nový sloupec,

Ř při převisu poptávky k modelu doplníme tzv. fiktivní zdroj DF (fiktivní dodavatel), jehož kapacita bude rovna å j bj - å i ai , tj. rozdílu mezi sumou požadavků a kapacit – tabulka 1 bude tedy rozšířena o nový řádek.

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

x11 + x12 + … + x1n = a1 u1

x21 + x22 + … + x2n = a2 u2

. . .

. . .

. . .

xm1 + xm2 + … + xmn = am um

x11 + x21 . . . + xm1 = b1 v1

x12 + x21 . . . + xm2 = b2 v2

. . . . .

. . . . .

. . . . .

+ 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

u1 + v1 £ c11,

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 = cijxij

za podmínek

xij = ai, i = 1, 2, …, m,

xij = bj, j = 1, 2, …, n,

xij ³ 0, i = 1, 2, …, m, j = 1, 2, …, n.

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č).

 

Brno

Praha

Ostrava

Liberec

Kapacity

Plzeň

11

x11

4

x12

17

x13

9

x14

330

Pardubice

6

x21

7

x22

10

x23

8

x24

150

Olomouc

3

x31

9

x32

5

x33

12

x34

220

Požadavky

 

180

 

250

 

160

 

110

700

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.


 

 nahoru

Řešení dopravního problému

Dopravní problém je možné řešit standardní simplexovou metodou.

 

Metoda má tyto kroky:
 
  1. výpočet výchozího základního řešení

  2. test optimality (v případě, že je řešení už optimální, ukončení výpočtu)

  3. výpočet nového základního řešení s lepší (nižší) hodnotou účelové funkce – tento krok  zahrnuje podobně jako u simplexové metody:

volbu vstupující proměnné,
volbu vystupující proměnné,
přepočet tabulky, ve které je výpočet realizován.


 

 

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 rohu

Pří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.

 

Brno

Praha

Ostrava

Liberec

Kapacity

Plzeň

11

180

4

150

17

9

 

330

Pardubice

6

7

100

10

50

8

 

150

Olomouc

3

9

5

110

12

110

 

220

Požadavky

 

180

 

250

 

160

 

110

 

700

Tab. 3 – Dopravní problém – metoda severozápadního rohu.

 

Základní proměnná

(přeprava odkud – kam)

Objem

přepravy

Jednotkové

náklady

Podíl na

celk. náklady

x11 (Plzeň – Brno)

180

1 100

198 000

x12 (Plzeň – Ostrava)

150

400

60 000

x21 (Pardubice – Praha)

100

700

70 000

x22 (Pardubice – Ostrava)

50

1 000

50 000

x33 (Olomouc – Ostrava)

110

500

55 000

x34 (Olomouc – Liberec)

110

1 200

132 000

Náklady celkem

xxx

xxx

565 000

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ě.

 

Brno

Praha

Ostrava

Liberec

Kapacity

Plzeň

11

4

250

17

80

9

 

330

Pardubice

6

7

10

40

8

110

150

Olomouc

3

180

9

5

40

12

 

220

Požadavky

 

180

 

250

 

160

 

110

700

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ě.

 

Základní proměnná

(přeprava odkud – kam)

Objem

přepravy

Jednotkové

náklady

Podíl na

celk. náklady

x11 (Plzeň – Praha)

250

400

100000

x12 (Plzeň – Ostrava)

80

1700

136000

x21 (Pardubice – Ostrava)

40

1000

40000

x22 (Pardubice – Liberec)

110

800

88000

x33 (Olomouc – Brno)

180

300

54000

x34 (Olomouc – Ostrava)

40

500

20000

Náklady celkem

xxx

Xxx

438000

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.

1. krok

Brno

Praha

Ostrava

Liberec

Kapacity

Diference

Plzeň

11

4

250

17

9

 

330

5

Pardubice

6

7

10

8

 

150

1

Olomouc

3

9

5

12

220

 

2

Požadavky

 

180

 

250

 

160

 

110

700

Diference

 

3

 

3

 

5

 

1

2. krok

Brno

Praha

Ostrava

Liberec

Kapacity

Diference

Plzeň

11

4

250

17

9

 

330

2

Pardubice

6

7

-

10

8

 

150

2

Olomouc

3

9

-

5

160

12

220

 

2

Požadavky

 

180

 

250

 

160

 

110

700

Diference

 

3

 

Xxx

 

5

 

1

3. krok

Brno

Praha

Ostrava

Liberec

Kapacity

Diference

Plzeň

11

4

250

17

-

9

 

330

2

Pardubice

6

7

-

10

-

8

 

150

2

Olomouc

3

60

9

-

5

160

12

220

 

9

Požadavky

 

180

 

250

 

160

 

110

700

Diference

 

3

 

xxx

 

xxx

 

1

4. krok

Brno

Praha

Ostrava

Liberec

Kapacity

Diference

Plzeň

11

4

250

17

-

9

 

330

2

Pardubice

6

120

7

-

10

-

8

 

150

2

Olomouc

3

60

9

-

5

160

12

-

220

 

xxx

Požadavky

 

180

 

250

 

160

 

110

700

Diference

 

5

 

xxx

 

xxx

 

1

5. krok

Brno

Praha

Ostrava

Liberec

Kapacity

Diference

Plzeň

11

-

4

250

17

-

9

80

330

xxx

Pardubice

6

120

7

-

10

-

8

30

150

xxx

Olomouc

3

60

9

-

5

160

12

-

220

 

xxx

Požadavky

 

180

 

250

 

160

 

110

700

Diference

 

xxx

 

xxx

 

xxx

 

1

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.

 

Základní proměnná

(přeprava odkud – kam)

Objem

přepravy

Jednotkové

náklady

Podíl na

celk. náklady

x11 (Plzeň – Praha)

250

400

100000

x12 (Plzeň – Liberec)

80

900

72000

x21 (Pardubice – Brno)

120

600

72000

x22 (Pardubice – Liberec)

30

800

24000

x33 (Olomouc – Brno)

60

300

18000

x34 (Olomouc – Ostrava)

160

500

80000

Náklady celkem

xxx

xxx

366000

 

Metoda VAM poskytuje v typickém případě nejlepší řešení.


2. Test optimality

Po 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:

1. Pro každé obsazené pole sestavíme rovnici ui + vj = cij. Dostáváme tedy soustavu m+n-1 rovnic pro m+n neznámých. Tato soustava má jeden stupeň volnosti a proto libovolně jednu z neznámých položíme rovnu nule a ostatní dopoč2. ítáme.

3. Duální proměnné vypoč4. tené v prvním kroku použijeme pro ověření druhé podmínky optimality, která udává, že redukované ceny zij pro nezákladní proměnné musí být nekladné. Pokud tomu tak je, je testované základní řešení řešením optimálním.

 

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.

 

Brno

Praha

Ostrava

Liberec

Kapacity

ui

Plzeň

4 11

4

250

17

80 – t

6 9

+t

330

17

Pardubice

2 6

-10 7

10

40 + t

8

110 - t

 

150

10

Olomouc

3

180

-17 9

5

40

-9 12

220

 

5

Požadavky

 

180

 

250

 

160

 

110

700

vj

 

-2

 

-13

 

0

 

-2

Brno

Praha

Ostrava

Liberec

Kapacity

ui

Plzeň

-2 11

4

250

-6 17

9

80

330

0

Pardubice

2 6

+t

-4 7

10

120 - t

8

30

 

150

-1

Olomouc

3

180 - t

-11 9

5

40 + t

-9 12

220

 

-6

Požadavky

 

180

 

250

 

160

 

110

700

vj

 

9

 

4

 

11

 

9

Brno

Praha

Ostrava

Liberec

Kapacity

ui

Plzeň

-4 11

4

250

-8 17

9

80

330

0

Pardubice

6

120

-4 7

-2 10

8

30

 

150

-1

Olomouc

3

60

-9 9

5

160

-7 12

220

 

-4

Požadavky

 

180

 

250

 

160

 

110

700

vj

 

7

 

4

 

9

 

9

 

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