2

我想添加以下约束:

@addConstraint(m, sum{sum{x[:alpha, d, s], s in S}, d in D} >= 5)

其中x是一个决策变量,并且

D = [1:50]

但我希望总和只计算d小于 10。
有内置方法还是我必须找到一些解决方法?

4

2 回答 2

4

应该可以做d in D; d < 10,即

@addConstraint(m, sum{sum{x[:alpha, d, s], s in S}, d in D; d < 10} >= 5)

为了完整起见,这里是手册相关部分的链接,可以更好地构建。我们会努力的!

于 2014-07-20T16:44:00.720 回答
0

我不熟悉你的应用程序,但假设元素是唯一的连续整数,一些简单的算术可以给你总和,你没有在你的问题中澄清。据说这是由高斯发现的:

n 个连续整数的总和(从 1 开始)由下式给出:(n(n + 1))/2

奇怪的是,这比任何内置的求和函数都更快、更简单,但同样,你的问题没有澄清一些限制。

于 2014-07-20T15:58:48.820 回答