Переменная с условием в миницинке
Я конвертирую модель по целям в миницинк. В прицелах у меня есть переменная, определенная как X с index domain (k,i)
где i,s,t - индекс установленного часа
Определение X с индексами i,s,t:
sum((s,t) | (s <= i) and (t >= i), Pick(s,k,t) + OverPick(s,k,t))
Я не уверен, как написать эту переменную в мини-цинке.
1 ответ
Синтаксис MiniZinc для суммы элементов в Pick
а также OverPick
для данной области k
между временами s
а также t
является:
var int: X = sum([Pick[i,k] + OverPick[i,k] | i in s..t]);
Это предполагает, что Pick[i,k]
, или же OverPick[i,k]
, содержит время сбора i
в области k
,
Более подробную информацию о построении этих типов над утверждениями можно найти в документации по массивам.