收藏 分享(赏)

运输问题模型.doc

上传人:精品资料 文档编号:8452971 上传时间:2019-06-28 格式:DOC 页数:54 大小:982.30KB
下载 相关 举报
运输问题模型.doc_第1页
第1页 / 共54页
运输问题模型.doc_第2页
第2页 / 共54页
运输问题模型.doc_第3页
第3页 / 共54页
运输问题模型.doc_第4页
第4页 / 共54页
运输问题模型.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、 运输问题摘要运输问题是运筹学的一个分支,是线性规划的特殊形式。它研究的是如何在一个大宗物资调运中,制定出一个由若干个产地将物资根据已知的运输交通网运到各个销售地的方案,使得总运费最小。物流是整个物流活动中核心,运输管理是物流活动的统筹规划和管理的一重要部分,对运输环节进行规划和优化,对提高物流活动的运行效率有重要意义。本文通过对运输问题模型和求解方法的研究,在产销平衡的条件下,运用不同的软件 Excel、Lingo 、和 Matlab 等对运输问题进行求解,同时对内点法求解运输问题进行了研究,最终在计算机上得以实现。通过研究得出结果如下:(1)三个软件 Excel、Lingo 和 Matla

2、b 在求解简单的运输问题,其结果表上作业法求解的结果是一样的。(2)在进行比较复杂的运输问题求解时,Excel 出现可变单元格过多而无法进行继续求解,而 Lingo 和 Matlab 的求解结果相同,在时间耗费上差异不大,在内存占用上 Matlab 比 Lingo 的大。(3)根据内点法的原理和方法进行研究,编写出对运输问题进行求解的代码,并实现求解。关键词:运输问题 表上作业法 Excel Lingo Matlab 内点法IStudy on the Solution and Practice of the Model of Logistics Transportion ProblemAbst

3、ractTransportion problem is a branch of Operations Research,it is a special form of linear programming. It researchs how to build a program that in a bulk material dispatching to delivered all these materials based on the known traffic network to all sales from a number of producer, bringing the tot

4、al freight minimum. Logistics is the core of the logistics activities, transportation management is an important part of overall planning and management in the logistics activities. Planning and management the transport link is very important for improving the efficiency of logistics activities.Base

5、d on the study of the transportion model and its solution, under the conditions of production and marketing balance, used different software such as Excel, Lingo, Matlab and so on to solve the transportion problem, and also studied the solving of the transportion problem by using the internal point

6、method, and eventually can be achieved in the computer. Through the results of the study are as follows: (1)Threesoftware, Excel, Lingo, and Matlab in solving a simple transportation problems, the result and result of suing Tabular method were the same. (2) When solved the more complex transportatio

7、n problem, Excel appears too much variable to solve, however the results of using Lingo and Matlab is the same, and little difference in time spenting and in the memory footprint Matlab is larger than the Lingo .(3) Based on the study of the principles and methods of interior point method, to write

8、a program to solve the transportion problem. IIKeywords: The Transportation Problems Tabular Method Excel LingoMatlab Interior Point Method目录第一章 绪 论 .11.1 课题的来源 .11.2 本课题的实现目标 .11.3 运输问题的发展现状及研究意义 .21.4 本课题的主要工作 .3第二章 线性规划与运输问题 .42.1 线性规划 .42.2 运输问题 .5第三章 运输问题求解实践 .83.1 单纯形法 .83.2 表上作业法 .83.3 工具求解实践

9、 .143.4 小结 .21第四章 大型运输问题案例求解与运输问题的应用 .224.1 大型运输问题实例 .224.2 运输问题的应用 .27第五章 内点法 .315.1 运输问题的内点算法 .315.2 牛顿法 .325.3 中心路径和终止条件 .335.4 运输问题的内点算法实现 .34第六章 总 结 .406.1 结论 .406.2 展望 .40参考文献 .42附 表 .43致 谢 .490第一章 绪论1.1 课题的来源运输问题是线性规划的一种特殊形式,运输问题主要是解决这样的问题:在大宗物资调运时,有若干个产地,根据已知的运输交通网,如何制定一个运输方案,将这些物资运到各个销售地,使得

