- •1. Содержание математического программирования. Постановка общей и основной задач линейного программирования
- •Общая и основная задачи лп
- •2. Свойства задач линейного программирования. Графический метод решения задач линейного программирования
- •Графический метод
- •3. Алгоритм симплекс-метода решения общей задачи линейного программирования
- •Алгоритм симплекс-метода
- •4. Методы искусственного базиса
- •5. Двойственная задача лп. Экономическая интерпретация двойственной задачи лп
- •Экономическая интерпретация двойственной задачи
- •6. Постановка транспортной задачи. Методы нахождения первого допустимого решения транспортной задачи
- •Постановка транспортной задачи
- •Методы нахождения начального допустимого плана перевозок груза
- •7. Метод потенциалов-метод решения транспортной задачи
Алгоритм симплекс-метода
Рассмотрим алгоритм симплекс-метода применитетельно к общей задаче ЛП. На предварительном шаге алгоритма определяется возможность применения симплекс-метода к задаче ЛП.
Шаг 0. Прежде чем применять симплекс-метод к общей задаче линейного программирования, ее следует привести к каноническому виду. После приведения задачи к каконическому виду будем иметь:
при ограничениях
Векторы образуют базис. Если из векторов системы ограничений нельзя указать базис, то к такой задаче ЛП симплекс-метод напрямую не применяется.
Дальнейший вычислительный процесс удобнее вести, если условия задачи записать в следующей симплекс-таблице:
Базис |
сБ |
c1 |
c2 |
… |
cn+1 |
… |
cn+k |
bi |
i |
|
|
x1 |
x2 |
… |
xn+1 |
… |
xn+k |
|
|
xn+1 |
cn+1 |
a11 |
a12 |
… |
1 |
… |
0 |
b1 |
|
… |
… |
… |
… |
… |
… |
… |
… |
… |
|
xn+k |
cn+k |
ak1 |
ak2 |
… |
0 |
… |
1 |
bk |
|
j0 |
1 |
2 |
… |
n+1 |
… |
n+k |
z |
|
Шаг 1. По симплекс-таблице определяется опорное решение x(0) следующим образом: все свободные переменные приравниваются нулю, а базисные – соответствующим значениям столбца . Начальный опорный план имеет вид: . Проверим его на оптимальность, для этого заполним строку индексов в таблице, по следующей формуле:
, или
– значение целевой функции в точке .
Если в строке индексов нет отрицательных оценок, то вычисления следует завершить, так как текущий опорный план оптимален. В противном случае следует перейти к новому опорному решению, т. е. изменить базис.
Шаг 2. Для смены базиса выбираются ведущий (разрешающий) столбец и ведущая (разрешающая) строка из следующих условий:
,
Ведущая строка показывает, какая переменная будет из нового базиса удалена, а ведущий столбец – какая переменная будет в новый базис включена.
Если в ведущем столбце нет положительных элементов , то исходная задача не имеет конечного решения (т. е. ).
Ш аг 3. Строится новая симплекс-таблица, в которой вместо базисной переменной включена . Новые коэффициенты и пересчитываются по следующим формулам:
,
Перейти к шагу 1.
Последовательное выполнение вычислений шагов 1–3 составляет одну итерацию симплекс-метода.
Итерации повторяется до тех пор, пока не будет найден оптимальный план или установлено отсутствие решения задачи.
Замечание. При выполнении вычислений шага 2 может получиться так, что min отношения окажется одинаковым для нескольких номеров i, т. е. сразу несколько строк таблицы могут быть разрешающими. Если выбирать ведующую строку произвольно, то это может привести к зацикливанию алгоритма симплекс-метода (вырожденный случай). Чтобы избежать этого, рекомендуется этот выбор осуществлять по следующему правилу: для данных строк таблицы вычисляются отношения: и находится строка, для которой это отношение является min. Если такая строка единственная, то ее считают разрешающей. В противном случае вычисляются следующие отношения: и т. д. В результате получим единственную разрешающую строку.