Одномерная оптимизация

Общие положения.

Методы оптимизации позволяют найти экстремум функции в практических задачах. Все многообразии методов оптимизации можно классифицировать следующим образом:

1. По размерности решаемой задачи: одномерные и многомерные.

2. По способу формирования шага многомерные методы делятся на градиентные, безградиентные и случайные.

3. По наличию активных ограничений: безусловные и условные.

Рассмотрим задачу вида:

Решением задачи называется х*, при котором R(х*)≥R(x) для

При практическом решении задач не будем различать два значения хi и хi+1, если где ε – заданная погрешность решения.

Если возникает задача нахождения минимума R, то всегда можно перейти к новому критерию R1=–R, который необходимо максимизировать.

Метод сканирования заключается в последовательном переборе всех значений х на [a,b] с шагом ε и вычислении критерияоптимальности R в каждой точке. Точка, в которой R принимает максимальное значение, принимается за решение задачи оптимизации.

На практике можно реализовать одну из основных модификаций метода – последовательное уточнение решения. На первом этапе сканирование осуществляют с крупным шагом. Затем отрезок, внутри которого получено наибольшое значение R, разбивается на более мелкие отрезки для нахождения уточненного значения экстремума.

Главный недостаток метода – возможность пропуска «острого» глобального максимума.

Метод дихотомии (половинного деления) заключается в делении заданного отрезка на две равные части с последующим выбором одной из них, в которой локализуется экстремум. Выбор отрезка осуществляется путем сравнения двух значений критерия оптимальности в точках, отстоящих от середины отрезка на ε/2.

Пусть х – середина [a,b]. Если R(x+ ε/2)=R(x- ε/2), то максимум достигается в точке х. Если R(x+ ε/2)>R(x- ε/2), то максимум располагается на правой половине текущего отрезка и для дальнейшего поиска выбирается отрезок [x- ε/2, b], в противном случае –
[a, x+ ε/2].

Процесс поиска завершается при достижении отрезком, на котором находится экстремум, величины ε.

Метод золотого сечения основан на делении текущего отрезка [a,b]на неравные части, подчиняющиеся правилу золотого сечения, с последующим выбором отрезка, содержащего экстремум.

Золотое сечение определяется по правилу: отношение всего отрезка к большей части равно отношению большей части к меньшей. Этому правилу удовлетворяют две точки c и d , расположенные симметрично относительно середины отрезка: . Если R(c)>R(d), то для поиска максимума выбирается [a,d], в противном случае – [c,b]. Процесс поиска завершается при достижении отрезком, на котором находится экстремум, величины ε.

Найдем золотое сечение ξ на отрезке [0,1]: ξ2-3ξ+1=0 На отрезке существуют две точки золотого сечения. Получим аналитические формулы для расчета точек золотого сечения отрезка [a,b]:

.

ЗАДАЧА 6.1. Найти максимум функции y=x3–x на [-1,0]:

РЕШЕНИЕ.

1) Метод сканирования

x -1 -0,9 -0,8 -0,7 -0,6 -0,5 -0,4 -0,3 -0,2 -0,1
y 0,171 0,288 0,357 0,384 0,375 0,336 0,273 0,192 0,099

Максимальное значение находится на отрезке [-0,7; 0,5]:

Уточним значение, уменьшив интервал сканирования до 0,01

x -0,7 -0,69 …… -0,64 -0,63 -0,62 -0,61 -0,6 -0,59 -0,58 -0,57
y 0,36 0,361   0,378 0,38 0,382 0,383 0,384 0,3846 0,38489 0,38481

С точностью 0,01 максимум у=0,3849 достигается в точке х=-0,58

2)Метод дихотомии

Выберем точность е=0,05

a b x=(a+b)/2 x-e/2 x+e/2 y(x-e/2) y(x+e/2)
-1 -0,5 -0,55 -0,45 0,38363 0,35888
-1 -0,45 -0,725 -0,775 -0,675 0,30952 0,36745
-0,755 -0,45 -0,6025 -0,653 -0,553 0,37469 0,38385
-0,653 -0,45 -0,5515 -0,602 -0,502 0,38388 0,37537
           

3) метод золотого сечения

a b c d y(d)
-1 -0,618 -0,382 0,382 0,3263
-1 -0,382 -0,764 -0,618 0,318 0,382
-0,764 -0,382 -0,618 -0,528 0,382 0,3808
         

Задание 6.1.

Продолжить вычисления в задаче 6.1 по методам дихотомии и золотого сечения