Участник:Айнагуль Джумабекова
Материал из MachineLearning.
| Строка 1: | Строка 1: | ||
| - | =Метод штрафных функций=  | + | ==Метод штрафных функций==  | 
Основная задача метода штрафных функций состоит в преобразовании задачи минимизации функции  | Основная задача метода штрафных функций состоит в преобразовании задачи минимизации функции  | ||
::<tex>z=f(x)</tex>  | ::<tex>z=f(x)</tex>  | ||
| Строка 19: | Строка 19: | ||
::<tex>Z=\varphi(x,r)=f(x)+ r\sum_{j=1}^m\frac{1}{c_j(x)}</tex>.  | ::<tex>Z=\varphi(x,r)=f(x)+ r\sum_{j=1}^m\frac{1}{c_j(x)}</tex>.  | ||
| - | Если х принимает допустимые значения, т.е. значения, для которых <tex>c_j  | + | Если х принимает допустимые значения, т.е. значения, для которых <tex>c_j\ge0</tex>, то Z принимает значения, которые больше соответствующих значений <tex>f(x)</tex> (истинной целевой функции данной задачи), и разность можно уменьшить за счет того, что r может быть очень малой величиной. Но если х принимает значения, которые хотя и являются допустимыми, но близки к границе области ограничений, и по крайней мере одна из функций <tex>c_j(x)</tex> близка к нулю, тогда значения функции <tex>P(x)</tex>, и следовательно значения функции  Z станут очень велики. Таким образом, влияние функции <tex>P(x)</tex> состоит в создании «гребня с крутыми краями» вдоль каждой границы области ограничений. Следовательно, если поиск начнется из допустимой точки и осуществляется поиск минимума функции <tex>\varphi(x,r)</tex> без ограничений, то минимум, конечно, будет достигаться внутри допустимой области для задачи с ограничениями. Полагая r достаточно малой величиной, для того чтобы влияние <tex>P(x)</tex> было малым в точке минимума, мы можем сделать точку минимума функции  <tex>\varphi(x,r)</tex>без ограничений совпадающей с точкой минимума задачи с ограничениями.  | 
===Алгоритм метода штрафных функций===  | ===Алгоритм метода штрафных функций===  | ||
| Строка 26: | Строка 26: | ||
Минимизировать <tex>f(x)</tex> при ограничениях <tex>g_i(x)\ge0</tex>,<tex>i=\bar{1,m}</tex>.  | Минимизировать <tex>f(x)</tex> при ограничениях <tex>g_i(x)\ge0</tex>,<tex>i=\bar{1,m}</tex>.  | ||
| - | '''Начальный этап''' Выбрать <tex>\epsilon>0</tex> в качестве константы остановки, начальную допустимую точку <tex>x^0 R^n</tex>, для которой <tex>g_i(x^0)>0</tex>, <tex>i=\bar{1,m}</tex>, скаляр <tex>r_0</tex> и <tex>0<\  | + | '''Начальный этап''' Выбрать <tex>\epsilon>0</tex> в качестве константы остановки, начальную допустимую точку <tex>x^0</tex>∈<tex>R^n</tex>, для которой <tex>g_i(x^0)>0</tex>, <tex>i=\bar{1,m}</tex>, скаляр <tex>r_0</tex> и <tex>0<\beta<1</tex>. Положить k=1 и перейти к основному этапу.  | 
'''Основной этап'''. ''k-я итерация''.   | '''Основной этап'''. ''k-я итерация''.   | ||
| Строка 48: | Строка 48: | ||
'''Второй шаг'''  | '''Второй шаг'''  | ||
| - | Если <tex>r_k\  | + | Если <tex>r_k\sum R(g_i(x_{k+1}))\omega_i<\epsilon</tex>, то остановиться. Решение является искомым.   | 
| + | В противном случае положить <tex>r_{k+1}=\beta r_k</tex>. Изменить <tex>k=k+1</tex> и перейти к первому шагу (k+1)-й итерации.  | ||
| + | |||
| + | ==Метод барьерных функций==  | ||
Метод штрафных функций относится к группе методов внутренней точки, т.е. он начинает работать с допустимой точки <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>. Метод барьерных функций, наоборот, относится к группе методов внешней точки, он начинает поиск с недопустимой точки и генерирует последовательность недопустимых решений, которая приближается к оптимальному решению извне допустимой области.  | ||
Пусть имеется задача минимизировать <tex>f(x)</tex>  | Пусть имеется задача минимизировать <tex>f(x)</tex>  | ||
при ограничениях  | при ограничениях  | ||
| - | + | ::<tex>g_i(x)\ge0</tex>, <tex>i=\bar{1,m}</tex>  | |
| - | + | ::<tex>h_i(x)=0</tex> ,<tex>i=\bar{m+1,l}</tex>  | |
В частности, для искомых функций – ограничений целесообразно использовать барьерную функцию следующего вида:  | В частности, для искомых функций – ограничений целесообразно использовать барьерную функцию следующего вида:  | ||
| - | ::<tex>\alpha(x)=\sum_{i=1}^{m}R_1(g_i(x))+ \sum_{i=1}^{  | + | ::<tex>\alpha(x)=\sum_{i=1}^{m}R_1(g_i(x))+ \sum_{i=m+1}^{l}R_2(h_i(x))</tex>  | 
| - | <tex>R_1,R_2</tex> - непрерывные функции, которые удовлетворяют условиям:  | + | ::<tex>R_1,R_2</tex> - непрерывные функции, которые удовлетворяют условиям:  | 
| - | <tex>R_1(y)=0</tex> , если <tex>y>=0</tex> и <tex>R_1(y)>0</tex> , если <tex>y<0</tex>,  | + | ::<tex>R_1(y)=0</tex> , если <tex>y>=0</tex> и <tex>R_1(y)>0</tex> , если <tex>y<0</tex>,  | 
| - | <tex>R_2(y)=0</tex> , если <tex>y=0</tex>   и <tex>R_2(y)>0</tex> , если <tex>y\not=0</tex>.  | + | ::<tex>R_2(y)=0</tex> , если <tex>y=0</tex>   и <tex>R_2(y)>0</tex> , если <tex>y\not=0</tex>.  | 
Типичными являются следующие выражения для функций <tex>R_1,R_2</tex>:  | Типичными являются следующие выражения для функций <tex>R_1,R_2</tex>:  | ||
| - | <tex>R_1(y)=(max{0,-y})^p</tex>, <tex>R_2(y)=|y|^p</tex>, где р – целое положительное число.  | + | ::<tex>R_1(y)=(max\{0,-y\})^p</tex>,   | 
| + | ::<tex>R_2(y)=|y|^p</tex>, где р – целое положительное число.  | ||
Далее от исходной задачи переходим к задачи безусловной оптимизации вспомогательной функции:  | Далее от исходной задачи переходим к задачи безусловной оптимизации вспомогательной функции:  | ||
минимизировать <tex> f(x)+r\alpha(x)</tex>,  | минимизировать <tex> f(x)+r\alpha(x)</tex>,  | ||
где <tex>r>0</tex> - штрафной коэффициент.  | где <tex>r>0</tex> - штрафной коэффициент.  | ||
| - | |||
| - | |||
| - | Подход, связанный с барьерной   | + | Пусть α– непрерывная функция. Обозначим  | 
| + | <tex>\theta(r)=inf\{f(x)+r\alpha(x)\}</tex>.  | ||
| + | |||
| + | Подход, связанный с барьерной функцией состоит в решении задачи вида:  | ||
| + | ::максимизировать <tex>\theta(r)</tex> при ограничении <tex>r\ge0</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>, <tex>, параметр штрафа <tex>r_1</tex> и число  <tex>\beta>1</tex>. Положить k=1 и перейти к основному этапу.  | ||
| + | |||
| + | '''Основной этап'''. ''k-я итерация''.   | ||
| + | |||
| + | '''Первый шаг'''. При начальной точке <tex>x_k</tex> и параметре штрафа <tex>r_k</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</tex> , где  | ||
| + | |||
| + | <tex>r>0</tex> - параметр, значения которого убывают с каждой итерации <tex>R_i(t) \to \infty</tex> при <tex>t \to 0</tex>; <tex>\omega_i</tex> - положительные весовые коэффициенты.  | ||
| + | |||
| + | Примерами штрафных функций являются:  | ||
| + | |||
| + | 1) обратная функция <tex>R_i(g_i(x))=\frac{1}{g_i(x)}</tex>  | ||
| + | |||
| + | 2) логарифмическая функция <tex>R_i(g_i(x))=-ln(g_i(x))</tex>  | ||
| + | |||
| + | Положить <tex>x_{k+1}</tex> равным оптимальному решению задачи минимизации и перейти ко второму шагу.  | ||
| + | |||
| + | Минимизация штрафной функцию может быть выполнена любым методом безусловной оптимизации, например, градиентным.  | ||
| + | |||
| + | '''Второй шаг'''  | ||
| + | |||
| + | Если <tex>r_k\sum R(g_i(x_{k+1}))\omega_i<\epsilon</tex>, то остановиться. Решение является искомым.   | ||
| + | |||
| + | В противном случае положить <tex>r_{k+1}=\beta r_k</tex>. Изменить <tex>k=k+1</tex> и перейти к первому шагу (k+1)-й итерации.  | ||
Версия 13:44, 26 декабря 2008
Содержание | 
Метод штрафных функций
Основная задача метода штрафных функций состоит в преобразовании задачи минимизации функции
с соответствующими ограничениями, наложенными на х, в задачу поиска минимума без ограничений функции
Функция  является штрафной. Необходимо, чтобы при нарушении ограничений она «штрафовала» функцию Z, т.е. увеличивала её значение.В этом случае минимум функции Z  будет находиться внутри области ограничений. Функция 
, удовлетворяющая этому условию, может быть не единственной.
Задачу минимизации можно сформулировать следующим образом:
- минимизировать функцию  
 
