赞
踩
数学建模过程中,经常会遇到下面的表达式:
x
=
max
{
y
,
0
}
x=\max\{y, 0\}
x=max{y,0}
这是一个非线性表达式,如何将这个表达式转化为线性,进而调用线性规划软件求解呢?通常需要引入一个 0-1 变量
δ
\delta
δ, 一个大常数 M,转化为五个不等式。如下:
x
≤
y
+
(
1
−
δ
)
M
x
≥
y
−
(
1
−
δ
)
M
x
≤
δ
M
y
≤
δ
M
x
≥
0
(不等式
y
≥
−
(
1
−
δ
)
M
y\geq -(1-\delta) M
y≥−(1−δ)M 不需要,因为自动满足)
上面第 2 个不等式也可以更简单地写成:
x
≥
y
x\geq y
x≥y
另外,假如有下面的 0-1 判断条件:
x
=
{
a
z
=
1
b
z
=
0
x=
则可以转化为下面的线性表达式:
x
≤
a
+
(
1
−
z
)
M
x
≥
a
−
(
1
−
z
)
M
x
≤
b
+
z
M
x
≥
b
−
z
M
牢记这个小技巧非常方便!
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。