
- •Содержание Введение
- •1 Построение математической модели
- •2 Теоретическая часть
- •2.1 Алгоритм метода искусственного базиса
- •2.2 Алгоритм симплекс-метода для задачи на максимум
- •2.3 Алгоритм метода Гомори
- •2.4 Алгоритм двойственного симплекс метода
- •3 Расчетная часть
- •4 Анализ модели на чувствительность
- •Заключение
2.2 Алгоритм симплекс-метода для задачи на максимум
Шаг 0: Приводим задачу ЛП к специальной форме.
Шаг 1: Составляем симплекс-таблицу, соответствующую специальной форме:
|
b |
|
… |
|
… |
|
L |
|
|
… |
|
… |
|
|
|
|
… |
|
… |
|
. |
. |
… | ||||
|
|
|
… |
|
… |
|
. |
. |
… | ||||
|
|
|
… |
|
… |
|
Этой таблице соответствует допустимое
базисное решение
задачи. Значение целевой функции на
этом решении
Шаг 2:Проверка на оптимальность.
Если среди элементов индексной строки
симплекс – таблицынет ни одного положительного элемента
то
,
оптимальное решение задачи ЛП найдено:
.
Алгоритм завершает работу.
Шаг 3:Проверка на неразрешимость.
Если средиесть положительный элемент
,
а в соответствующем столбце
нет ни одного положительного элемента
,
то целевая функцияLявляется неограниченной снизу на
допустимом множестве. В этом случае
оптимального решения не существует.
Алгоритм завершает работу.
Шаг 4:Выбор ведущего столбцаq. Среди элементоввыбираем максимальный положительный
элемент
.Этот
столбец объявляем ведущим.
Шаг 5:Выбор ведущей строкиp. Среди положительных
элементов столбцанаходим элемент
,
для которого выполняется равенство:
.
Строкуpобъявляем
ведущей. Элемент
объявляем ведущим.
Шаг 6:Преобразование симплексной таблицы. Составляем новую симплекс-таблицу, в которой:
а) вместо базисной переменной
записываем
,
вместо небазисной переменной
записываем
;
б)
ведущий элемент заменяем на обратную
величину
;
в)
все элементы ведущего столбца (кроме
)
умножаем на
;
г)
все элементы ведущей строки (кроме
)
умножаем на
;
д) оставшиеся элементы симплексной таблицы преобразуются по следующей схеме «прямоугольника».
Из элемента вычитается произведение трех сомножителей:
первый - соответствующий элемент ведущего столбца;
второй - соответствующий элемент ведущей строки;
третий - обратная величина ведущего
элемента
.
Преобразуемый элемент и соответствующие ему три сомножителя как раз и являются вершинами «прямоугольника».
Шаг 7: Переход к следующей итерации (на Шаг 2).
2.3 Алгоритм метода Гомори
Метод Гомори для нахождения целочисленного решения относится к большой группе методов, называемых методами отсечений. Эти методы основаны на введении в задачу дополнительных ограничений, позволяющих учесть требование целочисленности. Основная идея методов отсечений состоит в том, что на полученное оптимальное нецелочисленное решение накладывается дополнительное ограничение, которое делает это решение недопустимым, но и не отсекает ни одного целочисленного решения от области допустимых решений.
Шаг 1:Симплекс-методом находим оптимальное решение задачи без учета условия целочисленности. Если задача не имеет решения, то неразрешима и исходная задача ЦЛП. В случае алгоритм завершает работу.
Шаг 2: Пусть оптимальная таблица имеет вид:
|
b |
|
… |
|
L |
|
|
… |
|
|
. |
|
… |
|
. |
. |
… | ||
|
|
|
… |
|
Если элементы
–
целые, то оптимальное решение
является целочисленным. В этом случае
вычисления заканчиваем. Иначе, переходим
к следующему шагу.
Шаг 3:Среди дробных компоненттаблицы выбираем элемент
с максимальной дробной частью
и по строкеiсоставляем
дополнительное ограничение:
Здесь
- целая часть числа
(наибольшее целое число, не превышающее
число
).
Шаг 4:Добавляем построенное ограничение к последней симплекс-таблице и, применяя двойственный симплекс-метод, находим оптимальное решение. Переходим кшагу 2.
Признаком отсутствия целочисленного решения служит появление в таблице хотя бы одной строки с дробным свободным членом и целыми остальными коэффициентами (поскольку соответствующее уравнение неразрешимо в целых числах).
На шаге 4двойственный симплекс-метод применяется до тех пор, пока не будет получена оптимальная симплексная таблица (возможно, потребуется несколько итераций).
Если на шаге 4в базис вводится
переменная дополнительного ограничения,
то эта строка вычеркивается из симплексной
таблицы, ответствующее ограничение
является избыточным.