中图分类号:F502 文献标识:A 文章编号:1009-4202(2010)10-286-02

摘 要 运输问题是运筹学的经典问题,而表上作业法是运输问题中的重要算法,具有广泛的应用.本文对运输问题表上作业法进行了一些必要的探讨,利用闭回路的唯一性,给出了一种新的闭回路构建方法,简化了求解运输问题最优解的过程。

关键词 运输问题 运筹学 表上作业法 闭回路

一、引言

运输问题的数学模型为:

设某产品有 个产地 和 个销地 .在产地 的产量为 ,在销地 的销量为 ,从 到 运送一个单位货物的运费为 .假设产销平衡,即 ,试确定一个调运方案,使总运费最小。

假设产地 供给销地 的货物量为 ,上述问题可用以下数学模型表示:

的前 行对应 个产地,后 行对应 个销地。 的增广矩阵记作 。由于产销不平衡运输问题均可转化为产销平衡运输问题,因此本文仅研究产销平衡运输问题。

二、运输问题的基本性质

定理1:销平衡的运输问题必存在有限最优解。

定理2:运输问题的系数矩阵 和增广矩阵 的秩均为 。

定理3:运输问题中, 的任何方子矩阵的行列式为-1,0或1。

三、表上作业法求解运输问题

运输问题是线性规划问题的特殊情形,其约束条件具有特殊结构,除了可用一般的单纯形方法求解外,还可用简单有效的表上作业法求解.表上作业法就是一种求解运输问题的有效的迭代法.按照迭代法的基本思想,表上作业法的步骤可归纳如下:

(1)确定初始基本可行解,得到 个基变量。

求解初始基本可行解的方法很多,最常见的是西北角法,最小元素法和差额法。一般情况,差额法确定的基本可行解质量最好,最接近最优解。

(2)判定是否最优。用位势法判别可行解是否为最优解,如果所有判别数非正,说明得到最优解,否则转入(3)。

(3)若是最优,则问题得解;若不是最优,则按闭回路法对运输方案进行调整。

a.从具有最大的判别数的空格作为闭回路的第一格.

b.第二格的确定。找出基向量,找基向量中与第一格中同在的行(列)的元素,作为第二格。

c.第k格的确定。在基向量中寻找,与第k-1格同在一列(行)的元素,若存在,则选择其一作为第k格,令k=k+1,转入第d步;否则令k=k-1,转入第d步。

d.找与第k-1格同在一行(列)的元素,判断是否与第k格在同一列(行),若在同一列(行),则得到闭回路;否则转入第c步。

四、实例

给定运输问题如表1,其中 为产地, 为产量, 为销地, 为销量,每个方格右上角数字为费用系数 ,试确定一个运输方案,使总运输费用最小。

解:首先用差额法求初始基本可行解,计算结果如表2,其基变量为( )=(0,10,1,11,4,5)目标函数值为f=148。

五、总结

运输问题是运筹学的经典问题,而表上作业法是运输问题中的重要算法,具有广泛的应用.本文主要提出了闭回路构建的新算法,改进了之前的算法涉及到每个格,降低了构建闭回路的计算时间。

参考文献:

[1]陈宝林.最优化理论与算法.清华大学出版社.2005.

[2]钱颂迪.运筹学.清华大学出版社.北京.1990.

[3]韩伟一.运输问题表上作业法的一点驻记.运筹与管理.2009.18(4):7-9.