10、总运费最小。物流管理的本质要求就是求实效,即以最少的消耗,实现最优的服务,达到最佳的经济效益。搞好物流管理,可以通过合理的运输方案,使中间装卸搬运、储存费用降低、损失减少,在其他条件不变的情况下,降低物流成本就意味着扩大了企业的利润空间,提高了利润水平,所以一个合理的运输方案有着重要的意义。运输问题模型提出后,人们对其求解的方法进行了大量的研究,并有了重大成果,其中,Danzig 的表上作业法是最简单和最常用的,表上作业法本质就是单纯形法,虽然表上作业法是最简单的,但是在求解的过程中还是会耗费大量的时间,在讲究高速高效的现代生活中显然是要被淘汰的,随着计算机技术的发展和普及,人们把运输问题的求

11、解依赖于计算机求解,于是产生了大量求解运输问题的软件和工具,如 Excel、Lingo、和 Matlab等。在众多的求解方法和求解工具中,总会有各自的优缺点,所以寻求一个好中更好的求解工具,提高求解效率和可扩展性将会有很重要的意义。1.2 本课题的实现目标本课题通过研究运输问题在不同软件上的实现,首先进行小规模的运输问题实践,对在不同的软件中求解的难易程度、耗时耗力,以及所求解的结果的准确性进行比较分析,由于模型的规模较小,所以在求解过程中其效果不是很明显,故为了提高说服力,对一个比较大型的运输问题进行求解,分析其差异性,寻找出各个软件的优异性,为在实践中提供一个依据。最后把运输问题运用内点法

12、在计算机上进行求解,将其结果与单纯形法求解的效果进行比较分析。11.3 运输问题的发展现状及研究意义运输问题是运筹学的一个分支,它研究的是如何在一个大宗物资调运中,制定出一个由若干个产地,将这些物资根据已知的运输交通网运到各个销售地的方案,使得总运费最小。运输问题是在 1941 年美国学者希奇柯克(Hitchcock )在研究生产组织和铁路运输方面的线性规划问题时提出的 1。运输问题的提出,不仅可以求出物资的合理调运方案,其他类型的问题也都可以经过变换后转为运输问题来进行求解。运输问题自提出以来,人们对其解法进行了大量的研究:从目标函数的角度,运输问题同时考虑运输总费用最小、运输过程中损坏率最

13、低和单位运价变化的调整等多个目标,所以有宋叶新、陈绵云和吴晓平研究的具有模糊信息的目标运输问题求解 2、李珍萍研究的最短时限运输问题 3、带瓶颈限制的运输问题、运用禁忌搜索算法解决带固定费用的运输问题、调整单位运价使得运输计划最优的运输问题的逆问题等等。从算法角度来看,人们对运输问题提出了大量算法,如表上作业法、图上求解法、遗传算法 4,5、神经网络算法 6、减运价算法、仿真优化法、内点法等等。从计算机求解角度来看,目前已经有很多对运用计算机求解运输问题的研究,如运输问题的计算机求解 7,8 、Excel 求解运输问题 9 、Lingo 求解运输问题 10 、Matlab 求解 11。此外,还

14、有其他软件也可以求解运输问题,比如运筹学 CAI 软件,不过功能比较少,Winqsb 等等,现实中运用比较广泛的是 Lingo 和 Matlab。运输问题是社会经济生活中经常出现的优化问题,我们经常碰到物资调运如煤、粮食、钢材、木材等,这些都是大宗型的运输,在物流流通中通过合理的运输方案,使中间装卸搬运、储存费用降低、损失减少,以最少的消耗,实现经济效益最大化,所以一个合理的科学的运输方案有着重要的意义。在众多的求解方法和求解工具中,总会有各自的优缺点,所以寻求一个好中更好的求解工具,提高求解效率和可扩展性将会有很重要的意义。同时,在现实生活中,许多问题都可以转化成运输问题数学模型进行求解,所

