Поиск глобального экстремума - всегда проблема.
Известные мне численные методы поиска экстремума - локальные. Это очевидно для методов, использующих градиент или якобиан. Но и методы, явно не использующие производные - метод конфигураций, метод симплексов (не путать с симплексным в линейном программировании) и т.п., тоже локальные. Метод случайного поиска (Расстригин) стоит особняком, но и он не гаранитрует глобального экстремума.
Единственный совет который я встречал - искать локальный экстремум, начиная с разных начальных точек.
Вы можете гарантировать глобальность только анализом целевой функции или полным перебором (последнее - НЕ совет
)
Литература:
- Химмельблау Д. Прикладное нелинейное программирование. М.: Мир, 1975
- Ф.Гилл, У.Мюррей, М.Райт. Практическая оптимизация. М.: Мир. 1985
- Fletcher R. Practical Methods of Optimization. Wiley. 1980/81 (Volume 1: Unconstrained Optimization; Volume 2: Constrained Optimization)
По поводу методов.
1. Метод штрафных функций - это способ сведения задачи с ограничениями к задаче без ограничений. Метод для задачи без ограничений все равно нужно выбирать.
2. Метод Ньютона - требует вычисления производных. Для Вашей функции аналитические формулы довольно сложны. Лучше обратите внимание на методы без производных: конфигураций, симплексов, Нелдера-Мида (см.Химмельблау).