- •1. Содержание математического программирования. Постановка общей и основной задач линейного программирования.
- •1. Линейное программирование
- •1.1. Примеры задач линейного программирования
- •1.2. 0Бщая и основная задачи линейного программирования
- •2. Свойства задач линейного программирования. Графический метод решения задач линейного программирования.
- •1.3. Свойства задач линейного программирования
- •1.4.1. Графический метод решения задач линейного программирования
- •3. Алгоритм симплекс-метода решения общей задачи линейного программирования.
- •1.4.2. Симплекс-метод
- •Алгоритм симплекс-метода
- •4. Метод искусственного базиса
- •1.4.3. Методы искусственного базиса
- •5. Двойственная задача линейного программирования. Экономическая интерпретация двойственной задачи линейного программирования.
- •1.5. Двойственная задача линейного программирования
- •1.5.1. Экономическая интерпретация двойственной задачи
- •6. Постановка транспортной задачи. Методы нахождения первого допустимого решения транспортной задачи.
- •1.6. Транспортная задача
- •1.6.1. Пocтaнoвкa тpaнcпopтнoй зaдaчи
- •1.6.2. Методы нахождения начального допустимого плана перевозок груза
- •1. Правило "северо-западного yглa"
- •2. Метод наименьшей стоимости
- •7. Метод потенциалов.
- •1.6.3. Метод потенциалов
- •Алгоритм решения транспортной задачи методом потенциалов
Алгоритм симплекс-метода
Рассмотрим алгоритм симплекс метода применитетельно к общей задаче ЛП. На предварительном шаге алгоритма определяется возможность применения симплекс-метода к задаче ЛП.
Шаг 0. Прежде чем применять симплекс-метод к общей задаче линейного программирования, ее следует привести к каноническому виду. После приведения задачи к каконическому виду будем иметь:
Векторы Рn+1,…,Pn+k образуют базис. Если из векторов Р1 системы ограничений нельзя указать базис, то к такой задаче ЛП симплекс-метод напрямую не применяется.
Дальнейший вычислительный пpoцeсс удобнее вести, если условия задачи записать н следующей симплекс-таблице:
Базис |
СБ |
C1 |
C2 |
… |
Cn+1 |
… |
Cn+k |
bi |
i |
| |||||||||
X1 |
X2 |
… |
Xn+1 |
… |
Xn+k | ||||||||||||||
Xn+1 |
Cn+1 |
a11 |
a12 |
… |
1 |
… |
0 |
b1 |
|
1-е уравнение | |||||||||
… |
… |
… |
… |
… |
… |
… |
… |
… |
|
… | |||||||||
Xn+k |
Cn+k |
ak1 |
ak2 |
… |
0 |
… |
1 |
bk |
|
k-е уравнение | |||||||||
j>=0 |
1 |
2 |
… |
n+1 |
… |
n+k |
z |
|
Строка индексов |
Шаг 1. По симплекс-таблице определяется опорное решение следующим образом: все свободные переменные приравниваются нулю, а базисные - соответствующим значениям столбца bi; . Начальный опорный план имеет вид: Х(0) =(0,...,0,b1,...,bk). Проверим его на оптимальность, для этого заполним строку индексов в таблице. произведя следующие вычисления:
- значение целевой функции в гочке Х(о).
Если в строке индексов нет отрицательных оценок, то вычисления следует завершить, так как текущий опорный план оптимален. В противном случае следует перейти к новому опорному решению, т. е. изменить базис.
Шаг 2. Для смены базиса Выбираются ведущий (разрешающий) столбец и ведущая (разрешающая) строкаиз следующих условий:
Ведущая строка показывает, какая переменная будет из нового базиса удалена, а ведущий столбец - какая переменная будет в новый базис включена.
Если в ведущем столбце нет аi > 0, то исходная задача не имеет конечного рецаения (т. е. mах z=+).
Шаг 3. Строится новая симплекс-таблица, в которой вместо базисной переменной х, включена х. Новые коэффициенты аij и bi пересчитываются по следующим формулам:
Перейти к шагу 1.
Последовательное выполнение вычислений шагов 1-3 составляет одну итерацию симплекс-метода.
Итерации повторяется до тех пор, пока не будет найден оптимальный план или установлено отсутствие решения задачи.
Замечание. При выполнении вычислений шага 2 может получиться так, что минимум отношения окажется одинаковы м для нескольких номеров i, т. е. сразу несколько строк таблицы могут быть разрешающими. Если выбирать ведущую строку произвольно, то это может привести к зацикливанию алгоритма симплекс-метода (вырожденный случай). Чтобы избежать этого, рекомендуется этот выбор осуществлять по следующему правилу: для данных строк таблицы вычисляются отношения: аi1/аi и находится строка, для которой это отношение является минимальным. Если такая строка единственная, то ее считают разрешающей. В противном случае вычисляются следующие отношения: аi1/аi и т. д. В результате получим единственную разрешающую строку.