【管理运筹学】第 6 章 | 运输问题(3,表上作业法 | 最优解的判断)

news2024/11/27 8:42:38

文章目录

  • 引言
  • 二、表上作业法
    • 2.2 最优解的判断
      • 2.2.1 闭回路法
      • 2.2.2 位势法
  • 写在最后


引言

承接前文,我们继续学习表上作业法的第二步 —— 最优解的判断。


二、表上作业法

表上作业法的求解工作在运输表上进行,运输问题解的每一个分量,都唯一对应其在运输表中的一个格子。它是一种迭代法,迭代步骤为:

先按某种规则找出一个初始解(初始调运方案),得出运输问题的一个基本可行解后,就可将基变量的值 x i j x_{ij} xij 填入运输表相应的格子内,并将这种格子称为填有数字格(可以含 0 ),非基变量对应格不填,称为空格。

接着对现有的解作最优性判别,若不是最优解,就在运输表上对其进行改进,得出一个新解;再判别,再改进;直至得到运输问题的最优解为止。

2.2 最优解的判断

通过最小元素法或者伏格尔法得到了运输问题的初始解后,需要看它是不是最优解。判别的方法是计算空格(非基变量)的检验数。因为运输问题的目标函数是要求最小,故所有检验数都非负时达到最优解。有两种常用的办法:闭回路法和位势法(对偶变量法)。

2.2.1 闭回路法

要判别运输问题的某个解是否为最优解,可依照一般单纯形法,检验这个解的各非基变量(对应于运输表中的空格)的检验数 σ i j \sigma_{ij} σij

为求某个空格的检验数,先要找出它在运输表上唯一对应的闭回路。在给出的调运方案的计算表上,从每一个空格处找闭回路。

它是以某空格为起点,用水平或垂直线向前画,每碰到一数字格判断转 90 度是否遇到数字格,若能遇到数字格,则转 90 度后继续前进,直到数字格构成的折线能回到起始空格为止。

这个闭回路的顶点,除这个空格外,其他均为填有数字的格(基变量的格)。空格处通常记为第一个顶点,又称为奇数次顶点。由水平线段和竖直线段依次连接这些顶点构成一个封闭多边形。常见有如下形式:

在这里插入图片描述
可以证明,每一个空格都唯一存在这样的一条闭回路。位于闭回路的一组变量,它们对应的运输问题约束条件的系数列向量线性相关,因而在运输问题基可行解的迭代过程中,不允许出现全部顶点由填有数字格构成。

这就是说,在确定运输问题的基可行解时,除要求非零变量的个数为 ( m + n − 1 ) (m+n-1) (m+n1) 外,还要求运输表中填有数字的格不构成闭回路。

某个空格的检验数 σ i j = ( \sigma_{ij}=( σij=( 闭回路上奇数次顶点的运价之和 ) − ( )-( )( 闭回路上偶数次顶点的运价之和 ) ) ) 。若所有空格的检验数还存在负值时,表明此方案不是最优解。

2.2.2 位势法

用闭回路法判断一个运输方案是否为最优方案,需要找出所有空格的闭回路,并计算其检验数。当运输问题的产地和销地很多时,空格的数目很大,计算检验数的工作十分繁重,而位势法相对简便得多。

对于如下产销平衡运输问题,若 u 1 , u 2 , … , u m u_1,u_2,\dots,u_m u1,u2,,um 分别表示前 m m m 个约束等式相应的对偶变量, v 1 , v 2 , … , v n v_1,v_2,\dots,v_n v1,v2,,vn 分别表示后 n n n 个等式的对偶变量,由线性规划的对偶理论可知, C B B − 1 = ( u 1 , u 2 , … , u m ; v 1 , v 2 , … , v n ) \pmb{C_BB^{-1}}=(u_1,u_2,\dots,u_m;v_1,v_2,\dots,v_n) CBB1=(u1,u2,,um;v1,v2,,vn)

