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

时间:2015-10-02 06:33:33

标签: optimization gams-math

我正在尝试创建一个矩阵(当前作为表),其中我有不变的值和值,具体取决于稍后定义的决策变量。它看起来像这样:

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中以这种方式使用决策变量吗?原则上,我只想制作一个很好的矩阵,我可以将它们存储起来供以后在方程式中使用。

希望有人能帮助我。

1 个答案:

答案 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附加到表格的第一列。