- •Тема 1. Постановка задач лінійного програмування
- •Задача про оптимальне виробництво
- •Задача по формуванню оптимальних складів
- •Класифікація злп
- •Тема 2. Основні методи розв’язування задач лінійного програмування
- •2.1 Графічний метод розв’язування задач лінійного програмування
- •2.2. Симплекс-метод
- •Тема 3. Транспортна задача
- •Метод потенціалів розв’язання транспортної задачі
- •Відкриті моделі транспортних задач
- •Варіант 5
- •Знайдемо
- •Тема 5. Системи масового обслуговування з відмовами
- •Найпростіший потік подій
- •Смо з відмовами.
- •Тема 6. Системи масового обслуговування з очікуванням
- •Тема 7. Сітьове планування
- •Варіант 1
- •Спрощення платіжної матриці гри
- •Розв’язування ігор 2×2
- •Графічне розв’язування ігор 2×n та m×2
Тема 3. Транспортна задача
Нехай
є m
постачальників з запасами сировини
іn
споживачів з потребами
,
і нехай сукупні запаси виробників
дорівнюють сукупним потребам споживачів
(
).
В даному випадку задачу називають
замкнутою. Відомі також вартості
перевезень
одиниці сировини від постачальникаі
до споживача
j,
(за
маршрутом і
- j).
Побудувати план перевезень, що забезпечує їх мінімальну вартість.
Позначимо
кількість перевезень за маршрутом i-j
через
,
тоді
-
обмеження
на вивіз (3.1)
(сировина повинна бути вивезена повністю);
-
обмеження по потребах
(3.2)
(потреби повинні бути задоволені повністю);
,
,
- обмеження невід’ємності;
(3.3)
-
критерій оптимальності.
(3.4)
Сукупність (3.1), (3.2), (3.3) і (3.4)
називається транспортною задачею.
Зауваження3.1.
Ми
бачимо, що при
кількість
змінних більша за кількість рівнянь,
тобто система (3.1), (3.2) має безліч
розв’язків. Крім того, система рівнянь
(3.1), (3.2) є лінійно залежною, кількість
лінійно незалежних рівнянь дорівнює
.
Оскільки транспортна задача є ЗЛП, записаною в канонічній формі, то вона може бути розв’язана симплекс-методом, але особливістю цієї задачі є те, що коефіцієнти при всіх змінних дорівнюють 0 або 1.
Метод потенціалів розв’язання транспортної задачі
Цей
метод є спрощенням симплекс-метода
пристосованим до розв’язання транспортної
задачі. Оскільки кількість лінійно-незалежних
рівнянь в системі виробничих обмежень
(3.1), (3.2) дорівнює
,
то базисних змінних повинно бути не
більше. Якщо їх кількість менша, то
задача буде виродженою.
Для розв’язання методом потенціалів, зазвичай, транспортну задачу зручно записувати у наступній таблиці:
|
|
|
|
… |
|
|
|
|
|
|
… |
|
|
|
|
|
|
| ||
|
|
|
|
… |
|
|
|
|
|
|
| ||
|
… |
… |
… |
… |
… |
… |
|
|
|
|
… |
|
|
|
|
|
|
| ||
|
|
|
|
… |
|
|
Кількість
базисних змінних -
,
тому
клітин будуть заповненими, а інші –
вільними, або пустими.
Алгоритм методу потенціалів.
Крок 1
На першому етапі побудуємо опорний (початковий) базисний розв’язок.
Метод Північно-Західного кута (діагональний)
В
ліву верхню клітину (1;1) заносимо менше
із чисел
,
.
Далі викреслюємо рядок або стовпчик,
для якого кількість сировини вичерпана,
а іншу величину зменшуємо на
і переходимо до клітини (1;2) або (2;1) в
залежності від того, яка з них залишилась
у розгляді. Поступаємо так само, поки
не дійдемо до клітини (m,n).
Якщо
на жодному кроці, крім останнього,
,
то в результаті матимемо
заповнених клітин. На останньому кроці
обов’язково повинна виконуватись
рівність
.
Зауваження
3.2. Якщо
на деякому кроці
,
то із розгляду викреслюємо або рядок
або стовпчик, а в наступну клітину
записуємо «0», і вважаємо її заповненою,
але з кількістю «0».
Метод мінімальної вартості
Знаходимо
клітину (маршрут) з мінімальною вартістю
перевезень і вносимо в неї кількість
.
Викреслюємо рядок або стовпчик, для
якого кількість сировини вичерпана.
Далі знаходимо клітину з найменшою
вартістю перевезень із тих, що залишились
у розгляді і поступаємо аналогічно. На
кроці
залишиться лише одна невикреслена
клітина (k;l),
для якої
.
Зауваження 3.2 залишається в силі.
Крок 2
Перевіряємо
побудований
план на оптимальність. Перевірка
проводиться за допомогою так званого
«методу потенціалів». Кожному
постачальнику і кожному споживачу
приписуються потенціали
та
.
Для заповнених клітин записуємо
систему:
(3.5)
Оскільки
кількість невідомих (
)
більша за кількість рівнянь (
),
то система (3.5) має безліч розв’язків.
Покладемо одне з невідомих рівним нулю. Після чого однозначно визначимо інші.
Знайдемо оцінки вільних клітин за формулою:
(3.6)
1) Якщо оцінки всіх вільних змінних невід’ємні, то даний розв’язок є оптимальним. При цьому, якщо всі вони додатні, то він єдиний, а якщо серед них є нулі, то мінімумів безліч, і знайдений нами є один із них.
2) Якщо серед оцінок вільних змінних є від’ємні, то розв’язок не є оптимальним і необхідно перейти до нового базису.
Крок 3
Перехід до нового базису. Знаходимо клітину з найменшою від’ємною оцінкою. Якщо їх декілька, то можемо вибрати будь-яку (бажано з меншою вартістю перевезень), її позначаємо знаком «+» і будуємо із неї цикл.
Означення3.1. Циклом називається замкнута ламана лінія, ланки якої паралельні рядкам і стовпчикам, всі вершини, крім початкової, знаходяться в заповнених клітинах.
Властивості:
для кожної вільної клітини існує один і тільки один цикл;
кількість вершин циклу є парною;
цикл може перетинати сам себе тільки у вільних клітинах;
заповнені клітини ніколи не утворюють цикл.
Вершини циклу почергово позначаємо знаками «+» і «-». В клітинах, позначених знаком «-» знаходимо найменшу кількість сировини, яку віднімаємо від кількості усіх клітин з «-» і додаємо до кількості усіх клітин з «+». В результаті одна клітина стане вільною, а клітина з найменшою від’ємною оцінкою стане заповненою.
Зауваження 3.3. Якщо найменша кількість є в декількох клітинах зі знаком «-», то звільняємо лише одну з них (не має значення яку, бажано з більшою вартістю перевезень), а інші вважаємо заповненими з кількостями «0».
Потім повертаємось до кроку 2, тобто перевіряємо новий план на оптимальність.
Приклад
3.1.
Нехай маємо трьох постачальників
сировини, з запасами
,
,
і чотирьох споживачів, з потребами
,
,
,
.
Матриця вартості перевезень має вигляд:

Побудувати план перевезень, що мінімізує їх вартість.
Розв’язання.
Нехай
-
кількість вантажу, що перевозиться від
-
того
постачальника до
-
того
споживача.
Оскільки
,
то дана задача є замкнутою. Сформулюємо
математичну модель.
Знайти
найменше значення функції
при обмеженнях
- обмеження пропозиції
(вся сировина повинна бути вивезена);
-
обмеження попиту
(всі потреби повинні бути задоволені);
-
обмеження невід’ємності.
Запишемо дані задачі в таблицю.
|
|
120 |
50 |
190 |
110
| |
|
160 |
7
|
8 |
1 |
2 | |
|
|
|
|
| ||
|
140
|
4
|
5 |
9 |
8 | |
|
|
|
|
| ||
|
170
|
9 |
2 |
3 |
6 | |
|
|
|
|
|
Виберемо
початковий план за допомогою методу
мінімальної вартості. Мінімальна
вартість перевезень -
.
Кількість сировини у 1-го постачальника
– 160, менша ніж потреби 3-го споживача
– 190. Тому покладемо
і виключимо 1-й рядок з розгляду, оскільки
сировина першого постачальника
використана повністю. Потреби третього
споживача зменшились до 30. Тепер
мінімальна вартість -
(
ми не враховуємо, бо 1-й рядок виключено
з розгляду). Потреби другого споживача
– 50, а запаси третього постачальника
– 170. Поклавши
,
виключаємо з розгляду другий стовпчик,
а запаси третього постачальника тепер
рівні 120. З шести клітин, що не виключені
з розгляду, мінімальна вартість -
.
Нагадаємо, що залишкові потреби третього
споживача рівні 30. Таким чином
,
з розгляду виключається третій стовпчик,
а запаси третього постачальника
зменшуються до 90. Далі,
та
.
На останньому кроці другий постачальник
і четвертий споживач мають однакові
залишкові запаси та потреби рівні 20, а
клітина з вартістю перевезень
- єдина, в яку можна записати це число.
Отже, базисні змінні:
тобто базисних змінних повинно бути
саме шість. Інші шість змінних є вільними.



