Базисные решения и вторая геометрическая интерпретация ЗЛП

 

1.3.1. Векторная форма записи КЗЛП и ее примене­ние. Рассмотрим каноническую задачу линейного программи­рования

 

 

Обозначим через аj столбцы матрицы А и будем рассматри­вать их как векторы пространства Rm. Тогда каждому допусти­мому плану КЗЛП — n -мерному вектору х — соответствует неотрицательная линейная комбинация столбцов аj, равная столбцу bÎ Rm:

 

 

Такое представление ограничений КЗЛП обычно называют векторной формой записи.

Векторы аj, j Î l :n будем называть векторами требований задачи (D, f), а вектор bвектором ограничений. Множе­ство всех неотрицательных линейных комбинаций столбцов аj с геометрической точки зрения может быть представлено как многогранный выпуклый конус, натянутый на систему векто­ров аj в пространстве Rm (рис. 1.3).

Соответственно, вопрос о существовании допустимого пла­на задачи (D, f) равнозначен вопросу о принадлежности векто­ра b данному конусу, а компоненты хj некоторого допустимого плана х Î D являются не чем иным, как коэффициентами раз­ложения вектора ограничений задачи b по векторам, требо­ваний аj.

Такое представление КЗЛП получило название второй гео­метрической интерпретации.

В дальнейшем без ограничения общности можем предпола­гать, что число уравнений, задающих множество D, меньше или равно числу переменных задачи (m ≤ n). Действительно, если это не так, то либо система уравнений Ах = b несовместна (и, зна­чит, множество D пустое), либо содержит избыточные (линейно зависимые) уравнения.

Если некоторые т столбцов аj 1, аj 2,..., аjm матрицы A явля­ются линейно независимыми, то они образуют базис в простран­стве Rm, и их, вообще говоря, будет достаточно для представ­ления вектора b в виде линейной комбинации указанных столбцов. Это означает, что остальные столбцы войдут в данное разложение с нулевыми коэффициентами. Если к тому же коэффициенты линейной комбинации окажутся неотрицатель­ными, то мы получаем так называемый базисный допустимый план х, у которого не более m компонентов отличны от нуля. Сформулируем определение базисного плана более строго, так как это одно из фундаментальных понятий теории линейного пpогpаммиpования.

 

 

 

F F Пусть задана некоторая каноническая ЗЛП (D,f), А —матрица системы ограничений задачи, и β= {аj1, аj2,..., аjm} —линейно независимая система столбцов матрицы А, образующая базис Rm. Обозначим множе­ство номеров столбцов, входящих в систему b, через N (β) = {j1, j2,..., jm}. План х называется базисным планом задачи (D,f), если его компоненты, соответствующие базисным столбцам и называемые базисными компонен­тами, больше или равны нулю (хj ≥ 0, j Î N (β)}, а все остальные компоненты (небазисные) — равны нулю (xj = 0, j Ï N (β)).

 

F F Базисный план х называется невырожденным, если все его базисные компоненты строго

положительны, и вы­рожденным в противном случае.

 

1.3.2. Свойства базисных планов. Следующая теорема трактует понятие базисного плана в терминах первой геометри­ческой интерпретации ЗЛП.

 

Теорема 1.3. Каждый допустимый базисный план яв­ляется угловой точкой множества допустимых пла­нов D.

 

Доказательство.

Ради простоты положим, что базисными векторами являют­ся первые m столбцов матрицы A, т. е. β={ a l, a 2,..., am }. Тогда утверждение теоремы 1.3 может быть переформулировано сле­дующим образом:

Если существует такой n-мерный вектор

 

что x 1 a 1 + х 2 а 2 +...+ xk ak = b, то х есть угловая точка множе­ства D.

 

Проведем доказательство от противного, т. е. предположим, что рассматриваемый базисный план х не является угловой точ­кой множества D. Тогда ее можно представить в виде выпуклой комбинации некоторых двух различных допустимых планов х 1 и х 2:

 

