Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Математика
        Многомерная оптимизация: Как лучше?
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Математика" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: Roman Osipov, RKI, attention, paradise
  

jkff


Удален

Итак, друзья:
Скажите пожалуйста, каким методом лучше минимизировать (чем глобальнее, тем лучше) функцию большого количества переменных, причем противную - овражную и пупырчатую, со множеством локальных минимумов? Речь идет о функции энергии системы множества тел, взаимодействующих нехитрыми способами - пружинками и электростатическим отталкиванием; мне надо найти установившееся состояние.
Специфика задачи такова, что у меня изначально дано хорошее начальное приближение.

Мне представляется два принципиально разных пути:
1) Минимизировать функционал энергии с помощью методов типа Флетчера-Ривса.
2) Метод тяжелого шарика: просто решать дифур движения системы

Переменных очень много: сотни-тысячи-десятки тысяч.

Проблемы:
1) Из-за дурной формы функции Флетчер-Ривс работает очень плохо и улетает куда-то в заоблачные дали, причем иногда даже из стабильной конфигурации (близкой к оптимуму, градиент близок к нулю).

2) Просто неприемлемо медленно сходится. Может, правда, если использовать не топорный метод Эйлера, а Рунге-Кутта например, то будет сходиться лучше, но я в этом не уверен. Наверняка ведь есть методы, которые находят именно _асимптотическое_ (на бесконечности) решение такого дифура, не заморачиваясь промежуточными шагами?

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 9 дек. 2006 1:27 | IP
sms


Удален

То что с сотней переменных и больше кроме тривиальных случаев можно найти оптимум-не верю. Это только в книжках находят в теории.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 9 дек. 2006 20:15 | IP
jkff


Удален

Вы ошибаетесь. Мне кажется, Вы говорите наобум.

Я уже написал программу, которая с приемлемой для меня точностью решает мою задачу в случае примерно тысячи переменных за 3 секунды, и знаю, какие оптимизации надо выполнить, чтобы она решала не за 3, а за 3 сотых доли секунды. Все вполне реально; прошу Вас, не вводите в заблуждение рабочие массы

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 10 дек. 2006 0:51 | IP
Old


Долгожитель

Если я правильно понял, то функция - потенциал в 3-х мерном пространстве, порождаемый мнгогими телами, причем вид потенциала взаимодействия пары тел ~ k*r1_2+e1*e2/r1_2? Обращается потенциал в бесконечность в точках с координатами равным координатам тел? Пробное тело аналогично взаимодействует с остальными телами?

Всего сообщений: 285 | Присоединился: ноябрь 2006 | Отправлено: 10 дек. 2006 1:29 | IP
jkff


Удален

Пространство двумерное, вид потенциала не совсем такой: некоторые тела связаны пружинами (обычными, линейными), и все тела друг с другом отталкиваются, но не по Кулоновскому закону. Потенциал в бесконечность не обращается нигде: я решил от этого избавиться, чтобы не испытывать чрезмерных проблем с неустойчивостью методов. На самом деле phi(r1, r2) ~ a exp(-b|r1-r2|) - k|r1-r2|, примерно так.

У меня, в общем, задача укладки графа.

Насчет пробного тела, если честно, не понял вопроса.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 10 дек. 2006 1:40 | IP
sms


Удален

Про наобум-просто я считать умею и книжки читал, когда учился. Если у вас 100 переменных и по каждой при редукции задачи к одномерной нужно хотя бы просто целевую функцию вычислить хотя бы 50 раз, то это уже 50^100 вычислений-остаётся позавидовать, если есть доступ к компьютеру, который такое тянет. Поэтому понятие "проклятие размерности" и является одним из основных в оптимизации, и пессимизма в книжках тех кто реально считает намного больше, чем оптимизма в книжках у теоретиков.
    Если у Вас конкретная задача про конкретный потенциал то её наверное можно решить конкретным способом за приемлемое время-но в первом посте про это не говорилось.
Очеь хорошая небольшая книжечка о: Жилянскас, Шалтянис. Поиск оптимума. М., Наука, 1989.
    А так для поиска глобального минимума с высокой точностью в общем положении нет идеальных программ даже для 2 переменных и очень хороших для 3 , насколько я знаю.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 10 дек. 2006 10:17 | IP
jkff


Удален

Согласен, я зря не указал в исходном посте, что мне требуется весьма и весьма невысокая точность: раз уж я укладываю граф, то точности в 0.1% по каждой переменной более чем достаточно, да и уж очень глобальная глобальность не требуется - хотя, конечно, "любой локальный минимум" ни в коем разе не подходит.
Тем более в случае укладки графов редукцию размерности можно выполнять не на 1 переменную, а в ~2-3 раза, используя multigrid. За счет этого у меня есть гарантированно близкое к подходящему оптимуму начальное приближение.

Книжку поищу, спасибо.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 10 дек. 2006 13:49 | IP
sms


Удален

Похоже, что по сути у Вас задача от одной переменной r1-r2.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 12 дек. 2006 18:59 | IP
jkff


Удален

Нет, у меня задача от n-1 переменных вида ri-r1, i=2..n, если уж ставить задачу в терминах именно разностей координат.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 12 дек. 2006 21:14 | IP
Old


Долгожитель

Попытаюсь решить Вашу задачу аналитически (с привлечением статистических методов), но для этого мне нужно знать точный вид потенциала.

Поясню свой интерес. Давненько - и бросил - пытался найти минимум энергии взаимодействия для разных кристаллических конфигураций для системы многих жестких одинаковых сферических диполей. Что-то получил. формулы громоздкие и, не знаю, правильны ли. На "пальцах", по крайней мере, непротиворечивы. Может Ваша задача поддастся?

Всего сообщений: 285 | Присоединился: ноябрь 2006 | Отправлено: 28 дек. 2006 22:34 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com