Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Системы экстремального управления

..pdf
Скачиваний:
10
Добавлен:
19.11.2023
Размер:
33.28 Mб
Скачать

можно воспользоваться приближенным соотношением:

grad Q (Х2) « grad Q (Хх),

(17.2.11)

т. е. судить достаточно правдоподобно о поведении пока­ зателя качества в точке Х 2 по наблюдениям, сделанным в точке Х х, близкой к Х 2. Возможность такой экстрапо­ ляции поведения функции качества и позволяет постро­ ить новый случайный поиск с новыми свойствами.

Разобьем весь процесс поиска на этапы, причем на каждом этапе поставим собственную, самостоятельную цель управления. Таким образом, процесс достижения

цели Q {X*) < е разбивается на этапы

с собственными

подцелями. Пусть Q (Xi) — состояние

на i-м этапе.

Тогда цель поиска на данном этапе заключается в отыс­ кании такого Xi+lt для которого Ç (Х,+1) < Q (Xi),

т.е. приращение A(?i+1 должно быть отрицательным: AÇi+1 = Q (Xi+1) - Q (Xi) < 0.

Естественно это новое состояние искать в районе Х%,

т.е. следует ограничить поиск некоторой разумной зо­

ной, окружающей точку Xi. Следовательно, случайность нужно вводить как и з м е н е н и е состояния, достиг­ нутого на предыдущем этапе поиска:

Х ы = X t + AXi+1,

(17.2.12)

т. е. алгоритм поиска должен определять выбор прира­ щения АХ, а не самого X, как это было в гомеостате.

Положительная реакция Rt на г-м этапе в процессе такого поиска появляется при достижении i-й подцели

AQi = Q

(Xt) — Q

(Xi-i) < 0

Rt. Отрицательная

реакция R ï

связана

с. обратным

результатом AQi 1>

> 0 у R\ .

Теперь можно сформулировать алгоритм случайного поиска с линейной тактикой, который является прямым развитием (17.2.1):

S

при R i,

AXi+1 =

(17.2.13)

АХ{

при Rf,

где случайные пробы Е предполагаются достаточно малыми по модулю, чтобы вероятность достижения под­ цели была бы достаточно большой. Этот алгоритм, как

Ш<0)
!~Рг
Рис. 17.2.1. Граф алгоритма случайного спуска (линейная тактика).

видно, является дифференциальным аналогом гомеоста­ тического алгоритма и обычно называется алгоритмом случайного спуска.

Смысл этого алгоритма прост и естествен. Система делает случайные шаги в пространстве управляемых па­ раметров, пока не будет найден такой шаг, который при­ ведет к уменьшению функции качества. Положительная реакция алгоритма заключается в повторении такого шага до тех пор, пока показатель качества не начнет уве­ личиваться, что вызовет отрицательную реакцию —слу­ чайные пробы новых направлений и т. д.

Эффективностьта­ кого алгоритма пои­ ска гарантируется условием (17.2.11), которое фактическиутверждает, что успех в Х х может повто­ риться в Х 2, если

расстояние между Xi и Х 2не очень велико. На основании этого в указанном алгоритме повторяются шаги в выб­ ранном направлении.

Рассмотрим работу этого алгоритма как стохастиче­ ского автомата в случайной среде, которую представляет собой объект оптимизации. Направленный граф работы такого автомата показан на рис. 17.2.1, где обозначены: S — оператор случайного смещения, a R + — оператор положительной реакции. Стрелками на рисунке пред­ ставлены переходы от одного оператора к другому, при­ чем рядом со стрелками в скобках показаны условия, вызывающие эти переходы. Как видно, такой автомат может пребывать в двух состояниях и задается матрицей переходов:

S

Pi

1 - Pi

R+

1 - Р г

(17.2.14)

Рг

где вероятности Рх и Р2 зависят от свойств оптимизируе­ мого объекта и изменяются с переходом от одного состоя­ ния к другому.

Как видно, эффективность данного алгоритма определя­ ется, прежде всего, тем, как часто происходит повторение

оператора R+. Именно в

цикле i?+ — i?+—>-.

. R + показатель качества

уменьшается и происхо­

дит настройка системы. Поэтому значение вероятности Р2 в значительной мере определяет эффективность при­ менения этого алгоритма. Если объект таков, что значе­ ние Р2 достаточно близко к единице, а это эквивалентно выполнению условия (17.2.11), то применение рассмат­ риваемого алгоритма целесообразно.

Но эффективность этого алгоритма зависит и от веро­

ятности

выхода на указанный цикл, т. е. от величины

1 —Рг,

которая соответствует вероятности случайного

определения удачного направления, для которого AQ 0. Немалость этой величины должна быть гарантирована, иначе алгоритм будет работать плохо, так как система поиска будет очень редко попадать в состояние R +, когда, собственно, и происходит оптимизация, и быстро­ действие поиска будет мало.

Таким образом, для эффективной работы такого поиска необходимо, чтобы объект оптимизации удовлетворял следующим двум условиям: 1) Р2велико и 2) Рг не очень велико.

