Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
matmodeom / MMM_Lek / U_M_d_8.rtf
Скачиваний:
14
Добавлен:
12.05.2015
Размер:
427.69 Кб
Скачать

Транспортна задача

Си­п­ле­кс-­ме­тод є уні­вер­саль­ним ме­то­дом роз­в'я­зан­ня за­дач лі­ній­но­го про­гра­му­ван­ня. Про­те іс­нує клас за­дач, що мо­ж­на ви­рі­ши­ти більш про­с­то. До них від­но­ся­ть­ся роз­по­ді­ль­ні за­да­чі, на­при­к­лад, транс­пор­т­на за­да­ча, що одер­жа­ла ши­ро­ке пра­к­ти­ч­не за­сто­су­ван­ня.

У за­галь­но­му ви­гля­ді транс­пор­т­на за­да­ча фор­му­лю­є­ть­ся: не­хай ма­є­ть­ся m пун­к­тів поста­чаль­ни­ків, у ко­ж­но­му з який є свій за­пас ван­та­жу j= 1, 2, ..., m. Цей ван­таж не­об­хід­но до­ста­ви­ти в n пун­к­тів спо­жи­ва­чів. По­тре­ба ван­та­жу скла­дає bj, j = 1, 2, …, n. Ві­до­ма вар­тість пе­ре­во­зу оди­ни­ці ван­та­жу сij з аi в bi. Не­об­хід­но скла­с­ти та­кий план пе­ре­во­зів ван­та­жу, щоб за­до­во­ль­ни­ти усіх спо­жи­ва­чів і мі­ні­мі­зу­ва­ти ви­тра­ти на пе­ре­ве­зен­ня, тобто ви­зна­чи­ти хij (кіль­кість ван­та­жу з пун­к­ту i у j) так, щоб ці­льо­ва фун­к­ція бу­ла мі­ні­маль­ною.

min

Вва­жа­є­мо, що кіль­кість ван­та­жів на пун­к­тах поста­чаль­ни­ка до­рі­в­нює по­трі­б­ній кіль­ко­с­ті ван­та­жу.

У да­но­му ви­пад­ку ми ма­є­мо за­да­чу лі­ній­но­го про­гра­му­ван­ня, у якій є (n+m) об­ме­жень і (nm) не­ві­до­мих. Ви­рі­ши­ти да­ну за­да­чу мо­ж­на рі­з­но­ма­ні­т­ни­ми спо­со­ба­ми, один із них роз­по­ді­ль­ний ме­тод. У цьо­му ви­пад­ку ви­ко­ри­с­то­ву­є­ть­ся таб­ли­ця, що за­по­в­ню­є­ть­ся в та­кий спо­сіб:

Пункти

постачальника

Споживачі

В1

В2

Вn

Запас

А1

c11

c12

c1n

a1

А2

c21

c22

c2n

a2

Аm

cm1

cm2

cmn

am

Споживачі

b1

b2

bn

С по­ча­т­ку скла­да­є­ть­ся ви­хі­д­ний до­пу­с­ти­мий план пе­ре­ве­зень. При ма­шин­но­му роз­ра­хун­ку зви­чай­но для цьо­го ви­ко­ри­с­то­ву­є­ть­ся ме­тод пі­в­ні­ч­но-за­хі­д­но­го ку­та. При ру­ч­но­му роз­ра­хун­ку при за­по­в­нен­ні таб­ли­ці по­верх униз об­чи­с­лю­є­ть­ся ква­д­рат із мі­ні­маль­ною вар­ті­с­тю пе­ре­ве­зень, а по­тім ви­ко­ну­є­ть­ся змі­на пла­ну пе­ре­ве­зень так, щоб зна­чен­ня ці­льо­вої фун­к­ції зме­н­шу­ва­ло­ся.

По­ка­же­мо су­т­ність да­но­го ме­то­ду на при­кла­ді.

Не­хай є 3 пун­к­ти поста­чаль­ни­ків (m=3) і 4 пун­к­ти спо­жи­ва­чів (n=4), за­пас ван­та­жу а1=10, а2=15, а3=7, по­тре­ба у ван­та­жах b1=3, b2=5, b3=10, b4=14.

В1

В2

В3

В4

ai

А1

31

53

27

1

10

А2

2

4

82

73

15

А3

6

5

4

71

7

bj

3

5

10

14

z = 3 + 15 + 14 + 16 + 21 + 7 = 76

x11 = 3 x12 = 5 x13 = 2

x23 = 8 x24 = 7

x34 = 7

min

В1

В2

В3

В4

ai

А1

31

3

7

71

10

А2

2

4

102

53

15

А3

6

55

4

21

7

bj

3

5

10

14

В1

В2

В3

В4

ai

А1

31

53

-7

21

10

А2

2

4

10-2

53

15

А3

6

5

4

71

7

bj

3

5

10

14

z = 3 + 15 + 2 + 20 + 15 + 7 = 62

Ви­бір кра­що­го пла­ну пе­ре­во­зу здій­с­ню­є­ть­ся шля­хом об­чи­с­лен­ня рі­з­ни­ці між но­вим і ста­рим зна­чен­ня­ми фун­к­ції по фор­му­лі:

z(1) – z(0) = (1 – 7 – 2 + 3)

У скла­дах змі­на вар­то­с­ті ван­та­жу при змі­ні пла­ну з усіх об­чи­с­ле­них по не­за­по­в­не­них ква­д­ра­тах змі­нам вар­то­с­ті ви­би­ра­є­ть­ся най­біль­ше від'єм­не, що вка­зує, як зро­би­ти змі­ну пла­ну пе­ре­ве­зень.

Кіль­кість пе­ре­роз­по­ді­лу ван­та­жу до­рі­в­нює зна­чен­ню xij по усіх від'єм­них клі­тин­ках (2<7). Да­на про­це­ду­ра по­вто­рю­є­ть­ся до­ти, по­ки змі­на пла­ну пе­ре­ве­зень не ста­не ме­н­ше.

x13: 7 – 1 + 3 – 2 > 0

z21: 2 – 1 + 1 – 3 = – 1

z22: 4 – 3 + 1 – 3 = – 7

z31: 6 – 1 + 1 – 1 > 0

x32: 5 – 3 + 1 – 1 > 0

x33: 4 – 2 + 3 – 1 > 0

У то­му ви­пад­ку, ко­ли кіль­кість за­по­в­не­них ква­д­ра­тів бу­де ме­н­ше (m+n–1), вар­то вве­с­ти до­да­т­ко­ву змін­ну, рі­в­ну ну­лю, що не впли­не на су­ма­р­ну вар­тість пе­ре­ве­зен­ня ван­та­жу.

В1

В2

В3

В4

ai

А1

31

3

7

7-1

10

А2

2

5-4

102

3

15

А3

6

0-5

4

71

7

bj

3

5

10

14

x12: 3 – 1 + 1 – 5 = – 2

x13: 7 – 1 + 1 – 5 + 4 – 2 > 0

x21: 2 – 1 + 1 – 5 – 4 > 0

x24: 3 – 1 + 5 – 4 > 0

x31: 6 – 1 + 1 > 0

Соседние файлы в папке MMM_Lek