python scipy.optimize.minimize定义约束

时间:2018-11-07 06:00:11

标签: python python-2.7 optimization scipy minimize

也许是一个很具体的问题 我正在使用scipy优化函数来获取七个变量的新值。七个值由数组x0设置为初始输入。 a, b, c, d实际上是int的值。

运行完整的代码和最小化功能时,一切运行正常。

如果我打印出每次迭代后我的七个变量如何变化,我可以看到a, b, c, d被转换为float以一步一步地对其进行修改。

尽管我仍然可以得到最终结果,但是如果我可以在一定的约束条件下指出那4个变量仅是整数,那将是很好的选择,因此optimize函数将执行较少的迭代,并且不尝试设置变量{{1 }}到8.00000164或其他浮点,但直接到6,7、8、9、10 ...

我不确定这是否有可能,但是如果有人知道怎么做,我将很高兴学习。

下面是代码的重要部分,显示了如何设置最小化功能。

a, b,c ,d

1 个答案:

答案 0 :(得分:0)

要给出简短的答案,并在上面的回复中提供@kazemakase的帮助,就很难将最小化函数中的步长固定为整数。实际上,做integer programming比线性规划要解决的问题要复杂得多

相关问题