GAMS - параметр, содержащий заданные значения
Я новичок в GAMS, и я хотел бы создать параметр, который возвращает элементы набора вместо реальных чисел:
sets
A / A1, A2, A3, A4, A5 /
B / B1, B2, B3, B4, B5 /;
parameters
C(A)
/
A1 B5,
A2 B4,
A3 B3,
A4 B2,
A5 B1
/
D(B)
/
B1 A3,
B2 A4,
B3 A2,
B4 A1,
B5 A5
/;
display C, D;
Когда я пытаюсь скомпилировать этот код, я получаю следующую ошибку: Real number expected
,
Я искал в Google, если есть способ добиться того, что я хочу, и я нахожу тип данных Acronym
что позволяет использовать не числовое значение. Тем не менее, Acronym
не может использоваться в качестве индекса для параметров, в отличие от set
, Я пытался иметь оба acronym
а также set
для тех же значений (например, замена A
от SetA
а также AcroA
а также B
от SetB
а также AcroB
) но я не нашел ничего о том, как поставить значения из set
для acronym
и наоборот.
Есть ли способ достичь того, что я хочу сделать, с или без Acronyms
?
1 ответ
Я считаю, что сокращения здесь не пригодятся. Я не знаю, как вы планируете использовать C и D, но я думаю, что вы можете определить их как двумерные наборы, а не так:
sets
A / A1, A2, A3, A4, A5 /
B / B1, B2, B3, B4, B5 /;
Set
C(A,B)
/
A1. B5,
A2. B4,
A3. B3,
A4. B2,
A5. B1
/
D(B,A)
/
B1. A3,
B2. A4,
B3. A2,
B4. A1,
B5. A5
/;
display C, D;