Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы оптимизации алгоритмические основы задач оптимизации. Курс лекций
.pdf
нентой штрафной функции может быть ln (gj(x)). Для ограничений-
,0,
.
gx hx
равенств внутренние штрафные функции обычно не применяются.
Внешние функции могут быть показательными или степенными.
Они чаще всего строятся на базе следующей функции:
0, 0;
gx
≥
()
x
ϕ=
()
j
i
gx gx
−<
() ()
ii
(3.10)
или
=
() ()
ii
В штрафную функцию входят чаще всего четные степени указанных функций. Применение штрафных функций различных типов
приводит к различным скоростям сходимости алгоритмов для различных исходных данных и вида функций f(x), g
(x), hi(x). Структура
j
же алгоритма при этом не меняется. Поэтому в качестве иллюстрации метода рассматривается только так называемый квадратичный
штраф, где
F(x) = f(x) +
1
C(k) (Σφ
2
2
(x) + Σφ
i
2
(x)). (3.11)
j
В качестве C(k) применяется следующая последовательность:
k – 1
C(k) = β
,
где β = (4...10).
Недостатком метода штрафных функций является необходимость
быстрого роста последовательности C(k) для обеспечения приемлемой скорости сходимости метода (относительно небольшого числа
итераций для достижения условного минимума). Но при больших
значениях C(k) функция F
(x) имеет овражный характер, что, в свою
k
очередь, замедляет сходимость алгоритмов поиска безусловного минимума и требует их усложнения. Поиск компромисса в этой ситуации привел к комбинации методов.
Метод назван так потому, что в нем используются множители Лагранжа. Однако вместе с тем используется и штрафная функция
3.2.4. Метод множителей
.
41

Предположим вначале, что ограничения заданы только системой
()
hx
min
x
равенств h(x) = 0. Таким образом, как и раньше, обозначим вектор с
компонентами h
(x) = 0, i = 1, m.
i
Запишем модифицированную функцию Лагранжа, добавив в нее
штрафную функцию в виде квадратичного штрафа:
L
где ||h(x) ||
(x, λ) = f(x) – λ (k)Th(x) +
k
2
=
∑
2
;
i
i
1
C(k) ||h(x) ||2, (3.12)
2
λ (k) – вектор множителей;
C(k) – возрастающая числовая последовательность;
k – индекс итерации.
Подобно методу штрафных функций решается последователь-
ность задач поиска безусловного минимума:
Lk(x, λ (k)),
где C(k) вычисляется по одной из двух формул: C(k) = k C(k – 1) или
C(k) = β (β = 4...10), а расчет множителей производится в соответствии с выражением
λ(k) = λ(k – 1) – C(k – 1) h(x
*
Здесь, как и раньше, через x
минимума функции L
k–1
(x, λ) на (k – 1)-й итерации. Точка эта, в свою
(k – 1) обозначена точка безусловного
*
(k – 1)). (3.13)
очередь, является начальной точкой поиска на k-й итерации.
Поскольку последовательность C(k) возрастает относительно медленно, а функции h
шой штраф не дает возможности найти минимум функции L
последовательности λ
(x*(k)) стремятся к нулю (в противном случае боль-
i
(x, λ)), то
k
(k) сходятся к некоторым числам.
i
Решение задачи, как и в методе штрафных функций, фиксируется
по условию
*
|| x
(k) – x*(k – 1) || < εx.
Пусть теперь среди ограничений имеются также и неравенства
g
(x) ≥ 0. Преобразуем их в эквивалентные равенства:
j
42
(x, z) = gj (x) – z
g
i
2
= 0.
j