15、以研究运输问题也等于研究了很多相关的问题,其意义更明显。21.4 本课题的主要工作本课题通过对物流运输问题模型的分析,探讨其求解方法,并进行实际操作,分析比较运输问题的手工求解和工具求解两类方法的具体求解过程中的差异。并以广西某化肥厂的比较大型的物流运输问题作为对象,使用工具对其进行求解,得出一个最佳方案。同时尝试采用内点法对运输问题进行求解,同时总结了运输问题的应用方向。论文的第二章主要是介绍了运输问题的一些基本情况,包括 LP 模型,运输问题的模型。第三章中分别讲述了运输问题的手工求解和工具求解的方法步骤,并将其结果进行分析比较。第四章介绍了不同工具求解的方法在比较大型的运输问题广西某化肥

16、厂的运输问题案例的实现,对其结果进行分析,并归纳总结了运输问题的应用方向。第五章介绍了内点法求解运输问题的原理和算法,和对实例实现求解,最后对论文的工作进行了总结。3第二章 线性规划与运输问题2.1 线性规划 线性规划(LP)问题,就是求出在一个凸多面体上求出线性目标函数的最小值。线性规划问题的标准形式为:0,.max21222212 1121nmnmnnxbxaaxtsccz (2.1)最早提出线性规划想法的是法国数学家 J.-B.-J.傅里叶和 C.瓦莱-普森,分别于 1832 年和 1911 年独立提出的,但是那时并未引起注意。直到 1939年,前苏联数学家康托洛维奇(BKanTOpOB

17、HH)在生产组织与计划中的数学方法一书中,提出和研究了线性规划问题,但也未引起重视。1947 年,美国数学家丹泽格(GBDantzig)提出了一般的线性规划数学模型和求解线性规划问题的通用方法单纯形法,为这门学科奠定了基础。单纯形法的提出,推动了最优化理论的发展。1979 年,前苏联数学家哈奇扬(JIrKhachiyan)提出了运用求解线性不等式组解 线 性 规 划 问 题 的 椭 球 算 法 ,并证明该算法是多项式时间算法。这算法的提出具有重要的意义,但其实际计算收敛速度极慢,实用效果比单纯形法差。1984 年,在美国贝尔电话实验室工作的印度数学家卡玛卡(N Karmarkar)提出了求解线

18、性规划问题的投影尺度法,用 这 种 方 法 求 解线 性 规 划 问 题 在 变 量 个 数 为 5000 时 只 要 单 纯 形 法 所 用 时 间 的 1/5012。这个多项式时间算法很有实用意义,这一算法的提出引起人们对内点算法的关注,此后相继出现了多种更为简便实用的内点算法。求解线性规划是非常复杂和耗时的一件事,为了省时省力又准确的得出结果,人们把目光转向了计算机求解,1952 年,线性规划问题第一次在计算机上获得求解,这开始了人们对计算机求解线性规划的探索,现在已经有很多软件可以进4行线性规划求解,如 Excel、Lindo、Lingo、SAS 、 Matlab 和 Winqsb 等

19、,本文主要是运用 Excel、Lingo 和 Matlab 这三个软件分别进行演示。2.2 运输问题运输问题 13发展于线性规划问题,自从 1939 年提出了类似线性规划的模型后,人们发现许多问题都属于线性函数在约束条件下的最优化问题,在 1940 年 Hitchcock 提出运输问题。运输问题属于线性规划问题的特殊情况,既有线性规划问题的共性,也有自身的特点和算法。运输问题提出后,1958 年 Konterovich 对运输问题做了早期的研究。运输问题的数学模型如下:已知某种物资有 m 个供应点(源点) , , =1,2, 。 , 供应量iAm分别为 (个单位) , =1,2, ;有 n 个

20、需求点(终点) ,iai, =1,2 , ,需求量分别为 , =1, 2, 。从 到 运jBnjbniAjB输单位物资的运价(单位)为 。若用 表示从 到 的运量,那么在产ijcijxiAjB销平衡,即 的条件下,要求得总运费最小的调运方案,可求解njmiba1的数学模型:(2.2)0,2,1,.in111ijinjijjmiijinjijxmanbxtscz 由产销平衡条件 ,njmiba1所以是产销平衡的运输问题。但在现实生活中往往产销是不平衡的,这就需要把产销不平衡问题转5化为产销平衡问题。当产大于销 时,运输问题的数学模型变为njmiba1(2.3)0,21,.11ijinjijjmi

