Алгоритм равномерного поиска
Рассмотрим следующую задачу условной оптимизации: найти минимум одномерной унимодальной функции (
), определенной в замкнутой области допустимых значений
=[
,
],
Идея алгоритмов, относящихся к методу сокращения текущего интервала неопределенности, состоит в исключении в процессе поиска из рассмотрения тех подынтервалов, в которых в силу унимодальности функции (
) точка
отсутствует.
Текущий интервал неопределенности будем обозначать ТИН, а его длину |ТИН|. Так что, если , то
.
В алгоритме равномерного поиска испытания проводятся в точках, которые определяются путем равномерного деления интервала [ ,
] на
одинаковых подынтервалов. Из вычисленных значений функции
выбирается наименьшее. Пусть это значение достигается в точке
. Тогда в связи с унимодальностью функции
подынтервалы
,
можно исключить из рассмотрения, т.е. сделать очередным интервалом неопределенности интервал
. Алгоритм относится к классу пассивных методов поиска.
Более строго описанную схему алгоритма можно записать в нижеследующем виде.
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 на четыре равные части: хс = ![]() ![]() ![]() |
Вычисляются значения функции 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, находится из условия
Метод золотого сечения
Рассмотрим следующую задачу условной оптимизации: найти минимум одномерной унимодальной функции (
), определенной в замкнутой области допустимых значений
=[
,
],
(
)=
(
).