- •Введение
- •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.2.1. Эффективность алгоритмов одномерного поиска
При решении конкретных задач параметрической оптимизации обычно ориентируются на некоторые математические свойства критерия оптимальности Q(x), которые характерны для рассматриваемого класса экстремальных задач. Тем самым, выделяя какие-либо особенности функции Q(x), мы формализуем (сознательно или интуитивно) класс KQ функций, обладающих одними и теми же фиксированными свойствами. Например, такими свойствами могут быть количество локальных минимумов, выпуклость или дифференцируемость функции, предельная оценка для значений ее первых производных и т.д.
В данной главе рассмотрим функции одного переменного Q(x), принадлежащие классу унимодальных функций KQ. Для определенности предположим, что решается задача минимизации унимодальной функции Q(x), определенной на интервале [а,b]:
(3.9)
Тогда минимизируемая функция Q(x) имеет на заданном интервале [a,b] единственную точку х* (а < х < b), в которой достигается наименьшее значение Q(x*).
Точное определение унимодальности можно сформулировать следующим образом: унимодальная функция — одномерная функция Q(x), которая для любых , таких, что удовлетворяет условиям:
Из определения следует, что унимодальная функция Q(x) с возрастанием переменной х строго убывает при (рис. 3.1, а) и строго возрастает при x > x* (рис. 3.1, б). В общем случае график унимодальной функции не должен иметь горизонтальных участков («плато»), хотя сама функция может быть недифференцируемой, разрывной, неопределенной в некоторых точках и т.д. Примером унимодальных функций являются строго выпуклые функции (рис. 3.1, а), хотя существуют и невыпуклые унимодальные функции (рис. 3.1, б). В то же время выпуклая функция, имеющая «плато», не является унимодальной функцией (рис. 3.1, в).
Относительно минимизируемой функции Q(x) сделаем следующие предположения, обычно имеющие место в задачах параметрической оптимизации:
- при решении задачи оптимизации (3.9) используется информация только о значениях минимизируемой функции Q(x);
- испытания, связанные с вычислением значения функции Q(x), могут быть проведены в любой точке интервала [a, b];
- каждое испытание может быть выполнено без ошибки, либо последняя настолько мала, что ею можно пренебречь;
- вычисление значения функции Q(x) в каждой точке требует больших затрат машинного времени, в связи с чем число допустимых испытаний считается ограниченным и равным N;
- отличие между значениями функции Q(x1) и Q(x2) можно обнаружить только тогда, когда точки равновесны между собой на величину минимально допустимого сдвига При этом сдвиг с одной стороны, не может быть меньше машинного нуля, а , с другой стороны его нецелесообразно выбирать больше точности (числа верных десятичных знаков), с которой задается значение переменной х.
Р ис. 3.1. Строго выпуклая (а), унимодальная (б) и выпуклая неунимодальная (в) одномерные функции
Перед началом решения задачи оптимизации (3.9) положение точки х* неизвестно и она может находится в любом месте интервала [a, b]. Поэтому исходный интервал [a, b] обычно называется априорным интервалом неопределенности. Значения параметров а и b, которые определяют длину априорного интервала неопределенности, могут быть либо заданы из физических соображений, связанных с конкретной задачей оптимального проектирования, либо проучены с помощью следующей вычислительной процедуры.
1) Задают любую точку х1 и некоторый шаг h > 0; вычисляют значение функции Q(x1).
2) Вычисляют значение функции Q(x1+h).
3) Если Q(x1+h) < Q(x1), то {принимают x2 = x1 + h, k = 2 и переходят к шагу 5}, иначе {принимают h = -h, вычисляют значение Q(x1+h) и переходят к шагу 4}.
4) Если , то {принимают h = h/2 и переходят к шагу 2}, иначе {принимают и переходят к шагу 5}.
5) Принимают и вычисляют значение функции .
6) Если , то { k = k + 1 и переходят к шагу 5 }, иначе {принимают }.
Рассмотренная процедура позволяет получить априорный интервал неопределенности длиной (b - а), который с помощью преобразования х' = (х - а)/(b - а) легко сводится к единичному отрезку [0,1]. В дальнейшем будем считать, что в задаче оптимизации (3.9) а = 0 и b = 1, т.е. минимизация функции Q(x) проводится на единичном интервале [0,1].
Чтобы решить задачу (3.9), необходимо выбрать конкретный алгоритм Fi из некоторого класса АF алгоритмов, позволяющих путем проведения в априорном интервале неопределенности N испытаний в точках (x1, x2, …, xN) локализовать точку локального минимума х* в подынтервале [aN, bN] меньшей длины, чем исходный интервал [0,1]. В дальнейшем подынтервал [aN, bN] будем называть апостериорным интервалом неопределенности. В зависимости от правила расположения точек испытаний (x1, …, xN) можно выделить два класса алгоритмов поисковой оптимизации: пассивные и последовательные.
Пассивные алгоритмы — алгоритмы, в которых точки испытаний (x1, …, xN) выбираются заранее до начала вычислений и в процессе поиска уже не меняются.
Последовательные алгоритмы — алгоритмы, в которых информация о значениях минимизируемой функции, полученная на предыдущих шагах поиска, используется для определения последующих точек испытаний.
Рассмотрим класс последовательных алгоритмов , называемых методами сокращения интервала неопределенности. Основная идея этих алгоритмов заключается в том, что на каждом n-м шаге поиска путем исключения тех подынтервалов, в которых в силу унимодальности функции Q(x) точка х* не содержится, определяется текущий интервал неопределенности [an+1, bn+1], удовлетворяющий следующим условиям:
(3.10)
Из системы неравенств (3.10) следует, что методы сокращения интервала неопределенности позволяют построить последовательность подынтервалов , которая стягивается к точке локального минимума х. Длина lN апостериорного интервала неопределенности [aN,bN] зависит как от выбранного алгоритма , указывающего правило расположения точек испытаний (xi,...,xN), так и от вида минимизируемой функции Q(x), определяющей конкретный индекс k, при котором достигается минимальное значение функции среди всех проведенных N испытаний:
, (3.11)
где — ближайшие испытания, которые расположены по обе стороны от точки хk, обеспечивающей наименьшее значение функции Q(x):
(3.12)
Соотношение (3.11) является следствием следующего свойства унимодальных функций. Если для трех точек таких, что
(3.13)
выполняются следующие условия:
(3.14)
то точка локального минимума х* принадлежит отрезку
Величину апостериорного интервала неопределенности lN (Q, Fi) можно интерпретировать как погрешность решения задачи минимизации функции Q(x) с помощью алгоритма Fi. При этом, чем меньше значение погрешности lN (Q, Fi), тем точнее будет локализована точка локального минимума х* и, следовательно, тем точнее будет алгоритм Fi. Однако минимизация одним и тем же алгоритмом различных унимодальных функций может привести к разной величине апостериорных интервалов неопределенности, что не позволяет погрешность lN (Q, Fi) использовать в качестве критерия эффективности для сравнения алгоритмов . В то же время, если для каждого фиксированного числа испытаний N рассматривать самый большой апостериорный интервал неопределенности из всех возможных для класса унимодальных функций, то его длина определяется только алгоритмом Fi (правилом размещения точек испытаний (x1, ..., xN) на априорном интервале неопределенности) и не будет зависеть от результатов испытаний:
, (3.15)
где lN (Fi) — гарантированная точность алгоритма Fi которая равна погрешности lN (QFi) решения с его помощью задачи (3.9) для самой "плохой" для него функции из класса унимодальных функций KQ. Соотношение (3.15) позволяет сравнивать между собой различные алгоритмы из одного и того же класса : алгоритм предпочтительнее алгоритма , если гарантированная точность алгоритма F1 меньше гарантированной точности алгоритма F2:
.
Теперь нетрудно ввести понятие наилучшего (оптимального) алгоритма как алгоритма, который обеспечивает минимальное значение гарантированной точности на классе унимодальных функция :
(3.16)
Такой подход к выбору наилучшего алгоритма унимодального поиска называется минимаксным подходом (принципом гарантированного результата), который позволяет гарантировать при использовании алгоритма Т* погрешность решения задачи оптимизации (3.9) не хуже значения гарантированной точности , хотя при благоприятном стечении обстоятельств может быть получено меньшее значение погрешности