Теория системного анализа и принятия решений. Курс лекций
.pdf
При оптимизации с ограничениями необходимо учитывать их влияние на поиск точек экстремума. Для этого вводятся коэффици- енты чувствительности
λ= ∂f . ∂g
Перепишем это выражение в виде:
∂f − λ∂g = 0.
Перейдя к частным производным по всем переменным, получим систему
∂ ( f − λg) = 0, j = 1,n .
∂xj
Полученные уравнения вместе с ограничениями задачи g(X) = 0 формируют систему, которая позволяет определить допустимые век- торы X и λ, удовлетворяющие необходимым условиям стационарно- сти. Транспонированный вектор λ = (λ1, λ2 … λm)T называют вектором
множителей Лагранжа.
Описанный принцип составляет основу метода множителей Ла- гранжа, который позволяет определять стационарные точки задачи оптимизации с ограничениями в виде равенств. Обозначим выраже-
ние в скобках как функцию Лагранжа:
F(λ, X ) = f (X ) − λg(X ),
или в скалярном виде:
m
F(λ, X ) = f (X ) − ∑λi gi (X ).
i=1
Для определения стационарных точек отыщем градиент. В нашем случае это пара систем:
∂F(λ, X ) = 0;
∂X
∂F(λ, X ) = 0.
∂λ
41
Для проверки найденных точек на экстремальность используется
окаймленная матрица Гессе:
|
0 |
P |
|
H B = |
|
|
, |
PT |
H |
|
|
где 0 = 
0
m×m – нулевая квадратная матрица, размерность которой соответствует числу множителей Лагранжа;
P = |
|
|
∂gk ( X ) |
|
|
|
|
|
– матрица градиентов граничных функций по |
|
|
|
∂xi |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
m×n |
|
|
|
|
|
|
|
|
|
|||||
переменным; |
|
|
||||||||
РТ – транспортированная матрица Р; |
||||||||||
H = |
|
|
∂2 F(λ, X ) |
|
– матрица Гессе по переменным. |
|||||
|
|
|
||||||||
|
|
∂xi |
∂xj |
|
||||||
|
|
|
|
n×n |
||||||
|
|
|
|
|
|
|
|
|
|
|
Условия экстремальности
Для некоторой точки Х0, подозрительной на экстремум, справедливо: 1 Х0 – точка максимума, если, начиная с углового минора порядка 2n + 1, последующие n – m угловых миноров НВ образуют знакопе- ременный числовой ряд, в котором знак первого члена определяется
множителем (–1)m + 1.
2 Х0 – точка минимума, если, начиная с углового минора порядка 2n + 1, последующие n – m угловых миноров НВ имеют знаки, опре- деляемые множителем (–1)m.
2.2.5 Оптимизация с ограничениями в виде неравенств
Для некоторой функции многих переменных f (X), где X = (х1, х2…xn), зададим границы поиска ее оптимального значения в виде системы не- равенств
g(X ) = (g1 (X ), g2 (X )…gm (X )) ≤ 0
или
g1 (X ) ≤ 0;...
gm (X ) ≤ 0.
По аналогии с методами решения задач ЛП ограничения- неравенства можно преобразовать в равенства с помощью неотри- цательных дополнительных переменных.
42
Пусть Si2 (≥ 0) – дополнительная переменная, которая прибавляется к левой части i-гo ограничения gi(X) ≤ 0, тогда пусть S = (S1 , S2 ,…Sm )T и
S 2 = (S 2 , S 2 , S 2 )T , где m – общее количество ограничений-
1 2 … m
неравенств. Тогда функция Лагранжа записывается в виде
L(X , S, λ) = f (X ) − λ [g(X ) + S2 ].
При ограничениях g(X) ≤ 0 необходимым условием оптимально- сти в задаче максимизации (минимизации) является неотрицатель- ность (соответственно, неположительность) множителей λ.
Вычисляя частные производные функции L по X, S и λ и прирав- нивая их к нулю, получаем необходимые условия Куна – Таккера:
∂L = f (X ) − λ g(X ) = 0;
∂X
∂L = −2λi Si = 0, i = 1,m; ∂Si
∂L = −[g(X ) + S 2 ] = 0.
∂λ
Указанные выше ограничения на вектор λ должны рассматривать- ся как часть необходимых условий Куна – Таккера.
Из второй группы уравнений следуют такие результаты:
1 Если λi ≠ 0, то Si2 = 0. Это означает, что i-е ограничение имеет вид равенства.
2 Если Si2 > 0, то λi = 0. Это значит, что i-е ограничение не влияет на значение целевой функции.
Из второй и третьей групп уравнений следует, что
λi gi ( X ) = 0, i = 1, m.
Полученные условия фактически подтверждают предыдущий ре- зультат, ибо если λi > 0, то gi(X) = 0. Аналогично при gi(X) < 0, λi = 0.
Теперь для задачи максимизации сформулируем условия Куна– Таккера, необходимые для того, чтобы векторы X и λ определяли стационарную точку:
λ > 0;
f (X ) − λ g(X ) = 0;
λi gi (X ) = 0, i = 1,m;
43
g(X ) ≤ 0.
2.2.6 Общий случай условной оптимизации
Требуется максимизировать или минимизировать z = f(X), при ог- раничениях
|
|
gi (X ) ≤ 0, i = |
1, r |
; |
|
|
|
|
|
|||
|
|
gi (X ) ≥ 0, i = |
|
; |
|
|
|
|||||
|
r + 1, p |
|
|
|
||||||||
|
|
gi (X ) = 0, i = |
|
. |
|
|
|
|||||
|
p + 1,m |
|
|
|
||||||||
При этом функция Лагранжа имеет вид |
|
|
|
|||||||||
|
|
|
r |
|
|
|
||||||
L(X , S,λ) = f (X ) − ∑λi [gi (X ) + Si2 ] − |
|
|||||||||||
|
|
|
i=1 |
|
|
|
||||||
p |
|
|
m |
|
|
|
||||||
− ∑ |
λi [gi (X ) − Si2 ] − ∑ λi gi (X ). |
|
|
|
||||||||
i=r +1 |
|
|
i= p+1 |
|
|
|
||||||
Условия оптимальности представлены в таблице 2.7. |
|
|||||||||||
Таблица 2.7 – Требования к компонентам функции Лагранжа |
|
|||||||||||
|
|
|
|
|
|
|
||||||
Тип |
|
|
Требуемые свойства |
|
||||||||
оптимизации |
|
f(X) |
|
|
gi(X) |
λi |
|
i |
||||
|
|
|
Выпуклая |
≥ 0 |
|
1 ≤ i ≤ r |
||||||
Максимизация |
|
Вогнутая |
|
Вогнутая |
≤ 0 |
|
r + 1 ≤ i ≤ p |
|||||
|
|
|
Линейная |
н.о. |
|
p + 1 ≤ i ≤ m |
||||||
|
|
|
Выпуклая |
≤ 0 |
|
1 ≤ i ≤ r |
||||||
Минимизация |
|
Выпуклая |
|
Вогнутая |
≥ 0 |
|
r + 1 ≤ i ≤ p |
|||||
|
|
|
Линейная |
н.о. |
|
p + 1 ≤ i ≤ m |
||||||
Примечание – н.о. – не определено. |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
2.3 Численные алгоритмы оптимизации
2.3.1 Методы прямого поиска
Методы прямого поиска применяются главным образом для опре- деления экстремумов функций одной переменной.
Общий принцип, лежащий в основе методов прямого поиска, за- ключается в следующем. Сначала определяется интервал неопреде- ленности, который содержит искомую точку оптимума. Затем длина интервала последовательно (по шагам) уменьшается до тех пор, пока
44
не будет найдена точка оптимума. Точнее не сама точка, а очень ма- лый интервал, в котором та находится.
Условием успешности поиска оптимального значения является наличие только одной точки экстремума на интервале неопределен- ности а ≤ х ≤ b (рисунок 2.6).
f(x) b(x)
f(x)
а |
b |
x |
Рисунок 2.6 – К определению интервала неопределенности
Для удобства алгоритмической реализации интервал неопреде- ленности обозначается Ii = [xL(i), xR(i)]. На начальном этапе интервал неопределенности имеет вид I0 = [xL(0), xR(0)] = (а, b). Тогда измене- ние длины интервала на каждом шаге логично определять за счет изменения одной из границ, или обеих границ сразу.
Для определения принципов изменения границ рассмотрим логику по- иска оптимальных значений. Определим такие x′L и x′R , что xL ≤ x′L < x′R ≤ xR.
Если f(x′R) > f(x′L), значит точка экстремума х* лежит где-то между x′L и xR (рисунок 2.7, а). Тогда положим xL(i + 1) = x′L(i) и получим новый интервал неопределенности Ii+1 = [x′L(i), xR(i)].
Если f(x′L) > f(x′R), значит точка экстремума х* лежит где-то между xL и x′R (рисунок 2.7, б). Тогда положим xR(i + 1) = x′R(i) и получим новый интервал неопределенности Ii+1 = [xL(i), x′R(i)].
Если f(x′L) = f(x′R), значит точка экстремума х* точно лежит где-то ме- жду x′L и x′R (рисунок 2.7, в). Тогда положим xR(i + 1) = x′R(i) и xL(i + 1) = = x′L(i) и получим новый интервал неопределенности Ii+1 = [x′L(i), x′R(i)].
Поскольку здесь на каждом шаге гарантировано Ii+1 < Ii, то в ре- зультате сужается интервал, в котором находится точка максимума функции f(x). Вычисления заканчиваются на некотором шаге m, ко- гда будет выполняться неравенство Im < , где – значение заранее заданной точности.
45
f(x)
f(x’R) f(x’L)
xL |
x’L |
x* x’R |
xR |
x |
а
f(x)
f(x’L) f(x’R)
xL |
x’L x* |
x’R xR |
x |
б
f(x)
f(x’L) f(x’R)
xL |
x’L x* |
x’R |
xR |
x |
в
Рисунок 2.7 – Процесс определения границ интервала неопределенности на следующей итерации поиска экстремума
Различие между методами прямого поиска «дихотомии» и «Золото- го сечения» заключается только в способе вычисления точек x′L и x′R.
В методе дихотомического поиска значения x′L и x′R симметрич-
ны относительно средней точки текущего интервала неопределенно- сти и отклоняются от нее на половину заданного значения точности (рисунок 2.8).
46
f(x′R)
f(x′L)
f(x) |
xR − xL |
|
2 |
x 'L = xR − xL −
2
x 'R = xR − xL +
2
xL |
x’L |
x’R |
x* |
xR |
x |
|
|
x′L x′R
Рисунок 2.8 – Метод дихотомического поиска
В методе «Золотого сечения» вычисления отталкиваются от гра- ниц интервала, и сравниваемые значения сохраняются (рисунок 2.9). Использовать значения прошлого шага позволяет специально подоб- ранное соотношение, именуемое «Золотым сечением», 0,618 : 0,382.
f(x) |
|
|
x 'L = xR |
− 5 − 1(xR − xL ) |
|||
|
|
|
|
|
2 |
|
|
f(x′L) |
|
|
x 'R = xL |
+ |
5 |
− 1 |
− xL ) |
|
|
|
|
(xR |
|||
|
|
|
|
|
2 |
|
|
f(x′R) |
|
|
|
|
|
|
|
|
|
0,618 |
|
|
|
|
|
|
|
0,618 |
|
|
|
|
|
xL |
x′L |
x′R x* |
xR |
|
|
|
|
Рисунок 2.9 – Метод «Золотого сечения»
На основании данного соотношения интервал сокращается таким образом, что одна из новых точек для сравнения обязательно совпа- дет со старой. Поэтому нет нужды пересчитывать одну из них.
В результате метод «Золотого сечения» требует в два раза меньше вычислений, чем метод дихотомического поиска, поскольку на каждом шаге используются вычисления, выполненные на предыдущем шаге.
Алгоритм метода «Золотого сечения»:
0:xR(0) = b, xL(0) = a;
1:x′L = b – 0,618(b – a), x′R = a + 0,618(b – a);
47
Если f(x′R)>f(x′L), тогда xL(i + 1) = x′L и xR(i + 1) = xR(i), а также x′L =
=x′R и x′R = xL(i+1) + 0,618(xR(i + 1) – xL(i + 1));
2:Если f(x′L) > f(x′R), тогда xR(i + 1) = x′R (i) и xL(i + 1) = xL(i), а так- же x′R = x′L и x′L = xR(i + 1) – 0,618(xR(i + 1) – xL(i+1));
Если f(x′L) = f(x′R), тогда xR(i + 1) = x′R (i) и xL(i + 1) = x′L(i), а также x′L = xR(i + 1) – 0,618(xR(i + 1) – xL(i + 1)) и x′R = xL(i + 1) + 0,618(xR(i + 1) –
–xL(i + 1));
3:Если xR(i + 1) – xL(i + 1) < , то расчет закончен, иначе перейти
кшагу 2.
Вслучае, если целевая функция является многомерной, использу- ется метод покоординатного спуска, когда задача сводится к после- довательной одномерной оптимизации по каждой координате при одновременной фиксации остальных координат.
2.3.2 Градиентные методы
Градиентный способ поиска еще называют методом наискорей- шего спуска. Метод основан на определении необходимого условия существования экстремума.
Для некоторой функции многих переменных f (X), где X = (х1, х2…xn), определим все частные производные.
Составим вектор частных производных, называемый градиентом
f (X ) = ( |
∂f |
, |
∂f |
, ... , |
∂f |
) . |
|
|
|
||||
|
∂x1 |
∂x2 |
∂xn |
|||
Точка X0 считается подозрительной на экстремум, если значение градиента в ней равно нулю. Отсюда и название «градиентный». В общем случае градиент указывает направление к точке экстремума.
Рассмотрим задачу максимизации функции f(X). Пусть X0 – на- чальная точка, f (Xk ) – градиент функции f в k-й точке Xk.
Идея метода сводится к определению в данной точке направления р, вдоль которого производная по направлению df/dp достигает сво- его максимума. Это происходит в том случае, когда последователь- ные точки Xk и Xk+1 связаны соотношением
Xk +1 = Xk + Γk f (Xk ) ,
где Гk – коэффициент ускорения (параметр шага), предназначен для обеспечения наискорейшего достижения точки экстрему- ма (откуда и название «наискорейший спуск»).
48
Обычно значение параметра Гk выбирается из условия, чтобы в точке Хk+1 наблюдалось максимальное увеличение (уменьшение) зна- чения целевой функции f.
Описанная процедура заканчивается, когда две последовательные точки Xk и Xk+1 близки. Это эквивалентно тому, что Г k f (X k ) ≈ 0 .
Поскольку Гk ≠ 0, это означает, что в точке Xk выполняется необ- ходимое условие экстремума f (X k ) = 0 .
Метод Ньютона – Рафсона основан на преобразовании необхо- димого условия существования экстремума.
Для некоторой функции многих переменных f(X), где X = (х1, х2…xn), определим все частные производные и, исходя из необходимого ус- ловия, составим из них систему, обозначив каждую производную как отдельную функцию:
∂f∂x1
∂f∂xn
=0
f1 (X ) = 0;
f (X ) = 0.
=0 n
Тогда отыскание оптимальных значений сводится к решению этой системы. Для упрощения решения этой системы разложим ка- ждую функцию в ряд Тейлора (до второго члена):
fi (X ) ≈ fi (Xk ) + fi (Xk )(X − Xk ) ,
тогда
fi (Xk ) + fi (Xk )(X − Xk ) = 0 .
Переходя к матричной форме, получим
Ak + Bk (X − Xk ) = 0 ;
X = Xk − Bk−1 Ak .
Идея метода Ньютона – Рафсона состоит в следующем. На первом шаге выбирается начальная точка Х0. С помощью полученного урав- нения по известной точке Xk можно вычислить координаты новой точ- ки Xk+1. Процесс вычислений завершается в точке Xm, которая считает- ся приближенным решением исходной системы, если Xm ≈ Xm+1.
49
X |
k +1 |
= X |
k |
− B−1 A . |
|
|
k k |
Интерпретация данного метода для функции одной переменной f(x) состоит в следующем. Связь между точками xk и xk+1 выражается формулой
x |
= x − |
f ′(xk ) |
. |
|
|||
k +1 |
k |
f ′′(xk ) |
|
|
|
||
Если сравнить с градиентным методом, получим xk +1 = xk − Γk f ′(xk ) ,
имеем
Γk = |
1 |
. |
|
||
|
f ′′(xk ) |
|
50
