陈宝林《最优化理论与算法》超详细学习笔记 (三)————单纯形法

本文详细介绍了线性规划的数学模型、最优性检验与解的判别准则,特别是重点讲解了单纯形法,包括单纯形表的构建、计算步骤以及退化解的处理。还探讨了处理无界解和无穷多最优解的情况,并介绍了人工变量法中的大M法和两阶段法。
摘要由CSDN通过智能技术生成


一般线性规划问题具有线性方程组的变量数大于方程个数,这时有不定的解。于是,我们有选择地选择一个基本可行解,也就是可行域的一个顶点,沿着可行域的边界到下一个相邻的顶点,要求新的顶点目标值函数更优,如此迭代,直至找到最优解,或判定该最优化问题无界。这就是单纯形法的基本求解思路

数学模型

给定标准形式的LP
min ⁡ c x \min {\mathcal{ cx}} mincx
s.t. A x = b , A x=b, Ax=b, i = 1 , 2 , … , m i=1,2, \dots, m i=1,2,,m, x ≥ 0 x \geq 0 x0
x = ( x B , x N ) , x B x=\left(x_{B}, x_{N}\right), x_{B} x=(xB,xN),xB 为基变量, x N x_{N} xN 为非基变量
利用分块矩阵
A = [ B , N ] A x = b ⇒ B x B + N x N = b ⇒ x B + B − 1 N x N = B − 1 b ⇒ x B = B − 1 b − B − 1 x N \begin{array}{l} A=[B, N] \\ A x=b \Rightarrow B x_{B}+N x_{N}=b \Rightarrow \\ x_{B}+B^{-1} N x_{N}=B^{-1} b \Rightarrow x_{B}=B^{-1} b-B^{-1} x_{N} \end{array} A=[B,N]Ax=bBxB+NxN=bxB+B1NxN=B1bxB=B1bB1xN
于是目标函数
z = c B ′ x B + c N ′ x N = c B ′ ( B − 1 b − B − 1 N x N ) + c N ′ x N = c B ′ B − 1 b + ( c N ′ − c B ′ B − 1 N ) x N \begin{aligned} z &=c_{B}^{\prime} x_{B}+c_{N}^{\prime} x_{N} \\ &=c_{B}^{\prime}\left(B^{-1} b-B^{-1} N x_{N}\right)+c_{N}^{\prime} x_{N} \\ &=c_{B}^{\prime} B^{-1} b+\left(c_{N}^{\prime}-c_{B}^{\prime} B^{-1} N\right) x_{N} \end{aligned} z=cBxB+cNxN=cB(B1bB1NxN)+cNxN=cBB1b+(cNcBB1N)xN
上式中 ( c N ′ − c B ′ B − 1 N ) \left(c_{N}^{\prime}-c_{B}^{\prime} B^{-1} N\right) (cNcBB1N)的分量 c ˉ j = c j − c B ′ B − 1 A j \bar{c}_{j}=c_{j}-c_{B}^{\prime} B^{-1} A_{j} cˉj=cjcBB1Aj为约化(缩减)费用,于是有基本可行解 x x x与基 B B B相关联;若约化费用 c ˉ > 0 \bar{c}>0 cˉ>0则可以推出 x x x为最优; x x x为最优且非退化可以推出 c ˉ > 0 \bar{c}>0 cˉ>0

最优性检验与解的判别

由于线性规划问题的求解可能出现唯一最优解、无穷多最优解、无界解和无可行解等四种情况,因此,需要建立解的判别准则。
x i = b i ′ − ∑ j = m + 1 n a i j ′ x j , ( i = 1 , 2 , ⋯ n ) x_{i}=b_{i}^{\prime}-\sum_{j=m+1}^{n} a_{i j}^{\prime} x_{j}, \quad(i=1,2, \cdots n) xi=bij=m+1naijxj,(i=1,2,n)
将上式代入目标函数式,整理可得
z = ∑ j = 1 n c j x j = ∑ i = 1 m c i x i + ∑ j = m + 1 n c j x j = ∑ i = 1 m c i ( b i − ∑ j = m + 1 n a i j x j ) + ∑ j = m + 1 n c j x j = ∑ i = 1 m c i b i − ∑ i = 1 m c i ∑ j = m + 1 n a i j x j + ∑ j = m + 1 n c j x j = ∑ i = 1 m c i b i − ∑ j = m + 1 n ∑ i = 1 m c i a i j x j + ∑ j = m + 1 n c j x j = ∑ i = 1 m c i b i + ∑ j = m + 1 n ( c j − ∑ i = 1 m c i a i j ) x j \begin{aligned} z &=\sum_{j=1}^{n} c_{j} x_{j}=\sum_{i=1}^{m} c_{i} x_{i}+\sum_{j=m+1}^{n} c_{j} x_{j}=\sum_{i=1}^{m} c_{i}\left(b_{i}-\sum_{j=m+1}^{n} a_{i j} x_{j}\right)+\sum_{j=m+1}^{n} c_{j} x_{j} \\ &=\sum_{i=1}^{m} c_{i} b_{i}-\sum_{i=1}^{m} c_{i} \sum_{j=m+1}^{n} a_{i j} x_{j}+\sum_{j=m+1}^{n} c_{j} x_{j} \\ &=\sum_{i=1}^{m} c_{i} b_{i}-\sum_{j=m+1}^{n} \sum_{i=1}^{m} c_{i} a_{i j} x_{j}+\sum_{j=m+1}^{n} c_{j} x_{j} \\ &=\sum_{i=1}^{m} c_{i} b_{i}+\sum_{j=m+1}^{n}\left(c_{j}-\sum_{i=1}^{m} c_{i} a_{i j}\right) x_{j} \end{aligned} z=j=1ncjxj=i=1mcixi+j=m+1ncjxj=i=1mci(bij=m+1naijxj)+j=m+1ncjxj=i=1mc

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值