задачи / Документ Microsoft Word7
.docСимплекс-метод.
Оптимальный план можно записать так: x2 = 3; x3 = 7; x5 = 2; F(X) = 3•3 + 0•7 + -2•2 = 5
Решим прямую задачу линейного программирования симплексным методом, с использованием симплексной таблицы. Определим максимальное значение целевой функции F(X) = 3x1 + 3x2 + x4 - 2x5 при следующих условиях-ограничений. x1 + 2x2 + 4x4=6 x3 + 3x4=7 2x2 + 2x4 + x5=8 Введем искусственные переменные x: в 1-м равенстве вводим переменную x6; в 2-м равенстве вводим переменную x7; в 3-м равенстве вводим переменную x8; 1x1 + 2x2 + 0x3 + 4x4 + 0x5 + 1x6 + 0x7 + 0x8 = 6 0x1 + 0x2 + 1x3 + 3x4 + 0x5 + 0x6 + 1x7 + 0x8 = 7 0x1 + 2x2 + 0x3 + 2x4 + 1x5 + 0x6 + 0x7 + 1x8 = 8 Для постановки задачи на максимум целевую функцию запишем так: F(X) = 3x1+3x2+x4-2x5 - Mx6 - Mx7 - Mx8 → max Из уравнений выражаем искусственные переменные: x6 = 6-x1-2x2-4x4 x7 = 7-x3-3x4 x8 = 8-2x2-2x4-x5 которые подставим в целевую функцию: F(X) = (3+M)x1+(3+4M)x2+(M)x3+(1+9M)x4+(-2+M)x5+(-21M) → max Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:
1 |
2 |
0 |
4 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
3 |
0 |
0 |
1 |
0 |
0 |
2 |
0 |
2 |
1 |
0 |
0 |
1 |
Решим систему уравнений относительно базисных переменных: x6, x7, x8, Полагая, что свободные переменные равны 0, получим первый опорный план: X1 = (0,0,0,0,0,6,7,8)
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x6 |
6 |
1 |
2 |
0 |
4 |
0 |
1 |
0 |
0 |
x7 |
7 |
0 |
0 |
1 |
3 |
0 |
0 |
1 |
0 |
x8 |
8 |
0 |
2 |
0 |
2 |
1 |
0 |
0 |
1 |
F(X0) |
-21M |
-3-M |
-3-4M |
-M |
-1-9M |
2-M |
0 |
0 |
0 |
Переходим к основному алгоритму симплекс-метода. Итерация №0. Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x4, так как это наибольший коэффициент по модулю. Вычислим значения Di по строкам как частное от деления: bi / ai4 и из них выберем наименьшее: Следовательно, 1-ая строка является ведущей. Разрешающий элемент равен (4) и находится на пересечении ведущего столбца и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
min |
x6 |
6 |
1 |
2 |
0 |
4 |
0 |
1 |
0 |
0 |
|
x7 |
7 |
0 |
0 |
1 |
3 |
0 |
0 |
1 |
0 |
21/3 |
x8 |
8 |
0 |
2 |
0 |
2 |
1 |
0 |
0 |
1 |
4 |
F(X1) |
-21M |
-3-M |
-3-4M |
-M |
-1-9M |
2-M |
0 |
0 |
0 |
0 |
Получаем новую симплекс-таблицу:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x4 |
11/2 |
1/4 |
1/2 |
0 |
1 |
0 |
1/4 |
0 |
0 |
x7 |
21/2 |
-3/4 |
-11/2 |
1 |
0 |
0 |
-3/4 |
1 |
0 |
x8 |
5 |
-1/2 |
1 |
0 |
0 |
1 |
-1/2 |
0 |
1 |
F(X1) |
11/2-71/2M |
-23/4+11/4M |
-21/2+M |
-M |
0 |
2-M |
1/4+21/4M |
0 |
0 |
Итерация №1. Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x3, так как это наибольший коэффициент по модулю. Вычислим значения Di по строкам как частное от деления: bi / ai3 и из них выберем наименьшее: Следовательно, 2-ая строка является ведущей. Разрешающий элемент равен (1) и находится на пересечении ведущего столбца и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
min |
x4 |
11/2 |
1/4 |
1/2 |
0 |
1 |
0 |
1/4 |
0 |
0 |
- |
x7 |
21/2 |
-3/4 |
-11/2 |
1 |
0 |
0 |
-3/4 |
1 |
0 |
|
x8 |
5 |
-1/2 |
1 |
0 |
0 |
1 |
-1/2 |
0 |
1 |
- |
F(X2) |
11/2-71/2M |
-23/4+11/4M |
-21/2+M |
-M |
0 |
2-M |
1/4+21/4M |
0 |
0 |
0 |
Получаем новую симплекс-таблицу:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x4 |
11/2 |
1/4 |
1/2 |
0 |
1 |
0 |
1/4 |
0 |
0 |
x3 |
21/2 |
-3/4 |
-11/2 |
1 |
0 |
0 |
-3/4 |
1 |
0 |
x8 |
5 |
-1/2 |
1 |
0 |
0 |
1 |
-1/2 |
0 |
1 |
F(X2) |
11/2-5M |
-23/4+M |
-21/2-M |
0 |
0 |
2-M |
1/4+11/2M |
M |
0 |
Итерация №2. Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x2, так как это наибольший коэффициент по модулю. Вычислим значения Di по строкам как частное от деления: bi / ai2 и из них выберем наименьшее: Следовательно, 1-ая строка является ведущей. Разрешающий элемент равен (1/2) и находится на пересечении ведущего столбца и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
min |
x4 |
11/2 |
1/4 |
0 |
1 |
0 |
1/4 |
0 |
0 |
3 |
|
x3 |
21/2 |
-3/4 |
-11/2 |
1 |
0 |
0 |
-3/4 |
1 |
0 |
- |
x8 |
5 |
-1/2 |
1 |
0 |
0 |
1 |
-1/2 |
0 |
1 |
5 |
F(X3) |
11/2-5M |
-23/4+M |
-21/2-M |
0 |
0 |
2-M |
1/4+11/2M |
M |
0 |
0 |
Получаем новую симплекс-таблицу:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x2 |
3 |
1/2 |
1 |
0 |
2 |
0 |
1/2 |
0 |
0 |
x3 |
7 |
0 |
0 |
1 |
3 |
0 |
0 |
1 |
0 |
x8 |
2 |
-1 |
0 |
0 |
-2 |
1 |
-1 |
0 |
1 |
F(X3) |
9-2M |
-11/2+M |
0 |
0 |
5+2M |
2-M |
11/2+2M |
M |
0 |
Итерация №3. Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x5, так как это наибольший коэффициент по модулю. Вычислим значения Di по строкам как частное от деления: bi / ai5 и из них выберем наименьшее: Следовательно, 3-ая строка является ведущей. Разрешающий элемент равен (1) и находится на пересечении ведущего столбца и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
min |
x2 |
3 |
1/2 |
1 |
0 |
2 |
0 |
1/2 |
0 |
0 |
- |
x3 |
7 |
0 |
0 |
1 |
3 |
0 |
0 |
1 |
0 |
- |
x8 |
2 |
-1 |
0 |
0 |
-2 |
1 |
-1 |
0 |
1 |
2 |
F(X4) |
9-2M |
-11/2+M |
0 |
0 |
5+2M |
2-M |
11/2+2M |
M |
0 |
0 |
Получаем новую симплекс-таблицу:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x2 |
3 |
1/2 |
1 |
0 |
2 |
0 |
1/2 |
0 |
0 |
x3 |
7 |
0 |
0 |
1 |
3 |
0 |
0 |
1 |
0 |
x5 |
2 |
-1 |
0 |
0 |
-2 |
1 |
-1 |
0 |
1 |
F(X4) |
5 |
1/2 |
0 |
0 |
9 |
0 |
31/2+M |
M |
-2+M |
Конец итераций: индексная строка не содержит отрицательных элементов - найден оптимальный план Окончательный вариант симплекс-таблицы:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x2 |
3 |
1/2 |
1 |
0 |
2 |
0 |
1/2 |
0 |
0 |
x3 |
7 |
0 |
0 |
1 |
3 |
0 |
0 |
1 |
0 |
x5 |
2 |
-1 |
0 |
0 |
-2 |
1 |
-1 |
0 |
1 |
F(X5) |
5 |
1/2 |
0 |
0 |
9 |
0 |
31/2+M |
M |
-2+M |
Оптимальный план можно записать так: x2 = 3 x3 = 7 x5 = 2 F(X) = 3•3 + 0•7 + -2•2 = 5