在这里插入图片描述
u 1 , u 2 , … , u m u_1,u_2,\dots,u_m u1,u2,,um 分别表示每行的位势, v 1 , v 2 , … , v n v_1,v_2,\dots,v_n v1,v2,,vn 分别表示每列的位势,有对偶变量向量 Y = ( u 1 , u 2 , … , u m ; v 1 , v 2 , … , v n ) \pmb{Y}=(u_1,u_2,\dots,u_m;v_1,v_2,\dots,v_n) Y=(u1,u2,,um;v1,v2,,vn) 每个决策变量 x i j x_{ij} xij 的检验数 σ i j \sigma_{ij} σij c i j − C B B − 1 P i j \pmb{c_{ij}-C_BB^{-1}P_{ij}} cijCBB1Pij ,在运输问题中,每个决策变量的系数列向量 P i j \pmb{P_{ij}} Pij 中只有两个元素为 1 ,其余均为 0 ,故 σ i j = c i j − ( u i + v j ) \sigma_{ij}=c_{ij}-(u_i+v_j) σij=cij(ui+vj)

基变量的检验数为零,有基变量对应的 c i j − ( u i + v j ) = 0 c_{ij}-(u_i+v_j)=0 cij(ui+vj)=0 ,可列出 ( m + n − 1 ) (m+n-1) (m+n1) 个方程。令其中任意 u i u_i ui v j v_j vj 取值为零,可求出基变量的对偶变量 u i , v j u_i,v_j ui,vj 的值。根据这些值,再去计算非基变量的检验数 c i j − ( u i + v j ) c_{ij}-(u_i+v_j) cij(ui+vj)

若所有非基变量检验数还有负的,说明未得到最优解,可以进行改进。


写在最后

到这里,就还剩下一个对当前解的改进了以及一些特殊情况了,我们放在后面来说。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/940590.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MFC-RIBBON/QT混合编程‘完美’方案

[工程建立] 在VC用向导生成一个QT GUI程序,将里面的代码文件等删除(.vcxproj等保留)在VC用向导生成另一个MF…

怎么学习黑客?最全黑客自学路线

谈起黑客,可能各位都会想到:盗号,其实不尽然;黑客是一群喜爱研究技术的群体,在黑客圈中,一般分为三大圈:娱乐圈 技术圈 职业圈。 娱乐圈:主要是初中生和高中生较多,玩网恋…

乱糟糟的YOLOv8-detect和pose训练自己的数据集

时代在进步,yolo在进步,我还在踏步,v8我浅搞了一下detect和pose,记录一下,我还是要吐槽一下,为啥子这个模型就放在了这个文件深处,如图。 以下教程只应用于直接应用yolov8,不修改。…

k8s之存储篇---数据卷Volume

数据卷概述 Kubernetes Volume(数据卷)主要解决了如下两方面问题: 数据持久性:通常情况下,容器运行起来之后,写入到其文件系统的文件暂时性的。当容器崩溃后,kubelet 将会重启该容器&#xff…

C++中为什么有模板的函数不能和.h文件分离,即分别声明和定义

目录 1.查看问题 2.探索问题 3.解决问题 1.查看问题 1.先看下面三个文件 stack.h stack.cpp test.cpp 2.探索问题 有了解的小伙伴应该知道大概率是在预处理,编译,汇编,链接中编译环节出错了,它在其他文件中无法通过定义找到函…

高效UI设计必备的4个UI设计软件,真的好用!

随着UI设计工作的不断发展,工作中的需求变得更加多样,一个好用的 UI 设计软件将极大减轻设计师的工作负担,提高设计师的工作效率,今天本文精选了4款好用的UI设计软件,并将逐一介绍的它们各自的特点和用法,给…

linux+QT+FFmpeg 6.0,把多个QImage组合成一个视频

直接上代码吧: RecordingThread.h#ifndef RECORDINGTHREAD_H #define RECORDINGTHREAD_H #include "QTimer" #include <QObject> #include <QImage> #include <QQueue>extern "C"{//因为FFmpeg是c语言,QT里面调用的话需要extern "C…

基于Java swing和mysql实现的学生选课管理系统(源码+数据库+运行指导视频)

一、项目简介 本项目是一套Java swing和mysql实现的学生选课管理系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严…

浮点动作 转 布尔动作(FloatActionToBooleanAction)

文章目录 思维导图具体步骤1、“浮点动作”的创建2、“布尔动作”的创建3、用“FloatToBoolean.cs”把两个动作联系起来 注意 思维导图 具体步骤 1、“浮点动作”的创建 “右手柄 扳机键 按下”需借助“Input.UnityInputManager.1DAxisAction”预设体成为FloatAction&#xf…

Java 读取TIFF JPEG GIF PNG PDF

Java 读取TIFF JPEG GIF PNG PDF 本文解决方法基于开源 tesseract 下载适合自己系统版本的tesseract &#xff0c;官网链接&#xff1a;https://digi.bib.uni-mannheim.de/tesseract/ 2. 下载之后安装&#xff0c;安装的时候选择选择语言包&#xff0c;我选择了中文和英文 3.…

代码随想录打卡—day44—【DP】— 8.28 完全背包基础

1 完全背包基础 完全背包和01背包问题唯一不同的地方就是&#xff0c;每种物品有无限件。 而完全背包的物品是可以添加多次的&#xff0c;所以要内嵌的背包容量循环从小到大去遍历&#xff0c;即&#xff1a;&#xff08;至于为什么&#xff0c;内嵌背包容量循环从小到大遍历…

mysql 计算两点之间距离

先说一下我们可能会用到的一些场景&#xff0c;这样同学们可以先评估&#xff0c;该篇文章是否对你有帮助&#xff01; 场景&#xff1a; 假设 美团&#xff0c;我点外卖时&#xff0c;系统会让我先进行定位&#xff0c;比如我定位在了 A 点&#xff0c;系统就会给我推荐&…

八路参考文献:[八一新书]许少辉.乡村振兴战略下传统村落文化旅游设计[M]北京:中国建筑工业出版社,2022.

八路参考文献&#xff1a;&#xff3b;八一新书&#xff3d;许少辉&#xff0e;乡村振兴战略下传统村落文化旅游设计&#xff3b;&#xff2d;&#xff3d;北京&#xff1a;中国建筑工业出版社&#xff0c;&#xff12;&#xff10;&#xff12;&#xff12;&#xff0e;

多商户门店会员卡充值收款营销公众号开发

多商户门店会员卡充值收款营销公众号开发 一、功能特色&#xff1a; 专注于收款码支持商户入驻功能&#xff0c;降低运营成本资金可以直接到达商户&#xff0c;支持微信分账方式分配佣金&#xff0c;完全符合支付结算相关法规充值、充次支持给赠值设置有效期&#xff0c;促进…

防雷浪涌保护器选型方案

防雷浪涌保护器是一种用于保护电气设备免受雷电或其他电源干扰引起的过电压或过电流的装置。防雷浪涌保护器的选型应根据国家标准、设备要求和实际工程条件进行&#xff0c;以达到既满足防雷验收要求&#xff0c;又能有效保护设备的目的。地凯科技介绍一些常用的防雷浪涌保护器…

论文解读 | OmniObject3D:用于逼真感知、重建和生成的大词汇量3D对象数据集

原创 | 文 BFT机器人 这篇论文的主要目标是介绍和探索OmniObject3D数据集&#xff0c;该数据集包含大量真实扫描的3D物体&#xff0c;涵盖了190个类别&#xff0c;提供了多种丰富的注释&#xff0c;包括纹理3D网格、采样点云、多视图图像等。作者将OmniObject3D应用于多个3D视…

mysql和mybatisPlus实现:datetime类型的字段范围查询

前提说明 数据库在存储数据时,我们为了精确一下时间,便会把改时间类型的字段设置为datetime类型; 在过滤数据库数据时,我们又需要对该字段进行一个范围的过滤 由此,便出现了这篇博客 datetime数据类型 在MySQL中,datetime数据类型用于保存日期和时间的值。它的格式为Y…

ChatGPT 制作可视化柱形图突出显示第1名与最后1名

对比分析柱形图的用法。在图表中显示最大值与最小值。 像这样的动态图表的展示只需要给ChatGPT,AIGC,OpenAI 发送一个指令就可以了, 人工智能会快速的写出HTML与JS代码来实现。 请使用HTML,JS,Echarts完成一个对比分析柱形图,在图表中突出显示第1名和最后1名用单独一种不…

局域网远程软件Radmin

Radmin是一个快速且安全的远程控制和远程访问软件&#xff0c;通过它可以就像坐在远程计算机前一样&#xff0c;在远程计算机上工作&#xff0c;并可以从多个位置访问远程计算机。&#xff08;本例使用的版本是Radmin 3.5&#xff09; 下载Radmin 3.5安装包。 Radmin 3.5安装…

通信原理板块——基础知识(三)

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 7、能量信号的频谱密度 (1)能量信号…