Прямой сиплекс-метод
Нехай треба вирішити задачу мінімізації цільової функції

при наявності обмежень
i=
1, 2, …, n xi0
Введемо штучно змінні хn+1, хn+2, …, хn+m. При цьому задача перетвориться до виду:


При розв'язанні задачі лінійного програмування сиплексом-методом використовується, так названа, сиплекс-таблиця.
|
Базис |
x1 |
x2 |
x3 |
… |
xn |
xn+1 |
xn+2 |
xn+3 |
… |
xn+m |
b | ||||||||||||||
|
с1 |
с2 |
с3 |
… |
cn |
0 |
0 |
0 |
|
0 | ||||||||||||||||
|
xn+1 |
0 |
a11 |
a12 |
a13 |
|
a1n |
1 |
0 |
0 |
|
0 |
b1 |
| ||||||||||||
|
xn+2 |
0 |
a21 |
a22 |
a23 |
|
a2n |
0 |
1 |
0 |
|
0 |
b2 |
| ||||||||||||
|
xn+3 |
0 |
a31 |
a32 |
a33 |
|
a3n |
0 |
0 |
1 |
|
0 |
b3 |
| ||||||||||||
|
… |
|
|
|
|
|
|
|
|
|
|
… |
… |
| ||||||||||||
|
xn+m |
0 |
am1 |
am2 |
am3 |
|
amn |
0 |
0 |
1 |
|
1 |
bm |
| ||||||||||||
|
Оцінний рядок |
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||
Формула для обчислення оцінного рядка:
j=
1, 2, …, n+m
критерій, по якому визначаються змінна, що виключається з базису.
al
k
> 0 l
=
1, 2, .., m
Оцінний рядок визначає, чи є дане рішення (базисне) оптимальним. Якщо в оцінному рядку будуть значення більше нуля, то цей план не є оптимальним. Переходимо до кращого рішення. Найбільше позитивне число вказує на змінну, що варто ввести в базис. Фактично номер цієї змінної дорівнює k.
указує на змінну (найменшу з позитивних), виведену з базису (замінну).
Введення нової змінної в базис полягає в тому, що замість виведеної змінної записується змінна і її коефіцієнт при цільовій функції. Гаусовськими виключеннями домагаються, щоб у матриці при цій зміннії, яку уводять, була одиниця, а в інших рядках при цій змінній нуль. Потім знову обчислюємо значення оцінного рядка і перевіряємо наявність позитивних значень.
Покажемо розв’язування задачі на прикладі.
Вирішити задачу такого виду, знайти мінімум цільової функції в області D, заданої обмеженнями.
min z=x1 3x2 + 2x3
D:
xi
0 i= 1, 2, 3

min z = x1 3x2 + 2x3 + 0x4 + 0x5 + 0x6
|
Базис |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
b | ||
|
1 |
3 |
2 |
0 |
0 |
0 | ||||
|
x4 |
0 |
3 |
1 |
2 |
1 |
0 |
0 |
7 | |
|
x5 |
0 |
2 |
4 |
0 |
0 |
1 |
0 |
12 |
3 |
|
x6 |
0 |
4 |
3 |
8 |
0 |
0 |
1 |
10 |
3,3 |
|
Оц. рядок |
1 |
3 |
2 |
0 |
0 |
0 |
0 |
| |
Тому що в оцінному рядку максимальне позитивне число 3, то в базис уводимо х2, k=2. З базису виключаємо х5 і заміняємо його х2, тому що 3 < 3,3.
|
Базис |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
b | ||
|
1 |
3 |
2 |
0 |
0 |
0 | ||||
|
x4 |
0 |
2,5 |
0 |
2 |
1 |
0,25 |
0 |
10 |
4 |
|
x2 |
3 |
0,5 |
1 |
0 |
0 |
0,25 |
0 |
3 | |
|
x6 |
0 |
2,5 |
0 |
8 |
0 |
0,75 |
1 |
1 | |
|
Оц. рядок |
0,5 |
0 |
2 |
0 |
0,75 |
0 |
9 |
| |
З оцінного рядка, що потрібно ввести змінну х1 замість х4.
|
Базис |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
b | ||
|
1 |
3 |
2 |
0 |
0 |
0 | ||||
|
x1 |
1 |
1 |
0 |
0,8 |
0,4 |
0,1 |
0 |
4 |
|
|
x2 |
3 |
0 |
1 |
0,4 |
0,2 |
0,3 |
0 |
5 |
|
|
x6 |
0 |
0 |
0 |
0,8 |
3,6 |
0,1 |
1 |
4,4 |
|
|
Оц. строка |
0 |
0 |
2,4 |
0,6 |
0,8 |
0 |
11 |
| |
Тому що в оцінному рядку немає позитивних значень, то рішення є оптимальним.
х1=4 х2=5 х3=0 х4=0 х5=0 х6=4,4
zmin = 11
