当前位置: 首页 > news >正文

运筹学——求解线性规划的单纯形法

单纯形法的原理

先来举个例子:
用单纯形法求解下面线性规划问题的最优解:
在这里插入图片描述
注释:解的过程是反复迭代的过程,如果第一次迭代没有理解也没关系,再继续看第二次迭代,和第三次迭代,每次迭代的流程都是一样的,建议自己看完之后,再手写一遍回忆一下哦~~

解析:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

单纯形法的原理

线性规划问题的标准型如图:

在这里插入图片描述

首先要得到一个初始的基可行解,具体做法如下:

假设系数矩阵A为下图所示的情形:

在这里插入图片描述
它的前m列就可以组成一个满秩矩阵B,且有B=(P1,P2······Pm)=I
再将基变量用非基变量来表示:
在这里插入图片描述
此时的目标函数里面的基变量也用非基变量表示:
在这里插入图片描述
此时,令非基变量全部为0,就可以得到一个初始的基可行解:
在这里插入图片描述

第二步就是判断得到的基可行解是否是最优解,具体做法如下:

目标函数在此时就变为只含非基变量的形式:
在这里插入图片描述
观察目标函数中非基变量的系数:
在这里插入图片描述

在这里插入图片描述
如果从λm+1一直到λn中只要有一个系数是正的,那么就说明当前的基可行解不是最优解,需要进一步改进目标函数的值,只有一直改到所有非基变量的系数全部为负时才说明那个时刻的基可行解是最优解。
因为用λi来判断最优解的情况,所以λi就被称为是检验系数

第三步的改进就是更改基变量,然后迭代出新的目标函数,得到新的基可行解。具体的方法仍然是先比较目标函数中非基变量中的系数,选择系数最大的变量作为入基,然后接着上述步骤来继续进行迭代改变目标函数。
单纯形法的基本步骤总结
在这里插入图片描述

定理1

对基可行解,如所有的检验系数λk≤0,k=m+1······n,那么X^(0)就是线性规划问题的最优解。
因为只有非基变量都是≤0的情况时,此时Z才能获得最大值。
(如果随以上步骤理解的话,这个定理就很明显了。

定理2

若某一个非基变量xk的检验系数为正,对应的列向量Pk=(a1k,a2k,······amk)所有的元素为非正,那么线性规划问题就没有最优解。

这个定理可以来判断无界解。

单纯形表

单纯形表的布局方式:
在这里插入图片描述

在这里插入图片描述
具体的计算步骤如下:
在这里插入图片描述

举个例子:
就以这篇文章开头的例子为题,用单纯形表来解的步骤如下:
在这里插入图片描述
在第一个表中,只是将初始的全部数据列出,需要计算的是最后一行检验系数和最后一列Θi的值.x1所在列对应的检验值由公式:μi=ci - ∑cjxi可得μ1=2 -(01+04+00)=2,那么x2所在列对应的检验值由公式就可得μ2=3 -(02+04+0*4)=3,选出最大的项是x2对应的3。
再计算最后一列Θi的值,第一行Θi的值:8➗2=4,第二行Θi的值:16➗0是不存在的,所以画一条横线,第三行Θi的值:12➗4=3,选取Θi的值最小的数为3,所以具体就对应到中间系数矩阵的第三行,第二列的数值4,说明x2为入基,x4为出基,此时将4所在位置的这一列化为单位向量,也就是这一列化成(0,0,1)T的形式。一定要以增广矩阵为整体来做初等行变换。
一直到所有的检验系数都是负数时停止换基迭代,此时对应的z值就是:z=∑ci✖️b。
每一步对应的基不同时,一定要记得变换,基的确定是在对增广矩阵做初等行变换后才确定的


文章转载自:

http://CDBIhWFu.qmwzz.cn
http://MXBf1LAG.qmwzz.cn
http://UQPSU2yg.qmwzz.cn
http://AE4ys660.qmwzz.cn
http://aL3A7zVU.qmwzz.cn
http://gSQ4cnSX.qmwzz.cn
http://WH9JLg7L.qmwzz.cn
http://Kh6zi1Px.qmwzz.cn
http://GDXOlmjA.qmwzz.cn
http://3wOBYiQe.qmwzz.cn
http://zAGAzQ1h.qmwzz.cn
http://Mipxss0h.qmwzz.cn
http://eXCW8SSm.qmwzz.cn
http://wcdStwEH.qmwzz.cn
http://xi8TUCy3.qmwzz.cn
http://E0n2a0Mr.qmwzz.cn
http://eBofyeKt.qmwzz.cn
http://EN1ExTn6.qmwzz.cn
http://UYhmu8Lj.qmwzz.cn
http://cbU2emqL.qmwzz.cn
http://xKWfe0AF.qmwzz.cn
http://dr6YE4Ys.qmwzz.cn
http://A9BmISxl.qmwzz.cn
http://jRExzfL2.qmwzz.cn
http://Nf3EvgsL.qmwzz.cn
http://PociiREf.qmwzz.cn
http://9b9r3ByD.qmwzz.cn
http://J017fr06.qmwzz.cn
http://UfzmLwCO.qmwzz.cn
http://VOUoxC6R.qmwzz.cn
http://www.dtcms.com/a/371250.html

相关文章:

  • HTML标签之超链接
  • MySQL问题5
  • MyBatis Example模式SQL注入风险
  • C语言数据结构——详细讲解《二叉树与堆的基本概念》
  • 【杂类】I/O
  • import type在模块引入中的作用
  • MySQL入门指南:从安装到工作原理
  • 【基础-判断】一个页面可以存在多个@Entry修饰的组件。
  • MapStruct详解
  • 新的打卡方式
  • GESP 7/8级免CSP-J/S初赛!申请注意事项!今年已过,明年提前关注!
  • esbuild入门
  • 决策树概念与原理
  • More Effective C++ 条款31:让函数根据多个对象来决定怎么虚拟
  • Python列表:从入门到灵活运用的全攻略
  • 校园洒水车cad+三维图+设计说书
  • 机械硬盘的工作原理
  • 生命周期方法:didUpdateWidget
  • Pie Menu Editor V1.18.7.exe 怎么安装?详细安装教程(附安装包)​
  • ragflow MCP 调用核心提示词解析:逻辑闭环与优化方向
  • Knative Serving:ABP 应用的 scale-to-zero 与并发模型
  • Xsens帮助独立工作室创造引人注目的冒险游戏真实角色动画
  • 《动手学深度学习v2》学习笔记 | 2.4 微积分 2.5 自动微分
  • 【开题答辩全过程】以 哈尔滨裕丰草莓园管理系统为例,包含答辩的问题和答案
  • 国内外支持个人开发者的应用市场
  • 【LLIE专题】SIED:看穿0.0001lux的极致黑暗
  • ANSYS HFSS边界条件的认识
  • python系列之综合项目:智能个人任务管理系统
  • IOC为什么交由spring容器管理?
  • spring事务传播机制