1. 对二段函数线性化,例如: f ( x ) = : f(x)=: f(x)=:
    f 1 ( x ) , 0 < x ≤ a f 2 ( x ) , a < x f_1(x), 0<x\le a \\ f_2(x), a<x f1(x),0<xaf2(x),a<x

线性化:
f ( x ) = f 1 ( x ) ( 1 − y ) + f 2 ( x ) y s . t . y ∈ { 0 , 1 } a y < x ≤ M y + a f(x) = f_1(x)(1-y) + f_2(x)y\\s.t. \quad y\in \{0,1\}\\ ay<x\le My+a f(x)=f1(x)(1y)+f2(x)ys.t.y{0,1}ay<xMy+a

分析:

  • y = 0 y=0 y=0, 约束 0 < x ≤ a 0<x\le a 0<xa, 且此时 f ( x ) = f 1 ( x ) f(x)=f_1(x) f(x)=f1(x), 等价于第一段函数。
  • y = 1 y=1 y=1, 约束 a < x ≤ M + a a<x\le M+a a<xM+a, 由于 M M M是任取的一个极大已知整数,因此该约束等价于 a < x a<x a<x, 此时 f ( x ) = f 2 ( x ) f(x)=f_2(x) f(x)=f2(x),等价于第二段函数。
  1. 对N段函数线性化: 例如: f ( x ) = : f(x)=: f(x)=:

f 1 ( x ) , 0 < x ≤ a f 2 ( x ) , a < x ≤ b f 3 ( x ) , b < x ≤ c f_1(x), 0<x\le a \\ f_2(x), a<x\le b\\f_3(x), b<x\le c f1(x),0<xaf2(x),a<xbf3(x),b<xc

线性化:
f ( x ) = f 1 ( x ) y 1 + f 2 ( x ) y 2 + f 3 ( x ) y 3 s . t . 0 < x ≤ M ( 1 − y 1 ) + a a y 2 < x ≤ M ( 1 − y 2 ) + b b y 3 < x ≤ M ( 1 − y 3 ) + c y 1 , y 2 , y 3 ∈ { 0 , 1 } y 1 + y 2 + y 3 = 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=1 f(x)=f1(x)y1+f2(x)y2+f3(x)y3s.t.0<xM(1y1)+aay2<xM(1y2)+bby3<xM(1y3)+cy1,y2,y3{0,1}y1+y2+y3=1

分析:

  • y 1 = 1 y_1=1 y1=1, 此时 y 2 , y 3 = 0 y_2,y_3=0 y2,y3=0 f ( x ) = f 1 ( x ) f(x)=f_1(x) f(x)=f1(x), 约束条件为: 0 < x ≤ a 0<x\le a 0<xa, 等价于第一段
  • y 2 = 1 y_2=1 y2=1, 此时 y 1 , y 3 = 0 y_1,y_3=0 y1,y3=0 f ( x ) = f 2 ( x ) f(x)=f_2(x) f(x)=f2(x), 约束条件为: a < x ≤ b a<x\le b a<xb, 等价于第二段
  • y 3 = 1 y_3=1 y3=1, 此时 y 1 , y 2 = 0 y_1,y_2=0 y1,y2=0, f ( x ) = f 3 ( x ) f(x)=f_3(x) f(x)=f3(x), 约束条件为: b < x ≤ c b<x\le c b<xc, 等价于第三段。
12-07 11:46