|
|
120 |
50 |
1 |
110 20 |
|
1 |
7
|
8 |
1 |
2 |
|
|
|
160 |
| |
|
1 20 |
4
|
5 |
9 |
8 |
|
120 |
|
|
20 | |
|
1 |
9 |
2 |
3 |
6 |
|
|
50 |
30 |
90 |

![]()
Перейдемо
до другого кроку. Знайдемо потенціали
споживачів та постачальників з системи
для заповнених клітин, тобто![]()

Система
з шести рівнянь містить сім змінних.
Поклавши
,
одразу знаходимо
.
Звідки
.
Підрахуємо оцінки вільних клітин

![]()
Серед
оцінок є від’ємна
,
тому наш план не є оптимальним. Покращимо
його. Для цього треба в клітину з
від’ємною оцінкою
перенести певну кількість сировини
(зробити
- базисною), звільнивши при цьому одну
з заповнених клітин. Для цього побудуємо
цикл.
Його вершини знаходяться в клітинах (1,4), (1,3), (3,3) та (3,4). Поставимо знаки «+» та «–» почергово, починаючи з клітини (1,4). Клітини зі знаком «–» містять 160 та 90 одиниць сировини. Оскільки мінімальну кількість 90 містить клітина (3,4), то вона стане вільною після того, як буде проведено перерозподіл сировини: в клітинах зі знаком «+» додаємо, а зі знаком «–» - віднімаємо 90.
|
|
120 |
50 |
190 |
110 |
|
|
160 |
7 |
8 |
70 1 |
90 2 |
|
|
|
|
« |
«+» | ||
|
|
|
160 |
| ||
|
140 |
4 |
5 |
9 |
8 |
|
|
|
|
|
| ||
|
120 |
|
|
20 | ||
|
170 |
9 |
2 |
120 3 |
6 |
|
|
|
|
«+» |
«-» | ||
|
|
50 |
30 |
90 | ||
|
|
|
|
|
|
Тепер
базисні змінні:
![]()

![]()
Перевіряємо цей план на оптимальність

Поклавши
,
одержуємо
![]()
Оцінки
вільних клітин:
![]()
Даний
план не є оптимальним. Побудуємо цикл
з клітини (2,2), оскільки
.
Мінімальна кількість для клітин зі
знаком «–» рівна 20 (в клітині (2,4)).
Перерозподіл призводить до того, що
базисними змінними будуть:![]()
|
|
120 |
50 |
190 |
110 |
|
|
160 |
7 |
8 |
50 1 |
110 2 |
|
|
|
|
«-» |
«+» | ||
|
|
|
70 |
90 | ||
|
140 |
4 |
20 5 |
9 |
8 |
|
|
|
«+» |
|
«+» | ||
|
120 |
|
|
20 | ||
|
170 |
9 |
30 2 |
140 3 |
6 |
|
|
|
«-» |
«+» |
| ||
|
|
50 |
120 |
| ||
|
|
|
|
|
|

![]()
Перевіримо
на оптимальність

![]()
|
|
120 |
50 |
190 |
110 |
|
|
160 |
7 |
8 |
1 |
2 |
|
|
|
|
|
| ||
|
|
|
50 |
110 | ||
|
140 |
4 |
5 |
9 |
8 |
|
|
|
|
|
| ||
|
120 |
20 |
|
| ||
|
170 |
9 |
2 |
3 |
6 |
|
|
|
|
|
| ||
|
|
30 |
140 |
| ||
|
|
|
|
|
|
Усі оцінки додатні, тобто даний план є оптимальним
![]()
Таким
чином, перший постачальник перевозить
50 одиниць сировини третьому та 110
четвертому споживачу, другий постачальник
перевозить 120 одиниць сировини першому
та 20 другому споживачу, а третій
постачальник - 30 одиниць другому та 140
третьому споживачу . При цьому мінімальні
витрати складуть
у.
г. о.
Відповідь.
,
у.
г. о.

90 30
60
40
70
120 90
-»