C语言表上作业法运输问题,论运输问题表上作业法
中图分类号: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语言表上作业法运输问题,论运输问题表上作业法相关推荐
- 温州大学c语言作业布置的网站,老师APP上布置作业 三年级娃为刷排名半夜做题_央广网...
在温州读小学三年级的皮皮(化名),因为学习需要,在妈妈黄女士的手机里安装了5个APP学习软件.有数学速算的,英语配音的,还有语文复习的.这些软件,都是班上的老师推荐安装的. 每天放学回家,皮皮就拿着黄 ...
- 在屏幕上输出9*9乘法口诀表---C语言编程
1.问题和答案 在屏幕上输出9*9乘法口诀表 答案: #include<stdio.h> int main() {int i = 0; int j = 0; for (i = 1; i & ...
- c语言创造线性表储存复数,《c语言数结构》第02章 线性表.ppt
<c语言数结构>第02章 线性表 第1章回顾 数据结构课程-- 数据结构+算法=程序,涉及数学.计算机硬件和软件. 数据结构定义--指互相有关联的数据元素的集合,可用data_Struct ...
- 4.2.5 预测分析法与预测分析表的构造
4.2.5 预测分析法与预测分析表的构造 预测分析法也称为 LL ( 1 )分析法.这种分析法是确定的自上而下分析的另一种方法,采用这种方法进行语法分析要求描述语言的文法是 LL ( 1 )文法. 一 ...
- 用c语言线性表的链式表示实现,数据结构-使用C语言 朱战立第2章线性表的链式表示.ppt...
数据结构-使用C语言 朱战立第2章线性表的链式表示 * 循环链表(circular linked list) 循环链表是表中最后一个结点的指针指向头结点,使链表构成环状 特点:从表中任一结点出发均可找 ...
- 高并发系列:存储优化之也许可能是史上最详尽的分库分表文章之一
趣味性不强,但知识性很强,建议耐心看或者先收藏 本文内容预览: 库表会在哪天到达瓶颈? 1.1 苏宁拼购百万级库表拆分之前 1.2 京东配运平台库表拆分之前 1.3 大众点评订单库拆分之前 1.4 小 ...
- 怎么上传云班课的计算机作业,云班课如何提交课后作业 作业提交教程
老师在云班课中开始教学活动后,你可以在活动列表页面找到新发布的活动,并进行作答. 当老师把作业/小组任务的状态标记为进行中时,你就可以按规定开始作答作业. 一.不分组提交作业 不分组作业是*简单直接的 ...
- 如何做云班课上的计算机作业,云班课如何提交课后作业 作业提交教程
老师在云班课中开始教学活动后,你可以在活动列表页面找到新发布的活动,并进行作答. 当老师把作业/小组任务的状态标记为进行中时,你就可以按规定开始作答作业. 一.不分组提交作业 不分组作业是*简单直接的 ...
- 计算机作业评价表,【作业检查记录评语】_教导处作业检查评语,教导处作业检查记录...
篇一:教导处作业检查评语 高坝镇十三里堡小学教导处作业检查情况反馈 严发武 语文学科 一.学生作业情况: 低年级作业量适中,有生字.词语.写话.五星级等项目,质量 一般:三年级作业有生字组词.作文本, ...
- 采用XLL封装工作表函数的演示,确保工作表上的公式不暴露给用户
采用XLL封装工作表函数的演示,确保工作表上的公式不暴露给用户 近期不少朋友询问关于如何使用XLL加载宏来确保工作表上的公式不暴露给用户的问题. 我做了一个演示,演示了以下功能: 1.如何自动通过VB ...
最新文章
- http_build_query的用法
- 【Java并发编程】—–“J.U.C”:ConcurrentLinkedQueue
- 防sql注入 php代码,完美的php防sql注入代码
- setInterval setTimeout clearInterval
- Java进阶:Semaphore信号量基本使用
- Java Web Servlet
- android lrc 歌词显示,Android歌词 AndroidLrc歌词
- 戴尔企业级技术社区达人积分等级制度
- 从一句SQL得出的启示
- python开发技术详解pdf_python开发技术详解 周伟,宗杰著 中文 PDF版 [117M]
- 解析搜狗微信文章页面源码的日期publish_time为空的解决办法(只谈思路,不提供代码)
- 百度汇率转换接口 php,利用yahoo汇率接口实现实时汇率转换示例 汇率转换器_php实例...
- hao123.com 360浏览器等主页被劫持的解决方法
- ssh登录报错Pseudo-terminal will not be allocated because stdin is not a terminal
- 时区,GMT时间,UTC时间,UNIX时间戳
- Hibernate占位符?和:及JPA占位符
- 三维空间无人机均匀分布——球体包围
- JWT、JWE、JWS 、JWK 到底是什么?该用 JWT 还是 JWS?
- 王者荣耀-是用什么编程语言开发的
- rvtptcontrol failed