Исследование операций и методы оптимизации
.pdfN2 . Тогда для задачи минимизации для заданного ε в точке x необходимоопределитьвеличинуизусловия
|
, |
где |
, g0(X)-– градиент F(X). |
|
Более подробно алгоритм решение и примеры можно найти в [7, 16]. |
6.10. Метод проекции градиента
На каждой итерации этого метода предусмотрена процедура возврата очередного приближения градиентного спуска
на допустимое множество U , если . Такой возврат производится
посредством проектирования на U, т.е. замены на ближай-
шую точку множества U.
Определение. Пусть заданы замкнутое множество и точка
. Точка называется проекцией точки z на множество U, если
где – расстояние междуточкамиx иy впространствеEn . Очевидно, для точкипроекциясовпадает с z.
Таким образом, в методе проекции градиента последовательные приближения x(k) к точке минимума X* целевой функции f(x) на множестве U вычисляются по формулам
, . (6.20)
Рис. 43
118
В зависимости от способа вычисления ak из (6.20) различают несколько вариантов метода проекции градиента, самыми распространенными из которых являются следующие.
1) ak находится, как в методе наискорейшего спуска безусловной минимизации, т.е. , где В
предположении, что градиент f ′(k) целевой функции удовлетворяет на множестве U условию Липшица, т.е.
(6.21)
для всех , полагают где α - произвольное
число из интервала (0;2/L). Если известна минимальная константа Липшица L из (6.21), то выбирают, как правило, α=1/L.
Вычисления по формуле (6.20) завершаются при выполнении одного из неравенств или , где величина оп-
ределяет |
точность |
решения |
задачи. |
Окончательно |
полагают |
|
|
. |
|
|
|
Отметим, что определение проекции |
для точки |
является |
|||
самостоятельной задачей нелинейного программирования: |
|
||||
|
|
|
|
, |
(6.22) |
решение которой может вызвать затруднения.
В частном случае, когда множество U определяется лишь линейными ограничениями, задача (6.22) представляет собой задачу квадратичного программирования. Ее решение может быть найдено за конечное число шагов, как описано выше.
X3 |
Z |
|
PU(Z)
X1
X2
Рис. 44
Особый интерес при использовании метода проекции градиента представляют такие множества U, для которых задача проектирования (6.22) решается в явном виде.(U - шар, параллелепипед и т.д.)
119
Иногда, как в примере с шаром, нахождение кратчайшего расстояния приводит к задаче на условный экстремум
Ф(X ,λ)= ∑n (X j − Z j )2 +λ∑n (X j |
|
− R0 )2 ; |
∂Ф |
= 0; |
∂Ф |
= 0 |
|||||||||
|
|
|
|||||||||||||
|
|
j=1 |
|
|
|
|
|
j=1 |
|
|
∂X j |
∂λj |
|||
В случае с шаром: |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
n |
|
|
|
(Z U ) |
|
|
|
|
||
|
|
Z, ∑Z 2j ≤ R02 ; |
|
|
|
|
|||||||||
|
|
|
|
j=1 |
|
|
|
|
|
|
|
|
|
||
P |
(Z )= |
|
R0 Z |
|
|
n |
2 |
2 |
; (Z U ) |
|
|
|
|
||
U |
|
|
|
|
|
, |
∑Z j |
> R0 |
|
|
|
|
|
||
|
|
n |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
∑z 2 |
|
|
j=1 |
|
|
|
|
|
|
|
|
|
|
|
|
j=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если область допустимых решений U - параллелепипед, то проекция точки определяется очень просто. Пусть область U определяется условиями: a1<x1<b1
a2<x2<b2
a3<x3<b3
Рис. 45
Если только одна из координат X j [aj ,bj ] , а остальные нет, то проекцией на параллелепипед будет точка на ребре (т. А).
Если две из координат X j принадлежат области X j [aj ,bj ] ,
Xk [ak ,bk ] , то проекцией на параллелепипед будет точка на грани (т. В).
Если все три координаты X1 [a1,b1 ], X2 [a2 ,b2 ], X3 [a3 ,b3 ], то проекцией на параллелепипед будет точка в вершине (т. С).
120
6.11. Методы штрафных и барьерных функций
Идея методов штрафных и барьерных функций заключается в том, что исходная задача НЛП с ограничениями заменяется последовательностью задач безусловной оптимизации (т.е. без ограничений) за счет введения новой функции, учитывающей невыполнение ограничений в виде «штрафа»:
С(X)=F(X)+ P(X),
Где F(X) – целевая функция, P(X) – функция, равная в идеале F(X) в области допустимых решений U и равная бесконечности вне этой области. Практически вместо P(X) подбирается последовательность функций PK(X), зависящих от к, так, чтобы lim PK(X)=P(X), при кÆ∞.
На рис.a) и b) показано решение задачи F(x)Æ min, a<x<b.
В методах штрафных функций последовательность точек стремится к решению в допустимой области извне и функции штрафа изменяются вне области U, поэтому они называют методами с внешней точкой (см. рис. a). В методах барьерных функций функция P(X) аппроксимируется барьерными функциями изнутри области (для них ограничения являются барьером), поэтому эти методы называются методами с внутренней точкой.(см. рис. b).
Рассмотрим метод штрафных функций для задачи НЛП
F(X) Æ min, XєU. Заменим эту задачу последовательностью задач безусловной оптимизации
Ck(X)=F(X) + Pk(X) Æ min, k=1,2,3,…, |
(6.23) |
Где Pk(X) – функции, которые с ростом k во все большей степени учитывают ограничения, определяемые допустимым множеством U исходной задачи. В методе штрафных функций функции Pk(X) подбираются так, чтобы при больших k функция Сk(X) мало отличалась от F(X) при X U и быстро возрастала при удалении точки от допустимого множества U. Последовательностью штрафных функций множества U называется последовательность функций {Pk(X)}, обладающих свойством
a) b)
Рис. 46
121
0, еслиX U , lim Pk (X ) = +∞, еслиХ U.
Рассмотрим один из вариантов метода штрафных функций приближен-
ного решения задачи нелинейного программирования |
|
F(X) Æ min |
(6.24) |
gi (X ) = 0,i =1,...,l
gi (X ) ≤ 0,i = l +1,...,m
считая, что функции F(X), gi(X), i=1,…,m , заданы во всем пространстве En.
Положим |
|
|
Pk(X)= kp(X), k=1,2,3,… |
(6.25) |
|
где |
|
|
p(X)= Σ gi2(x)+ Σ [gi+(x)]2, |
|
|
i=1 i=l+1 |
|
|
0, |
gi (X ) ≤ 0, |
|
gi* (X ) = |
|
|
gi(X ), если gi (X ) > 0. |
|
если
Равенство (6.25) определяет последовательность штрафных функций допустимого множества исходной задачи (проверьте!).
При определенных условиях последовательность решений задач безусловной минимизации (6.23), (6.25) сходится к решению x* задачи (6.24), поэтому для достаточно больших k полагают x*=x(k), F*=F(X(k)).
Критерием достижения требуемой точности решения задачи (6.24) может служить неравенство
||X(k)-X(k/2)||≤ε,
где ε>0 – число, характеризующее точность, k – четное число.
Если в задаче (6.24) F(X) – выпуклая квадратичная функция, а gi(X), i=1, … , m, - линейные функции, то точное решение вспомогательной задачи (6.23) можно найти из системы линейных уравнений dF(X)/dXj=0, j=1, … , n, определяющих стационарную точку функции Fk(X).
Пример.
Минимизировать −x1x2 при ограничениях
122
g1 ≡ +x1 + x22 −1 ≤ 0, g2 ≡ −x1 − x2 ≤ 0.
В качестве штрафной функции применим следующее
pi (gi ) = [(gi + |
|
gi |
|
) / 2]2 , |
p(X ) = ∑pi [gi (x)] и Pk(X)=k p(X ). |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
Тогда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(+x + x2 −1 + |
+ x + x2 −1 |
) |
2 |
|
(−x |
− x |
|
+ |
|
− x |
− x |
|
|
) |
2 |
||||||
|
|
|
|
|
1 |
2 |
|
1 |
2 |
|
|
|
|
|
|
|
|
||||||||
Ck (X ) = −x1 x2 |
+ k |
|
|
|
|
|
|
|
|
+ k |
1 |
|
2 |
|
|
1 |
|
2 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
2 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
будет функцией, минимизируемой методом внешней точки.
Рис. 47
Значение x(k) для примера
Таблица 39
|
k |
x1 (k) |
x2 (k) |
k1 |
1,0 |
0,89 |
0,64 |
k2 |
2,0 |
0,77 |
0,62 |
k3 |
3,0 |
0,73 |
0,61 |
k4 |
10,0 |
0,67 |
0,58 |
оптимум |
|
2 3 |
3 3 |
|
|
|
|
123
В таблице приведены значения x(k) для четырёх различных значений k.
Из рисунка видно, что при возрастании k они приближаются к оптимуму из недопустимой области.
Методы внутренней и внешней точки существенно отличаются друг от друга, и не только тем, что в одном из них движение происходит в допустимой области, а в другом - в недопустимой.
Метод барьерных функций.
В методе барьерных функций исходная задача НЛП также сводится к последовательности задач безусловной минимизации (6.23), но функции Pk(X) выбираются таким образом, чтобы при больших k функции Ck(X) из (6.23) мало отличались от F(X) во внутренних точках x допустимого множества U. В то же время при приближении точки X U к границе множества U эти функции должны неограниченно возрастать.
Определение. Пусть множество U εn задано. Последовательность функций {Pk (X )}, определенных во всех внутренних точках множества U,
называется последовательностью барьерных функций этого множества, если выполняются условия:
1. limk→∞ Pk (X ) = 0 для любой фиксированной внутренней точки x множества U.
2. limr→∞ Pk (X (r ) ) = +∞ для любой последовательности {X (r) }внутрен-
них точек множества U, сходящейся к какой либо граничной точке этого множества.
Рассмотрим некоторые варианты метода барьерных функций решения следующей задачи нелинейного программирования:
F(X) Æ min
Отформ
ширине, 14,2 пт,
нумеров 1 + Стил
3, … + Н
Выравни
Выровня
Табуляц Отступ: Поз.табу по левом
gi (X ) ≤ 0,i =1...,m. |
(6.26) |
||||||
Положим |
|
|
|
|
|
|
|
P (X ) = |
1 |
p(X ), k=1, 2…, |
(6.27) |
||||
|
|||||||
k |
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где |
|
|
|
|
|
|
|
p(X ) = ∑im=1 |
|
gi( x) |
|
−k , k >0 |
(6.28) |
||
|
|
||||||
или |
|
|
|
|
|
|
|
124 |
|
|
|
|
|
|
|
p(X ) = −∑im=1ln[− gi( x) ] |
(6.29) |
Выражения (6.27) – (6.29) определяют последовательности барьерных функций допустимого множества U задачи (6.26) (проверяйте!).
Пусть X(k) – решение задачи безусловной минимизации (6.23), где функция Pk(X) определена равенствами (6.27), (6.28) или (6.29). Полагая
X * ≈ X (k ) , F* ≈ F(X (k ) ) для достаточно большого k, находим приближен-
ное решение задачи нелинейного программирования (6.24) методом барьерных функций. Для контроля достигнутой точности решения можно использовать критерий (6.4).
Пример. Минимизировать X1 + X 2 при ограничениях
g1 = +X12 − X 2 ≤ 0,
g2 = −X1 ≤ 0 .
В качестве функции p(gi) возьмём логарифмическую функцию. Обозна-
m
чим 1/k=r. Тогда Pr(X))=rp(X), p(X )= −∑ln(−gi (X )) .
n=1
C(X ,r) = X1 + X2 −r ln(−X12 + X2 ) −r ln X1 .
Этот простой пример можно решать аналитически, учитывая, что С(X, r) дважды дифференцируема. Необходимые условия первого порядка принимают вид:
1 + |
|
r(2X1 ) |
|
− |
|
r |
|
= 0 , |
|
|
|
|||
− X12 + X |
2 |
X |
1 |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|||||||
1 − |
|
|
r |
|
= 0 . |
|
|
|
|
|
|
|
|
|
|
− X 12 + X 2 |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
Решая эту систему, получаем |
|
|
||||||||||||
X1 (r) = |
−1± 1+8r |
. |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
||||||||
|
|
4 |
|
|
|
|
|
|
|
|
|
|
||
Поскольку значение X1 (r) |
должно быть положительно, будем рассмат- |
|||||||||||||
ривать лишь один корень |
X1 (r) = |
−1 |
+ 1+8r . Тогда |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
4 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
X 2 (r) = |
(−1 + 1 + 8r )2 |
+ r . |
|
16 |
|||
|
|
Эти значения X1(r) и X2(r) удовлетворяют достаточным условиям и поэтому дают локальный минимум задачи.
Втаблице приведены вычисленные значения X(r) для четырёх различных
r. Этот пример изображён на рисунке. В пределе при rk→0 минимизирующие точки приближаются к решению (0,0).
Значения r и x(r) из примера
Таблица 40
|
r |
X1 (r) |
X 2 (r) |
r1 |
1,000 |
0,500 |
1,250 |
r2 |
0,500 |
0,309 |
0,595 |
r3 |
0,250 |
0,183 |
0,283 |
r4 |
0,100 |
0,085 |
0,107 |
В этой задаче при каждом значении r существует только один локальный минимум. Это происходит так потому, что исходная задача имела единственное решение. Оказывается, что в задачах со многими локальными минимумами (при выполнении вышеупомянутого условия регулярности Слейтера) существует последовательность безусловных локальных минимумов, сходящаяся к каждому из условных локальных минимумов [24,1,12,22].
Рис. 48
126
На рисунке показан пример решения задачи с помощью безусловной логарифмической функции. Допустимая область заштрихована.
6.12. Метод скользящего допуска
Метод скользящего допуска применяется при общей постановке задачи нелинейного программирования:
Минимизировать F(X ), Х Еn при ограничениях
hi (X ) = 0 |
i =1,...., m |
gi (X ) ≥ 0 |
i = m +1,..., p |
Где функции F(X ), hi (X ), gi (X ) могут быть как линейные, так и не-
линейные. Алгоритм скользящего допуска позволяет улучшить значения целевой функции как за счет информации, получаемой в допустимых точках пространства решения, так и за счет информации, которую удается получить при прохождения через точки, лежащие вне допустимой области, но близкие к допустимым. Интервалы, в пределах которых точки можно считать почти допустимыми, в ходе поиска постепенно сокращаются, так что в пределе (по мере приближения к искомому решению) учитываются только допустимые
точки {Х}.
В качестве метода получения последовательности точек, улучшающих значение целевой функции, используется метод Нелдера-Мида (см. п.6.4). При такой стратегии задачу можно заменить более простой, но имеющей то
же самое решение задачей минимизации F(X ), Х Еn при ограничениях
Ф(к) −Т(Х) ≥ 0 ,
где Ф(к) - значение критерия скользящего допуска на к-м этапе;
Т(Х) - мера степени нарушения ограничений рассматриваемой задачи.
Вкачестве Ф выбирают положительно определенную убывающую функцию координат вершин деформируемого многогранника Нелдера и Мида.
Функция Ф служит критерием допуска для нарушения ограничений задачи и прекращения процедуры оптимизации.
Варианты выбора Ф многочисленны.
Например:
127