- •Кафедра вищої і прикладної математики
- •1.1 Приклади задач лінійного програмування
- •1.2 Графічний метод рішення задач лінійного програмування
- •1.3 Симплексний метод
- •1.4 Двоїсті задачі та їх рішення
- •1.5 Аналіз матричної гри
- •1.6 Метод потенціалів
- •2.7. Задачі про призначення
- •1.8 Дробово-лінійне програмування
- •1.9 Параметричне програмування
- •2.1 Пакет "The management scientist"
- •Діапазони цільових коефіцієнтів
- •2.2 Пакет qsb
1.8 Дробово-лінійне програмування
Якщо в задачі з лінійними обмеженнями задана дробово-лінійна цільова функція, то така задача може бути перетворена до традиційного виду шляхом нескладних змін. Перетворена модель може бути розв’язана симплексним методом, а знайдене рішення трансформоване в рішення вихідної задачі дробово-лінійного програмування. Всі етапи алгоритму проілюструємо на конкретному прикладі.

![]()
![]()
1. Систему обмежень приводять до канонічного виду:

|
де
|
|
|
|
|
|
|
|
Знаменник цільової функції позначають через
,
це приводить до наступного:
з’явиться додаткове обмеження
або
;функція цілі стане такою
.
Всі обмеження множать на
і до них додають додаткове співвідношення.

Впроваджують позначення:
;
;
;
;
;
;
.
Упорядковують
систему щодо нових змінних, переносячи
з правої частини елементи, пов’язані
з
.
Крім того, у додаткове обмеження вводять
штучну змінну з наступним номером, у
даному випадку вводять
.
Це необхідно для формування початкового
базису. У результаті зазначених
перетворень задача здобуває вигляд:

![]()
Задача придбала канонічну форму, її рішення може бути виконано симплексним методом. З огляду на те, що індекси векторів повинні відповідати індексам змінних (
,
,
і т.д.), вектор вільних членів позначають
через
- це позбавить від плутанини.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблиця 1
Початкове симплекс-рішення
|
Б |
С |
|
0
|
3
|
2
|
0
|
0
|
0
|
|
|
|
С.В. |
|
|
|
|
|
|
|
|
|
| ||||
|
|
|
0
|
-6
|
1
|
6
|
-1
|
0
|
0
|
1
|
0
|
0
|
0
|
|
|
|
0
|
-14
|
7
|
2
|
0
|
-1
|
0
|
0
|
1
|
0
|
0
|
|
|
0
|
0
|
-5
|
1
|
1
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
|
|
|
1
|
0
|
4
|
5
|
0
|
0
|
0
|
0
|
0
|
1
|
1/5
|
|
|
0
|
0
|
-3
|
-2
|
0
|
0
|
0
|
0
|
0
|
0
|
| |
|
|
1
|
-20
|
12
|
13
|
-1
|
-1
|
0
|
0
|
0
|
0
| ||
Даній таблиці відповідають такі значення змінних:
;
;
;
;
;
;
;
;
.
Це рішення не оптимальне.
У таблиці 1 отримано три однакових симплексних відношення, – усі вони дорівнюють нулю. При виборі ключового рядка керуються правилом: беруть той, що відповідає більшому елементу ключового стовпця. У даному випадку вибирають перший рядок, і генеральний елемент дорівнює 6.
Таблиця 2
Друга симплексна таблиця
|
Б |
С |
|
0
|
3
|
2
|
0
|
0
|
0
|
|
|
С.В. |
|
|
|
|
|
|
|
|
| ||||
|
|
2
|
0
|
-1
|
1/6
|
1
|
-1/6
|
0
|
0
|
0
|
0
|
0
|
|
|
|
0
|
-12
|
40/6
|
0
|
2/6
|
-1
|
0
|
1
|
0
|
0
|
|
|
0
|
0
|
-4
|
5/6
|
0
|
1/6
|
0
|
1
|
0
|
0
|
0
|
|
|
|
1
|
5
|
19/6
|
0
|
5/6
|
0
|
0
|
0
|
1
|
6/19
|
|
|
|
-2
|
-16/6
|
0
|
-2/6
|
0
|
0
|
0
|
0
|
| |
|
|
|
-7
|
59/6
|
0
|
7/6
|
-1
|
0
|
0
|
0
| ||
Друге рішення виглядає так:
;
;
;
;
;
;
;
;
.
Воно не оптимальне.
Перехід до третьої таблиці виконується за звичайними правилами з урахуванням коментарю до вибору ключового рядка, зробленого після таблиці 1.
Таблиця 3
Третє симплексне рішення
|
Б |
С |
|
0
|
3
|
2
|
0
|
0
|
0
|
|
С.в. |
|
|
|
|
|
|
|
| ||||
|
|
2
|
0
|
-28/40
|
0
|
1
|
-7/40
|
1/40
|
0
|
0
|
-
|
|
|
3
|
0
|
-72/40
|
1
|
0
|
2/40
|
-6/40
|
0
|
0
|
-
|
|
|
0
|
0
|
-100/40
|
0
|
0
|
5/40
|
5/40
|
1
|
0
|
-
|
|
|
|
1
|
428/40
|
0
|
0
|
27/40
|
19/40
|
0
|
1
|
40/428
|
|
|
0
|
-272/40
|
0
|
0
|
-8/40
|
-16/40
|
0
|
0
|
| |
|
|
1
|
428/40
|
0
|
0
|
27/40
|
19/40
|
0
|
0
| ||
Третє рішення:
.
Умова оптимальності все ще не виконується, переходять до наступної таблиці.
Аналіз
показує, що значення більшості змінних
будуть дорівнювати нулю доти, поки
ключовим рядком буде залишатися рядок
з нульовим елементом у
.
Як тільки ключовим стане рядок з
ненульовим елементом у
,
так базисні змінні приймуть конкретні
значення.
Таблиця 4
Четверте симплексне рішення
|
Б |
С |
|
0
|
3
|
2
|
0
|
0
|
0
|
С.о. |
|
|
|
|
|
|
| ||||
|
|
2
|
28/428
|
0
|
0
|
1
|
-56/428
|
24/428
|
0
|
-
|
|
|
3
|
72/428
|
0
|
1
|
0
|
70/428
|
-30/428
|
0
|
72/70
|
|
|
0
|
100/428
|
0
|
0
|
0
|
121/428
|
101/428
|
1
|
100/121
|
|
|
0
|
40/428
|
1
|
0
|
0
|
27/428
|
19/428
|
0
|
40/27
|
|
|
272/428
|
0
|
0
|
0
|
98/428
|
-42/428
|
0
|
| |
Рішення, що відповідає таблиці 4, має вигляд:
,
,
,
,
.
Воно не оптимальне, знаходять слідуюче симплекс-перетворення.
Таблиця 5
П’яте симплексне рішення
|
Б |
С |
|
0
|
3
|
2
|
0
|
0
|
0
|
|
|
|
|
|
|
| |||
|
|
2
|
21/121
|
1
|
0
|
0
|
0
|
20/121
|
56/121
|
|
|
3
|
4/121
|
0
|
1
|
0
|
0
|
-25/121
|
-70/121
|
|
|
0
|
100/121
|
0
|
0
|
0
|
1
|
101/121
|
428/121
|
|
|
0
|
5/121
|
0
|
0
|
1
|
0
|
-1/121
|
-27/121
|
|
|
54/121
|
0
|
0
|
0
|
0
|
-35/121
|
-98/121
| |
У таблиці 5 отримане рішення, що задовольняє умові оптимальності:
,
,
,
,
.
Визначають значення вихідних змінних:
;
;
.
Таким чином, рішення задачі дробово-лінійного програмування буде наступним:
.
7. Дають, якщо можливо, геометричну інтерпретацію задачі:
знаходять область припустимих значень;
відзначають точки, що відповідають симплекс-таблицям.
Областю рішень є трикутник
.
Перші реальні значення змінних
з’явилися в четвертій симплексній
таблиці, їм відповідають такі значення
вихідних невідомих:
.
На графіку – це вершина
,
вона не є оптимальної. Оптимальне
рішення забезпечує вершина
.

Зауваження. Дробово-лінійну задачу з двома змінними можна вирішувати графічним методом, ґрунтуючись на таких правилах:
По системі заданих обмежень будують область припустимих рішень.
Вибирають довільне значення
і будують відповідну пряму
– вона обов'язково пройде через початок
координат.Позначимо

якщо
,
то, повертаючи пряму
проти годинникової стрілки до опорного
положення, одержимо точку мінімуму
(для одержання максимуму пряму повертають
по годинній стрілці);якщо
,
то для одержання мінімуму пряму
повертають по годинній стрілці до
опорного положення (для максимуму –
проти годинниковій стрілки).
Визначивши оптимальні точки, знаходять їх координати – це і будуть оптимальні значення змінних, після чого обчислюють величину функції цілі.
Приклад.Знайти рішення дробово-лінійної задачі.

,
розглянемо 2 варіанти функції
|
а)
|
б)
|
Будуємо область припустимих рішень – вона визначається трьома нерівностями і являє собою трикутник
.

Будуємо пряму

а)
![]()
![]()
б)
![]()
![]()
;
;![]()
а)
;
;
;
;![]()
б)
;
;
;
;![]()