- минимизировать функцию  
 
при ограничениях .
Функцию  удобно записать следующим образом:
где r – положительная величина.
Тогда функция  принимает вид
.
Если х принимает допустимые значения, т.е. значения, для которых , то Z принимает значения, которые больше соответствующих значений 
 (истинной целевой функции данной задачи), и разность можно уменьшить за счет того, что r может быть очень малой величиной. Но если х принимает значения, которые хотя и являются допустимыми, но близки к границе области ограничений, и по крайней мере одна из функций 
 близка к нулю, тогда значения функции 
, и следовательно значения функции  Z станут очень велики. Таким образом, влияние функции 
 состоит в создании «гребня с крутыми краями» вдоль каждой границы области ограничений. Следовательно, если поиск начнется из допустимой точки и осуществляется поиск минимума функции 
 без ограничений, то минимум, конечно, будет достигаться внутри допустимой области для задачи с ограничениями. Полагая r достаточно малой величиной, для того чтобы влияние 
 было малым в точке минимума, мы можем сделать точку минимума функции  
без ограничений совпадающей с точкой минимума задачи с ограничениями.
Алгоритм метода штрафных функций
Пусть имеется следующая задача:
Минимизировать  при ограничениях 
,
.
Начальный этап Выбрать  в качестве константы остановки, начальную допустимую точку 
∈
, для которой 
, 
, скаляр 
 и 
