说明:在一开始不懂的时候自己也查了一些资料,方法跟本文的有一些细小的区别(比如说主列的寻找这里的符号就不一样,目前还没能查到是为什么。),本文是基于老师给的资料的方法上,通过自己的实践,对方法中一些涉及到公式的地方进行了简化,也就是没有按照严格的步骤去进行。想看老师给的原方法的可以私信,我把资料分享给你。

方法步骤

1、把不等式方程组以及目标函数都变成等式方程:把不等号化成等号

2、在约束条件(也就是在这一步没有目标函数什么事)的等式方程组中引入额外的基变量;

     1)观察不等式的符号,"<="的,基变量的系数为1,">="的,基变量的系数为-1;

2)  基变量的下标从原来的变量的基础上+1,一般地,按照从上往下的顺序分别给方程组加入基变量;

3)引入的基变量是放在左边(也就是含有变量的那一侧);

3、跟据上面两部的方程组构建原始表格;

4、选择主元素,变化表格;

1)主列:最后一行最小的负数的,(注意只考虑负的,我看到别的教程有说是正的,这里是基于老师给的资料进行的,应该是没有错,在文末我会通过excel法进行验证。关于别人的教程为什么是正的,以后有时间进行补充)

2)主行:常数列不包含目标函数)中最小的值所在

3)主元素:主行和主列相交的值

4)更具主元素更改基变量:主元素所在列的变量

5、化简表格(我直接用最简行列式的方式进行的,资料和查到的教程有公式,但我使用的时候有很多的不懂地方,这个方法已经通过多个例子验证是正确的,我觉得应该有理论支撑,日后如果遇到会补充上,有知道的也可以在评论区告诉我,应该就是线代里面的。);

6、判断是否已经得到最优解:最后一行是否有负数;

1)如果没有达到最优解,需要重复步骤4、5;

2)否则找到最优解 ;

这里有个疑问:如果没有最优解会是什么样的?

题目实战

题目:


