![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
|
Берем любую начальную точку и двигаемся от нее с некоторым шагом вдоль первой координатной оси. Вычисляем значение функции в новой точке. Если оно меньше, чем в начальной, то переходим к этой точке. Иначе двигаемся в противоположную сторону. Вычисляем значение функции в этой точке, если меньше, то ее берем за новую, если нет, то от исходной точки двигаемся вдоль другой оси, до тех пор, пока не попадем в новую точку. Если попали в новую точку, то процедуру повторяем. Если не попали в новую точку, то изменяем шаг. Как правило, его уменьшаем.
Опишем вышесказанное с помощью формул.
Обозначим
- координатный (единичный) вектор, у которого на
-ом месте стоит 1.
Пусть точка
есть начальная точка.
- некоторое положительное число, называемое параметром метода.
Предположим
. (1)
Полагаем
. (2)
Условие (2) обеспечивает циклический перебор векторов
, т.е.
.
Вычисляем значение функции
в точке
и проверяем неравенство
. (3)
Если (3) выполняется, то полагаем
(4)
Если (3) не выполняется, то вычисляем значение функции
в точке
и проверяем
. (5)
В случае выполнения (5) полагаем
(6)
Назовем
-ую итерацию удачной, если справедливо либо (3), либо (5). Если
-ая итерация будет неудачной, то необходимо некоторым образом изменить шаг, т.е. параметр метода, а именно полагаем:
(7)
Здесь
- фиксированное число, являющееся параметром метода.
Условие (7) означает, что если за один цикл из n итераций при переборе всех координатных осей с шагом
имеется хотя бы одна удачная итерация, то длина шага
не дробится и сохраняется, по крайней мере, в следующем цикле из n итераций. Если же среди последних n итераций не оказалось ни одной удачной, то шаг дробится.
Дата публикования: 2015-01-13; Прочитано: 222 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!