Тогда модифицированная функция Лагранжа будет иметь вид
T
g
T
g
()
((,)) max[0, () ].
()
k
Ck
C(k) ||
1
C(k) || h(x) ||2 –
2
(x) ||2, (3.14)
L
(x, z, λ, μ) = f(x) – λT(k)h(x) +
k
– μ
T
(k)
(x) +
1
2
где μ(k) – вектор множителей μ
вах
g
(x).
j
Аналогично формуле (3.13) для расчета μ
μ
(k) = μj(k – 1) – C(k – 1) g (x*(k – 1)). (3.15)
j
Итак, требуется решить последовательность задач минимизации
модифицированной функции Лагранжа:
min L
(x, z, λ, μ) по x и z для k = 1, 2, ... .
k
Но минимум по z, если считать x параметром, можно найти аналитически в явном виде, записав соответствующие частные производные и приравняв их к нулю. Эта процедура представлена в прил. 4.
В результате указанных операций получим вектор z
рации, компоненты которого рассчитываются по формуле
*2
zk j g x
(k) (j = 1, r) при фиктивных равенст-
j
(k) запишем:
j
*
μ
j
=−
j
(3.16)
(k) на k-й ите-
Подставив это выражение в формулу (3.15), где
z
(x*(k – 1)) = gj(x*(k – 1)) – (z
g
j
*
(k – 1) = z
j
получим
μ
(k) = max [ 0, μ j(k – 1) – C(k – 1)gj(x*(k – 1))]. (3.17)
j
То же самое значение z
дифицированной функции Лагранжа.
Отметим, что общим приемом для последних трех методов является запись некоторой вспомогательной функции, которая называется целевой функцией.
*
(k – 1))2;
*
(x*(k – 1)),
j
*
(k) нужно подставить в формулу для мо-
j
j
43

