Читайте также:
|
|
Рассмотрим алгоритм симплекс-метода применитетельно к общей задаче ЛП. На предварительном шаге алгоритма определяется возможность применения симплекс-метода к задаче ЛП.
Шаг 0. Прежде чем применять симплекс-метод к общей задаче линейного программирования, ее следует привести к каноническому виду. После приведения задачи к каконическому виду будем иметь:
при ограничениях
Векторы образуют базис. Если из векторов системы ограничений нельзя указать базис, то к такой задаче ЛП симплекс-метод напрямую не применяется.
Дальнейший вычислительный процесс удобнее вести, если условия задачи записать в следующей симплекс-таблице:
Базис | сБ | c1 | c2 | … | cn+1 | … | cn+k | bi | qi |
x1 | x2 | … | xn+1 | … | xn+k | ||||
xn+1 | cn+1 | a11 | a12 | … | … | b1 | |||
… | … | … | … | … | … | … | … | … | |
xn+k | cn+k | ak1 | ak2 | … | … | bk | |||
Dj³0 | D1 | D2 | … | Dn+1 | … | Dn+k | Dz |
Шаг 1. По симплекс-таблице определяется опорное решение x (0) следующим образом: все свободные переменные приравниваются нулю, а базисные – соответствующим значениям столбца . Начальный опорный план имеет вид: . Проверим его на оптимальность, для этого заполним строку индексов в таблице, по следующей формуле:
, или
– значение целевой функции в точке .
Если в строке индексов нет отрицательных оценок, то вычисления следует завершить, так как текущий опорный план оптимален. В противном случае следует перейти к новому опорному решению, т. е. изменить базис.
Шаг 2. Для смены базиса выбираются ведущий (разрешающий) столбец и ведущая (разрешающая) строка из следующих условий:
,
Ведущая строка показывает, какая переменная будет из нового базиса удалена, а ведущий столбец – какая переменная будет в новый базис включена.
Если в ведущем столбце нет положительных элементов , то исходная задача не имеет конечного решения (т. е. ).
Шаг 3. Строится новая симплекс-таблица, в которой вместо базисной переменной включена . Новые коэффициенты и пересчитываются по следующим формулам:
,
Перейти к шагу 1.
Последовательное выполнение вычислений шагов 1–3 составляет одну итерацию симплекс-метода.
Итерации повторяется до тех пор, пока не будет найден оптимальный план или установлено отсутствие решения задачи.
Замечание. При выполнении вычислений шага 2 может получиться так, что min отношения окажется одинаковым для нескольких номеров i, т. е. сразу несколько строк таблицы могут быть разрешающими. Если выбирать ведующую строку произвольно, то это может привести к зацикливанию алгоритма симплекс-метода (вырожденный случай). Чтобы избежать этого, рекомендуется этот выбор осуществлять по следующему правилу: для данных строк таблицы вычисляются отношения: и находится строка, для которой это отношение является min. Если такая строка единственная, то ее считают разрешающей. В противном случае вычисляются следующие отношения: и т. д. В результате получим единственную разрешающую строку.
Дата добавления: 2015-11-14; просмотров: 76 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Алгоритм симплекс-метода решения общей задачи линейного программирования | | | Методы искусственного базиса |