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

книги / Методы оптимального проектирования

..pdf
Скачиваний:
7
Добавлен:
12.11.2023
Размер:
9.17 Mб
Скачать

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

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

4-1. ПРЯМЫЕ МЕТОДЫ ОЦЕНКИ НАПРАВЛЕНИИ

Метод покоординатного спуска. В основе метода ле­ жит последовательная оптимизация критерия оптималь-. ности F(x) по каждому параметру.

Пусть х0==(x®i, .... л °п ) — начальная точка поиска. Итерация я1 получается из х° при выполнении однопа­ раметрической оптимизации по параметру хи т. е.

. . . . •**„),

причем

F (x \, x*t, . . . , л 0п) = т т ^ ( л :, х \, ..., х°„). Xi

Итерация, Je2 получается из х1 путем однопараметри­ ческой оптимизации по параметру х2 и т. п. На п-й ите­ рации из точки хп~1 осуществляется однопараметриче­ ский поиск по параметру хп. Далее процесс продолжа­ ется из точки хп снова путем варьирования параметра * 1 и т. д.

Поиск заканчивается, если дальнейшее изменение значений конструктивных, параметров не дает улучшения критерия оптимальности.

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

а) при завершении однопараметрической оптимиза­ ции по данному направлению;

б) при выходе на границу допустимой области. Существенным, недостатком метода покоординатного

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

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

на самом

деле экстремум находится в точке х*

 

 

 

Возможной модифика­

 

 

цией

алгоритма

является

 

 

вращение

системы

коор­

 

 

динат, которое

приводчт

 

 

к методу

ортогональных

 

 

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

 

 

 

 

Метод

ортогональных

 

 

направлений. Этот весьма

 

 

эффективный метод опре­

 

 

деления направления по­

 

 

иска

основан на

враще­

Рис. 4-1. Случай, когда метод по­

нии системы координат в

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

изменени­

координатного спуска не приводит

ем

скорости

убывания

к минимуму

критерия оптималь­

ности.

 

критерия

оптимальности.

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

Пусть на итерации с номером к (в точке xk) направ­

ления осей координат обозначены р \ р \

.. -, pkn■ Алго­

ритм

формирования

новых

направлений jpf+\/?£ +I

. . . .

,p*+i на

итерации й + 1

требует п пробных

шагов

хы, 1=1, 2, ... ,

п по одному вдоль каждого из направле­

ний рК

 

 

 

 

 

 

xhl—

В

качестве

первой

пробной

выбирается точка

= x h+hipki,

где hi — шаг вдоль

вектора pi. Следующие

пробные шаги выбираются по формуле

 

 

 

 

 

/—1

 

 

п — \,

 

 

 

 

/=1

 

1~ 2> •••»

(4-1)

 

 

 

 

 

 

 

где

аг-1> 1 ,

если F{xhl~l) < F (x hlr 2), и

— 1 < а *_ ,< 0 —.

в противном случае1.

 

 

 

 

 

1 Предполагается, что л*» = xk.

Иными словами, каждая следующая пробная точка jffti+i отстоит от предыдущей на величину ai-i/ii-ipVi+ +h ip \ где аг-1> 1 , если шаг вдоль l-то направления был удачным, и —K a / - i< 0 , если в точке xw_1 значение функции увеличилось по сравнению с предыдущей проб­ ной точкой (рис. 4-2). В результате

ft к

ын

tkl

 

 

 

 

 

Px-i

1

 

 

<GZ

hi-i Pt-t

 

 

,kl-t

xkl-2

vkl-1

XH-Z

F ( x * l 4 )<.F(XH ' 2)

 

FtxH ’r) > f ( x kl-2

 

a)

 

S)

 

Рис. 4-2. Расположение пробных точек в методе ортогональных на­ правлений.

а - F(jcfcI-l)<F(jcM-2); б F(xhl-l)>Flxkl-2).

rft +1__

■ * " + 2 aihip '■

/=»

Выбор новых направлений осуществляется следуюг щим образом. В качестве направления pih+i выбирается вектор

р1+'=**+1--**=2 «А Л-

(4-2)

/=1

 

Для построения оставшихся направлений формиру­

ется набор линейно-независимых векторов

 

« А У /, / = i » ?' • • • » * •

(4-3)

