Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
чис_мет_3.doc
Скачиваний:
29
Добавлен:
13.11.2019
Размер:
1.34 Mб
Скачать

1.1. Методы перебора

1.1.1. Метод равномерного поиска

Метод равномерного поиска является простейшим из прямых методов одномерной оптимизации и состоит в следующем.

Отрезок [a ;b] разбивается на n равных частей точками деления

xi = a + i×(b-a)/n, i=0,...,n. (1.4)

Сравнением значений функции f(x) во всех точках xi, , находится точка хk: 0 £ k £ n, для которой

f(xk)=min  f(x0), f(x1),… f(xn). (1.5)

Полагая х*»xk , f*»f(xk), получается решение задачи (1.1) с погрешностью, не превосходящей величины

en= . (1.6)

Для того, чтобы обеспечить требуемую точность e определения точки x*, число n отрезков разбиения необходимо выбирать из условия en £ e, т.е. назначить

n ³ . (1.7)

1.1.2. Метод поразрядного поиска

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

Очевидно, если окажется, что f(xi+1) ³ f(xi), то отпадает необходимость вычислять f(x) в точках xi+2, xi+3,…, xn, т.к. в силу унимодальности функции f(x) x*£xi+1. Кроме того, целесообразно сначала грубо определить отрезок, содержащий x*, т.е. найти точку x* с небольшой точностью, а затем искать её на этом отрезке с меньшим шагом, повышая точность. Реализация этих возможностей улучшения метода перебора и приводит к методу поразрядного поиска.

В методе поразрядного поиска перебор точек отрезка предлагается выполнять сначала с достаточно большим шагом h=xi+1  xi>e ( например, h=(b  a)/4 ) до тех пор, пока не выполнится условие f(xi+1) ³ f(xi) или пока очередная точка не совпадет с концом отрезка. После этого шаг уменьшается и перебор точек с новым шагом производится в противоположном направлении до тех пор, пока значения функции снова не перестанут уменьшаться или пока очередная точка не совпадет с другим концом отрезка. Описанный процесс завершается, когда перебор в данном направлении закончен, а использованный при этом шаг h не превосходит e.

Таким образом получается следующий алгоритм метода поразрядного поиска.

Шаг 0. Задать параметр точности e > 0, выбрать начальный шаг h=(b  a)/4, положить x0=a, вычислить f(x0).

Шаг 1. Найти очередную точку x1= x0+h, вычислить f(x1).

Шаг 2. Сравнить значения функции f(x0) и f(x1). Если f(x0)>f(x1), то перейти к шагу 3, иначе – к шагу 4.

Шаг 3. Положить x0= x1 и f(x0)=f(x1). Проверить условие x0Î(a ;b ). Если

a<x0<b, то перейти к шагу 1, иначе – к шагу 4.

Шаг 4. Проверить условие окончания поиска | h | £ e. Если оно выполняется, то вычисления завершить, положив х*»x0 , f*»f(x0), иначе–перейти к шагу 5.

Шаг 5. Изменить направление и шаг поиска, положив h=-h /4, x0=x1, f(x0)=f(x1). Перейти к шагу 1.

1.2. Методы исключения отрезков

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

Пусть на интервале (a;b) выбраны две пробные точки x1 и x2, такие что a<x1<x2<b и вычислены значения f(x1) и f(x2). В силу унимодальности минимизируемой функции f(x) можно сократить отрезок поиска точки x*, перейдя к отрезку [a; x2], если f(x1) £ f(x2), или к отрезку [x1;b] , если f(x1)>f(x2). Повторяя эту процедуру до тех пор, пока длина последнего из полученных отрезков не станет достаточно малой, в качестве точки минимума можно взять одну из точек последнего отрезка, например, его середину. Методы, использующие такой способ последовательного уменьшения отрезка, содержащего точку минимума, называют методами исключенных отрезков. Друг от друга они отличаются лишь способом выбора пробных точек. Наибольшее распространение на практике получили метод дихотомии и метод золотого сечения.