是否可以在 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
我将把它留作练习(提示:再次需要一个二元变量)
典型的优化问题属于以下类型:
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
我将把它留作练习(提示:再次需要一个二元变量)