在数据定义中使用决策变量 - 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 的第一列。
我正在尝试制作一个矩阵(目前为 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 的第一列。