. Положить k=1 и перейти к основному этапу.
Основной этап. k-я итерация.
Первый шаг. При исходной точке  решить следующую задачу безусловной оптимизации:
 минимизировать, где
 - параметр, значения которого убывают с каждой итерации 
 при 
; 
 - положительные весовые коэффициенты.
Примерами штрафных функций являются:
1) обратная функция 
2) логарифмическая функция 
Положить  равным оптимальному решению задачи минимизации и перейти ко второму шагу.
Минимизация штрафной функцию может быть выполнена любым методом безусловной оптимизации, например, градиентным.
Второй шаг
Если , то остановиться. Решение является искомым. 
В противном случае положить . Изменить 
 и перейти к первому шагу (k+1)-й итерации.
Метод барьерных функций
Метод штрафных функций относится к группе методов внутренней точки, т.е. он начинает работать с допустимой точки  и генерирует последовательность допустимых точек  
. Метод барьерных функций, наоборот, относится к группе методов внешней точки, он начинает поиск с недопустимой точки и генерирует последовательность недопустимых решений, которая приближается к оптимальному решению извне допустимой области.
Пусть имеется задача минимизировать 
при ограничениях
,
,
В частности, для искомых функций – ограничений целесообразно использовать барьерную функцию следующего вида:
- непрерывные функции, которые удовлетворяют условиям:
, если
и
, если
,
, если
и
, если
.
Типичными являются следующие выражения для функций :
,
, где р – целое положительное число.
Далее от исходной задачи переходим к задачи безусловной оптимизации вспомогательной функции:
минимизировать ,
где 
 - штрафной коэффициент.
Пусть α– непрерывная функция. Обозначим
.
Подход, связанный с барьерной функцией состоит в решении задачи вида:
- максимизировать 
при ограничении
 
- максимизировать 
 
Алгоритм метода барьерных функций
Пусть имеется следующая задача:
Минимизировать  при ограничениях 
,
, где функции 
.
Начальный этап Выбрать  Выбрать начальную точку 
, 
 и число  
. Положить k=1 и перейти к основному этапу.
Основной этап. k-я итерация.
Первый шаг. При начальной точке  и параметре штрафа 
решить следующую задачу:
минимизировать
, где
 - параметр, значения которого убывают с каждой итерации 
 при 
; 
 - положительные весовые коэффициенты.
Примерами штрафных функций являются:
1) обратная функция 
2) логарифмическая функция 
Положить  равным оптимальному решению задачи минимизации и перейти ко второму шагу.
Минимизация штрафной функцию может быть выполнена любым методом безусловной оптимизации, например, градиентным.
Второй шаг
Если , то остановиться. Решение является искомым. 
В противном случае положить . Изменить 
 и перейти к первому шагу (k+1)-й итерации.

