是否可以在 GLPK 中定义多界优化问题?

Is it possible to define a multi bound optimization problem in GLPK?

典型的优化问题属于以下类型:

minimize ax + by
x1 <= x <= x2
y1 <= y <= y2

我们可以将 a 和 b 视为与两个变量相关的成本。

是否可以解决变量具有多个可能区间界限的优化问题?

例如:

minimize x + y
x1 <= x <= x2 OR x3 <= x <= x4
y1 <= y <= y2 OR y3 <= y <= y4

可能在不同的范围内成本不同?我不知道如何用公式表达后一个要求。

在文档中我发现只有一个下限和一个上限以及与变量相关的成本

数学告诉我们这不是凸的,我们永远无法将其表述为纯 LP。然而,我们可以引入二进制变量(问题将成为 MIP)并写成

c1 ≤ x ≤ c2 OR c3 ≤ x ≤ c4

作为

δ1 * c1 ≤ x1 ≤ δ1 * c2
δ2 * c3 ≤ x2 ≤ δ2 * c4
δ1 + δ2 = 1
x1 + x2 = x
δ1, δ2 ∈ {0,1}

我假设 c 是问题的常量(如果不是,即它们是决策变量,重新表述类似但稍微复杂一些)。

当然如果c是有序的我们也可以这样做:

c1 ≤ x ≤ c4  (these are bounds)
x <= c2 OR x >= c3

我将把它留作练习(提示:再次需要一个二元变量)