Одномерная оптимизация
Одномерная задача
оптимизации формулируется
следующим образом: Найти экстремум
целевой функции
,
заданной на множестве
,
и определить значение проектного
параметра
,
при котором целевая функция принимает
экстремальное значение.
Существование решения
поставленной задачи вытекает из теоремы
Вейерштрасса: Всякая
функция
,
непрерывная на [a,b],
принимает на этом отрезке наименьшее
и наибольшее значения, то есть на [a,b]
![]()
и
:![]()
![]()
.
Эта теорема не доказывает
единственности решения. Не исключена
возможность достижения равных экстремумов
сразу в нескольких точках данного
отрезка. Такая ситуация например имеет
место для периодической функции (например
),
рассматриваемой на отрезке, содержащем
несколько периодов.
Простейший класс целевых
функций случай дифференцируемой функции
на [a,b],причём
функция задана в виде аналитической
зависимости
,и
может быть найдено явное выражение для
.
Нахождение экстремумов таких функций
проводят методами дифференциального
исчисления, известными из высшей
математики: функция
может достигать своего наименьшего и
наибольшего значения либо в граничных
точках [a,b];
либо в точках
и
,
которые обязательно должны быть
критическими, то есть
=0
в этих точках – это необходимое условие
экстремума
,
для определения наименьшего и наибольшего
значений функции
на [a,b]
нужно вычислить её значения во всех
критических точках данного отрезка и
в его граничных точках и сравнить
полученные значения; наименьшее или
наибольшее из них и будет искомым
значением.
Пример:
Найти наименьшее и наибольшее значения
функции
на [1,3].
Решение: Найдём производную этой функции
![]()
Найдём критические точки:
=0
=0![]()
=0,
=2
=0
[1,3]
Для анализа оставляем три точки:
=1![]()
=2![]()
=3
![]()
Сравнивая полученные величины, находим

Здесь уравнение
=0
удалось решить непосредственно. Для
более сложных видов
необходимо использовать численные
методы решения нелинейных уравнений.
Рассмотренный метод, основанный на вычислении производной целевой функции, требует её аналитического представления.
В других случаях, когда целевая функция задана в табличном виде или может быть вычислена при некоторых дискретных значениях аргумента, используют различные методы поиска. Они основаны на вычислениях целевой функции в отдельных точках и выбора среди них наибольшего или наименьшего значений.
Рассмотрим нахождение
минимума функции
на [a,b].
Предположим, что целевая функция
унимодальна,
то есть на данном отрезке она имеет
только один минимум.
В инженерной практике встречаются именно такие целевые функции.
Погрешность приближённого
решения задачи определяется разностью
между оптимальным значением
проектного параметра и приближением к
нему
.
Потребуем
(8.6)
![]()
заданное допустимое значение
Процесс решения задачи
оптимизации методом поиска состоит в
последовательном сужении интервала
изменения проектного параметра,
называемого интервалом
неопределённости. В
начале процесса оптимизации его длина
равна
,
к концу она должна стать меньше
,
то есть оптимальное значение проектного
параметра должно находиться в интервале
неопределённости
,
причём
тогда для выполнения условия (8.6) в
качестве приближения к оптимальному
значению можно принять любое
,
например:
или
или![]()
В последнем
случаедля выполнения
(8.6) достаточно выполнения неравенства
![]()
Наиболее простым способом сужения интервала неопределённости является деление его на некоторое число равных частей с последующим вычислением значений целевой функции в точках разбиения.
Пусть
число элементарных отрезков
- шаг разбиения
Вычислим значения целевой
функции
в
узлах![]()
![]()
Сравнивая полученные
значения
,
найдём среди них наименьшее![]()
Число
![]()
можно
приближённо принять за наименьшее
значение целевой функции
на [a,b].
Очевидно,
для непрерывной
,
то есть близость
к минимуму
зависит от числа точек: с увеличением
числа точек разбиения погрешность в
определении
стремиться
к нулю.
Этот метод называется методом перебора.
Основная трудность: выбор
и оценка погрешности.
Пример: Пусть
начальная длина интервала неопределённости
равна
.
Нужно добиться его уменьшения в сто
раз. Этого легко достичь разбиением
интервала на 200 частей.
Вычислив значения целевой
функции
![]()
,
найдём её минимальное значение
.
Тогда искомым интервалом неопределённости
будет![]()
.
Но можно сократить число
разбиений. Сначала разобьём [a,b]
на 20 частей и найдём интервал
неопределённости длиной 0,1; при этом мы
вычислим значения целевой функции в
точках
![]()
.
Теперь
снова разобьём на 20 частей, получим
искомый интервал длиной 0,01; причём
значения целевой функции вычисляем в
точках![]()
,
так как в точках
и
значения
уже найдены. Таким образом, во втором
случае в процессе оптимизации произведено
40 вычислений значений целевой функции
против 201 в первом случае.
То есть способ разбиения позволяет существенно уменьшить количество вычислений.
Существует ряд специальных методов поиска оптимизации решений: метод деления отрезка пополам, метод золотого сечения, метод Ньютона и так далее, позволяющие сократить объём вычислений и время поиска.
