Симплек-метод у дробово-лінійному програмуванні

В задачі дробово-лійнійного програмування обмеження лінійні і екстремум функціоналу досягається у вершині многогранника розв’язків.

Ця подібність із задачею лінійного програмування дозволяє розв’язувати задачі дробово-лінійного програмування звичайним симплекс-методом зі зміненим критерієм оптимальності.

РОЗГЛЯНЕМО ЗАДАЧУ.

Знайти максимум функціоналу:

(3.1)

при обмеженнях

(3.2)

(3.3)

(3.4)

РОЗВ’ЯЗУВАННЯ.

1. Складаємо початкову симплекс-таблицю (Табл.1).

При чому, для F передбачаємо два рядка: у верхньому записуємо коефіцієнт чисельника pj, в нижньому – знаменника qj.

Табл.1

-x1 -x2 -x m 1
y1= y2= - ym= a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn a 1 a 2 a m
F1= F2= -p1 -p2 -p m -q1 -q2 -q m 0 0

 


2. План записаний в Табл. 1 не може бути опорним, так як F2 = 0, отже серед bі є від’ємні обов’язково.

Кроками МЖВ відшукуємо опорний план, перетворюючи коефіцієнти стрічок .

Нехай в результаті k – кроків отримаэмо таблицю (Табл.2).

Табл.2

-y 1 -y 2 -y k -x s -x n 1
Х1= Х2= Хk= Yr= Ym= b 11 b 12 b 1k b 1s b 1n b 21 b 22 b 2k b 2s b 2n b k1 b k2 b kk b ks b kn b r1 b r2 b rk b rs b rn b m1 b m2 b mk b ms b mn b 1 b 2 b k b r b m
F1= F2= -p1‘ -p2‘ -pk -ps -pn -q1‘ -q2‘ -qk -qs -qn

 

Тут вже всі bj невід’ємні. В рядках F1 і F2 з’явились вільні члени P(k) і Q(k), Q(k) ¹ 0, .

 
 

Відшукання оптимального плану, тобто Fmax полягає у переміщенні від отриманої опорної вершини до сусідньої вершини по ребру, яка розміщена найближче до оптимальної вершини (Рис.7).

 

Рис.7.

Аналітично це означає зробити крок МЖВ з деяким brs. Задача полягає в тому, щоб встановити правило вибору brs (розв’язуючого елементу). Нехай ми вибрали brs. В новій (k+1) - ій таблиці замість P(k) буде стояти число:

(3.4)

Аналогічно замість i Q(k) буде стояти число:

(3.5)

Значення функціоналу на (k+1)- му кроці:

.

Далі знаходимо:

(3.6)

Позначимо:

(3.7)

З цими позначеннями отримаємо:

(3.8)

Дослідимо вираз (3.8)

1. Щоб не відірватися від многогранника розв’язків, симплексне відношення повинно бути і найменшим із всіх можливих

Звідки слідує, що , так як по умові допустимості плану . Отже, завжди.

2. Q(i) завжди > 0, то Q(k)×Q(k+1) завжди > 0, тому знак F(k+1) F(k) залежить від знаку ds. Коли ds > 0, то F(k+1) F(k) < 0. Звідки F(k+1) < F(k) або F(k) > F(k+1).

Іншими словами, коли за розв’язуючий стовпчик взяти стовпчик з
ds > 0, то після кроку МЖВ функціонал зменшується, а при виборі розв’язуючого стовпчика з ds < 0, F(k) > F(k+1) – функціонал збільшується.

При ds = 0, F(k+1)=F(k) функціонал не змінюється.

Визначник ds служить критерієм для вибору brs.

 

Алгоритм відшукання оптимального плану.

1. Після знаходження опорного плану обчислюються значення визначників:

,

значення яких заносяться в додатковий рядок таблиці.

В стовпчику вільних членів в цьому рядку записуємо значення функціоналу, рівне відношенню F1 i F2

В результаті приходимо до таблиці (Табл.3):

Табл.3

-y 1 -y 2 -x s -x n 1
х1= х2= ym= b 11 b 12 b 1s b 1n b 21 b 22 b 2s b 2n b m1 b m2 b ms b mn b 1 b 2 b m
F1= F2= p 1 p 2 p s p n q 1 q 2 q s q rn 0 0
dj= d 1 d 2 d s d n

 

