码头牛牛Blog点我刷新(小声)

基于TRE文章的非线性模型化线性方法

码头牛牛·2023-10-04 20:13·253 次阅读

基于TRE文章的非线性模型化线性方法

之前写过一篇有关TRE优化模型详解的博文:

https://www.cnblogs.com/zoubilin/p/17270435.html

这篇文章里面的附录给出了非线性模型化线性的方式,具体内容如下:

  • 首先是篇文章的变量和原模型(具体见我上面那篇笔记):

  • 其次这篇文章附录给出的非线性化线性的方法:


    我觉得很经典,所以这几天我废了九牛二虎之力推导了这个附录的公式,并复现了它的化线性的过程•́‸ก

一、目标函数#

  • 目标函数中的非线性项为:

MaxtTzZ[PbztwZ(Sbwzt+Sewzt)+PeztwZ(Obwzt+Oewzt)]

  • 引入决策变量:

Ybzit={1,iftzbi0,else

Yezit={1,iftzei0,else

  • 此时应加入下面约束条件,即式(A.13)~式(A.14)式(A.28)~式(A.29)

    iIbzitYbzit=1

    iIezitYezit=1

    Ybzit,Yezit{0,1}

  • 引入价格集合(已知量),其中IbztIezt为对应渠道的可选择价格数量,i=1,2,...,Ibzti=1,2,...,Iezt

Ωbzt={Pbzit}iIbzt

Ωezt={Pezit}iIezt

  • 那么有:Pbzt=iIbztPbzitYbzitPezt=iIeztPezitYezit

  • 此时,目标函数变为:

MaxtTzZ[iIbztPbzitYbzitwZ(Sbwzt+Sewzt)+iIeztPezitYezitwZ(Obwzt+Oewzt)]

  • 目标函数中仍存在非线性项YbzitwZ(Sbwzt+Sewzt)YezitwZ(Obwzt+Oewzt)

    所以需要再引入下面决策变量,也就是式(A.6)~式(A.7)

    Vbzit=YbzitwZ(Sbwzt+Sewzt)

    Vezit=YezitwZ(Obwzt+Oewzt)

    此时目标函数变为下式,也就是式(A.8) 的由来:

MaxtTzZ[(iIbztPbzitVbzit)+(iIeztPezitVezit)]

wZ(Sbwzt+Sewzt)的上限为awZ(Obwzt+Oewzt)的上限为b,要彻底转换目标函数变为线性,需要增加新的约束如下,包含了式(A.15)-式(A.18)式(A.33)-式(A.34)

VbzitaYbzit

VezitbYezit

VbzitwZ(Sbwzt+Sewzt)

VezitwZ(Obwzt+Oewzt)

Vbzit[wZ(Sbwzt+Sewzt)]a(1Ybzit)

Vezit[wZ(Obwzt+Oewzt)]b(1Yezit)

Vbzit,Vezit0

iIbzitVbzit=wZ(Sbwzt+Sewzt)

iIezitVezit=wZ(Obwzt+Oewzt)

二、约束条件#

  • 非线性项为Dbzt(Pzt)Dezt(Pzt)

  • 经过上面的转换,有:

    • eβ0z+β1zPbzt=eβ0z+β1ziIbzt(PbzitYbzit)其中,Ybzit是一个0-1变量,所以又可以写成:eβ0z+β1zPbzt=iIbztYbziteβ0z+β1zPbzit.

    • 同理,eβ0z+β1zPezt=iIeztYeziteβ0z+β1zPezit

  • rbzit=eβ0z+β1zPbzit

    rezit=eβ0z+β1zPezit

    式(A.1)~式(A.2),那么有:

    Dbzt(Pzt)=nzt×iIbztYbzitrbzitiIbztYbzitrbzit+iIeztYezitrezit+1

    Dezt(Pzt)=nzt×iIeztYezitrezitiIbztYbzitrbzit+iIeztYezitrezit+1

  • 为了将Dbzt(Pzt)Dezt(Pzt)化为线性,令:

    Rzt=1iIbztYbzitrbzit+iIeztYezitrezit+1

    式(A.3)。那么Dbzt(Pzt)=nztRztiIbztYbzitrbzitDezt(Pzt)=nztRztiIeztYezitrezit,需要明确的是:iIbztYbzitrbzit+iIeztYezitrezit0,故Rzt1

  • 此时仍存在非线性项iIbztRztYbzitrbzitiIeztRztYezitrezit

    令:

    Ubzit=RztYbzit

    Uezit=RztYezit

    式(A.4)-式(A.5)。此时需要新增的约束条件如下,包含了式(A.21)-式(A.27)式(A.32)-式(A.34)

    Ubzit,Uezit0

    Rzt0

    UbzitYbzit

    UezitYezit

    UbzitRzt

    UezitRzt

    UbzitRzt(1Ybzit)

    UezitRzt(1Yezit)

    iIbzitUbzit=Rzt

    iIezitUezit=Rzt

Rzt+iIbztUbzitrbzit+iIeztUezitrezit=1

  • 此时约束条件(6)、(7)变为:

wZ(Sbwzt+Sewzt)nztiIbztUbzitrbzit

wZ(Obwzt+Oewzt)nztiIeztUezitrezit

  • 那么a=nztiIbztUbzitrbzitb=nztiIeztUezitrezit。约束VbzitaYbzitVezitbYezit分别变为:

    Vbzit(nztiIbztUbzitrbzit)Ybzit=nztUbzitiIbztrbzitYbzit

    Vezit(nztiIeztUezitrezit)Yezit=nztUezitiIeztrezitYezit

    • 已知Vbzit0,当Ybzit=0时,上面的第一条约束条件变为Vbzit0,此时Vbzit应为0;当Yezit=1时,上面的约束条件变为VbzitnztUbzitrbzit,此时Vbzit的取值应当为0VbzitnztUbzitrbzit

      综上和同理,在约束Vbzit,Vezit0下,式(A.19)式(A.20) 被推导出:

    VbzitaYbzitVbzitnztUbzitrbzit

    VezitbYezitVbzitnztUbzitrbzit

    • 对于约束条件Vbzit[wZ(Sbwzt+Sewzt)]a(1Ybzit)Vezit[wZ(Obwzt+Oewzt)]b(1Yezit),它们分别变为:

      Vbzit[wZ(Sbwzt+Sewzt)](nztiIbztUbzitrbzit)(1Ybzit)

      Vezit[wZ(Obwzt+Oewzt)](nztiIeztUezitrezit)(1Yezit)

      Ybzit=0时,上面第一条约束条件变为wZ(Sbwzt+Sewzt)nztiIbztUbzitrbzit这与文中式(6)相同;当Ybzit=1时,它则变为Vbzit=wZ(Sbwzt+Sewzt),而这又被约束条件iIbzitVbzit=wZ(Sbwzt+Sewzt)包含。

      综上及同理,约束条件Vbzit[wZ(Sbwzt+Sewzt)]a(1Ybzit)Vezit[wZ(Obwzt+Oewzt)]b(1Yezit)均属于重复约束,可被消除

由此,所有公式已全部被推出,但还多了两条约束:

  • 对于约束条件UbzitRzt(1Ybzit)有:

    • Ybzit=0时,Rzt0,该约束已存在;Yzt=1时,Ubzit=Rzt,该约束已被iIbzitUbzit=Rzt所包含。

    • 综上及同理,约束条件UbzitRzt(1Ybzit)UezitRzt(1Yezit)属于重复约束,均可被删除

以上就是这篇论文公式全部的推导,上面是所使用的非线性化线性的方法简例如下。

三、简例#

(1) 带有0-1变量的非线性规划问题#

z=x1x2

其中决策变量x1{0,1},0x2a

那么我们可以用下面的方法化为线性规划:

  • 首先设一个新的决策变量y=x1x2,并将问题转化为:

    yax1

    yx2

    yx2a(1x1)

    y0

  • 由此,问题变为了线性问题

(2) 带分母变量的非线性规划问题#

minx+2y+34x+5y

s.t.

6x+7y8

9x+10y0

x,y0

  • z=14x+5y,此时目标函数变为:(x+2y)z+3z,但仍含有非线性项,此时我们又令:xz=u,yz=v,那么可以得到:

    minu+2v+3z

    s.t.

    6u+7v8z

    9u+10v0

    u,v,z0

  • 解上面的线性规划问题,可得到u,v,z的精确解,之后可代入式子解方程,得到x,y的精确解。

posted @   码头牛牛  阅读(253)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示
目录