minizinc 语法错误无法动态计算

minizinc gramma error can not Dynamic calculation

谁能帮我解决这个语法错误? 我知道如何重写这段代码

constraint 
  forall(i in 1..LINENUMBER,j in 1..DAYSETNUMBER )
    (    PACKOUTCAP[i,j] -(  sum(k in 1..j)(INPUTCAP[i,k] * rate[i,k,j-k+1])) >0 );

如评论中所述:您的完整模型是什么(并解释它应该做什么)。你得到什么错误?哪个 MiniZinc 版本?

以下模型是您的代码,其中添加了一些虚构的数据。它不会给出任何错误,并产生很多解决方案。

int: LINENUMBER = 3;
int: DAYSETNUMBER = 3;

array[1..LINENUMBER,1..DAYSETNUMBER] of var 1..10: PACKOUTCAP;
array[1..LINENUMBER,1..DAYSETNUMBER] of var 1..10: INPUTCAP;
array[1..LINENUMBER,1..DAYSETNUMBER,1..LINENUMBER] of var 1..10: rate;
constraint
   forall(i in 1..LINENUMBER,j in 1..DAYSETNUMBER )
      ( PACKOUTCAP[i,j] -(  sum(k in 1..j)(INPUTCAP[i,k] * rate[i,k,j-k+1])) >0     );

关于累计和,这是一个简单的模型,其中数组y 包含数组x 中值的累计和。也许这对你有帮助?

int: n = 5;
array[1..n] of var 1..10: x;
array[1..n] of var 1..100: y; % cumulative sum


constraint
  y[1] = x[1] /\    
  forall(i in 2..n) (
     y[i] = y[i-1] + x[i]
  )
;