i = i

 

При этом <?*+ ' = /?*+1, а остальные направления

• • рп получаются методом ортогонализации.

Согласно этому методу вектор р*+| представляется формулой

 

Pk2+ l= № Ï + ' + 4 +',

(4-4)

где коэффициент

определяется

из условия

ортого­

нальности:

 

 

 

О= Л,‘ +,,Г^

' = Р.рГ ',трГ +

рГ " т# - '-

 

Отсюда для коэффициента Pi получается следующее выражение:

 

 

^ = -

р Г )Г4 +11р Г

' )Тр1+1‘

(4-5)

В

общем

случае,

если

вычислены

векторы

рк* х,

/>2+ \

. . . . Р?+1> следующий

вектор

pf*,1'

определяется

формулой

 

 

 

 

 

 

 

рЦ1

+ Р г /?2+1 +

• * • + P^/ +I

 

(4-6)

где коэффициенты р,- вычисляются с помощью выражения h = - P-+Vtl\lp lk+')Tp-+ \ < = 1 . 2......... /. (4-7)

Продолжая процесс поиска, в соответствии с размер­ ностью пространства параметров получаем ортогональ­ ную систему направлений qi, qz........ qn>

Коэффициенты щ подбираются ' эмпирически для различных типов проектируемых изделий. Наиболее эф­ фективные результаты на тестовых примерах получены при а ;= —1/2 при неудачных пробах и аг=3 при удач­ ных.

Некоторая модификация этого метода состоит в том, что формирование новых направлений и их ортогонализация производятся не на каждом шаге, а через некото­ рое число промежуточных итераций, например для хт , х2”1, х3т и т. д.

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

Модификацией метода ортогональных направлений является использование при выборе длины шага мето-. дов однопараметрической оптимизации. Начальное опре­ деление направления поиска осуществляется по формуле

(4 -2 ) с ортогонализацией по остальным координатам. Затем осуществляется поиск минимума, критерия опти­ мальности путем изменения только первой координаты, затей только второй и т. д. Эта операция эквивалентна применению метода покоординатного спуска в новой системе координат.

После и -f-1 итераций

л 0, х \

... , хп выбор-новых

направлений поиска

/?£+ |,

p"+l осуществляет­

ся ортогонализацией векторов qnt' = x l — х°, 1 = 1 , 2 ,

. . п, причем в качестве

первого направления выбира­

ется p"+l = х п л:0. Процедура

повторяется на итера­

циях 2п, Ъп и т. д.

 

 

Метод параллельных касательных. Другойметод определения направления поиска, предложенный Пауэл­ лом [70], получил широкое развитие как в теоретиче­ ских работах, посвященных проблеме оптимизации [57, 91], так и при практическом решении задач оптималь­ ного проектирования.

Идею этого метода изложим вначале для критерия оптимальности, представленного в виде квадратичной функции от двух переменных (рис. 4-3). В качестве на­ чального приближения выбирается произвольная точка А' 0 и производится однопараметрический поиск экстрему­

ма

вдоль

произвольного

на­

 

правления.

Полученная в

ре­

 

зультате точка

обозначена

че­

 

рез х1. Затем выбирается точка

 

х2, не лежащая на прямой х^х1,

 

и осуществляется одномерный

 

поиск из точки х2 вдоль пря­

 

мой, параллельной лЛе1. Точка

 

х3,

полученная

в результате

 

этого поиска, служит

началь­

 

ной для одномерного поиска на

 

отрезке.X1JC3. Поиск за две ите­

 

рации приводит к оптимально­

 

му

значению

квадратичного

 

критерия оптимальности, зави­

 

сящего от

двух переменных.

 

При

этом

прямые х°х1 и х2х?

Рис. 4-3. Поиск экстремума

могут оказаться

как

по одну,

квадратичной функции ме­

так и по разные стороны

от

тодом параллельных каса­

экстремума.

 

 

 

 

тельных.

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

4-2. ВЫБОР НАПРАВЛЕНИЯ ПОИСКА С ПОМОЩЬЮ ГРАДИЕНТА

Определение градиента. Градиеитом функции F(x) векторного аргумента x = (x i, хг, ., хп) называется век­ тор, координатами которого служат частные производ­ ные по соответствующим переменным:

В некоторых случаях градиент VF функции F будет для краткости обозначаться g.

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

VF, называемый антиградиентом, направлен в сторо­ ну наиболее быстрого убывания критерия оптимально; сти. Это означает, что продвижение в направлении—VF (в окрестности рассматриваемой точки) на некоторое расстояние Ах позволит достигнуть меньшего значения критерия оптимальности, чем движение на то же рас­ стояние по лйобому другому направлению. На указанном свойстве градиента основано его использование при поиске оптимального решения.

Из математического анализа, известно, что для до­ статочно широкого класса функций F(x) можно полу­ чить аналитическое выражение для частных, производ­ ных в любой точке допустимой области. В этом случае, составив программу вычислений выражений dF/dxi, t = = 1 , 2, ..., п на ЭВМ, можно определить градиент в лю­ бой заданной точке пространства конструктивных пара­ метров. Однако на практике такой подход возможен лишь в исключительных случаях, так как в практиче­ ских задачах оптимального проектирования формулы для расчета критерия оптимальности настолько сложны, что аналитическое определение частных производных становится невозможным. В этом случае применяются разностные методы для приближенной оценки градиента.

Отсюда на основании (4-9) получаем выражение для погрешности аппроксимации:

F (x-f h — F(x — h

F '(x )= F '" (x )^ + Q (h 3 . (4-13)

2h

 

Из этойформулы следует, что с уменьшением длины шага h точность аппроксимации производной по форму­ ле (4-11) растет быстрее, чем по. формуле (4-9). При заданной точности вычисления производной для форму­ лы (4-9) требуется меньшее значение шага, чем при использовании формулы (4-11).

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

неизбежны при вычислениях с фиксированным

(конеч­

ным)

числом разрядов.

 

В

общем случае, когда критерий оптимальности

есть функция, зависящая от п переменных, для

оценки

частных производных с помощью конечных разностей служат следующие формулы:

а) при вычислении критерия оптимальности в точках

.v=(*i, ..., х„

... ,

хп) и х+Ах*—(хи ..,

Xt+hi, ..., х„):

g

^

F,' h = F(x + AXi)-F{X

,

(4. 14)

б) при вычислении критерия оптимальности в точках

х+Дх* и х—Ах1*:

 

F (x + Ax‘) — F(x Ax‘~)

(4-15)

>4

 

Как и при минимизации функции одной переменной, точность аппроксимации первых частных производных по формуле (4-15) выше, чем по формуле (4-14).

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

При вычислении градиента по формуле (4-14) тре­ буется п+ 1 раз вычислить критерий оптимальности:

в точке х и при поочередных изменениях каждой коор­ динаты х{ на величину h{.

Оценка градиента по формуле (4-15) требует 2 п вы­ числений критерия оптимальности. Кроме того, во мно­ гих случаях необходимо вычисление значения критерия оптимальности в точке х (как правило, для осуществле­ ния одномерного поиска). Поэтому при использовании формулы. (4-15) на каждой итерации вычисляются 2«+1 значений критерия оптимальности. Такое большое число

вычислений* критерия

оптимальности разумно лишь

в тех случаях, когда'

точность вычисления градиента

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

Градиентные методы. Методы поиска, в которых на­ правление движения от итерации xh к хь+,-определяётся градиентом (антиградиентом), вычисленным в точке х \ носят название градиентных методов. Вдоль направле­ ния антиградиента производится шаг определенной дли­ ны, и в полученной точке xft+1 (новой итерации) снова определяется градиент критерия оптимальности. Гради­ ентные методы отличаются друг от друга способом вы­ бора шага вдоль вектора антиградиента.

Простейший способ — движение из точки xh по анти­ градиенту с постоянным шагом A=const, т. е.

xk+1=

x k —h

vF— .

(4-16)

 

 

] / yFTyF

 

Если окажется, что значение критерия в точке xh+l

превосходит величину

F(xk),

то поиск

возвращается

в точку хк, и из нее вдоль антиградиента производится перемещение с шагом h/2. Дробление шага производит­ ся до тех пор, пока его значение не станет меньше неко­ торого малого положительного числа 6 .

Поиск прекращается, как только модуль вектора-гра­ диента будет меньше заданного е > 0 , т. е. при V /^ V E ^ e .