我试图用300多个变量设置一个大型MIP问题。这些变量中的很多都取决于其他变量的组合。我可以使用哪种数据结构或类型来引用决策变量的公式。
假设我有x [m] + y [m] + z [m]-f(m-1)= f(m)。我可以用来做这样的事情。我曾经有一个约束,其中x [m] + y [m] + z [m]-f(m-1)== f(m),但我认为那不是有效的。
答案 0 :(得分:0)
您可以将f视为决策变量并编写
int n=300;
range N=1..300;
dvar int x[N];
dvar int y[N];
dvar int z[N];
dvar int f[N];
subject to
{
forall (m in 2..n) x[m] + y[m] + z[m] - f[m-1] == f[m];
}
答案 1 :(得分:0)
除了Alex所说的以外,您还可以使用dexpr
关键字。
参考文档here中有一个很好的简短示例以及Alex的解决方案。