|
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Численные методы решения одномерных задач оптимизации
ОДНОМЕРНАЯ ОПТИМИЗАЦИЯ В данном разделе не делается упор на поиск именно минимума, тем более что практически все методы могут искать и минимум, и максимум при незначительных изменениях в алгоритмах. Действительно для того, чтобы найти максимум (минимум) функции нужно искать минимум (максимум) целевой функции с противоположным знаком. В данном разделе рассматриваются методы решения одномерных задач оптимизации вида R(x) -> max, Метод сканирования Метод заключается в последовательном переборе всех значений Достоинство метода в том, что можно найти глобальный максимум критерия, если R(x) — многоэкстремальная функция. К недостаткам данного метода относится значительное число вычислений R(x), что в случае сложной функции R(x) требует существенных затрат времени. Метод деления пополам Метод основан на делении текущего отрезка [a, b], где содержится искомый экстремум, на две равные части с последующим выбором одной из половин, в которой локализуется максимум в качестве следующего текущего отрезка. Экстремум локализуется путем сравнения двух значений критерия оптимальности в точках, отстоящих от середины отрезка на
в противном случае — на левой.
Иллюстрация метода половинного деления Процесс поиска завершается при достижении отрезком [a, b] величины заданной погрешности Пример. Дана функция R(x) = 100*sin(x+1). Найти максимум на интервале: [-1, 2]. Ошибка задается по х: Метод золотого сечения Метод основан на делении текущего отрезка [a, b], где содержится искомый экстремум, на две неравные части, подчиняющиеся правилу золотого сечения, для определения следующего отрезка, содержащего максимум.
Золотое сечение определяется по правилу: отношение всего отрезка к большей его части равно отношению большей части отрезка к меньшей. Ему удовлетворяют две точки с и d, расположенные симметрично относительно середины отрезка.
Путем сравнения R(c) и R(d) определяют следующий отрезок, где содержится максимум. Если R(d) > R(c), то в качестве следующего отрезка выбирается отрезок [a, c],
Если же R(d) < R(c), то — отрезок [a, c].
Новый отрезок снова делится на неравные части по правилу золотого сечения. Следует отметить, что точка c и в том и другом случаях входит в интервал поиска. Поэтому на каждой следующей итерации (кроме " запуска" метода на исходном отрезке) нужно вычислять только одно значение критерия оптимальности. Существуют аналитические формулы для расчета новой точки на отрезке, где находится максимальное значение R(x), которую нетрудно получить:
Условие окончания поиска — величина отрезка, содержащего максимум, меньше заданной погрешности. Метод обеспечивает более быструю сходимость к решению, чем многие другие методы, и применим, очевидно, только для одноэкстремальных функций. В практических задачах под одноэкстремальной функцией понимают функцию, содержащую один экстремум того типа, который ищется в задаче. Пример. Дана функция R(x)=sin(x+1). Найти максимум на интервале: [-1, 2]. Ошибка задается по х: e =0, 05. Результаты расчетов. Для " запуска" метода найдем две симметричные точки золотого сечения для отрезка [-1, 2]: x1 =0, 146, x2 =0, 854. Значения критериев в этих точках соответственно R(x1) =0, 911, R(x2 =0, 960. Следовательно, новым отрезком является [0, 146, 2], внутри которого находится максимальное из найденных значений R. Точка золотого сечения для нового отрезка будет x3 =0, 583, a R(x3) =0, 999 Популярное:
|
Последнее изменение этой страницы: 2016-07-12; Просмотров: 1020; Нарушение авторского права страницы