x = λ x 1+(1-λ) x 2, 0<λ<1.

 

В координатной форме последнее утверждение означает

 

 

Поскольку последние (n - k) компоненты вектора х по пред­положению равны 0, а числа хj 1, xj 2 ≥ 0 и λ, (1 -λ)>0, то эти же компоненты в векторах x 1 и х 2 также равны 0. Поэтому, с учетом допустимости планов х 1 и х 2, можно утверждать, что

 

 

Вычитая из (1.15) (1.16), получим

 

 

Так как векторы а 1, а 2,..., аk — линейно независимы, то коэф­фициенты х 11х 21 =0,..., х1k –х2k =0, из чего следует, что x 1 = х 2. Это противоречит предположению, что х 1 и х 2 являются раз­личными угловыми точками множества D. Следовательно, х не может быть представлен в виде выпуклой комбинации двух точек D и по определению является угловой точкой данного множества. A

Интересно отметить, что справедливо и обратное утвержде­ние, которое приведем без доказательства:

Если х — угловая точка множества D, то она являет­ся допустимым базисным планом задачи (D, f).

 

В завершение параграфа необходимо отметить практиче­ское значение установленной связи между угловыми точками и допустимыми базисными решениями: она позволяет формали­зовать (и тем самым существенно упростить) процесс перехода от одной угловой точки к другой.

 

СИМПЛЕКС-МЕТОД

 

1.4.1. Основные этапы симплекс-метода. Исходя из свойств линейных экстремальных задач, рассмотренных в пре­дыдущих параграфах, можно заключить, что на принципиаль­ном уровне поиск их решений сводится к последовательному перебору угловых точек множества допустимых планов или, что то же самое, перебору соответствующих допустимых ба­зисных планов. Следует подчеркнуть, что такой перебор для реальных многомерных задач возможен только в теоретиче­ском плане и на практике неосуществим (или крайне неэффек­тивен) даже при условии использования мощной вычислитель­ной техники. Средством решения данной проблемы явились прикладные оптимизационные методы, основанные на последо­вательном, целенаправленном переборе базисных планов ЗЛП.

Классическим методом решения ЗЛП стал симплекс-ме­тод, получивший также в литературе название метода по­следовательного улучшения плана, разработанный в 1947г. американским математиком Джорджем Данцигом.

Идея такого перехода от одного базисного плана к другому, при котором происходит «улучшение» значения целевой функ­ции, может быть продемонстрирована для случая m = 2 с помо­щью рис. 1.4. Если вектор ограничений b принадлежит конусу, натянутому на некоторые два базисных вектора условий {аj1j2}, то существует такой базисный план х с базисными компонентами хj1, хj2, что b= хj1aj1 + хj2aj2. Разумеется, таких планов может быть несколько в зависимости от выбора систе­мы базисных векторов. Чтобы различать их по соответствую­щей величине целевой функции f(x)=cj 1 xj 1 + сj 2 хj 2, вводятся так называемые расширенные векторы условий и ограничений. В общем случае расширенный столбец условий āj получается соединением коэффициента целевой функции сj и столбца аj:

 

 

расширенный вектор ограничений определим как

 

 

В дальнейшем для удобства нумерации элементов будем счи­тать, что добавляемый коэффициент целевой функции сj явля­ется нулевым элементом j -го расширенного столбца условий, т. е. ā0,j = сj. При изображении расширенных векторов нулевая координата откладывается вдоль вертикальной оси — оси апп­ликат.

Рассмотрим также вектор

=

Геометрически определение вектора b означает, что он при­надлежит конусу, натянутому на расширенные векторы, а век­тор служит его проекцией. Нулевая координата вектора b имеет вид:

 

 

т. е. равна значению целевой функции для выбранного базисно­го плана.

Из геометрической иллюстрации следует, что для решения задачи мы должны среди векторов аj выбрать такой набор {аj1j2}, чтобы, прямая, проведенная через конец вектора параллельно оси аппликат, пересекала конус, натянутый на систему соответствующих расширенных столбцов { āj1, āj2}, в «наивысшей» точке.

