Программа оптимизации в Фортране 90 - PullRequest
3 голосов
/ 22 февраля 2012

Я делаю (пытаюсь) числовую оптимизацию в Fortran 90, на машине с Windows 7 с компилятором gfortran.У меня есть функция, предварительно написанная кем-то другим, которая возвращает логарифмическую вероятность функции, учитывая большой набор параметров (всего около 60 параметров). Я пытаюсь повторить чьи-то результаты, поэтому я знаю последний параметрзначения, но я должен был попытаться переоценить их и, в конечном итоге, расширить их модель и использовать разные данные.Я пробовал доступную подпрограмму uobyqa.f90 здесь , которая до сих пор не была особенно успешной.

Мои вопросы: во-первых, для задачи оптимизации с большим количеством параметров(старше 60 лет), кто-нибудь может предложить лучший свободно доступный режим?Производные недоступны, и их численная оценка будет дорогостоящей, поэтому сначала попробуем выполнить процедуру уобика.Кроме того, существенно ли поможет распараллеливание в решении этой проблемы?И если да, может ли кто-нибудь предложить процедуру оптимизации, которая уже реализует распараллеливание с использованием openmp?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

У меня нет хорошего предложения для конкретной стратегии оптимизации, но в пакете NLopt есть несколько оптимизаторов без производных, которые могут обрабатывать большее количество переменных. Стоит проверить. Я обнаружил, что интерфейс Fortran очень прост в использовании.

0 голосов
/ 23 февраля 2012

Сначала проведите регулярный (опубликованный академический) поиск литературы по этому вопросу.Возможно, попробуйте включить «LAPACK» с другими вашими поисковыми терминами (например, «оптимизация», «uobyqa» и т. Д.), Чтобы увидеть соответствующую работу других сторон.

...