运筹优化基础知识

前言

本文为运筹优化基础知识总结,适合初学者或者经历了长时间搁置的读者。

线性规划模型的三种形式

LP模型有一般形式、规范形式和标准形式
一般形式
m i n z = c 1 x 1 + ⋯ + c n x n s . t . a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n = b i , i = 1 , ⋯   , p a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n ≥ b i , i = p + 1 , ⋯   , m x j ≥ 0 , j = 1 , ⋯   , q x j 无 限 制 , j = q + 1 , ⋯   , n min \quad z=c_1x_1+\cdots +c_nx_n \\ s.t.\quad a_{i1}x_1+a_{i2}x_2+\cdots +a_{in}x_n=b_i,i=1,\cdots ,p \\ \quad \quad a_{i1}x_1+a_{i2}x_2+\cdots +a_{in}x_n\geq b_i,i=p+1,\cdots ,m \\ x_j\geq 0,j=1,\cdots,q \\ x_j无限制,j=q+1,\cdots,n minz=c1x1++cnxns.t.ai1x1+ai2x2++ainxn=bi,i=1,,pai1x1+ai2x2++ainxnbi,i=p+1,,mxj0,j=1,,qxj,j=q+1,,n
规范形式
m i n c T x s . t . A x ≥ b x ≥ 0 min\quad c^Tx\\ s.t. \quad Ax\geq b\\ \quad x\geq 0 mincTxs.t.Axbx0
标准形式
m i n c T x s . t . A x = b x ≥ 0 min\quad c^Tx\\ s.t. \quad Ax= b\\ \quad x\geq 0 mincTxs.t.Ax=bx0
一般形式转换为规范形式,首先把
∑ j = 1 n a i j x j = b i \sum_{j=1}^n a_{ij}x_j=b_i j=1naijxj=bi
转换为
∑ j = 1 n a i j x j ≥ b i ∑ j = 1 n ( − a i j ) x j ≥ ( − b i ) \sum_{j=1}^n a_{ij}x_j\geq b_i\\ \sum_{j=1}^n (-a_{ij})x_j\geq (-b_i) j=1naijxjbij=1n(aij)xj(bi)
再用两个非负变量 x j + ≥ 0 x_j^+ \geq 0 xj+0 x j − ≥ 0 x_j^- \geq 0 xj0替代无符号限制变量
x j = x j + − x j − x_j = x_j^+ - x_j^- xj=xj+xj
一般形式转换为标准形式,首先把
∑ j = 1 n a i j x j ≥ b i \sum_{j=1}^n a_{ij}x_j\geq b_i j=1naijxjbi
转换为
∑ j = 1 n a i j x j − s i = b i , s i ≥ 0 \sum_{j=1}^n a_{ij}x_j - s_i= b_i,s_i\geq 0 j=1naijxjsi=bi,si0
其中 s i s_i si为剩余变量,也可以通过加松弛变量进行变换
无符号限制变量的转换同上

线性规划问题解的三种情况

  1. 可行区域 D = ∅ D=\varnothing D=,即该问题无解或不可行
  2. D ≠ ∅ D\neq \varnothing D=,但目标函数在D上无界,即该问题无界
  3. D ≠ ∅ D\neq \varnothing D=,且目标函数有有限的最优值,即该问题有最优解

凸集

凸集的定义:设 S ⊂ R n S\subset \bm{R}^n SRn是n维欧式空间中的一个点集,若对任何 x ∈ S , y ∈ S x \in S,y \in S xS,yS与任何的 λ ∈ [ 0 , 1 ] \lambda \in [0, 1] λ[0,1]都有
λ x + ( 1 − λ ) y ∈ S \lambda x+(1-\lambda)y \in S λx+(1λ)yS
就称S是一个凸集
由凸集定义,易推到
D = { x ∈ R n ∣ A x = b , x ≥ 0 } D=\{x \in \bm{R}^n | Ax=b, x\geq0\} D={xRnAx=b,x0}是凸集
任意多个凸集的交集还是凸集

对偶

自由变量对应等式约束
非负变量对应不等式约束

后续待补充

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
运筹优化Python是使用Python编程语言进行运筹优化问题建模和求解的过程。运筹优化是一种数学方法,用于优化决策问题,例如最大化利润或最小化成本。Python是一种功能强大的编程语言,具有丰富的库和工具,可以帮助我们在运筹优化中进行问题建模和求解。 通过使用Python,您可以使用线性规划库来解决线性规划问题。这些库包装了本机求解器,可以提供解决方案状态、决策变量值、松弛变量、目标函数等结果信息。一些常用的Python线性规划库包括GLPK、LP Solve、CBC、CVXOPT、SciPy等。 此外,还有一些商业求解器提供了Python API,如Gurobi Optimization。Gurobi是一家提供快速商业求解器的公司,他们还提供关于线性规划和混合整数线性规划的宝贵资源,包括基础知识、教程和如何选择数学规划求解器的指南。 总之,运筹优化Python是指使用Python编程语言进行运筹优化问题建模和求解的过程,可以通过使用线性规划库或商业求解器的Python API来解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [运筹优化学习26:Python求解线性规划问题入门手册](https://blog.csdn.net/m1m2m3mmm/article/details/112579384)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值