Я реализую двухфазный метод в CPLEX OPL.
Я хотел бы создать набор, содержащий унитарные значения переменной, полученные на моем начальном этапе. Чтобы инициализировать мою вторую фазу, я создаю getValue (X), чтобы восстановить оптимальные значения для этой логической переменной, индексированной в i, j, k. Позже, внутри двойного цикла по индексам «j» и «k» я пытаюсь объявить набор «S» унитарных значений «X» по i-мерному измерению.
Однако мне не удалось сделать правильное объявление набора ... Я уже пробовал использовать:
var S = {i | i in I : X[i][j][k] == 1};
int S = {i | i in I : X[i][j][k] == 1};
{int} S = {i | i in I : X[i][j][k] == 1};
Но я всегда получаю ошибку: «Незаконное использование зарезервированного ключевого слова». Я знаю, что мое объявление набора нехорошо, но понятия не имею, как его объявить, чтобы мой набор S содержал значения I, для которых X [i] [j] [k] == 1.
Не могли бы вы помочь? С наилучшими пожеланиями