Автор работы: Пользователь скрыл имя, 08 Марта 2013 в 18:57, задача
Решим прямую задачу линейного программирования симплексным методом, с использованием симплексной таблицы.
Определим максимальное значение целевой функции F(X) = x1 - 2x2 - 4x3 + 2x4 + 3x5 при следующих условиях-ограничений.
Решим прямую задачу
линейного программирования симплексным
методом, с использованием симплексной
таблицы.
Определим максимальное значение целевой
функции F(X) = x1 - 2x2 - 4x3 +
2x4 + 3x5 при следующих условиях-ограничений.
2x1 + 3x2 - x3 + x4 + x5=18
- 2x2 + 3x3 + x4=>24
- x1 + 4x2 - x4=>12
Для построения первого опорного плана
систему неравенств приведем к системе
уравнений путем введения дополнительных
переменных (переход к канонической
форме).
2x1 + 3x2-1x3 + 1x4 + 1x5
+ 0x6 + 0x7 = 18
0x1-2x2 + 3x3 + 1x4 + 0x5-1x6
+ 0x7 = 24
-1x1 + 4x2 + 0x3-1x4 + 0x5
+ 0x6-1x7 = 12
Введем искусственные переменные x: в 1-м
равенстве вводим переменную x8;
в 2-м равенстве вводим переменную x9;
в 3-м равенстве вводим переменную x10;
2x1 + 3x2-1x3 + 1x4 + 1x5
+ 0x6 + 0x7 + 1x8 + 0x9
+ 0x10 = 18
0x1-2x2 + 3x3 + 1x4 + 0x5-1x6
+ 0x7 + 0x8 + 1x9 + 0x10
= 24
-1x1 + 4x2 + 0x3-1x4 + 0x5
+ 0x6-1x7 + 0x8 + 0x9 +
1x10 = 12
Для постановки задачи на максимум целевую
функцию запишем так:
F(X) = x1-2x2-4x3+2x4+3x5
- Mx8 - Mx9 - Mx10 → max
Из уравнений выражаем искусственные
переменные:
x8 = 18-2x1-3x2+x3-x4-x5
x9 = 24+2x2-3x3-x4+x6
x10 = 12+x1-4x2+x4+x7
которые подставим в целевую функцию:
F(X) = (1+M)x1+(-2+5M)x2+(-4+2M)x3+(
Матрица коэффициентов A = a(ij) этой системы
уравнений имеет вид:
2 |
3 |
-1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
-2 |
3 |
1 |
0 |
-1 |
0 |
0 |
1 |
0 |
-1 |
4 |
0 |
-1 |
0 |
0 |
-1 |
0 |
0 |
1 |
Решим систему уравнений относительно
базисных переменных:
x8, x9, x10,
Полагая, что свободные переменные
равны 0, получим первый опорный план:
X1 = (0,0,0,0,0,0,0,18,24,12)
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
x8 |
18 |
2 |
3 |
-1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
x9 |
24 |
0 |
-2 |
3 |
1 |
0 |
-1 |
0 |
0 |
1 |
0 |
x10 |
12 |
-1 |
4 |
0 |
-1 |
0 |
0 |
-1 |
0 |
0 |
1 |
F(X0) |
-54M |
-1-M |
2-5M |
4-2M |
-2-M |
-3-M |
M |
M |
0 |
0 |
0 |
Переходим к основному алгоритму
симплекс-метода.
Итерация №0.
Текущий опорный план неоптимален, так
как в индексной строке находятся отрицательные
коэффициенты.
В качестве ведущего выберем столбец,
соответствующий переменной x2, так
как это наибольший коэффициент по модулю.
Вычислим значения Di по строкам
как частное от деления: bi / ai2
и из них выберем наименьшее:
Следовательно, 3-ая строка является ведущей.
Разрешающий элемент равен (4) и находится
на пересечении ведущего столбца и ведущей
строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
min |
x8 |
18 |
2 |
3 |
-1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
6 |
x9 |
24 |
0 |
-2 |
3 |
1 |
0 |
-1 |
0 |
0 |
1 |
0 |
- |
x10 |
12 |
-1 |
4 |
0 |
-1 |
0 |
0 |
-1 |
0 |
0 |
1 |
3 |
F(X1) |
-54M |
-1-M |
2-5M |
4-2M |
-2-M |
-3-M |
M |
M |
0 |
0 |
0 |
0 |
Получаем новую симплекс-
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
x8 |
9 |
23/4 |
0 |
-1 |
13/4 |
1 |
0 |
3/4 |
1 |
0 |
-3/4 |
x9 |
30 |
-1/2 |
0 |
3 |
1/2 |
0 |
-1 |
-1/2 |
0 |
1 |
1/2 |
x2 |
3 |
-1/4 |
1 |
0 |
-1/4 |
0 |
0 |
-1/4 |
0 |
0 |
1/4 |
F(X1) |
-6-39M |
-1/2-21/4M |
0 |
4-2M |
-11/2-21/4M |
-3-M |
M |
1/2-M |
0 |
0 |
-1/2+11/4M |
Итерация №1.
Текущий опорный план неоптимален, так
как в индексной строке находятся отрицательные
коэффициенты.
В качестве ведущего выберем столбец,
соответствующий переменной x4, так
как это наибольший коэффициент по модулю.
Вычислим значения Di по строкам
как частное от деления: bi / ai4
и из них выберем наименьшее:
Следовательно, 1-ая строка является ведущей.
Разрешающий элемент равен (13/4)
и находится на пересечении ведущего столбца
и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
min |
x8 |
9 |
23/4 |
0 |
-1 |
1 |
0 |
3/4 |
1 |
0 |
-3/4 |
||
x9 |
30 |
-1/2 |
0 |
3 |
1/2 |
0 |
-1 |
-1/2 |
0 |
1 |
1/2 |
60 |
x2 |
3 |
-1/4 |
1 |
0 |
-1/4 |
0 |
0 |
-1/4 |
0 |
0 |
1/4 |
- |
F(X2) |
-6-39M |
-1/2-21/4M |
0 |
4-2M |
-11/2-21/4M |
-3-M |
M |
1/2-M |
0 |
0 |
-1/2+11/4M |
0 |
Получаем новую симплекс-
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
x4 |
51/7 |
14/7 |
0 |
-4/7 |
1 |
4/7 |
0 |
3/7 |
4/7 |
0 |
-3/7 |
x9 |
273/7 |
-14/14 |
0 |
32/7 |
0 |
-2/7 |
-1 |
-10/14 |
-2/7 |
1 |
10/14 |
x2 |
42/7 |
1/7 |
1 |
-1/7 |
0 |
1/7 |
0 |
-1/7 |
1/7 |
0 |
1/7 |
F(X2) |
15/7-273/7M |
112/14+116/56M |
0 |
31/7-32/7M |
0 |
-21/7+2/7M |
M |
11/7+40/56M |
6/7+12/7M |
0 |
-11/7+16/56M |
Итерация №2.
Текущий опорный план неоптимален, так
как в индексной строке находятся отрицательные
коэффициенты.
В качестве ведущего выберем столбец,
соответствующий переменной x3, так
как это наибольший коэффициент по модулю.
Вычислим значения Di по строкам
как частное от деления: bi / ai3
и из них выберем наименьшее:
Следовательно, 2-ая строка является ведущей.
Разрешающий элемент равен (32/7)
и находится на пересечении ведущего столбца
и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
min |
x4 |
51/7 |
14/7 |
0 |
-4/7 |
1 |
4/7 |
0 |
3/7 |
4/7 |
0 |
-3/7 |
- |
x9 |
273/7 |
-14/14 |
0 |
0 |
-2/7 |
-1 |
-10/14 |
-2/7 |
1 |
10/14 |
||
x2 |
42/7 |
1/7 |
1 |
-1/7 |
0 |
1/7 |
0 |
-1/7 |
1/7 |
0 |
1/7 |
- |
F(X3) |
15/7-273/7M |
112/14+116/56M |
0 |
31/7-32/7M |
0 |
-21/7+2/7M |
M |
11/7+40/56M |
6/7+12/7M |
0 |
-11/7+16/56M |
0 |
Получаем новую симплекс-
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
x4 |
921/23 |
18/23 |
0 |
0 |
1 |
12/23 |
-4/23 |
7/23 |
12/23 |
4/23 |
-7/23 |
x3 |
88/23 |
-9/23 |
0 |
1 |
0 |
-2/23 |
-7/23 |
-5/23 |
-2/23 |
7/23 |
5/23 |
x2 |
511/23 |
2/23 |
1 |
0 |
0 |
3/23 |
-1/23 |
-4/23 |
3/23 |
1/23 |
4/23 |
F(X3) |
-2412/23 |
32/23 |
0 |
0 |
0 |
-120/23 |
22/23 |
119/23 |
13/23+M |
-22/23+M |
-119/23+M |