Доказано,
что оптимальное решение задачи линейного
программирования связано с угловыми
точками многогранника решений, поэтому
возникает мысль о следующем пути решения
задачи линейного программирования
с любым числом переменных. Найти
каким-нибудь способом все угловые точки
многогранника планов (а их
=
,
если каждый план определяется системой
m-линейно независимых векторов,
содержащихся в данной системе из n
векторов Ā1,
Ā2
,...,
Ān)
и сравнить в них значения целевой
функции. Но найти оптимальный план,
перебирая все опорные планы задачи
трудно, поэтому необходимо иметь схему,
позволяющую переходить к не худшему
опорному плану и иметь признак того,
что лучших крайних точек, чем данная
крайняя точка нет. В этом и состоит идея
наиболее широко применяемого в настоящее
время симплексного метода (метода
последовательного улучшения плана).
Итак, симплексный метод предполагает: умение находить начальный опорный план, наличие признака оптимальности (неоптимальности) опорного плана, умение переходить к нехудшему опорному плану.
1.
Пусть задача линейного программирования
представлена целевой функцией Z=c1х1
+с2х2
+...+сnхn
=
сjхj
и системой ограничений, заданной в
каноническом виде
Говорят, что ограничение задачи линейного программирования имеет предпочтительный вид, если вi 0 и левая часть этого ограничения содержит переменную с коэффициентом 1, а в остальные ограничения – равенства она входит с коэффициентом равным 0.
Пример
7.
Первое и второе ограничения имеют предпочтительный вид, а третье – нет.
Если каждое ограничение – равенство задачи линейного программирования имеет предпочтительный вид, то и система ограничений представлена в предпочтительном виде. В этом случае легко найти ее опорное решение: все свободные переменные приравниваются к нулю, тогда базисные переменные равны свободным членам.
Пример 8.
|
|
а)
предпочтительными, т. е. базисными
переменными являются х2,
х3,
х4,
а свободными – х1
и х5
х1
= 0, х5
= 0, а х2
= 10, х3
= 0, х4
= 2. Тогда начальный опорный план
=(0;
10; 80; 32; 0) –
угловая точка (согласно теореме 1).
б)
пусть
система ограничений имеет вид
вi;
вi
0 (i
=
)
в задаче линейного программирования
на max (задача об использовании сырья).
Сведем задачу к каноническому виду, для
этого добавим к левым частям неравенств
дополнительные переменные хn
+ i
0 (i
=
),
тогда получим систему равенств
вi;
вi
0 (i
=
),
которая
будет
иметь предпочтительный вид и, следовательно,
начальный опорный план будет
=
(0,...0, в1,
в2,…,
вm)
(так как в этой системе все дополнительные
переменные будут базисными, а в целевую
функцию дополнительные переменные
входят с коэффициентом равным 0), то Z
= c1x1
+ c2x2
+ … cnxn
+ 0xn+1
+ …0xn+m.
в)
в задачах линейного программирования
на min (задача о составлении рациона)
система ограничений имеет вид
вi;
вi
0, (i
=
).
Если мы сведем эту задачу к каноническому
виду, то надо из каждого неравенства
(из левой части) вычесть дополнительные
переменные хn+i
0 (i
=
).
Получим систему
вi;
вi
0, (i
=
),
однако теперь система ограничений не
имеет предпочтительного вида, так как
дополнительные переменные хn
+ i
входят в левую часть с коэффициентами
(–
1). В этом случае вводится так называемый
искусственный базис: к левым частям
ограничений равенств, не имеющих
предпочтительного вида, добавляют
искусственные переменные i.
В целевую функцию переменные i вводят с коэффициентом М в случае решения задачи на min и с коэффициентом (– M) для задачи на max, где М – большое положительное число. Полученная задача называется М-задачей, которая соответствует исходной. Она всегда имеет предпочтительный вид.
Пусть исходная задача линейного программирования имеет вид:
max(min)
Z
=
,
причем ни одно из ограничений не имеет предпочтительной переменной. Тогда М-задача запишется так:
max
(min)
=
–
(+)
,
вi
,(i
=
),
хj
0, (j
=
),
i
0 , (i
=
).
Эта
система ограничений имеет предпочтительный
вид, ее начальный опорный план
= (0,...0, в1,
в2,
…, вm).
Если некоторые из уравнений исходной
системы ограничений имеют предпочтительный
вид, то в них не следует вводить
искусственные переменные. Итак, если в
оптимальном плане
= (х1,
x2,
.., xn,
1,
2,
.., m)
М-задачи все искусственные переменные
I
= 0 (i
=
),
то план
=
(х1,
x2,
.., хn)
является оптимальным планом исходной
задачи. Можно сказать, что если в
результате применения симплексного
метода к М-задаче получен оптимальный
план, в котором все искусственные
переменные I
= 0, то его первые n-компоненты дают
оптимальный план исходной задачи. Если
же в оптимальном плане М-задачи хотя бы
одна из i
0, то исходная задача не имеет допустимых
планов, т. е. ее условия не совместны.
Итак,
любую задачу линейного программирования
можно представить в предпочтительном
виде: max(min)
Z
=
,
xi
+
,
Bi
0,
(i
=
),
хj
0, (j
=
).
Рассмотрим эту задачу для n = 4, m = 2 (и распространим ее для общего случая): Z = c1x1 + c2x2 + c3x3 + c4x4.
Выразим базисные переменные (БП) х1, х2 через свободные х3 и х4
x1
=
,
x2
=
и подставим их в целевую функцию
Введем обозначения в общем виде:
,
где
=
(с1;
с2;
…; сm)
–
вектор коэффициентов целевой функции
при базисных переменных,
= (B1;
B2;
..; Bm)
–
вектор свободных членов;
=
–
вектор коэффициентов при переменных
хj.
С учетом этих равенств целевая функция примет вид:
max(min)Z=
где
;
.
В общем случае задачу записывают в таблицу, которая называется симплексной (табл. 17).
Таблица 17
БП |
СБ |
В |
х1 х2 … xi … xm xm+1 … xj … xn |
c1 c2 … ci … cm cm+1 … cj … cn |
|||
x1 x2 . . . xm |
c1 c2 . . . cm |
B1 B2 . . . Bm |
1
0 … 0 … 0
0 1 … 0 … 0 2, m+1 … 2, j … 2,n ……………………………………………………………..
0
0 … 0 … 1
|
Zj – cj |
ΔO |
0 … 0 … 0 … 0 Δm+1 Δj Δn |
|
Последнюю
строку называют индексной строкой,
число
–
значение целевой функции для начального
опорного плана
,
т. е.
ΔO
= Z(
)
=
,
числа
–
называются оценками свободных переменных.