C语言表上作业法运输问题,论运输问题表上作业法相关推荐

  1. 温州大学c语言作业布置的网站,老师APP上布置作业 三年级娃为刷排名半夜做题_央广网...

    在温州读小学三年级的皮皮(化名),因为学习需要,在妈妈黄女士的手机里安装了5个APP学习软件.有数学速算的,英语配音的,还有语文复习的.这些软件,都是班上的老师推荐安装的. 每天放学回家,皮皮就拿着黄 ...

  2. 在屏幕上输出9*9乘法口诀表---C语言编程

    1.问题和答案 在屏幕上输出9*9乘法口诀表 答案: #include<stdio.h> int main() {int i = 0; int j = 0; for (i = 1; i & ...

  3. c语言创造线性表储存复数,《c语言数结构》第02章 线性表.ppt

    <c语言数结构>第02章 线性表 第1章回顾 数据结构课程-- 数据结构+算法=程序,涉及数学.计算机硬件和软件. 数据结构定义--指互相有关联的数据元素的集合,可用data_Struct ...

  4. 4.2.5 预测分析法与预测分析表的构造

    4.2.5 预测分析法与预测分析表的构造 预测分析法也称为 LL ( 1 )分析法.这种分析法是确定的自上而下分析的另一种方法,采用这种方法进行语法分析要求描述语言的文法是 LL ( 1 )文法. 一 ...

  5. 用c语言线性表的链式表示实现,数据结构-使用C语言 朱战立第2章线性表的链式表示.ppt...

    数据结构-使用C语言 朱战立第2章线性表的链式表示 * 循环链表(circular linked list) 循环链表是表中最后一个结点的指针指向头结点,使链表构成环状 特点:从表中任一结点出发均可找 ...

  6. 高并发系列:存储优化之也许可能是史上最详尽的分库分表文章之一

    趣味性不强,但知识性很强,建议耐心看或者先收藏 本文内容预览: 库表会在哪天到达瓶颈? 1.1 苏宁拼购百万级库表拆分之前 1.2 京东配运平台库表拆分之前 1.3 大众点评订单库拆分之前 1.4 小 ...

  7. 怎么上传云班课的计算机作业,云班课如何提交课后作业 作业提交教程

    老师在云班课中开始教学活动后,你可以在活动列表页面找到新发布的活动,并进行作答. 当老师把作业/小组任务的状态标记为进行中时,你就可以按规定开始作答作业. 一.不分组提交作业 不分组作业是*简单直接的 ...

  8. 如何做云班课上的计算机作业,云班课如何提交课后作业 作业提交教程

    老师在云班课中开始教学活动后,你可以在活动列表页面找到新发布的活动,并进行作答. 当老师把作业/小组任务的状态标记为进行中时,你就可以按规定开始作答作业. 一.不分组提交作业 不分组作业是*简单直接的 ...

  9. 计算机作业评价表,【作业检查记录评语】_教导处作业检查评语,教导处作业检查记录...

    篇一:教导处作业检查评语 高坝镇十三里堡小学教导处作业检查情况反馈 严发武 语文学科 一.学生作业情况: 低年级作业量适中,有生字.词语.写话.五星级等项目,质量 一般:三年级作业有生字组词.作文本, ...

  10. 采用XLL封装工作表函数的演示,确保工作表上的公式不暴露给用户

    采用XLL封装工作表函数的演示,确保工作表上的公式不暴露给用户 近期不少朋友询问关于如何使用XLL加载宏来确保工作表上的公式不暴露给用户的问题. 我做了一个演示,演示了以下功能: 1.如何自动通过VB ...

最新文章

  1. http_build_query的用法
  2. 【Java并发编程】—–“J.U.C”:ConcurrentLinkedQueue
  3. 防sql注入 php代码,完美的php防sql注入代码
  4. setInterval setTimeout clearInterval
  5. Java进阶:Semaphore信号量基本使用
  6. Java Web Servlet
  7. android lrc 歌词显示,Android歌词 AndroidLrc歌词
  8. 戴尔企业级技术社区达人积分等级制度
  9. 从一句SQL得出的启示
  10. python开发技术详解pdf_python开发技术详解 周伟,宗杰著 中文 PDF版 [117M]
  11. 解析搜狗微信文章页面源码的日期publish_time为空的解决办法(只谈思路,不提供代码)
  12. 百度汇率转换接口 php,利用yahoo汇率接口实现实时汇率转换示例 汇率转换器_php实例...
  13. hao123.com 360浏览器等主页被劫持的解决方法
  14. ssh登录报错Pseudo-terminal will not be allocated because stdin is not a terminal
  15. 时区,GMT时间,UTC时间,UNIX时间戳
  16. Hibernate占位符?和:及JPA占位符
  17. 三维空间无人机均匀分布——球体包围
  18. JWT、JWE、JWS 、JWK 到底是什么?该用 JWT 还是 JWS?
  19. 王者荣耀-是用什么编程语言开发的
  20. rvtptcontrol failed

热门文章

  1. Milogs客户销售工作日志软件系统简介
  2. 太棒了!TCP/IP协议 (图解+秒懂+史上最全)
  3. D1、D系列分辨率是多少
  4. 整理电力系统GPS时间同步装置(GPS对时系统)孤岛方案
  5. WIN31DOSBox中魔改PWIN32 - 温故、浸馨、继而知新
  6. 模块二 会务现场服务策划方案 案例1样本
  7. 计算机指令集编程教程,PLC编程语言入门,常用指令集汇总分享
  8. 2018百度之星程序设计大赛初赛B——1002hex
  9. Excel 2010实战技巧精粹
  10. 机器视觉实验二:道路车流量计数实验(OpenCV-python代码)