goo*_*ofd 9 python optimization simulated-annealing scipy
我正在尝试使用该scipy.optimize包来优化离散优化问题(全局优化).根据doc,实施的模拟退火scipy.optimize.anneal应该是一个不错的选择.但我不确定如何强制优化器只搜索搜索空间的整数值.有人可以帮忙吗?
一个说明性示例:
f(x1,x2) = (1-0.4*x1)^2 + 100*(0.6*x2 -0.4*x1^2)^2
where, $x1, x2 \in I$
我检查了scipy.optimize.anneal,但看不到使用离散值的方法。自己实现它的方法是创建一个自定义的“移动”函数,但是必须(通过字符串)指定时间表的方法使您无法这样做。
我认为这是一个很大的错误,如果您可以仅将自定义日程表类作为参数传递,则可以使用离散变量和更多内容对其进行自定义。
我发现的解决方案是改用其他实现:https : //github.com/perrygeo/python-simulated-annealing
因为必须提供修改状态的功能,所以可以控制它可以具有的值,或者它们是离散的还是连续的。
希望能帮助到你。