【运筹学】线性规划数学模型 ( 单纯形法 | 迭代原则 | 入基 | 出基 | 线性规划求解示例 )
文章目录
- 一、单纯形法计算示例 ( 上篇博客回顾总结 )
- 二、迭代原则
- 三、最优解推导
- 四、出基与入基
- 五、出基与入基变量选择
一、单纯形法计算示例 ( 上篇博客回顾总结 )
在上一篇博客 【运筹学】线性规划数学模型 ( 单纯形法 | 最优解判定原则 | 线性规划求解示例 ) 博客给出了一个线性规划的示例 , 并进行了 查找初始基可行解 , 和 判定该基可行解是否是最优解 ;
在目标函数中 , 将基可行解代入目标函数中
- 不是最优解情况 : 非基变量的系数都是大于 000 的数值 , 该基可行解不是最优解 ;
- 是最优解情况 : 只有当 非基变量的系数都是小于等于 000 的数时 , 该基可行解才是最优解 ;
线性规划标准形式为 :
maxZ=3x1+4x2+0x3+0x4{2x1+x2+x3+0x4=40x1+3x2+0x3+x4=30xj≥0(j=1,2,3,4)\begin{array}{lcl} max Z = 3x_1 + 4x_2 + 0x_3 + 0x_4 \\ \\ \begin{cases} 2 x_1 + x_2 + x_3 + 0x_4 = 40 \\\\ x_1 + 3x_2 + 0x_3 + x_4 = 30 \\\\ x_j \geq 0 & (j = 1 , 2 , 3 , 4 ) \end{cases}\end{array}maxZ=3x1+4x2+0x3+0x4⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧2x1+x2+x3+0x4=40x1+3x2+0x3+x4=30xj≥0(j=1,2,3,4)
单纯形表 :
cjc_jcj | cjc_jcj | 333 | 444 | 000 | 000 | ||
---|---|---|---|---|---|---|---|
CBC_BCB 基变量系数 (目标函数) | 基变量 | 常数 bbb | x1x_1x1 | x2x_2x2 | x3x_3x3 | x4x_4x4 | θi\theta_iθi |
000 ( 目标函数 x3x_3x3 系数 c3c_3c3 ) | x3x_3x3 | 404040 | 222 | 111 | 111 | 000 | |
000 ( 目标函数 x4x_4x4 系数 c4c_4c4) | x4x_4x4 | 303030 | 111 | 333 | 000 | 111 | |
σj\sigma_jσj | 333 | 444 | 000 | 000 |
选择 [1001]\begin{bmatrix} &1 & 0 & \\\\ &0 & 1 & \end{bmatrix}⎣⎡1001⎦⎤ 作为基矩阵 , 基变量是 x3x_3x3 , x4x_4x4 , 初始基可行解是 (004030)\begin{pmatrix} \quad 0 \quad \\ \quad 0 \quad \\ \quad 40 \quad \\ \quad 30 \quad \\ \end{pmatrix}⎝⎜⎜⎛004030⎠⎟⎟⎞ , 经过计算 , 其目标函数中 x1x_1x1 的系数是 333 , x2x_2x2 的系数是 444 , 都是大于 000 的数 , 该基可行解不是基解 , 继续向下迭代 ;
二、迭代原则
上述解出的基可行解 (004030)\begin{pmatrix} \quad 0 \quad \\ \quad 0 \quad \\ \quad 40 \quad \\ \quad 30 \quad \\ \end{pmatrix}⎝⎜⎜⎛004030⎠⎟⎟⎞ 不是最优解 , 那么 需要迭代下一个基可行解 , 下面开始讲解 , 如何进行迭代 ;
上述的解中 , 非基变量 x1x_1x1 和 x2x_2x2 取 000 不是最好的选择 , 那么 这两个变量最好取非 000 的值 , 求解线性规划的思路是 :
在无穷多个可行解中迭代 , 得到最优解 ;
上述思路可以转化成在有限个基可行解中迭代 , 得到最优解 ;
无限 -> 有限 : 可行解 是无限个的 , 基可行解 是有限个 ;
三、最优解推导
x1,x2x_1 , x_2x1,x2 取值为 000 不是最优解 , 约束条件要求这两个变量必须大于等于 000
xj≥0(j=1,2,3,4)x_j \geq 0 (j = 1 , 2 , 3 , 4 )xj≥0(j=1,2,3,4)
, 那么只能取值大于 000 , 下面讨论这两个变量取值大于 000 的情况 ;
x1x_1x1 的系数是 333 , x2x_2x2 的系数是 444 , 如果 x3,x4x_3 , x_4x3,x4 取 000 , 目标函数 maxZ=0+3x1+4x2maxZ = 0 + 3x_1 + 4x_2maxZ=0+3x1+4x2 , 将 x1,x2x_1 , x_2x1,x2 任意一个增大 , 其目标函数的值都会增大 ;
- 增大 x2x_2x2 : 此时可以选择将 x2x_2x2 增大 , x2x_2x2 增加 111 , 目标函数就会增加 444 ;
- 增大 x1x_1x1 : 也可以选择将 x1x_1x1 增大 , x1x_1x1 增加 111 , 目标函数就会增加 333 , 只要是目标函数随变量增加而增加即可 ;
增大 x2x_2x2 , x2x_2x2 不能无限增大 , 其需要受到 {2x1+x2+x3+0x4=40x1+3x2+0x3+x4=30\begin{cases} 2 x_1 + x_2 + x_3 + 0x_4 = 40 \\\\ x_1 + 3x_2 + 0x_3 + x_4 = 30 \end{cases}⎩⎪⎨⎪⎧2x1+x2+x3+0x4=40x1+3x2+0x3+x4=30 约束方程约束 ,
- 受第一个方程约束 , 增大 x2x_2x2 , 最多是 x1,x3,x4x_1, x_3, x_4x1,x3,x4 都取值 000 , x2x_2x2 理论上最大值时 404040 ;
- 受第一个方程约束 , 增大 x2x_2x2 , 最多是 x1,x3,x4x_1, x_3, x_4x1,x3,x4 都取值 000 , x2x_2x2 理论上最大值时 101010 ;
x2x_2x2 最大就能取值到 101010 , 否则无法满足第二个约束方程 , 如果 x2x_2x2 取 404040 , 那么在第二个方程中 , 就会出现有变量为负数 , 就不符合约束条件了 , 因此 x2x_2x2 最大只能取到 101010 ;
那么开始增加 x2x_2x2 的值 , 目标函数 maxZ=0+3x1+4x2maxZ = 0 + 3x_1 + 4x_2maxZ=0+3x1+4x2 , 增大 x2x_2x2 , 如果 x2x_2x2 从 000 增加到 101010 , 目标函数可以增加 404040 ,
cjc_jcj | cjc_jcj | 333 | 444 | 000 | 000 | ||
---|---|---|---|---|---|---|---|
CBC_BCB 基变量系数 (目标函数) | 基变量 | 常数 bbb | x1x_1x1 | x2x_2x2 | x3x_3x3 | x4x_4x4 | θi\theta_iθi |
000 ( 目标函数 x3x_3x3 系数 c3c_3c3 ) | x3x_3x3 | 404040 | 222 | 111 | 111 | 000 | 404040 ( θ3\theta_3θ3 ) |
000 ( 目标函数 x4x_4x4 系数 c4c_4c4) | x4x_4x4 | 303030 | 111 | 333 | 000 | 111 | 101010 ( θ4\theta_4θ4 ) |
σj\sigma_jσj | 333 | 444 | 000 | 000 |
四、出基与入基
基可行解 : 选择可行基 , 自然会产生基变量 ( 可行基对应变量 ) , 与非基变量 , 非基变量取值为 000 , 解出基变量 , 此时基变量的解与 000 组合成基可行解 ;
上一次的初始基可行解选择时 , x3x_3x3 和 x4x_4x4 是基变量 , x1x_1x1 和 x2x_2x2 是非基变量 , 非基变量取值必须为 000 ;
如果 x2x_2x2 变成了非 000 取值 , 此时就需要将 x2x_2x2 设置成基变量 ;
基变量的个数是固定的 , 本示例中是 222 个 , 如果将 x2x_2x2 设置成基变量 , 那么就需要将之前的 x3x_3x3 和 x4x_4x4 中其中一个基变量替换成 x2x_2x2 , 被替换的基变量变成非基变量 ;
因此该迭代的过程又称为出基 , 入基过程 ;
- 出基 : x3,x4x_3 , x_4x3,x4 有一个变量设置成非基变量 , 称为出基 ;
- 入基 : x2x_2x2 设置成基变量 , 称为入基 ;
五、出基与入基变量选择
入基变量选择 : 具体哪个变量入基 , 是由检验数决定的 , 检验数 σj\sigma_jσj 较大的入基 ; x2x_2x2 的检验数 σ2\sigma_2σ2 是 444 , 大于 σ1=3\sigma_1 = 3σ1=3 , 因此这里选择 x2x_2x2 作为入基变量 ;
出基变量选择 : 系数矩阵中 , 常数列 b=(4030)b =\begin{pmatrix} \quad 40 \quad \\ \quad 30 \quad \end{pmatrix}b=(4030) , 分别除以除以入基变量大于 000 的系数列 (13)\begin{pmatrix} \quad 1 \quad \\ \quad 3 \quad \end{pmatrix}(13) , 得出结果是 (4010)\begin{pmatrix} \quad 40 \quad \\ \quad 10 \quad \end{pmatrix}(4010) , 然后选择一个最小值 101010 , 查看该最小值对应的变量是 x4x_4x4 , 选择该变量作为出基变量 ;
这里将出基变量与入基变量选择好了 , x2x_2x2 的检验数较大 , 选择 x2x_2x2 作为入基变量 , x4x_4x4 的 θ4\theta_4θ4 较小 , 选择 x4x_4x4 作为出基变量 ;
入基出基操作完成后 , 基变量变成了 x3,x2x_3, x_2x3,x2 ;
【运筹学】线性规划数学模型 ( 单纯形法 | 迭代原则 | 入基 | 出基 | 线性规划求解示例 )相关推荐
- 【运筹学】线性规划数学模型 ( 单纯形法 | 第一次迭代 | 方程组同解变换 | 计算新单纯形表 | 计算检验数 | 入基变量选择 | 出基变量选择 )
文章目录 一.初始基可行解后第一次迭代 二.迭代后新的单纯形表 三.方程组同解变换 四.生成新的单纯形表 五.解出基可行解 六.计算检验数 σj\sigma_jσj 并选择入基变量 七.计算 θ\t ...
- 【运筹学】线性规划数学模型 ( 单纯形法 | 第二次迭代 | 方程组同解变换 | 生成新单纯形表 | 计算检验数 | 最优解判定 | 线性规划解个数分析 )
文章目录 一.第二次迭代 二.方程组同解变换 三.生成新的单纯形表 四.计算检验数.最优解判定 五.最优解个数说明 1.唯一最优解 2.无穷最优解 3.无界解 4.总结 六.出基变量选择说明 上一篇博 ...
- 【运筹学】线性规划数学模型 ( 单纯形法 | 最优解判定原则 | 线性规划求解示例 )
文章目录 一.单纯形法计算示例 二.转化标准形式 三.查找初始基可行解 四.列出单纯形表 五.最优解判定 在上一篇博客 [运筹学]线性规划数学模型 ( 单纯形法 | 最优解判定原则 | 单纯形表 | ...
- 【运筹学】线性规划数学模型 ( 单纯形法 | 最优解判定原则 | 单纯形表 | 系数计算方法 | 根据系数是否小于等于 0 判定最优解 )
文章目录 一.(CNT−CBTB−1N)( C_N^T - C_B^T B^{-1}N )(CNT−CBTB−1N) 系数 分析 二.CBC_BCB XBX_BXB 分析 三.CNC_NCN ...
- 【运筹学】线性规划数学模型 ( 单纯形法 | 最优解判定原则 | 可行解表示 | 目标函数推导 | 目标函数最大值分析 )
文章目录 一.基矩阵 + 非基矩阵 约束条件 二.基矩阵 + 非基矩阵 线性规划 三.线性规划 可行解 四.目标函数 推导 五.XN=OX_N = OXN=O 目标函数最大 分析 六.总结 在上一篇 ...
- 【运筹学】线性规划数学模型 ( 单纯形法原理 | 单纯形法流程 | 查找初始基可行解 )
文章目录 一.单纯形法原理 二.单纯形法流程 三.初始的基可行解查找 一.单纯形法原理 单纯形法的理论基础 : 定理 111 ( 可行域是凸集 ) : 如果线性规划的问题 存在可行解 , 其 可行域 ...
- 运筹学修炼日记:如何优雅地写出大规模线性规划的对偶
运筹学修炼日记:如何优雅地写出大规模线性规划的对偶问题 运筹学修炼日记:如何优雅地写出大规模线性规划的对偶 最短路问题 多商品流问题`Multicommodity Network Flow Probl ...
- 【运筹学】单纯形法总结 ( 单纯形法原理 | 单纯形法流程 | 单纯形表 | 计算检验数 | 最优解判定 | 入基变量 | 出基变量 | 方程组同解变换 ) ★★★
文章目录 一.单纯形法原理 二.单纯形法流程 三.单纯形法案例一 1.线性规划示例 2.转化标准形式 3.查找初始基可行解 4.初始基可行解的最优解判定 5.第一次迭代 : 入基与出基变量选择 6.第 ...
- 单纯形法只有两个约束条件_教学 | 线性规划 7 :单纯形法的引入
介绍单纯形法的引例. 如果觉得对运筹学学习和教学有用,请关注和转发! 01 单纯形法的概述 之前提到,对于LP问题,如果它有最优解,肯定可以在顶点上取到最优值. 因此,找LP问题的最优解,也就转换为找 ...
最新文章
- Spring Data JPA 常用注解
- 使用FtpWebRequest 类操作(上传、下载和删除)FTP上的XML文件
- Java基础知识——Java集合详解
- 修改eclipse默认编码方式
- mysql双机热备 读写分离_轻松搭建MySQL主从复制、读写分离(双机热备)
- Bootstrap按钮组中按钮的尺寸
- node中的数据持久化
- 如何在Mac上的一个“预览”窗口中显示若干文件
- Mac新手比较容易犯的一些错误
- 高斯消元法(Gauss Elimination) 分析 题解 模板——czyuan原创
- 服务器监视Zabbix 5.0 - 安装部署
- 使用WWWGrep检查你的网站元素安全
- Windows文件同步
- 浅学几天统计(SPSS)
- OFDM 调制系统框图 OFDM
- 调查:人工智能技术的应用现状
- matlab仿真的英文文献,matlab 外文翻译 外文文献 英文文献 MATALAB 混合仿真平台控制算法的概述...
- 颜值开路,带货千万,看小霸宠如何低成本运作
- Web项目部署到TongWeb的注意事项,TongWeb踩过的坑
- 网管软件的几种主动监测方式