logo search
учебники и задачи по числ методам / Дьяконов_В

2.6.3. Поиск минимума тестовой функции Розенброка

Описанные выше приемы можно распространить и на случаи оптимизации функций двух и более переменных. При этом приходится переходить от решения одного уравнения к решению системы уравнений, что в Mathcad не принципиально.

Для проверки алгоритмов оптимизации математики придумали множество каверзных функций, называемых тестовыми функциями. Обычно эти функции имеют какие-то особенности, вызывающие большие трудности при реализации типовых алгоритмов оптимизации. Тестирование их по этим функциям дает наибольшую гарантию в получении правильных результатов оптимизации. Одной из таких функций является функция Розенброка.

Пример 2.30. Найти минимум функции Розенброка, представленной на рис. 2.7. Там же показано решение этой задачи с помощью функции Minerr.

Рис. 2.7. Минимизация функции Розенброка с помощью функции Minerr системы Mathcad

Из этого документа хорошо видно, что примененный для функции одной переменной прием (приравнивание к нулю производной функции) вполне применим и для функции двух переменных. Точное значение функции 0 при x=y=1. На рис. 2.7 построен также график трехмернойповерхности, описываемой функцией Розенброка. Из это го графика видно, что эта поверхность и впрямь напоминает овраг с очень пологим дном, что и затрудняет поиск ее минимума, значение которого 0 при x=y=1 видно при первом взгляде на функцию. К сожалению, по осям x и y у графика функции отложены не реальные значения x и y, а значения индексов матрицы поверхности M.