数学建模中目标函数与约束条件化简方法总结

本文总结了数学建模中将非线性规划问题转化为线性规划的方法,包括处理绝对值、最值、多选多约束、if-then逻辑表达式、乘积表达式和分段函数等问题的化简技巧。通过这些技巧,可以将复杂问题简化,降低求解难度。
摘要由CSDN通过智能技术生成

0 引言

运筹优化的问题可以按照如下简化的流程来解决:
在这里插入图片描述

其中,比较核心的两个步骤是:建模(modeling)和求解(solve)。

对于现在有很多成熟的软件或者工具包,可以求解线性规划问题。比如,lingo, cplex, gurobi, glpk,lpsolve, scip,matlab optimization toolbox,or-tool等。

实际问题五花八门,它们的约束、目标等各不相同。如何对实际问题建模,并将它归结为一个线性规划问题,是应用线性规划求解问题时最重要,往往也是最困难的一步。问题建模是否合理,很大程度上会影响到后续的模型求解过程。

但是,受限于实际问题特征、建模经验、建模技巧等因素,我们在对问题建立初步模型之后,目标函数和约束条件因为往往包含一些特殊约束或者特殊变量使模型成为非线性规划问题,增加了求解难度。
常见的特殊约束或者特殊变量如下:

  • 含有绝对值符号,比如目标函数包含绝对值 min ⁡ X ( f ( X ) + λ ∣ ∣ X ∣ ∣ 1 ) \underset{X}{\min}(f(X)+\lambda||X||_1) Xmin(f(X)+λX1)
  • 含有最值(最大、最小)符号,比如目标函数中含有表达式 min ⁡ i   max ⁡ j   a i j \underset{i}{\min}\ \underset{j}{\max}\ a_{ij} imin jmax aij
  • 含“多选多”约束条件,即存在n(n至少为2)个为“or”关系的约束条件,要求这个从n个约束条件中至少同时满足其中m个约束条件;
  • 含有" i f − t h e n if-then ifthen"逻辑表达式的约束条件,比如“如果事件A发生,则事件B必发生”、“如果完成工作A,则不能完成工作B”等等类似的逻辑表达;
  • 含有乘积表达式的约束条件;
  • 含有分段函数;

我们使用下面介绍的一些化简技巧可将含有常见的特殊约束的非线性规划转换为线性规划或者整数规划,大大降低模型求解难度。

1 化简方法

1.1 含有绝对值符号的问题;

例如规划问题:
min ∑ i = 1 n ∣ x i ∣ s.t.    A X ≤ b \begin{alignedat}{2} &\text{min} \sum_{i=1}^{n}|x_i| \\ &\text{s.t.} \ \ \ AX\leq b \end{alignedat} mini=1nxis.t.   AXb
其中, X = [ x 1 , . . . , x n ] T X=[x_1,...,x_n]^T X=[x1,...,xn]T, A A A b b b为相应维数的矩阵和向量。
要把上面的问题变换成线性规划问题,可以根据如下事实:
对任意的 x i x_i xi,存在 u i , v i > 0 u_i,v_i>0 ui,vi>0满足
∣ x i ∣ = u i + v i x i = u i − v i \begin{alignedat}{2} |x_i|&=u_i+v_i \\ x_i&=u_i-v_i \end{alignedat} xixi=ui+vi=uivi
并且任意地,只要我们取 u i = ∣ x i ∣ + x i 2 , v i = ∣ x i ∣ − x i 2 u_i=\frac{|x_i|+x_i}{2},v_i=\frac{|x_i|-x_i}{2} ui=2xi+xi,vi=2xixi就能满足要求。

这样,就可以把问题的初始模型转化为如下线性规划模型:
min ∑ i = 1 n ( u i + v i ) s.t. { A ( u − v ) ≤ b u , v ≥ 0 \begin{alignedat}{2} &\text{min} \sum_{i=1}^{n}(u_i+v_i) \\ &\text{s.t.} \begin{cases} A(u-v)\leq b \\ u,v\geq 0 \end{cases} \end{alignedat} mini=1n(ui+vi)s.t.{ A(uv)bu,v0
其中, u , = [ u 1 , . . . , u n ] T , v = [ v 1 , . . . , v n ] T u,=[u_1,...,u_n]^T,v=[v_1,...,v_n]^T u,=[u1,...,un]T,v=[v1,...,vn]T

1.2 含有最值符号的问题

例如规划问题:
min x i { max y i ∣ a i x i − b i y i ∣ } ,    i = 1 , 2 , . . . , n \text{min}_{x_i} \{\text{max}_{y_i}|a_ix_i-b_iy_i|\},\ \ i=1,2,...,n minxi{ maxyiaixibiyi},  i=1,2,...,n
其中,决策变量 x i , y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值