21、jinjijxmanbxtscz 由于产大于销,所以多余的产品就要考虑在产地就地储存的问题,设是产地 的储存量,有1,nixiA111,1,1 ,2, ,1,njmiinjij injiinji bax njbmiaxx 令 ,当 , 时,ijijc ,2 ,2,当 , 时,0ij j将其代入(2.3) 得: minjijjminminjjiminjji xcxcxxcz 11,110,21,.1ijinjijjijxmabts 其中, ,这就转化成了一个平衡的运输问题。1njmi ba当销大于产时,也可以转化成为一个产销平衡问题,产大于销是假设6多曾一个销售点 ,该销地的销量为 ,相应的运价

22、变为1nj njmiba1。同样,当销大于产时也用同样的方法进行转换,这时假设增加一01,nic个产地,产量为 ,相应的运价为 ,也转化成了产销平minjab1 0,1jmc衡问题。在本论文中为了方便计算,只考虑产销平衡的情况。7第三章 运输问题求解实践3.1 单纯形法在运输问题的解法中最好最有效的方法是单纯形法,单纯形法求解线性规划的思路:先 找 出 一 个 基 本 可 行 解 , 对 它 进 行 鉴 别 , 看 是 否 是 最 优 解 ;若 不 是 , 则 按 照 一 定 法 则 转 换 到 另 一 改 进 的 基 本 可 行 解 ,再 鉴 别 ; 若 仍 不是 , 则 再 转 换 ,按

23、此 重 复 进 行 。单 纯 形 法 的 计 算 步 骤 如 下 :第 一 步 : 对 线 性 规 划 数 学 模 型 进 行 标 准 化 , 构 造 一 个 初 始 基 可 行 解 ;第 二 步 : 判 断 当 前 基 本 可 行 解 是 否 是 最 优 解 ; 第 三 步 : 若 当 前 解 不 是 最 优 解 , 则 进 行 基 变 换 迭 代 到 下 一 个 基 本 可 行解 。 3.2 表上作业法表上作业法是单纯形法在求解运输问题时的一种简化方法,其实质是单纯形法,只是具体计算和术语有所不同。其一般思路是:初始方案的确定最优解的检验调运方案的调整。以下以一个简单的例子进行介绍。例:某

24、公司经销甲产品。它下设三个加工厂,有四个销售点,各加工厂每日的产量及各销售点每日销量、各加工厂到销售点的单位产品的运价如表 3-1 所示,问该公司应如何调运产品,在满足各销售点的需求量的前提下,使得总运费最少。表 3-1 已知信息表B1 B2 B3 B4 产量(吨)A1 3 11 3 10 7A2 1 9 2 8 4A3 7 4 10 5 9销量(吨) 3 6 5 6销地产地8表 3-2 运输方案表B1 B2 B3 B4 产量(吨)A1 7A2 4A3 9销量(吨) 3 6 5 63.2.1 初始方案的确定初始方案的确定就是初始基可行解的确定。产销平衡的运输问题总是存在可行解。因有 dbanj

25、mi1必存在可行解:0 =1,2, , =1,2,ijxijn又因0 min( , )ijjajb故运输问题必存在最优解。确定初始其可行解的方法很多,简单又尽可能接近最优解的方法一般有:最小元素法、伏格尔法和西北角法,本文主要介绍最小元素法的求解步骤,同时也采用其他两种方法进行求解得出结果。最小元素法的基本方法就是就近供应,即从单位运价表中最小的运价开始确定供销关系,然后次小。直到得出初始其可行解为止。其步骤如下:第一步:在表 3-1 找出最小运价为 1,先将 A2 的产品供应给 B1。因 2a,即 A2 除满足 B1 的全部需要外,还多出 1 吨产品。在表 3-2 的1b(A 2,B 1)的

26、交叉格处填上 3,同时把表 3-1 中的 B1 列划掉;销地产地9第二步:在表 3-1 的找出没有划掉的最小的运价 2,把 A2 多余的 1 吨供应给 B3,并在表 3-2(A 2,B 3)交叉格出填上 1,同时把表 3-1 的 A2 行划掉;第三步:同样在表 3-1 的找出没有划掉的最小的运价 3,因为 A2 已经供应 1 吨给 B3,所以 A1 供应 4 吨给 B3,并在表 3-2(A 1,B 3)交叉格出填上 4,同时把表 3-1 的 B3 列划掉;第四步:在表 3-1 中的找出没有划掉的最小的运价 4,把 A3 的 6 吨供应给 B2,并在表 3-2(A 3,B 2)交叉格出填上 6,

27、同时把表 3-1 的 B2 列划掉;第五步:在表 3-1 中的找出没有划掉的最小的运价 5,由于 A3 一共生产 9 吨,把 6 吨供应给了 B2,剩下的 3 吨全部供应给 B4,并在表 3-2(A 3,B 4)交叉格出填上 3,同时把表 3-1 的 A3 行划掉;第六步:在表 3-1 中的找出没有划掉的最小的运价 10,由于 A1 一共生产 7 吨,把 4 吨供应给了 B3,剩下的 3 吨全部供应给 B4,并在表 3-2(A 1,B 4)交叉格出填上 3,同时把表 3-1 的 B4 列划掉。到此已经把产地的产品全部分配到各销地,并得出运输方案表,见表 3-3,同时得出总运费为 86 元。表

28、3-3 最小元素法运输方案表B1 B2 B3 B4 产量(吨)A1 4 3 7A2 3 1 4A3 6 3 9销量(吨) 3 6 5 6注:总运费=31+1 2+43+64+35+310=86 元另外另种方法的思路及求解结果如下:伏格尔法的基本思路是一产品的产品如果不能按最小运费就近供应,就考虑次小运费,会产生一个差额,差额越大,说明不能按最小运费调运时,运费增加就越多,因而对差额最大处采用最小运费调运。求得结果见表表 3-4。销地产地10表 3-4 伏格尔法运输方案表B1 B2 B3 B4 产量(吨)A1 5 2 7A2 3 1 4A3 6 3 9销量(吨) 3 6 5 6注:总运价=31+

29、6 4+53+210+18+35=85 元西北角法,又称左上角法,或阶梯法,其基本思想为先从表的左上角即(A 1 ,B 1) ,在产销约束条件允许的范围内,极可能大的产量满足销量,从而确定该交叉格的产量,依此类推,在剩余格中从左上角开始进行同样的处理。求解结果见表 3-5。表 3-5 西北角法运输方案表B1 B2 B3 B4 产量(吨)A1 3 4 7A2 2 2 4A3 3 6 9销量(吨) 3 6 5 6注:总运费=33+4 11+29+22+310+65=135(元)在表上作业法求初始解的三个方法中,左上角法最简单,最小元素法次之,伏格尔法相对最复杂,但所求结果伏格尔法最好,最接近最优解

30、,其次是最小元素法,左上角法则相当较差 14。销地产地销地产地113.2.2 最优解的检验最优解的判别方法是计算空格的检验数 。运输问NjiPBCcij ,1题的目标函数是要求实现最小化,所以当 时,为最优解。0ijij求空格检验的方法有两种:闭回路法和位势法,本文采用的是闭回路法。闭回路法的步骤是在初始解方案的计算表上,从每一空格出发找一条闭回路,即以某一个空格为起点,水平或垂直向前划,当碰到一个数字格时可以转 90后,继续前进,直到回到原点为止。在例题中用最小元素法求出的初始解表 3-3 中,从任意一个空格出发,如(A 1,B1) ,若让 A1 调运 1 吨产品给 B1,为了保持产销平衡,

31、则在(A 1,B3)处减少 1 吨, (A 2,B3)处增加 1 吨, (A 2,B1)处减少 1 吨,构成了一个闭回路。这一闭回路增加的运费为:(+1)3+(-1)3+ (+1)2+( -1)1=1(元) , 。这 1 就是空格(A 1,B1)的检验数,同理可以找出所有空格的检验数,结果如下表 3-6表 3-6 空格检验数表空格 闭回路检验数(A 1,B1) (A 1,B1)(A 1,B3)(A 2,B3)(A 2,B1)(A 1,B1) 1(A 1,B2) (A 1,B2)(A 1,B4)(A 3,B4)(A 3,B2)(A 1,B2) 2(A 2,B2) (A 2,B2)(A 2,B3)

