- •Программная реализация алгоритмов оптимизации методические указания
- •Введение
- •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-й переменной.
Методы решения задач нелинейного программирования различаются в зависимости от вида ограничений (рисунок ниже).
Методы решения нелинейных задач оптимизации