Завдання 3
Побудувати на площині область припустимих рішень системи нерівностей. Геометрично знайти найбільше та найменше значення цільової функції в цій області.
Розв'язання:
Знайдемо розв’язок сформульованої задачі, використовуючи її геометричну інтерпретацію. Спочатку визначимо багатокутник розв’язків. Для цього в нерівностях системи обмежень та умовах невід’ємності змінних знаки нерівностей поміняємо на знаки точних рівностей і накреслимо відповідні прямі:
На координатній площині будуємо графіки заданих прямих. Кожна з них ділить площину на дві півплощини. Координати точок однієї півплощини задовольняють вихідній нерівності, а іншої – ні. Щоб визначити шукану півплощину, потрібно взяти будь-яку точку, яка належить одній з півплощин, і перевірити, чи задовольняють її координати даній нерівності. Якщо координати вибраної точки задовольняють даній нерівності, то шуканою являється та півплощина, якій належить ця точка, в іншому випадку – друга півплощина.
Багатокутником розв’язків є OABCD, як видно з рисунка:
Координати будь-якої точки, яка належить цьому п’ятикутнику, задовольняють задану систему нерівностей та умови невід’ємності змінних. Тому сформульована задача буде розв’язана, якщо знайдемо точку даного п’ятикутника, в якій функція досягає мінімального та максимального значення. Щоб знайти вказану точку, побудуємо векторі пряму, де- деяка постійна така, що дана пряма має спільні точки з багатокутником розв’язків.
Координати точки А і визначають найбільше значення функції.
А:
Координати точки О визначають найменше значення функції.
Завдання 4
Розв’язати транспортну задачу: скласти оптимальний план перевезень однорідного вантажу від постачальників до споживачів, при якому сумарні транспортні витрати були б мінімальними.
Таблиця 4.1.
Вартість перевезення одиниці вантажу, потреби та наявність вантажу
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 | |||
А1 |
3 |
1 |
2 |
1 |
55 | |
А2 |
1 |
4 |
1 |
3 |
40 | |
А3 |
1 |
2 |
2 |
3 |
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
|
Розв'язання:
Для заданої транспортної задачі дано матрицю вартості перевезень С, вектор запасів вантажу в пунктах відправки a, вектор потреби у вантажі у пунктах призначення b:
;
Так як загальна потреба у вантажі в пунктах призначення рівна запасу вантажу в пунктах відправки, то модель такої транспортної задачі називається закритою.
Позначимо через кількість одиниць вантажу, який перевозять зi-го пункту відправки на j-ий пункт призначення. Тоді умови доставки та вивезення вантажу забезпечуються за рахунок виконання наступних рівностей:
Загальна вартість перевезень складає:
Знайдемо початковий розв`язок транспортної задачі методом північно-західного кута.
Для цього метода заповнення кліток таблиці умов починається з лівої верхньої клітинки для невідомого («північно-західний кут») і закінчується клітинкою для невідомого, тобто іде ніби по діагоналі таблиці.
В даній задачі кількість пунктів відправки , а кількість пунктів призначення. Отже, опорний план задачі визначається числами, які стоять узаповнених клітинках.
Заповнення таблиці почнемо з клітинки для невідомого , тобто попробуємо задовольнити потреби першого пункту призначення за рахунок першого пункту відправки. Потреби пункту В1 більші запасів пункту А1. Надаємо значення , записуємо його в таблиці і тимчасово виключаємо з перегляду рядок А1, вважаючи при цьому потреби пункту В1 рівними 65 – 55 = 10.
Розглянемо перші із залишених пунктів відправки А2 та призначення В1. Запаси пункту А2 більші остачі потреби пункту В1. Надаємо значення , записуємо його в таблиці і тимчасово виключаємо з перегляду стовпчик В1, вважаючи при цьому запаси пункту А2 рівними 40 –10 = 30.
Знову розглянемо перші із залишених пунктів відправки А2 та призначення В2. Потреби пункту В2 менші остачі запасів пункту А2. Надаємо значення , записуємо його в таблиці і тимчасово виключаємо з перегляду стовпець В2, вважаючи при цьому запаси пункту А2 рівними 30 – 20 = 10.
Перейдемо до заповнення клітинки для невідомого і т.д.
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3 55 |
1
|
2
|
1
|
55 | |
А2 |
1 10 |
4 20 |
1 10 |
3
|
40 | |
А3 |
1
|
2
|
2 40 |
3 20 |
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
В результаті отримуємо опорний план:
.
Згідно даного плану перевезень загальна вартість перевезень всього вантажу складає:
Розв`яжемо задачу методом потенціалів.
За початковий розв`язок візьмемо розв`язок, який знайдено методом північно-західного кута:
.
Згідно даного плану перевезень загальна вартість перевезень всього вантажу складає:
Покращення опорного плану. Перевіримо оптимальність опорного плану. Знайдемо попередні потенціали Ui , Vi по зайнятим клітинам таблиці, в яких ui + vi = cij , вважаючи, що u 1= 0.
u1 + v1 = 3; 0 + v1 = 3; v1 = 3;
u2 + v1 = 1; u2 + 3 = 1; u2 = -2;
u2 + v2 = 4; -2+ v2 = 4; v2 = 6;
u2 + v3 = 1; -2+ v3 = 1; v3 = 3;
u3 + v3 = 2; u3+ 3 = 2; u3= -1
u3 + v4 = 3; -1+ v4 = 3; v4 = 4.
|
v1=3 |
v2=6 |
v3=3 |
v4=4 |
u1=0 |
3 55 |
1
|
2
|
1
|
u2= -2 |
1 10 |
4 20 |
1 10 |
3
|
u3= -1 |
1
|
2
|
2 40 |
3 20 |
Опорний план не є оптимальним, тому що існують оцінки вільних клітин, для яких ui + vi > cij :
(1;2) 0 + 6 > 1; Δ12 =0 + 6 – 1 = 5;
(1;3) 0 + 3 > 2; Δ13 =0 + 3 – 2 = 1;
(1;4) 0 + 4 > 1; Δ14 =0 + 4 – 1 = 3;
(3;1) -1 + 3 > 1; Δ31 =-1 + 3 – 1 = 1;
(3;2) -1 + 6 > 2; Δ32 =-1 + 6 – 2 = 3.
max {(1;2) (1;3) (1;4) (3;1) (3;2)} = 5.
Вибираємо максимальну оцінку вільної клітини (1; 2): 3.
Для цього в перспективну клітинку (1; 2) поставимо знак «+», а в решті вершинах багатокутника будуть чергуватися знаки «-», «+», «-».
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3 55 [-] |
1 [+] |
2
|
1
|
55 | |
А2 |
1 10 [+] |
4 20 [-] |
1 10 |
3
|
40 | |
А3 |
1
|
2
|
2 40 |
3 20 |
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
Цикл наведено в таблиці - клітинки (1,2; 2,2; 2,1; 1,1).
З вантажів хij , які стоять в мінусових клітинах, вибираємо найменший, тобто у = min (2, 2) =20. Додаємо 20 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 20 з хij , які стоять в мінусових клітинах. В результаті отримаємо новий опорний план.
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3 35 |
1 20 |
2
|
1
|
55 | |
А2 |
1 30 |
4
|
1 10 |
3
|
40 | |
А3 |
1
|
2
|
2 40 |
3 20 |
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
Перевіримо оптимальність опорного плану. Знайдемо попередні потенціали Ui , Vi по зайнятим клітинам таблиці, в яких ui + vi = cij , вважаючи, що u 1= 0.
u1 + v1 = 3; 0 + v1 = 3; v1 = 3;
u2 + v1 = 1; u2 + 3 = 1; u2 = -2;
u1 + v2 = 1; 0+ v2 = 1; v2 = 1;
u2 + v3 = 1; -2+ v3 = 1; v3 = 3;
u3 + v3 = 2; u3+ 3 = 2; u3= -1;
u3 + v4 = 3; -1+ v4 = 3; v4 = 4.
|
v1=3 |
v2=1 |
v3=3 |
v4=4 |
u1=0 |
3 35 |
1 20 |
2
|
1
|
u2= -2 |
1 30 |
4
|
1 10 |
3
|
u3= -1 |
1
|
2
|
2 40 |
3 20 |
Опорний план не є оптимальним, тому що існують оцінки вільних клітин, для яких ui + vi > cij :
(1;3) 0 + 3 > 2; Δ13 =0 + 3 – 2 = 1;
(1;4) 0 + 4 > 1; Δ14 =0 + 4 – 1 = 3;
(3;1) -1 + 3 > 1; Δ31 =-1 + 3 – 1 = 1.
max {(1;3) (1;4) (3;1)} = 3.
Вибираємо максимальну оцінку вільної клітини (1; 4): 3.
Для цього в перспективну клітинку (1; 4) поставимо знак «+», а в решті вершинах багатокутника будуть чергуватися знаки «-», «+», «-».
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3 35 [-] |
1 20 |
2
|
1 [+] |
55 | |
А2 |
1 30 [+] |
4
|
1 10 [-] |
3
|
40 | |
А3 |
1
|
2
|
2 40 [+] |
3 20 [-] |
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
Цикл наведено в таблиці - клітинки (1,4; 3,4; 3,3; 2,3; 2,1; 1,1).
З вантажів хij , які стоять в мінусових клітинах, вибираємо найменший, тобто у = min (2, 3) =10. Додаємо 10 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 10 з хij , які стоять в мінусових клітинах. В результаті отримаємо новий опорний план.
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3 25 |
1 20 |
2
|
1 10 |
55 | |
А2 |
1 40 |
4
|
1
|
3
|
40 | |
А3 |
1
|
2
|
2 50 |
3 10 |
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
Перевіримо оптимальність опорного плану. Знайдемо попередні потенціали Ui , Vi по зайнятим клітинам таблиці, в яких ui + vi = cij , вважаючи, що u 1= 0.
u1 + v1 = 3; 0 + v1 = 3; v1 = 3;
u2 + v1 = 1; u2 + 3 = 1; u2 = -2;
u1 + v2 = 1; 0+ v2 = 1; v2 = 1;
u1 + v4 = 1; 0+ v4 = 1; v4 = 1;
u3 + v4 = 3; u3+ 1 = 3; u3= 2;
u3 + v3 = 2; 2+ v3 = 2; v3 = 0.
|
v1=3 |
v2=1 |
v3=0 |
v4=1 |
u1=0 |
3 25 |
1 20 |
2
|
1 10 |
u2= -2 |
1 40 |
4
|
1
|
3
|
u3=2 |
1
|
2
|
2 50 |
3 10 |
Опорний план не є оптимальним, тому що існують оцінки вільних клітин, для яких ui + vi > cij :
(3;1) 2+ 3 > 1; Δ31 =2 + 3 – 1 = 4;
(3;2) 2 + 1 > 2; Δ32 =2 + 1 – 2 = 1.
max {(3;1) (3;2)} = 4.
Вибираємо максимальну оцінку вільної клітини (3; 1): 4.
Для цього в перспективну клітинку (3; 1) поставимо знак «+», а в решті вершинах багатокутника будуть чергуватися знаки «-», «+», «-».
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3 25 [-] |
1 20 |
2
|
1 10 [+] |
55 | |
А2 |
1 40 |
4
|
1
|
3
|
40 | |
А3 |
1 [+] |
2
|
2 50 |
3 10 [-] |
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
Цикл наведено в таблиці - клітинки (3,1; 1,1; 1,4; 3,4).
З вантажів хij , які стоять в мінусових клітинах, вибираємо найменший, тобто у = min (3, 4) =10. Додаємо 10 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 10 з хij , які стоять в мінусових клітинах. В результаті отримаємо новий опорний план.
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3 15 |
1 20 |
2
|
1 20 |
55 | |
А2 |
1 40 |
4
|
1
|
3
|
40 | |
А3 |
1 10 |
2
|
2 50 |
3
|
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
Перевіримо оптимальність опорного плану. Знайдемо попередні потенціали Ui , Vi по зайнятим клітинам таблиці, в яких ui + vi = cij , вважаючи, що u 1= 0.
u1 + v1 = 3; 0 + v1 = 3; v1 = 3;
u2 + v1 = 1; u2 + 3 = 1; u2 = -2;
u1 + v2 = 1; 0+ v2 = 1; v2 = 1;
u1 + v4 = 1; 0+ v4 = 1; v4 = 1;
u3 + v1 = 1; u3+ 3= 1; u3= -2;
u3 + v3 = 2; -2+ v3 = 2; v3 = 4.
|
v1=3 |
v2=1 |
v3=4 |
v4=1 |
u1=0 |
3 15 |
1 20 |
2
|
1 20 |
u2= -2 |
1 40 |
4
|
1
|
3
|
u3= -2 |
1 10 |
2
|
2 50 |
3
|
Опорний план не є оптимальним, тому що існують оцінки вільних клітин, для яких ui + vi > cij :
(1;3) 0+ 4 > 2; Δ13 =0 + 4 – 2 = 2;
(2;3) -2 + 4> 1; Δ23 =-2 + 4 – 1 = 1.
max {(1;3) (2;3)} = 2.
Вибираємо максимальну оцінку вільної клітини (1; 3): 2.
Для цього в перспективну клітинку (1; 3) поставимо знак «+», а в решті вершинах багатокутника будуть чергуватися знаки «-», «+», «-».
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3 15 [-] |
1 20 |
2 [+] |
1 20 |
55 | |
А2 |
1 40 |
4
|
1
|
3
|
40 | |
А3 |
1 10 [+] |
2
|
2 50 [-] |
3
|
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
Цикл наведено в таблиці - клітинки (1,3; 3,3; 3,1; 1,1).
З вантажів хij , які стоять в мінусових клітинах, вибираємо найменший, тобто у = min (1, 1) =15. Додаємо 15 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 15 з хij , які стоять в мінусових клітинах. В результаті отримаємо новий опорний план.
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3
|
1 20 |
2 15 |
1 20 |
55 | |
А2 |
1 40 |
4
|
1
|
3
|
40 | |
А3 |
1 25 |
2
|
2 35 |
3
|
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
Перевіримо оптимальність опорного плану. Знайдемо попередні потенціали Ui , Vi по зайнятим клітинам таблиці, в яких ui + vi = cij , вважаючи, що u 1= 0.
u1 + v2 = 1; 0+ v2 = 1; v2 = 1;
u1 + v3 = 2; 0 + v3 = 2; v3 = 2;
u1 + v4 = 1; 0+ v4 = 1; v4 = 1;
u3 + v3 = 2; u3+ 2= 2; u3= 0;
u3 + v1= 1; 0+ v1= 1; v1 = 1;
u2 + v1 = 1; u2 + 1 = 1; u2 = 0.
|
v1=1 |
v2=1 |
v3=2 |
v4=1 |
u1=0 |
3
|
1 20 |
2 15 |
1 20 |
u2= 0 |
1 40 |
4
|
1
|
3
|
u3= 0 |
1 25 |
2
|
2 35 |
3
|
Опорний план не є оптимальним, тому що існують оцінки вільних клітин, для яких ui + vi > cij :
(2;3) 0 + 2> 1; Δ23 =0 + 2 – 1 = 1.
max {(2;3)} = 1.
Вибираємо максимальну оцінку вільної клітини (2; 3): 1.
Для цього в перспективну клітинку (2; 3) поставимо знак «+», а в решті вершинах багатокутника будуть чергуватися знаки «-», «+», «-».
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3
|
1 20 |
2 15 |
1 20 |
55 | |
А2 |
1 40 [-] |
4
|
1 [+] |
3
|
40 | |
А3 |
1 25 [+] |
2
|
2 35 [-] |
3
|
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
Цикл наведено в таблиці - клітинки (2,3; 3,3; 3,1; 2,1).
З вантажів хij , які стоять в мінусових клітинах, вибираємо найменший, тобто у = min (2, 3) =35. Додаємо 35 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 35 з хij , які стоять в мінусових клітинах. В результаті отримаємо новий опорний план.
Постачальники |
Споживачі |
Запас ресурсу | ||||
В1 |
В2 |
В3 |
В4 |
| ||
А1 |
3
|
1 20 |
2 15 |
1 20 |
55 | |
А2 |
1 5 |
4
|
1 35 |
3
|
40 | |
А3 |
1 60 |
2
|
2
|
3
|
60 | |
Потреба у вантажі |
65 |
20 |
50 |
20 |
155 |
Перевіримо оптимальність опорного плану. Знайдемо попередні потенціали Ui , Vi по зайнятим клітинам таблиці, в яких ui + vi = cij , вважаючи, що u 1= 0.
u1 + v2 = 1; 0+ v2 = 1; v2 = 1;
u1 + v3 = 2; 0 + v3 = 2; v3 = 2;
u1 + v4 = 1; 0+ v4 = 1; v4 = 1;
u2 + v3 = 1; u2+ 2= 1; u2= -1;
u2 + v1 = 1; -1+ v1 = 1; v1 = 2;
u3 + v1= 1; u3+ 2= 1; u3 = -1.
|
v1=2 |
v2=1 |
v3=2 |
v4=1 |
u1=0 |
3
|
1 20 |
2 15 |
1 20 |
u2= -1 |
1 5 |
4
|
1 35 |
3
|
u3= -1 |
1 60 |
2
|
2
|
3
|
Опорний план є оптимальним, так як всі оцінки вільних клітин задовольняють умові ui + vi ≤ cij .
Мінімальні витрати складуть: