Посоветуйте алгоритм оптимизации
Рассматриваем каждую из точек Аi, в которых определена функция (их около 1000000). Дальше рассматриваем все соседние точки (их от 6 до 26, в зависимости от того, что считать экстремумом). Если значение Ai минимально среди своих соседей, то это локальный минимум.
Сложность процедуры - от 6*10^6 до 26*10^6
соседей 4 или 8?
почитать можно тут с 13 страницы
4или 8 это не для трехмерной
Берем начальную точку и спускаемся туда, где значение меньше. Если функция дискретная, то других алгоритмов и не придумаешь.
Simulated Annealing?
![](/images/graemlins/smile.gif)
![](/images/graemlins/blush.gif)
Есть оптимизация брутфорса. Она позволит снизить сложность брутфорса с 6*n^3 до 3*n^3. Но это вряд ли понадобится
Может и понадобиться, сложность конкретной задачи - 26*10^6
получится что-то вроде n^3 + 24*m
(m - точек минимальных по выбранному направлению)
их наверняка будет не сильно больше чем искомых, если конечно функция не вида (-1)^(x+y+z)
![](/images/graemlins/wink.gif)
Оставить комментарий
stm7583298
Есть равномерная трехмерная сетка со значениями некоторой функции, не очень большая (около 100 точек на каждой стороне). Функция аналитически непредставима. Задача - найти там локальные минимумы, желательно все