2. При розв’язуванні задачі на максимум функціоналу за розв’язуючий стовпчик вибираємо той, в якому dj < 0. Коли таких стовпчиків декілька, то за розв’язуючий стовпчик краще брати той, в якому dj найбільший по абсолютній величині.

3. Розв’язуючи елемент в стовпчику шукається по найменшому симплексному відношенню.

4. Із знайденим brs робимо один крок МЖВ при цьому коефіціенти стрічок F1 і F2 перетворюються за загальним правилом, а останній рядок не перетворюється і не записується.

5. Далі для кожного стовпчика обчислюємо визначники dj, а для плану - значення функціоналу F(k+1). Якщо серед dj є хоча б один від’ємний, то робимо новий крок МЖВ і т. д.

6. Оптимальний розв’язок буде досягнуто, коли після чергового кроку всі визначники dj стануть невід’ємними.

7. При розв’язуванні задачі на мінімум, за розв’язуючий приймається стовпчик з dj > 0. Критерієм оптимальності служить недодатність dj.

ПРИКЛАД.

Знайти максимум та мінімум функціоналу:

При виконанні обмежень:

РОЗВ’ЯЗАННЯ.

Складаємо початкову жорданову таблицю, заповнюючи коефіцієнтами функціоналу для чисельника та знаменника окремо два рядки F1 F2 (Табл.4).

Табл.4

1 -x 1 2 -x 3
y1= y2= y3= -3 6 1 -1 7 2 -2 4 -1 -1
F1= F2= 1 2 -1 3 1 5

 

Так як b3 = -1 < 0, то план х1 = х2 = х3 = 0 не є опорним.

Знайдемо опорний план. Відшукавши такий план, додаємо до таблиці ще один рядок, в який записуємо значення dj і функціоналу F (Табл.5).

 


Табл.5

2 -x 1 2 -y 3
y1= y2= x3= -5 10 1 -5 15 2 2 -4 -1
F1= F2= -3 2 1 7 -21 -5 -1
dj -8 -11 0 -1/5

Оскільки всі визначники dj недодатні, робимо висновок, що функціонал досягає мінімуму у вершині

x1 = 0, x2 = 0, x3 = 1

Для знаходження максимуму вибираємо за розв’язуючий другий стовпчик. Розв’язуючий елемент brs = 10. З цим елементом робимо крок МЖВ, перетворюючи всю таблицю, крім останнього рядка dj. В результаті отримаємо таблицю виду (Табл.6).

 

Табл.6

3 -x 2 -y 1 -y 3
x2= y2= x3= -1/2 1/10 1/10 5/2 -3/2 ½ 0 2/5 -3/5 1/10 17/2 7/5
F1= F2= -2 -1/5 4/5 -7/2 21/10 -29/10 28/5 7/5
dj= -92/5 11/10 11/5 -12/71

 

Елемент від’ємний – це означає, що максимум ще не досягнуто.

В першому стовпчику вибираємо за розв’язуючий елемент з ним робимо наступний крок МЖВ і отримаємо нову таблицю (Табл.7).

Табл.7

4 -y 2 -y 1 -y 3
x1= x2= x3= 1/5 -1/5 1/5 2/5 -3/5 1/5 0 2/5 -3/5 9/5 17/5 7/5
F1= F2= 4/5 -7/5 6/5 7/5 0 -11/5 28/5 19
dj= 184/25 -133/5 878/25 28/15

 

Обчисливши в новій таблиці всі знову знаходимо один від’ємний, а тому робимо ще один крок МЖВ з елементом . В результаті отримали таблицю (Табл.8).


 

Табл.8

5 -y 2 -y 1 -x 3
x1= x2= y3= 1/5 1/2 -1/10 2/5 3/2 -7/10 0 5/2 -3/2 5/2 11/2 7/2
F1= F2= 4/5 -7/2 -9/10 7/5 0 -11/5 21/2
dj=

 

В Табл.8 всі визначники dj невід’ємні. Це свідчить про те, що при значеннях невідомих функціонал досягає максимального значення . Задача розв’язана.