На рис. 1.4 выделен конус, натянутый на систему расширен­ных столбцов ā2 и ā3, отвечающих текущему допустимому ба­зису. Нетрудно заметить, что данный базис не является опти­мальным, например, для базиса { а3, а4 } точка пересечения соответствующего конуса и прямой будет находиться выше. Можно, наоборот, указать базис с «худшим» значением целе­вой функции: { а1 а2 }. Наконец, рассматриваемая геометричес­кая интерпретация КЗЛП иллюстрирует и общую идею крите­рия, который используется в симплекс-методе для определения оптимальности (или неоптимальности) текущего плана: если существуют векторы-столбцы, лежащие выше плоскости, проходящей через векторы текущего базиса, то он не явля­ется оптимальным и может быть «улучшен».

 

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

Для удобства дальнейшего изложения введем некоторые обозначения. Учитывая то, что симплекс-метод представляет собой некоторый итеративный вычислительный процесс, то че­рез q будем обозначать номер очередной (текущей) итерации. Соответственно, набор базисных столбцов, получаемых на q -й итерации, будет обозначаться как β ( q ):

 

 

Для того чтобы было легче отличить номер итерации от номе­ров компонентов матриц и векторов, он заключен в круглые скобки. Номера столбцов, входящих в базис, обозначим через N(q)), а именно

 

 

При этом Nr(q)) = jr — номер столбца, занимающего r -ю пози­цию в базисе. Тогда текущий базисный план х имеет вид:

 

Обозначим через Δ(ß(q)) матрицу, составленную из столбцов {аj1, аj2,..., аjm}, образующих базис, через Δ(ß(q)) матрицу, об­разованную из соответствующих расширенных столбцов и до­полненную слева столбцом специального вида:

 

 

а через ∆-1(q)) и ∆-1(q)) — матрицы, обратные по отношению к ним. Также представляется удобным ввести отдельные обо­значения для элементов матрицы ∆-1(q)):

δ 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), направленным противоположно оси аппликат примут вид:

 

 

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

 

 

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

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

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

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

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

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

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

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

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

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

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

отношения

 

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

 

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

 

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

 

 

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

 

 

Отдельно следует обсудить тот случай, когда столбец al( q )), претендующий на ввод в базис, не содержит положительных компонентов al( q )) ≤ 0). Это означает, что целевая функция в задаче не ограничена на множестве допустимых значений, т. е. может достигать сколь угодно большого значения. Последнее, очевидно, означает завершение процесса вычислений ввиду отсутствия оптимального плана. Геометрически ситуация, когда a l( 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 )). Его нулевой компонент b 0( q )) в соответствии с построением содержит значение целевой функции, достигаемое ею на теку­щем плане

 

 

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

 

 

Название метода произошло от понятия симплекса. Напом­ним, что m-симплексом называют выпуклый многогранник, аффинная оболочка* которого есть аффинное множество размерности m. В данном случае можно считать, что система рас­ширенных базисных столбцов { аj 1, аj 2,..., аjm }, рассматривае­мых как точки в Rm +1, порождает (m -1)-мерный симплекс в пространстве Rm +1.

* Аффинной оболочкой множества называют наименьшее аффинное множество, в котором содержится данное множество.

 

В заключение настоящего пункта обобщим изложенные во­просы и приведем схему алгоритма симплекс-метода для решения задачи максимизации. Она включает однократно выполняемый 0-этап и повторяемый конечное число раз I-этап (стандартную итерацию).

0-этап. Нахождение допустимого базисного плана (см. п. 1.4.5). Результатом 0-этапа является допустимый базис­ный план х(1)), а также соответствующие ему матрица A(1)) и вектор b(1)), которые будут использованы на первой итера­ции. Полагаем номер текущей итерации q равным 1 и переходим к I-этапу.

I-этап. Стандартная итерация алгоритма — выполня­ется для очередного базисного плана x( q )).

