我正在尝试创建一个矩阵(当前作为表),其中我有不变的值和值,具体取决于稍后定义的决策变量。它看起来像这样:
table g(i,j) limits
1 2
1 1 0.5*x("1",j)
2 1 0.5*x("2",j);
正面变量
x(i, j)
期间i
技能等级j
的{{1}}工人数量
技能等级为t(i, j)
期i
j
次
方程式
t(i, j) =L= g(i,j)
现在显然这不起作用,我无法找到解决方法。实际上有一种方法可以在gams中以这种方式使用决策变量吗?原则上,我只想制作一个很好的矩阵,我可以将它们存储起来供以后在方程式中使用。
希望有人能帮助我。
答案 0 :(得分:0)
无法在定义中混淆变量和参数(或表)。因为参数(或表)是常量且不应包含可变部分。 所以你基本上不能制作一个漂亮而清晰的矩阵 - 你必须将变量连接到方程式部分中的参数,例如:
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附加到表格的第一列。