用于多变量全局优化的Python模块

时间:2010-11-19 17:11:22

标签: python numpy scientific-computing

我一直在寻找一个实现common techniques全局优化的python模块(在N维中查找函数的全局最小值)但没有成功。

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

4 个答案:

答案 0 :(得分:11)

Scipy的optimize模块具有可能符合您需求的anneal功能。此外,您应该查看PyEvolve模块以进行遗传算法。

答案 1 :(得分:5)

答案 2 :(得分:5)

最常见的一个是scipy.optimize

对于遗传算法,有pygene

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

答案 3 :(得分:1)

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

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

完整列表和比较在 report