文章目录

  • 一、线性规划示例
  • 二、转化成标准形式
  • 三、初始基可行解
  • 四、列出单纯形表
  • 五、计算检验数
  • 六、选择入基变量与出基变量
  • 七、第一次迭代 : 列出单纯形表

一、线性规划示例


线性规划示例 : 使用单纯形法求解下面的线性规划 ;

maxZ=x1+2x2+x3s.t{2x1−3x2+2x3≤1513x1+x2+5x3≤20xj≥0(j=1,2,3)\begin{array}{lcl} max Z = x_1 + 2x_2 + x_3 \\ \\ s.t\begin{cases} 2 x_1 - 3x_2 + 2x_3 \leq 15 \\\\ \dfrac{1}{3}x_1 + x_2 + 5x_3 \leq 20 \\ \\x_j \geq 0 & (j = 1 , 2 , 3 ) \end{cases}\end{array}maxZ=x1​+2x2​+x3​s.t⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧​2x1​−3x2​+2x3​≤1531​x1​+x2​+5x3​≤20xj​≥0​(j=1,2,3)​​

二、转化成标准形式


首先将现行规划转化成标准形式 :

参考 【运筹学】线性规划数学模型标准形式 ( 标准形式 | 目标函数转化 | 决策变量转化 | 约束方程转化 | 固定转化顺序 | 标准形式转化实例 ) 线性规划 普通形式 -> 标准形式 转化顺序说明 博客 , 先处理变量约束 , 再将不等式转为等式 , 最后更新目标函数 ;

1 . 处理约束变量 : 所有的约束变量都大于等于 000 , 这里无需处理 ;

2 . 将不等式转为等式 : 两个不等式都是小于等于不等式 , 在左侧加入松弛变量即可 ;

① 添加松弛变量 : 上述两个不等式 {2x1−3x2+2x3≤1513x1+x2+5x3≤20\begin{cases} 2 x_1 - 3x_2 + 2x_3 \leq 15 \\\\ \dfrac{1}{3}x_1 + x_2 + 5x_3 \leq 20 \end{cases}⎩⎪⎪⎨⎪⎪⎧​2x1​−3x2​+2x3​≤1531​x1​+x2​+5x3​≤20​ , 在左侧分别添加 x4,x5x_4 , x_5x4​,x5​ 松弛变量 ;

② 最终结果 : 转化后的结果是 {2x1−3x2+2x3+x4=1513x1+x2+5x3+x5=20xj≥0(j=1,2,3,4,5)\begin{cases} 2 x_1 - 3x_2 + 2x_3 + x_4 = 15 \\\\ \dfrac{1}{3}x_1 + x_2 + 5x_3 + x_5 = 20 \\ \\x_j \geq 0 \quad (j = 1 , 2 , 3, 4, 5 ) \end{cases}⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧​2x1​−3x2​+2x3​+x4​=1531​x1​+x2​+5x3​+x5​=20xj​≥0(j=1,2,3,4,5)​

3 . 处理目标函数取最大值 : 目标函数就是取最大值 , 无需处理 ;

4 . 最终的标准形结果是 :

maxZ=x1+2x2+x3+0x4+0x5s.t{2x1−3x2+2x3+x4+0x5=1513x1+x2+5x3+0x4+x5=20xj≥0(j=1,2,3,4,5)\begin{array}{lcl} max Z = x_1 + 2x_2 + x_3 + 0x_4 + 0x_5 \\ \\ s.t\begin{cases} 2 x_1 - 3x_2 + 2x_3 + x_4 + 0x_5 = 15 \\\\ \dfrac{1}{3}x_1 + x_2 + 5x_3 + 0x_4 + x_5 = 20 \\ \\x_j \geq 0 \quad (j = 1 , 2 , 3, 4, 5 ) \end{cases}\end{array}maxZ=x1​+2x2​+x3​+0x4​+0x5​s.t⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧​2x1​−3x2​+2x3​+x4​+0x5​=1531​x1​+x2​+5x3​+0x4​+x5​=20xj​≥0(j=1,2,3,4,5)​​

三、初始基可行解


找初始基可行解 :

① 查找单位阵 : 该线性规划标准形的系数矩阵中 , x4,x5x_4 , x_5x4​,x5​ 的系数矩阵是 (1001)\begin{pmatrix} \quad 1 \quad 0 \quad \\ \quad 0 \quad 1 \quad \\ \end{pmatrix}(1001​) , 该矩阵是单位阵 ;

② 可行基 : 选择该矩阵作为可行基 ;

③ 初始基可行解 : 其对应的解是基可行解 (0001520)\begin{pmatrix} \quad 0 \quad \\ \quad 0 \quad \\ \quad 0 \quad \\ \quad 15 \quad \\ \quad 20 \quad \\ \end{pmatrix}⎝⎜⎜⎜⎜⎛​0001520​⎠⎟⎟⎟⎟⎞​ ;

四、列出单纯形表


maxZ=x1+2x2+x3+0x4+0x5s.t{2x1−3x2+2x3+x4+0x5=1513x1+x2+5x3+0x4+x5=20xj≥0(j=1,2,3,4,5)\begin{array}{lcl} max Z = x_1 + 2x_2 + x_3 + 0x_4 + 0x_5 \\ \\ s.t\begin{cases} 2 x_1 - 3x_2 + 2x_3 + x_4 + 0x_5 = 15 \\\\ \dfrac{1}{3}x_1 + x_2 + 5x_3 + 0x_4 + x_5 = 20 \\ \\x_j \geq 0 \quad (j = 1 , 2 , 3, 4, 5 ) \end{cases}\end{array}maxZ=x1​+2x2​+x3​+0x4​+0x5​s.t⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧​2x1​−3x2​+2x3​+x4​+0x5​=1531​x1​+x2​+5x3​+0x4​+x5​=20xj​≥0(j=1,2,3,4,5)​​

cjc_jcj​ cjc_jcj​ 111 222 111 000 000
CBC_BCB​ 基变量系数 (目标函数) 基变量 常数 bbb x1x_1x1​ x2x_2x2​ x3x_3x3​ x4x_4x4​ x5x_5x5​ θi\theta_iθi​
000 ( 目标函数 x4x_4x4​ 系数 c4c_4c4​ ) x4x_4x4​ 151515 222 −1-1−1 222 111 000 −-−
000 ( 目标函数 x5x_5x5​ 系数 c5c_5c5​) x5x_5x5​ 202020 13\dfrac{1}{3}31​ 111 555 000 111 202020
σj\sigma_jσj​ ( 检验数 ) 111 ( σ1\sigma_1σ1​ ) 222 ( σ2\sigma_2σ2​ ) 111 ( σ3\sigma_3σ3​ ) 000 000

五、计算检验数


计算非基变量的检验数 :

单个检验数计算公式 : σj=cj−∑ciaij\sigma_j = c_j - \sum c_i a_{ij}σj​=cj​−∑ci​aij​ , 其中 cjc_jcj​ 是对应目标函数非基变量系数 , cic_ici​ 是目标函数中基变量系数 , aija_{ij}aij​ 是系数矩阵中对应的 xjx_jxj​ 非基变量列向量 ;

① σ1\sigma_1σ1​ 检验数计算 : σ1=1−(0×2+0×13)=1\sigma_1 = 1 - ( 0 \times 2 + 0 \times \dfrac{1}{3} ) = 1σ1​=1−(0×2+0×31​)=1


② σ2\sigma_2σ2​ 检验数计算 : σ2=2−(0×(−1)+0×1)=2\sigma_2 = 2 - ( 0 \times (-1) + 0 \times 1 ) = 2σ2​=2−(0×(−1)+0×1)=2

③ σ13\sigma_13σ1​3 检验数计算 : σ3=1−(0×2+0×5)=1\sigma_3 = 1 - ( 0 \times 2 + 0 \times 5 ) = 1σ3​=1−(0×2+0×5)=1

六、选择入基变量与出基变量


入基变量选择 : 选择检验数 σj\sigma_jσj​ 较大的非基变量作为入基变量 , 即 x2x_2x2​ ;

出基变量是根据 θ\thetaθ 值来选择的 , 选择 θ\thetaθ 值较小的值对应的基变量作为出基变量 ;

出基变量选择 : 常数列 b=(1520)b =\begin{pmatrix} \quad 15 \quad \\ \quad 20 \quad \end{pmatrix}b=(1520​) , 分别除以除以入基变量 x2x_2x2​ 大于 000 的系数列 (−11)\begin{pmatrix} \quad -1 \quad \\\\ \quad 1 \quad \end{pmatrix}⎝⎛​−11​⎠⎞​ , 计算过程如下 (系数小于0不计算201)\begin{pmatrix} \quad 系数小于0 不计算 \quad \\\\ \quad \cfrac{20}{1} \quad \end{pmatrix}⎝⎜⎜⎛​系数小于0不计算120​​⎠⎟⎟⎞​ , 得出结果是 (无效值20)\begin{pmatrix} \quad 无效值 \quad \\\\ \quad 20 \quad \end{pmatrix}⎝⎛​无效值20​⎠⎞​ , 如果系数小于等于 000 , 该值就是无效值 , 默认为无穷大 , 不进行比较 , 选择 202020 对应的基变量作为出基变量 , 查看该最小值对应的变量是 x5x_5x5​ , 选择该 x5x_5x5​ 变量作为出基变量 ;

七、第一次迭代 : 列出单纯形表


上述已经得到 x2x_2x2​ 作为入基变量 , 由非基变量转为基变量 , x5x_5x5​ 作为出基变量 , 由基变量转为非基变量 ; 使用 x2x_2x2​ , 替换基变量中的 x5x_5x5​ 的位置 ;

基变量为 x4,x2x_4 , x_2x4​,x2​ , 注意顺序不要写反 ;

cjc_jcj​ cjc_jcj​ 111 222 111 000 000
CBC_BCB​ 基变量系数 (目标函数) 基变量 常数 bbb x1x_1x1​ x2x_2x2​ x3x_3x3​ x4x_4x4​ x5x_5x5​ θi\theta_iθi​
000 ( 目标函数 x4x_4x4​ 系数 c4c_4c4​ ) x4x_4x4​ 151515 222 −1-1−1 222 111 000 −-− (θ4\theta_4θ4​)
000 ( 目标函数 x5x_5x5​ 系数 c5c_5c5​) x5x_5x5​ 202020 13\dfrac{1}{3}31​ 111 555 000 111 202020 ( θ5\theta_5θ5​ )
σj\sigma_jσj​ ( 检验数 ) 111 ( σ1\sigma_1σ1​ ) 222 ( σ2\sigma_2σ2​ ) 111 ( σ3\sigma_3σ3​ ) 000 000
第一次迭代
000 ( 目标函数 x4x_4x4​ 系数 c4c_4c4​ ) x4x_4x4​ 151515 ??? 111 ??? 111 ??? ??? ( θ4\theta_4θ4​ )
222 ( 目标函数 x2x_2x2​ 系数 c2c_2c2​) x2x_2x2​ 202020 ??? 000 ??? 000 ??? ??? (θ2\theta_2θ2​)
σj\sigma_jσj​ ( 检验数 ) 111 ( σ1\sigma_1σ1​ ) 000 111 ( σ3\sigma_3σ3​ ) 000 ??? ( σ2\sigma_2σ2​ )

【运筹学】线性规划 单纯形法 案例二 ( 案例解析 | 标准形转化 | 查找初始基可行解 | 最优解判定 | 查找入基变量与出基变量 | 第一次迭代 )相关推荐

  1. 【运筹学】线性规划数学模型 ( 单纯形法原理 | 单纯形法流程 | 查找初始基可行解 )

    文章目录 一.单纯形法原理 二.单纯形法流程 三.初始的基可行解查找 一.单纯形法原理 单纯形法的理论基础 : 定理 111 ( 可行域是凸集 ) : 如果线性规划的问题 存在可行解 , 其 可行域 ...

  2. 【运筹学】线性规划 单纯形法 阶段总结 ( 初始基可行解 | 判定最优解 | 迭代 | 得到最优解 | 全流程详细解析 ) ★

    文章目录 一.线性规划示例 二.转化标准形式 三.查找初始基可行解 四.初始基可行解的最优解判定 五.第一次迭代 : 入基与出基变量选择 六.第一次迭代 : 方程组同解变换 七.第一次迭代 : 生成新 ...

  3. 【运筹学】线性规划 人工变量法 ( 人工变量法案例 | 第二次迭代 | 中心元变换 | 检验数计算 | 最优解判定 | 选择入基变量 | 选择出基变量 )

    文章目录 一.第二次迭代 : 中心元变换 二.第二次迭代 : 单纯形表 三.第二次迭代 : 计算检验数 四.第二次迭代 : 最优解判定 五.第二次迭代 : 选择入基变量 六.第二次迭代 : 选择出基变 ...

  4. 【运筹学】线性规划 人工变量法 ( 人工变量法案例 | 第一次迭代 | 中心元变换 | 检验数计算 | 选择入基变量 | 选择出基变量 )

    文章目录 一.第一次迭代 : 中心元变换 二.第一次迭代 : 单纯形表 三.第一次迭代 : 计算检验数 四.第一次迭代 : 最优解判定 五.第一次迭代 : 选择入基变量 六.第一次迭代 : 选择出基变 ...

  5. 单纯形法表格法例题详解_优化 |运筹学线性规划单纯形法之求解

    文章申明 文章作者:臧永森 臧永森:清华大学工业工程系在读博士,研究方向:运筹优化算法的设计与应用.数据统计分析.大数据技术与应用,戚铭尧老师团队 责任编辑:阎泳楠 文章由『运筹OR帷幄』原创发布,如 ...

  6. 【运筹学】线性规划数学模型 ( 单纯形法 | 第一次迭代 | 方程组同解变换 | 计算新单纯形表 | 计算检验数 | 入基变量选择 | 出基变量选择 )

    文章目录 一.初始基可行解后第一次迭代 二.迭代后新的单纯形表 三.方程组同解变换 四.生成新的单纯形表 五.解出基可行解 六.计算检验数 σj\sigma_jσj​ 并选择入基变量 七.计算 θ\t ...

  7. 【运筹学】人工变量法总结 ( 人工变量法解的分析 | 标准型变换 | 构造单位阵 | 目标函数引入 M | 计算检验数 | 选择入基变量 | 选择出基变量 | 中心元变换 | ) ★★

    文章目录 一.人工变量法及解的分析 二.案例 三.线性规划标准型变换 四.人工变量法构造单位阵 五.初始单纯形表 六.初始单纯形表 : 计算非基变量检验数 七.初始单纯形表 : 最优解判定 八.初始单 ...

  8. 【运筹学】表上作业法 ( 最优解判别 | 初始基可行解 | 运费修改可行性方案 | 闭回路法 )

    文章目录 一.最优解判别 二.初始基可行解 三.运费修改可行性方案 四.闭回路法 一.最优解判别 在上两篇博客 [运筹学]表上作业法 ( 求初始基可行解 | 最小元素法 ) , [运筹学]表上作业法 ...

  9. 【运筹学】表上作业法 ( 示例 | 使用 “ 最小元素法 “ 找初始基可行解 )

    文章目录 一.运输规划问题 二.找初始基可行解 一.运输规划问题 运输规划问题 : B1\rm B_1B1​ B1\rm B_1B1​ B1\rm B_1B1​ B1\rm B_1B1​ 产量 A1\ ...

最新文章

  1. Linux varnish代理服务器安装以及健康检查
  2. BFS Codeforces Round #297 (Div. 2) D. Arthur and Walls
  3. PID1 / 明明的随机数
  4. python多线程实现
  5. 【最优解法】1030 完美数列 (25分)_23行代码AC
  6. PureMvc学习笔记
  7. Bash字符串处理(与Java对照) - 19.查找字符的位置
  8. LeetCode 698. 划分为k个相等的子集(回溯)
  9. 双目密集匹配的一般过程
  10. Nginx 的多站点配置
  11. cad通过钢筋大样生成钢筋明细表插件_常青藤钢筋工具系统
  12. hadoop配置流程
  13. word 图 按居中,居中不了的问题
  14. 移动通信网络规划:5G业务解析
  15. UE4 打包问题总结
  16. 推荐:三少的新书 - 阴阳冕
  17. 2018年上半年综合素质作文
  18. ML-czy的小组任务2
  19. Android软件测试外文文献,软件测试中英文对照外文翻译文献
  20. Python 实现 淘宝秒杀 聚划算 自己主动提醒 源代码

热门文章

  1. Iphone 指触行为会
  2. Ollydbg 常用快捷键
  3. Sqlserver 优化的方法
  4. 前后端同学,必会的Linux常用基础命令
  5. Disruptor 线程间共享数据无需竞争
  6. BZOJ 1003 物流运输trans dijstra+dp
  7. @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  8. Understanding Unix/Linux Programming-终端控制和信号
  9. 2019 训练比赛 记录
  10. PHP中调用SVN命令更新网站方法(解决文件名包含中文更新失败的问题)