Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Оптимизация, численные методы.pdf
Скачиваний:
357
Добавлен:
20.06.2014
Размер:
909.58 Кб
Скачать

7. ИТЕРАЦИОННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

Для большинства оптимизационных задач нахождения аналитического решения уравнения (6.2) вызывает существенные, а часто и непреодолимые трудности. Тогда используют итерационные (приближенные) методы поиска решения x* оптимизационной задачи на открытом мно-

жестве D = {x | x< x < x+}.

Итерация – многократное выполнение одного и того же действия. Итерационные методы решения оптимизационной задачи заключаются в многократном применении одной и той же математической операции к xk и получения последовательности точек x1, x2,…, xk (где k – номер итерации k = 0,1,2,….), сходящейся к точному решению x*, т.е.:

xk x*

0 при k → ∞

(7.1)

7.1.Алгоритм итерационного метода

1.Выбирается начальное приближенное x0, (желательно x0 выбирать в окрестности точки x*).

2.Через известное k-ое приближение xk (где k – номер итерации k=0,1,2,...) из множества D и значения f0(xk), f0'(xk), f0"(xk) вычисляется новое k+1 приближение по формуле:

xk +1 = xk + x ,

(7.2)

где x = g[ f0 (xk ), f0 '(xk ), f0"(xk )],

а так же значения f0(xk+1),

f0'(xk+1), f0"(xk+1).

 

3.На каждом шаге итерации проверяется условие улучшаемости решения задачи минимизации

f0 (xk +1) < f0 (xk ), (k = 0,1,2,...) ,

(7.3)

4.Если условие (7.3) выполняется, то xk = xk+1, f k = f k+1, k = k+1 и переходим на п.2, если нет, то переходим к п.5.

59

5.При нарушении условия (7.3) осуществляется либо уменьшение шага x и вычисление нового приближения, либо остановка итерационной процедуры (если | x| eps, где eps – погрешность) и точка xk объявляется приближенным решением x* экстремальной задачи.

В зависимости от структуры зависимости x итерационные методы делятся на три группы:

1)нулевого порядка ( x зависит от f0(xk) или от шага h);

2)первого порядка ( x определяется через f0(xk) и f0'(xk)) (методы одномерного градиента, тяжелого шарика);

3)второго порядка ( x зависит от f0(xk), f0'(xk), f0"(xk)) (метод

Ньютона).

К числу методов нулевого порядка относятся методы сканирования, дихотомии, "золотого" сечения, чисел Фибоначчи и квадратичной интерполяции.

Порядок итерационной процедуры существенно влияет на скорость приближения xk к x*.

Использование в x информации о скорости изменения f0'(xk), в точке xk, и тем более об ускорении f0"(xk) позволяет увеличивать на каждой итерации шаг x, и расстояние (xk x*) будет убывать тем быстрее, чем выше порядок итерационной процедуры. Грубо говоря, число итераций уменьшается приблизительно в 10 раз при увеличении порядка метода на 1.

Применение итерационных методов высокого порядка для поиска экстремума f0(x) хотя и приводит к уменьшению числа итераций k, но не всегда позволяет сократить при этом объем необходимых вычислений на ЭВМ, так как для плохо дифференцируемых f0(x) вычисление производных более трудоемко, чем вычисление самих функций. Поэтому чаще всего используются итерационные методы нулевого и первого порядка.

60

7.2. Метод сканирования

Метод сканирования (перебора) применяется для непрерывно вы-

пуклых функций.

 

 

 

 

Поиск минимума функции f(x),

определенной на

множестве

D = {x : xx x+} осуществляется путем последовательного вычисле-

ния значений функций f (xk) в точках (узлах) xk.

 

xk +1 = xk + x,

k = (0,2,..., N 1),

где N = (x+ x) /

x.

Величину шага

выбирают

из соображения точности

поиска x*

( x~ε). Чем больше N (тем меньше

x), тем точнее x*, но это увеличивает

одновременно объем вычислений на ЭВМ.

Сравнивая значения функции цели в узлах xk, находят наименьшее значение, которое принимают за f0(x*) = min f (xk). Нужно учитывать, что величину шага x нельзя выбирать большую. Например, если мы возьмем N = 6, то из-за небольшого числа точек мы пропустим узкий "язык" (рис.8).

f (x)

x

f (x6)

f (x0) f (x2) f (x1)

f (x4) f (x5)

x – шаг сетки

a

x

x

 

 

 

b

 

 

 

 

 

 

x

x0

x1

x2

x3

x4

x5

x6

Рис.8. Геометрическая интерпретация метода сканирования

Метод сканирования не требует дифференцируемости функции f0(x) и позволяет с погрешностью x находить все точки локальных и глобального минимумов функции на множестве D.

61

7.3. Определение унимодальной функции

Функция f0(x) является унимодальной на отрезке a x b, если она непрерывна на [a,b], и существуют числа α, β, a ≤ α ≤ β ≤ b, такие что

1)f0(x) строго монотонно убывает при a x ≤ α (если a < α);

2)f0(x) строго монотонно возрастает при β ≤ x b (если β < b);

3) f0* = min

f0 (x) = inf f0 (x) (inf нижняя грань) (рис.9 г,д).

 

 

x [a,b]

 

x [α,β ]

 

 

 

 

 

 

 

f0(x)

 

f0(x1) > f0(x2)

f0(x)

f0(x1) < f0(x2)

 

 

 

 

 

 

 

 

f0(x1)

 

 

 

 

f0(x1)

 

 

 

 

f0(x2)

 

 

 

 

f0(x2)

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

a

 

b

 

a

 

 

 

 

 

 

x1

x2

x

 

 

 

x1

x2

x

 

x* в [x1,b]

 

 

x* в [a,x2]

 

 

f0(x)

 

а)

 

 

f0(x)

б)

 

 

 

f0(x1)= f0(x2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f0(x1)

 

 

 

 

 

f0*

 

 

 

 

a

x2

b

 

 

 

 

 

 

 

 

 

 

 

 

x1

x

 

 

 

 

α

β

b x

 

 

 

 

a

 

 

x* в [x1, x2]

f0(x)

 

 

 

 

г)

 

 

 

 

в)

 

 

 

 

 

 

f0*

д)

a

α=β

 

b

x

 

Рис.9. Определение интервала, содержащего точку х*, для унимодальной функции цели

62