2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Численный поиск минимумов функционала
Сообщение14.05.2012, 12:48 
Всем привет. В своей работе столкнулся с проблемой - может быть, кто-то подскажет, в какую сторону можно дальше думать.
Я ищу минимумы функционала в многомерном пространстве (цель - размерность порядка сотен, но пока, естественно, считаю более простые примеры). Для этого численно решаю краевую задачу, полученную из уравнения Эйлера-Лагранжа, нахожу экстремали. Но они могут оказаться и максимумом или вообще не экстремумом.
Проблема в том, что опробованные численные методы (например, конечные разности) находят какое-то одно решение краевой задачи (какое - зависит от начальной догадки), а это может быть вовсе и не минимум.
Пока что решение вижу в некой модификации конечных разностей, чтобы начальное направление итераций выбиралось в направлении убывания функционала (возможна ли такая модификация?).
Или, существуют методы, которые находят все решения на промежутке?

 
 
 
 Re: Численный поиск минимумов функционала
Сообщение14.05.2012, 16:19 
Аватара пользователя
Можно полученное численное решение "пошевелить" случайным образом несколько раз, вычислить функционал от него (есть такая возможность?) и посмотреть, куда он двигается. Заодно сможете проверить, что это действительно экстремум.

 
 
 
 Re: Численный поиск минимумов функционала
Сообщение14.05.2012, 20:00 
Аватара пользователя
Попробуйте вариационный метод: выберите разумную для вашей задачи функцию, содержащую несколько (а потом и больше - несколько десятков) параметров, численно найдите значение функционала (для больших размерностей можно попробовать метод Монте-Карло) и используйте программы минимизации.
Начать можно даже с 1-2 параметров. Сами уравнения Эйлера-Лагранжа также можно частично использовать, чтобы сократить число подгоночных параметров.
Если бы Вы привели некоторые подробности про структуру задачи, совет мог бы быть более конкретным.
В ряде случаев это численно более просто для получения приближенного решения, чем приближенное решение уравнения Эйлера-Лагранжа - особенно когда эти уравнения имеют несколько решений, есть точки бифуркации и т.п.

 
 
 
 Re: Численный поиск минимумов функционала
Сообщение30.05.2012, 12:41 
worm2
Определить, что мы нашли - не проблема. Проблема в том, что алгоритм может постоянно сходится к максимуму.
AlexValk
Попробовал такой подход - сначала минимизируем функционал, который грубо апроксимирует решение, а потом даем его словеру как начальную догадку, но пока ничего не выходит, все равно находит максимум.

Вообще, таки написал свой простенький солвер на конечных разностях. Соотетсвенно, возникает другая задача - найти все решения нелинейной системы. F(X)=0. Как я понял, универсальных алгоритмов не существует. А можно ли как нибудь "исключить" уже найденный корень? Как мне представляется, если решать системы оптимизацией это равносильно "вылезанию" из локального минимума и поиску следующего.. Может кто-нибудь натолкнет на мысль, как можно это сделать?

И кстати, уравнения получаются такие. Про правую часть ничего неизвестно, ну, разве что у нее гладкие производные.
$$ \frac {d^2 \vec {R_\lambda}} {d \lambda^2} = \vec {F}(\vec {R_\lambda}) $$
$$ \vec R_\lambda(0)=\vec R_0 \quad \vec R_\lambda(1)=\vec R_1 $$

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group