МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ

advertisement
МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ
Все методы этой группы, несмотря на различные схемы и варианты, имеют одну общую
особенность: в них производится переход от задачи условной оптимизации к
эквивалентной задаче или последовательности задач безусловной оптимизации. Методы
штрафных функций можно разделить на два класса: параметрические и
непараметрические.
Параметрические методы характеризуются наличием одного или нескольких надлежащим
образом выбранных параметров, входящих в структуру штрафной функции в качестве
весовых коэффициентов.
К параметрическим методам относятся: метод последовательной безусловной оптимизации
(МПБО), предложенный Фиакко и Маккормиком, метод Зангвилла и др.
В непараметрических методах целевая функция рассматривается как функция, задающая
дополнительное искусственное ограничение, постепенно уплотнямое по мере получения
новой информации о ходе решения задачи.
Параметрические методы подразделяются на: 1) методы внутренней точки; 2) методы
внешней точки; 3) комбинированные методы.
При использовании методов внутренней точки текущая точка постоянно находится внутри
допустимой области с помощью штрафной функции, которая в этом случае называется
барьерной. Методы внешней точки, наоборот, генерируют последовательность точек,
которые выходят за пределы допустимой области, но в пределе дают допустимое
решение. Наконец, в комбинированных методах, которые необходимо использовать при
ограничениях-равенствах, в процессе оптимизации одни из ограничений
удовлетворяются, а другие - нет. Однако при достижении искомого решения все условия в
пределах заданного допуска выполняются.
Итак, пусть задача НП имеет следующий вид:
минимизировать
(6.8.1)
при ограничениях
,
.
(6.8.2)
(6.8.3)
В основу штрафных функций положено преобразование задачи (6.8.1)-(6.8.3) в задачу
минимизаци без ограничений вида
,
где
- штрафная функция;
некоторые функционалы.
Выбирая вид функционала
при
- весовые коэффициенты;
, руководствуются следующими вариантами [50]:
.
Для чего необходимо, чтобы точка
выполнялось условие
(6.8.4)
всегда была внутренней точкой, т.е. чтобы
-
при
.
При таком выборе функционала
оперируют только с внешними точками, для которых
выполняется условие
при
и
при
.
При таком выборе функционала не заботятся о том, чтобы ограничивающие условия
удовлетворялись на промежуточных этапах вычислительного процесса, хотя они,
безусловно, должны выполняться в искомой точке.
При выборе функционала для ограничений-равенств вводится требование
. При этом обычно полагают
функционалов
при
. Наконец, при любом выборе
требуется, чтобы
,
(6.8.5)
,
.
(6.8.6)
Метод барьерных поверхностей
Метод барьерных поверхностей (МБП) относится к группе методов внутренней точки и
онован на использовании барьерной поверхности вида
,
где
(6.8.7)
- параметр, значения которого убывают с каждой итерацией
при
;
- положительные весовые коэффициенты.
При этом барьерная функция (поверхность)
неограниченно возрастает при
.
Примерами барьерных функций являются:
а) обратная функция
б) логарифмическая функция
,
(6.8.8)
.
При приближении к границе изнутри области, как только
, штраф
становится очень большим. Таким образом, вдоль всех границ допустимой области
образуются сильные барьеры.
Построив барьерную функцию и определив начальную внутреннюю точку, приступаем к
процедуре минимизации
точка
при заданном начальном значении
. Тогда конечная
первой итерации процедуры становится исходной для минимизации
при
уменьшенном значении
и т.д. Завершающий этап (итерация) минимизации реализуется
при очень малом значении , так что результирующая точка
с точностью до
установленного допуска может сказаться либо на одной, либо сразу на нескольких
поверхностях, заданных ограничениями задачи.
Если через
обозначить точку минимума вспомогательной функции
, то при
весьма слабых предположениях относительно исходной задачи последовательность
сходится к решению исходной задачи при
Минимизация барьерной функции может быть выполнена любым методом безусловной
оптимизации, которые рассмотрены выше, например градиентным, или методами
переменной метрики, или одним из прямых методов.
Один из существенных недостатков метода барьерных функций связан с тем, что эти
функции определены в допустимой области, которая должна иметь непустую внутреннюю
область, т.е. множество
должно быть непустым.
Алгоритм метода барьерных поверхностей
Пусть задача НП имеет следующий вид:
минимизировать
при ограничениях
На ч ал ь ны й э та п . Выбрать
.
в качестве константы остановки, начальную допустимую
точку
, для которой
перейти к основному этапу.
, скаляр
и0<
<1. Положить
О сн о вн о й э та п . -я и т ерац ия . П ер в ый ша г. При исходной точке
следующую задачу безусловной оптимизации:
минимизировать
где
Положить
,
и
решить
(6.8.9)
описывается одним из выражений (6.8.8).
равным оптимальному решению задачи (6.8.9) и перейти ко второму шагу.
Вт ор о й ша г. Если
противном случае положить
итерации.
, то остановиться. Решение является искомым. В
. Изменить
и перейти к первому шагу
-й
Пример 6.8. Рассмотрим следующую задачу:
минимизировать
при условии
.
Решим ее методом барьерных поверхностей с барьерной функцией
. В табл.
6.7 приведены результаты вычислений. Вычисления начались при
, а безусловная
оптимизация функции
начиналась с точки
. В качестве начального значения
параметра
выбрано
. После шести итераций получена точка
для
которой
и выполнение алгоритма остановлено. Можно непосредственно
проверить, что эта точка близка к оптимальной. Учитывая, что
уменьшаются, по табл.
6.7 легко заметить, что
- функции, которые не уменьшаются от , а
- не
увеличивается от .
Кроме того,
стремится к нулю.
Таблица 6.7
1
10.0
2
1
3
0.1
4
0.01
5
0.001
6
0.0001
0.708 ;
1.532
0.828 ;
1.110
0.899 ;
0.964
0.924 ;
0.916
0.940 ;
0.901
0.944 ;
0.896
8.334
0.970
18.039
9.705
3.821
2.359
6.180
2.359
2.528
6.419
6.170
0.642
2.129
19.078
2.320
0.191
2.004
59.046
2.063
0.059
1.964
184.445
1.983
0.0184
Использование барьерных функций для решения задач НП связано с определенной
вычислительной трудностью. Прежде всего поиск может начинаться с допустимой точки
, для которой
. Для некоторых задач находить такую точку довольно
сложно. Кроме того, вследствие использования в алгоритме оптимизации дискретных
шагов около границы
, возможен шаг, который выводит за границы допустимой
области. Он приводит к уменьшению значений функции
, т.е. к фиктивному успеху.
Таким образом, нужна явная проверка допустимости каждой последующей точки, для чего
на каждой итерации необходимо вычислять значения функции
.
На эффективность метода БП существенно влияют выбор начального значения
и метод
сокращения значений
в процессе минимизации, а также выбор весовых коэффициентов
. Если в функции
значение
выбирают слишком малым, то уже на начальной
стадии процесса приходят к минимуму функции
, который вряд ли окажется вблизи
действительного условного минимума в точке
. С другой стороны, если значение
выбирается слишком большим, то на первых итерациях вычислительного процесса
текущая точка неизбежно окажется слишком далеко за пределами допустимой области, и
поиск из-за необходимости возврата в пределы допустимой области окажется весьма
затяжным.
На рис. 6.19 представлена функция
вида
для трех различных значений: а)
барьерных поверхностей
траектория поиска.
; б)
; в)
при больших значениях
, где легко увидеть влияние
. Штриховой линией изображена
Метод штрафных функций
Метод барьерных поверхностей относится к группе методов внутренней точки, т.е. он
начинает работать с допустимой точки
и генерирует последовательность допустимых
точек
. Метод штрафных функций, наоборот, относится к группе методов
внешней точки, он начинает поиск с недопустимой точки и генерирует
последовательность недопустимых решений, которая приближается к оптимальному
решению извне допустимой области.
Пусть, как и выше, имеется задача НП:
минимизировать
(6.8.10)
при ограничениях
,
(6.8.11)
.
(6.8.12)
Метод штрафных функций основан на преобразовании исходной задачи с ограничениями
в одну задачу безусловной оптимизации или в их последовательность. С помощью
функций-ограничений строят штрафную функцию, которая прибавляется к целевой
функции исходной задачи, так, чтобы нарушение какого-либо из ограничений исходной
задачи было невыгодным с точки зрения полученной задачи безусловной оптимизации.
В частности, для ограничений типа (6.8.11), (6.8.12) целесообразно использовать
штрафную функцию следующего вида:
,
где
(6.8.13)
- непрерывные функции, которые удовлетворяют условиям:
, если
и
, если
и
, если
,
, если
.
Типичными являются следующие выражения для функций
, где
Таким образом, штрафная функция
:
- целое положительное число.
обычно имеет вид
.
(6.8.14)
Далее от задачи НП (6.8.10)-(6.8.12) переходим к задаче безусловной оптимизации
вспомогательной функции:
минимизировать
где
Пусть
,
(6.8.15)
- штрафной коэффициент.
- непрерывная функция вида (6.8.13). Обозначим
(6.8.16)
Подход, связанный со штрафной функцией, состоит в решении задачи вида:
максимизировать
(6.8.17)
при ограничении
Справедлива следующая теорема, которая обосновывает этот метод [1].
Теорема 6.5. Пусть задача НП задана в виде (6.8.10)-(6.8.12), где
непрерывные на
-
функции.
Предположим, что задача имеет допустимые решения и пусть
- непрерывная
штрафная функция вида (6.8.13). Предположим также, что для любого
существует
решение
задачи минимизаци вспомогательной функции
и все
принадлежат некоторому компактному подмножеству
. Тогда справедливо следующее
уравнение:
(6.8.18)
где
определяется в соответствии с (6.8.16).
Более того, граница
любой сходящейся последовательности
оптимальным решением исходной задачи и
приводится в [2].
при
является
. Доказательство теоремы
Эта теорема служит обоснованием метода штрафных функций и из нее следует, что
оптимальное значение
довольно большом
может быть сделано наиблизким к допустимой области при
. Кроме того, выбрав
довольно большим, значение
можно сделать как угодно близким к оптимальному значению ц.ф. исходной задачи
.
Алгоритм метода штрафных функций
В связи с трудностями, связанными с использованием большого параметра штрафа , в
большинстве алгоритмов метода штрафных функций применяют последовательность
возрастающих параметров штрафа .
Итак, пусть имеем задачу НП:
минимизировать
при ограничениях
где функции
непрерывны.
На ч ал ь ны й э та п . Выбрать
. Выбрать начальную точку
число
. Положить
и перейти к основному этапу.
О сн о вн о й э та п . П е р вы й ша г. При начальной точке
следующую задачу:
, параметр штрафа
и параметре штрафа
и
решить
минимизировать
, (6.8.19)
где
Положить
- целое.
равным оптимальному решению этой задачи и перейти ко второму шагу.
Вт ор о й ша г. Если
, то остановиться. В противном случае положить
Заменить
на
и перейти к первому шагу.
Пример 6.9. Рассмотрим следующую задачу:
минимизировать
,
.
при ограничениях
.
В качестве штрафной функции
значении параметра
выберем
. Тогда на
-й итерации при заданном
необходимо решать следующую задачу:
минимизировать
,
где
.
В табл. 6.8 приведены результаты вычислений по методу штрафных функций. В качестве
начальной выбрана точка
, в которой значение ц.ф. равно 0. В качестве
начального значения штрафа взято
неубывающие функции, а
, а число
. Заметим, что
- невозрастающая функция параметра
Процесс остановлен после четырех итераций, где
согласно теореме 6 последовательность
Таблица 6.8
0.1
2
1
3
10
4
100
5
1000
1,4539;
0,7608
1.1687;
0.7407
0.9906;
0.8425
0.9507;
0.8875
0.9461;
0.8934
0.0935
7.8307
0.7831 0.8766
0.5753
0.3908
0.3908 0.9661
1.5203
0.01926
0.1926 1.7129
1.8917 0.000267 0.0267 1.9184
1.9405 0.0028
-
.
. Но, чтобы убедиться, что
стремится к нулю, выполнена еще одна
итерация и найдено . Можно убедиться, что в точке
Куна-Таккера с заданной точностью.
1
и
0.0028 1.9433
выполняются условия
Download