Автор работы: Пользователь скрыл имя, 08 Марта 2013 в 18:57, задача
Решим прямую задачу линейного программирования симплексным методом, с использованием симплексной таблицы.
Определим максимальное значение целевой функции F(X) = x1 - 2x2 - 4x3 + 2x4 + 3x5 при следующих условиях-ограничений.
Итерация №3.
Текущий опорный план неоптимален, так
как в индексной строке находятся отрицательные
коэффициенты.
В качестве ведущего выберем столбец,
соответствующий переменной x5, так
как это наибольший коэффициент по модулю.
Вычислим значения Di по строкам
как частное от деления: bi / ai5
и из них выберем наименьшее:
Следовательно, 1-ая строка является ведущей.
Разрешающий элемент равен (12/23)
и находится на пересечении ведущего столбца
и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
min |
x4 |
921/23 |
18/23 |
0 |
0 |
1 |
-4/23 |
7/23 |
12/23 |
4/23 |
-7/23 |
19 |
|
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 |
42 |
F(X4) |
-2412/23 |
32/23 |
0 |
0 |
0 |
22/23 |
119/23 |
13/23+M |
-22/23+M |
-119/23+M |
0 |
Получаем новую симплекс-
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
x5 |
19 |
27/12 |
0 |
0 |
111/12 |
1 |
-1/3 |
7/12 |
1 |
1/3 |
-7/12 |
x3 |
10 |
-1/6 |
0 |
1 |
1/6 |
0 |
-1/3 |
-1/6 |
0 |
1/3 |
1/6 |
x2 |
3 |
-1/4 |
1 |
0 |
-1/4 |
0 |
0 |
-1/4 |
0 |
0 |
1/4 |
F(X4) |
11 |
711/12 |
0 |
0 |
37/12 |
0 |
1/3 |
211/12 |
3+M |
-1/3+M |
-211/12+M |
Конец итераций: индексная строка не
содержит отрицательных элементов - найден
оптимальный план
Окончательный вариант симплекс-таблицы:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
x5 |
19 |
27/12 |
0 |
0 |
111/12 |
1 |
-1/3 |
7/12 |
1 |
1/3 |
-7/12 |
x3 |
10 |
-1/6 |
0 |
1 |
1/6 |
0 |
-1/3 |
-1/6 |
0 |
1/3 |
1/6 |
x2 |
3 |
-1/4 |
1 |
0 |
-1/4 |
0 |
0 |
-1/4 |
0 |
0 |
1/4 |
F(X5) |
11 |
711/12 |
0 |
0 |
37/12 |
0 |
1/3 |
211/12 |
3+M |
-1/3+M |
-211/12+M |
Оптимальный план можно записать так:
x5 = 19
x3 = 10
x2 = 3
F(X) = 3•19 + -4•10 + -2•3 = 11
Составим двойственную задачу к прямой
задаче.
2y1 - y3=>1
3y1 - 2y2 + 4y3=>-2
- y1 + 3y2=>-4
y1 + y2 - y3=>2
y1=>3
18y1 + 24y2 + 12y3 → min
y2 <= 0
y3 <= 0
Решение двойственной задачи дает оптимальную
систему оценок ресурсов.
Используя последнюю итерацию прямой
задачи найдем, оптимальный план двойственной
задачи.
Из теоремы двойственности следует, что
Y = C*A-1.
Составим матрицу A из компонентов векторов,
входящих в оптимальный базис.
A = (A5, A3, A2, ) = |
|
Определив обратную матрицу D = А-1 через алгебраические
дополнения, получим:
D = A-1 = |
|
Как видно из последнего плана
симплексной таблицы, обратная матрица
A-1 расположена в столбцах дополнительных
переменных.
Тогда Y = C*A-1 =
(3, -4, -2) x |
|
= (3;-1/3;-35/12) |
Оптимальный план двойственной задачи
равен:
y1 = 3
y2 = -1/3
y3 = -211/12
Z(Y) = 18*3+24*-1/3+12*-211/12
= 11
Симплекс-метод
Решим прямую задачу
линейного программирования симплексным
методом, с использованием симплексной
таблицы.
Определим максимальное значение целевой
функции F(X) = 3x1 + 2x3 - 6x6 при
следующих условиях-ограничений.
2x1 + x2 - 3x3 + 6x6=18
- 3x1 + 2x3 + x4 - 2x6=24
x1 + 3x3 + x5 - 4x6=36
Для построения первого опорного плана
систему неравенств приведем к системе
уравнений путем введения дополнительных
переменных (переход к канонической
форме).
2x1 + 1x2-3x3 + 0x4 + 0x5
+ 6x6 = 18
-3x1 + 0x2 + 2x3 + 1x4 +
0x5-2x6 = 24
1x1 + 0x2 + 3x3 + 0x4 +
1x5-4x6 = 36
Матрица коэффициентов A = a(ij) этой системы
уравнений имеет вид:
A = |
|
Решим систему уравнений относительно
базисных переменных:
x2, x4, x5,
Полагая, что свободные переменные
равны 0, получим первый опорный план:
X1 = (0,18,0,24,36,0)
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x2 |
18 |
2 |
1 |
-3 |
0 |
0 |
6 |
x4 |
24 |
-3 |
0 |
2 |
1 |
0 |
-2 |
x5 |
36 |
1 |
0 |
3 |
0 |
1 |
-4 |
F(X0) |
0 |
-3 |
0 |
-2 |
0 |
0 |
6 |
Переходим к основному алгоритму
симплекс-метода.
Итерация №0.
Текущий опорный план неоптимален, так
как в индексной строке находятся отрицательные
коэффициенты.
В качестве ведущего выберем столбец,
соответствующий переменной x1, так
как это наибольший коэффициент по модулю.
Вычислим значения Di по строкам
как частное от деления: bi / ai1
и из них выберем наименьшее:
Следовательно, 1-ая строка является ведущей.
Разрешающий элемент равен (2) и находится
на пересечении ведущего столбца и ведущей
строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
min |
x2 |
18 |
2 |
1 |
-3 |
0 |
0 |
6 |
9 |
x4 |
24 |
-3 |
0 |
2 |
1 |
0 |
-2 |
- |
x5 |
36 |
1 |
0 |
3 |
0 |
1 |
-4 |
36 |
F(X1) |
0 |
-3 |
0 |
-2 |
0 |
0 |
6 |
0 |
Получаем новую симплекс-
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x1 |
9 |
1 |
1/2 |
-11/2 |
0 |
0 |
3 |
x4 |
51 |
0 |
11/2 |
-21/2 |
1 |
0 |
7 |
x5 |
27 |
0 |
-1/2 |
41/2 |
0 |
1 |
-7 |
F(X1) |
27 |
0 |
11/2 |
-61/2 |
0 |
0 |
15 |
Итерация №1.
Текущий опорный план неоптимален, так
как в индексной строке находятся отрицательные
коэффициенты.
В качестве ведущего выберем столбец,
соответствующий переменной x3, так
как это наибольший коэффициент по модулю.
Вычислим значения Di по строкам
как частное от деления: bi / ai3
и из них выберем наименьшее:
Следовательно, 3-ая строка является ведущей.
Разрешающий элемент равен (41/2)
и находится на пересечении ведущего столбца
и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
min |
x1 |
9 |
1 |
1/2 |
-11/2 |
0 |
0 |
3 |
- |
x4 |
51 |
0 |
11/2 |
-21/2 |
1 |
0 |
7 |
- |
x5 |
27 |
0 |
-1/2 |
0 |
1 |
-7 |
6 |
|
F(X2) |
27 |
0 |
11/2 |
0 |
0 |
15 |
0 |