如何在带界的Anneal方法下最小化函数



我正在尝试使用method = 'Anneal'最小化函数
我在一个名为opts的字典中用'lower': 0.0'upper': 1.0指定了边界
我在选项参数中传递opts
优化有效,我得到了答案
然而,最佳解决方案的值高于我设置的上限。
知道我做错了什么吗?应该以其他方式设置界限吗?

如果您需要一个尊重边界规范且不需要导数的优化器:

scipy包含fmin_cobyla,它支持任何类型的约束,并且不需要导数。它不是一个全局优化器(但另一方面,我也不相信模拟退火可以保证全局最优)。

NLOpt具有Python接口,并包含用于可变边界非线性优化的更高效的BOBYQA算法。

最新更新