在数据定义中使用决策变量 - GAMS

Using decision variables in data definition - GAMS

我正在尝试制作一个矩阵(目前为 table),其中我有常量值和取决于稍后定义的决策变量的值。它看起来像这样:

table g(i,j) limits
     1    2
1    1    0.5*x("1",j)
2    1    0.5*x("2",j);

正变量
x(i, j) 时期 j i 技能水平的工人人数
t(i, j) 技能水平工人的再培训次数 i 时期 j

方程式

t(i, j) =L= g(i,j)

现在显然这行不通,我想不出解决方法。实际上有没有办法在游戏中以这种方式使用决策变量?原则上,我只想制作一个漂亮的矩阵,我可以将它们存储在其中以供以后在方程式中使用。

希望有人能帮助我。

无法在定义中混淆变量和参数(或 tables)。因为参数(或 tables)是常量,不应包含可变部分。 所以你基本上不能制作一个漂亮而清晰的矩阵 - 你必须将变量连接到方程部分的参数,例如:

t(i, j) =L= g(i,j)*x(i, j)

如果您的矩阵更复杂并且并非每一列或每一行都与变量相关联(如您的示例),您可能可以使用条件来更清晰地表述您的模型,例如:

con1(i,j)$(ord(i) eq 2)..
t(i, j) =L= g(i,j)*x(i, j)

con2(i,j)$(ord(i) eq 1)..
t(i, j) =L= g(i,j)

因为没有将 x 附加到 table 的第一列。