2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Численный поиск минимумов функционала
Сообщение14.05.2012, 12:48 


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

 Профиль  
                  
 
 Re: Численный поиск минимумов функционала
Сообщение14.05.2012, 16:19 
Заслуженный участник
Аватара пользователя


01/08/06
3053
Уфа
Можно полученное численное решение "пошевелить" случайным образом несколько раз, вычислить функционал от него (есть такая возможность?) и посмотреть, куда он двигается. Заодно сможете проверить, что это действительно экстремум.

 Профиль  
                  
 
 Re: Численный поиск минимумов функционала
Сообщение14.05.2012, 20:00 
Аватара пользователя


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

 Профиль  
                  
 
 Re: Численный поиск минимумов функционала
Сообщение30.05.2012, 12:41 


14/05/12
2
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