|
|
Р сунок 9. Деление отрезка по методу Фибоначчи |
|
||
3. Критер й завершен я вычислений: |
|
|
|||
СЧисло й больше, чем заданное количество. |
|
||||
Наилучшая точка на отрезке [a,b] x=(x1+x2)/2. |
|
|
|||
Метод |
|
Ф оначчи |
о еспечивает |
наибольшую |
среди |
рассматр ваемых методов точность решения. |
|
|
|||
итерац |
|
|
|
||
|
|
Методы многомерной оптимизации |
|
||
В современных |
процедуры |
параметрического |
синтеза |
||
выполняются |
проектировщиком в процессе многовариантного |
||||
|
либо |
|
|
||
анализа, либо реализуются на |
азе формальных методов оптимизации в |
||||
автоматическом режиме. В последнем случае большинство постановок задач параметрической оптимизации технических объектов и систем
сводятся |
к задачам |
многомерной |
оптимизации, в которых целевая |
||||
|
|
САПР |
|
|
|||
функция и ограничения содержат несколько управляемых параметров и |
|||||||
описываются нелинейными зависимостями, на значение которых к тому |
|||||||
же накладываются |
дополнительные |
ограничения. В |
зависимости |
от |
|||
количества переменных и типа искомого экстремума различают методы |
|||||||
одномерной и многомерной, |
условной |
и безусловной |
оптимизации. |
||||
Решение |
оптимизационной |
Д |
в |
||||
задачи |
в |
общем случае |
заключается |
||||
определении таких значений входных параметровИисследуемого объекта или системы, которым соответствует наилучшее (минимальное или максимальное) значение целевой функции [4].
Базовая задача оптимизации ставится как задача математического программирования:
extr F(X)
X D
D {X | (X) 0, (X) 0},
21
где F(X) — целевая функция, X — вектор управляемых (проектных) параметров, (X) и (X)— функции-ограничения, D —допустимая область в пространстве управляемых параметров. Задача математического программирования интерпретируется как задача поиска экстремума целевой функции путем варьирования управляемых параметров в
пределах допустимой области. |
|
|
|
|
||||
|
Так как технические системы, как правило, являются |
|||||||
С |
|
|
|
|
|
|||
многомерными, с большим количеством входных параметров, то это |
||||||||
требует использования методов многомерной условной оптимизации. |
||||||||
Многие |
з |
так х методов, однако, предполагают |
сведение |
задачи |
к |
|||
безусловной |
опт м зац |
путем преобразования |
целевой функции |
с |
||||
|
изучен |
соответствующих |
процедур. |
Поэтому |
||||
дальнейш м |
пр менен ем |
с |
||||||
изучение методов по ска экстремума функций нескольких переменных |
||||||||
без огран чен й является не менее важной задачей дисциплин, |
связанных |
|||||||
с |
|
ем с стем автоматизированного проектирования [4]. |
|
|
||||
|
|
|
бА |
|
|
|||
|
Основными методами многомерной безусловной оптимизации |
|||||||
являются по сковые методы, которые основаны на пошаговом изменении |
||||||||
управляемых параметров |
|
|
|
|
|
|||
|
|
|
Xk 1 Xk Xk , |
|
|
|
||
где в большинстве методов приращение ΔXk вектора управляемых |
||||||||
параметров вычисляется по формуле |
|
|
|
|||||
|
|
|
Xk |
h g(Xk ), |
|
|
|
|
где Xk— значение вектора управляемых параметров на k-м шаге, h— шаг, |
||||||||
|
|
|
|
|
Д |
|
||
а g(Xk) — направление поиска.
В зависимости от того, используются при поиске производные целевой функции по управляемым параметрам или нет, различают методы нескольких порядков. Если производные не используются, то имеет место методы нулевого порядка. Если используются первые или вторые производные, то соответственно методы первого или второго порядка. Методы первого порядка называют также градиентными,
поскольку вектор первых производных F(X) по вектору параметров Х есть
|
|
|
F |
|
F |
|
F |
|
|||
|
grad(F(X)) |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|||
градиент целевой функции |
|
x |
И, ,..., . |
||||||||
|
|
|
x |
|
|
x |
|
|
|||
|
|
|
1 |
|
|
2 |
|
|
n |
||
Суть всех градиентных методов заключается в использовании вектора градиента для определения движения к оптимуму. Основное свойство градиента, которое обусловливает его эффективное применение при поиске экстремальных значений функций многих переменных является тот факт, что вектор градиента всегда направлен в сторону наиболее быстрого возрастания функции в данной точке.
22
Конкретные методы первого порядка определяются следующими |
|||||
факторами: 1) способом вычисления направления поиска g(Xk); 2) |
|||||
способом выбора шага h; 3) способом определения окончания поиска. |
|||||
Определяющим фактором является первый из перечисленных в этом |
|||||
списке, это является «основой» конкретного метода [2,4]. |
|||||
С |
Этап 1 |
|
|
|
|
Выбор |
|
|
|
||
начальной |
|
|
|
||
Этап 2 |
|
|
|
||
Определение |
|
|
|||
направления |
|
|
|||
Этап 3 |
|
|
|
||
|
|
|
|
|
|
|
|
Шаг поиска |
|
|
|
иЭтап 4 |
|
|
|
||
|
|
Вычисление |
|
|
|
|
|
F(X) |
|
|
|
|
|
Этап 5 |
|
Нет |
|
|
|
|
|
|
|
|
|
Прекратит |
|
|
|
|
|
Да |
|
|
|
|
бАЭтап 6 |
||||
|
|
Конец |
|
|
|
Рисунок 10. Блок-схема алгоритма поиска оптимального решения |
|||||
|
|
|
Д |
||
Методы многомерной оптимизации можно рассматривать как |
|||||
инструмент |
решения |
прикладных |
задач |
автоматизированного |
|
проектирования в современных программных комплексах САПР, которые |
|||||
относятся к числу наиболее сложных современных программных систем, |
|||||
основанных на математическом аппарате и языках программирования. К |
|||||
|
|
|
|
И |
|
настоящему времени создано большое число приложений для САПР с |
|||||
различными степенью специализации и прикладной ориентацией [2,4]. |
|||||
Рассмотрим три метода: метод градиента, метод крутого восхождения |
|||||
(метод наискорейшего спуска), метод сопряженных градиентов. |
|||||
23
Метод градиента
Сущность этого метода сводится к выполнению следующих операций: 1.В исходной точке определяется градиент рассматриваемой
функции.
2. В направлении градиента осуществляют рабочий шаг.
Здесь необходимо особо отметить пошаговую процедуру поиска, которая заключается обычно в следующем:
а) определяются точки, откуда шагаем и куда шагаем; б) сравн ваются откл ки в этих точках и шаг считается удачным,
если вел ч на целевой функции улучшилась, т.е. увеличилась при поиске макс мума (max) и уменьшилась при определении минимума
(min). |
|
|
|
|
|
|
|
С |
|
|
|
|
|
||
В каждой новой точке вычисляется величина целевой функции. |
|||||||
Алгор тм по ска |
|
|
: |
|
|
||
|
j |
|
j 1 |
|
f (x ) |
|
|
x |
|
x |
|
|
i |
|
|
|
|
|
|
||||
|
|
h |
|
|
|
||
следующийi i |
|
|
|||||
|
|
|
|
|
x |
j 1 |
|
|
|
|
|
|
i |
x |
|
|
|
|
|
|
|
i |
|
где i - номер текущей переменной; h- шаг. При большом удалении от |
|||||||
оптимума величина шага принимается пропорционально величине первой |
|||||||
ДвижениебАпо изложенному алгоритму осуществляется до тех пор, пока не будет достигнут глобальный экстремум с заданной точностью поиска. Иначе говоря, расчеты заканчиваются только в том случае, когда движение из последней удачной точки не приводит к улучшению целевой функции. При этом последняя удачная точка поиска считается глобальным экстремумом рассматриваемой функции. Основным
производной по каждой координате.
недостатком данного метода являетсяДбольшой объем вычислений [4].
Метод релаксаций
Метод релаксаций заключается в следующем:
а) определяют частные производные рассматриваемой функции по
всем координатным осям; |
И |
б)из всех вычисленных производных определяют наибольшую;
в)в направлении наибольшей производной осуществляется первый шаг и если он оказался удачным, то величину последующего шага удваивают и осуществляют в этом же направлении еще один шаг. Если и он оказался удачным, то предыдущий шаг вновь удваивают. Эта последовательность применяется до тех пор, пока не будет произведен неудачный шаг. При неудачном шаге величина
24
шага |
уменьшается |
в |
два |
раза |
и |
шаг |
осуществляется |
из последней удачной точки. |
|
|
|
|
|
||
|
Допустим, снова |
шаг |
оказался неудачным, тогда |
осуществляют |
|||
вновь деление предыдущего шага пополам до тех пор, пока последний шаг не будет меньше или равен заданной точности поиска.
В этой точке определяют вновь частные производные по осям координат от рассматриваемой функции, из которых выбирают наибольшую. Предположим, что это направление будет по оси х2, по которой продолжают движение по вышеизложенному алгоритму до следующего экстремума по заданному направлению и т.д.
Алгоритм по ска следующий: |
|
|
f (x ) |
|
||||||||||||
|
j |
|
j |
|
|
|
|
|
|
|||||||
|
|
|
1 |
|
|
|
|
|
|
|
i |
|
|
|||
|
x x |
|
|
|
|
h |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
x |
|
|
||||||||
Сi |
i |
|
|
|
|
|
|
|
j 1 |
|||||||
при этом: |
|
|
|
|
|
|
|
|
|
|
|
|
i |
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1, |
если |
f(xi) |
max; |
|
||||||
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
||
и |
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
0, |
если |
f(xi ) |
max; |
|
||||||||
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
xi |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
f(xi) min. |
|||||||
|
|
|
|
|
|
1, если |
||||||||||
|
|
|
|
|
|
|
|
|
|
xi |
|
|
||||
Движение по вышеизложенному методу осуществляется до тех пор, |
||||||||||||||||
|
бА |
|||||||||||||||
пока не будет достигнут экстремум с заданной точностью поиска. Иначе |
||||||||||||||||
при очередном изменении направления движения первый шаг окажется |
||||||||||||||||
неудачным. Тогда последняя удачная точка является результатом решения |
||||||||||||||||
рассматриваемой задачи [4]. |
Д |
|||||||||||||||
|
|
|
|
|
|
|
|
|||||||||
|
Метод наискорейшего спуска (крутого восхождения) |
|||||||||||||||
Метод крутого восхождения (наискорейшегоИспуска) сочетает наилучшие свойства предыдущих методов и сводится к следующему:
а)определяется градиент в исходной точке; б)в направлении градиента осуществляется не один шаг, как в методе
градиента, а несколько шагов, пока не будет достигнут экстремум в данном направлении. Причем, каждый последующий шаг удваивается после того, как предыдущий шаг окажется удачным. Шаг считается удачным, если в результате движения функция улучшается, т.е. увеличивается при поиске максимума и уменьшается при определении минимума;
25