
- •Общие понятия. Место методов оптимизации в теории исследования операций.
- •Формальная постановка задачи математического програмирования.
- •Линейное програмирование. Общие свойства задачи. Задача линейного програмирования состоит в нахождении переменныхдоставляющие экстремм целевой функции вида:
- •Геометрическая интерпритация задачи. Обоснование общих подходов к решению.
- •Симплекс метод. Этапы поиска решения.
- •Канонический вид.
- •Симплекс алгоритм.
- •Задание формального условия оптимальности полученного решения.
- •Формальное задание критерия оптимальности и обоснование перехода из одной краевой вершины в другую.
- •Пример решения задачи постоения оптимального плана.
- •Целочисленное программирование. Идея метода Гомери.
- •Векторная интерпритация задачи линейного программирования.
- •Интерпритация задачи, как задачи многокритериальной оптимизации. Формализация критериев и процедур вычислений.
- •Нормирование параметров.
- •Пошаговый метод решения задач.
- •Способы точного решения задачи векторным методом.
- •Приоритетная задача, линейного программирования
- •Динамическое программирование.
- •Идея метода динамического программирования.
- •Решение примера.
Симплекс алгоритм.
Симплекс алгоритм основан на следующих теоретических предпосылках:
Формальное задание условия проверки на оптимальность полученного решения.
Формальное задание условия (критерия оптимальности) для обоснования перехода из одной краевой вершины в другую.
-------------------------------------------------------------------------------------------------------------------------------------
Задание формального условия оптимальности полученного решения.
Пусть
задача линейного программирования дана
в следующих установках. Найти
обращающие в минимум целевую функцию
при следующих ограничивающих условиях.
Эта
каноническая форма. Счита ее допустимой,
рассмотрим очевидное базисное решение
.
Для ответа на вопрос является ли это
решение оптимальным проведем не сложные
преобразования. Умножим каждую строку
системы неравенств на коэффициентCj,
индекс
которого совпадает с номером соответствующей
строки i
= j и
просуммировав полученное раветство
здесьz0
– некая
константа, по своему физическому смыслу.
Это значение целевой функции z,
допустимое в точке с координатой
,
коэффициенты
коэффициенты при свободных переменных.
Рассмотрим базисные решения, вошедшие
в выражениеz.
Утверждение:
допустимое базисное решение является
оптимальным если коэффициенты
при свободных переменныхxj
в выражении
(*) не отрицательное.
Доказательство:
в рассматриваемой задаче необходимо
минимизировать целевую функцию z,
при этом
.
Если коэффициенты
,
то разностьz
– z0
не
отрицительна и ее минимум есть 0.
z
не будет менее z0
, т.е.
невозможно уменьшить целевую функцию
за счет приращений свободным переменным.
Из данного утверждения следует
любое решение поставленной задачи, которому соответствуют
и все соответствующие коэффициенты
, при неотрицательности переменныхxj будет оптимальным.
Допустимое оптимальное базисное решение окажется оптимальным если все коэффициенты
.
В
этом случае свести к нулю разность z
– z0
можно только при
.
Сформулированное является признаком
оптимальности задачи линейного
программирования. Однако на практике
по существу никогда не удается найти
оптимального решения сразу. Поэтому
возникает задача перебора краевых
вершин.
Формальное задание критерия оптимальности и обоснование перехода из одной краевой вершины в другую.
Пусть
на очередном этапе решения получено
базисное решение:
оказалось не оптимальным, т.е. среди
коэффициентов
при
есть отрицательные значения. Чтобы
перейти к другому допустимому решению,
нужно сделать строго положилельной
(ввести в базис) какую-то из первых
,
соответственно обратим в 0 одну из
переменных
.
Очевидно, что целевая функция при таком
преобразовании улучшится в том случае,
если положительное приращение давать
переменной при которой коэффициент
.
Обозначимs
тот номер
j из номеров
m+1,…,n,
для которой
и имеет минимальное значение.
.
Решив дать положительное приращение
переменнойxs
= 0, представим
базисную переменную и целевую функцию
в следующем виде из исходной системы
ограничений:
Видим, что с целью минимизации целевой
функции
z, целесообразно уменьшать cs
. Однако
возрастание xs
можно
осуществлять до тех пор пока какая-либо
из переменных
не обратиться в 0. Первой в 0 обратиться
та переменная, для которой отношение
минимально. Таким образом условием
увеличении переменнойxs
будет минимум этого отношения.
Замечание: Если хотя бы одно значение xi = 0, при соответствующем значении ai,s 0, то переменную xs невозможно ввести в базис с соблюдением требовании 0 переменных (случай вырожденного базисного решения). Таким образом нами определены формализованные критерии и признаки:
Оптимальности решения
Единственность оптимальности решения
Правила перехода в новой краевой точке в части:
Выбора направления перехода (переменной, которой следует дать положительное приращение)
Задания величины приращения переменной
Определения переменной, которую следует обнулить
Сформулированные формальные требования и условия используются на каждом шаге, если ни на одном из них не появляется вырожденного базисного решения.
-------------------------------------------------------------------------------------------------------------------------------------