Смекни!
smekni.com

Математические методы исследования операций в экономике (стр. 7 из 37)

δi(q)) — i-я строка матрицы ∆ˉ-1(q)), (iÎ 0: m );

δij(q)) — элемент матрицы ∆-1(q)), находящийся в i-й строке j-го столбца (iÎ0: m, jÎ0 : m).

Расширенный вектор ограничений b представляется в виде линейной комбинации расширенных векторов условий с коэф­фициентами, равными базисным компонентам текущего базис­ного плана:

Если интерпретировать компоненты векторов аj и b как ко­ординаты в ортогональном базисе, то их столбцы координат от­носительно произвольного базиса (β(q)), дополненного единич­ным вектором (-1,0,..., 0), направленным противоположно оси аппликат примут вид:

а для расширенной матрицы задачи в целом можно записать

Нулевая строка данной матрицы a0(q)) содержит координаты расширенных векторов условий по оси аппликат. Согласно по­строению, элементы данной строки имеют следующие знаки:

- a0,j(q)) < 0 — для расширенных векторов условий, рас­положенных выше плоскости, натянутой на систему расширенных базисных векторов;

- a0,j(q))> 0 — для расширенных векторов условий, рас­положенных ниже плоскости, натянутой на систему расширенных базисных векторов;

- a0,j(q)) = 0 — для расширенных базисных векторов.

Подводя итог сказанному, сформулируем критерий опти­мальности допустимого базисного плана в симплекс-методе:

-план является оптимальным, если для всехjÎ1:na0,j(q)) ≥ 0, и неоптимальным в противном

случае, т. е. если существует такое lÎl : n, что a0l(q)) < 0.

Значения a0,j(q))также называют оценками столбцов мат­рицы А относительно текущего базиса, или симплекс-разнос­тями.

В случае неоптимальности текущего базиса в алгоритме сим­плекс-метода осуществляется переход к следующему базису. Это делается за счет вывода одного столбца из базиса и ввода другого. Для обеспечения улучшения значения целевой фун­кции в базис должен быть введен вектор-столбец, имеющий от­рицательную оценку. Если таких столбцов несколько, то для ввода рекомендуется выбирать столбец, имеющий макси­мальную по модулю оценку. Отметим, что данное правило но­сит относительный характер и не гарантирует наилучшего выбора вводимого столбца. Одновременно на этой стадии тре­буется принять решение о том, какой столбец следует вывести из базиса. Сделать это нужно таким образом, чтобы вновь формируемый базис оказался допустимым. Данное требование может быть легко проиллюстрировано для случая m = 2. Например, на рис. 1.3 векторы {а2,а3} образуют допустимый ба­зис, а векторы {а3,a4} —недопустимый, т. к. разложение b по а3 и а4 содержит один отрицательный компонент плана, что противоречит условиям КЗЛП.

Можно доказать, что допустимость базиса, к которому осу­ществляется переход, обеспечивается следующим правилом вывода столбца из текущего базиса:

-для столбца l, претендующего на ввод в базис, и вектора ограничений b рассматриваются

отношения

и определяется такая строка r, что

Полученный индекс r определяет номер столбца вN(q)), выводимого из базиса, а именно, N(q)).

Таким образом, если базис на q-й итерации включал столбцы с номерами

то базис на итерацииq + 1 будет состоять из столбцов с номе­рами:

Отдельно следует обсудить тот случай, когда столбец al(q)), претендующий на ввод в базис, не содержит положительных компонентовal(q)) ≤ 0). Это означает, что целевая функция в задаче не ограничена на множестве допустимых значений, т. е. может достигать сколь угодно большого значения. Последнее, очевидно, означает завершение процесса вычислений ввиду отсутствия оптимального плана. Геометрически ситуация, когда al(q)) ≤ 0, соответствует тому, что ось ординат оказыва­ется внутри конуса, натянутого на систему расширенных стол­бцов аj, а значит, прямая, проведенная через конец вектора bпараллельно оси аппликат, однажды «войдя» в этот конус, более никогда из него «не выходит».

Вообще говоря, после перехода от базиса β(q) к базису β(q+1) мы можем заново сформировать матрицы ∆ (β(q+1)), Δ-1(q+1)) и, вычислив А(q+1)) = Δ-1(q+1))A, делать выводы о его оптималь­ности. Однако, учитывая, что β(q+1) отличается от β(q) всего лишь одним столбцом, с точки зрения техники вычислений представляется рациональным непосредственно переходить от A(q)) иb(q)) к A(q+1)) иb(q+1)) . Дело в том, что у матриц типа A(q)) столбцы, соответствующие базисным векторам, состоят из нулей, за исключением одного элемента, равного единице. Позиция этого ненулевого элемента определяется по­рядковым номером базисного столбца в N(q)). Поэтому для получения матрицы A(q+1)) достаточно с помощью линейных операций над строками матрицы A(q)) привести ее столбец, соответствующий вводимому в базис вектору, к «базисному» виду.

Для это применяется преобразование Жордана—Гаусса(так называемый метод полного исключения). В данном случае оно состоит в том, что мы должны «заработать» единицу на мес­те элемента ar,l(q)) (он обычно называется ведущим)* и нули на месте остальных элементов столбца al(q)). Первое достига­ется посредством деления r-й строки на ведущий элемент, вто­рое — путем прибавления вновь полученной r-й строки, умно­женной на подходящий коэффициент, к остальным строкам матрицы A(q)).

* Напомним, что l — номер столбца, вводимого в базис, а r — номер строки в симплекс-таблице, определяющей номер столбца, выводимого из базиса.


Формально результат выполнения данного преобразования над элементами A(q)) и b(q)) может быть выражен в следующем виде


Следует особо отметить смысл элементов вектора b(q)). Его нулевой компонент b0(q)) в соответствии с построением содержит значение целевой функции, достигаемое ею на теку­щем плане

а остальные элементы — ненулевые компоненты этого плана: