- •1. Загальна задача лінійного програмування
- •1.1. Класифікація задач математичного програмування
- •1.2. Приклади задач лінійного програмування
- •Завдання для індивідуальної та самостійної роботи
- •2. Графічний метод
- •Завдання для індивідуальної та самостійної роботи Розв‘язати задачу лінійного програмування графічним методом (max, min):
- •3. Симплекс-метод розв’язування задачі лінійного програмування
- •3.1 Метод штучного базису
- •Завдання для індивідуальної та самостійної роботи
- •Пряма задача Двоїста задача
- •Симетричні
- •Несиметричні
- •4.2 Теореми двоїстості
- •Завдання для індивідуальної та самостійної роботи
- •5. Транспортна задача
- •5.1 Постановка транспортної задачі і побудова її математичної моделі
- •5.2. Методи пошуку опорних планів транспортної задачі
- •Метод північно-західного кута
- •Метод мінімальної вартості
- •5.3. Критерій оптимальності опорних розв’язків за методом потенціалів
- •5.4. Визначення оптимального плану тз, яка має ускладнення у постановці умови
- •Завдання для індивідуальної та самостійної роботи
- •6.2. Геометрична інтерпретація задачі параметричного програмування
- •6.3. Симплексний метод розв’язання задачі параметричного програмування
- •Завдання для індивідуальної та самостійної роботи
- •7. Задачa цілочисельного програмування
- •7.1. Геометрична інтерпретація задачі цілочисельного програмування
- •Розв’язування
- •7.2. Метод гоморі розв’язування задачі цілочисельного програмування
- •Етапи розв’язку задачі цілочисельного програмування методом гоморі :
- •Завдання для індивідуальної та самостійної роботи Знайти оптимальний цілочисельний розв’язок:
- •Література
Метод мінімальної вартості
Задоволення потреби у вантажі в першу чергу у клітинах з мінімальними тарифами, а потім по зростанню тарифів.
|
B1 |
B2 |
B3 |
B4 |
B5 |
|
A1 |
60 2 |
3 |
4 |
80 2 |
4 |
140 |
A2 |
8 |
4 |
120 1 |
4 |
60 1 |
180 |
A3 |
9 |
70 7 |
3 |
50 7 |
40 2 |
160 |
|
60 |
70 |
120 |
130 |
100 |
|
S=2•60+2•80+1•120+1•60+7•70+7•50+2•40=1380 у.о.
5.3. Критерій оптимальності опорних розв’язків за методом потенціалів
Загальний принцип визначення оптимального плану ТЗ методом потенціалів аналогічний принципу розв’язання задачі лінійного програмування симплекс-методом, тобто: спочатку знаходять опорний план, а потім його послідовно покращують до одержання оптимального плану. Опорний план знаходять одним з вище вказаних методів (гарантується наявність m+n-1 зайнятих клітин, в деяких з них можуть стояти нулі).
Теорема.
Якщо
для деякого опорного плану Х=(хij)
(i=
;
j=
)
ТЗ
існують такі числа 1,2,...,m,1,2,...,n,
що j-i=cij
при
xij>0,
та j-icij,
при xij=0
для всіх i=
;
j=
,
то X=(xij)
- оптимальний план
ТЗ.
Означення. Числа i, j ( i= ; j= ) називаються потенціалами відповідно пунктів відправлення та призначення.
Нехай одним з методів знайдено опорний план ТЗ. Для кожної зайнятої клітини складаємо рівняння : j-i=cij, де cij тарифи, що стоять у заповнених клітинах умови ТЗ.
Так як число заповнених клітин дорівнює m+n-1, то відповідна система з m+n невідомими перевищує на одиницю число рівнянь, тому можна припустити, що одна з невідомих дорівнює деякому довільному числу (наприклад, нулю) та в залежності від цього знайти значення всіх останніх невідомих. Після знаходження всіх потенціалів, для кожної вільної клітини визначаються числа ij= j-i-cij .
Якщо серед чисел ij немає додатних, то опорний план оптимальний. Якщо є, то необхідно перейти до нового опорного плану. Для цього розглядаємо всі вільні клітини, для яких ij>0 та серед даних чисел знаходять максимальне. Клітину, якій це число відповідає, треба заповнити.
Означення. Циклом у таблиці умови ТЗ називається ламана лінія, вершини якої розташовано в зайнятих клітинах таблиці, а ланки - впродовж рядків та стовпчиків, причому у кожній вершині циклу зустрічаються рівно дві ланки, одна з яких знаходиться у рядку, а інша - у стовпчику.
Якщо ламана лінія, що утворює цикл, перетинається, то точки само перетину не є вершинами циклу.
Приклади
циклів:
За умовою вірної побудови опорного плану для кожної клітини можна побудувати тільки один цикл. Після побудови циклу треба перейти до нового опорного плану, тобто перемістити вантаж у рамках клітин, що пов’язані з даною вільною клітиною.
Правила переміщення вантажу по циклу:
кожній з клітин, що пов’язані циклом з вільною клітиною присвоїти відповідний знак, причому вільній клітині знак "+", а останнім по черзі "-", "+";
у дану вільну клітину переносимо менше з чисел хij, що стоять у мінусових клітинах. Одночасно це число додають до чисел, що стоять у клітина зі знаком "+", та віднімають від чисел, що стоять у клітинах зі знаком "-". Клітина, що раніше була вільною, буде зайнятою, а мінусова клітина, у якій стояло мінімальне число хij буду вільною.
Перехід від одного опорного плану до іншого, що був описаний вище, називається зсувом по циклу перерахунку.
Зауваження. При переміщенні вантажу по циклу перерахунку число зайнятих клітин залишається незмінним (m+n-1). При цьому, якщо у мінусових клітинах є два (чи більше) однакових мінімальних числа xij, то звільняють тільки одну з таких клітин, а останні залишають зайнятими (нульовими поставками).
Наприклад.
Знайти оптимальний план ТЗ: Аi=(50;30;10), Вj=(30;30;10;20),
1
2 4 1
cij= 2 3 1 5
3 2 4 4
Розв’язування:
Задача закритого типу так як запаси дорівнюють потребам:
50+30+10=90; 30+30+10+20=90. Опорний план повинен мати 3+4-1=6 зайнятих клітин. Внесемо вихідні данні до таблиці та знайдемо опорний план за методом північно-західного кута:
|
В1 |
В2 |
В3 |
В4 |
Запаси |
|
30 1 |
20 - 2 |
4 |
+ 1 |
50 |
А2 |
2 |
10 + 3 |
10 1 |
10 - 5 |
30 |
А3 |
3 |
2 |
4 |
10 4 |
10 |
Потреби |
30 |
30 |
10 |
20 |
90 |
Вартість перевезення по даному маршруту:
S1=1•30+2•20+3•10+1•10+5•10+4•10=200(y.o.)
Для перевірки знайденого опорного плану на оптимальність, для кожної зайнятої клітини складаємо лінійне рівняння виду: j-i=cij, де j,i- потенціали відповідно пунктів призначення і відправлення.
1-1=1
2-1=2
2-2=3
3-2=1
4-2=5
4-3=4
Припускаємо, що один з потенціалів, наприклад 1=0, та в залежності від цього знаходимо значення останніх потенціалів: 1=1, 2=2, 2=-1, 3=0, 4=4,3=0. Дляя кожної вільної клітини обчислюємо оцінки ij= j-i-cij:
13= 3-1-4=0-0-4=-4,
14= 4-1-1=4-0-1=3,
21= 1-2-2=1-(-1)-2=0,
31= 1-3-3=1-0-3=-2,
32= 2-3-2=2-0-2=0,
33= 3-3-4=0-0-4=-4.
Так як серед оцінок ij є додатна 14=3, знайдений опорний план не оптимальний, отже для переходу до нового опорного плану будуємо цикл перерахунку для відповідної вільної клітини. Кожній вершині циклу присвоюємо знаки "+","-". Причому вільній клітині знак "+", а останнім по черзі "-", "+". Для переміщення вантажу по циклу вибираємо найменше з чисел, що стоять у мінусових клітинах - 10 та додаємо його в клітинах зі знаком "+", та віднімаємо в клітинах зі знаком "-". В результаті вільна клітина заповнюється, а мінусова клітина з найменшою кількістю вантажу звільниться, одержимо новий опорний план.
|
В1 |
В2 |
В3 |
В4 |
Запаси |
|
30 1 |
10 - 2 |
4 |
10 + 1 |
50 |
А2 |
2 |
20 3 |
10 1 |
5 |
30 |
А3 |
3 |
+ 2 |
4 |
10 - 4 |
10 |
Потреби |
30 |
30 |
10 |
20 |
90 |
Вартість перевезення за цим маршрутом складає:
S2=1•30+2•10+1•10+3•20+1•10+4•10=170(y.o.)
Перевіряємо план на оптимальність, для кожної зайнятої клітини складаємо лінійне рівняння:
1-1=1
2-1=2
4-1=1
2-2=3
3-2=1
4-3=4
Припускаємо, що один з потенціалів, наприклад 1=0, та в залежності від цього знаходимо значення останніх потенціалів: 1=1, 2=2, 2=-1, 3=0, 4=1,3=-3. Для кожної вільної клітини обчислюємо оцінки ij= j-i-cij:
13= 3-1-4=0-0-4=-4,
21= 1-2-2=1-(-1)-2=0,
24= 4-2-5=1-(-1)-5=-3,
31= 1-3-3=1+3-3=1,
32= 2-3-2=2+3-2=3,
33= 3-3-4=0+3-4=-1.
Так як серед оцінок ij є додатні, знайдений план не оптимальний і для клітини з більшим додатним значенням 32 будуємо цикл перерахунку, та завдяки переміщенню вантажу по циклу одержимо новий опорний план. Так як у двох мінусових клітинах знаходиться однакова кількість вантажу, будемо звільняти тільки одну з даних клітин, другу будемо рахувати заповненою нульовими поставками.
|
В1 |
В2 |
В3 |
В4 |
Запаси |
А1 |
30 1 |
0 2 |
4 |
20 1 |
50 |
А2 |
2 |
20 3 |
10 1 |
5 |
30 |
А3 |
3 |
10 2 |
4 |
4 |
10 |
Потреби |
30 |
30 |
10 |
20 |
90 |
Вартість перевезення за цим маршрутом складає:
S3=1•30+1•20+1•10+3•20+2•10=140(y.o.)
Одержали новий опорний план, який перевіряємо на оптимальність:
1-1=1
2-1=2
4-1=1
2-2=3
3-2=1
2-3=2
Припускаємо, що один з потенціалів, наприклад 1=0, та в залежності від цього знаходимо значення останніх потенціалів: 1=1, 2=2, 2=-1, 3=0, 4=1,3=0. Для кожної вільної клітини обчислюємо оцінки ij= j-i-cij:
13= 3-1-4=0-0-4=-4,
21= 1-2-2=1-(-1)-2=0,
24= 4-2-5=1-(-1)-5=-3,
31= 1-3-3=1-0-3=-2,
33= 3-3-4=0-0-4=-4,
34= 4-3-2=1-0-2=-1.
Так як серед оцінок ij немає додатних, знайдений план оптимальний.
Відповідь: S=140,
30
0 0 20
X = 0 20 10 0
0 10 0 0 , такий план не єдиний так як серед оцінок ij останньої ітерації є нульова.

А1
А1