Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математические основы теории систем / Лекции / Павлова А.В. Математические основа теории систем. Лекции Часть 2.pdf
Скачиваний:
153
Добавлен:
02.06.2015
Размер:
1.3 Mб
Скачать

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