总和条件范围
conditional range in sum
我遇到一个情况,我需要对集合中接下来的 5 个元素求和。
我的条件是:sum(neighbor(x)) = 1 w.r.t x,从x+1到x+5
Equation has_1_neighbor(x);
has_1_neighbor(x).. Sum(x,x + 1,x+5,neighbor(x)) =e= 1;
不幸的是,因为我需要在方程的定义域中包含 x,所以我实际上不允许对 x 求和。
有人知道如何实现这样的约束吗?
您可以使用 x 的别名,在总和和方程中使用该集合。
创建别名的语法很简单:
Alias(x,xx);
我遇到一个情况,我需要对集合中接下来的 5 个元素求和。
我的条件是:sum(neighbor(x)) = 1 w.r.t x,从x+1到x+5
Equation has_1_neighbor(x);
has_1_neighbor(x).. Sum(x,x + 1,x+5,neighbor(x)) =e= 1;
不幸的是,因为我需要在方程的定义域中包含 x,所以我实际上不允许对 x 求和。
有人知道如何实现这样的约束吗?
您可以使用 x 的别名,在总和和方程中使用该集合。
创建别名的语法很简单:
Alias(x,xx);