Здравствуйте! Есть следующая задача:
Имеется дискретная функция, заданная на конечном числе элементов:

, где
Необходимо найти

,при котором функция достигает минимума.
Сейчас это решается так: Заменяем

на непрерывную фунцкию

.

, при

.
Постепенно уменьшая

, находим на каждом шаге локальный минимум

, для каждого нового

стартуем с предыдущего минимума. Этот метод очень напоминает GNC(Graduated non-convexity)...
Вопрос: какие существуют еще методы ? ( без перехода к непрерывной функции) Где можно об этом почитать?
То, что было найдено: Алгоритм имитации отжига (Simulated annealing) не подходит (уж оч медленно считается).