Рассмотренный алгоритм случайного поиска построен

на

принципе «наказания» случайностью,

в соответствии

с

которым оператор случайного шага S

вводится как

отрицательная реакция па неудачу при отыскании под­ цели. В случае же удачи поиск действует тем же образом, который привел к удаче. Такая форма поведения безус­ ловно разумна и целесообразна для линейных объектов и близких к ним, свойства которых с переходом из одного состояния в другое изменяются незначительно, т. е. имеет место неравенство (17.2.11). Именно поэтому авто­ мат, реализующий подобный алгоритм, называется авто­ матом с линейной тактикой. Если же это условие линей­ ности объекта не выполняется и вероятность Р2 мала, то, как указано, рассмотренный линейный алгоритм поиска имеет ограниченное применение.

Алгоритм поиска с линейной тактикой четко подразде­ ляется на два этапа, соответствующих двум различным образам поведения.

Первый этап сводится к определению направления спуска Y. (Здесь Y — единичный вектор направления.) Второй этап представляет собой спуск, во время которого

система движется в выбранном направлении до тех пор, пока показатель качества уменьшается. Как нетрудно за­ метить, в процессе спуска происходит фактически однопара­ метрическая оптимизация объекта: Q(X -(- aY) —> min.

а

Взаимодействие обоих этапов показано на рис. 17.2.2. Здесь введена операция эффективности спуска, которая

позволяет по определенному кри­

 

 

терию

оценивать

эффективность

 

 

спуска и либо продолжать его,

 

 

либо,

когда

спуск

 

в выбранном

Л

 

направлении исчерпал себя, обра­

 

 

щаться к первому

 

этапу.

1

 

Рассмотрим некоторые из воз­

I

 

можных алгоритмов

определения

 

направления

спуска

Y.

а?

 

1) Чисто случайная оценка на­

!

 

правления спуска. Смысл ее сво­

 

дится к попытке спуска вдоль слу­

 

 

чайно

выбранного

направления.

Рис. 17.2.2.

Блок-схема

Алгоритм

записывается в виде

 

 

Y = S,

 

(17.2.15)

алгоритма

линейной

 

 

 

тактики.

где Е =

(£j,

.,

| п) — единичный случайный вектор,

равномерно распределенный по всем направлениям про­ странства оптимизируемых параметров.

2) Оценка направления спуска по наилучшей из не­ скольких случайных проб. Из исходной точки X на рас­ стоянии пробного шага g делается несколько случайных

проб

показателя

качества

Q (X

gS,) в случайных

направлениях Е* (г =

1, .

т). За направление спуска

Y выбирается то, которое обеспечило наименьшее зна­

чение показателя

качества:

 

 

 

 

 

Y =

Е*,

 

где

Е* удовлетворяет

очевидному

условию:

<3(Х+ *а-)= min

{Ç(X + «2,)}. (17.2.16)

i = l ,

т

Как нетрудно заметить при т = 1 этот алгоритм вырож­ дается в предыдущий.

3) Оценка направления спуска методом статистиче­ ского градиента. В этом случае за направление спуска принимается средневзвешенное из т случайных направ­ лений, каждое из которых берется с весом, соответству­ ющим приращению показателя качества вдоль этого на­ правления:

т

Y = - dir 2

