1.4.8.Другие методы минимизации функций
сограничениями
Квадратичное программирование. Задачей квадратичного программирования называется задача, в которой квадратичная функция минимизируется на многогранном множестве: найти
|
|
|
1 |
|
|
|
|
|
|||||
min f (x) = a + b тx + |
|
x тQx |
, |
|||
2 |
||||||
|
|
|
||||
( Q – положительно определенная матрица) при ограничениях:
Ax ≤ G .
Такие задачи возникают в некоторых приложениях и, кроме того, часто возникают как вспомогательные при описании различных методов минимизации, в том числе метода линеаризации.
Оказывается, для задачи квадратичного программирования, как и для задачи линейного программирования, существуют конечношаговые методы их решения.
Метод Ньютона. Этот метод можно применять для задач с ограничениями; при этом направление поиска находится не явно, а получается в результате решения вспомогательной задачи. При этом формула итерационного процесса имеет стандартный вид:
xk +1 = xk + λk Sk ,
где вектор Sk = yk − xk и определяется из решения задачи минимизации на множестве X квадратичной функции
Ψk (x) =< f (xk ), x − xk > + 12 (x − xk )т Q(xk )(x − xk ) .
В последней формуле Q(xk ) – матрица Гессе.
Шаг λk может быть выбран различными способами, в
частности можно использовать способ, описанный в п. 1.3.3.3. Метод Ньютона, как правило, применяют в тех случаях, когда
вычисление первых и вторых производных не представляет особых трудностей и вспомогательная задача решается достаточно просто.
Метод покоординатного спуска. Описанный ранее метод покоординатного спуска не трудно модифицировать применительно
96
к задаче минимизации функции |
на параллелепипеде: найти |
||
min {f (x)} при ограничениях |
|
|
|
ai ≤ xi ≤ bi , |
i = |
|
. |
1, n |
|||
1.4.9.Способы определения начальной точки
Врассмотренных ранее методах минимизации требовалось в качестве начальной точки x0 выбрать некоторую допустимую
точку x0 X . Для X , таких, как, например, параллелепипед, шар, гиперплоскость, указать такую точку нетрудно. Однако нередко задача определения x0 является весьма непростой.
Например, если
X = {x : |
qi (x) = 0, |
i = |
|
|
}, |
(1.19) |
|
1, m |
|||||||
то для определения точки x0 X |
нужно |
решать систему |
|||||
уравнений (в общем случае нелинейных). |
|
||||||
Чтобы найти какую-либо точку множества |
|
||||||
X = {x : |
qi (x) ≤ 0, |
i = |
|
}, |
(1.20) |
||
1, m |
|||||||
придется решать систему неравенств, что представляет собой весьма серьезную задачу. Если ограничения qi (x) ≤ 0 линейны, то
для определения начальной точки можно использовать тот же прием, который используется в линейном программировании.
Задачу нахождения точки x0 , принадлежащей множествам
(1.19) или (1.20), можно переформулировать в виде задачи минимизации.
В случае множества (1.19) введем функцию
m
F(x) = ∑qi2 (x), x E n ,
i=1
ав случае множества (3.19) – функцию
97
F(x) = ∑m (max{qi2 (x), 0}) p , x E n , p ≥1,
i=1
и рассмотрим задачу минимизации: найти min F(x), x E n .
Эта задача решается любым из методов безусловной минимизации.
Если множество X не пусто, то условие x X равносильно условию F(x0 ) = min F(x) = 0 = F * .
Если F * > 0 , то X – пустое множество.
Контрольные вопросы и задачи [60]
Задача 1. Найти минимум функции |
f (x) = x2 − 4x |
при ограничении |
|
g1 (x) = x −1 ≤ 0 методом штрафных функций. |
|
|
|
Задача 2. Найти минимум функции |
f (x) = x2 |
+ x2 |
при ограничениях |
|
1 |
2 |
|
g1 (x) = −x1 +1 ≤ 0, g2 (x) = x1 + x2 − 2 ≤ 0 методом штрафных функций.
Задача |
3. |
Найти минимум |
функции |
f (x) = 1 (x +1)3 + x |
2 |
при |
||||
|
|
|
|
|
3 |
1 |
|
|
|
|
|
|
g1 (x) =1 − x1 ≤ 0, |
g2 (x) = −x2 |
≤ 0 |
|
|
|
|
|
|
ограничениях |
методом барьерных |
|||||||||
функций (применить обратную штрафную функцию). |
|
|
|
|
|
|
||||
Задача 4. Для задачи минимизации функции |
f (x) = (x −6)2 +(x −2)2 |
|||||||||
|
|
|
|
|
1 |
|
|
2 |
|
|
при ограничениях − x1 + 2x2 ≤ 4, |
3x1 + 2x2 ≤12, − x1 ≤ 0, |
− x2 ≤ 0 |
||||||||
указать множество возможных направлений в точке B = (2,3) . |
|
|
|
|
||||||
Задача 5 |
Найти минимум функции f (x) = (x |
− 4)2 + (x |
2 |
−5)2 |
|
при |
||||
|
|
|
|
1 |
|
|
|
|
|
|
ограничении g1 (x) = x1 + x2 −1 = 0 методом проекции градиента.
98
Г л а в а 2
НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
ВПРИКЛАДНЫХ ЗАДАЧАХ ОПТИМИЗАЦИИ
2.1.Применение нелинейного программирования
втеоретико-игровых методах исследования сложных систем
2.1.1. Теоретические предпосылки решения матричных игр
Матричной игрой будем называть антагонистическую игру [39], в которой каждый игрок имеет конечное множество стратегий.
Антагонистической игрой J,{Si}i J ,{Hi}i J называется
игра, в которой число игроков равно двум, а значения функции выигрыша этих игроков в каждой ситуации равны по величине и противоположны по знаку:
J {1,2}, |
H2(s) H1(s), |
s S . |
Такая игра задается прямоугольной матрицей
A |
aij |
, |
i |
1,m |
, |
j |
1,n |
, |
где aij – значение выигрыша игрока 1, если он выбрал свою i-ю
стратегию, а игрок 2 выбрал свою j-ю стратегию. Данная игра называется игрой размерности (m n), а матрица А – платежной
матрицей.
Если игрок 1 выбирает номер строки i , а второй – j , то в результате выбора игроками независимых стратегий игрок 2 платит игроку 1 выигрыш aij . Следовательно, игрок 1 может гарантиро-
вать себе выигрыш не менее значения: v |
maxmin a |
ij |
– нижняя |
1 |
i j |
|
цена игры, а второй гарантировать себе проигрыш не более вели-
чины v2 |
minmaxaij – верхняя цена игры. В общем случае |
|
j i |
v1 v v2 .
99
Если min max aij = max min aij |
= a |
* |
* = v , то в такой игре мини- |
||
j i |
i |
j |
i |
j |
|
максные стратегии i* и |
j* |
являются оптимальными, так как реше- |
|||
ния о принятых стратегиях игроков получены независимо. В этом случае решение игры является ситуациями равновесия, а стратегии
i* и j* называются чистыми стратегиями.
Если min max aij ≥ max min aij , то в игре нет ситуации равнове- |
|
j i |
i j |
сия в чистых стратегиях. Для разрешения данной ситуации вводятся смешанные стратегии игроков.
Смешанной |
стратегией игрока 1 называется вектор |
||
X = (x , ..., x |
m |
)т , |
удовлетворяющий условиям: |
1 |
|
|
|
m |
|
|
|
∑xi |
=1, xi ≥ 0, i = |
1, n |
, |
i=1 |
|
|
|
где число xi – вероятность, с которой игрок 1 выбирает свою i -ю
чистую стратегию. Величина
m n |
|
H (X ,Y ) = ∑ ∑aij xi y j = X т AY |
(2.1) |
i=1 j=1
представляет собой математическое ожидание выигрыша 1-го игрока в ситуации (X ,Y ) .
Ситуация (X * , Y * ) называется ситуацией равновесия в сме-
шанном расширении матричной игры, если для любых X и Y выполняются неравенства
|
H (X ,Y * ) ≤ H (X * ,Y * ) ≤ H (X * ,Y ) . |
(2.2) |
В матричной игре может быть несколько ситуаций равновесия. |
||
Можно доказать следующее свойство. |
|
|
Пусть |
X * Sm , Y * Sn , v – действительное число, тогда для то- |
|
го чтобы |
X * ,Y * были оптимальными стратегиями, а v – ценой иг- |
|
ры, необходимо и достаточно, чтобы выполнялись соотношения
100