реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> алгоритмы численной минимизации, есть готовые библиотеки
radist
сообщение Jan 20 2006, 13:25
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 122
Регистрация: 24-05-05
Пользователь №: 5 329



Понадобилось тут написать программку, которая бы осуществляла подбор параметров к некой функции, измеряемой экспериментально. Функция зависит от трёх аргументов. Беда в том, что сама эта функция вычисляется довольно долго и аналитических значений первых и вторых производных для неё нету. Так вот, по методу наименьших квадратов нужно находить минимум той самой квадратичной функции. В теории все просто.
Нашёл хорошую книжку, называется "Практическая оптимизация", начал пробовать. С моей функцией ничего не вышло, с обычной квадратичной функцией вроде что-то получилось, с функцией Розенброка опять не получилось. Пока грешу на свою измученную голову и кривые руки. Нашёл вот ещё интересную ссылочку
http://alglib.sources.ru/extremums/
её тоже попробую.
В связи с чем вопросы:
1. если у кого-то есть опыт численной минимизации, поделитесь, пожалуйста.
2. если есть интересные ссылочки (особенно на библиотеки с открытыми исходниками) - поделитесь тоже
Go to the top of the page
 
+Quote Post
MKS
сообщение Jan 20 2006, 14:14
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 469
Регистрация: 13-03-05
Пользователь №: 3 315



Посмотрите в документации на эту библиотеку, наверняка найдете что нибуть полезное.
Go to the top of the page
 
+Quote Post
Andrew10
сообщение Jan 20 2006, 14:15
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 228
Регистрация: 22-10-05
Из: Саратов
Пользователь №: 9 960



Привет!

Идешь на _http://gams.nist.gov/ или _http://www.netlib.org/cgi-bin/search.pl и задаешь в поиске minimization, optimization или еще что-нибудь подобное.


Всего наилучшего!
Go to the top of the page
 
+Quote Post
radist
сообщение Jan 21 2006, 07:01
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 122
Регистрация: 24-05-05
Пользователь №: 5 329



Спасибо всем, начал изучать. Как попробую - сообщу.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jan 21 2006, 10:58
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(radist @ Jan 20 2006, 16:25) *
Понадобилось тут написать программку, которая бы осуществляла подбор параметров к некой функции, измеряемой экспериментально. Функция зависит от трёх аргументов. Беда в том, что сама эта функция вычисляется довольно долго и аналитических значений первых и вторых производных для неё нету. Так вот, по методу наименьших квадратов нужно находить минимум той самой квадратичной функции. В теории все просто.
Нашёл хорошую книжку, называется "Практическая оптимизация", начал пробовать. С моей функцией ничего не вышло, с обычной квадратичной функцией вроде что-то получилось, с функцией Розенброка опять не получилось. Пока грешу на свою измученную голову и кривые руки. Нашёл вот ещё интересную ссылочку
http://alglib.sources.ru/extremums/
её тоже попробую.
В связи с чем вопросы:
1. если у кого-то есть опыт численной минимизации, поделитесь, пожалуйста.
2. если есть интересные ссылочки (особенно на библиотеки с открытыми исходниками) - поделитесь тоже

Не хотелось бы Вас огорчать, но универсального метода поиска ГЛОБАЛЬНОГО экстремума не существует.
Если Вы не можете с Вашей функцией никаких аналитических действий производить, то Монте-Карло или его модные ныне модификации - генетический алгоритм и т.д.
Если от некоторых параметров слабая, а от других сильная зависимость, то можно иногда "разделить" переменные, последовательно использую разные алгоритмы для различных параметров.
Go to the top of the page
 
+Quote Post
radist
сообщение Jan 22 2006, 16:47
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 122
Регистрация: 24-05-05
Пользователь №: 5 329



Цитата
Не хотелось бы Вас огорчать, но универсального метода поиска ГЛОБАЛЬНОГО экстремума не существует.Если Вы не можете с Вашей функцией никаких аналитических действий производить, то Монте-Карло или его модные ныне модификации - генетический алгоритм и т.д.

это мне известно. Генетический алгоритм я первым попробовал, вроде-бы непрохо получалось, но проблемка - никогда заранее неизвестно за сколько шагов алгоритма этот минимум будет достигнут. Может и вообще ничего не получиться. Хотя, возможно, я плохо отмасштабировал функцию.
А Монте-Карло нужен, вроде бы, для того, чтобы выбрать точку начала поближе к глобальному минимуму. А аналитических действий с фукцией особенно и не проведёшь - у меня численно решается система из 10 диф уравнений, подбирается под данные эксперимента по методу наименьших квадратов. Я тут ещё хочу попробовать нейросеть прикрутить, иногда, говорят, помогает.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jan 23 2006, 09:02
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(radist @ Jan 22 2006, 19:47) *
Цитата

Не хотелось бы Вас огорчать, но универсального метода поиска ГЛОБАЛЬНОГО экстремума не существует.Если Вы не можете с Вашей функцией никаких аналитических действий производить, то Монте-Карло или его модные ныне модификации - генетический алгоритм и т.д.

это мне известно. Генетический алгоритм я первым попробовал, вроде-бы непрохо получалось, но проблемка - никогда заранее неизвестно за сколько шагов алгоритма этот минимум будет достигнут. Может и вообще ничего не получиться. Хотя, возможно, я плохо отмасштабировал функцию.
А Монте-Карло нужен, вроде бы, для того, чтобы выбрать точку начала поближе к глобальному минимуму. А аналитических действий с фукцией особенно и не проведёшь - у меня численно решается система из 10 диф уравнений, подбирается под данные эксперимента по методу наименьших квадратов. Я тут ещё хочу попробовать нейросеть прикрутить, иногда, говорят, помогает.

А еще Вам потребуется оценить достоверность подгонки. В свое время ничего лучшего, чем вводить искусственный шум в экспериментальные данные, придумать не удалось. Еще проблема с весовыми коэффициентами.
Go to the top of the page
 
+Quote Post
radist
сообщение Jan 23 2006, 11:37
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 122
Регистрация: 24-05-05
Пользователь №: 5 329



Попробовал сегодня метод главных осей с сайта
http://alglib.sources.ru/extremums/
Работает - изумительно, и быстро и точно. Я аж офигел.
Буду дальше разбираться, может свои алгоритмы усовершенствую до такого уровня, а то завидно...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 04:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01471 секунд с 7
ELECTRONIX ©2004-2016