книги / Методы оптимального проектирования
..pdfэффективными являются методы, использующие (при ближенные или точные) значения градиента. Наконец, наиболее детальное исследование окрестности текущей итерации проводится с помощью методов Ньютона и методов переменней метрики.
Следует отметить, что излагаемые' в этой главе ме тоды, как правило, ориентированы на выбор направле ния поиска без учета влияния .ограничений.
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 .