步骤1 不等式变等式
变化结果如下$$\left\{ \begin{array}{c}   - x_1+2x_2=5 \\ 
5x_1-2x_2=8 \\     
8x_1-3x_2=2\end{array}\right. $$

步骤2 引入基变量
这里的符号是“<=",所以,在三个约束函数中引入的基变量分别是:$$x_3、x_4、x_5$$并且系数为1,如下:
$$\left\{ \begin{array}{c}   - x_1+2x_2+x_3=5 \\ 
5x_1-2x_2+x_4=8 \\     
8x_1-3x_2+x_5=2\end{array}\right. $$

* 这里输入花括号的方式源自博客:https://blog.csdn.net/doubleguy/article/details/84308153

步骤3 构建原始表格
按照这个模式构建就行。

基变量 B x1 x2 x3 x4 x5
x3 5         -1         2         1         0         0        
x4 8         5         -1         0         1         0        
x5 2         8         -3         0         0         1        
Z(X) 0         -2         3         0         0         0        

注意:原来的目标函数的系数是正的,但是这里因为我们要把变量移到左边,所以符号发生了改变,也就是目标函数的系数变成原来的相反数。

下标表示法源自博文:https://blog.csdn.net/qq_40902753/article/details/88933081

步骤4 找主元素,变化表格

1、选择主列

选择方式:最后一行最小的负数,比如这里就是-2,

基变量 B x1 x2 x3 x4 x5
x3 5         -1         2         1         0         0        
x4 8         5         -1         0         1         0        
x5 2         8         -3         0         0         1        
Z(X) 0         -2         3         0         0         0        

所以选中x1所在的

基变量 B x1 x2 x3 x4 x5
x3 5         -1         2         1         0         0        
x4 8         5         -1         0         1         0        
x5 2         8         -3         0         0         1        
Z(X) 0         -2         3         0         0         0        

2、主行

选择常数列B那一列最小值(不包括Z(x))所在的行.这最小的就是2,也就是x5所在的

基变量 B x1 x2 x3 x4 x5
x3 5         -1         2         1         0         0        
x4 8         5         -1         0         1         0        
x5 2         8         -3         0         0         1        
Z(X) 0         -2         3         0         0         0        

3、主元素

主行和主列相交的值(这里就是8),他对应的变量(这里是x1)被我们选为基变量,

4、更改表格

把主元素所在的列变量换掉它所在行对应的变量(也就是说基变量产生了变化,这里就是x5 变成x1)

基变量 B x1 x2 x3 x4 x5
x3 5         -1         2         1         0         0        
x4 8         5         -1         0         1         0        
x1 2         8         -3         0         0         1        
Z(X) 0         -2         3         0         0         0        

跟上一个表相比,这个表仅仅只是基变量发生了变化。接下来,我们要开始对这个表化简。

5、化简表格

  1. 主元素:主行和主列相交的值,就是8
  2. 化简的最终目标:主元素所在的单元格变成1他所在的列其他元素均为0
  3. 化简方式:最简行列式化简(完全就是按照这个规则去做的,因为如果按照公式的话不会选区)
基变量 B x1 x2 x3 x4 x5
x3 5 1/4 0     1 5/8 1     0      1/8
x4 6 3/4 0      7/8 0     1     - 5/8
x1  1/4 1     - 3/8 0     0      1/8
L(X)  1/2 0     2 1/4 0     0      1/4
会最简行列式化简的可以跳过这里
1)先把主元素所在的单元格变成1,原来是几就除以几,
比如这里是8,然后整行也跟着除以8就可以了;
2)把主元素所在的列其他的变成0,通过加主元素所在
的行的某个倍数达到,比如第二中主元素对应的列的值
是5,所以第2行每个数都减去主元素所在行的5倍(也
就是加了“-5”倍。其他行同理

说明:因为是通过excel计算,然后保留成分数的样子,所以它化成了真分数的形式。

6、 判断是否达到最优解

判断方式:最后一行是否还有负数。显然我们这里是没有的,所以已经是最优解了。

额外的知识点:excel也是可以直接进行规划求解的,我们用它来验证一下,下面也会介绍具体的步骤。

按照途中的格式排好(当然那些只是为了你更清楚地知道每个单元格的含义,也可以不写),x~1,x~2~的值默认为1,然后B3到B6就是分别把目标函数和约束条件的系数代进去,如红色框所示;

选中目标函数的值所在的单元格,这里是B3,在菜单栏中分别执行:【数据】--> 【模拟分析】-->【规划求解】(这一步我在office的excel中没有找到,我是用wps做的)-->(目标自动填充)更改的和约束需要我们我们选择,更改的就是变量,约束直接根据方程组来就行-->【求解】

结果如下,是否保留就看你自己的需求,这里一看结果,x1、x2都有值

跟上面的结果看似不一样,但是我们把单元格改成分数后就一样了(因为x2的值特别的小,小到可以忽略不记)

让你一遍就会的【单纯形法解线性规划最优】相关推荐

  1. 【运筹与优化】单纯形法解线性规划问题(matlab实现)

    文章目录 单纯形法步骤: 1.将线性规划问题化为标准形式 2.列出单纯形表 3.进行最优性检验 4.从一个基可行解转换到另一个目标值更大的基可行解,列出新的单纯形表 5.重复3.4直到计算结束为止 举 ...

  2. 单纯形法解线性规划初探(停更,高三毕业填坑)

    原文地址:戳这里 因为博主不会LaTex所以公式和数学表达就都用图片啦 我们来介绍一种解决线性规划的一般的方法,叫做单纯形法.现在我们在一个简单的例子上模拟一下这个算法: 为了能够执行我们的算法,我们 ...

  3. 运筹说 第50期 | 图解法与单纯形法解目标规划

    通过上一期的学习,我们已经学会了建立目标规划模型,那如何对我们构建的目标规划模型进行求解呢?接下来就跟着小编一起,学习目标规划模型的求解方法吧. 一.图解法 1.求解步骤 2.例题求解一 3.例题求解 ...

  4. 单纯形法求解线性规划

    目录 一.单纯形法简介 1.  是什么 2.  求解思想 3.  求解步骤 二. 手算求解 三.python实现求解 参考资料 一.单纯形法简介 1.  是什么 单纯形法是求解线性规划问题最常用.最有 ...

  5. 单纯形法解下列线性规划问题_用单纯形法求解下列线性规划问题 线性规划单纯形法教学策略探求...

    摘    要:运筹学中的线性规划使用日广.文章从高职院校线性规划教材与教育现状动身,提出了改善线性规划单纯形法教育的新策略. 要害词:高职院校;线性规划;单纯形法 中图分类号:G642.0       ...

  6. 计算:单纯形法求解线性规划问题

    用单纯形法求解线性规划问题 对于标准型为最小值的单纯形法 单纯形表格具有的特点 中心部位具有单位子块 右列元素非负 单位子块对应的底行元素为0 底行其他元素非负(标准型为最大值时,要求底行元素非正数) ...

  7. matlab实现单纯型法解线性规划_【运筹学教程】求解线性规划问题的单纯形法

    这是本公众号的第①篇文章 主要讲述运筹学中求解线性规划问题的单纯形方法:单纯形法是运筹学中求解线性规划问题的主要方法,其他一些求解大规模优化问题的算法,如列生成算法等,都是在该算法的基础上发展而来的. ...

  8. 线性规划与单纯形法(线性规划、单纯形法、单纯形表、人工变量法)

    线性规划与单纯形法 文章目录 线性规划与单纯形法 概念.建模.标准型 标准型.基.基解.基可行解.可行基 单纯形法 单纯形表的应用 关于检验数和退化的讨论 人工变量法之"大M法" ...

  9. 单纯形法 -- 求解线性规划

    目前,运用最广的线性规划方法就是著名的单纯形方法.这种方法是G.B.Dantzig在1947年提出的.几十年的实践证明,单纯形方法的确是一种使用方便.行之有效的重要算法.如今,它已经成为线性规划的中心 ...

最新文章

  1. python list列表排序的两种方法及实例讲解
  2. Javascript 方法大全
  3. 壊小子的学习【日常阅读篇】(四)与阅读有关的那些事儿
  4. windows下dubbo-admin和zookeeper安装部署
  5. mysql主从复制实施流程_MySQL主从复制认识及实施操作
  6. 27. 面向对象程序设计(2)
  7. 各种排序算法总结和比较
  8. CF651A Joysticks
  9. 史上最全最新手机号码号段大全
  10. 前锋java退学_曾经的第一高中生为打CBA从清华大学退学,本赛季场均仅3.1分!...
  11. 详解交换机端口级联连接方式
  12. 大禹电子:超声波水下通讯设备测试结论
  13. mysql 8.XXX zip版的安装使用
  14. OCR技术1-字符识别技术总览
  15. 购买阿里云服务器ECS快速上云
  16. Google学术的使用指南
  17. Holy Grail 2019南京网络赛
  18. Web API接口开发和测试
  19. docker 创建nacos-server standalone
  20. java 解析p12_java引用微信支付的p12证书文件

热门文章

  1. unity使用Sprite Editor图片切割功能减少性能损耗
  2. 三个点在同一个半圆的概率_求解四只鸭子在同一半圆池塘的概率
  3. 你真的了解抑郁症吗?
  4. 柱状图怎么设置xy轴_excel表格xy轴数据-怎么做用excel设置xy轴
  5. 中央电化教育馆教学资源库介绍
  6. 在Android上应用PhoneGap和Dojo Mobile
  7. 利用Excel实现数据抽样
  8. OpenCV参考手册之Mat类详解(一)
  9. 【无标题】2021年中式烹调师(中级)试题及解析及中式烹调师(中级)复审考试
  10. 计算机增加一个硬盘怎么设置方法,电脑加硬盘【操作教程】