- •Методы оптимизации.
- •1. Геометрическая интерпретация задачи. Анализ вариантов решений. 6
- •1. Геометрическая интерпретация задачи. Анализ вариантов решений.
- •2. Каноническая форма представления ограничений. Допустимые базисные решения.
- •3.Симплекс-метод. Анализ процедуры решения задачи линейного программирования (с примером).
- •4. Графический метод решения задач.
- •5. Прямой алгоритм симплексного метода
- •6. Прямой алгоритм с искусственными переменными
6. Прямой алгоритм с искусственными переменными
1. Рассмотрим теперь прямой алгоритм симплексного метода для случая, когда каноническая форма получается путем введения в уравнения системы искусственных переменных. Предварительно исходную систему уравнений преобразуем так, чтобы все свободные члены bj были неотрицательны. Пусть дана задача линейного программирования в стандартной форме:
найти
xj0 (j=1,2, … , n) (6.1)
при условиях
(6.2)
c1x1 + c2x2 + ··· cnxn = z min (6.3)
Введем в уравнение системы (6.2) базисное множество искусственных переменных xn+i≥0 (i = 1, 2, … ,m). Кроме того, в целевой функции перенесем z в левую часть со знаком минус и, таким образом, приравняем (6.3) нулю; получим расширенную систему уравнений;
(6.4)
и
xj0 (j=1,2, … , n, n+1, … , n+m) (6.5)
Сумму искусственных переменных (обозначим ее через u)
xn+1 + xn+2 + ··· + xn+m = u (6.6)
будем называть, искусственной линейной формой (или u-уравнением).
Исключим переменные xn+1, xn+2, … , xn+m из u-уравнения, вычитая из него сумму первых m уравнений расширенной системы (иначе говоря, находим значения искусственных переменных из уравнений расширенной системы и подставляем их в искусственную форму). Тогда коэффициенты при x1, x2, … ,xn будут соответственно равны: d1= –(a11+a12+…+am1), d2= –(a12+a22+…+am2), … , dj= –(a1j+a2j+…+amj), … , dn= –(a1n+a2n+…+amn). Перенесем u в левую часть (со знаком минус), а свободный член — в правую часть с обратным знаком; будем иметь:
d1x1+d2x2+···+dnxn+u0=u, где
u0=b1+b2+···bm,
или d1x1+d2x2+···+dnxn+(-u)=u0 (6.7)
Добавив к расширенной системе уравнений (6.4) преобразованное u-уравнение (искусственную форму), получим следующую каноническую форму:
(6.8)
Используем алгоритм, описанный в пп. 1, 2, 3 описания прямого симплекс-метода, для получения решения системы (6.4)–(6.5), которое дает минимальное значение u.
Составим начальную таблицу 2 по аналогии с ранее составлявшейся таблице с той лишь разницей, что дополняем, её еще одной строкой, в клетки которой вписываем коэффициенты dj u-уравнения (6.7). Таким образом, первоначальную таблицу 2 заполняем соответствующими коэффициентами канонической формы (6.8), при этом в клетках, относящихся к базисным переменным, нули писать не будем.
2. Пусть дана стандартная форма задачи линейного программирования (в сокращенной записи):
найти
xj0 (j=1,2, … , n) (6.9)
при условиях
(i=1,2, … , m), (6.10)
дающих
, (6.11)
при этом
bi0 (i=1, 2, … , m). (6.12)
Введем искусственные переменные хn+j, связанные с x1, x2, … , xn; получим расширенную систему:
(i=1, 2, … , m), (6.13)
, (6.14)
xj0 (j=1,2, … , n, n+1, … , n+m). (6.15)
Как было принято, искусственная линейная форма (сумма искусственных переменных) есть
xn+1+ xn+2+…+ xn+m=u (6.16)
Теперь задача состоит в том, чтобы найти минимальное значение u. Для этого используем алгоритм, описанный в описании прямого симплекс-метода, чтобы получить решение системы (6.13)—(6.15), которое дает минимальное значение искусственной линейной формы u. При условии xn+1=0, xn+2=0, … , xn+m=0 очевидно, решение системы (13) эквивалентно системе (10).
В системе (6.13) искусственные переменные xn+i (i=l, 2, …, m) образуют базис. Путем преобразований указанной системы искусственные базисные переменные xn+i будут переходить в число небазисных переменных, а последние вводятся в базис вместо искусственных переменных. Переход от одного базиса к другому на некоторой итерации приведет к тому, что базис не будет содержать ни одной искусственной переменной. Этот переход осуществляется путем применения указанного алгоритма; при этом решается задача о минимизации u.
Действительно, указанный алгоритм можно применить, поскольку расширенная система представляет каноническую форму с базисом (xn+1, xn+2, … , xn+m). Чёрез некоторое число итераций соответствующее базисное решение даст min u. При этом минимальное значение целевой функции может быть или положительным, или равным нулю, так как u есть сумма неотрицательных переменных. В самом деле, так как u≥0, то и min u≥0.
В случае если окажется min u>0, то задача не имеет допустимого решения. В самом деле, поскольку система (6.13)—(6.14) не имеет неотрицательных решений, для которых xn+1=0, xn+2=0, … , xn+m=0 (тогда min u=0), то и исходная система также не имеет неотрицательных решений, и процесс решения на этом заканчивается.
Если min u=0, то для минимального значения u решение будет (, , …, , , …, ), так как из условия ++…+=min u=0 следует =0, =0, … , =0. Следовательно, (, , …, ) есть неотрицательное решение исходной формы системы, при этом среди компонент , , …, не более m отличных от нуля. Решение начинаем следующим образом:
исключаем из дальнейшего рассмотрения все не базисные переменные, соответствующие u-строке таблицы 2 положительным (не нулевым) коэффициентам dj;
заменяем искусственную форму и линейной формой z, которая получается после исключения из u-строки всех базисных переменных.
Отметим, что искусственную переменную, исключенную из базиса в результате некоторой итерации, не следует в дальнейшем вводить ни в один из последующих базисов; поэтому нет необходимости делать преобразования последних m столбцов.
Таким образом, вычисления начинаем с расширенной задачи. После того как выяснится, что в u-строке таблицы достигнут min=0, приходим к решению исходной задачи.
Решение задачи линейного программирования прямым алгоритмом симплексного метода с введением в ее стандартную форму искусственных переменных наглядно показано в блок-схеме 2.
Блок-схема 2
Алгоритм прямого (с искусственными переменными) симплекс-метода.
Таблица 2
Симплекс-таблица (исходная).
Базисн. перем. |
x1 |
x2 |
… |
xj |
… |
xk |
… |
xn |
xn+1 |
… |
xn+i |
… |
xn+m |
(-z) |
(-u) |
Свободн. члены |
xn+1 |
a11 |
a12 |
… |
a1j |
… |
a1k |
… |
a1n |
1 |
… |
|
… |
|
|
|
b1 |
xn+2 |
a21 |
a22 |
… |
a2j |
… |
a2k |
… |
a2n |
|
… |
|
… |
|
|
|
b2 |
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
… |
xn+i |
a n+i,1 |
an+i,2 |
… |
an+i,j |
… |
an+i,k |
… |
an+i,n |
|
… |
1 |
… |
|
|
|
bi |
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
… |
xn+r |
a n+r,1 |
an+r,2 |
… |
an+r,j |
… |
an+r,k |
… |
an+r,n |
|
… |
|
… |
|
|
|
br |
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
… |
xn+m |
an+m,1 |
an+m,2 |
… |
an+m,j |
… |
an+m,k |
… |
an+m,n |
|
… |
|
… |
1 |
|
|
bm |
(-z) |
c1 |
c2 |
… |
cj |
… |
ck |
… |
cn |
|
… |
|
… |
|
1 |
|
0 |
(-u) |
d1 |
d2 |
… |
dj |
… |
dk |
… |
dn |
|
… |
|
… |
|
|
1 |
(-u0) |
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА.
Горстко А. Б. Познакомьтесь с математическим моделированием.
- М.: Знание , 1991. – 160 с.: ил.
Вершинин О. Е. Компьютер для менеджера: Уч. пособие.
- М.: Высш. школа , 1990. – 240 с.: ил.
Ромакин М. И. Математический аппарат оптимизационных задач.
- М.: Статистика, 1975.
Щедрин Н. И., Кархов А. Н. Математические методы программирования в экономике. – М.: Статистика, 1974.
Конторович Л. В., Горстко А. В. Оптимальные решения в экономике. - М.: Наука , 1972.