GAMS - параметр, содержащий заданные значения - PullRequest
0 голосов
/ 24 сентября 2018

Я новичок в 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 Ответ

0 голосов
/ 24 сентября 2018

Полагаю, что аббревиатуры здесь не пригодятся.Я не знаю, как вы планируете использовать 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;
...