Я пытаюсь реализовать массив множеств в CPLEX.
Конечный результат должен выглядеть следующим образом:
{int} Z[1..6] = [{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4},{2,3,4},{2,3,4},{2,3,4}]
Каждый элемент массива получен из двух других массивов.
int X[1..6] = [1,1,1,2,2,2]
int Y[1..6] = [5,5,5,4,4,4]
Таким образом, каждый элемент Z представляет диапазон целых чисел между элементами массивов X и Y
Я попытался сделать это с помощью следующего кода:
range A = 1..6;
execute calculateZ{
for(var i in A){
for(v = X[i]; v <= Y[i]; v++){
Opl.item(W[i],v-1) = v;
}
}
}
My вопросы:
- возможен ли вообще массив множеств?
- так, как я могу заполнить элементы моего набора? opl.item в этом случае не работает.