
- •Тема 1. ОБЩИЕ СВЕДЕНИЯ О МЕТОДАХ ОПТИМИЗАЦИИ
- •1.1. Основные понятия и определения. Постановка задачи
- •Тема 2. МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
- •2.2. Определение выпуклости функций
- •2.3. Типы задач математического программирования
- •Тема 3. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
- •3.2. Графическая интерпретация задачи линейного программирования
- •3.3. Симплекс-метод решения задач ЛП
- •3.4. Симплекс-таблицы
- •3.5. Метод искусственного базиса
- •3.6. Информационные технологии линейного программирования
- •3.7. Двойственная задача линейного программирования
- •3.8. Двойственный симплекс-метод
- •3.9. Целочисленное линейное программирование
- •Тема 4. ЭКСТРЕМАЛЬНЫЕ ЗАДАЧИ БЕЗ ОГРАНИЧЕНИЙ
- •4.1. Одномерная минимизация унимодальных функций
- •4.2. Поиск безусловного экстремума функций многих переменных
- •5.1. Метод неопределенных множителей Лагранжа
- •5.2. Теорема Куна-Таккера
- •5.3. Квадратичное программирование
- •5.4. Метод допустимых направлений Зойтендейка
- •ТЕМА 6. МЕТОДЫ ЛИНЕАРИЗАЦИИ В РЕШЕНИИ ЗАДАЧ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
- •6.1. Метод линейных комбинаций
- •6.2. Метод отсекающих плоскостей Кэлли
- •6.3. Сепарабельное программирование
- •ТЕМА 7. МЕТОДЫ ОПТИМИЗАЦИИ УПРАВЛЕНИЯ
- •7.1. Дискретное динамическое программирование
- •7.3. Принцип максимума Понтрягина
- •ЛИТЕРАТУРА

5.4. Метод допустимых направлений Зойтендейка
Метод допустимых направлений Зойтендейка пригоден для решения задач с достаточно сложными функциями цели и ограничениями. Рассмотрим последовательность решения нелинейной задачи с линейными ограничениями, когда экс-
тремум |
достигается на границе области допустимых значений переменных |
(ОДЗП). |
Предполагается, что F(x) имеет непрерывные частные производные в |
каждой точке допустимой области
max{F ( x) Ax £ B, xi ³ 0,i =1, n, x0 Î X }.
Из начальной точки x0, лежащей внутри ОДЗП, движение осуществляется по направлению вектора градиента ÑF (x0 ) до тех пор, пока не будет достигнута граница области (рис. 5.2).
В общем случае двигаться до границы необязательно, так как максимум F(x) может достигаться и до встречи с ней. В рассматриваемом случае F(x) все время возрастает, поэтому остановитьcя следует в точке x1 на граничной прямой.
Определим аналитически координаты точки x1. Они зависят от величины шага a0 в направлении вектораÑF (x0 ) и записываются как x1 = x0 + a0ÑF (x0 ) .
Значение a0 выбирается таким образом, чтобы точка x1 принадлежала ОДЗП и,
кроме того, функция цели F(x) должна достигать максимума по параметру a0 в рассматриваемом направлении.
Ограничения Ax £ B |
|
|
T |
|
|
|
|
|
представим |
в |
x £ b |
|
, j = 1, m , где |
||||
видеa |
j |
|||||||
|
|
|
j |
|
|
|
|
aTj = [a j1, a j 2 ,...,a jn ] является j-й строкой матрицы А. Подставляя координаты точ-
ки x1 в ограничения задачи, получим систему неравенств
ì |
T |
[x |
0 |
|
0 |
ÑF (x |
0 |
)] £ b j |
, |
||
ïa j |
|
+ a |
|
||||||||
í |
0 |
|
|
0 |
|
|
0 |
|
|
|
(5.14) |
ï |
|
|
ÑF (x |
) ³ 0. |
|
||||||
îx |
|
+ a |
|
|
Решение системы (5.14) дает интервал [a0 |
, a0 |
] возможных значений a0 |
, при |
1 |
2 |
|
|
которых точка x1 будет принадлежать ОДЗП. |
Далее определяется значение a0* , |
максимизирующее F (x) . Для этого координаты x1 подставляются в функцию цели
и решается уравнение |
¶F |
= 0 . Если a0* Î[a10 ,a20 ] , |
то выбирается a0 = a0* ; если |
|
|
|
¶a0 |
|
|
a0* Ï[a0 |
, a0 ], то принимается, что a0 =a0 , т.е. его полагают равным граничному |
|||
1 |
2 |
2 |
|
|
значению интервала. При этом очередная точка x1 |
поисковой траектории оказы- |
вается на границе области, как и показано на рис. 5.2.
86

