Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
195
Добавлен:
13.03.2016
Размер:
187.9 Кб
Скачать

8.3. Метод штрафных функций

Наличие функциональных ограничений (ограничений неравенств) в существенной степени затрудняет решение задач оптимизации, так как в большинстве случаев поиск оптимальной точки осуществляется вдоль граничных поверхностей нелинейной формы. Идея преобразования задачи с ограничениями в задачи без ограничений представляется привлекательной главным образом в связи с наличием эффективных и надежных методов безусловной минимизации.

Методы решения задач нелинейного программирования, при использовании которых данную задачу можно свести к задаче минимизации некоторой специальной функции, представляющей собой сумму данной минимизируемой функции и некоторой штрафной функции, сформированной из ограничительных функций данной задачи, называют методами штрафных функций.

Идея этих методов состоит в замене целевой функции данной задачи некоторой обобщенной функцией, значения которой совпадают со значениями исходной функции внутри допустимой области, но при приближении к границе области, а тем более при выходе из нее резко возрастают за счет второго слагаемого обобщенной функции – штрафной функции, порожденной ограничениями исходной задачи. Штрафные функции строятся таким образом, что обеспечивают либо быстрое возвращение в допустимую область, либо невозможность выхода из нее.

Методы штрафных функций сводят задачу на условный экстремум к решению последовательности задач на безусловный экстремум, что нередко оказывается значительно проще. Эффективность такого подхода становится особенно ощутимой, когда гиперповерхности, ограничивающие допустимую область значений параметров, заданы нелинейными функциями. В зависимости от способа формирования штрафных функций различают метод штрафных и барьерных функций.

Рассмотрим метод штрафных функций. Этот метод предназначен для решения задач нелинейного программирования с ограничениями, как в форме неравенств, так и в форме равенств. Будем рассматривать задачу:

¦(x) ® min ; xÎ X Ì En, (8.17)

gi(x) £ 0 , i = 1:m , (8.18)

в которой все функции ¦ , gi считаются непрерывными на всем пространстве En. Функция P(x), определенная и непрерывная на En, называется штрафной функцией, если выполняются следующие условия:

1.) P(x) = 0 "xÎ X ,

2.) P(x) > 0 "x Ï X .

Введем обобщенную функцию (k = 1,2,…)

¦(x, k ) = ¦(x) + kP(x) , (8.19)

где k – некоторое положительное число, называемое коэффициентом штрафа. В этом методе функции P(x) подбираются так, чтобы при больших k функция ¦(x , k) мало отличалась от ¦(x) при "x Î X и быстро возрастала при удалении точки x Ï X от допустимого множества, т.е. функция P(x) назначает положительный «штраф» за выход за пределы допустимого множества X , тогда как для точек из X «штраф» отсутствует.

Хорошо изучены штрафные функции следующих видов

(8.20)

Алгоритм оптимизационного поиска по методу штрафных функций состоит в следующем. Рассматривается некоторая неограниченная, монотонно возрастающая последовательность {k} , k = 1,2 ,… положительных чисел. Для первого числа k1(k = 1) этой последовательности находится точка x(1)* , доставляющая минимум функции (8.19). Найденная точка x(1)* используется как начальное приближение для решения задачи поиска минимума функции ¦(x, k2) , где k2 > k1 и т.д. Таким образом решается последовательность задач минимизации функции ¦(x, k) , k = 1,2….

Поскольку для бесконечно возрастающей последовательности {k} локальные минимумы приближаются к допустимой области, то последовательность {x(k)*} , k = 1,2,…, сходится к локальному оптимуму функции ¦(x) , расположенному внутри или на границе допустимой области.

В качестве критерия достижения требуемой точности решения задачи может служить неравенство ||x(k)x(k/2)|| £ e , где e - число, характеризующее точность, k – четное число. При его выполнении полагают x* » x(k) , ¦ * = ¦(x(k)).

Для решения задач (8.19) можно использовать методы безусловной минимизации. Если в задаче (8.17) выпуклая квадратичная функция, а ограничения (8.18) линейные функции, то точное решение вспомогательной задачи (8.19) можно найти из системы линейных уравнений ¶¦(x, k)/¶xj = 0, j = 1:n, определяющих стационарную точку функции ¦(x, k). Поскольку точки x(k)* расположены вне допустимой области, поэтому метод штрафных функций называют также методом внешней точки.

Пример 8.4.

¦(x) = x ® min,

-x + 2 £ 0.

Решение. Рассмотрим в качестве штрафной функцию вида (8.20) , т.е. P(x) = (-x +2)2. Тогда

¦(x, k) = x + k (-x +2)2. (8.21)

Для определения минимума функции ¦(x, k) вычисляем ее производную по x и приравниваем ее к нулю :

¦¢(x, k) = 1 – 2k (- x +2) = 1 + 2kx – 4k = 0

Отсюда находим x(k) = .Очевидно, полученная последовательность точек сходится к решению исходной задачи :

x(k) = x* = 2.

Геометрическая иллюстрация примера дана на рис. 8.6. Числовые значения представлены в табл. 8.1.

Y k =3

5 k=2 y = x

4

2

  1. k=1

x(3)

. . .

1 x(1) x(2) 3 4 5 X

Рис. 8.6. Графическая иллюстрация задачи

Таблица 8.1

Значения f(x, k), представленной выражением (8.21)

Коэффициент штрафа

k = 1

k = 2

k = 3

x

f(x, k)

x

f(x, k)

x

f(x, k)

0

4

0

8

0

12

1

2

1

3

1

4

1,5*

1,75

1,5

2

1,5

2,25

-

-

1,75*

1,87

1,83*

1,92

2

2

2

2

2

2

Для минимизации ¦(x, k) на множестве X можно использовать, например, градиентные методы безусловной оптимизации. Нужно лишь дополнительно после каждой итерации градиентного метода, проверять, принадлежит ли очередное приближение множеству X , и в случае выхода за его пределы уменьшать величину шага.

Для контроля достигнутой точности решения можно использовать неравенство ||x(k)x(k/2)|| £ e.

При использовании метода внутренней точки важен выбор начальных значений вектора x и параметра k. Необходимость задания начальной точки x Î X представляет непростую задачу, что является главным недостатком этого метода. Значение параметра k на первом этапе можно принимать k = 1.