python中的离散优化

2024-05-29 11:54:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用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$


Tags: in示例doc空间整数scipywhere全局
1条回答
网友
1楼 · 发布于 2024-05-29 11:54:48

我已经检查了scipy.optimize.anneal,但我看不到使用离散值的方法。自己实现它的方法是创建一个自定义的“move”函数,但是您必须指定时间表(通过字符串)的方式阻止您这样做

我认为这是一个很大的错误,如果您只需传递一个定制的schedule类作为参数,您就可以使用离散变量和更多的东西来定制它

我找到的解决方案是使用另一个实现: https://github.com/perrygeo/python-simulated-annealing

因为您必须提供修改状态的函数,所以您可以控制它可以具有哪些值,或者它们是离散的还是连续的

希望能有帮助

相关问题 更多 >

    热门问题