Участник:Айнагуль Джумабекова
Материал из MachineLearning.
Строка 116: | Строка 116: | ||
::<tex>5 - 2x_1^2 - x_2^2 - x_3^2 - 2x_1 + x_2 + x_4>0</tex> | ::<tex>5 - 2x_1^2 - x_2^2 - x_3^2 - 2x_1 + x_2 + x_4>0</tex> | ||
- | == | + | ==Рекомендация программисту== |
Использование штрафных функций для решения задач связано с определенной вычислительной трудностью. Прежде всего поиск может начинаться с допустимой точки х, для которой <tex>g_i(x)\ge0</tex>,<tex>i=\bar{1,m}</tex> .Для некоторых задач находить такую точку довольно сложно. Кроме того, вследствие использования в алгоритме оптимизации дискретных шагов около границы <tex>\{x:g_i(x)\ge 0\}</tex> возможен шаг, который выводит за границы допустимой области. Он приводит к уменьшению значений функции <tex>P(x,r_k)</tex>, т.е. к фиктивному успеху. Таким образом, нужна явная проверка допустимости каждой последующей точки, для чего на каждой итерации необходимо вычислять значения функции <tex>g_i(x_k)</tex>,<tex>k=1,2,\dots</tex>. | Использование штрафных функций для решения задач связано с определенной вычислительной трудностью. Прежде всего поиск может начинаться с допустимой точки х, для которой <tex>g_i(x)\ge0</tex>,<tex>i=\bar{1,m}</tex> .Для некоторых задач находить такую точку довольно сложно. Кроме того, вследствие использования в алгоритме оптимизации дискретных шагов около границы <tex>\{x:g_i(x)\ge 0\}</tex> возможен шаг, который выводит за границы допустимой области. Он приводит к уменьшению значений функции <tex>P(x,r_k)</tex>, т.е. к фиктивному успеху. Таким образом, нужна явная проверка допустимости каждой последующей точки, для чего на каждой итерации необходимо вычислять значения функции <tex>g_i(x_k)</tex>,<tex>k=1,2,\dots</tex>. | ||
На эффективность метода барьерных функций существенно влияют выбор начального значения <tex>r_0</tex> и метод сокращения значений в процессе минимизации, а также выбор весовых коэффициентов <tex>\omega_i</tex>. Если в функции значение <tex>P(x,r)</tex>, выбирают слишком малым, то уже на начальной стадии процесса приходят к минимуму функции <tex>f(x)</tex>, который вряд ли окажется вблизи действительного условного минимума в точке <tex>x^*</tex>,. С другой стороны, если значение <tex>r_0</tex>, выбирается слишком большим, то на первых итерациях вычислительного процесса текущая точка неизбежно окажется слишком далеко за пределами допустимой области, и поиск из-за необходимости возврата в пределы допустимой области окажется весьма затяжным. | На эффективность метода барьерных функций существенно влияют выбор начального значения <tex>r_0</tex> и метод сокращения значений в процессе минимизации, а также выбор весовых коэффициентов <tex>\omega_i</tex>. Если в функции значение <tex>P(x,r)</tex>, выбирают слишком малым, то уже на начальной стадии процесса приходят к минимуму функции <tex>f(x)</tex>, который вряд ли окажется вблизи действительного условного минимума в точке <tex>x^*</tex>,. С другой стороны, если значение <tex>r_0</tex>, выбирается слишком большим, то на первых итерациях вычислительного процесса текущая точка неизбежно окажется слишком далеко за пределами допустимой области, и поиск из-за необходимости возврата в пределы допустимой области окажется весьма затяжным. | ||
+ | == Список литературы == | ||
+ | |||
+ | * ''Банди Б.'' Методы Оптимизации. Вводный курс. М.: Радио и связь, 1988. | ||
+ | * http://iasa.org.ua/iso?lang=eng&ch=6&sub=8 | ||
+ | |||
+ | == См. также == | ||
+ | |||
+ | *[[Практикум ММП ВМК, 4й курс, осень 2008]] |
Версия 14:27, 26 декабря 2008
Содержание[убрать] |
Метод штрафных функций
Изложение метода
Основная задача метода штрафных функций состоит в преобразовании задачи минимизации функции
с соответствующими ограничениями, наложенными на х, в задачу поиска минимума без ограничений функции
Функция является штрафной. Необходимо, чтобы при нарушении ограничений она «штрафовала» функцию Z, т.е. увеличивала её значение.В этом случае минимум функции Z будет находиться внутри области ограничений. Функция
, удовлетворяющая этому условию, может быть не единственной.
Задачу минимизации можно сформулировать следующим образом:
- минимизировать функцию
- минимизировать функцию
при ограничениях .
Функцию удобно записать следующим образом:
где r – положительная величина.
Тогда функция принимает вид
.
Если х принимает допустимые значения, т.е. значения, для которых , то Z принимает значения, которые больше соответствующих значений
(истинной целевой функции данной задачи), и разность можно уменьшить за счет того, что r может быть очень малой величиной. Но если х принимает значения, которые хотя и являются допустимыми, но близки к границе области ограничений, и по крайней мере одна из функций
близка к нулю, тогда значения функции
, и следовательно значения функции Z станут очень велики. Таким образом, влияние функции
состоит в создании «гребня с крутыми краями» вдоль каждой границы области ограничений. Следовательно, если поиск начнется из допустимой точки и осуществляется поиск минимума функции
без ограничений, то минимум, конечно, будет достигаться внутри допустимой области для задачи с ограничениями. Полагая r достаточно малой величиной, для того чтобы влияние
было малым в точке минимума, мы можем сделать точку минимума функции
без ограничений совпадающей с точкой минимума задачи с ограничениями.
Алгоритм метода штрафных функций
Пусть имеется следующая задача:
Минимизировать при ограничениях
,
.
Начальный этап Выбрать в качестве константы остановки, начальную допустимую точку
∈
, для которой
,
, скаляр
и
. Положить k=1 и перейти к основному этапу.
Основной этап. k-я итерация.
Первый шаг. При исходной точке решить следующую задачу безусловной оптимизации:
минимизировать, где
- параметр, значения которого убывают с каждой итерации
при
;
- положительные весовые коэффициенты.
Примерами штрафных функций являются:
1) обратная функция
2) логарифмическая функция
Положить равным оптимальному решению задачи минимизации и перейти ко второму шагу.
Минимизация штрафной функцию может быть выполнена любым методом безусловной оптимизации, например, градиентным.
Второй шаг
Если , то остановиться. Решение является искомым.
В противном случае положить . Изменить
и перейти к первому шагу (k+1)-й итерации.
Метод барьерных функций
Изложение метода
Метод штрафных функций относится к группе методов внутренней точки, т.е. он начинает работать с допустимой точки и генерирует последовательность допустимых точек
. Метод барьерных функций, наоборот, относится к группе методов внешней точки, он начинает поиск с недопустимой точки и генерирует последовательность недопустимых решений, которая приближается к оптимальному решению извне допустимой области.
Пусть имеется задача минимизировать
при ограничениях
,
,
В частности, для искомых функций – ограничений целесообразно использовать барьерную функцию следующего вида:
- непрерывные функции, которые удовлетворяют условиям:
, если
и
, если
,
, если
и
, если
.
Типичными являются следующие выражения для функций :
,
, где р – целое положительное число.
Далее от исходной задачи переходим к задачи безусловной оптимизации вспомогательной функции:
минимизировать ,
где
- штрафной коэффициент.
Пусть α– непрерывная функция. Обозначим
.
Подход, связанный с барьерной функцией состоит в решении задачи вида:
- максимизировать
при ограничении
- максимизировать
Алгоритм метода барьерных функций
Пусть имеется следующая задача:
Минимизировать при ограничениях
,
, где функции
.
Начальный этап Выбрать Выбрать начальную точку
, параметр штрафа
и число
. Положить k=1 и перейти к основному этапу.
Основной этап. k-я итерация.
Первый шаг. При начальной точке и параметре штрафа
решить следующую задачу:
минимизировать
, где
,p - целое.
Положить равным оптимальному решению задачи и перейти ко второму шагу.
Второй шаг
Если , то остановиться.
В противном случае положить . Заменить k на k+1 и перейти к первому шагу.
Пример реализации
Рассмотрим задачу Розена-Сузуки и реализуем её решение с помощью метода штрафных функций. Задача Розена-Сузуки заключается в следующем: необходимо минимизировать функцию
Рекомендация программисту
Использование штрафных функций для решения задач связано с определенной вычислительной трудностью. Прежде всего поиск может начинаться с допустимой точки х, для которой ,
.Для некоторых задач находить такую точку довольно сложно. Кроме того, вследствие использования в алгоритме оптимизации дискретных шагов около границы
возможен шаг, который выводит за границы допустимой области. Он приводит к уменьшению значений функции
, т.е. к фиктивному успеху. Таким образом, нужна явная проверка допустимости каждой последующей точки, для чего на каждой итерации необходимо вычислять значения функции
,
.
На эффективность метода барьерных функций существенно влияют выбор начального значения и метод сокращения значений в процессе минимизации, а также выбор весовых коэффициентов
. Если в функции значение
, выбирают слишком малым, то уже на начальной стадии процесса приходят к минимуму функции
, который вряд ли окажется вблизи действительного условного минимума в точке
,. С другой стороны, если значение
, выбирается слишком большим, то на первых итерациях вычислительного процесса текущая точка неизбежно окажется слишком далеко за пределами допустимой области, и поиск из-за необходимости возврата в пределы допустимой области окажется весьма затяжным.
Список литературы
- Банди Б. Методы Оптимизации. Вводный курс. М.: Радио и связь, 1988.
- http://iasa.org.ua/iso?lang=eng&ch=6&sub=8