- •Методичні вказівки до контрольної роботи 2
- •2. Транспортна задача лінійного програмування
- •2.2. Елементи теорії ігор. Матрична гра
- •2.3. Метод множників Лагранжа
- •Варіанти завдань контрольної роботи 2
- •2.1. Транспортна задача лінійного програмування
- •2.2. Матрична гра
- •2.3. Метод множників Лагранжа
- •Список навчально-методичної літератури
Методичні вказівки до контрольної роботи 2
2. Транспортна задача лінійного програмування
2.1. Постановка задачі
Загальна постановка транспортної задачі полягає у визначенні оптимального плану перевезень деякого однорідного вантажу із m пунктів виробництва А1, А2, ..., Аm в n пунктів призначення В1, В2, ..., Вn. При цьому за критерій оптимальності беруть або мінімальну вартість перевезень всього вантажу, або мінімальний час його доставки.
Якщо за критерій оптимальності розглядати мінімальну вартість перевезень, то задача формується так. Дано:
m – кількість пунктів виробництва деякого однорідного вантажу;
n - кількість пунктів призначення;
– об’єм
виробництва в і-му пункті, 1
і
m
(запаси),
bj - об’єм споживання в j-му пункті, 1 j n (потреби).
cij - матриця затрат на перевезення одиниці вантажу із і-го пункту виробництва в j-й пункт споживання.
Смислова постановка задачі: Скласти оптимальний план перевезень, тобто знайти скільки вантажу потрібно перевезти з кожного пункту відправлення у кожний пункт призначення так, щоб вартість перевезень була найменшою.
Математична
постановка задачі. Знайти множину
Χ=
,
що мінімізує функцію
(18)
за умовами
(19)
(20)
(21)
Будь-який
невід’ємний розв’язок систем лінійних
рівнянь (19) і (20), який визначається
матрицею
,
називається допустимим
планом
транспортної задачі.
План
,
при якому функція (18) приймає своє
мінімальне значення, називається
оптимальним
планом транспортної задачі.
Складемо так звану транспортну табл. 12.
Таблиця 12
Пункти |
Пункти призначення |
Запаси |
|||||||
відправлення |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Потреби
|
b1
|
|
bj
|
|
bn
|
|
|||
Для вирішення транспортної задачи необхідно і достатньо, щоб сума запасів вантажу в пунктах відправлення дорівнювали сумі потреб вантажу у пунктах призначення, тобто виконувалась рівність (22)
(22)
2.2. Поставимо конкретну задачу
Приклад 3.
Для транспортної задачі, вихідні дані якої наведені в таблиці 13, знайти оптимальний план.
Таблиця 13
Пункти |
Пункти призначення
|
Запаси
|
|||
відправлення |
В1
|
В2
|
В3
|
В4
|
|
|
3
|
4
|
6
|
3
|
|
А1 |
|
|
|
|
70 |
|
4
|
5
|
3
|
7
|
|
А2 |
|
|
|
|
40 |
|
5
|
4
|
6
|
6
|
|
А3 |
|
|
|
|
20 |
Потреби
|
40
|
40
|
20
|
30
|
130
|
2.3. Знаходження допустимого і одночасно базисного плану
Спочатку, використовуючи так званий метод північно-західного (тобто, лівого верхнього) кута, знаходимо опорний план задачі. В даній задачі число пунктів відправлення m=3, а число пунктів призначення п=4.
Опорним,
або базисним
планом транспортної задачі є план, у
якому ненульовими є рівно
змінна. Таким чином, у табл. 13 повинно
бути
ненульових змінних. Клітини, у яких
,
назвемо базисними,
решту – вільними.
Якщо надалі при перетворенні таблиці
звільняється більш як одна клітина, то
одна з них переходить в число вільних,
а в решту записується 0, і вони вважаються
базисними.
Заповнення
табл. 13 починаємо з клітин для невідомого
x11,
тобто спробуємо задовольнити потреби
першого пункту призначення за рахунок
запасів першого пункту відправлення.
Через те, що запаси пункту А1
більші за
потреби пункту В1,
то покладемо х11=40,
записуємо це значення в відповідній
клітинці табл. 14 і тимчасово виключаємо
із розгляду стовпчик
,
рахуючи
при цьому запаси пункту А1
рівними 30.
Таблиця 14
Пункти відправлення |
Пункти призначення |
Запаси |
|||
В1 |
В2 |
В3 |
В4 |
|
|
А1 |
3 40 |
4 30 |
6 |
3 |
70 |
А2 |
4 |
5 10 |
3 20 |
7 10 |
40 |
А3 |
5 |
4 |
6 |
6 20 |
20 |
Потреби |
40 |
40 |
20 |
30 |
130 |
Розглянемо
перші із тих, що залишились, пункти
відправлення
і призначення
В2.
Запаси пункту А1
менші за потреби пункту В2.
Покладемо
=30,
запишемо це значення в відповідній
клітинці табл. 14 і тимчасово виключимо
із розгляду рядок А1.
Запаси пункту А1
вичерпалися. Знову розглядаємо перші
із тих, що залишились, пункти відправлення
А2
і призначення В2.
Запаси пункту А2
більші потреб пункту В2.
Покладемо
=10
і виключимо із розгляду стовпчик В2.
Значення
=10
запишемо в відповідну клітинку табл.
14 і вважаємо запаси пункту А2
рівними 30.
Тепер
переходимо до заповнення клітинки для
невідомого
і т. д. Через п'ять кроків залишається
один пункт відправлення А3
з запасом 20 од. і один пункт призначення
В4
з потребами, що залишились, в 20 од.
Відповідно маємо одну вільну клітинку,
яку і заповнюємо, поклавши
=20.
Таким чином, в табл. 14 записаний опорний план
,
який потрібно тепер перевірити на оптимальність.
2.4. Знаходження оптимального плану
Перевіряємо план на оптимальність за допомогою методу потенціалів.
Хай пункти відправлення і призначення здійснюють платежі за перевезення.
Величини
платежів пунктів відправлення позначимо
через
,
а пунктів призначення – через
.
При цьому сума платежів повинна
дорівнювати вартості перевезень в
базисних (зайнятих) клітинах, тобто
,
,
.
(23)
Оскільки
кількість базисних клітинок завжди
дорівнює
,
а кількість платежів дорівнює
,
то в системі рівнянь (23) одне невідоме
буде вільним, тобто його можна задати
довільно, наприклад,
.
Тоді залишається послідовно розв’язати
рівняння:
.
Маємо таблицю 15:
Таблиця 15
|
|
|
|
|
|
||
|
3 40 |
4 30- |
6 2 |
3 6 + |
0 |
||
|
4 4
|
5 10+ |
3 20 |
7 -10 |
1 |
||
|
5 3
|
4 4
|
6 2 |
6 20 |
0 |
||
|
3 |
4 |
2 |
6 |
|
||
Суми
називаються псевдовартостями
:
(24)
У базисних клітинах псевдовартості дорівнюють вартостям, а у інших співвідношення може бути різним. Занесемо псевдовартості у правий верхній кут клітинок табл. 15.
Теорія метода потенціалів доводить, що план буде оптимальним, якщо в усіх вільних клітинках псевдовартості не більші за вартості:
(25)
Якщо
це не так, то для клітин, де
,
будуємо так званий цикл
переносу.
Циклом
називається замкнена ламана з вершинами
у клітинах, при чому кожна нова ланка
знаходиться під кутом
до попередньої. У рядку і стовпчику
ламаної має бути рівно дві клітини.
Цикл для вибраної вільної клітини починається з неї і, крім неї, включає лише базисні клітини. Вільну клітину позначаємо знаком “+”, сусідню “-”, наступну “+” і т.д.
Після
цього здійснюємо переніс
по циклу, а
саме: з усіх клітин з позначкою “-”
віднімаємо найменшу з величин, до всіх
клітин з позначкою “+” цю величину
додаємо. В табл. 15 такий цикл побудуємо
для клітини (1; 4), де
.
Здійснивши
переніс по циклу
,
маємо табл. 16, в якій знову знаходимо
платежі.
Таблиця 16
|
|
|
|
|
|
|
|
3 40 |
4 20- |
6 |
3 10+ |
0 |
|
|
4 |
5 20 |
3 20 |
7 |
1 |
|
|
5 |
4 7 + |
6 |
6 20- |
3 |
|
|
3 |
4 |
2 |
3 |
|
|
Здійснимо цикл, починаючи з клітини (3; 2). Ми бачимо, що при переносі звільняються дві клітини: (1; 2) і (3; 4). Щоб зберегти кількість базисних клітин, звільняємо лише одну з них, а в другу записуємо 0 і вважаємо базисною. Маємо табл. 17.
Таблиця 17
|
|
|
|
|
|
|
3 40 |
4 0 |
6 |
3 30 |
0 |
|
4 |
5 20 |
3 20 |
7 |
1 |
|
5 |
4 20 |
6 |
6 |
0 |
|
3 |
4 |
2 |
3 |
|
Знаходимо платежі в табл. 17.
Тепер бачимо, що вільних клітин, де , немає. Тому план, представлений в табл. 17, є оптимальним. При цьому плані вартість перевезень така:
.
