第9讲 线性规划与单纯形法(单纯形表的应用)

单纯形表

举例

见教材P37 2.4

根据检验数σi\sigma_iσi​选择进基的变量

对于>0>0>0的σi\sigma_iσi​,比较他们的大小,最大的σi\sigma_iσi​对应的变量就是要进基的变量。直到通过多轮迭代之后所有的σi\sigma_iσi​都≤0\le0≤0。(这种做法也是基于标准型要求求目标函数的maxmaxmax。)

补充说明

检验数σi\sigma_iσi​的意义就是当引入一个单位的变量xix_ixi​时,能够对目标函数进行多大程度的改变。如果不存在σi>0\sigma_i>0σi​>0,说明已经求得了最优解。

可以证明,基变量的检验数一定是0,因此可以不用计算。

根据比较系数θ\thetaθ选择出基的变量

根据θ=B−1bB−1a\theta=\frac{B^{-1} b}{B^{-1} a}θ=B−1aB−1b​计算将要进基的每一行的θ\thetaθ,并找到最小值,根据最小值所在位置,确定需要出基的向量。

补充说明

在第一轮迭代的时候,检验数和价值系数恰好相同。(由于初始的可行基是单位矩阵,并且单位矩阵对应的cBc_BcB​是0。)

有些值并不需要完全算出来,即单纯形表不需要完全填满,比如由于只需要找到σi\sigma_iσi​的最大值,因此将其算到能判断大小关系即可。由此就提出了修正单纯形法,可以减轻计算机的运算量。

最优解和最优的目标函数值可以在终表中看出来。

总结

单纯形是求解线性规划问题的一个方法,单纯形表是针对单纯形法的工具,可以把单纯形解方程的步骤更加系统化,并且可以从表中看出很多信息。需要掌握如何根据检验数σi\sigma_iσi​选择进基的变量和根据比较系数θ\thetaθ选择出基的变量。特别需要注意要将每一个步骤算对。

王树尧老师运筹学课程笔记 09 线性规划与单纯形法(单纯形表的应用)相关推荐

  1. 王树尧老师运筹学课程笔记 06 线性规划与单纯形法(几何意义)

    第6讲 线性规划与单纯形法(几何意义) 线性规划的几何意义 图解法 线性规划的维度 变量 可行域维度 图像维度 1 x1x_1x1​ 1(线段) 1 2 x1.x2x_1.x_2x1​.x2​ 2(平 ...

  2. 王树尧老师运筹学课程笔记 10 线性规划与单纯形法(关于检测数与退化的讨论)

    第10讲 线性规划与单纯形法(关于检测数与退化的讨论) 对单纯形表中一些列的理解 主要注意的是,在如上图所示的单纯形表中,bbb列和填ai,ja_{i,j}ai,j​的列中本质上填的应该是B−1bB^ ...

  3. 西湖大学张岳老师NLP课程笔记1 Introduction

    西湖大学张岳老师NLP课程笔记1 Introduction 参考资料 B站链接 课程主页 <Natural Language Processing: A Machine Learning Per ...

  4. vb教材笔记_金文老师VB课程 笔记完整版.pdf

    金文老师vb 教程笔记 第一章 vasualbasic 程序开发环境 第一节visualbasic 的启动与退出 . vb 一 启动 的四种方法: 1. 使用 "开始"菜单中的 & ...

  5. HTML+CSS学习笔记(pink老师前端课程笔记--补档)

    开始于2021年8月3日09点59分 课程学习路线:HTML5-> CSS3->H5C3提高->项目拼优购电商网站 仅更新到H5C3提高的C3提高部分(新增选择器),忙于其他事情,暂 ...

  6. 邓俊辉老师数据结构课程笔记

    文章目录 一.绪论 二.向量(查找和排序) 2.1知识点 2.2课后习题 三.列表 3.2 课后习题 四.栈与队列 五.二叉树 六.图 七.二叉搜索树 八.高级搜索树 一.绪论 1.复杂度分析的主要方 ...

  7. OpenCV基础课程笔记09模糊图像(1)

    写在前面 在这里把(1)(2)的所有关于模糊的笔记都记下来. 均值滤波 可以缩小像素,其实就是将像素区域的均值赋值给中心像素. blur() 高斯滤波 模糊图像,但是仍然保持原像素. Gaussian ...

  8. 侯捷老师c++课程笔记 (面向对象高级编程7)

    1动态绑定与静态绑定 把B的对象b强转为A类,那么调用的A的虚函数还是B的虚函数? 这是通过对象来调用,不是通过指针来调用,所以是静态绑定,用call +函数地址来调用,调用的是A的虚函数 pa-&g ...

  9. 施磊老师 C++ 课程笔记--自己记录用

    文章目录 01 02 new 和 malloc 引用和指针区别 const C和C++中const的区别? const和一级.多级指针的结合 inline 函数和普通函数的区别 函数重载 c++为什么 ...

最新文章

  1. 使用CruiseControl.Net全面实现持续集成
  2. 妙用Windows安全模式执行杀毒
  3. MathType与Origin是怎么兼容的
  4. MTK 驱动(73)--- Kernel Backtrace 无法显示出具体的地址.
  5. 银行卡不销卡,对持卡人有没有什么影响?
  6. Juniper防火墙的日志记录一个的问题
  7. springmvc web.xml和application.xml配置详情(附:完整版pom.xml)
  8. python文件和数据的格式化_Python文件和数据格式化(教程)
  9. 九、Linux 软件包安装
  10. html语言标记说明,HTML中注释标签的使用方法
  11. 百度之星1000——A+B问题
  12. Dev-C++ 一直提示源文件未编译,原因及解决办法
  13. RabbitMq报错 Execution of Rabbit message listener failed
  14. 耳朵电一电焦虑失眠就好了?
  15. SAP那些事-职业篇-2-AI能不能替代SAP顾问
  16. 青蛙相会(frog)
  17. 软文写作技巧,你的微信软文也能破100000+
  18. git cherry-pick branch 与 git rebase branch 的区别
  19. IT男,你应该在任何行业所向披靡
  20. U盘为什么需要安全删除才能拔出呢?

热门文章

  1. 微信小程序笔记(三)Wepy使用记录—Stylus预编译基本使用
  2. python 字符串遍历输出_python遍历字符串的方法有哪些
  3. 函数指针调用类的成员函数
  4. mysql支持自定义函数_MySQL 自定义函数
  5. fabric 关于追加新组织结构
  6. println输入和toString方法的重写
  7. RSA加密原理与过程
  8. nmf java_java 中文与unicode互转
  9. Java中static关键字的作用与用法
  10. 双因素认证,让用户的帐号安全无忧编辑