1°. Проверка оптимальности текущего базисного плана: осуществляется просмотр строки оценок а 0(q)). Возможны два варианта:

1′. a 0( q ))≥0 — план, соответствующий текущему базису за­дачи, оптимален. Вычислительный процесс закончен. Соглас­но формулам (1.33) и (1.32) выписываются оптимальный план задачи х * = x( q )) и значение целевой функции f (x *) = f (x( q ))).

1″. В строке оценок а 0( q )) существует по меньшей мере один элемент а 0,j( q ))<0, т. е. имеющий отрицательную оцен­ку. Следовательно, план x( q )) — неоптимален. Выбирается столбец с номером l, имеющий минимальную (максимальную по абсолютной величине) отрицательную оценку

 

 

Он называется ведущим и должен быть введен в очередной базис. Переходим к пункту 2° алгоритма.

2°. Определение столбца, выводимого из базиса. Рассмат­ривается ведущий столбец аl( q )) Возможны два варианта:

2'. Для всех i Î1: m аi,l( q ))≤0. Делается вывод о неогра­ниченности целевой функции и завершается вычислительный процесс.

2". Существует по крайней мере одна строка с номером i Î1: m, для которой аi,l( q ))>0. Согласно правилу (1.27) опре­деляются место r и номер Nr(q)) = jr для столбца, выводимого из базиса. Переходим к пункту 3° алгоритма.

3°. Пересчет элементов матрицы А и столбца b относи­тельно нового базиса. В соответствии с формулами (1.28)-(1.31) осуществляем расчет элементов матрицы задачи А и век­тора ограничений b относительно базиса β( q+ 1), который полу­чается после введения в базис β( q ) столбца аl и выводом из него столбца аr. Полагаем номер текущей итерации q: = q +l и пере­ходим к первому пункту алгоритма.

 

Рис.1.5

1.4.2. Табличная реализация симплекс-метода. С точ­ки зрения обеспечения рациональности и наглядности вычис­лительного процесса выполнение алгоритма симплекс-метода удобно оформлять в виде последовательности таблиц. В различ­ных источниках приводятся разные модификации симплекс-таблиц, отличающиеся друг от друга расположением отдель­ных элементов. Однако это не должно вызывать смущения у читателя, так как все они базируются на одних и тех же прин­ципах. Остановимся на структуре таблицы, показанной на рис. 1.5.*

* Настоящая структура симплекс-таблиц строится на идеях и прин­ципах их организации, предложенных в [1].

 

Симплекс-таблица Т( q ), изображенная на рис. 1.5, соответ­ствует допустимому базису КЗЛП β( q )), получаемому на q -й ите­рации. Столбец N( q )) содержит номера базисных столбцов (в той последовательности, в которой они входят в базис), стол­бец b( q )) —компоненты вектора ограничений относительно текущего базиса β( q ), A( q )) — компоненты матрицы задачи относительно текущего базиса β( q ). Наконец, в строке а 0( q )) находятся текущие оценки столбцов, а ячейка b 0( q )) содержит значение целевой функции, достигаемое для текущего плана.

Безусловно, следует добавить, что табличная модификация симплекс-метода имеет важное практическое значение не столько как удобная форма организации ручного счета, сколь­ко как основа для реализации данного алгоритма в рамках про­граммного обеспечения ЭВМ.

1.4.3. Пример решения ЗЛП симплекс-методом. Рас­смотрим на конкретном примере процесс решения КЗЛП таблич­ным симплекс-методом. Пусть дана каноническая задача ЛП:

 

 

Как видно, столбцы матрицы с номерами {5, 2, 3} являются линейно независимыми. И можно получить разложение по дан­ным столбцам вектора ограничений с положительными коэф­фициентами. Последнее означает, что столбцы {5, 2, 3} образу­ют допустимый базис, с которого можно начать решение задачи. Из столбцов, входящих в базис, с учетом нулевых эле­ментов формируется матрица Δ(β(1)) и обратная по отношению к ней Δ-1(1)):

 

 

