переменная с условием в миницинке - PullRequest
0 голосов
/ 21 февраля 2019

Я конвертирую модель в прицелах в миницинк.В прицелях у меня есть переменная, определенная как X с index domain (k,i), где i, s, t - индекс множества Hour

Определение X с индексами i, s, t:

sum((s,t) | (s <= i) and (t >= i), Pick(s,k,t) + OverPick(s,k,t))

Я не уверен, как написать эту переменную в мини-цинке.

1 Ответ

0 голосов
/ 25 февраля 2019

Синтаксис 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.

Более подробную информацию о построении этих типов над утверждениями можно найти в документации по Понимания массива

...