32、(A 1,B3)(A 1,B4)(A 3,B4)(A 3,B2)(A 2,B2)1(A 2,B4) (A 2,B4)(A 2,B3)(A 1,B3)(A 1,B4)(A 2,B4) -1(A 3,B1) (A 3,B1)(A 3,B4)(A 1,B4)(A 1,B3)(A 2,B3)(A 2,B1)(A 3,B1)10(A 3,B3) (A 3,B3)(A 3,B4)(A 1,B4)(A 1,B3)(A 3,B3) 12当检验数存在负数时,说明原方案不是最优解,需要改进。3.2.3 调运方案的改进在进行最优解检验时,出现负检验数,表明没有得出最优解,方案需12要进行改进,本文采用改进的方法是闭

33、回路调整法。闭回路调整法的思路是:以负检验数的空格为调入格,当负检验数为两个或两个以上时,一般选最小的负检验数,以它相对应的非基变量为换入变量。由表 3-6 可知,空格(A 2,B4)的检验数为负,所以以该空格为调入格见表 3-7,在该空格中调入量是以闭回路上具有(-1)的数字格中的最小者,即 min=(1, 3)=1 ,然后按闭回路上的正、负号,进行加减得到调整方案,见表 3-8,此时的总运费为 85 元。表 3-7 方案调整B1 B2 B3 B4 产量(吨)A1 4(+1) 3(-1 ) 7A2 3 1(-1) (+1) 4A3 6 3 9销量(吨) 3 6 5 6表 3-8 改进后的方案

34、表B1 B2 B3 B4 产量(吨)A1 5 2 7A2 3 1 4A3 6 3 9销量(吨) 3 6 5 6注:总运费=31+6 4+53+210+18+35=85(元)对此调整后的方案再次用闭回路法进行检验,得出的检验数如下:表 3-9 改进后空格检验数表空格 闭回路检验数(A 1,B1) (A 1,B1)(A 1,B3)(A 2,B3)(A 2,B1)(A 1,B1) 0销地产地销地产地13(A 1,B2) (A 1,B2)(A 1,B4)(A 3,B4)(A 3,B2)(A 1,B2) 2(A 2,B2) (A 2,B2)(A 2,B3)(A 1,B3)(A 1,B4)(A 3,B4)

35、(A 3,B2)(A 2,B2)2(A 2,B4) (A 2,B4)(A 2,B3)(A 1,B3)(A 1,B4)(A 2,B4) 1(A 3,B1) (A 3,B1)(A 3,B4)(A 1,B4)(A 1,B3)(A 2,B3)(A 2,B1)(A 3,B1)9(A 3,B3) (A 3,B3)(A 3,B4)(A 1,B4)(A 1,B3)(A 3,B3) 12表中的所有检验数都是非负数,说明表 3-8 的结果是最优解。同时也说明伏格尔法给出的初始解比最小元素法给出的初始解更接近最优解3.3 工具求解实践在 进 行 运 输 问 题 求 解 时 , 传 统 的 解 法 是 表 上 作 业

36、 法 , 虽然表上作业法已经是最简单的,但是在求解过程中还是会消耗大量的时间,特别是大规模的运输问题,表上作业法就显得很复杂。随着计算机的出现,人们开始尝试用计算机对运输问题进行求解,至 今 已 经 有 很 多 软 件 是 针 对 线 性 规划 而 设 计 的 , 如 Excel 的 规 划 求 解 , 以 及 专 业 的 求 解 工 具 Lingo 和Matlab 等 。3.3.1 Excel 规划求解Microsoft excel 的“规划求解”工具取自得克萨斯大学奥斯汀分学的Leon Lasdon 和克里夫兰州大学的 Allan Waren 共同开发的GRG2(Generalized R

37、educed Gradient)非线性最优化代码. 15Excel 的“规划求解” 功能强大,它可以实现对有多个决策变量的线性规划问题的求解,回避了用线性规划专业软件求解时对操作者的专业要求,同时也克服了笔算的缺点,其操作方法简单、方便、快捷,大大提高了计算的效率与准确性。Excel 与专业软件相比,有以下特点:1、Excel 软件方便易学,大部分人都比较熟悉,容易掌握;2、能用表格简单直观地体现数学模型;3、Excel 具有大量的内建函数,通过设置参数,就能进行复杂的计算,建模过程简单;144、Excel 软件具有强大的数据分析功能。Excel 求解的步骤如下:1、 创建表格图 3-1 创建

