Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Doslid_Operaz.doc
Скачиваний:
12
Добавлен:
09.09.2019
Размер:
3.68 Mб
Скачать

12. Поліпшення плану перевезень

Візьмемо транспортну таблицю, яка складається із 5 рядків та 6 стовпчиків (кількість рядків і стовпчиків не суттєва).

ПП

ПВ

В1

В2

В3

В4

В5

В6

Запаси ai

А1

c11

c12

с13

c 14

+

с15

с16

a1

А2

c21

+

c22

с23

c24

с25

с26

a2

А3

с31

с32

с33

с34

+

с35

с36

а3

А4

с41

с42

с43

+

с44

с45

с46

+

а4

А5

с51

с52

с53

c54

с55

+

с56

а5

Замовлення bj

b1

b2

b3

b4

b5

b6

(12.1)


Циклом у транспортній таблиці
будемо називати декілька клітинок, з’єднаних замкнутою ламаною лінією, яка в кожній з цих клітинок здійснює поворот на 900. Наприклад, у табл.(12.1) зображено два цикли: перший з чотирма вершинами (2,1), (2,3), (4,3), (4,1) і другий з вісьмома вершинами (1,4), (1,6), (4,6), (4,4), (3,4), (3,5), (5,5), (5,4). Стрілками вказано напрямок проходження циклу. Не важко переконатися, що кожен цикл має парну кількість вершин, а отже, і парну кількість стрілок.

Домовимося відмічати знаком «+» ті вершини циклу, перевезення в яких збільшуються, а знаком «–» – вершини, в яких вони зменшуються. Цикл з вершинами, відміченими знаками «+» або «–», будемо називати орієнтованим. Знаки «+» та «–» у циклі будемо розставляти почергово, це означає, що у вершини зі знаком «+» дві сусідні мають знаки «–» і навпаки.

Перенести якусь кількість одиниць вантажу орієнтованим циклом означає збільшити перевезення у вершинах зі знаком «+», і зменшити перевезення на ту саму кількість вантажу у вершинах зі знаком «–».

Очевидно, що з перенесенням будь-якої кількості одиниць вантажу по циклу рівновага між запасами і замовленнями зберігається: сума перевезень у кожному рядку дорівнює запасам цього рядка, а сума перевезень у кожному стовпчику дорівнює замовленню по цьому стовпчику. Отже, за будь-якого циклічного перенесення, що залишає перевезення невід’ємними, допустимий (опорний) план залишається допустимим (опорним). Сумарна вартість усього плану перевезень може змінюватися – збільшуватися або зменшуватися.

Назвемо ціною циклу збільшення вартості перевезень із переміщенням одиниці вантажу означеним циклом. Очевидно, ціна циклу дорівнює алгебраїчній сумі вартостей, що стоять у вершинах циклу. Вартості, що стоять у вершинах циклу зі знаком «+» беруться із знаком «+», а ті, що стоять у вершинах із знаком «–», беруться зі знаком «–».

Наприклад, для циклів зображених в табл. (12.1), ціна циклів відповідно дорівнює:

с21 – с2 3+ с43 – с41 і с14 – с16 + с46 – с44 + с34 – с35 + с55 – с54.

Позначимо ціну циклу через r. Із переміщенням одиниці вантажу по циклу вартість перевезення збільшиться на величину r; із переміщенням по ньому k одиниць вантажу вартість перевезень збільшиться на kr. Звідси випливає: щоб поліпшити план перевезень, треба здійснювати перевезення тими циклами, ціна яких від’ємна. Якщо кожного разу вдасться здійснити таке переміщення, то вартість плану зменшиться на величину kr.

Оскільки перевезення не можуть бути від’ємними, будемо користуватися лише тими циклами, «від’ємні» вершини яких лежать у базових клітинках таблиці. Якщо циклів з від’ємними числом r у таблиці не залишилося, це означає, що подальше поліпшення плану не можливе, тобто задачі (10.3), (10.4), (10.5) розв’язані.

Відшукати цикли з від’ємними вартостями можна використовуючи метод потенціалів.

Будемо вважати, що кожен із пунктів відправлення Аі вносить на перевезення одиниці вантажу (все одно куди) якусь суму , у свою чергу кожен із пунктів призначення також вносить за перевезення одиниці вантажу суму . Ці суми передаються третій особі («перевізнику»). Позначимо

будемо називати псевдовартістю перевезення одиниці вантажу із пункту в пункт . Помітимо, що платежі , не обов’язково мають бути додатними: не виключено, що «перевізник» сам платить тому чи іншому пункту якусь премію за перевезення.

