表示我可以在模型的其他部分中引用的决策变量的公式

时间:2019-07-18 19:04:00

标签: cplex opl

我试图用300多个变量设置一个大型MIP问题。这些变量中的很多都取决于其他变量的组合。我可以使用哪种数据结构或类型来引用决策变量的公式。

假设我有x [m] + y [m] + z [m]-f(m-1)= f(m)。我可以用来做这样的事情。我曾经有一个约束,其中x [m] + y [m] + z [m]-f(m-1)== f(m),但我认为那不是有效的。

2 个答案:

答案 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的解决方案。