ÑF (x3 )
Fmax |
|
|
|
|
|
S3 |
S2 |
ÑF (x2 ) |
|
F2 > F1 |
x3=x* |
x |
2 |
|
|
ÑF (x1 ) |
F1 |
> F0 |
S1 |
|
x1 |
|||
|
|
x0 |
ÑF(x0 ) |
F0 |
|
Рис. 5.2. Геометрическая интерпретация процесса решения задачи с линейными ограничениями
Выбор направления S k следует осуществлять по двум требованиям:
1) очередная точка должна принадлежать ОДЗП, т.е. aTj xk +1 £ b j ;
2)функция цели при переходе из
xk в xk +1 должна не просто увеличи-
ваться, а увеличиваться максимальным образом.
Зойтендейк предложил
лять направление S k путем решения следующей вспомогательной задачи МП:
max{ÑF (xk )T S k aTj S k £ 0, j Ï J}.
Здесь индекс j соответствует границе ОДЗП, достигнутой на предыдущем шаге, т.е. aTj xk = b j , а условие aTj S k £ 0 означает, что направление предыдущего ша-
га должно быть изменено и идти либо внутрь, либо по границе ОДЗП. Направление S k , удовлетворяющее этим условиям, называется допустимым. На величину вектора S k накладываются дополнительные ограничения, называемые условиями нормализации. Одна из разновидностей условий нормализации записывается следующим образом
S k = å(Sik )2 £ 1.
|
Когда допустимое направление S k в точке xk |
найдено, выбирается длина со- |
|||||
ответствующего шага ak . Для этого вычисляется значение ak , при котором пере- |
|||||||
мещение вдоль вектора ak S k |
|
|
1 |
|
|
||
выводит за пределы ОДЗП, определяемой выраже- |
|||||||
|
|
1 |
|
|
|
|
|
нием aTj (xk + a1k S k ) = b j , и кроме этого вычисляется a2k , при котором перемеще- |
|||||||
ние |
вдоль |
вектора S k |
приводит |
к |
максимуму |
функцииF(x), т. е. |
|
ÑF (xk + a2k S k )T × S k = 0 . Из |
найденных |
|
значений |
выбирается |
меньшее |
ak = min( a1k , ak2 ).
Графически условию максимизации скалярного произведенияÑF (xk )T S k
соответствует выбор такого вектора S k , который составляет с вектором ÑF (xk ) наименьший острый угол j по сравнению с любым вектором, выходящим из точ-
87
ки xk и лежащим в ОДЗП. Процесс прекращается при достижении точки xk, в которой максимум ÑF (xk )T S k = 0 . Это значит, что соответствующие векторы взаимно перпендикулярны и дальнейшее увеличение целевой функции в данной области невозможно, а точка xk является искомой точкой максимума функции F(x).
На рис. 5.2 движение из точки x1 осуществляется в направлении S1 вдоль граничной прямой до тех пор, пока функция F(x) возрастает, т.е. до точки x2 . Далее движение идет вдоль другой границы в направленииS 2 и заканчивается в точке x3 , в которой max{ÑF (x3 )T S 3} = 0, т.е. нет нового направления S 3 , которое
ведет к увеличению F(x). В точке x3 функция цели достигает глобального максимума в рассматриваемой области.
В задачах с линейными ограничениями движение осуществляется по граничным прямым. При нелинейных ограничениях, определяющих выпуклую область, любое сколь угодно малое перемещение из граничной точки может сразу вывести за пределы ОДЗП и возникает необходимость в возвращении. При этом строятся последовательности точек, расположенных вблизи границы и внутри ОДЗП, при-
водящие к зигзагообразному движению вдоль границы с ее пересечением
(рис. 5.3).
Пример |
|
5.2. |
|
Найти |
|
максимальное |
|
|
значение |
|
функц |
|
F (x) = -2x2 +18x |
- 2x x |
2 |
- x2 |
+12x |
2 |
при ограничениях 2x |
+ x |
2 |
³ 2 , x + x |
2 |
£ 4 , |
|
1 |
1 |
1 |
2 |
|
1 |
|
1 |
|
||||
x1 ³ 0 , x2 ³ 0 |
методом |
допустимых |
направлений Зойтендейка. |
Начальная |
точка |
x0 = [2;1] .
ОДЗП решения задачи приведена на рис. 5.4.
1-й шаг. Рассмотрим решения задачи:
Находится направление вектора градиента в точке x0 , ÑF (x0 ) =[8; 6], тогда координаты очередной точки x11 = 2 + 8a0 ; x12 =1 + 6a0 (см. пример 4.5).
2-й шаг. Определяется интервал допустимых значений для параметра a0 , при котором точка х1 будет принадлежать ОДЗП. Для этого координаты точки х1 подставляются в ограничения задачи
ì2(2 + 8a0 ) + (1 + 6a0 ) ³ 2 |
a0 ³ -0,136; |
|
ï |
a0 |
£ 0,071; |
ï2 +8a0 +1+ 6a0 £ 4 |
||
í |
Þ |
£ -0,25; |
ï2 +8a0 ³ 0 |
a0 |
|
ï1 + 6a0 ³ 0 |
a0 |
³ -0,167. |
î |
|
|
88

Выбираются наиболее сильные из полученных условий, тогда
- 0,136 £ a0 £ 0,071.
ÑF (x2 ) |
|
|
|
|
ÑF (x0 ) |
|
|
|
|
x3 |
|
x* |
Fmax |
|
x1 |
|
x4 Ñq (x3) F2 > F1 |
||
|
|
|||
|
2 |
k |
F |
>F |
x |
1 |
|||
|
Ñqk (x ) |
2 |
0 |
|
x0 |
|
|
F0 |
|
qk (x) |
|
|
|
|
Рис. 5.3. Геометрическая интерпретация процесса решения задачи с нелинейными ограничениями
x2
4
3 |
|
|
|
|
|
2 |
|
|
ÑF ( x1) |
|
|
x1 |
|
|
ÑF (x2 ) |
|
|
|
S1 |
|
|
||
1 |
ÑF (x0 ) |
x |
2 |
|
|
x0 |
|
|
|||
|
|
|
|
||
0 |
2 |
3 |
|
4 |
x1 |
1 |
|
Рис. 5.4. Графическая интерпретация решения примера 5.2
0
3-й шаг. Находится величина α , которая обеспечит максимум функции F(x). Процедура полностью совпадает с первым шагом решения задачи методом наискорейшего спуска, поэтому a0 = 0,192. Это значение a0 не принадлежит найденному интервалу (п.2), поэтому принимается, что a0 = 0,071. При этом очередная точка х1 поисковой траектории оказывается на границе области и находится
на прямой, соответствующей уравнению x1 + x2 = 4 . Координаты точки х1 и значе-
ние градиента функции в этой точке ÑF (x1) определяются выражениями:
x11 = 2 + 8a 0 = 2 + 0,568 = 2,568 ; x12 =1 + 6a 0 =1 + 0,425 =1,425;
ÑF(x1 ) = [5,12; 4,01].
4-й шаг. Движение в направлении ÑF(x1) выводит за пределы ОДЗП, |
поэто- |
||||||
k +1 |
= x |
k |
+ a |
k |
S |
k |
, где |
му очередная точка поиска вычисляется по выражениюa |
|
|
|
S k– новое направление движения, которое составляет минимальный острый угол с вектором градиента и направлено либо внутрь, либо по границе ОДЗП. При этом очередная точка должна принадлежать ОДЗП, а функция цели при переходе к очередной точке должна увеличиваться максимальным образом.
89

Направление S k находится, как решение задачи
max{ÑF (xk )T × S k | aTj S k £ 0, || S k ||£1}.
Направление S1 очередного шага определяется из условия:
éS1 ù
aTj S1 =[11]ê 11 ú = S11 + S12 = 0 ,
êS ú ë 1 û
где aTj – вектор коэффициентов при переменных во втором ограничении, на кото-
ром находится точка х1.
Отсюда следует, что S12 = -S11, тогда
S1 = (S1 )2 |
+ (S1 )2 |
= 1; |
2(S1)2 |
=1; S1 |
= 1 |
= |
1 = 0,71; S1 |
= -0,71. |
||
1 |
2 |
|
|
1 |
1 |
2 |
|
1,41 |
2 |
|
|
|
|
|
|
|
|
|
|
||
Таким образом, max ÑF (x )T S |
достигается при S1 |
= 0,71; S1 |
= -0,71. |
|||||||
|
|
1 |
1 |
|
|
|
1 |
2 |
|
|
При движении из точки x1 в точку x2 следует двигаться по граничной прямой в направлении S1 , как показано на рис. 5.4.
5-й шаг. Координаты точки х2 определяются выражением: x2 = x1 + a1S1 или
éx2 |
ù |
é2,568ù |
+ a1 |
é |
0,71 ù |
é2,568 + 0,71a1 ù |
||||
ê |
1 |
ú |
= ê |
ú |
ê |
ú |
= ê |
- 0,71a1 |
ú . |
|
ë |
x2 |
û |
ë1,426 |
û |
|
ë- 0,71û |
1,426 |
û |
||
2 |
|
|
|
|
|
ë |
|
Находится интервал изменения a1 , при котором х2 принадлежит ОДЗП:
ì |
2(2,568 |
+ 0,71a |
1 |
) +1,426 - 0,071a |
1 |
³ 2 |
ì |
a |
1 |
³ -6,42 |
ï |
|
|
ï |
|
||||||
|
2,568 + a1 ³ 0 |
|
|
|
|
³ -3,62 |
||||
í |
|
|
|
Þ ía1 |
||||||
ï |
|
1,426 |
- 0,71a1 ³ 0 |
|
|
ï a1 |
³ 2,01. |
|||
î |
|
|
|
|
|
|
î |
|
|
|
Второе ограничение опущено, так как точка х2 принадлежит соответствующей ему прямой, тогда - 3,62 £ a0 £ 2,01.
6-й шаг. Находится a1 , которое обеспечит максимум функции F(x) в направлении S1 .
Для этого координаты точки х2 подставляются в функцию F(x), тогда
F (a1) = 29,58 -1,01(a1 )2 +1,22a1 ;
dF = -2,02a1 +1,22 = 0 , a1 = 0,6. da1
90