
- •Линейное программирование.
- •Основная задача линейного программирования.
- •Графический метод решения задачи линейного программирования.
- •Теорема:
- •Cимплекс-метод.
- •Способы нахождения начального базисного решения.
- •Пример:
- •Пример:
- •3 Итерация (оптимум)
- •Теорема:
- •Транспортная задача.
- •Пример:
- •Проверка на оптимальность. Метод потенциалов.
- •Задача о назначениях.
- •Пример:
- •Задача коммивояжера. Метод ветвей и границ.
- •Сетевые задачи.
- •Пример:
- •Решение.
- •Задача о максимальном потоке.
- •Динамическое программирование.
- •Пример:
- •Решение.
- •Решение.
- •Задачи о маршрутизации.
- •Классификация игр.
- •Антагонистические матричные игры.
- •Решение матричной игры в чистых стратегиях.
- •Пример:
Cимплекс-метод.
Решение
задачи линейного программирования –
определение координат той вершины
многоугольника решений, в
которой функция достигает минимума
(максимума). Это решение может быть
найдено перебором всех вершин
многоугольника области допустимых
решений, которые соответствуют базисным
решениям. С ростом числа переменных
число вершин резко возрастает (
).
Сущность симплексного метода состоит в том, что, отправляясь из некоторой вершины (начальный допустимый базис), переходят к рассмотрению последовательности только тех вершин, в которых значения целевой функции меньше, чем в предыдущей вершине.
Таким образом, производится упорядоченный частичный перебор вершин, сопровождающийся уменьшением значения целевой функции до тех пор, пока не останется вершин, где функция F убывает (возрастает).
На каждой итерации устанавливается один из фактов:
базисное решение оптимально,
линейная функция F не ограничена снизу (сверху),
возможно уменьшение (увеличение) F, т.е. переход к новому базису.
Пусть имеется задача линейного программирования в канонической форме:
(4)
Способы нахождения начального базисного решения.
Для начала работы по симплекс-методу требуется, чтобы заданная система уравнений –ограничений была приведена к допустимому виду. Это означает, что какие-то из неизвестных (базисные) должны быть выражены через остальные неизвестные (свободные), причем свободные члены этих выражений неотрицательны.
Выразим
через
остальные переменные и сведем систему
к единичному базису:
(5)
Система (5) называется системой, приведенной к единичному базису.
Базисным решением системы (5) называется решение
.
Т.е. за начальные базисные переменные принимаются те m переменных, при которых коэффициенты в уравнениях –ограничениях системы (4) образуют единичную матрицу.
Базисное
решение называется допустимым,
если
.
Базисное решение называется невырожденным,
если
.
Когда выделить начальный допустимый базис (методом Жордана-Гаусса) представляется затруднительным, можно использовать метод искусственного базиса. Он заключается в следующем:
Задача (4) записывается в расширенной форме, когда вводятся во все или в некоторые уравнения-ограничения задачи(4) новые переменные (искусственные):
(6)
M >0, достаточно большое число.
Если
решается задача на минимум, то целевая
функция будет построена так:
.
Назначение этого слагаемого состоит в том, чтобы в ходе решения задачи (6) вывести искусственные переменные из базисных.
Замечание: Если в результате решения задачи окажется, что хотя бы одна искусственная переменная положительна, то ЗЛП не имеет решения в силу несовместности системы ограничений.
Переход от одного базисного решения к другому.
Возможность
увеличения (уменьшения) значения целевой
функции при введении в базис координаты
из числа небазисных характеризуется
относительной оценкой
:
,
где
- коэффициент целевой функции при
переменной
,
- индекс базисной переменной. Расположенной
в i-м
уравнении (i-той
строке симплекс-таблицы),
- коэффициенты целевой функции при
текущих базисных переменных,
- элементы столбца коэффициентов при
переменной
в системе уравнений, соответствующей
текущему базису.
Значение
целевой функции характеризуется
выражением
.
Теорема:
Если
в задаче линейного программирования
на максимум (минимум) хотя бы одна оценка
(
)
отрицательная (положительная), то решение
может быть улучшено.
Решение будем оформлять в виде таблицы:
|
|
|
|
… |
|
|
|
|
БП |
БР |
|
|
… |
|
|
|
|
|
|
|
… |
|
|
|
|
|
… |
… |
… |
… |
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
… |
|
|
БП – базисные переменные, БР – базисное решение.
Последнюю строку таблицы будем называть индексной.
Итерационный процесс симплекс-метода состоит из трех шагов:
Поиск переменной для включения в базис. Если задача на максимум, то среди отрицательных оценок выбирается наименьшая
; если задача на минимум – то среди положительных оценок выбирается наибольшая.. Переменная
должна быть включена в базис, s – разрешающий столбец.
Поиск переменной для исключения из базиса. В таблице среди положительных элементов столбца s выбирают тот, для которого выполняется условие:
для
Переменная
исключается из базиса, q
– разрешающая строка.
В случае равенства этого отношения для нескольких базисных переменных выбор делается произвольно.
Замечание: Если найдется хотя бы одна отрицательная для задачи на максимум (положительная для задачи на минимум) оценка, столбец которой не содержит положительных элементов, то функция не ограничена сверху (снизу). ЗЛП не имеет решения.
Построение новой канонической формы, относительно разрешающего элемента, который располагается на пересечении разрешающего столбца s и разрешающей строки q по формуле прямоугольника (метод Жордана-Гаусса):
Новое базисное решение определяется так:
Как только все оценки в индексной строке окажутся неотрицательными для задачи на максимум (неположительными для задачи на минимум), оптимальное решение найдено. Итерационный процесс закончен. Значения базисных переменных и целевой функции для найденного оптимального решения содержатся в столбце БР, а остальные переменные полагаются равными нулю, как свободные.
Замечание: Если число нулевых оценок =0 ( ) равно числу базисных переменных, то найденное решение единственное.
Замечание: Если число нулевых оценок =0 ( ) больше числа базисных переменных, то задача имеет бесконечное множество решений. Нулевое значение оценки небазисной переменной говорит о том, что ее включение в базис не изменит значение целевой функции, но приведет к изменению значений других переменных. В результате можно, введя эту переменную в число базисных, получить новое оптимальное решение. Т.о. с помощью симплекс-метода удается идентифицировать угловые точки, все альтернативные решения получаются посредством применения понятия выпуклой линейной комбинации точек.
Замечание: При решении задачи, у которой есть вырожденные решения (одна из базисных переменных на какой-то итерации равна нулю), может случиться, что, перебирая базисы одного и того же решения, через несколько шагов мы вернемся к исходному базису, т. е. произойдет зацикливание. Существуют приемы, предотвращающие зацикливание. Вероятность зацикливания, как показывает опыт, ничтожна мала. Наличие вырожденного решения говорит о наличие избыточного условия-ограничения.