1)Задаются Вычисляется . Полагается .
2)Осуществляется линеаризация исходной задачи в окрестности точки . Получаем задачу линейного программирования.
3)Находим решение задачи линейного программирования.
4)Полагается
5)Вычисляется
6)Проверяется условие выбора
Если одно из трех условий не выполнилось, то остальные можно и не проверять. Если все три условия выполняются, то осуществляется переход к пункту 7. если нет, то и переход к пункту 5.
7)Проверяются условия окончания вычислений для исходной задачи.
Если условия выполняются, то решения завершаются. Если нет, то полагается переход к пункту 2.
Ответ: ,.
Для не слишком линейных функций быстрее использовать подход , который дает более быструю сходимость.
Для этого в пунктах алгоритма:
1)
4)вместо использовать .
2 способ определения .
Решаем задачу линейного программирования. Проверяем условия:
Если условия не выполняются, то вычисляется покомпонентно.
(4.5)
Выбирается так, чтобы выполнялись условия (4.2)
– начальное значение
– коэффициент дробления шага.
1)
2)
Недостаток: для существенно нелинейных функций этот метод сходится медленно, а может и вообще не сходится.
Для устранения этого недостатка может использоваться следующая модификация МАПа (сходимость гарантируется)
Добавляем ограничение:
, где
– некоторый параметр
Находится решение и проверяется условие:
Если не выполняется, то надо уменьшить область () и затем решать задачу линейного программирования.
Недостаток: на каждой итерации приходится решать не одну, а несколько задач линейного программирования, хотя метод и сойдется.