- •Міністерство освіти і науки україни
- •ЕкономіКо-математиЧнЕ моделЮвання
- •1. Задача лінійного програмування та методи її розв’язування
- •1.1. Загальна економіко-математична модель задачі лінійного програмування. Приклади побудови лінійних економіко-математичних моделей
- •Теорема 2. Оптимальне значення цільова функція задачі лінійного програмування досягає в вершині багатокутника розв’язків.
- •1.3. Симплексний метод розв’язування задач лінійного програмування
- •Алгоритм симплекс-метода розв’язування злп
- •Критерій оптимальності опорного плану:
- •Правила переходу до наступної симплекс-таблиці:
- •1.4. Двоїста задача лінійного програмування
- •Правила складання двоїстої задачі:
- •2. Елементи нелінійного програмування та розподілюванні задачі
- •2.1. Дробово-лінійне програмування
- •Правила розв’язування задачі дробово-лінійного програмування графічним методом
- •2.2. Цілочисельні задачі лінійного програмування
- •2.3. Транспортна задача. Постановка, методи розв’язання та аналіз
- •Критерій оптимальності плану перевезень
- •3. Завдання для модульного контролю
- •Література
- •ЕкономіКо-математичне моделЮвання
- •83023, М. Донецьк, вул. Харитонова, 10. Тел.: (062)97-60-50
- •2.4. Задачі при призначення
- •Алгоритм метода Фогеля
- •Алгоритм венгерского метода решения задачи о назначениях
Критерій оптимальності плану перевезень
• Якщо серед оцінок оптимальності всі невід’ємні, то опорний план є оптимальним і єдиним.
• Якщо серед оцінок оптимальності є лише невід’ємні і нульові, то опорний план є оптимальним, але не єдиним.
• Якщо серед оцінок оптимальності є хоч би одна додатна, то опорний план не є оптимальним.
Перехід від одного опорного плану до іншого проводять заповненням клітину, для якої порушена умова оптимальності. Таким чином для побудови циклу перерозподілу вантажу потрібно вибирати клітину з найбільшою додатною оцінкою.
Зауваження. Якщо є декілька таких оцінок, то вибирають клітину з меншим тарифом.
Для цієї вибраної клітини будуємо цикл перерозподілу поставок. Цикл рисують ламаною лінією всі кути повороту якої прямі, одна вершина його знаходиться у вибраній клітині, а інші – у заповнених. Для перерозподілу поставок в незаповненій клітині ставимо знак “+”, потім знаки чергуємо. Серед клітин зі знаком “–” вибираємо найменшу кількість вантажу і в клітини зі знаком “+” будемо прибавляти це число, а від клітин зі знаком “–” будемо це число віднімати. В результаті такого перерозподілу поставок отримаємо новий опорний план транспортної задачі.
Зауваження. Цикл перерозподілу поставок може мати різний вид, наприклад, як на рис. 2.3.1.
Рис. 2.3.1 – Цикли перерозподілу поставок
Зауваження. Кількість вантажів, що не приймали участь в перерозподілі, переписують без зміни.
Розв’язування транспортної задачі розглянемо на прикладі.
Приклад 2.3.1. Знайти оптимальний план перевозок.
-
B
A
B1
B2
B3
10
20
20
А1
20
А2
40
А3
35
Розв’язування. Спочатку необхідно перевірити наявність балансу між попитом і пропозицією: 20 + 40 + 35 = 95; 10 + 20 + 30 = 50. Балансу немає.
Для того, щоб дану транспортну задачу закрити, необхідно ввести фіктивного споживача В4 з потребою 45 одиниць вантажу (95 – 50 = 45) і нульовими тарифами.
Для побудови початкового опорного плану транспортної задачі скористаємося методом північно-західного кута.
Таблиця 2.3.1
Перша таблиця
-
B
A
B1
B2
B3
B4
10
20
20
45
А1
20
10
10
А2
40
10
20
10
А3
35
35
В нашому випадку число заповнених клітин повинно бути
т + п – 1 = 3 + 4 – 1 = 6.
Всі 6 клітин є заповненими, тобто опорний план транспортної задач є невиродженим.
Опорний план, що відповідає таблиці 2.3.1, має вид
.
В таблиці 2.3.1 сума затрат на перевозку складає
z1 = 10 · 6 + 10 · 3 + 10 · 2 + 20 · 6 + 10 · 0 + 35 · 0 = 230.
Знайдемо оцінки оптимальності для кожної клітини таблиці 2.3.1 і запишемо їх в таблицю 2.3.2.
Таким образом, таблиця 2.3.1 прийме вид:
Таблиця 2.3.2
Перерозподіл поставок першої таблиці
-
B
A
B1
B2
B3
B4
ui
10
20
20
45
А1
20
– 10
+ 10
(3)
(-)
0
А2
40
(2)
– 10
20
+ 10
-1
А3
35
(5) +
(-)
(-)
– 35
1
vj
6
3
5
–1
Опорний план Х1, який відповідає таблиці 2.3.2 оптимальним не є.
Для побудови циклу перерозподілу вантажу слід вибирати клітину з самою великою додатною оцінкою. В нашому випадку це (А3, В1). Таким чином, цикл починається в клітині (А3, В1), потім він продовжується до клітини (А3,В4), в якій повертає в клітину (А2, В4), потім – в клітину (А1, В2), потім – в клітину (А1, В1), і повертається в початкову клітину (А3, В1).
В клітині (А3, В1) ставимо знак “+”, далі чергуємо знаки: в клітині (А3, В4) – знак “–”, в клітині (А2, В4) – знак “+”, в клітині (А2, В2) – знак “–”, в клетке А1, В2) – знак “+”, в клітині (А1, В1) – знак “–”.
В нашому випадку найменша кількість вантажу в клітинах зі знаком “–” це 10, яке до чисел в клітинах зі знаком “+” будемо прибавляти, а від чисел в клітинах зі знаком “–” будемо віднімати.
Кількість вантажів, які не приймали участь в циклі, переписуємо без зміни. В нашому випадку це клітина (А2, В3).
Таким чином, таблиця 2.3.3 має вид:
Таблиця 2.3.3
Друга таблиця
-
B
A
B1
B2
B3
B4
ui
10
20
20
45
А1
20
(-)
- 20
(5) +
(1)
0
А2
40
(-)
+
0
--
20
20
-1
А3
35
10
(2)
(-)
25
-1
vj
3
3
7
1
В таблиці 2.3.3 число заповнених клітин дорівнює 5, що менше т + п – 1 = 6, тобто потрібно заповнить пусту клітину нулем, тоді їх буде 6. В клітину (А2, В2) з найменшим тарифом 2 поставимо нуль і будемо вважати її заповненою.
Далі розписуємо потенціали і знаходимо оцінки оптимальності, відображуючи ці дії в таблиці 2.3.3.
Опорний план, що відповідає таблиці 2.3.3, має вид
.
Опорний план Х2 оптимальним не ж, сума витрат на перевозку складає при цьому
z2 = 20 · 3 + 0 · 2 + 20 · 6 + 20 · 0 + 10 · 2 + 25 · 0 = 200.
Для побудови циклу перерозподілу вантажу слід вибирати клітину з самою великою додатною оцінкою (А1, В3). В нашому випадку цикл починається в клітині (А1, В3), потім він продовжується до клітини (А1, В2), в якій повертає в клітину (А2, В2), потім – в клітину (А2, В3), і повертається в початкову клітину (А1, В3).
В клітині (А1, В3) ставимо знак “+”, далі чергуємо знаки: в клітині (А1, В2) – знак “–”, в клітині (А2, В2) – знак “+”, в клітині (А2, В3) – знак “–”.
В нашому випадку найменша кількість вантажу в клітинах зі знаком “–” це 20. Тоді до чисел в клітинах зі знаком “+” цю кількість вантажу будемо прибавляти, а від чисел в клітинах зі знаком “–” будемо віднімати. Кількість вантажів, які не приймали участь в циклі, переписуємо без зміни. В нашому випадку це вантажі, що знаходяться в клітинах (А1,В3), (А2,В4), (А3,В4). Таким чином, таблиця 2.3.4 має вид:
Таблиця 2.3.4
Третя таблиця
-
B
A
B1
B2
B3
B4
ui
10
20
20
45
А1
20
(-)
(-)
20
0
0
А2
40
(-)
20
(-)
20
0
А3
35
10
(-)
(-)
25
0
vj
2
2
2
0
В таблиці 2.3.4 число заповнених клітин дорівнює 5, що менше 6, тобто потрібно заповнити незаповнену клітину нулем, тоді їх буде 6. В клітину (А1,В4) с найменшим тарифом поставимо нуль и будемо вважати її заповненою.
Далі розписуємо потенціали і знаходимо оцінки оптимальності, відображуючи ці дії в таблиці 2.3.4.
Опорний план, що відповідає таблиці 2.3.4, має вид
.
Опорний план Х3 є оптимальним, сума витрат на перевозку в цьому випадку дорівнює
z3 = 20 · 2 + 0 · 0 + 20 · 2 + 20 · 0 + 10 · 2 + 25 · 0 = 60.