【运筹学】线性规划 人工变量法 ( 人工变量法案例 | 初始单纯形表 | 检验数计算 | 入基变量 | 出基变量 )
文章目录
- 一、生成初始单纯形表
- 二、计算非基变量检验数
- 三、最优解判定
- 四、选择入基变量
- 五、选择出基变量
- 六、更新单纯形表
上一篇博客 【运筹学】线性规划 人工变量法 ( 单纯形法总结 | 人工变量法引入 | 人工变量法原理分析 | 人工变量法案例 ) 中 , 介绍了人工变量法 , 主要用于解决线性规划标准形式中 , 初始系数矩阵中没有单位阵的情况 , 并给出一个案例 , 本篇博客中继续使用人工变量法解解上述线性规划问题 ;
一、生成初始单纯形表
添加 222 个人工变量后 , 得到 人工变量单纯形法 线性规划模型 :
maxZ=3x1+2x2−x3+0x4+0x5−Mx6−Mx7s.t{−4x1+3x2+x3−x4+0x5+x6+0x7=4x1−x2+2x3+0x4+x5+0x6+0x7=102x1−2x2+x3+0x4+0x5+0x6+x7=1xj≥0(j=1,2,3,4,5,6,7)\begin{array}{lcl} max Z = 3x_1 + 2x_2 - x_3 + 0x_4 + 0x_5 - M x_6 - Mx_7 \\\\ s.t\begin{cases} -4 x_1 + 3x_2 + x_3 - x_4 + 0x_5 + x_6 + 0x_7 = 4 \\\\ x_1 - x_2 + 2x_3 + 0x_4 + x_5 + 0x_6 + 0x_7 = 10 \\\\ 2x_1 - 2x_2 + x_3 + 0x_4 + 0x_5 + 0x_6 + x_7 = 1 \\\\ x_j \geq 0 \quad (j = 1 , 2 , 3, 4, 5 , 6 , 7 ) \end{cases}\end{array}maxZ=3x1+2x2−x3+0x4+0x5−Mx6−Mx7s.t⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧−4x1+3x2+x3−x4+0x5+x6+0x7=4x1−x2+2x3+0x4+x5+0x6+0x7=102x1−2x2+x3+0x4+0x5+0x6+x7=1xj≥0(j=1,2,3,4,5,6,7)
其中的 MMM 是一个很大的数值 , 没有具体的值 , 可以理解为正无穷 +∞+\infty+∞ , 具体使用单纯形法进行计算时 , 将其理解为大于给出的任意一个确定的数值 ;
生成初始基可行表 :
cjc_jcj | cjc_jcj | 333 | 222 | −1-1−1 | 000 | 000 | −M-M−M | −M-M−M | ||
---|---|---|---|---|---|---|---|---|---|---|
CBC_BCB 基变量系数 (目标函数) | XBX_BXB 基变量 | 常数 bbb | x1x_1x1 | x2x_2x2 | x3x_3x3 | x4x_4x4 | x5x_5x5 | x6x_6x6 | x7x_7x7 | θi\theta_iθi |
−M-M−M ( 目标函数 x6x_6x6 系数 c6c_6c6 ) | x6x_6x6 | 444 | −4-4−4 | 333 | 111 | −1-1−1 | 000 | 111 | 000 | ??? (θ6\theta_6θ6) |
000 ( 目标函数 x5x_5x5 系数 c5c_5c5) | x5x_5x5 | 101010 | 111 | −1-1−1 | 222 | 000 | 111 | 000 | 000 | ??? ( θ5\theta_5θ5 ) |
−M-M−M ( 目标函数 x7x_7x7 系数 c7c_7c7) | x7x_7x7 | 111 | 222 | −2-2−2 | 111 | 000 | 000 | 000 | 111 | ??? ( θ7\theta_7θ7 ) |
σj\sigma_jσj ( 检验数 ) | ??? ( σ1\sigma_1σ1 ) | ??? ( σ2\sigma_2σ2 ) | ??? ( σ3\sigma_3σ3 ) | ??? ( σ3\sigma_3σ3 ) | 000 | 000 | 000 |
注意基变量顺序 : 初始基可行解的单位阵的顺序 , 是 (100010001)\begin{pmatrix} \quad 1 \quad 0 \quad 0 \quad \\ \quad 0 \quad 1 \quad 0 \quad \\ \quad 0 \quad 0 \quad 1 \quad \\ \end{pmatrix}⎝⎛100010001⎠⎞ , 对应的基变量顺序是 (x6x5x7)\begin{pmatrix} \quad x_6 \quad x_5 \quad x_7 \quad \\ \end{pmatrix}(x6x5x7)
x6x_6x6 系数是 (100)\begin{pmatrix} \quad 1 \quad \\ \quad 0 \quad \\ \quad 0 \quad \\ \end{pmatrix}⎝⎛100⎠⎞
x5x_5x5 系数是 (010)\begin{pmatrix} \quad 0 \quad \\ \quad 1 \quad \\ \quad 0 \quad \\ \end{pmatrix}⎝⎛010⎠⎞
x7x_7x7 系数是 (001)\begin{pmatrix} \quad 0 \quad \\ \quad 0 \quad \\ \quad 1 \quad \\ \end{pmatrix}⎝⎛001⎠⎞
二、计算非基变量检验数
1 . 计算非基变量 x1x_1x1 的检验数 σ1\sigma_1σ1 :
σ1=3−(−M0−M)×(−412)=3−(−M×−4+0×1+−M×2)=3−2M\sigma_1 = 3 - \begin{pmatrix} \quad -M \quad 0 \quad -M \quad \\ \end{pmatrix} \times \begin{pmatrix} \quad -4 \quad \\\\ \quad 1 \quad \\\\ \quad 2 \quad \end{pmatrix} = 3- ( -M \times -4 + 0 \times 1 + -M \times 2) =3 - 2Mσ1=3−(−M0−M)×⎝⎜⎜⎜⎜⎛−412⎠⎟⎟⎟⎟⎞=3−(−M×−4+0×1+−M×2)=3−2M
其中 MMM 是正无穷 +∞+\infin+∞ , 3−2M3 - 2M3−2M 是负数 ;
2 . 计算非基变量 x2x_2x2 的检验数 σ2\sigma_2σ2 :
σ2=2−(−M0−M)×(3−1−2)=2−(−M×3+0×−1+−M×−2)=2+M\sigma_2 = 2 - \begin{pmatrix} \quad -M \quad 0 \quad -M \quad \\ \end{pmatrix} \times \begin{pmatrix} \quad 3 \quad \\\\ \quad -1 \quad \\\\ \quad -2 \quad \end{pmatrix} = 2- ( -M \times 3 + 0 \times -1 + -M \times -2) = 2 + Mσ2=2−(−M0−M)×⎝⎜⎜⎜⎜⎛3−1−2⎠⎟⎟⎟⎟⎞=2−(−M×3+0×−1+−M×−2)=2+M
其中 MMM 是正无穷 +∞+\infin+∞ , 2+M2 + M2+M 是正数 ;
3 . 计算非基变量 x3x_3x3 的检验数 σ3\sigma_3σ3 :
σ3=−1−(−M0−M)×(121)=−1−(−M×1+0×2+−M×1)=−1+2M\sigma_3 = -1 - \begin{pmatrix} \quad -M \quad 0 \quad -M \quad \\ \end{pmatrix} \times \begin{pmatrix} \quad 1 \quad \\\\ \quad 2 \quad \\\\ \quad 1 \quad \end{pmatrix} = -1- ( -M \times 1 + 0 \times 2 + -M \times 1) =-1 + 2Mσ3=−1−(−M0−M)×⎝⎜⎜⎜⎜⎛121⎠⎟⎟⎟⎟⎞=−1−(−M×1+0×2+−M×1)=−1+2M
其中 MMM 是正无穷 +∞+\infin+∞ , −1+2M-1 + 2M−1+2M 是正数 ;
4 . 计算非基变量 x4x_4x4 的检验数 σ4\sigma_4σ4 :
σ4=0−(−M0−M)×(−100)=0−(−M×−1+0×0+−M×0)=−M\sigma_4 = 0 - \begin{pmatrix} \quad -M \quad 0 \quad -M \quad \\ \end{pmatrix} \times \begin{pmatrix} \quad -1 \quad \\\\ \quad 0 \quad \\\\ \quad 0 \quad \end{pmatrix} = 0- ( -M \times -1 + 0 \times 0 + -M \times 0) =-Mσ4=0−(−M0−M)×⎝⎜⎜⎜⎜⎛−100⎠⎟⎟⎟⎟⎞=0−(−M×−1+0×0+−M×0)=−M
其中 MMM 是正无穷 +∞+\infin+∞ , −M-M−M 是负数 ;
三、最优解判定
根据上述四个检验数 {σ1=3−2M(负数)σ2=2+M(正数)σ3=−1+2M(正数)σ4=−M(负数)\begin{cases} \sigma_1 = 3 - 2M \quad ( 负数 )\\\\ \sigma_2= 2 + M \quad ( 正数 )\\\\ \sigma_3= -1 + 2M \quad ( 正数 ) \\\\ \sigma_4 = -M \quad ( 负数 ) \end{cases}⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧σ1=3−2M(负数)σ2=2+M(正数)σ3=−1+2M(正数)σ4=−M(负数) 的值 , 其中 σ2,σ3\sigma_2 , \sigma_3σ2,σ3 检验数大于 000 , 该基可行解不是最优解 ;
只有当检验数都小于等于 000 时 , 该基可行解才是最优解 ;
四、选择入基变量
根据上述四个检验数 {σ1=3−2Mσ2=2+Mσ3=−1+2Mσ4=−M\begin{cases} \sigma_1 = 3 - 2M\\\\ \sigma_2= 2 + M\\\\ \sigma_3= -1 + 2M \\\\ \sigma_4 = -M \end{cases}⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧σ1=3−2Mσ2=2+Mσ3=−1+2Mσ4=−M 的值 , 选择检验数最大的非基变量作为入基变量 , σ3=−1+2M\sigma_3= -1 + 2Mσ3=−1+2M 最大 , 这里选择 x3x_3x3 ;
五、选择出基变量
出基变量选择 : 常数列 b=(4101)b =\begin{pmatrix} \quad 4 \quad \\ \quad 10 \quad \\ \quad 1 \quad \\ \end{pmatrix}b=⎝⎛4101⎠⎞ , 分别除以除以入基变量 x3x_3x3 大于 000 的系数列 (121)\begin{pmatrix} \quad 1 \quad \\\\ \quad 2 \quad \\\\ \quad 1 \quad \end{pmatrix}⎝⎜⎜⎜⎜⎛121⎠⎟⎟⎟⎟⎞ , 计算过程如下 (4110211)\begin{pmatrix} \quad \cfrac{4}{1} \quad \\\\ \quad \cfrac{10}{2} \quad \\\\ \quad \cfrac{1}{ 1} \quad \end{pmatrix}⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛1421011⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞ , 得出结果是 (451)\begin{pmatrix} \quad 4 \quad \\\\ \quad 5 \quad \\\\ \quad 1 \quad \end{pmatrix}⎝⎜⎜⎜⎜⎛451⎠⎟⎟⎟⎟⎞ , 如果系数小于等于 000 , 该值就是无效值 , 默认为无穷大 , 不进行比较 , 选择 111 对应的基变量作为出基变量 , 查看该最小值对应的变量是 x7x_7x7 , 选择该 x7x_7x7 变量作为出基变量 ;
六、更新单纯形表
cjc_jcj | cjc_jcj | 333 | 222 | −1-1−1 | 000 | 000 | −M-M−M | −M-M−M | ||
---|---|---|---|---|---|---|---|---|---|---|
CBC_BCB 基变量系数 (目标函数) | XBX_BXB 基变量 | 常数 bbb | x1x_1x1 | x2x_2x2 | x3x_3x3 | x4x_4x4 | x5x_5x5 | x6x_6x6 | x7x_7x7 | θi\theta_iθi |
−M-M−M ( 目标函数 x6x_6x6 系数 c6c_6c6 ) | x6x_6x6 | 444 | −4-4−4 | 333 | 111 | −1-1−1 | 000 | 111 | 000 | 444 (θ6\theta_6θ6) |
000 ( 目标函数 x5x_5x5 系数 c5c_5c5) | x5x_5x5 | 101010 | 111 | −1-1−1 | 222 | 000 | 111 | 000 | 000 | 555 ( θ5\theta_5θ5 ) |
−M-M−M ( 目标函数 x7x_7x7 系数 c7c_7c7) | x7x_7x7 | 111 | 222 | −2-2−2 | 111 | 000 | 000 | 000 | 111 | 111 ( θ7\theta_7θ7 ) |
σj\sigma_jσj ( 检验数 ) | 3−2M3-2M3−2M ( σ1\sigma_1σ1 ) | 2+M2+M2+M ( σ2\sigma_2σ2 ) | −1+2M-1 + 2M−1+2M ( σ3\sigma_3σ3 ) | −M-M−M ( σ3\sigma_3σ3 ) | 000 | 000 | 000 |
【运筹学】线性规划 人工变量法 ( 人工变量法案例 | 初始单纯形表 | 检验数计算 | 入基变量 | 出基变量 )相关推荐
- 【运筹学】线性规划 人工变量法 ( 人工变量法案例 | 第一次迭代 | 中心元变换 | 检验数计算 | 选择入基变量 | 选择出基变量 )
文章目录 一.第一次迭代 : 中心元变换 二.第一次迭代 : 单纯形表 三.第一次迭代 : 计算检验数 四.第一次迭代 : 最优解判定 五.第一次迭代 : 选择入基变量 六.第一次迭代 : 选择出基变 ...
- 【运筹学】线性规划 人工变量法 ( 人工变量法案例 | 第三次迭代 | 中心元变换 | 检验数计算 | 最优解判定 )
文章目录 一.第三次迭代 : 中心元变换 二.第三次迭代 : 单纯形表 三.第三次迭代 : 检验数计算 四.第三次迭代 : 最优解判定 五.第三次迭代 : 最终单纯形表 上一篇博客 [运筹学]线性规划 ...
- 【运筹学】线性规划 人工变量法 ( 人工变量法案例 | 第二次迭代 | 中心元变换 | 检验数计算 | 最优解判定 | 选择入基变量 | 选择出基变量 )
文章目录 一.第二次迭代 : 中心元变换 二.第二次迭代 : 单纯形表 三.第二次迭代 : 计算检验数 四.第二次迭代 : 最优解判定 五.第二次迭代 : 选择入基变量 六.第二次迭代 : 选择出基变 ...
- 【运筹学】人工变量法总结 ( 人工变量法解的分析 | 标准型变换 | 构造单位阵 | 目标函数引入 M | 计算检验数 | 选择入基变量 | 选择出基变量 | 中心元变换 | ) ★★
文章目录 一.人工变量法及解的分析 二.案例 三.线性规划标准型变换 四.人工变量法构造单位阵 五.初始单纯形表 六.初始单纯形表 : 计算非基变量检验数 七.初始单纯形表 : 最优解判定 八.初始单 ...
- 【运筹学】线性规划 单纯形法 案例二 ( 第一次迭代 | 矩阵变换 | 检验数计算 | 最优解判定 | 入基变量 | 出基变量 )
文章目录 一.第一次迭代 : 进行行变换 二.第一次迭代 : 计算检验数 三.第一次迭代 : 最优解判定 四.第一次迭代 : 入基变量 五.第一次迭代 : 出基变量 [运筹学]线性规划 单纯形法 ( ...
- 【运筹学】线性规划 单纯形法 案例二 ( 第二次迭代 | 矩阵变换 | 检验数计算 | 最优解判定 )
文章目录 一.第二次迭代 : 进行矩阵变换 二.第二次迭代 : 计算检验数 三.第二次迭代 : 最优解判定 [运筹学]线性规划数学模型 ( 单纯形法 | 第二次迭代 | 方程组同解变换 | 生成新单纯 ...
- 【运筹学】单纯形法总结 ( 单纯形法原理 | 单纯形法流程 | 单纯形表 | 计算检验数 | 最优解判定 | 入基变量 | 出基变量 | 方程组同解变换 ) ★★★
文章目录 一.单纯形法原理 二.单纯形法流程 三.单纯形法案例一 1.线性规划示例 2.转化标准形式 3.查找初始基可行解 4.初始基可行解的最优解判定 5.第一次迭代 : 入基与出基变量选择 6.第 ...
- 【运筹学】线性规划数学模型 ( 单纯形法 | 第二次迭代 | 方程组同解变换 | 生成新单纯形表 | 计算检验数 | 最优解判定 | 线性规划解个数分析 )
文章目录 一.第二次迭代 二.方程组同解变换 三.生成新的单纯形表 四.计算检验数.最优解判定 五.最优解个数说明 1.唯一最优解 2.无穷最优解 3.无界解 4.总结 六.出基变量选择说明 上一篇博 ...
- 【运筹学】线性规划数学模型 ( 单纯形法 | 第一次迭代 | 方程组同解变换 | 计算新单纯形表 | 计算检验数 | 入基变量选择 | 出基变量选择 )
文章目录 一.初始基可行解后第一次迭代 二.迭代后新的单纯形表 三.方程组同解变换 四.生成新的单纯形表 五.解出基可行解 六.计算检验数 σj\sigma_jσj 并选择入基变量 七.计算 θ\t ...
最新文章
- 20160406作业
- HP 打印机驱动安装Return code:1603解决办法
- Java中IO流的总结
- Codechef SEAARC Sereja and Arcs (分块)
- oracle数据库应用与开发习题,《Oracle数据库应用》练习题及答案.docx
- Nginx的Gzip模块配置指令(二)
- [Java基础]Collections概述和使用
- 通过Spring Integration消费Twitter Streaming API
- EBS功能安全性基本原理
- 视频方向的变换by ppt
- 数据结构(C语言)-串
- LG 的数学计划 ---- 第三步 欧几里得算法和扩展欧几里得
- Python转义字符及举例(常见)代码解释
- 5.1 定积分的概念与性质
- 嵌入式开发需要学mysql吗_学习嵌入式开发需要学习哪些课程?如何学习?
- vue——初学Vue
- 计算机网络2:get和post的区别
- 【Github】使用github
- ZLG_USBCAN-Ⅱ+ 设置滤波问题
- P4766 [CERC2014]Outer space invaders(区间dp)