- 对二段函数线性化,例如: f(x)=:f(x)=:f(x)=:
f1(x),0<x≤af2(x),a<xf_1(x), 0<x\le a \\ f_2(x), a<xf1(x),0<x≤af2(x),a<x
线性化:
f(x)=f1(x)(1−y)+f2(x)ys.t.y∈{0,1}ay<x≤My+a f(x) = f_1(x)(1-y) + f_2(x)y\\s.t. \quad y\in \{0,1\}\\ ay<x\le My+af(x)=f1(x)(1−y)+f2(x)ys.t.y∈{0,1}ay<x≤My+a
分析:
- 若 y=0y=0y=0, 约束 0<x≤a0<x\le a0<x≤a, 且此时f(x)=f1(x)f(x)=f_1(x)f(x)=f1(x), 等价于第一段函数。
- 若 y=1y=1y=1, 约束 a<x≤M+aa<x\le M+aa<x≤M+a, 由于MMM是任取的一个极大已知整数,因此该约束等价于a<xa<xa<x, 此时f(x)=f2(x)f(x)=f_2(x)f(x)=f2(x),等价于第二段函数。
- 对N段函数线性化: 例如: f(x)=:f(x)=:f(x)=:
f1(x),0<x≤af2(x),a<x≤bf3(x),b<x≤cf_1(x), 0<x\le a \\ f_2(x), a<x\le b\\f_3(x), b<x\le cf1(x),0<x≤af2(x),a<x≤bf3(x),b<x≤c
线性化:
f(x)=f1(x)y1+f2(x)y2+f3(x)y3s.t.0<x≤M(1−y1)+aay2<x≤M(1−y2)+bby3<x≤M(1−y3)+cy1,y2,y3∈{0,1}y1+y2+y3=1 f(x) = f_1(x)y_1 +f_2(x)y_2 +f_3(x)y_3\\s.t. \quad 0<x\le M(1-y_1) +a\\ ay_2<x\le M(1-y_2)+b\\by_3<x\le M(1-y_3) + c\\ y_1,y_2,y_3\in\{0,1\}\\y_1+y_2+y_3=1f(x)=f1(x)y1+f2(x)y2+f3(x)y3s.t.0<x≤M(1−y1)+aay2<x≤M(1−y2)+bby3<x≤M(1−y3)+cy1,y2,y3∈{0,1}y1+y2+y3=1
分析:
- 若y1=1y_1=1y1=1, 此时y2,y3=0y_2,y_3=0y2,y3=0, f(x)=f1(x)f(x)=f_1(x)f(x)=f1(x), 约束条件为: 0<x≤a0<x\le a0<x≤a, 等价于第一段
- 若y2=1y_2=1y2=1, 此时y1,y3=0y_1,y_3=0y1,y3=0, f(x)=f2(x)f(x)=f_2(x)f(x)=f2(x), 约束条件为: a<x≤ba<x\le ba<x≤b, 等价于第二段
- 若y3=1y_3=1y3=1, 此时y1,y2=0y_1,y_2=0y1,y2=0, f(x)=f3(x)f(x)=f_3(x)f(x)=f3(x), 约束条件为: b<x≤cb<x\le cb<x≤c, 等价于第三段。