Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
19
Добавлен:
01.06.2015
Размер:
806.46 Кб
Скачать

Презентационные материалы к лекции:

«Прямые методы поиска. Одномерная оптимизации»

по дисциплине «Методы оптимизации»

1

Постановка задачи одномерной оптимизации

Требуется найти максимум (минимум) унимодальной функции одной переменной f(x), заданной на единичном отрезке и не имеющей на ней горизонтальных участков. Задача поиска минимума (максимума) целевой функции формулируется в виде:

x*=arg min (max) f(x), x X,

где X – множество допустимых точек, среди которых ищется точка x*, доставляющая минимум (максимум) f(x) целевой функции.

Другая распространенная запись задачи оптимизации

min (max) f (x) x X

Когда X=R, мы имеем дело с одномерной безусловной задачей оптимизации, т.е. когда целевая функция f(x) имеет только один простой аргумент и область X есть вся вещественная ось чисел

Вметодах одномерной условной оптимизации вместо X=R рассматривается отрезок X=[a,b], содержащей искомое решение x*. Такой отрезок называется отрезком неопределенности, или отрезком локализации. Относительно целевой функции f(x) часто предполагается, что она унимодальная

Основные определения одномерной оптимизации

Функция f(x) называется унимодальной на X=[a,b], если существует такая точка x* X, что

f(x1)>f(x2), если x1<x2<x*, x1,x2 X, f(x1)<f(x2), если x*<x1<x2, x1,x2 X

Если ограничиваться рассмотрением лишь непрерывных функций f(x), то свойство унимодальности функции попросту означает наличие у нее единственного локального оптимума и этот оптимум достигается в точке x=x*

Функция f(x) называется выпуклой на x=[a,b], если f( x1+(1- )x2) f(x1)+(1- )f(x2)

при любых x1,x2, X и всех , 0 1.

Если при любых x1,x2, X неравенство будет строгим, то функция f(x)

называется строго выпуклой

Непрерывная строго выпуклая функция является унимодальной. Однако не всякая унимодальная функция является выпуклой или непрерывной

Изменение величины интервала неопределенности

Результаты одного измерения не могут дать представления о положении максимума Когда есть два измерения f(x1) и f(x2), причем х1 2, возможны три случая:

0

х1

х2

1

0

х1

х2

1

0

х1

х2

1

 

 

 

 

Если f(x1) < f(x2), то из унимодальности функции следует, что max не может находиться в промежутке [0,х1], поэтому этот промежуток может быть исключен из рассмотрения.

Если f(x1) > f(x2) - можно отбросить [x2, 1].

Если f(x1) = f(x2) - максимум находится в интервале [x1, x2]

Врезультате n измерений длина Инт.Неопред.=ln

Интервал содержит в себе точку хк, в которой f(xк) принимает наибольшее значение,

т.е. ln=xk+1-xk-1

Величина всех возможных интервалов [xk+1-xk-1] , к=1,2,…n зависит от размещения

точки хк, т.е. от стратегии поиска, от вида же функции f(xк) зависит, при каком к f(xк) дает max

Зависимость ln от стратегии поиска и от вида функции представим в виде ln = ln(xk,k)

Поставим задачу найти такую стратегию поиска, при которой после n измерений величина ln окажется минимально возможной. Такую стратегию будем называть оптимальной

Введем в рассмотрение интервалы Ln , которые не зависят от вида функции f(x). Для этого достаточно иметь дело не с любыми интервалами, а только с наихудшим, т.е. наибольшими из них, который обозначим

Ln:Ln(xk)= max {ln(xk, k)}.

1 k n

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

L*n min Ln x min

max ln xk , k

xk

xk

1 k n

5

Определим при каких х1 и х2 максимальный из возможных интервалов

длиной 1-х1, х2, х21 окажется минимальным

 

 

 

 

 

* min

L

 

min max

x

 

,1

x

 

Это условие можно записать как L

2

2

x

2

 

 

 

 

 

 

 

1

Решение L2=0.5, при х21=0.5 отвергается из-за того, что х21

 

 

Величина определяет погрешность измерительной аппаратуры,

 

 

позволяющая при х21= обнаружить разницу между

 

 

 

 

 

соответствующими значениями y1=f(x1)

и y2=f(x2)

 

 

 

 

 

В результате экспериментов, когда х1=0.5 - /2 и х2=0.5 + /2 получаем не только требуемое разделение у1 и у2, но и интервал

