Смекни!
smekni.com

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

Название метода произошло от понятия симплекса. Напом­ним, что m-симплексом называют выпуклый многогранник, аффинная оболочка* которого есть аффинное множество размерности m. В данном случае можно считать, что система рас­ширенных базисных столбцов {аj1 ,аj2,..., а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′. a0(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)) находятся текущие оценки столбцов, а ячейка b0(q)) содержит значение целевой функции, достигаемое для текущего плана.

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

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

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

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

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


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

Поскольку строка оценок a0(1)) в первом и четвертом столбцах содержит отрицательные элементы (a0,1(1)) = -84, a0,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. Следовательно, столбец с номером N2(1)) = 2 должен быть выведен из базиса. Таким образом, по­лучаем очередной допустимый базис задачи N(2)) = {5, 4, 3}. Элемент a2,3(1)) является ведущим (обведен кружком). При­менив формулы (1.28)-(1.31), переходим к симплекс-таблице, соответствующей второй итерации T(2), и полагаем индекс те­кущей итерацииq = 2.

В ходе выполнения второй итерации опять-таки определяют­ся вводимый столбец а1, выводимый а4 и ведущий элемент a2,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. Сходимость симплекс-метода. Вырожденность в задачах ЛП. Важнейшим свойством любого вычислительного, алгоритма является сходимость, т. е. возможность получения в ходе его применения искомых результатов (с заданной точно­стью) за конечное число шагов (итераций).