Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lektsiyi_Ukhanska_1

.pdf
Скачиваний:
19
Добавлен:
12.02.2016
Размер:
2.03 Mб
Скачать

2. Метод мінімального елемента ( метод найменшої вартості).

Метод найменшого елемента відрізняється від попереднього лише послідовністю заповнення клітинок. У попередньому випадку ми не звертали уваги на вартість перевезень. Тут ми починаємо заповнювати таблицю з тієї клітинки, в якій вказана мінімальна вартість перевезень на даному етапі оптимізації. Розглянемо як працює цей метод на попередньому прикладі.

Пункти призна-

 

 

 

 

 

Пункти чення

В1

В2

В3

В4

В5

постачання

 

 

 

 

 

А1

3

1

3

4

3

 

53

 

 

12

 

 

 

 

А2

2

3

1

2

3

27

 

21

20

 

 

 

 

А3

3

5

2

2

4

 

 

 

22

18

 

 

 

 

Потреби

27

53

21

42

30

 

 

 

 

 

 

Запаси

65

68

40

173

 

Спочатку серед

клітинок

із

найменшою собівартістю

перевезень

( клітинки

A1 B2 , A2 B3 ) заповнюємо довільну, наприклад спочатку

A1B2 , а потім - A2 B3 . Наступна

мінімальна вартість перевезень є в клітинках A2 B1 , A2 B4

, A3 B3 , A3 B4

, але заповнити можна

тільки

A2 B1

, A2 B4

, A3 B4 ,

оскільки

потреби споживача

B3

 

задоволені

повністю.

Заповнювати

клітинки

A B ,

A B

потрібно, враховуючи

запаси

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

 

 

 

 

 

2

1

2

4

 

 

 

 

 

 

2

клітинку

A3 B4 - потреби споживача

B4 . Поточна мінімальна вартість 3 од. знаходиться в

клітинках

A1 B1 , A1 B3 ,

A1 B5

, A2 B2

, A2 B5 , A3 B1 , а заповнити можемо лише клітинку A1 B5

(65-53=12). Далі заповнюємо клітинку із собівартістю 4 одиниці

A3 B5 (30-12=18). Отже,

опорний план має вигляд

 

 

 

 

 

 

 

 

 

 

 

 

 

0

53

0

0

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

27

0

21

20

 

0 ,

 

 

 

 

 

 

 

 

 

0

0

0

22

 

 

 

 

 

 

 

 

 

 

 

 

18

 

 

 

 

 

m n 1 3 5 1 7 ,

L 1 53 3 12 2 27 1 21 2 20 2 22 4 18 320од.

40

Коротко ознайомимося ще з двома методами пошуку опорного плану.

3. Метод апроксимації Фотеля.

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

Якщо мінімальна вартість перевезень є однаковою для декількох клітин даного рядка

(стовпця ), то заповнювати таблицю починають з тієї клітинки, яка розміщена у стовпці

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

4. Метод подвійної переваги.

Якщо таблиця вартостей має значні розміри, то перебір всіх елементів таблиці є громіздким. У цьому випадку зручно застосовувати метод подвійної переваги.

У кожному стовпці відзначаємо знаком (v) клітинку з найменшою вартістю. Те саме робимо у кожному рядку. В результаті деякі клітинки будуть мати подвійну позначку (vv).

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

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

поміченими одним знаком (v). У незаповненій частині таблиці розміщуємо перевезення за найменшою вартістю.

§ 3.3. Критерій оптимальності опорного плану.

Метод потенціалів розв’язування транспортної задачі.

Теорема 1. Для того щоб деякий план

X

x

ij

 

 

 

 

m,n

транспортної задачі був оптимальним,

необхідно

і достатньо, щоб йому відповідала

така система з

u , u

2

,..., u

m

, v , v

2

,..., v

n

, для якої виконуються умови

1

 

 

 

1

 

 

 

 

 

 

v j ui

cij

i

 

,

j

 

 

 

1, m

1, n

 

v j

ui

cij

для тих пар індексів, для яких xij

0 .

m n

чисел

(3.6)

(3.7)

41

 

Умови

(3.6)-(3.7)

називають

умовами

потенціальності

системи

чисел

ui i 1, m , v j

j 1, n , а самі числа – потенціалами відповідних пунктів постачання Ai

і призначення

B j . Зауважимо, що умова (3.6) виконується для всіх вільних клітинок, а

(3.7) – для базових.

 

 

 

 

 

 

 

 

Метод розв’язування транспортної задачі, пов’язаний з побудовою системи

потенціалів ui ,

v j , називається методом потенціалів.

 

 

 

 

 

 

 

Алгоритм методу потенціалів.

 

 

1.

Знаходимо початковий опорний план транспортної задачі.

 

 

2.

Для побудованого плану встановлюємо такі числа ui , v j , щоб v j

ui cij

для тих

 

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

 

систему

n m 1 рівнянь з n m невідомими. Прийнявши одне з невідомих за

 

нуль, решту можемо легко знайти .

 

 

 

3.

Для небазисних (вільних) клітин обчислюємо значення

 

 

 

ij

cij

ui

v j

 

 

 

 

(3.8)

 

Якщо всі

ij

0 ,

то

згідно з

критерієм

оптимальності побудований

план є

 

оптимальним.

 

 

 

 

 

 

 

4.

Якщо серед чисел

ij

є від’ємні, то переходимо до нового

опорного плану,

значення лінійної форми для якого є меншим. Знову виконуємо пункти 2, 3, 4 доки не отримаємо оптимальний план.

Перехід до покращеного плану задачі.

Серед вільних клітин попереднього

від’ємну характеристику ij . Нехай

min

 

i, j

плану

 

ij

 

kl

 

 

вибираємо ту, яка

має найменшу

. Якщо мінімум

досягається для

декількох пар індексів i, j , то вибираємо ту пару, якій відповідає найменша вартість перевезень. Цю клітинку потрібно вводити в базис і саме з неї починати побудову так званого циклу ( перерахунок поставок ).

Означення 1. Циклом називається ламана лінія, вершинами якої є базисні клітинки, а

ланками є перпендикулярні відрізки, що виходять із вершин під прямим кутом ( одна по горизонталі, а друга по вертикалі ).

42

Якщо ланки ламаної, яка утворює цикл, перетинаються, то точка самоперетину не є

вершиною.

Означення 2. Цикл, одна вершина якого лежить у вільній клітинці, а всі інші – в базових,

називають циклом перерахунку.

Починаючи із клітинки k,l , вершини циклу перерахунку ( а разом з ним і

клітини) почергово позначають знаками “+” і “-“. Серед клітин із знаком “-“ вибираємо ту,

величина перевезень xij в якій

найменша. Нехай ця клітинка має індекси s, t

і їй

відповідає величина перевезень

xst . Якщо для клітинки із знаком “-“ мінімум

xij

досягається для декількох пар індексів, то вибираємо ту клітинку, якій відповідає максимальна вартість перевезень cij . Клітинку з індексами s, t виводимо з базису.

Компоненти нового опорного плану визначаємо за формулами

 

x

ij

 

 

 

 

xij

 

 

xij

 

 

x

 

 

 

ij

 

 

для клітинок із знаком " " для клітинок із знаком " " для клітинок, які не містять вершин

.

циклу

Розглянемо приклад з §3.2. Нехай початковий опорний план знайдений методом мінімального елемента. Застосуємо до цієї задачі метод потенціалів.

Побудуємо для базових клітинок систему рівнянь:

A1 B2 : A1 B5 : A2 B1 : A2 B3 : A2 B4 : A3 B4 : A3 B5 :

u1 v2 1u1 v5 3u2 v1 2u2 v3 1 .u2 v4 2u3 v4 2u3 v5 4

Ця система складається з 7 рівнянь ( m n 1 3 5 1 7

), а невідомих є 8. Покладемо

u1 0 . Тоді u2 1, u3 1, v1 1, v2 1, v3 0, v4

1, v5

3

. Для того щоб опорний план

був оптимальним, необхідно і достатньо, щоб

коефіцієнти ij cij ui v j 0 для

вільних клітинок. Знайдемо значення величин

ij :

11 c11 u1 v1 3 0 1 2 ,

 

13

3,

14

3,

22

1,

 

25

1,

 

31

1,

32

3,

33

1

 

 

 

 

 

 

 

 

 

 

позначаючи рамками.

і запишемо їх у таблицю,

43

 

 

 

Пункти при-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значен-

В1

В2

В3

 

В4

В5

 

 

 

Запаси

ui

 

 

 

Пункти

ня

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

постачання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A1

 

3

1

3

4

 

3

 

 

65

0

 

 

 

 

 

2

53

3

 

3

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A2

 

2

3

1

2

-

3

+

 

 

68

1

 

 

 

 

 

27

1

21

 

20

-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

5

2

2

 

4

 

 

 

 

 

 

 

 

 

A3

 

1

3

1

+

22

- 18

 

40

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Потреби

 

27

53

21

 

42

30

 

173

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

vj

 

1

1

0

 

1

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перевіримо правильність побудованої системи. Для цього обчислюємо значення

ui

v j

для всіх базисних (зайнятих) клітинок. Якщо ці величини дорівнюють відповідним

значенням собівартості перевезень cij , то система побудована правильно; в протилежному випадку її треба або побудувати заново, або внести в неї зміни так, щоб умова (3.7)

виконувалась.

Оскільки 25 0 , то опорний план не є оптимальним. А тому необхідно зробити перерозподіл перевезень. Будуємо цикл перерахунку (рис.3.1), починаючи з клітинки

A2 B5 , де значення величини є від’ємним. Очевидно, що перевезення у клітинці A2 B5

-

+

20-1

+-

2218

2

17

40

0

Рис.3.1. Рис.3.2.

можна лише збільшити, тому вибираємо знак “+”. Виберемо у від’ємних вершинах найменше базове значення: min 20, 18 18. Отже, 18. У додатних вершинах циклу додаємо число 18, а у від’ємних – віднімаємо. Результат обчислень зображено на рис. 3.2.

В результаті перерозподілу ми отримали новий невироджений опорний план, який має вигляд

44

Пункти при-

 

 

 

 

 

значен-

В1

В2

В3

В4

В5

Пункти ня

 

 

 

 

 

постачання

 

 

 

 

 

 

 

 

 

 

 

A1

3

1

3

4

3

 

53

 

 

12

 

 

 

 

 

 

 

 

 

 

A2

2

3

1

2

3

27

 

21

2

17

 

 

 

 

 

 

 

 

A3

3

5

2

2

4

 

 

 

40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аналізуючи останню таблицю, бачимо, що всі коефіцієнти

35

0 , тому опорний план буде оптимальним

 

 

 

 

0

53

0

0

12

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

X

 

27

0

21

2

17

 

,

Lmin

299.

 

 

 

 

 

 

0

0

0

40

0

 

 

 

 

 

 

 

 

 

 

 

 

Економічна інтерпретація.

 

ij

0

 

 

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

Суми чисел у клітинках транспортної таблиці за

i -тим рядком або j -тим стовпцем

є величинами сталими і виражають кількість наявної продукції на

i -му пункті

виробництва (постачання) та потреби j -го пункту використання (призначення). Тому для

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

Ai B j

повинне компенсуватися збільшенням перевезень у сусідніх клітинках циклу. Знаки “+”

вказують на те, що об’єм перевезень повинен збільшитися, а “-“ – зменшитися. Так в останньому прикладі перевезення у вільній клітинці A2 B5 можна лише збільшити, що позначено символом “+”. Баланс перевезень буде збережено, коли вони будуть зменшені на ту саму кількість у клітинках A2 B4 і A3 B5 і збільшено у клітинці A3 B4 . Зменшення

перевезень може бути здійснене відповідно у розмірах 20 або 18 одиниць у пунктах A2 B4

і A3 B5 відповідно. Очевидно, що найменше з цих значень визначає величину змін

перевезень у циклі. Щоб число базових клітинок не змінилося, клітинку, на значення якої робиться зсув на число (клітинка A3 B5 ), робимо вільною.

Зауваження 1. Значення базових клітинок, які не брали участі в циклі перерахунку, в

новій таблиці залишаються без змін.

45

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

§ 3.4. Відкрита модель транспортної задачі.

На практиці нерідко зустрічаються транспортні задачі, в яких загальна сума запасів не дорівнює загальній сумі потреб. Такі задачі називають транспортними задачами з

неправильним балансом ( відкрита модель транспортної задачі ). Розв’язують такі задачі методом потенціалів, звівши їх попередньо до відповідної задачі з правильним балансом.

Для задачі з перевищенням суми запасів над сумою потреб

m

n

ai

b j

i 1

j 1

вводять

фіктивний пункт призначення

B

n 1

 

m

з потребами bn 1

i 1

n

ai b j . Фіктивність пункту

j 1

призначення

Bn 1

враховують, вважаючи всі величини

c

того, щоб не змінювалась загальна вартість перевезень ).

Математична модель такої задачі має вигляд

i n 1

i 1, m

рівними нулю ( для

m

 

n

 

 

 

 

 

L cij xij min

i 1

j 1

 

 

 

 

 

n

 

 

i 1, m

xij

ai

j 1

 

 

 

 

 

 

 

m

 

 

j 1, n

xij

b j

i 1

 

i

 

 

 

 

xij 0

 

, j

 

1.m

1, n

Для розв’язування одержуємо розширену задачу з им пунктами призначення і для якої виконується умова

m

пунктами постачання і

n

1

-

 

 

 

m

n 1

 

 

 

 

 

 

ai

b j .

 

 

 

 

 

i 1

 

j 1

 

 

 

Очевидно,

якщо

X

*

 

*

 

 

 

xij

m,n 1

 

 

 

 

 

 

 

 

X *

 

 

 

 

 

xij*

m,n

, отриманий

з X *

 

 

 

 

 

 

 

 

 

початкової задачі.

 

 

 

 

 

 

- оптимальний план розширеної задачі, то план

відкиданням останнього стовпчика, буде розв’язком

46

 

 

 

m

Для задачі з перевищенням суми потреб над сумою запасів

ai

 

 

 

i 1

фіктивний пункт постачання Am 1 із запасами am 1

, які дорівнюють

am 1

аналогічно до попереднього випадку вважаємо, що

cm 1 j 0

j 1, n .

Математична модель такої задачі має вигляд

 

 

 

n b j

j 1

n b j

j 1

вводять

m

 

ai

, і

i 1

 

 

 

m n

 

 

 

 

 

L cij xij min

 

 

 

i 1 j 1

 

 

 

 

 

n

 

 

 

i

 

 

 

 

xij

ai

1, m

 

j 1

 

 

 

 

 

 

 

m

 

 

 

j 1, n

 

xij

b j

 

i 1

0 i

 

 

j 1, n

 

x

ij

1.m,

 

 

 

 

 

 

 

 

 

Матимемо

 

розширену

задачу з

m 1 - пунктами

призначення і для якої виконується умова балансу

m 1

 

n

 

 

 

 

 

ai

b j .

 

 

 

i 1

 

j 1

 

 

 

 

 

постачання і

n

пунктами

Після вказаних перетворень в обох випадках задача зведеться до закритої моделі і буде розв’язуватися відповідним методом. В результаті розв’язування отримаємо, що витрати на перевезення вантажу реальним споживачам будуть мінімальними, а

фіктивному споживачу буде відправлено вантаж від менш вигідних постачальників.

Те саме отримаємо і по відношенню до фіктивного постачальника.

Приклад. Нехай транспортна задача задається даними:

4

5

5

3

C

 

 

 

.

 

8

6

9

 

 

10

C - матриця

 

собівартості перевезень,

b 50, 60,90, 40 - матриця потреб.

a 150, 80

- матриця запасів;

Загальні суми запасів ai 150 80 230 і потреб b j 50 60 90 40 240

не збігаються, причому маємо другий випадок. Вводимо фіктивний пункт постачання A3

із запасами a3 240 230 10 і нульовими вартостями та складаємо початковий опорний план, наприклад, методом найменшої вартості.

47

 

 

 

Пункти при-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пунк-

значен-

 

В1

 

 

В2

 

 

В3

В4

Запаси

 

 

 

 

 

ти поста-

ня

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А1

 

 

4

 

 

5

 

 

5

 

3

150

 

 

 

 

 

 

 

50

 

-

 

 

 

60

40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А2

 

 

8

 

 

6

 

 

9

 

10

80

 

 

 

 

 

 

 

 

-

 

60

 

 

20

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А3(фікт.)

 

0

 

 

0

 

 

0

 

0

10

 

 

 

 

 

 

 

-

 

-

 

 

 

10

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Потреби

 

50

 

 

60

 

 

90

40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найменша

собівартість

перевезення

є

в

клітинці

A1B4 , отже починаємо

заповнювати табличку з цієї клітинки ( 40

од.

).

Потреби споживача B4 задоволені

повністю. Наступною заповнимо клітинку A1 B1

( 50 од. ), де собівартість дорівнює 4.

Потреби пункту

B1

задоволені повністю.

Далі найменша вартість є у клітинках A1B2 і

A B

із собівартістю 5. А запасів пункту

A залишилося 150-40-50=60 од. Заповнимо,

1

3

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

наприклад, клітинку

A1 B3

( 60 од. ), вичерпавши при цьому запаси пункту постачання

A1 .

Наступною заповнюємо клітинку

A2 B2 ( 60 од. ) із собівартістю 6. Потреби пункту

B2

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

B3 .

Для цього в нас залишилось 80-60=20 од. запасів пункту A2

і 10 од. запасів фіктивного

пункту A3 . Заповнивши клітинки

A2 B3 і A3 B3

, отримуємо опорний план задачі

 

 

 

50

0

60

40

 

X

 

0

60

20

0

 

 

 

 

 

 

 

0

0

10

0

 

 

 

 

 

і

L 4 50 5 60 3 40 9 20 6 60 0 10=1260.

здійснюємо методом потенціалів.

 

Пошук оптимального плану

§ 3.5. Транспортна задача за критерієм часу.

При деяких умовах, наприклад, у бойовій обстановці, при транспортуванні певних видів товарів, в аварійних ситуаціях тощо, вартість перевезення має другорядне значення,

а на перше місце виходить завдання мінімізації того часу, протягом якого здійснюються всі перевезення. Так виникає транспортна задача за критерієм часу.

Постановка транспортної задачі за критерієм часу відрізняється від транспортної задачі за критерієм вартості лише тим, що замість матриці тарифів перевезень вводять

48

матрицю T

tij

часу перевезень, де

tij

- час перевезень товару з пункту

Ai в пункт

 

 

m,n

 

 

 

 

 

 

 

призначення

B j

. Потрібно визначити такий план перевезень X

*

 

*

, який мінімізує

 

xij

 

 

 

 

 

 

 

 

m,n

 

загальний час перевезення всіх вантажів і компоненти якого задовольняють звичайні умови транспортної задачі

n

 

i 1, m

xij

ai

j 1

 

 

m xij

i 1

xij

m ai

i 1

0 

b

j

 

i

n

 

j 1

b

j

1, n

1.m,

j 1, n

j .

 

 

Вираз для цільової функції у математичній моделі такої задачі змінюється, оскільки

оптимальний розв’язок, побудований за умовою мінімізації функції

m

n

L tij xij

i 1

j 1

, не

забезпечуватиме мінімального часу перевезень. Позначимо через

tij

 

 

 

 

 

 

x

матриці T tij

, які відповідають додатним перевезенням xij плану

 

m,n

 

 

 

 

час, необхідний для реалізації плану X

, виразиться формулою

 

 

tx

max tij ,

 

 

 

 

 

x

 

 

 

а час, необхідний для реалізації оптимального плану, -

 

 

tопт min tx

min max tij

.

 

 

 

x

x

x

 

 

 

 

 

 

набір

X

x

елементів

ij

. Тоді

 

m,n

1.

2.

Алгоритм розв’язування задачі.

На першому кроці знаходимо початковий опорний план методом північно-

західного кута або мінімального елемента ( приймаючи за cij величини tij ).

Для кожної ітерації серед значень

tij , які відповідають додатним перевезенням xij

плану X

 

 

 

xij

 

 

 

, вибираємо найбільше:

max tij tkl

. Викреслюємо всі вільні

 

 

 

 

 

 

 

 

 

 

 

 

m,n

 

xij 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

клітинки i, j

 

таблиці, для яких

tij tkl і

tij tkl при

xij 0 ( їх завантажувати

недоцільно, бо це приведе до збільшення часу) і переходимо до нового плану

X

/

 

x

/

такого, щоб

/

0 . Цей перехід здійснюється так. З клітин, які не

 

 

 

 

ij

xkl

 

 

 

 

 

m, n

 

 

викреслені, складаємо цикл ( як в методі потенціалів ). Клітинку з індексами k,l

приймаємо за першу від’ємну клітину. Далі знаки чергуємо. Серед клітин із знаком

“-“ вибираємо ту, для якої значення xij є найменшим, наприклад, елемент xst .

49

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