- •Программная реализация алгоритмов оптимизации методические указания
- •Введение
- •1. Постановка задачи оптимизации
- •2. Классификация задач оптимизации и методов их решения
- •3. Использование современных программных средств для решения задач оптимизации
- •4. Структура курсовой работы
- •5. Варианты курсовых работ
- •396026 Воронеж, московский просп., 14
- •Библиографический список
- •Содержание
2. Классификация задач оптимизации и методов их решения
Задачи оптимизации можно классифицировать по следующим признакам.
1) По типу параметров задачи оптимизации:
- непрерывные задачи оптимизации;
- дискретные задачи оптимизации.
2) По критерию размерности допустимого множества параметров D:.
- задачи одномерной оптимизации;
- задачи многомерной оптимизации.
3) По критерию наличия или отсутствия ограничений на допустимое множество D (этот признак классификации имеет место как для одномерных, так и для многомерных задач оптимизации):
- задачи условной оптимизации;
- задачи безусловной оптимизации.
4) По характеру ограничений:
- детерминированная оптимизация;
- стохастическая оптимизация (если множество допустимых значений включает случайные компоненты).
5) По виду целевой функции и виду ограничений:
- линейное программирование (содержит линейную целевую функцию и ограничения);
- нелинейное программирование.
Рассмотрим постановки и методы решения основных задач оптимизации.
1) Задачи одномерной безусловной оптимизации:
,
т.е. задача без ограничений с одним
варьируемым параметром x.
Вид
произвольный.
Методы решения задач одномерной безусловной оптимизации:
- методы исключения интервалов (метод половинного деления (дихотомии), метод золотого сечения, метод равномерного поиска);
- методы точечного оценивания на основе полиномиальной аппроксимации;
- методы с использованием производных (метод Ньютона-Рафсона).
2) Задачи многомерной безусловной оптимизации:
,
т.е. задача без ограничений с многомерным
вектором. Вид
произвольный.
Методы решения задач многомерной безусловной оптимизации:
- методы прямого поиска, использующие только значения целевой функции (метод переменного многогранника, метод покоординатного спуска, метод Мелдера-Мида, метод Хука-Дживса);
- градиентные методы, использующие значения первых производных целевой функции (метод градиентного спуска, метод наискорейшего спуска (метод Коши), метод сопряженных градиентов);
- градиентные методы второго порядка, использующие значения первых и вторых производных целевой функции (метод Ньютона, модифицированный метод Ньютона).
3) Задачи линейной оптимизации заключаются в определении оптимального (максимального или минимального) значения линейной целевой функции при линейных ограничениях.
,
,
(3)
.
Здесь
– варьируемые параметры модели.
К типовым задачам линейной оптимизации относятся задача определения производственного плана, задача технического контроля, транспортная задача, задача о диете.
Для решения задач линейного программирования используются геометрический (графический метод, симплексный метод, метод искусственного базиса, двойственный симплексный метод.
4) Задача дискретной оптимизации - задача оптимизации, в которой на варьируемые параметры наложено требование дискретности:
(4)
где
– множество допустимых значений каждого
параметра
.
При этом предполагается, что хотя бы
один параметр
может принимать дискретные значения.
Частными случаями задач дискретной
оптимизации являются задачи целочисленной
и булевой оптимизации. В задачах
целочисленной оптимизации варьируемые
параметры могут принимать только
целочисленные значения. В задачах
булевой оптимизации
.
Наиболее распространенными прикладными модели дискретной оптимизации, использующимися при решении задач автоматизированного проектирования и управления являются задача о ранце, задача о назначениях, задача коммивояжера, задача о покрытии, задача о разбиении.
Для решения задач дискретной оптимизации могут использоваться метод отсечений Гомори, метод ветвей и границ.
5) Задача нелинейной оптимизации может быть в общем виде сформулирована следующим образом:
(5)
где хотя бы одна из функций f(x),
является нелинейной. Здесь
– вектор варьируемых параметров. На
переменные xj
также могут накладываться ограничения:
,
где
и
– нижняя и верхняя границы для каждой
j-й переменной.
Методы решения задач нелинейного программирования различаются в зависимости от вида ограничений (рисунок ниже).
Методы решения нелинейных задач оптимизации