S,[<? (X + jfE,) _ Q (X)l, (17.2.17)

i =

l

где dir —обозначает единичный вектор, определяющий

интересующее направление: dir Z = -^-г. Iù I

Легко видеть, что при т = 1 этот алгоритм опреде­ ляет случайное направление спуска, но преимущественно удачное.

Действительно, если в этом случае AQ <[ 0, то вы­ бранное направление Y = S удачно. Если же AQ О, то определение Y — —S позволяет надеяться, что для достаточно широкого класса объектов выбранное направ­ ление спуска окажется удачным, хотя, строго говоря,

вобщем случае это может быть и неверно.

4)Ортогонализированный метод статистического гра­ диента. Этот метод определения направления спуска Y отличается от предыдущего тем, что случайные направ­

ления

Si

(i = 1,

 

т ^ . п) ортогональны, т. е.

 

 

[S

-

{ 0

при

i = ;,

(17.2.18)

 

 

при

i =j(=j.

 

 

 

 

О

 

При т =

1 метод в точности

совпадает с предыдущим,

ап ри т

=

п, т. е. при числе ортогональных проб, равном

размерности системы п, как легко заметить, этот метод вырождается в градиентный метод.

Возможны и другие модификации оценки направления спуска.

Теперь перейдем к алгоритмам второго этапа поиска с линейной тактикой — алгоритмам спуска.

Сам по себе процесс спуска заключается в определе­ нии минимума вдоль направления спуска. Чаще всего это —шаговая процедура, причем после каждого шага принимается решение, двигаться ли дальше или прекра­ тить спуск и обратиться к первому этапу.

Пусть А Х i — смещение на г-мшаге спуска. Тогда состоя­ ние объекта в процессе спуска будет определяться следу­ ющим рекуррентным соотношением

=

+ 4 * ,,

(17.2.19)

где ДXt определяется предысторией спуска.

Рассмотрим несколько

наиболее

распространенных

алгоритмов спуска.

 

 

1. Спуск с парными пробами (см. §4.1). Этот алгоритм спуска заключается в том, что вдоль направления спуска берутся парные пробы, которые дают возможность при­ нять решение: спускаться дальше или прекратить спуск и вернуться к первому этапу.

Алгоритм

записывается в

следующем виде

.

_ (

aY,

если

<? (Xt +

gY) - Q (Xt - gY) < Ô,

i+1

- ( 0 ,

если

Q(Xi +

g Y ) - Ç ( X i - g Y ) > ô ,

 

 

 

 

 

(17.2.20)

где AXi = aY.

Здесь a = const — величина шага в про­

цессе спуска,

Ô — некоторый порог, а момент АХ = 0

соответствует переходу к первому этапу.

Для этого алгоритма спуска характерно четкое рас­ членение пробных и рабочих шагов. Именно поэтому его иногда называют алгоритмом с разделенными проб­ ными и рабочими шагами. Однако возможны алгоритмы

ис совмещенными шагами.

2.Совмещенный спуск (см. § 4.3). В этом алгоритме пробные и рабочие шаги совмещены:

где АХг = aY, а АХ = 0 соответствует переходу к пер­ вому этапу. Хорошо видно, что в этом алгоритме затраты на определение показателя качества вдвое меньше, чем в предыдущем, — это наиболее примечательная особен­ ность совмещенного алгоритма.

Описанные выше алгоритмы спуска никак не учиты­ вали априорной информации о поведении объекта. Учет этих сведений приводит к экстраполяционному спуску.

3. Экстраполяционный спуск. Смысл этого алгоритма спуска сводится к определению тенденции изменения пока­ зателя качества и переводу системы сразу в экстремальное состояние (на траектории спуска, разумеется). Таким об­ разом, каждый шаг процесса экстраполяционного спуска складывается из двух моментов: сбора информации о поведении показателя качества вдоль выбранного на­ правления спуска и определения положения экстремума.

Пусть Xi — оценка положения экстремума на г-м шаге экстраполяционного спуска, & Хц, . ., Xiq — точ­ ки для определения характера поведения функции ка­ чества на направлении У на i-м этапе:

= à:’i + g „ Y (/ = 1 , 2 , . ,,ç). (17.2.22)

Алгоритм экстраполяционного спуска должен обуслов­

ливать коэффициенты

gy:

 

g,,

= F, (*•),

(17.2.23)

и способ определения экстремума на (i + 1 )-м шаге по наблюдениям показателя качества в точках (17.2.22):

Х'+1 = Х\ + <zi+ 1 У,

(17.2.24)

где <ïi+1 зависит от значений показателя качества в точ­ ках (17.2.22). Так, в случае квадратичной экстраполяции (см. § 5.3), получаем в соответствии с (5.3.6) и (5.3.11):

£i ~

ё>

ёг =

0 ;

g3 =

g

и сц+1 = 2 (Qi + Qs 2 Q2) ’ Г^е

=

&

- g Y ) ,

Q2 =

Q (X\)tQ3 = Q (Xl

+ gY).

Изложенные

выше

алгоритмы линейного

случайного

поиска обладают одним существенным недостатком, свой­ ственным всем алгоритмам спуска: в процессе спуска выбранное направление все менее и менее соответствует антиградиентному и поэтому дальнейший спуск доволь­ но быстро теряет смысл, он практически не минимизи­ рует показатель качества объекта. Это обстоятельство заставляет обратиться к коррекции направления спуска в процессе самого спуска.

Коррекцию можно производить различным образом. Одним из простейших способов является введение незна-

чительного «рысканья» системы в процессе спуска. При этом эффективность новых направлений оценивается с тем, чтобы принять или не принять их. Рысканье в про­ цессе поиска может вводиться как регулярным, так и слу­ чайным образом.

Алгоритм такой коррекции может быть записан, на

пример, в следующем виде:

 

 

y i+1 = dir (Yi + AFi+1),

(17.2.25)

где

 

 

ДГМ =

-pSiA Ç i,

(17.2.26)

3 —коэффициент рысканья

(при 3 = 0

рысканья нет);

S —по-прежнему единичный случайный

вектор, равно­

мерно распределенный в пространстве оптимизируемых параметров; AQi — приращение показателя качества на г'-м шаге Д-Х^

Как видно, в результате работы этого случайного ал­ горитма коррекции вектор Y будет преимущественно поворачиваться в том направлении, где AQ минимально, т. е. оптимизация объекта будет эффективней, чем без его коррекции.

В заключение отметим, что линейная тактика исполь­ зуется и в методе наискорейшего спуска. Разница между случайным поиском с линейной тактикой и алгоритмом наискорейшего спуска заключается лишь в выборе на­ правления спуска. В первом случае это направление является случайным, а во втором —антиградиентным.

Естественно сопоставить эти два метода поиска по

критерию эффективности спуска:

 

« = Ц щ

<17-2-27>

где X —исходное состояние спуска, X* —финальное состояние спуска, которые связаны следующим соотно­ шением:

Q (X*) = min Q (X + аУ),

(17.2.28)

а

 

где Y —направление спуска. Для алгоритма наискорей­ шего спуска —это направление антиградиента:

Y = — dir grad Q j i X ) ,

а для случайного поиска с линейной тактикой — случай­ ное направление S, т. е. алгоритм (17.2.15). Для наиско­ рейшего спуска в случае квадратичной формы при условии (16.2.25) в главе 16 была указана (16.2.26) оценка кри­ терия (17.2.27):

 

 

q < i

(17.2.29)

где

X — мера

овражности функции качества.

же

Для случайного поиска с линейной тактикой в тех

условиях

получепа [17.4] следующая

оценка для

п — 2:

 

 

 

 

Щ 1 ) < 1 ---- j f i j - p

(17-2.30)

где М — знак математического ожидания. Это — осред­ нение по всем возможным реализациям случайного век­ тора S.

Как видно, при больших значениях параметра X > 5 случайный поиск более эффективен по выбранному кри­ терию.

Следует отметить, что при этом сопоставлении не учитывались затраты на оценку направления спуска. Здесь преимущества снова на стороне случайного по­ иска, которому требуется всего одна случайная проба.

Оценка градиента для метода наискорейшего спуска требует не менее (п + 1 )-й пробы.

Таким образом, метод случайного поиска с линейной тактикой по ряду критериев и соображений является более предпочтительным по сравнению с методом наи­ скорейшего спуска.

§ 17.3. Локальный случайный поиск

Локальность алгоритма поиска определяется его не­ зависимостью от предыстории. Так, рассмотренные выше алгоритмы случайного поиска с линейной тактикой явля­ ются нелокальными алгоритмами. Эта нелокальность вызвана процессом спуска, когда рабочие шаги повторя­ ются, т. е. жестко связаны.

Ш>0)

Однако в нелинейной обстановке часто нецелесообраз­ но повторять удачные шаги, так как обстановка значи­ тельно изменяется. В этом случае лучше избрать локаль­ ную (нелинейную) тактику, т. е. предпринимать последо­ вательно независимые попытки по уменьшению показа­ теля качества и исправлять ошибки, если они возникают. Если при этом воспользоваться случайными шагами S, то получим алгоритмы с «поощрением» случайностью, где элемент случайности S вводится как положительная реакция R +, а отрицательной реакцией R~ являются меры по устранению послед­ ствий неудачного случайного шага. Этот алгоритм можно записать в виде

 

I S

при

R +,

 

 

 

 

 

AXi+1 =

[

при

R- .

 

 

 

/

 

 

 

(17.3.1)

Рис. 17.3.1.

Граф

алгоритма

Как видно, оператор слу-

случайного поиска с нелиней-

 

ной тактикой,

чайного

шага

S вводится

 

 

 

 

 

как поощрение на удачный шаг R + — (AQ <[ 0). Отрица­

тельная

реакция

R~ вызывает действие

(F —оператор

исправления, папример, F (АХ,) =

—АХ,), направленное

на преодоление

полученного

отрицательного

эффекта

R~ = (AQ !> 0),

после

чего

снова следует

случайный

шаг S.

Работоспособность этого

алгоритма

получена за

счет исправления ошибок, допущенных в процессе случай­ ных проб.

На рис. 17.3.1 показан граф этого алгоритма, где в скобках обозначены условия переходов. Матрица пере­ ходов его имеет вид

S

Р

1 — Р

R-

 

(17.3.2)

1

0

Для эффективной работы этого алгоритма объект вовсе не должен обладать свойством «гладкости» (17.2.11). Единственное условие, накладываемое на объект, за­ ключается в том, чтобы вероятность Р была не очень мала.

Различные алгоритмы локального случайного по­ иска отличаются различными способами определении