Позначимо всю сукупність платежів , через . Не уточнюючи, у який спосіб вони призначаються сформулюємо «теорему про платежі».

Теорема 1. Для заданої сукупності платежів сумарна псевдовартість перевезень

за будь-якого допустимого плану перевезень ( ) зберігає одне й те саме значення:

У цій формулі величина С залежить лише від сукупності платежів і не залежить від того, який допустимим планом ( ) використовується.

Доведемо це твердження. Маємо

Перетворимо першу з двох останніх сум

відповідно до рівностей (10.3).

Аналогічно

в силу рівностей (10.4).

Таким чином,

Останній вираз для від ( ) не залежить для будь-якого допустимого плану. Теорему 1 доведено.

Спробуємо встановити зв’язок між вартостями та псевдовартостями. Припустимо, що план ( ) допустимий і не вироджений (кількість базових клітинок у таблиці дорівнює n+m-1). Для всіх цих клітинок . Визначимо платежі так, щоб в усіх базових клітинках псевдовартості дорівнювали вартостям:

при .

Для довільних клітин ( ) співвідношення між та може бути будь-яким:

або при .

Співвідношення між та у вільних клітинках таблиці показує, чи оптимальний план перевезень обрано і чи можна його поліпшити.

Теорема 2. Якщо в усіх базових клітинках ( )

(12.2)

а для всіх вільних клітинок ( )

(12.3)

то план перевезень оптимальний і ніяким способом не може бути здешевлений.

Доведення. Позначимо через – план перевезень із системою платежів , що задовольняє умови теореми 2. Визначимо його сумарну вартість: (12.4)

У сумі (12.4) відмінні від нуля лише доданки, які відповідають базовим клітинкам, але в них вартості дорівнюють псевдовартостям (згідно з (12.2)). Тому

Згідно з теоремою 1 . Тепер замінимо план ( ) іншим планом ( ). Новий план має сумарну вартість :

(12.5)

де – нові кількості перевезень, відмінні від нуля, в інших клітинах. Деякі з них збігаються з попередніми клітинками попереднього плану, а інші – з вільними. У першому випадку вартості співпадають з , а в іншому

згідно (12.3). Тому сума (12.5)

Звідси випливає, що в умовах теореми 2 ніякими змінами плану перевезень ( ) його вартість змінити не можна. Це означає, що план перевезень, який задовольняє умови теореми 2 – оптимальний. Теорему доведено.

Не важко переконатися, що дана теорема справедлива також для виродженого плану, у якому деякі з базових змінних дорівнюють нулю. Дійсно, те, що в базових клітинках перевезення строго додатні, для доведення не суттєво: достатньо, щоб вони були невід’ємними.

Таким чином, доведено, що ознакою оптимальності плану ( ) є виконання умов:

для всіх базових клітинок;

для всіх вільних клітинок.

(12.6)

План, для якого виконуються ці умови називається потенціальним, а відповідні платежі – потенціалами пунктів . Теорему 2 можна переформулювати так: будь-який потенціальний план оптимальний.

Для розв’язання ЗТТ треба побудувати потенціальний план. Його можна побудувати методом послідовних наближень, задаючись спочатку довільною системою платежів, які задовольняють першу з умов (12.6). Причому в кожній базовій клітинці призначимо суму платежів, що дорівнює вартості перевезень у цій клітинці, потім будемо поліпшувати план, змінюючи систему платежів так, щоб вони наближались до потенціальних.

Для поліпшення плану перевезень використаємо властивість платежів і псевдовартостей: яка б не була система платежів , що задовольняє першу з умов (12.6), для кожної вільної клітинки вартість циклу перерахунку дорівнює:

(12.7)

Приклад. Розглянемо таблицю:

ПП

ПВ

В1

В2

В3

В4

В5

В6

А1

c11

c12

с13

c14

с15

+

с16

А2

c21

c22

+

с23

c24

с25

с26

А3

с31

с32

с33

+

с34

с35

с36

А4

с41

с42

с43

с44

с45

с46

А5

с51

с52

с53

с54

с55

с56

(12.8)


Не будемо проставляти в табл. (12.8) ні запаси ні замовлення, ні перевезення (вони нам не потрібні), просто помітимо (обведемо жирною лінією) базові клітинки.

Візьмемо будь-яку вільну клітинку, наприклад (1,5), і побудуємо її цикл перерахунку, додатна вершина якого лежить у вільній клітинці, а всі інші – в базових. Визначимо вартість циклу:

Відповідно до умов (12.6) для всіх базових клітинок вартість дорівнює псевдовартостям, тому

Очевидно, що ця властивість справедлива для будь-якої довільної клітинки. Крім того, вона спрощує пошук циклів з від’ємною вартістю.

Процедура побудови потенціального плану така: як перше наближення до оптимального плану береться будь-який допустимий план. Платежі можна визначити так, щоб виконувалась умова

(12.9)

Рівнянь у (12.9) m+n-1, а кількість невідомих m+n, отже, одну з невідомих можна взяти довільною (наприклад, нульовою), а інші визначимо із системи: для всіх вільних клітин. Якщо виконується умова то ЗТТ розв’язана, оскільки план перевезень оптимальний. Якщо ж хоча б в одній вільній клітинці псевдовартість більша за вартість:

(12.10)

то план перевезень не оптимальний і може бути поліпшений перенесенням перевезень по циклу, який відповідає вільній клітинці. Вартість циклу встановлюється за формулою (12.7).

Алгоритм розв’язання ЗТТ методом потенціалів (на підставі теореми 2) такий:

  1. Беремо будь-який опорний план перевезень, у якому відмічено m+n-1 базових клітинок (інші клітинки – вільні).

  2. Визначаємо для цього плану платежі виходячи з умови, що в будь-якій базовій клітинці псевдовартість дорівнює вартості:

один з платежів можна призначити довільно, наприклад, покласти рівним нулю.

  1. Перераховуємо псевдовартість для всіх вільних клітинок. Якщо всі вони не перевищують вартостей, то план перевезень оптимальний.

  2. Якщо хоча б в одній вільній клітинці псевдовартість більша за вартість, необхідно поліпшити план, перерозподіливши перевезення по циклу, який відповідає будь-якій вільній клітинці з від’ємною вартістю циклу.

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

Приклад. Розв’язати ЗТТ методом потенціалів, якщо опорний план побудовано за допомогою методу північно-західного кута.

ПП

ПВ

В1

В2

В3

В4

В5

Запасиai

Платежіαі

А1

10 10

17

8 8

+ 8

6 9

5 6

4 5

25

0

А2

8 5

+

6 6

– 13

4 4

19

3 3

2 8

32

-2

А3

9 9

7 7

5 5

22

4 4 14

3 3

4

40

-1

А4

6 14

4 10

2 8

1 8

8 8

20

20

4

Замов-лення bj

17

21

41

14

24

117

Платежі

βj

10

8

6

5

4

(12.11)


У табл. (12.11) з’явився один стовпчик для платежів αі та один рядок для платежів βj.

Псевдовартості будемо записувати в лівій частині кожної клітинки, а вартості – у правій. Один з платежів, наприклад, αі покладемо рівним нулю ( ). Для кожної базової клітинки покладемо . Випишемо клітинки, де виконується ця рівність:

Отримаємо вісім рівнянь і дев’ять невідомих, тому маємо право одну з невідомих покласти рівною нулю ( ):

(12.12)

Оскільки не всі псевдовартості у вільних клітинках табл. (12.11) задовольняють умову (12.6), план наведений в таблиці не оптимальний. Спробуємо його поліпшити, переводячи в базову одну з вільних клітинок, для якої , наприклад, клітинку (2,1). Будуємо відповідний цій клітинці цикл (див. табл. (12.11)). Вартість циклу 5 – 8 = –3. Перенесемо по ньому 13 одиниць вантажу (найменше число, що стоїть у вершинах циклу з від’ємними вершинами). Сумарна вартість перевезень зменшилася на .

Знову повторимо перетворення в таблиці, перерахувавши псевдовартості після заміни в (12.12) рівняння на , перерозв’язавши систему рівнянь.

Послідовне перетворення табл. (12.11) в (12.13), (12.4), (12.15). Табл. (12.15) містить оптимальні розміри перевезень оптимальними маршрутами.

ПП

ПВ

В1

В2

В3

В4

В5

Запасиai

Платежіαі

А1

10 10

4

8 8

21

9 9

8 6

+

7 5

25

0

А2

5 5

13

+

3 6

4 4

19

3 3

2 8

32

-5

А3

6 9

4 7

5 5

22

+

4 4

14

3 3

4

40

-4

А4

11 14

9 10

10 8

9 8

8 8

20

20

1

Замов-лення bj

17

21

41

14

24

117

Платежі

βj

10

8

9

8

7

(12.13)

ПП

ПВ

В1

В2

В3

В4

В5

Запаси