Используя их, по формуле (1.26) получаем

 

 

  -84     -88    
  1/3     1/3    
=           ;
  -2/3     -4/3    

 

 

Используя полученные значения A(1)) и b(1)), заполняем симплекс-таблицу T (1), соответствующую первой итерации (q =1).

 

 

Поскольку строка оценок a 0(1)) в первом и четвертом столбцах содержит отрицательные элементы (a 0,1(1)) = -84, a 0,4(1)) = -88), план х(1)) = (0,14,17/3,0,4) не является оптимальным, и значение целевой функции f (x(1))) = -226 может быть улучшено. Следуя рекомендации п.1˝ алгоритма симплекс-метода, полагаем номер вводимого в очередной базис столбца l = 4 (т.к. |-88| > |-84|). Рассматриваем ведущий столбец (выделен пунктирной рамкой)

 

Он содержит два положительных элемента. Применяя рекомен­дацию п. 2" алгоритма, получаем λ1= 4/(1/3) =12, λ2=14/3, и, стало быть r = 2. Следовательно, столбец с номером N 2(1)) = 2 должен быть выведен из базиса. Таким образом, по­лучаем очередной допустимый базис задачи N(2)) = {5, 4, 3}. Элемент a 2,3(1)) является ведущим (обведен кружком). При­менив формулы (1.28)-(1.31), переходим к симплекс-таблице, соответствующей второй итерации T (2), и полагаем индекс те­кущей итерации q = 2.

 

 

В ходе выполнения второй итерации опять-таки определяют­ся вводимый столбец а 1, выводимый а 4 и ведущий элемент a 2,1(2)). Перейдя к итерации q = 3, имеем таблицу T (3).

 

 

Как видно из T (3), строка оценок содержит только неотрицатель­ные значения, поэтому достигнутый базис N(3)) = {5, 1, 3} яв­ляется оптимальным. В итоге мы получаем, что вектор х * = (7, 0, 31/3, 0, 5/3) является оптимальным планом (точ­кой максимума) задачи (1.34)-(1.35), максимальное значение целевой функции равно f * = f (х *)=362, а решение КЗЛП имеет вид ((7, 0, 31/3, 0, 5/3); 362).

1.4.4. Сходимость симплекс-метода. Вырожденность в задачах ЛП. Важнейшим свойством любого вычислительного, алгоритма является сходимость, т. е. возможность получения в ходе его применения искомых результатов (с заданной точно­стью) за конечное число шагов (итераций).

Легко заметить, что проблемы со сходимостью симплекс-ме­тода потенциально могут возникнуть на этапе выбора значения r (п. 2") в случае, когда одинаковые минимальные значения от­ношения

 

 

будут достигнуты для нескольких строк таблицы Т ( q ) одновре­менно. Тогда на следующей итерации столбец b( q +1)) будет со­держать нулевые элементы. Напомним, что

 

F F допустимый базисный план канонической задачи ЛП, со­ответствующий базису β( q ), называется вырожденным, если некоторые его базисные компоненты равны нулю, т. е. вектор b( q )) содержит нулевые элементы.

 

Задача ЛП, имеющая вырожденные планы, называется вы­рожденной. При «выходе» на вырожденный план мы фактиче­ски получаем разложение столбца b по системе из меньшего, чем m, количества столбцов аj и, следовательно, лишаемся воз­можности корректно определить, ввод какого столбца в базис приведет к росту значения целевой функции. Подобные ситуа­ции, в конечном счете, могут привести к зацикливанию вычис­лительного процесса, т. е. бесконечному перебору одних и тех же базисов.

С точки зрения первой геометрической интерпретации ЗЛП ситуация вырожденности означает, что через некоторую угло­вую точку многогранного множества допустимых планов зада­чи, соответствующую текущему базисному плану, проходит более чем m гиперплоскостей ограничений задачи. Иными сло­вами, одно или несколько ограничений в данной точке являют­ся избыточными. Последнее предоставляет повод для размыш­лений об экономической стороне проблемы вырожденности как проблемы наличия избыточных ограничений и в некоторых случаях определяет пути ее решения.

