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

运筹学——对偶单纯形法,目标函数系数的敏感性分析

文章目录

  • 对偶单纯形法
  • 线性规划的敏感性分析
    • 目标函数系数的敏感性分析

对偶单纯形法

学习这个方法的意义在于有时候,求max的线性规划问题比较复杂,解方程式的过程很繁琐,此时就可以求原线性规划问题max的对偶问题min,换一个思路就可以简单求出,这样的情景下比较实用。

话不多说,从实例中看具体的解法

假设现在有一个线性规划问题如下:
在这里插入图片描述
用对偶单纯形法解的过程如下:
我将用尽可能直白的语言描述这个过程,当然了,暂时还不能编成歌词当歌唱 ;)

第一步:写标准型(主要是为了得到对偶问题的初始可行基)
令z=-w,就得到:
在这里插入图片描述
为了使约束方程的系数矩阵方便找基阵,就把约束方程引入的两个剩余变量x4,x5前面的系数变换为正号,方程的左右两端都同时✖️ -1 ,就得到如下的形式:
在这里插入图片描述
第二步:建单纯形表
(这个知识点忘记的铁子们记得回去复习哦~)
在这里插入图片描述
由这个初始单纯形表可知,当前的解是:X=(0,0,0 -3,-4)T,是基不可行解。

对线性规划问题进行变换后,得到的初始单纯形表中,若检验数λ都是≤0,则对偶问题是基可行解
由于最后一行所有的检验系数都是≤0的,所以检验数行对应的对偶问题的解X’=(-2,-3,-4,0,0)是基可行解。

检验数必须始终保持非正才进行下一步的计算

只有在b对应列的数字中全部都是非负,且检验数全部都是非正时,才得到最优解
又由于b所对应列的数是-3,-4,都是<0的负数,所以需要进行迭代,将b对应列的数都化为正数才是最优解,所以接下的工作就是-3,-4化为正数。

找出基变量:对比b列中数字,选最小的数,这个数对应的变量就是出基变量
找出基变量:这个例子中,b所对应列的数是-3,-4,最小的是 -4,并且 -4 对应的变量是x5,所以出基就是x5.

找入基变量:只看负的,0和正数都不看,用检验数 λi / aij ,找其中的值最小的,对应的变量就是入基变量
找入基变量:计算检验数λi/aij,这个表中就是只看X5对应的行,这一行中0和正数不看,只看负的,所以就有:
在这里插入图片描述
(由于正数不计算,且检验数都是负数,所以这里得到的Θ都是正的)

在所有的Θ值中选最小的,就找到了出基变量的行与入基变量的列,它们交叉的位置就是主元素,然后就和之前的单纯形法的步骤一样了,把主元素化为1,主元素所在列的其他元素化为0,这样就得到新的表,再看b列和最后一行数值的正负情况进行判断是否为最优解。
Θ的值有1,4/3,所以选择1,那么1对应的变量x1就是入基变量,且x1的列就是入基变量的列,与之前的出基变量的行交叉位置的主元素是 -2 ,接下来就是进行初等行变换,并再算一遍检验数(若检验数行出现正数,就要小心了,或许是算错了,仔细检查一遍):

在这里插入图片描述

这个表中,b对应列的负数只有 -1,那么 -1 所对应的变量x4就是出基变量,再按照上面的方法计算对应的行的Θ值,就是:
在这里插入图片描述
8/5与2,这两个值就选最小的8/5,那么对应的x2就是入基变量,并且入基变量对应的列与出基变量对应行的交叉位置是 -5/2,所以要做初等行变换,把主元素-5/2化作1,这个列上其它元素化为0,要记得计算检验数,因此就有:
在这里插入图片描述
看表发现b对应的列都是正数,且检验数行都是负数,那么这个时候得到的解就是最优解,最优解为:X*=(11/5,2/5,0,0,0)T
若对应两个约束条件的对偶变量分别是y1,y2,那么对偶问题的最优解就是:Y*=(y1*,y2*)=(8/5,1/5)

结论
对偶单纯形法的特点
1,初始解可以的非可行解,检验数都是负数时可以进行换基迭代,不必再引入更多的人工变量就能计算。
2,变量个数比约束条件多时,或者变量个数较少,但约束条件很多的线性规划问题,就可以先转变为对偶问题,然后用对偶单纯形法来计算。

线性规划的敏感性分析

实际生活中,所有的数值都不是一成不变的,遇到数值变化的情况时,我们就需要考虑这些变化的数值能否影响最后的结果,具体影响的哪一方面的结果,影响范围是多少,这就是敏感性分析,用在线性规划中就是看对最优解是否有影响,若有,那会有具体什么样的变化,需不需要全部再重新计算?
敏感性分析有很多种分类,比如约束右边项的敏感性分析、目标函数系数的敏感性分析、工艺矩阵系数的敏感性分析、添加新变量的敏感性分析、添加新约束的敏感性分析。

这篇文章中只举例一个方面叙述。

目标函数系数的敏感性分析

我们还拿之前的例子来说明这个情况:

假设在如下的矩阵中,第一行的Cj中c1的数值从 -2 变化为 -2.5:
在这里插入图片描述
(也就是这个表中的第一行第一个数字)
此时,我们仔细回想一下刚才的过程,在做初等变换时,第一行的Cj并没有参与到初等变换中,因此,它不影响初等变换的结果,但是在计算检验数时,Cj就参与进来了,所以它影响的是检验数的值,那么怎么影响了呢,计算一下就知道原本检验值是0,更改之后的检验值就是 -0.1,因此发现c1从 -2 变化为 -2.5的过程中检验值是变小了。


文章转载自:

http://q7Vp2i5d.hqrkq.cn
http://khgHeDhP.hqrkq.cn
http://CofLWL24.hqrkq.cn
http://En37sNEm.hqrkq.cn
http://c39ZeAvZ.hqrkq.cn
http://VdxqtS1y.hqrkq.cn
http://eIHV4Q2E.hqrkq.cn
http://GCfQQctJ.hqrkq.cn
http://Z6WTznbE.hqrkq.cn
http://sTKtf5RC.hqrkq.cn
http://0orw01mc.hqrkq.cn
http://Gc35U3He.hqrkq.cn
http://3aYVDSg0.hqrkq.cn
http://yCm8X4D7.hqrkq.cn
http://xVoNGyNx.hqrkq.cn
http://69CRGp68.hqrkq.cn
http://jQR4FKyA.hqrkq.cn
http://8Oj7r0vH.hqrkq.cn
http://IRDevUzw.hqrkq.cn
http://OS25b6Os.hqrkq.cn
http://KGMYXsto.hqrkq.cn
http://X4brerdL.hqrkq.cn
http://BCHgZ4ig.hqrkq.cn
http://psCYrS7c.hqrkq.cn
http://TtoUW7Xc.hqrkq.cn
http://866GXEUs.hqrkq.cn
http://ZhVa3Bpr.hqrkq.cn
http://A1FxKslP.hqrkq.cn
http://Iqzncjl6.hqrkq.cn
http://WEYra9Rq.hqrkq.cn
http://www.dtcms.com/a/375166.html

相关文章:

  • 考研复习-计算机网络-第四章-网络层
  • 《UE5_C++多人TPS完整教程》学习笔记49 ——《P50 应用瞄准偏移(Applying Aim Offset)》
  • 微信小程序罗盘功能开发指南
  • 【C++进阶】---- map和set的使用
  • [差分数组]2327. 知道秘密的人数
  • 微调Qwen2.5模型的完整指南
  • SpringBoot之日志处理(logback和AOP记录操作日志)
  • DTO简单讲解
  • ERP和MES、WMS、CRM,到底怎么配合?
  • 【实战中提升自己】总部项目实施全方面总结
  • MS9127S USB投屏控制芯片(LVDS输出)
  • rook-ceph的osd块存储权重数据迁移脚本
  • 少儿编程C++快速教程之——3. 数组和矩阵操作
  • 【Kubernetes知识点】CRD客户资源定义及Gateway
  • 移动开发 - Uni-app跨端跨平台开发 - 学习/实践
  • 物联网时序数据管理的利器:为何IoTDB备受青睐?
  • 意识智能体:大模型的下一个进化方向?
  • 探索大模型的前沿:从GPT到LLAMA,看看AI如何改变世界
  • 西门子 S7-200 SMART 核心指令(布尔指令、传送指令、数学运算指令和比较指令)详解
  • llama-stack实战:Python构建Llama应用的可组合开发框架(8k星)
  • App Store 软件上架全流程详解,iOS 应用发布步骤、uni-app 打包上传与审核要点完整指南
  • Linux系统命令行git的使用
  • Ubuntu服务器安装fish-speech本地语音部署教程
  • Tomcat的基础使用
  • 无人机电压模块技术剖析
  • 无人机图传通信模组——16公里抗干扰稳定传输的高性能解决方案
  • 高效 P2P 文件传输工具:FileSync 利用 WebRTC 技术实现极速安全传输
  • UOS20系统安装与 SSH/XRDP 远程访问功能配置指南
  • Spark学习(python版本)
  • 【XR行业应用】XR+工业,从远程协助到数字孪生,如何颠覆制造业?