如何解决具有二进制条目的函数的全局最小值
我需要找到函数F(x_1,x_2,...)的全局最小值,该函数的条目只能采用两个可能的值0和1。我试图使用 scipy.optimize.shgo 这样
optimize.shgo(F,bounds,args = args,constraints = cons)
但是我不知道如何通过 shgo 中的两个可能值限制。
谢谢!
解决方法
您不能。简单同源全局优化是为连续函数优化而设计的,不适合您的离散情况。通常,科学优化不支持离散变量,甚至不支持退火。从理论上讲,使用非凸约束可以限制离散值,但在实践中效果不佳。
根据您的函数类型,您可能希望通过https://pypi.org/project/Pyomo/接口来寻找bonmin或cbc求解器或对https://pypi.org/project/simanneal/进行退火,或者应该有大量的遗传优化实现。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。