С точки зрения второй геометрической интерпретации ЗЛП вырожденность означает «попадание» линии, проходящей через вершину вектора b параллельно оси аппликат, в ребро кону­са, натянутого на систему расширенных векторов текущего базиса. Так, в случае, изображенном на рис. 1.6, эта линия по­падает в ребро, определяемое вектором аj 2, т. е., несмотря на то что текущий базис содержит столбцы аj 1 и аj 2, для представле­ния вектора b достаточно только одного аj 2.

Из данной интерпретации вытекает и идея метода решения вырожденных задач ЛП, получившего названия метода возму­щений: при выходе на вырожденный план осуществляется не­значительный сдвиг вектора b и вырожденность (как это видно из иллюстрации) устраняется.

Необходимо, однако, сказать, что рассмотренная здесь про­блема зацикливания для большинства практически значимых задач является достаточно редкой и маловероятной. Более того, она очень часто разрешается за счет ошибок округлений при выполнении расчетов на ЭВМ.

1.4.5. Нахождение допустимого базисного плана. В рас­смотренном выше примере исходный базисный план, необходи­мый для начала вычислений по симплекс-методу, был подобран за счет особенностей матрицы условий. Действительно, данная матрица уже содержала необходимое количество «почти базис­ных» столбцов. Очевидно, что для подавляющего большинства задач ЛП невозможно подобным образом сразу и в явном виде указать исходный допустимый базисный план. Вообще говоря, существуют различные приемы решения данной задачи. Мы остановимся на одном из них, получившем название метода минимизации невязок. Его сильной стороной, безусловно, яв­ляется универсальность. Xотя, в некоторых частных случаях, он может оказаться слишком громоздким.

 

 

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

Не умаляя общности, можно считать, что вектор ограниче­ний в исходной задаче неотрицателен, т. е. bi ≥ 0, i Î 1: m. Тогда для КЗЛП максимизации функции

 

 

на множестве, определяемом ограничениями

 

 

строится вспомогательная задача

 

 

Как видно из (1.36)-(1.39), задача ( , ) отличается от за­дачи (D, f) матрицей, получаемой в результате добавления к исходной матрице А единичной матрицы, которой соответ­ствуют дополнительные (фиктивные) переменные хn +1,..., хn+m. Данным переменным (собственно говоря, их и называют не­вязками) в целевой функции отвечают коэффициенты (-1), а переменным х 1,..., хn, которые являются общими для обеих задач, — нулевые коэффициенты. Существенной особенно­стью ( , ) является наличие в ней очевидного исходного ба­зиса, образуемого добавленными столбцами, и соответствую­щего плана с базисными компонентами х n+i = bi ≥ 0, i Î 1: m. В силу структуры целевой функции в процесс поиска ее мак­симума процедурой симплекс-метода фиктивные переменные (невязки) х n+i должны минимизироваться желательно до нуля, что может быть достигнуто за счет последовательного перевода их в небазисные компоненты плана. Если в оптималь­ном плане х̃, полученном в результате решения вспомогатель­ной задачи, последние m компонент (т. е. невязки) равны нулю, то его начальные n компонент удовлетворяют системе ограни­чений, определяющих область D, и легко (простым отбра­сыванием невязок) может быть преобразован в стартовый до­пустимый план основной задачи (D, f). При этом все строки симплекс-таблицы, полученной на последней итерации вспо­могательной задачи (за исключением нулевой), могут быть перенесены в первую таблицу основной задачи. Элементы же нулевой строки для вновь формируемой симплекс-таблицы вы­числяются по формулам:

 

 

где β(*) — базис, полученный на последней итерации вспомога­тельной задачи.

В случае, когда оптимальный план вспомогательной задачи х̃ все же содержит не равные нулю фиктивные компоненты (т. е. ( )<0), мы приходим к заключению об отсутствии до­пустимых планов у исходной задачи (D, f), т. е. D = Ø.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow