分段函数线性化

  1. 对二段函数线性化,例如: 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<xaf2(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)(1y)+f2(x)ys.t.y{0,1}ay<xMy+a

分析:

  • y=0y=0y=0, 约束 0<x≤a0<x\le a0<xa, 且此时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<xM+a, 由于MMM是任取的一个极大已知整数,因此该约束等价于a<xa<xa<x, 此时f(x)=f2(x)f(x)=f_2(x)f(x)=f2(x),等价于第二段函数。
  1. 对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<xaf2(x),a<xbf3(x),b<xc

线性化:
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<xM(1y1)+aay2<xM(1y2)+bby3<xM(1y3)+cy1,y2,y3{0,1}y1+y2+y3=1

分析:

  • y1=1y_1=1y1=1, 此时y2,y3=0y_2,y_3=0y2,y3=0f(x)=f1(x)f(x)=f_1(x)f(x)=f1(x), 约束条件为: 0<x≤a0<x\le a0<xa, 等价于第一段
  • y2=1y_2=1y2=1, 此时y1,y3=0y_1,y_3=0y1,y3=0f(x)=f2(x)f(x)=f_2(x)f(x)=f2(x), 约束条件为: a<x≤ba<x\le ba<xb, 等价于第二段
  • 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<xc, 等价于第三段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B417科研笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值