Fortran 90中的优化例程

3
我正在尝试使用gfortran编译器在Windows 7机器上进行Fortran 90数值优化。我有一个预先编写好的函数,根据传入的大量参数(总共约60个参数),返回函数的对数似然。我试图重现某人的结果,因此我知道最终的参数值,但是我想尝试重新估算它们,并最终扩展他们的模型并使用不同的数据。我一直在尝试使用uobyqa.f90例程(可在这里找到),但目前为止并不成功。
我的问题是:首先,在具有大量参数(超过60个)的优化问题中,有没有人建议最好的免费可用例程?导数不可用,并且数字估计成本很高,因此首先尝试使用uobyqa例程。另外,实现并行化是否有助于解决这个问题?如果是这样,有什么已经使用openmp实现并行化的优化例程可以建议吗?
谢谢!
2个回答

2

我没有一个特定的优化策略的好建议,但NLopt软件包有一些无导数优化器可以处理更多的变量。值得一看。我发现Fortran接口非常容易使用。


感谢回复。我已经尝试了NLopt包,但仍然有限的成功。有人有遗传算法和Fortran的经验吗?我一直在尝试pikai,主要是因为有一个并行化版本。这些算法在大量参数下表现如何? - user1226271

0

首先,在这个问题上进行一次常规的(发表的学术)文献搜索。 也许可以尝试在其他搜索词中包含“LAPACK”(例如,“优化”,“uobyqa”等),以查看其他人的相关工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接