ai

Платежі

αі

А1

8 10

8 8

21

7 9

6 6

4

5 5

25

0

А2

5 5

17

5 6

4 4

15

3 3

2 8

32

-3

А3

6 9

6 7

5 5

2 6

4 4

10

3 3

+ 4

40

-2

А4

11 14

11 10

10 8

+

9 8

8 8

20

20

3

Замов-лення bj

17

21

41

14

24

117

Платежіβj

8

8

7

6

5


(12.14)

ПП

ПВ

В1

В2

В3

В4

В5

Запаси ai

Платежіαі

А1

8 10

8 8

21

7 9

6 6

4

5 5

25

0

А2

5 5

17

5 6

4 4

15

3 3

2 8

32

-3

А3

6 9

6 7

5 5

6

4 4

10

3 3

24

40

-2

А4

9 14

9 10

8 8

20

7 8

6 8

20

1

Замов-лення bj

17

21

41

14

24

117

Платежі

βj

8

8

7

6

5


(12.15)

Відповідь:

Поняттям «платежі» та «псевдовартості» можна дати наочну економічну інтерпретацію.

Будемо вважати, що – реальні платежі, які пункти та платять за перевезення одиниці вантажу третій особі «перевізнику». Будемо також вважати, що інтереси А і В не антагоністичні. Нехай вони діють як єдина економічна система. Перевезення одиниці вантажу з пункту в пункт об’єктивно дорівнює , а сторони А та В разом платять за це перевезення «перевізнику» суму . Оптимальним буде такий план перевезень, за якого пункти та не платять «перевізнику» понад об’єктивну вартість перевезень. Тобто такий план, будь-яке відхилення від якого не буде вигідне системі АВ, оскільки примусить платити за перевезення більше, ніж якби пункти самі перевозили вантаж.

Розв’яжемо методом потенціалів ЗТТ у виродженому випадку.

Приклад. Розв’язати ЗТТ, транспортна таблиця якої має вигляд (12.16). Будемо вважати, що опорний план методом північно-західного кута побудували.

ПП

ПВ

В1

В2

В3

Запаси

ai

А1

6

20

4

2

20

А2

3

5

25

4

25

А3

3

6

3

30

30

Замов-лення bj

20

25

30

75

(12.16)


Для розв’язання цієї виродженої ЗТТ використовуємо такий прийом. Будемо вважати, що в пункті А1 знаходиться не 20 одиниць вантажу, а трохи більше: 20+ε (ε – мала кількість). У пункті А2 не 25 одиниць вантажу, а 25+ε; у пункті А3: 30-2ε.

Після застосування методу північно-західного кута до нової таблиці, отримаємо табл. (12.17).

ПП

ПВ

В1

В2

В3

Запаси

ai

Платежі

αі

А1

6 6

20

4 4

+ ε

3 2

20+ ε

0

А2

7 3

5 – 5

25- ε

4 4

+

25+ ε

1

А3

6 3

+

4 6

3 – 3

30-2ε

30-2ε

0

Замов-лення bj

20

25

30

75

Платежі

βj

6

4

3

(12.17)


Далі, використовуючи метод потенціалів, одержуємо послідовно табл. (12.18)-(12.20).

ПП

ПВ

В1

В2

В3

Запаси

ai

Платежі

αі

А1

3 6

4 4

2 0+ε

3 2

+

20+ ε

0

А2

4 3

5 5

5–ε +

4 – 4

20+2ε

25+ ε

1

А3

3 3

20

4 6

3 3

10-2ε

30-2ε

0

Замовлення bj

20

25

30

75

Платежі

βj

3

4

3

(12.18)

ПП

ПВ

В1

В2

В3

Запаси

ai

Платежі

αі

А1

2 6

3 4

2 2

20+ ε

20+ ε

0

А2

4 3

5 5

25

4 4

+ ε

25+ ε

2

А3

3 3

20 +

4 6

3 – 3 10-2ε

30-2ε

1

Замовлення bj

20

25

30

75

Платежі

βj

2

3

2


(12.19)

ПП

ПВ

В1

В2

В3

Запаси

ai

Платежі

αі

А1

2 6

4 4

2 2

20+ ε

20+ ε

0

А2

3 3

ε

5 5

25

3 4

25+ ε

1

А3

3 3

20-ε

5 6

3 3

10-ε

30-2ε

1

Замовлення bj

20

25

30

75

Платежі

βj

2

4

2


(12.20)

Після побудови потенціального плану в табл. (12.20) покладемо ε =0.

Відповідь:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]