目前我有这种线性编程模型:
Max X
这样:
Max_a(Min_b(F(a,b,X)))< =某个常数
* Max_a 意味着只需更改a即可最大化以下等式,同样适用于 Min_b
现在,问题变成了如何线性化约束部分。目前大多数Minmax线性化论文都以Minmax为目标。但是,如果它是一个约束,如何线性化?
由于
答案 0 :(得分:0)
初步评论:您描述的问题是不“线性编程模型”,并且无法直接将其转换为线性模型(这并不意味着它不能解决)。
首先,请注意约束中的Max
不是必需的,即您的问题可以重新表述为:
Max X
subject to: Min_b F(a, b, X) <= K forall a
现在,既然你说'线性模型',我认为至少F
是线性的,即:
F(a, b, X) = Fa.a + Fb.b + FX.X
显然可以写出约束:
Fa.a + Min_b Fb.b + FX.X <= k forall a
有趣的是,b
上的最小值不依赖于a
和X
的值。因此,它可以事先解决:首先找到u = Min_b Fb.b
,然后解决
Max X
subject to Fa.a + FX.X <= k - u forall a
当然,这假设a
和b
的域是独立的(AxB
形式):如果存在耦合a
和{的其他约束{1}},这是一个不同的问题(在这种情况下,请在问题中写下完整的问题)。