- •Введение
- •1. Интеграция методов оптимизации в структуру сапр
- •1.1. Основные задачи оптимального проектирования
- •1.2. Методы структурной и параметрической оптимизации в сапр
- •1.3. Математическое описание объектов проектирования
- •1.4. Формализация технико-эксплуатационных требований, предъявляемых к объекту проектирования
- •1.5. Классификация задач оптимального проектирования
- •2.2. Математическое описание объектов оптимального проектирования с использованием модели надежности
- •2.3. Математическое описание объектов оптимального проектирования с использованием моделей массового обслуживания
- •3.2. Методы одномерного унимодального поиска
- •3.2.1. Эффективность алгоритмов одномерного поиска
- •3.2.2. Метод дихотомии
- •3.2.3. Обобщенный метод Фибоначчи
- •3.3. Методы безусловной оптимизации
- •3.3.1. Методы многопараметрического поиска без вычисления производных
- •3.3.2. Градиентные методы спуска
- •3.3.3. Методы минимизации квазиньютоновского типа
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
3.2.3. Обобщенный метод Фибоначчи
Для устранения недостатка метода дихотомии, связанного с потерей информации о проведенных на предыдущем шаге испытаниях, потребуем, чтобы информация об одном из проведенных на (k – 1)-м шаге испытании или сохранялась с целью ее использования на k-м шаге. Это позволит проводить в текущем интервале неопределенности [аk, bk] только одно новое испытание. Из рис. 5.3 видно, что для выполнения сформулированного условия необходимо, чтобы при точка совпадала с точкой (рис. 3.3, а), а при точка совпадала с точкой (рис. 3.3, б).
В качестве критерия эффективности выбора новой точки испытания, как и в методе дихотомии, будем использовать требование (3.17), чтобы наибольшая длина текущего интервала неопределенности была как можно меньше. Для выполнения этого требования при заданном расположении точки ( ), точку нового испытания ( ) необходимо назначить таким образом, чтобы пара точек располагалась на отрезке эквидистантно от обоих его концов, соответственно, в подынтервалах [аk, (аk+bk)/2] и [(аk+bk)/2, bk]:
(3.22)
Условия (3.22) выполняются, если точки испытаний вычисляются по формулам:
(3.23)
, (3.24)
где
0 ≤ tk ≤ ½ (3.25)
При этом длина интервала неопределенности [аk+1,bk+1] не зависит от вида функции Q(x) и вычисляется по формуле:
bk+1 – ak+1 = – ak = bk – = (1 – tk)(bk – ak) (3.26)
Можно сказать, что при точка совпадает с точкой , а при точка совпадает с точкой , если коэффициент tk в формулах (3.23) — (3.24) удовлетворяет соотношению:
(3.27)
Из (3.26) следует, что на первом шаге поиска (k = 0) после проведения двух испытаний текущий интервал неопределенности [a1, b2] имеет длину:
b1 – a1 = (1 – t0) (b0 – a0) = 1 – t0, (3.28)
так как априорный интервал неопределенности [а, b] = [а0, b0] является единичным интервалом [0, 1]. На втором шаге поиска (k = 1), учитывая (3.28) имеем:
b2 – a2 = (1 – t1) (b1 – a1) = (1 – t1)(1 – t0). (3.29)
Продолжая аналогичным образом, получим, что после проведения N испытаний наибольшая длина апостериорного интервала неопределенности [аN, bN] будет иметь следующее значение:
(3.30)
Таким образом, согласно принципу гарантированного результата (3.16) построение наилучшего алгоритма поиска , удовлетворяющего введенным выше условиям, сводится к решению экстремальной задачи:
(3.31)
при условии, что
0 ≤ tk ≤ 1/2; (3.32)
(3.33)
Ограничения типа равенства (3.33) позволяют выразить коэффициенты tk через параметр t0:
(3.34)
Здесь uk-2, uk, uk+2 — числа Фибоначчи, которые задаются с помощью рекуррентного уравнения:
uk = uk-1 + uk-2, k = 2, 3, …
u0 = u1 = 1. (3.35)
Аналитическое выражение для N-го числа Фибоначчи задается следующей формулой:
(3.36)
где
При больших значениях N членом в выражении (3.36) можно пренебречь, тогда
(3.37)
Зная аналитические выражения (3.34) для коэффициентов tk+1 вместо ограничений (3.32) — (3.33) можем записать систему неравенств, которая после некоторых преобразований примет вид:
0 ≤ t0 < 1/2; 1/3 < t0 ≤ 1/2; 1/3 ≤ t0 < 2/5
uk+1 / uk+3 < t0 ≤ uk / uk+2, (3.38)
k = 2, 3, …, N – 1.
Система неравенств (5.30) совместна, если параметр t0 удовлетворяет условию:
uN / Un+2 < t0 ≤ uN-1 / uN+1 (3.39)
Чтобы выразить наибольшую возможную длину апостериорного интервала неопределенности lN из (3.30) через параметр (1 – tk), найдем значения разностей (1 – tk):
(1 – t1) = t0 / (1 – t0); (1 – t2) = (1 – 2t0) / t0;
(1 – tk) = – (uk-1 – uk+1 t0) / (uk-2 – uk t0), k = 2, N – 1. (3.40)
Отсюда
(3.41)
Полученное выражение для длины апостериорного интервала неопределенности [аN, bN] и неравенство (3.39) позволяют перейти от экстремальной задачи (3.31) — (3.33) к одномерной задаче оптимизации:
(3.42)
при условии, что
uN / uN+2 < t0 ≤ uN-1 / uN+1
Оптимальным решением сформулированной задачи (3.42) является значение параметра , которое определяется по формуле:
(3.43)
Алгоритм , реализующий правило размещения точек испытаний , в текущем интервале неопределенности [ak, bk] по формулам (3.23) — (3.24), где коэффициенты tk вычисляют по соотношениям (3.27), использующим оптимальное значение параметра из (3.43), называется методом Фибоначчи. Это название метода F2 возникло в связи с тем, что стратегия поиска точки локального минимума х* унимодальной функции Q(x) связана с использованием чисел Фибоначчи (3.36).
Пусть имеется возможность провести N-нечетное число испытаний. На первом этапе, который соответствует первому шагу метода F2 (k = 1), эквидистантно от концов априорного интервала неопределенности [0,1] проводится пара испытаний в точках и , определяемых N-м и (N-1)-м числами Фибоначчи (рис. 3.5, а).
;
(3.44)
Согласно условию унимодальности функции Q(x) перед вторым этапом происходит сокращение априорного интервала неопределенности по информации о ее значениях в точках испытаний и . Если , то а1 = 0 и b1 = ; если то и b1 = 1 (рис. 3.5, б).
Рис. 3.5. Метод Фибоначчи
Второй этап метода F2 включает в себя (N-3) итерационных шага (k= 2,3, …, N-3), на каждом из которых точку очередного нового испытания (или ) выбирают таким образом, чтобы пара точек располагались эквидистантно от обоих концов текущего интервала неопределенности (рис. 3.5, б).
На третьем этапе после проведения (N-1) испытания определяется, по какую сторону от точки (или ), которая сохраняется от предыдущего (N-З)-го шага, лежит точка локального минимума х*. С этой целью последнее N-е испытание проводится вблизи от точки сохранившегося испытания, например, в точке , где — минимально допустимый сдвиг. При этом получается апостериорный интервал неопределенности [aN, bN], длина которого при нечетном числе испытаний N имеет следующую оценку:
(3.45)
На рис. 3.6 показана зависимость отношения длин апостериорных интервалов неопределенности метода дихотомии (F1) и метода Фибоначчи (F2) как функция от числа проведенных испытаний N (при = 0):
(3.46)
Рис. 3.6. Зависимость отношения гарантированных точностей метода дихотомии и метода Фибоначчи от числа проведенных испытаний N при = 0
Из приведенной зависимости видно, что метод Фибоначчи на классе унимодальных функций точнее, чем метод дихотомии. Так, при N = 17, гарантированная точность метода Фибоначчи приблизительно в 8 раз выше, чем гарантированная точность метода дихотомии.
В табл. 3.3 приведены результаты решения задачи оптимизации:
методом Фибоначчи F2 для N = 5 и = 0,02.
Таблица 3.3
|
|
|
|
|
|
|
Этап |
0 |
– |
– |
– |
– |
0 |
1 |
– |
1 |
0,375 |
0,625 |
–0,09375 |
0,15625 |
0 |
0,625 |
1 |
2 |
0,25 |
0,375 |
–0,125 |
–0,09375 |
0 |
0,375 |
2 |
3 |
0,125 |
0,25 |
–0,09375 |
–0,125 |
0,125 |
0,375 |
2 |
4 |
0,25 |
0,27 |
–0,125 |
–0,1242 |
0,125 |
0,25 |
3 |
Апостериорный интервал неопределенности после проведения испытаний имеет длину:
l5(F2) = b5 – a5 = 0,25 – 0,125 = 0,125,
в то время как гарантированная точность метода Фибоначчи, вычисленная по формуле (3.42), равна 0,1325.
Недостатком метода Фибоначчи является то, что априори необходимо задавать фиксированное число испытаний N, так как на первом этапе требуется вычислить N-e и (N-1)-е числа Фибоначчи для определения параметра .
В связи с этим рассмотрим вновь экстремальную задачу (3.31) — (3.33), но при этом потребуем, чтобы на каждом шаге коэффициенты в соотношениях (3.23) — (3.24), связанных с определением пары точек испытаний и , сохранялись постоянными:
. (3.47)
Тогда реализация принципа гарантированного результата (3.16) при выполнении условий (3.25), (3.27) и (3.47) сводится к одномерной экстремальной задаче следующего вида:
(3.48)
при условии, что
0 ≤ ≤ 1/2; (3.49)
. (3.50)
Из решения уравнения (3.50) получаем:
Однако в силу ограничения (3.44) оптимальным решением задачи (3.48) — (3.50) является параметр:
Алгоритм , реализующий правило размещения точек испытаний , в текущем интервале неопределенности [аk, bk] по формулам (3.23) — (3.24), где коэффициенты tk выбирают постоянными и равными параметру , называется методом золотого сечения. Этот метод отличается от метода Фибоначчи только правилом проведения первых двух испытаний (рис. 3.7, а):
(3.51)
Рис. 3.7. Метод золотого сечения
В связи с тем, что точка делит апостериорный интервал неопределенности [0,1] на две части таким образом, что отношение длины всего отрезка к большей части равно отношению большей части к меньшей, такое деление называется золотым сечением. Этим и объясняется название алгоритма .
Отметим некоторые свойства метода золотого сечения:
- на каждом k-м шаге поиска точки испытаний , и располагаются эквидистантно от ближайших к ним концов текущего интервала неопределенности [аk, bk]:
(3.52)
- на каждом шаге поиска, кроме первого, испытание проводится только в одной новой точке или ;
- после каждого шага поиска текущий интервал неопределенности уменьшается в раз:
(bk+1 – ak+1) = (bk – ak); (3.53)
- после проведения N испытаний гарантированная точность определяется следующей оценкой:
lN(F3) = bN – aN = N-1 + ; (3.54)
- при одном и том же числе испытаний N апостериорный интервал неопределенности отличается от апостериорного интервала неопределенности, полученного с помощью метода Фибоначчи, только на 17 % ( = 0):
(3.55)
В табл. 3.4 приведены результаты решения задачи оптимизации:
обобщенным методом Фибоначчи при t1 = 2 (реализация метода золотого сечения F3) для N = 5 и = 0,02
Таблица 3.4
k |
x1 |
х2 |
x3 |
x4 |
Q1 = Q(x3) |
Q2 = Q(x4) |
1 |
0 |
1 |
0,61803 |
0,38197 |
0,14590 |
-0,09017 |
2 |
0 |
0,61803 |
0,38197 |
0,23607 |
-0,09017 |
-0,12461 |
3 |
0 |
0,38197 |
0,23607 |
0,14590 |
-0,12461 |
-0,10333 |
4 |
0,38197 |
0,14590 |
0,23607 |
0,29180 |
-0,12461 |
-0,12151 |
5 |
0,14590 |
0,29180 |
0,23607 |
— |
-0,12461 |
— |
Апостериорный интервал неопределенности после проведения пяти испытаний имеет длину:
l5 (F3) = b5 – а5 = х2 – х1 = 0,29180 - 0,14590 = 0,146,
что совпадает с гарантированной точностью метода золотого сечения, вычисленной по формуле (3.50). Полученная методом золотого сечения F3 погрешность превышает погрешность метода Фибоначчи F2 не более, чем на 17 %:
lN (F3) / lN (F2) =1,1672.
При больших значениях N метод золотого сечения и метод Фибоначчи практически начинаются в одних и тех же точках испытаний и . Например, уже при N = 7 имеем u5/u7 = 8/21 ≈ 0,381 и 2 ≈ 0,382. Этот факт позволяет реализовать алгоритмы F2 и F3 в виде единой процедуры (рис. 3.8) — обобщенного метода Фибоначчи при различных значениях параметра t1:
(3.56)
В качестве условия окончания поиска в обобщенном методе Фибоначчи (модуль "Поиск закончен" в блок-схеме на рис. 3.8) может использоваться, например, фиксированное число испытаний N, точность определения погрешности локализации точки локального минимумах и т.д.
Рис. 3.8. Структурная схема поиска минимума по алгоритму, реализующему обобщенный метод Фибоначчи