38、表格2、设置约束条件和目标函数F7=SUM(B7:E7)F8=SUM(B8:E8)F7=SUM(B9:E9)B2=SUM(B7:B9)C2=SUM(C7:C9)D2=SUM(D7:D9)E2=SUM(E7:E9)15H12=SUMPRODUCT(B2:E4,B7:E9)图 3-2 约束条件和目标函数 3、设置规划求解参数见图 3-3图 3-3 规划求解参数4、规划求解选项设置图 3-4 规划求解选项图165、求解图 3-5 规划求解6、 结果图 3-6 Excel 求解的结果由图 3-6 计算结果可以知道,运用 Excel 求解的结果和用表上作业法的结果是一样的。3.3.2 Lingo 求解L

39、ingo 软件是美国 Lindo 系统公司开发的一套用于求解最优化问题的软件包,Lingo 除了能用于求解线性规划和二次规划外,还可以用于非线性规划求解以及一些线性和非线性方程(组)的求解等。Lingo 软件的最大特色在于它允许优化模型中的决策变量为整数,而且执行速度快。Lingo 内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用 Lingo 高效的求解器可快速求解并分析结果。Lingo 软件,线性优化求解程序通常使用单纯形法,单纯形法虽然在实17际应用中是最好最有效的方法,但对某些问题具有指数阶的复杂性,所以为了能解大规模问题,Lingo 也提供了内点算法备选。Lingo 软件

