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



我正在尝试设置一个包含 300 多个变量的大型 MIP 问题。其中许多变量取决于其他变量的组合。 我可以使用哪种数据结构或类型来引用决策变量的公式。

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

除了 Alex 说的话,你还可以使用 dexpr 关键字。

您在此处的参考文档中有一个很好且简短的示例以及 Alex 的解决方案。

你可以将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];
}

最新更新