![](/user_photo/2706_HbeT2.jpg)
Metody_optimizatsii_Shatina_A_V
.pdf61
координат, изменения матрицы A, изменения знака целевой функции f ( x) . Например, задача (зн) сводится к задаче (зк) путем
введения дополнительных координат x = ( xn+1,..., xn+m ) :
(c, x) ® max; Ax + Ix = b, x ³ 0, x ³ 0 ,
где I – единичная матрица размера m × m.
Более подробно рассмотрим задачу линейного программирования в канонической форме. Множество допустимых точек
задачи (зк) имеет вид: |
= {x Î Rn |
|
Ax = b, x ³ 0} |
|
D |
зк |
|
||
|
||||
|
|
|
|
и представляет собой выпуклый многогранник в пространстве
Rn .
Определение. Точка d выпуклого множества D называется
крайней (угловой), если не существует точек |
d1,d2 Î D и числа |
t Î (0;1) таких, что d = t d1 + (1- t) d2 . |
▲ |
У многогранников крайними точками являются вершины. Поэтому, если существует экстремум линейной функции, то он достигается в крайней точке выпуклого многогранника. Число крайних точек множества D , задаваемого в виде конечного числа линейных равенств и неравенств, конечно. Таким образом, для решения задачи линейного программирования (если оно существует) достаточно перебрать значение целевой функции
f ( x) = (c, x) во всех крайних точках множества D . Но нахождение всех этих крайних точек и перебор значений целевой функции в них – операция довольно трудоемкая.
Симплекс-метод решения задачи линейного программирования позволяет, начиная с некоторой исходной точки, переходить к другой по направлению наибольшего возрастания функ- ции f ( x) = (c, x) .
Определение. Задача (зк) называется невырожденной, если
любая крайняя точка множества Dзк |
содержит ровно m положи- |
тельных координат. |
▲ |
Пусть x = ( x1, ... , xm ,0, ... ,0), xi > 0, i = 1, ... ,m – крайняя точ-
62
ка в невырожденной задаче (з ). Вектор x |
можно представить в |
|||
|
|
|
к |
|
виде x = ( xb , xn ) , |
где xb = ( x1, ... , xm ) |
– базисный вектор, |
||
x |
n |
= (0, ... ,0) Rn−m |
– небазисный вектор. Аналогично, матрицу |
|
|
|
A можно представить в виде A = ( Ab , An ) , где Ab – матрица, состоящая из первых m столбцов матрицы A.
Столбцы матрицы Ab линейно независимы, т.е. матрица Ab является невырожденной. Действительно, допустим противное,
что столбцы a1, ... ,am линейно зависимы. Тогда существует не-
m |
|
åλiai = 0 |
. Зна- |
нулевой набор множителей λ1, ... ,λm такой, что i=1 |
чит Aλ = 0 для вектора
ка xt = x + tλ Dзк при малых t как больших нуля, так и меньших нуля. Это означает, что точка x не является крайней. Получили противоречие.
|
Правило решения задач по симплекс-методу. |
1) |
Привести задачу к канонической форме. |
2) |
Найти крайнюю точку x = ( x1, ... , xm ,0, ... ,0), xi > 0, |
i= 1, ... , m , x Dзк .
3)Построить симплексную таблицу для начальной крайней точки. В таблице m + 4 строки и n + 4 столбца. В первом столбце,
начиная с 3-его по (m + 2) -ое место находятся базисные векторы
a1, ... , am , соответствующие положительным координатам начальной крайней точки x = ( x1, ... , xm ,0, ... ,0) . Во втором столбце на аналогичных местах стоят соответствующие координаты вектора c . Последний столбец заполняется при исследовании симплексной таблицы.
В первой строке, начиная с 4-го столбца, располагаются элементы c1, ... ,cn .
63
Во второй строке, начиная с 3-его столбца – векторы b, a1, ... , an . Под ними – разложения этих векторов по базису
a1, ... , am . |
|
|
|
x = ( xb , xn ) = ( x1, ... , xm ,0, ... ,0) Dзк , |
|
||||||
а) |
|
Так |
как |
|
то |
||||||
Ax = b Û x a1 |
+ ××× + x |
m |
am = b |
. Это означает, что разложением |
|||||||
|
|
1 |
|
|
|||||||
вектора b по базису a1, ... , am является вектор xb . |
|
|
|||||||||
б) Предположим, что векторы |
a j ( |
j = 1, ... , n) |
имеют следую- |
||||||||
|
|
|
|||||||||
щее разложение по базису a1, ... , am : |
|
|
|
|
|||||||
|
|
|
æ a1 j |
ö |
æ a11 |
ö |
|
æ a1m |
ö |
|
|
|
|
|
ç |
÷ |
ç |
÷ |
|
ç |
÷ |
|
|
a j = åai xij Û ça2 j |
÷ |
= ç a21 |
÷x1 j + ××× + ç a2m |
÷xmj Û a j = Ab x j |
|
||||||
|
m |
|
|
|
|
|
|
|
|
|
|
|
= |
|
ç ... |
÷ |
ç ... |
÷ |
|
ç ... |
÷ |
|
|
|
i 1 |
|
ç |
÷ |
ç |
÷ |
|
ç |
÷ |
|
|
|
|
|
ç |
÷ |
ç |
÷ |
|
ç |
÷ |
|
, |
|
æ |
ö |
èamj |
ø |
èam1 |
ø |
|
èamm ø |
|
||
x j |
ç x1 j ÷ |
|
|
|
|
|
|
|
|
|
|
= ç |
... ÷ |
|
|
|
|
|
|
|
|
|
|
|
ç |
÷ |
– столбец коэффициентов разложения вектора a j |
||||||||
где |
è xmj ø |
||||||||||
по базису a1, ... , am . Тогда x j |
= Ab−1a j , |
j = 1,...,m,m +1,...,n. |
|
||||||||
Для i = 1, ... , m разложения векторов ai |
тривиальны: ai = ai , |
||||||||||
следовательно, вектор-столбец xi представляет собой единичный |
вектор. При i = m +1, ... , n неизвестные вектор-столбцы xi |
отыс- |
||||||||||
киваются с помощью обратной матрицы. |
|
|
|||||||||
|
в) В предпоследней строке z |
под вектором b( xb ) |
выписыва- |
||||||||
ется |
z0 = (cb , xb ) – значение целевой функции в крайней точке. |
||||||||||
Под векторами |
a j ( |
j =1, ... , n) |
в предпоследнюю строку записыва- |
||||||||
|
|
|
|
|
|||||||
ются |
значения |
z |
j |
= (c |
b |
, x j ) |
. |
Очевидно, |
что |
при |
|
|
|
|
j = 1, ... , m z j = c j .
64
г) В последнюю строку, начиная с 4-го столбца, заносится разность между элементами предпоследней строки и элементами первой строки:
= z − c i = zi − ci , i = 1, ... , n.
|
|
c |
|
|
|
c1 |
… |
cm |
cm+1 |
… |
c j0 |
|
… |
cn |
t |
|
|||||||||
базис |
|
|
b( xb ) |
a1 |
… |
am |
am+1 |
… |
a j0 |
|
… |
an |
|
|
|
||||||||||
|
1 |
c |
x |
|
1 |
… |
0 |
x |
|
+ |
… |
x |
|
|
… |
x |
t |
|
|||||||
a |
|
1 |
|
1 |
|
|
|
|
1,m |
|
1 |
|
|
1, j0 |
|
|
1,n |
|
1 |
||||||
… |
… |
… |
… |
… |
… |
|
… |
|
|
… |
… |
|
… |
… |
… |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
ai0 |
ci |
xi |
0 |
0 |
… |
0 |
xi |
,m+1 |
… |
xi |
, j |
0 |
… |
xi ,n |
ti |
0 |
|||||||||
|
|
|
0 |
|
|
|
|
|
|
0 |
|
|
|
|
|
0 |
|
|
|
0 |
|
|
|||
… |
… |
… |
… |
… |
… |
|
… |
|
|
… |
… |
|
… |
… |
… |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
m |
c |
m |
x |
m |
0 |
… |
1 |
x |
|
|
+ |
… |
x |
m, j0 |
… |
x |
m,n |
t |
m |
|||||
|
|
|
|
|
|
|
m,m |
1 |
|
|
|
|
|
||||||||||||
z |
|
|
(cb , xb ) |
c1 |
… |
cm |
(cb , xm+1 ) |
… |
(cb , x j0 ) |
… |
(cb , xn ) |
|
|
|
|||||||||||
D |
|
|
|
|
|
0 |
… |
0 |
|
|
+ |
1 |
… |
|
|
j0 |
|
… |
|
n |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
|
|
|
4) Исследовать симплексную таблицу.
а) Если D ³ 0 , то крайняя точка x является решением задачи, Smax = (cb , xb ) .
б) Если для некоторого |
j |
имеют место неравенства |
j < 0 |
|
|
и x j £ 0 , то Smax = +∞ .
в) Пусть в строке D имеются отрицательные числа, а соот-
ветствующие |
столбцы содержат |
положительные числа и |
||||||
min j |
= j |
< 0 |
|
|
|
j0 является разрешаю- |
||
j |
0 |
. Тогда столбец индексом |
||||||
|
||||||||
|
|
|
ì |
xi |
|
|
ü |
|
|
|
|
ï |
|
|
ï |
|
|
|
|
|
ti = í |
|
, xij |
> 0 |
ý |
> 0 |
|
|
|
|
|||||
|
|
|
ïxij |
0 |
|
ï |
|
|
щим. Введем обозначение: |
î |
0 |
|
þ |
. Эти значения |
|||
|
|
ti ставим соответственно в последнем столбце таблицы. Пусть ti0 = mini ti > 0. Тогда строка с номером i0 является разрешающей,
65
а разрешающим элементом симплексной таблицы является эле-
мент xi0 , j0 .
Далее необходимо из числа базисных векторов исключить вектор ai0 , и вместо него взять вектор a j0 . Значение целевой функции при этом возрастает на величину (− ti0 j0 ).
5) Построить новую |
симплексную таблицу для базиса |
a1, ... ,ai0 −1, a j0 , ai0 +1, ... ,am |
, т.е. векторы b, a1, ... ,an разложить |
по новому базису.
Элементы таблицы x′ , не лежащие в разрешающем столбце
ij
и разрешающей строке, вычисляются по правилу прямоугольника:
¢ |
= xi - |
xi0 xij0 |
, |
¢ |
|
xi0 j xij0 |
, i ¹ i0 , j ¹ j0 |
||||
|
|
|
|
|
|
|
|||||
xi |
|
xi0 j0 |
xij = xij - |
xi0 j0 |
|
||||||
|
|
|
|
|
|
|
. |
||||
Элементы разрешающей строки делятся на разрешающий |
|||||||||||
элемент: |
|
|
|
xi0 |
|
|
xi0 j |
|
|
|
|
|
xi¢0 |
= |
|
, xi¢0 j = |
, |
j =1,..., n |
|||||
|
xi0 j0 |
|
|||||||||
|
|
|
|
|
xi0 j0 |
|
. |
Далее перейти к исследованию новой симплексной таблице, т.е. к пункту 4).
Симплекс-метод позволяет решать точно также и вырожденные задачи линейного программирования. Число положительных координат крайней точки в таких задачах меньше m, но число базисных векторов всегда равняется рангу матрицы A. Перейти от вырожденной задачи к невырожденной можно путем сколь угодно малого изменения начальных данных задачи. В вырожденных задачах возможны холостые шаги симплекс-метода, т.е. шаги, в результате которых значение целевой функции не изменяется. При этом теоретически возможно и зацикливание, т.е. бесконечное повторение холостых шагов. Для того чтобы избежать зацикливания, разработаны специальные алгоритмы – антициклины (см., например, Ф.П. Васильев «Методы оптимизации». М.: Факториал Пресс, 2002). На практике зацикливание происходит крайне редко, поэтому в данном курсе антициклины не рассмат-
![](/html/2706/112/html_WdDlUH4GMr.pT3f/htmlconvd-hMhK6A66x1.jpg)
66
риваются.
Пример 1. Решить задачу линейного программирования в канонической форме с заданной начальной крайней точкой x0 = (0;0;2;4) , используя симплекс-метод:
f ( x) = -x1 + 2x2 - x3 - x4 ® max;
- x1 + x2 + x3 = 2, x1 + x2 + x4 = 4, xi ³ 0, i = 1, ... ,4.
Решение: Данная задача задана в канонической форме, также задана начальная крайняя точка. Построим симплексную таблицу. Матрица системы ограничений имеет вид:
æ−1 |
1 |
1 |
0 |
ö |
|
A = ç |
|
|
|
|
÷ |
ç |
1 |
1 |
0 |
1 |
÷ |
è |
ø . |
Базисная матрица задачи состоит из третьего и четвертого столбцов матрицы A, соответствующих положительным координатам начальной крайней точки:
A |
æ |
1 |
0 |
ö |
= ç |
|
|
÷ |
|
b |
ç |
0 |
1 |
÷ |
|
è |
ø . |
Так как базисная матрица в данной задаче является единич-
x1 |
= a1 |
æ |
−1ö |
|
|
æ1ö |
|
|
|
|
|||
= ç ÷ x2 = a2 |
= ç ÷ |
|
|
|
|
||||||||
ной, то |
|
ç |
÷ |
|
|
|
ç |
÷ |
|
|
|
|
|
|
è |
1 ø, |
|
|
è1ø . |
|
|
|
|
||||
Построим и заполним симплексную таблицу: |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
c |
|
|
|
-1 |
2 |
-1 |
-1 |
|
t |
|
базис |
|
|
|
b( xb ) |
|
a1 |
a2 |
a3 |
a4 |
|
|
|
|
a3 |
|
|
-1 |
|
2 |
|
-1 |
1 |
1 |
0 |
|
2 |
|
a4 |
|
|
-1 |
|
4 |
|
1 |
1 |
0 |
1 |
|
4 |
|
z |
|
|
|
|
-6 |
|
0 |
-2 |
-1 |
-1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
-4 |
0 |
0 |
|
|
В последней строке таблицы содержится только один отрицательный элемент, соответствующий столбцу a2 . Поэтому этот
![](/html/2706/112/html_WdDlUH4GMr.pT3f/htmlconvd-hMhK6A67x1.jpg)
67
столбец будет разрешающим. Заполним соответствующие позиции последнего столбца и выберем минимальный положительный элемент. В данном случае этот минимальный элемент равен
2, он соответствует базисному вектору a3 . Строка, соответствующая a3 , является разрешающей, а вектор a3 в базисе следует за-
менить на a2 . Строим новую симплексную таблицу для нового базиса a2 , a4 .
|
c |
|
-1 |
2 |
-1 |
-1 |
t |
базис |
|
b( xb ) |
a1 |
a2 |
a3 |
a4 |
|
a2 |
2 |
2 |
-1 |
1 |
1 |
0 |
|
a4 |
-1 |
2 |
2 |
0 |
-1 |
1 |
|
z |
|
2 |
-4 |
2 |
3 |
-1 |
|
|
|
|
|||||
D |
|
|
-3 |
0 |
4 |
0 |
|
Из таблицы видно, что разрешающим столбцом является столбец a1, содержащий только один положительный элемент, соответствующий a4 . Поэтому разрешающей строкой является строка, соответствующая a4 . Столбец a4 в базисе заменяем на столбец a1 и для нового базиса строим симплексную таблицу.
|
|
c |
|
|
-1 |
|
|
2 |
-1 |
-1 |
t |
|
|
базис |
|
b( xb ) |
a1 |
|
a2 |
a3 |
a4 |
|
|
||
|
a2 |
2 |
3 |
|
0 |
|
|
1 |
1 2 |
1 2 |
|
|
|
a1 |
-1 |
1 |
|
1 |
|
|
0 |
− 1 2 |
1 2 |
|
|
|
z |
|
5 |
|
-1 |
|
|
2 |
3 2 |
1 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
0 |
|
|
0 |
5 2 |
3 2 |
|
|
|
|
|
ˆ |
= ( |
1;3;0;0 |
) |
является решением задачи и |
|||||
Так как D ³ 0 , то точка x |
|
|
||||||||||
Smax = 5. |
|
|
|
|
|
|
|
|
|
|
● |
Пример 2. Решить задачу линейного программирования в канонической форме с заданной начальной крайней точкой
68
x0 = (0;1;2;0;1) , используя симплекс-метод:
f ( x) = 2x1 + x2 + x3 + x4 + 3x5 ® max ; x1 + x2 + 6x3 +10x5 = 23,
x1 + 5x2 + 2x4 + 8x5 = 13, x1 + 5x2 - x3 + 2x4 + 7x5 = 10,
xi ³ 0, i = 1, ... ,5.
Матрица системы ограничений и базисная матрица имеют
вид: |
|
|
|
|
|
|
|
|
|
æ1 1 6 |
0 |
10 |
ö |
æ1 6 |
10 |
ö |
|||
ç |
|
2 |
8 |
÷ |
ç |
5 |
0 |
8 |
÷ |
A = ç1 5 0 |
÷ |
Ab = ç |
÷ |
||||||
ç |
-1 2 |
7 |
÷ |
ç |
5 |
-1 7 |
÷ |
||
è1 5 |
ø , |
è |
ø. |
Найдем матрицу, обратную к Ab , например, методом присо-
единенной матрицы. Для этого найдем определитель матрицы Ab и алгебраические дополнения элементов этой матрицы:
det Ab = −12,
A(1,1) = |
|
|
0 |
8 |
|
|
|
|
= 8, |
A(1,2) = − |
|
|
5 |
8 |
|
|
= 5, |
A(1,3) = |
|
|
5 |
0 |
|
|
= −5, |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
b |
|
|
|
−1 |
7 |
|
|
|
|
|
b |
|
|
5 |
7 |
|
|
|
|
|
b |
|
|
5 |
−1 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
A( 2,1) = − |
|
6 |
10 |
|
|
= −52, |
A( 2,2) = |
|
1 |
10 |
|
|
= −43, |
A( 2,3) = − |
|
1 |
6 |
|
|
= 31, |
||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||||||||||
b |
|
|
|
−1 |
7 |
|
|
|
|
|
b |
|
|
5 |
7 |
|
|
|
|
|
b |
|
|
|
5 |
−1 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
A(3,1) = |
|
6 |
10 |
|
|
= 48, |
A(3,2) = − |
|
1 |
10 |
|
= 42, |
A(3,3) = |
|
|
1 |
6 |
|
|
= −30. |
||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
b |
|
|
0 |
8 |
|
|
|
|
|
b |
|
|
5 |
8 |
|
|
|
|
|
b |
|
|
|
|
|
5 |
0 |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Присоединенная матрица AbV определяется как транспонированная к матрице, составленной из алгебраических дополнений
соответствующих элементов матрицы Ab :
|
æ |
A(1,1) |
A( 2,1) |
AV |
ç |
b |
b |
= ç A(1,2) |
A( 2,2) |
||
b |
çç |
b |
b |
|
A(1,3) |
A( 2,3) |
|
|
è |
b |
b |
Тогда обратная матрица к Ab
Ab(3,1) ö |
|
æ |
8 |
- 52 |
48 |
ö |
|
|
|
÷ |
= |
ç |
5 |
- 43 |
42 |
÷ |
|
A(3,2) ÷ |
ç |
÷ |
|
|||||
b |
|
|
|
|
|
|
||
(3,3) ÷ |
|
ç |
- 5 |
31 |
- 30 |
÷ |
|
|
Ab |
÷ |
|
è |
ø |
. |
|||
|
ø |
|
|
|
|
|
|
имеет вид:
![](/html/2706/112/html_WdDlUH4GMr.pT3f/htmlconvd-hMhK6A69x1.jpg)
|
|
|
|
69 |
|
|
|
|
|
|
|
æ - 2 3 |
13 3 |
- 4 |
ö |
||
Ab−1 = |
1 |
AbV |
ç |
|
|
|
÷ |
|
= ç |
- 5 12 43 12 |
- 7 2 |
÷ |
|||||
det Ab |
||||||||
|
|
ç |
5 12 |
- 31 12 |
5 2 |
÷ |
||
|
|
|
è |
ø . |
Далее находим разложения векторов a1,a4 по базису a2 , a3, a5 :
|
|
æ |
-1 3ö |
|
|
|
æ |
2 3 |
ö |
|
1 |
−1 1 |
ç |
-1 3 |
÷ |
x |
4 |
−1 4 |
ç |
1 6 |
÷ |
x |
= Ab a |
= ç |
÷, |
|
= Ab a |
= ç |
÷ |
|||
|
|
ç |
1 3 |
÷ |
|
|
|
ç |
-1 6 |
÷ |
|
|
è |
ø |
|
|
|
è |
ø . |
Разложением вектора b является вектор (1;2;1) ненулевых координат крайней точки. Составим симплексную таблицу:
|
c |
|
2 |
1 |
1 |
1 |
3 |
t |
базис |
|
b( xb ) |
a1 |
a2 |
a3 |
a4 |
a5 |
|
a2 |
1 |
1 |
− 1 3 |
1 |
0 |
2 3 |
0 |
|
a3 |
1 |
2 |
− 1 3 |
0 |
1 |
1 6 |
0 |
|
a5 |
3 |
1 |
1 3 |
0 |
0 |
− 1 6 |
1 |
9 |
z |
|
6 |
1 3 |
1 |
1 |
1 3 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
− 5 3 |
0 |
0 |
− 2 3 |
0 |
|
В последней строке имеются два отрицательных числа. Меньшее из них соответствует столбцу a1. Этот столбец будет разрешающим. В столбце a1 имеется один положительный элемент, соответствующий a5 , поэтому строка a5 будет разрешающей. Из числа базисных векторов исключаем вектор a5 и вместо
него вводим вектор a1. Строим симплексную таблицу для нового базиса:
|
c |
|
2 |
1 |
1 |
1 |
3 |
t |
базис |
|
b( xb ) |
a1 |
a2 |
a3 |
a4 |
a5 |
|
a2 |
1 |
2 |
0 |
1 |
0 |
1 2 |
1 |
|
a3 |
1 |
3 |
0 |
0 |
1 |
0 |
1 |
|
![](/html/2706/112/html_WdDlUH4GMr.pT3f/htmlconvd-hMhK6A70x1.jpg)
|
|
|
|
70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
a1 |
2 |
3 |
1 |
0 |
0 |
− 1 2 |
3 |
|
z |
|
11 |
2 |
1 |
1 |
− 1 2 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
0 |
0 |
0 |
− 3 2 |
5 |
|
Последняя строка новой таблицы содержит один отрица-
тельный элемент, соответствующий вектору a4 . В соответствующем столбце только одно число является положительным. Это
число соответствует вектору a2 . На следующем этапе из числа базисных векторов исключаем вектор a2 и вводим вместо него вектор a4 . Строим новую симплексную таблицу:
|
|
|
c |
|
|
2 |
|
|
1 |
|
1 |
|
1 |
|
3 |
t |
|
|
базис |
|
|
|
b( xb ) |
a1 |
|
a2 |
|
a3 |
a4 |
a5 |
|
|
|||
|
a4 |
|
1 |
|
4 |
0 |
|
|
2 |
|
0 |
|
1 |
|
2 |
|
|
|
a3 |
|
1 |
|
3 |
0 |
|
|
0 |
|
1 |
|
0 |
|
1 |
|
|
|
a1 |
|
2 |
|
5 |
1 |
|
|
1 |
|
0 |
|
0 |
|
4 |
|
|
|
z |
|
|
|
17 |
2 |
|
|
4 |
|
1 |
|
1 |
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
0 |
|
|
3 |
|
0 |
|
0 |
|
8 |
|
|
|
Так как |
|
D ³ 0 , то точка |
ˆ |
= ( |
5;0;3;4;0 |
) |
является решением |
|||||||||
|
|
x |
|
|
|||||||||||||
задачи и Smax = 17 . |
|
|
|
|
|
|
|
|
|
|
|
● |
Метод искусственного базиса нахождения начальной крайней точки
Рассмотрим задачу линейного программирования в канонической форме:
|
|
|
|
(c, x) ® max; |
Ax = b, x ³ 0, |
(з ) |
|||||
|
x = ( x , ... , x |
|
) Rn |
|
|
|
|
к |
|||
где |
n |
– |
|
неизвестная |
переменная, |
||||||
|
|
1 |
|
|
|
||||||
c = (c , ... , c |
n |
) Rn |
и |
b = (b , ... , b |
) Rm |
– заданные векторы, |
|||||
|
1 |
|
|
1 |
m |
|
A = (aij )i=1, ... ,m
j=1, ... ,n – заданная матрица размера m × n. Будем считать,