3

我正在(尝试做)Fortran 90 中的数值优化,在带有 gfortran 编译器的 Windows 7 机器上。我有一个由其他人预先编写的函数,它返回函数的对数似然,给定传入的大量参数(总共大约 60 个参数)。我正在尝试复制某人的结果,所以我知道最终参数值,但我试图重新估计它们,并最终扩展它们的模型并使用不同的数据。我一直在尝试此处提供的 uobyqa.f90 例程,但到目前为止还不是特别成功。

我的问题是:首先,对于具有大量参数(超过 60 个)的优化问题,任何人都可以建议最好的免费例程吗?导数不可用,并且用数字估计会很昂贵,因此首先尝试 uobyqa 例程。此外,实施并行化是否有助于解决这个问题?而且,如果是这样,任何人都可以建议一个已经使用 openmp 实现并行化的优化例程吗?

谢谢!

4

2 回答 2

2

对于特定的优化策略,我没有很好的建议,但是NLopt包有一些可以处理大量变量的无导数优化器。值得一试。我发现 Fortran 界面非常易于使用。

于 2012-02-22T20:22:01.237 回答
0

首先对这个问题进行定期(已发表的学术)文献搜索。也许尝试在您的其他搜索词中包含“LAPACK”(例如“优化”、“uobyqa”等),以查看其他方的相关工作。

于 2012-02-23T11:15:24.037 回答