3.2.5. Иллюстрация работы методов для функции
5
10
ddL
x
f
x
одного аргумента
2
Пусть задана функция f(x) = (x – 5)
и ограничение g(x) = x – 10 ≥ 0.
Очевидно (рис. 3.2), что здесь условный минимум x
*
= 10.
(x)
Рис. 3.2. Графическое определение условного минимума
0)(=xg
Рассмотрим определение условного минимума приведенными
выше методами.
Метод Лагранжа
Целевая функция есть функция Лагранжа для задачи с неравенст-
вами
L(x, μ) = (x – 5)
2
– μ (x – 10). (3.18)
Условиями минимума являются условия Куна – Таккера:
= 2(x – 5) – μ = 0;
μ(x – 10) = 0; (3.19)
μ ≥ 0;
g(x) ≥ 0.
44

Второе уравнение справедливо либо при μ = 0, либо при x – 10 = 0.
,0.
1
2
d()
Fx
x
5
2
Пусть μ = 0. Тогда из первого уравнения следует x = 5. Но при
этом значении x очевидно, что g(x) < 0, т.е. условия Куна – Таккера
не выполнены.
Пусть тогда μ > 0. Из второго уравнения следует x = 10, что дает
g(x) = 0. Тогда из первого уравнения получаем μ
Куна – Таккера выполнены, а поскольку найденная точка единственная, то x
*
= 10.
= 10. Все условия
Метод штрафных функций (квадратичный штраф)
Целевая функция имеет вид
F
(x) = (x – 5)2 +
k
1
C(k) φ2(x),
2
где
0, 0;
gx
≥
x
ϕ=
()
Выберем начальную точку x(0) = x° (1) = 4; C(k) = 5
()
gx g x
−<
() ()
i
(3.20)
k – 1
; ε = 0,5.
Покажем последовательные шаги алгоритма (итерации), заменив
численный метод поиска безусловного минимума на k-м шаге аналитическим расчетом. При записи выражения для целевой функции на
каждом шаге проверяем знак g(x) и в зависимости от него пишем соответствующее выражение для φ (x):
k = 1; x° (1) = 4; C(1) = 1; g(4) < 0;
F
Проверяем условие останова: x
Продолжаем операции алгоритма.
k = 2; x° (2) = 6,67; C(2) = 5; g(6,67) < 0;
F
(x) = (x – 5)2 +
1
1
= 2(x – 5) + (x – 10) = 0, отсюда x*(1) = 6,67.
(x – 10)2;
d
*
(1) – x° (1) = 6,67 – 4 > ε.
(x) = (x – 5)2 +
2
(x –10)2;
45

d()
Fx
x
25
2
d()
Fx
x
125
2
d()
Fx
x
2
= 2(x – 5) + 5(x – 10) = 0, отсюда x*(2) = 8,57.
d
Проверяем условие останова: x
*
(2) – x*(1) = 8,57 – 6,67 > ε.
k = 3, x° (3) = 8.57; C(3) = 25; g(8,57) < 0;
F
3
(x) = (x – 5)2 +
3
= 2(x – 5) + 25(x – 10) = 0, отсюда x*(3) = 9,63.
(x – 10)2;
d
Проверяем условие останова: x
*
(3) – x*(2) = 9,63 – 8,87 > ε.
k = 4, x° (4) = 9,63; C(4) = 125; g(9,63) < 0;
F
4
(x) = (x – 5)2 +
4
= 2(x – 5) + 125(x – 10) = 0, отсюда x*(4) = 9,92.
(x – 10)2;
d
Проверяем условие останова: x
Условие останова выполнено. Минимум фиксируется в точке x =
*
(4) = 9,92. Иллюстрация процесса поиска приведена на рис. 3.3.
= x
*
(4) – x*(3) = 9,92 – 9,63 < ε.
Рис. 3.3. Иллюстрация поиска минимума методом штрафных функций
46

Замечание 3.1. Как следует из рис. 3.3, чем больше индекс итера-
(, ) ( 5) ()( 10 max[0, 10 ])
k
Ck
k
Ck
k
Ck
k
Ck
k
Ck
k
Ck
ции k, тем более «крутой» становится функция F
области. Если бы начальная точка поиска безусловного минимума
выбиралась произвольно, градиент в этой точке мог бы быть недопустимо большим, что привело бы к неустойчивости процесса поиска. При больших значениях C(k) профиль функции F
минает овраг. Это приводит к неустойчивости работы алгоритмов
поиска и может вызвать преждевременный останов далеко от точки
минимума. Именно поэтому в качестве начальной точки k-й итерации выбирается точка минимума (k – 1)-й итерации. На рис. 3.3 видно, что эта точка находится близко от будущего минимума, причем
на достаточно пологом участке целевой функции, что обеспечивает
не слишком большой градиент.
Метод множителей
(x) вне допустимой
k
(x) явно напо-
k
Целевая
C(1) = 1; C(k) = kC(k – 1); (k = 2, 3, ...); x
Покажем последовательные шаги алгоритма, заменив так же, как
и раньше, численный поиск безусловного минимума аналитическим
расчетом. Для удобства дифференцирования функции «max» представим ее в виде двух строк:
max [0, x – 10 –
max [0, x – 10 –
Производная по x от этой функции будет равна:
–
функция есть модифицированная функция Лагранжа:
()
k
μ= − −μ − − − − +
Lx x kx x
k
1()
+−−−−
Ck x x
()( 10 max[0, 1 ]);
2()
μ(1) = 1; μ(k) = max [0, μ(k – 1) – C(k – 1)g(x
2
μ
Ck
μ
()
] = 0, если x – 10 –
k
2
(1) = 4; ε = 0,5.
()
μ
()
] = x –10 –
()
по верхней строке 0, если x –10 –
μ
()
, если x – 10 –
()
μ
()
< 0;
μ
Ck
()
*
(k – 1))]; (3.21)
μ
()
< 0;
()
μ
()
≥ 0.
()
()
47

k
Ck
μ
d()
d
Lx
x
d()
d
Lx
x
d()
Lx
x
d()
Lx
x
– по нижней строке 1, если x –10 –
()
≥ 0.
()
Учтем, что после подстановки значения μ(k) на k-й итерации все
функции будут зависеть только от x.
Итак, начнем с первого шага:
k = 1; μ (1) = 1; C(1) = 1; x° (1) = 4;
L
L
=(
(x) = (x – 5)2 – (x – 10) + 0,5 (x – 10 )2 , x < 11;
1
(x) = (x – 5)2 – (x – 10 – (x–11)) +0,5(x – 10 – (x – 11))2 =
1
x – 5)
2
– 0,5; x ≥ 11.
Для каждого из этих выражений после их дифференцирования
имеем следующие уравнения для определения минимума функции
Лагранжа:
Заметим, что для нижней строки решения не существует. Для
верхней же строки имеем x
1
= 2(x – 5) – 1 + (x – 10) = 0, x < 11;
1
= 2(x – 5) = 0, x ≥ 11.
*
(1) = 7 < 11. На последующих шагах эта
ситуация повторяется, поэтому будем записывать решение без отдельных комментариев.
Далее следует проверка условия останова: x
*
(1) – x° (1) = 7 – 4 > ε.
k = 2; μ (2) = max[0, 1 – 1· (–3)] = 4; C(2) = 2 · 1 = 2; x° (2) = 7;
L
L
2
= (
(x) = (x – 5)2 – 4(x – 10) + 2 · 0,5 (x – 10 )2; x < 12;
2
(x) = (x – 5)2 – 4(x – 10 – (x – 12)) + 2 · 0,5(x – 10 – (x – 12))2 =
2
= 2(x – 5) – 4 + 2(x – 10) = 0; x < 12;
x – 5)
2
– 4; x ≥ 12;
d
2
= 2(x – 5) = 0, x ≥ 12.
d
Решением является x
Проверка условия останова: x
*
(2) = 8,5 < 12.
*
(2) – x*(1) = 8,5 – 7 > ε.
48

d()
Lx
x
d()
Lx
x
d()
d
Lx
x
d()
Lx
x
k = 3; μ(3) = max[0,4 – 2(–1,5)] = 7; C(3) = 3 · 2 = 6; x° (3) = 8,5;
L
L
(x) = (x – 5)2 – 7(x – 10 – (x – 11,17)) + 6 · 0,5(x – 10 – (x – 11,17))2 =
3
= (
(x) = (x – 5)2 – 7(x – 10) + 6 · 0,5 (x – 10)2; x < 11,17;
3
2
x – 5)
+0,03, x ≥ 11,17;
3
= 2(x – 5) – 7 + 6(x – 10) = 0, x < 11,17;
d
3
= 2(x – 5) = 0, x ≥ 11,17.
d
Решением является x
Проверка условия останова: x
*
(3) = 9,63 < 11,17.
*
(3) – x*(2) = 9,63 – 8,5 > ε.
k = 4; μ(4) = max[0,7 – 6(–0,37)] = 9,22; C(4) = 4·6 = 24; x° (4) = 9,63.
L
L
– (
(x) = (x – 5)2 – 9,22(x – 10) + 24 · 0,5 (x – 10)2; x < 10,384;
4
(x) = (x – 5)2 – 9,22(x – 10 – (x–10,384)) + 24 · 0,5(x – 10 –
4
x – 10,384))
4
= 2(x – 5) – 9.22 + 24(x – 10) = 0, x < 10,384;
2
= (x – 5)2 – 0,0015, x ≥ 10,384;
4
= 2(x – 5) = 0, x ≥ 10,384.
d
Решением является x
Проверка условия останова: x
*
(4) = 9,97 < 10,384.
*
(4) – x*(3) = 9,97 – 9,63 < ε.
Условие останова выполнено. Минимум фиксируется в точке x = 9,97.
Сравним эффективность метода квадратичного штрафа и метода
множителей.
В табл. 3.1 представлены значения целевых функций F
L
(x, μ) для третьей итерации (k = 3).
k
x 6 7 8 9 9,63 10
F3(x) 201 116,5 59 28,5 23,15 25
L3(x, μ)
Из табл. 3.1 следует, что функция L
функция F
77 52 35 26 24,44 25
(x, μ) более пологая, чем
3
(x). Это, разумеется, справедливо для каждой итерации. По-
3
(x) и
k
Таблица 3.1
49

этому устойчивость работы алгоритма поиска безусловного минимума
220;
12 0;
0;
0;
0;
0;
0;
26 0;
60.
более высокая в методе множителей. Кроме того, точка условного минимума x
*
= 9,97 ближе к точному значению x = 10, чем точка x* = 9,92,
найденная методом квадратичного штрафа при одинаковом значении
точности ε.
3.2.6. Пример применения условий Куна – Таккера
для функции двух переменных
функция f(x) = x
Дана
x
Запишем значения функций h
2
– x2 и система ограничений:
1
+ x2 = 6; x1 ≥ 1; x
1
(x) и gj(x):
i
1
2
+ x
2
≤ 26.
2
h
g
(x) = x1 – 1 ≥ 0; g2(x) = 26 – x
1
(x) = x1 + x2 – 6 = 0;
1
1
2
– x
2
≥ 0.
2
Функция Лагранжа:
L(x, λ, μ) = (x
2
– x2) – λ1(x1 + x2 – 6) – μ1(x1 – 1) – μ2(26 – x
1
1
2
– x
2
).
2
Условия Куна – Таккера:
Lx
d()
1)
d
x
Lx
d()
2)
d
x
μ=
3)
(
1
4)
μ=
(
2
μ≥
5)
1
6)
μ≥
2
x −
7)
(
1
8)
9)
xx+−=
12
xx
=−λ−μ+μ=
1
2
x −
26 xx
111 21
=− −λ + μ =
1
1
−−
1
≥
)
22
xx−−≥
12
122
)
22
)
12
x
(3.22)
Замечание 3.2. Точка условного минимума может лежать либо на
одной из линий активных ограничений g
(x) = 0, либо на их пересе-
j
чении (если оно имеется). В этом случае соответствующие множители μ
> 0. Если все μj равны нулю, то все ограничения-неравенства
j
являются пассивными. При этом точка условного минимума лежит
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
