19

我一直在寻找一个 python 模块,它实现了全局优化的常用技术(在 N 维中找到函数的全局最小值),但没有成功。

如果您听说过 python 中的模拟退火或遗传算法实现,请分享。

4

5 回答 5

15

Scipy 的优化模块具有dual_annealing可能满足您需求的功能。此外,您应该查看PyEvolve模块以执行遗传算法。

于 2010-11-19T17:31:41.637 回答
7

我不是专家,但你看过:

于 2010-11-19T17:40:12.003 回答
6

最常见的一种是scipy.optimize

对于遗传算法,有pygene

此外,aima-python项目实现了 Russell 和 Norvig 的“人工智能:现代方法”中描述的算法。

于 2010-11-19T17:49:00.453 回答
1

我一直在对许多 python 全局优化器进行详细比较(我假设您对有大量局部最小值的无导数优化感兴趣)。

总而言之,我推荐 scipy.optimize ,如果你的维度小于十,那么其中的 SHGO 算法非常可靠。如果您对同源性有兴趣,您可能想阅读它。它比以前的一些更好,例如盆地跳跃,因为它巧妙地尝试避免冗余的本地搜索。

完整列表和比较在报告中

于 2020-12-22T14:44:52.223 回答
1

模拟退火:

frigidum是一个用于模拟退火的 python 包。

于 2020-12-24T08:20:42.547 回答