Алгоритм равномерного поиска
Рассмотрим следующую задачу условной оптимизации: найти минимум одномерной унимодальной функции
(
), определенной в замкнутой области допустимых значений
=[
,
],

Идея алгоритмов, относящихся к методу сокращения текущего интервала неопределенности, состоит в исключении в процессе поиска из рассмотрения тех подынтервалов, в которых в силу унимодальности функции
(
) точка
отсутствует.
Текущий интервал неопределенности будем обозначать ТИН, а его длину |ТИН|. Так что, если
, то
.
В алгоритме равномерного поиска испытания проводятся в точках, которые определяются путем равномерного деления интервала [
,
] на
одинаковых подынтервалов. Из вычисленных значений функции
выбирается наименьшее. Пусть это значение достигается в точке
. Тогда в связи с унимодальностью функции
подынтервалы
,
можно исключить из рассмотрения, т.е. сделать очередным интервалом неопределенности интервал
. Алгоритм относится к классу пассивных методов поиска.
Более строго описанную схему алгоритма можно записать в нижеследующем виде.
1. Выполняем присваивания
,
,
,
.
2. На текущем ТИН строим равномерную сетку с
+1 узлами (см. рис. 1).
3. Вычисляем значения функции
(
) в узлах построенной сетки
.
4. Находим минимальное из этих значений:

5. Выполняем присваивания
,
,
.
6. Если
, то заканчиваем вычисления. Иначе - выполняем присваивание
=
+1 и переходим на п.2. Здесь x – требуемая точность решения.
|
Рис. 2. Построение сетки на текущем интервале неопределенности.
В качестве приближенного значения точки минимума
с равными основаниями может быть принята любая точка последнего текущего интервала неопределенности.
Первую итерацию приведенной схемы алгоритма равномерного поиска иллюстрирует рис. 3.
|
Рис. 3. Первая итерация поиск минимума одномерной унимодальной функции Ф(х) с помощью алгоритма равномерного поиска: N=13.
Легко видеть, что после одной итерации алгоритма равномерного поиска ТИН уменьшается в
раз. Поэтому количество итераций
, необходимых для нахождения минимума функции с точностью x, может быть найдено из условия

1.2. Метод деления интервала пополам
Метод деления интервала пополам позволяет исключить в точности половину интервала на каждой итерации. Реализация метода основана на выборе трех пробных точек, равномерно распределенных на интервале неопределенности.
Пусть I = b - а длина интервала неопределенности [а,b]. Разделим интервал [а,b] точками x1, xc и х2 на четыре равные части: хс = ; x1= ; x2=b- .
|
Вычисляются значения функции f(
), f(
) и f(x2). Сравниваются полученные значения и находится новый интервал неопределенности следующим образом:
1) если f(x1) < f(xc), то полагают b= хс. Средняя точка нового интервала хс = x1;
2) если f(x2) < f(xc), то полагают а = хс. Средняя точка нового интервала хс = х2;
3) если f(x1) = f(x2), то полагают а = x1, b = х2, хс — остается средней точкой нового интервала.
Затем снова вычисляют координаты х1 , х2 и продолжают поиск до выполнения условия b - а < s. За минимальное значение принимают х* = хс.
Метод дихотомии
Рассмотрим следующую задачу условной оптимизации: найти минимум одномерной унимодальной функции
(
), определенной в замкнутой области допустимых значений
=[
,
],

В алгоритм деления пополам или алгоритме равномерного дихотомического поиска испытания проводятся парами. Координаты каждой последующей пары испытаний разнесены между собой на величину
, где
- требуемая точность решения. Испытания производятся в середине ТИН. По значениям
, полученным в этих точках, одна половина ТИН в силу унимодальности функции
исключается из дальнейшего рассмотрения. Величина
определяется требуемой точностью решения. Алгоритм относится к классу методов последовательного поиска.
Более строго описанную схему алгоритма можно записать в нижеследующем виде.
1. Выполняем присваивания
,
,
,
.
2. Вычисляем величины (см. рис. 1)
;
.
3. Вычисляем значения
функции
(
).
4. Если
, то выполняем присваивания
,
,
. Иначе - выполняем присваивания
,
, 
5. Если
, то заканчиваем вычисления. Иначе - выполняем присваивание
=
+1 и переходим на п.2. 
|
Рис. 4. К определению величин x0r,x1r,x2r.
В качестве приближенного значения точки минимума
с равными основаниями может быть принята любая точка последнего текущего интервала неопределенности.
Приведенную схему алгоритма равномерного дихотомического поиска иллюстрирует рис. 5.
|
Рис. 5. Первые две итерации поиска минимума одномерной унимодальной функции с помощью алгоритма равномерного дихотомического поиска.
Легко видеть, что после одной итерации алгоритма равномерного поиска ТИН уменьшается в 2 раза. Поэтому количество итераций
, необходимых для нахождения минимума функции с точностью x, находится из условия

Метод золотого сечения
Рассмотрим следующую задачу условной оптимизации: найти минимум одномерной унимодальной функции
(
), определенной в замкнутой области допустимых значений
=[
,
],
(
)=
(
).
; x1=
; x2=b-
.