我正在使用gfortran编译器在Windows 7机器上进行(试图)Fortran 90中的数值优化。我有一个函数,由其他人预先编写,它返回一个函数的loglikelihood我,给出了一大组参数(总共约60个参数)传入。我试图复制某人的结果,所以我知道最后的参数值,但我试图重新估计它们,并最终扩展其模型并使用不同的数据。我一直在尝试使用uobyqa.f90例程here,到目前为止还没有特别成功。
我的问题是:首先,对于具有大量参数(超过60个)的优化问题,任何人都可以建议最好的免费例程吗?衍生物不可用,并且在数值上估计成本很高,因此首先尝试uobyqa例程。此外,实施并行化辅助工具是否会显着解决这个问题?如果是这样,有人可以建议一个已经使用openmp实现并行化的优化例程吗?
谢谢!
答案 0 :(得分:2)
我对特定的优化策略没有很好的建议,但NLopt包有一些可以处理大量变量的无衍生优化器。值得一试。我发现Fortran界面非常易于使用。
答案 1 :(得分:0)
首先在这个问题上定期(发表学术)文献搜索。 也许尝试将“LAPACK”包含在您的其他搜索字词中(例如“优化”,“uobyqa”等)以查看其他方的相关工作。