• 分段函数线性化


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

    分析:

    • y = 0 y=0 y=0, 约束 0 < x ≤ a 00<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 aa<xM+a, 由于 M M M是任取的一个极大已知整数,因此该约束等价于 a < x aa<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), 0f1(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 0f(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 00<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 aa<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 bb<xc, 等价于第三段。
  • 相关阅读:
    Adobe Acrobat for mac 缺少字体文件Microsoft Ya Hei
    YOLOv6又快又准的目标检测框架 已开源
    jQuery使用echarts循环插入图表
    Innodb 行锁实现原理
    聚类基本概念及常见聚类算法和EM算法
    不甘于被强势厂商捆绑,中国移动未来或自研5G基站
    【无标题】
    初识Spring框架~控制反转IoC、依赖注入DI以及Spring项目的创建方式
    boa交叉编译(移植到arm)
    Python——urllib库
  • 原文地址:https://blog.csdn.net/weixin_39274659/article/details/128207085