我正在尝试使用method = 'Anneal'
最小化函数
我在一个名为opts
的字典中用'lower': 0.0
和'upper': 1.0
指定了边界
我在选项参数中传递opts
优化有效,我得到了答案
然而,最佳解决方案的值高于我设置的上限。
知道我做错了什么吗?应该以其他方式设置界限吗?
如果您需要一个尊重边界规范且不需要导数的优化器:
scipy包含fmin_cobyla,它支持任何类型的约束,并且不需要导数。它不是一个全局优化器(但另一方面,我也不相信模拟退火可以保证全局最优)。
NLOpt具有Python接口,并包含用于可变边界非线性优化的更高效的BOBYQA算法。