40、有快速建构模型、轻松编辑数据、强大求解工具、交互式模型和建立完成应用、丰富的文件支持等优点。Lingo 代码编写如下:sets:wh/w1 w2 w3/:ai; vd/v1 v2 v3 v4/:dj;links(wh,vd):c,x;endsetsdata:ai=7,4,9;dj=3,6,5,6;c=3,11,3,101,9,2,87,4,10,5;enddatamin=sum(links(i,j):c(i,j)*x(i,j);for(wh(i):sum(vd(j):x(i,j)=ai(i);for(vd(j):sum(wh(i):x(i,j)=dj(j);end运行的结果如下:图 3-7 总

41、运费18图 3-8 运输方案图 3-9 内存和时间耗费由图 3-7 至图 3-9 可知,运用 Lingo 求解的结果和用表上作业法的结果是一样的,该模型的运行过程不用 1 秒,内存 20K。3.3.3 Matlab 求解Matlab 是 20 世 纪 70 年 代 , 美 国 新 墨 西 哥 大 学 计 算 机 科 学 系 主 任Cleve Moler 为 了 减 轻 学 生 编 程 的 负 担 , 用 FORTRAN 编 写 而 成 的 的 。 到20 世 纪 90 年 代 , Matlab 已 成 为 国 际 控 制 界 的 标 准 计 算 软 件 。Matlab 的 基 本 数 据 单

42、位 是 矩 阵 , 它 的 指 令 表 达 式 与 数 学 、 工 程 中 常 用的 形 式 十 分 相 似 , 故 用 Matlab 来 解 算 问 题 要 比 用 C, FORTRAN 等 语 言完 成 相 同 的 事 情 简 捷 得 多 , 并 且 mathwork 也 吸 收 了 像 Maple 等 软 件 的 优点 ,使 Matlab 成 为 一 个 强 大 的 数 学 软 件 。Matlab 代码编写如下:tic;f=3 11 3 10 1 9 2 8 7 4 10 5;t=f;ff=reshape(t,3*4,1);19a=zeros(3,12);for j=0:2a(j+1,4

43、*j+1:4*(j+1)=1;endb=zeros(4,12);for t=1:4for p=0:2b(t,4*p+t)=1;endendAeq=a;b;Beq=7 4 9 3 6 5 6;lb=zeros(12,1);x,fval,exitflag,output,lambda=linprog(ff,Aeq,Beq,lb)x=round(x); % 对 x 取整.B=reshape(x,4,3); % 把 b 调为矩阵.Btoc;运行结果:图 3-10 调运方案图 3-11 总运费Elapsed time is 0.033213 seconds.时间消耗 0.033213 秒结果跟预想的一样总

44、运费 85 元,调运方案也是一样的。203.4 小结由上述对运输问题的求解过程和结果,可以得出以下结论:1、不论是用表上作业法求解,还是工具求解,其求解的结果是一样的,总运费都是 85 元,调运方案也是一样。2、在整个求解过程中,虽然表上作业法很简单,无需懂得电脑操作,不过在求解时从初始方案的确定到最优解的检验,最后进行调运方案的调整,这一过程消费大量时间,不像运用工具求解那样快捷。3、三个不同软件进行求解时,Excel 求解是不用进行代码编写的,无需考虑算法和函数,只需进行表格创建和参数设置,简单方便,直观易用。而 Lingo 和 Matlab 是要进行代码编写的,而且运用的代码算法和函数不

45、一样,相对于 Matlab,Lingo 的代码比较简单,运用到的函数就三个,不像Matlab,要考虑循环迭代问题。4、Excel、Lingo 和 Matlab 在求解过程中,Excel 不能进行运行时间的耗费和内存占用的测算,Lingo 在运行结果中直接的出,直观方便。而 Matlab则要用命令进行,而且通过命令 tic 和 toc 只能得出时间耗费,内存的占用要通过任务管理器才能测算出来,不过在进行上述案例求解时都是十分迅速的,总计都不到 1 秒,当然在这样一个简单的模型中其结果和速度是很难找出差别的,所以要采用一个更大规模,更复杂的模型再一一进行求解,找出差别。21第四章 大型运输问题案例

46、求解与运输问题的应用4.1 大型运输问题实例由于在上一章的例子中,数学模型较小,在用计算机求解时的结果没有可比性,所以根据需要,本文中自拟了一个广西某化肥厂产销案例,案例中设计了 14 个产地和 91 个销地,运价 c 主要依据两点之间的距离来确定,得出了运输模型见附表 1:对广西某化肥厂产销案例分别用三个软件采用上述方法进行求解,得出结果进行分析比较。运行的环境:系统:Microsoft Windows XP Professional内存:1Gb硬件内存:160G虚拟光驱:DAEMON Tools V3.474.1.1 大型运输问题的 Excel 求解方法步骤同第三章的一样,运行结果如下:图

47、 4-1 参数设计22图 4-2 运行结果运用同样的方法对案例进行求解,得出的结果是“可变单元格过多” ,如上图所示,说明该模型的规模对于 Excel 来说是过大的,处理不了。4.1.2 大型运输问题的 Lingo 求解根据数模编写代码:sets:wh/wh1wh91/:ai;vd/vd1vd14/:dj;links(wh,vd):c,x;endsetsdata:ai= !销量 dj=!产量 c=!运价! 由于数据较大,故省略.enddatamin=sum(links(i,j):c(i,j)*x(i,j);for(wh(i): sum(vd(j):x(i,j)=ai(i);for(vd(j):

48、 sum(wh(i):x(i,j)=dj(j);end运行结果:图4-3 总运费23图 4-4 调运方案24图 4-5 性能显示Lingo 在进行求解时是非常迅速的,整个过程运行的计算时间花费不到1 秒,计算机内存使用量是 282K,总迭代求解 395 次。模型运行结果得总运费:44764.40。4.1.3 大型运输问题的 Matlab 求解代码编写tic;f=; % 由于数据较大,故不显示.t=f;ff=reshape(t,91*14,1); a=zeros(91,1274);for j=0:90a(j+1,14*j+1:14*(j+1)=1;endb=zeros(14,1274);for t=1:14for p=0:90b(t,14*p+t)=1;endendAeq=a;b; Beq=; % 由于数据较大,故不显示 .lb=zeros(1274,1);x,fval,exitflag,output,lambda=linprog(ff,Aeq,Beq,lb)b=reshape(x,14,91);btoc;25运行结果:图 4-6 总运费图 4-7 调运方案Elapsed time is 0.157713 seconds.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报