【问题标题】:Scipy.optimize.minimize using a design vector x that contains integers onlyScipy.optimize.minimize 使用仅包含整数的设计向量 x
【发布时间】:2017-05-17 18:05:53
【问题描述】:

我想在 Python 中最小化一些目标函数 f(x1,x2,x3)。它是一个非常简单的函数,但问题是设计向量 x=[x1,x2,x3] 仅包含整数。

所以例如我想得到结果:

"f 是 x=[1, 3, 2] 的最小值" 而不是: "f is minimum for x=[1.12, 3.36, 2.24]" 因为这对我的问题没有任何意义。

有什么方法可以安装 scipy.minimize 来解决这类问题?或者是否有任何其他 Python 库能够做到这一点?

【问题讨论】:

  • 优化一个非连续函数非常困难,scipy 做不到。
  • x1,x2,x3的域是什么。你的速度限制是什么?它总是3个变量的函数吗?这些是重要的考虑因素 imo

标签: python optimization scipy integer minimum


【解决方案1】:

这实际上是一个更难的数学问题,同样的算法将无法解决!这个问题是 np 难的。也许看看 pyglpk... 看看混合整数编程。

【讨论】:

  • 我认为这是模棱两可的,如果函数始终是常数变量,那么蛮力方法确实是变量域中的多项式时间(尽管它可能是高阶的)。
  • 我考虑了蛮力方法,但设计向量实际上包含 15 个变量,它们都可以变成 20 个不同的值。因此,即使目标函数非常简单,20^15 个组合也会花费很长时间。正如 Schorsch 建议的那样,我现在将检查 pyglpk 和整数编程。
猜你喜欢
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 2014-07-09
  • 2023-03-15
  • 1970-01-01
  • 2013-07-08
  • 2020-09-30
相关资源
最近更新 更多