Участник:Айнагуль Джумабекова
Материал из MachineLearning.
Строка 1: | Строка 1: | ||
==Метод штрафных функций== | ==Метод штрафных функций== | ||
+ | ===Изложение метода=== | ||
Основная задача метода штрафных функций состоит в преобразовании задачи минимизации функции | Основная задача метода штрафных функций состоит в преобразовании задачи минимизации функции | ||
::<tex>z=f(x)</tex> | ::<tex>z=f(x)</tex> | ||
Строка 53: | Строка 54: | ||
==Метод барьерных функций== | ==Метод барьерных функций== | ||
+ | ===Изложение метода=== | ||
Метод штрафных функций относится к группе методов внутренней точки, т.е. он начинает работать с допустимой точки <tex>x_0</tex> и генерирует последовательность допустимых точек <tex>x_1,x_2,\dots,x_n</tex>. Метод барьерных функций, наоборот, относится к группе методов внешней точки, он начинает поиск с недопустимой точки и генерирует последовательность недопустимых решений, которая приближается к оптимальному решению извне допустимой области. | Метод штрафных функций относится к группе методов внутренней точки, т.е. он начинает работать с допустимой точки <tex>x_0</tex> и генерирует последовательность допустимых точек <tex>x_1,x_2,\dots,x_n</tex>. Метод барьерных функций, наоборот, относится к группе методов внешней точки, он начинает поиск с недопустимой точки и генерирует последовательность недопустимых решений, которая приближается к оптимальному решению извне допустимой области. | ||
Строка 84: | Строка 86: | ||
Минимизировать <tex>f(x)</tex> при ограничениях <tex>g_i(x)\ge0</tex>,<tex>h_i(x)=0</tex>, где функции <tex>f,g_i,h_i</tex>. | Минимизировать <tex>f(x)</tex> при ограничениях <tex>g_i(x)\ge0</tex>,<tex>h_i(x)=0</tex>, где функции <tex>f,g_i,h_i</tex>. | ||
- | '''Начальный этап''' Выбрать <tex>\epsilon>0</tex> Выбрать начальную точку <tex>x^1</ | + | '''Начальный этап''' Выбрать <tex>\epsilon>0</tex> Выбрать начальную точку <tex>x^1</tex>, параметр штрафа <tex>r_1</tex> и число <tex>\beta>1</tex>. Положить k=1 и перейти к основному этапу. |
'''Основной этап'''. ''k-я итерация''. | '''Основной этап'''. ''k-я итерация''. | ||
Строка 91: | Строка 93: | ||
минимизировать | минимизировать | ||
- | ::<tex>f(x)+r_k\alpha(x)=f(x)+r_k\left[\sum_{i=1}^{m}(max\{0,-g_i(x)\})^p+ \sum_{i=m+1}^{l}|h_i(x)|^p</tex> , где | + | ::<tex>f(x)+r_k\alpha(x)=f(x)+r_k\left[\sum_{i=1}^{m}(max\{0,-g_i(x)\})^p+ \sum_{i=m+1}^{l}|h_i(x)|^p\right]</tex> , где |
- | <tex> | + | <tex>p>0</tex>,p - целое. |
- | + | Положить <tex>x_{k+1}</tex> равным оптимальному решению задачи и перейти ко второму шагу. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | Положить <tex>x_{k+1}</tex> равным оптимальному решению задачи | + | |
- | + | ||
- | + | ||
'''Второй шаг''' | '''Второй шаг''' | ||
- | Если <tex>r_k\ | + | Если <tex>r_k\alpha(x_{k+1})<\epsilon</tex>, то остановиться. |
- | В противном случае положить <tex>r_{k+1}=\beta r_k</tex>. | + | В противном случае положить <tex>r_{k+1}=\beta r_k</tex>. Заменить k на k+1 и перейти к первому шагу. |
Версия 13:52, 26 декабря 2008
Содержание |
Метод штрафных функций
Изложение метода
Основная задача метода штрафных функций состоит в преобразовании задачи минимизации функции
с соответствующими ограничениями, наложенными на х, в задачу поиска минимума без ограничений функции
Функция является штрафной. Необходимо, чтобы при нарушении ограничений она «штрафовала» функцию Z, т.е. увеличивала её значение.В этом случае минимум функции Z будет находиться внутри области ограничений. Функция , удовлетворяющая этому условию, может быть не единственной. Задачу минимизации можно сформулировать следующим образом:
- минимизировать функцию
при ограничениях .
Функцию удобно записать следующим образом:
где r – положительная величина.
Тогда функция принимает вид
- .
Если х принимает допустимые значения, т.е. значения, для которых , то Z принимает значения, которые больше соответствующих значений (истинной целевой функции данной задачи), и разность можно уменьшить за счет того, что r может быть очень малой величиной. Но если х принимает значения, которые хотя и являются допустимыми, но близки к границе области ограничений, и по крайней мере одна из функций близка к нулю, тогда значения функции , и следовательно значения функции Z станут очень велики. Таким образом, влияние функции состоит в создании «гребня с крутыми краями» вдоль каждой границы области ограничений. Следовательно, если поиск начнется из допустимой точки и осуществляется поиск минимума функции без ограничений, то минимум, конечно, будет достигаться внутри допустимой области для задачи с ограничениями. Полагая r достаточно малой величиной, для того чтобы влияние было малым в точке минимума, мы можем сделать точку минимума функции без ограничений совпадающей с точкой минимума задачи с ограничениями.
Алгоритм метода штрафных функций
Пусть имеется следующая задача: Минимизировать при ограничениях ,.
Начальный этап Выбрать в качестве константы остановки, начальную допустимую точку ∈, для которой , , скаляр и . Положить k=1 и перейти к основному этапу.
Основной этап. k-я итерация.
Первый шаг. При исходной точке решить следующую задачу безусловной оптимизации:
минимизировать, где
- параметр, значения которого убывают с каждой итерации при ; - положительные весовые коэффициенты.
Примерами штрафных функций являются:
1) обратная функция
2) логарифмическая функция
Положить равным оптимальному решению задачи минимизации и перейти ко второму шагу.
Минимизация штрафной функцию может быть выполнена любым методом безусловной оптимизации, например, градиентным.
Второй шаг
Если , то остановиться. Решение является искомым.
В противном случае положить . Изменить и перейти к первому шагу (k+1)-й итерации.
Метод барьерных функций
Изложение метода
Метод штрафных функций относится к группе методов внутренней точки, т.е. он начинает работать с допустимой точки и генерирует последовательность допустимых точек . Метод барьерных функций, наоборот, относится к группе методов внешней точки, он начинает поиск с недопустимой точки и генерирует последовательность недопустимых решений, которая приближается к оптимальному решению извне допустимой области.
Пусть имеется задача минимизировать при ограничениях
- ,
- ,
В частности, для искомых функций – ограничений целесообразно использовать барьерную функцию следующего вида:
- - непрерывные функции, которые удовлетворяют условиям:
- , если и , если ,
- , если и , если .
Типичными являются следующие выражения для функций :
- ,
- , где р – целое положительное число.
Далее от исходной задачи переходим к задачи безусловной оптимизации вспомогательной функции: минимизировать , где - штрафной коэффициент.
Пусть α– непрерывная функция. Обозначим .
Подход, связанный с барьерной функцией состоит в решении задачи вида:
- максимизировать при ограничении
Алгоритм метода барьерных функций
Пусть имеется следующая задача: Минимизировать при ограничениях ,, где функции .
Начальный этап Выбрать Выбрать начальную точку , параметр штрафа и число . Положить k=1 и перейти к основному этапу.
Основной этап. k-я итерация.
Первый шаг. При начальной точке и параметре штрафа решить следующую задачу:
минимизировать
- , где
,p - целое.
Положить равным оптимальному решению задачи и перейти ко второму шагу.
Второй шаг
Если , то остановиться.
В противном случае положить . Заменить k на k+1 и перейти к первому шагу.