GAMS - 包含设定值的参数

GAMS - Parameter containing set values

我是 GAMS 新手,我想创建一个参数 returns 项而不是实数:

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。但是,与 set 不同,Acronym 不能用作参数的索引。我试图让 acronymset 具有相同的值(例如,将 A 替换为 SetA,将 AcroAB 替换为 SetBAcroB) 但我没有找到任何关于如何将值从 setacronym 的信息,反之亦然。

有没有办法实现我想做的事情,有或没有Acronyms

我相信,缩写词在这里没有用。我不知道你打算如何使用 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;