目标函数中带有符号的最小成本最大流量

时间:2019-04-29 14:11:39

标签: mathematical-optimization linear-programming heuristics nonlinear-optimization max-flow

我遇到某种最小成本最大流量问题,约束条件中有简单的平衡方程,但目标函数中存在“不良”信号, 也就是说,目标函数仅取决于沿边缘流的存在,而不取决于其值。

enter image description here

我可以引入约束U_i的布尔变量U_i <= x_i和 用U_i重写目标函数,但这是混合整数编程模型。在我的真实数据中,变量的数量必须至少为10000 约束的行数也约为10000

Q1:使用简单的分支和剪切方法是否太慢?

Q2:是否有任何技巧可以通过保持模型线性来解决此问题? (我认为答案不是)

Q3:那么,有没有解决这个问题的有效方法?

1 个答案:

答案 0 :(得分:4)

  1. 通常,二进制文件的约束看起来像

    x(i) <= y(i)*capacity(i)

    对于弧i,其中x(i)是流动的,y(i) ∈ {0,1}。这样就可以模拟含义

    y(i)=0 => x(i)=0

  2. 即使添加整数限制,也可以快速解决许多(但不是全部)具有网络结构的模型。您真的应该尝试一下(对于大多数有关性能的问题,这是最好的答案)。具有10k二进制变量的简单模型不会自动超出范围。使用一个好的MIP求解器。