L*2 min L2 x2 min max = [(0.5 + /2), (1 – (0.5 - /2)_]= 0.5 + /2

/2

0

x1

0.5

x2

1

 

 

 

/2

6

Изменение величины интервала неопределенности после 3 опытов

Проведем измерения, размещение которых на единичном интервале определяется следующими условиями:

х1 0 , х2 х1+ , х3 х2+ , ( 1 х3 т.е. х2+ ≤ х3 ≤ 1).

Пусть имеется некоторое размещение измерений: х1 = 0.2, х2 = 0.6,

х3 = 0.9. При этом длины возможных интервалов неопределенности следующие:

 

 

L3=

 

 

 

 

L3=

 

 

 

L3=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.6

 

 

 

 

0.7

 

 

0.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 х1 х2 х3 1 0 х1 х2 х3 1 0 х1 х2 х3 1

Тогда L3 (0.2, 0,6, 0.9) = max (х2, х31, 1-х2) = max (0.6, 0.7, 0.4) = 0.7.

Можно уменьшить L3 сблизив х1 и х3. Так, при х1=0.3, х2=0.6, х3=0.8, получим х31=0.5. При этом L3 = max{0.6, 0.5, 0.4}=0.6. Теперь, перемещая х2 влево, можно еще уменьшить L3, однако будет увеличиваться величина (1-х2). Поэтому, для выбора х2 следует рассмотреть график функции max g(х2, 1- х2) в интервале 0.3 х1 х2 х3= 0.8:

L3= min max (х2, 1-х2)=0.5, при х2 =0.5, х310.5

Алгоритм пассивного поиска минимума

Отрезок [a,b] исходный отрезок неопределенности. Пусть N - число точек, в которых необходимо провести вычисления целевой функции f(x), т.е. N экспериментов.

Точки, в которых необходимо провести эксперименты, определяются следующим

образом:

Если _ N 2k 1 нечётное, то

 

 

 

 

 

 

b a

 

 

 

x

 

a

 

i

 

i

N 1

 

 

 

 

 

 

i 1,2,3,...N

 

 

 

 

 

 

 

 

 

 

 

 

Если _ N 2k чётное, то

 

 

 

 

 

 

b a

 

 

x

 

a

i

 

2i

 

 

 

 

 

 

 

k 1

 

 

x

2i 1

x

2i

 

 

 

 

 

 

 

 

 

i

1,2,...,k

 

 

 

 

 

 

 

 

 

 

 

Среди вычисленных значений {f(xi)} (i=1,N), ищется точка xj , в которой достигается минимум:

f(xj)= min f()

1 i N

Найденная точка принимается за приближенное решение задачи. Исходный отрезок

неопределенности [a,b] после экспериментов в N точках сужается до [xj-1,xj+1],

длина которого равна:

LN LN (x1 , x2 ,...xN ) max( xi 1 xi 1 ) x

1 i N

 

 

 

b a

,если _ N 2k 1

 

2

 

 

 

 

 

N 1

 

 

 

 

j 1 x j 1

 

b a

 

,если _ N 2k

 

 

 

 

 

 

 

 

 

 

N

2

 

1

 

 

 

 

 

 

 

 

Алгоритм поиска однородными парами

Пара измерений сократила интервал неопределенности почти в два раза, а k пар измерений, равномерно распределенных на интервале (расстояние между экспериментами одной пары составляет ), сокращает этот интервал в (k+1) –раз без учета , а с учетом величина окажется несколько больше, чем [1\ (к+1)].

 

 

 

 

 

 

 

 

 

 

 

 

k L2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

0

 

х1

 

 

 

 

х2 х3

 

 

 

х4

х2k-1

 

 

х2k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L2k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

L2k

 

 

 

 

L2k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L2k-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Точка предпоследнего эксперимента х2k-1 должна быть расположена на расстоянии х2k-1 = k L2k- от начала интервала исследования, а длина последнего возможного интервала, содержащего точку х2k , есть величина интервала L2k-1 = 1 - х2k-1. Потребуем, чтобы L2k-1=L2k, т.е.

1 - х2k-1= 1 – (k L2k- )= 1 - k L2k+ = L2k.

Отсюда имеем: 1 + = L2k (1+k).

Тогда L2k=(1 + ) \ (1+k).

Эта стратегия называется поиск однородными парами

Алгоритм равномерного блочного поиска

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

Схема алгоритма равномерного блочного поиска

Шаг 1. Задаются исходный отрезок неопределенности [a,b], - точность приближенного решения , число экспериментов в блоке – n (нечетное, n=2k-1).

Проводим эксперимент в середине отрезка [a,b], т.е. вычисляем yk=f(xk), где xk=(a+b)/2.

Шаг 2. Проводим эксперименты в остальных точках блока: yi=f(xi), где xi=a+i*(b-a)/(n+1), i=1,2,..,n, i k. Находим точку xj, в которой достигается минимум среди вычисленных значений: f(xj)=min f(xi), следовательно, точное значение минимума x* содержится на отрезке [xj-1,xj+1].

Шаг 3. Полагаем a=xj-1, b=xj+1, xk=xj, yk=yj. Если b-a 2 , то , и поиск заканчивается. Иначе перейти к шагу 2. Если заданная точность достигнута после т итераций, т.е. после экспериментов в m блоках, то длина отрезка неопределенности после всех N вычислений (N=n+(m-1)(n-1)=(n-1)m+1) будет:

 

 

 

b a m

 

 

*

~

1

 

L

N

2

 

 

и

| x

 

x |

 

LN .

 

 

 

 

 

 

 

 

n 1

 

 

 

 

2

 

 

 

 

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]