数学建模中优化模型之运输问题讲解
- 格式:ppt
- 大小:1.28 MB
- 文档页数:37
运输问题的数学模型例题运输问题是指在运输过程中,如何最优地分配资源,使得运输成本最小,运输效率最高。
运输问题的数学模型包括最小化成本、最大化效益等多种形式。
下面我们来看一个例题。
问题描述:某物流公司有3个仓库和4个客户,每个仓库和客户之间的距离已知。
现在需要将货物从仓库运送到客户,每个客户需要的货物量也已知。
假设每个仓库的货物量都足够满足所有客户的需求,如何安排运输方案,使得总运输成本最小?解题思路:我们可以用线性规划来解决这个问题。
设每个仓库和客户之间的运输量为$x_{ij}$,其中$i$表示仓库编号,$j$表示客户编号。
则总运输成本可以表示为:$$%min %sum_{i=1}^3%sum_{j=1}^4 c_{ij}x_{ij}$$其中$c_{ij}$表示从仓库$i$到客户$j$的单位运输成本。
同时,对于每个客户$j$,要求其所需货物量$q_j$必须满足:$$%sum_{i=1}^3 x_{ij}=q_j$$对于每个仓库$i$,要求其供应的货物量$y_i$必须满足:$$%sum_{j=1}^4 x_{ij}=y_i$$另外,由于$x_{ij}$必须非负,所以还要满足:$$x_{ij}%geq 0$$综上所述,我们可以得到如下线性规划模型:$$%min %sum_{i=1}^3%sum_{j=1}^4 c_{ij}x_{ij}$$$$s.t.% %sum_{i=1}^3 x_{ij}=q_j,% j=1,2,3,4$$$$% % % % % % % % % %sum_{j=1}^4 x_{ij}=y_i,% i=1,2,3$$ $$% % % % % % % % % x_{ij}%geq 0,% i=1,2,3,% j=1,2,3,4$$这是一个标准的线性规划模型,可以用常见的线性规划求解器求解。
求解结果就是每个仓库和客户之间的运输量$x_{ij}$,以及总运输成本。
总结:运输问题是一个常见的优化问题,在实际生产和物流中经常会遇到。
运输方案问题的优化模型摘要:本文研究运输最优化问题。
运输问题(Transportation Problem)是一个典型的线性规划问题。
一般的运输问题就是要解决把某种产品从若干个产地调运到若干个销地,在每个产地的供应量与每个销地的需求量已知,并知道各地之间的运输单价的前提下,如何确定一个使得总的运输费用最小的方案的问题。
本论文运用线性规划的数学模型来解决此运输问题中总费用最小的问题。
引入x变量作为决策变量,建立目标函数,列出约束条件,借助LINGO软件进行模型求解运算,得出其中的最优解,使得把某种产品从2个产地调运到3个客户的总费用最小。
关键词:LINGO软件运输模型最优化线性规划1问题重述与问题分析1、1 问题重述要把一种产品从产地运到客户处,发量、收量及产地到客户的运输费单价如表1所示。
表1 运输费用表客户1 客户2 客户3 发量产地1 10 4 12 3000 产地2 8 10 3 4000 需求量2000 1500 5000这是一个供求不平衡问题,产品缺少1500个单位,因此决定运输方案应按下列目标满足要求:第一目标,客户1为重要部门,需求量必须全部满足;第二目标,满足其他两个客户至少75%的需要量;第三目标,使运费尽量少;第四目标,从产地2到客户1的运量至少有1000个单位。
1、2 问题分析运输方案就是安排从两个产地向三个客户运送产品的最佳方案,目标是使运费最少。
而从题目来看产品的总量只有7000个单位,客户的需求量却有8500个单位,产品明显的缺了1500各单位,所以至少要按以下要求分配运输,首先客户1为重要部门,需求量必须全部满足,从产地2到客户1的运量至少有1000个单位,即至少向客户1发2000个单位,且从产地2向客户1发的要大于等于1000个单位;其次满足其他两个客户至少75%的需要量,即至少得向客户2发1125个单位,至少向客户3发3750个单位。
最佳的运输方案就是满足了要求中的发量,而让运输费用最少的方案。
运输问题摘要本文主要研究的是货物运输的最短路径问题,利用图论中的Floyd算法、Kruskal算法,以及整数规划的方法建立相关问题的模型,通过matlab,lingo 编程求解出最终结果。
关于问题一,是一个两客户间最短路程的问题,因此本文利用Floyd算法对其进行分析。
考虑到计算的方便性,首先,我们将两客户之间的距离输入到网络权矩阵中;然后,逐步分析出两客户间的最短距离;最后,利用Matlab软件对其进行编程求解,运行得到结果:2-3-8-9-10总路程为85公里。
关于问题二,运输公司分别要对10个客户供货,必须访问每个客户,实际上是一个旅行商问题。
首先,不考虑送货员返回提货点的情形,本文利用最小生成树问题中的Kruskal算法,结合题中所给的邻接矩阵,很快可以得到回路的最短路线:1-5-7-6-3-4-8-9-10-2;然后利用问题一的Floyd算法编程,能求得从客户2到客户1(提货点)的最短路线是:2-1,路程为50公里。
即最短路线为:1-5-7-6-3-4-8-9-10-2-1。
但考虑到最小生成树法局限于顶点数较少的情形,不宜进一步推广,因此本文建立以路程最短为目标函数的整数规划模型;最后,利用LINGO软件对其进行编程求解,求解出的回路与Kruskal算法求出的回路一致。
关于问题三,是在每个客户所需固定货物量的情况下,使得行程之和最短。
这样只要找出两条尽可能短的回路,并保证每条线路客户总需求量在50个单位以内即可。
因此我们在问题二模型的基础上进行改进,以货车容量为限定条件,建立相应的规划模型并设计一个简单的寻路算法,对于模型求解出来的结果,本文利用Kruskal算法结合题中所给的邻接矩阵进行优化。
得到优化结果为:第一辆车:1-5-2-3-4-8-9-1,第二辆车:1-7-6-9-10-1,总路程为280公里。
关于问题四,在问题一的基础上我们首先用Matlab软件编程确定提货点到每个客户点间的最短路线,然后结合一些限定条件建立一个目标模型,设计一个较好的解决方案进行求解可得到一种很理想的运输方案。
运筹学运输问题例题数学建模运筹学是一门研究如何在有限的资源和多种约束条件下,寻求最优或近似最优解的科学。
运输问题是运筹学中的一个重要分支,它主要研究如何把某种商品从若干个产地运至若干个销地,使总的运费或总的运输时间最小。
本文将介绍运输问题的数学建模方法,以及用表上作业法求解运输问题的步骤和技巧。
同时,本文还将给出几个典型的运输问题的例题,帮助读者理解和掌握运输问题的求解过程。
运输问题的数学建模运输问题可以用以下的数学模型来描述:设有m 个产地(或供应地),分别记为A 1,A 2,…,A m ,每个产地i 的产量(或供应量)为a i ;有n 个销地(或需求地),分别记为B 1,B 2,…,B n ,每个销地j 的需求量为b j ;从产地i 到销地j 的单位运费(或单位运输时间)为c ij ;用x ij 表示从产地i 到销地j 的运量,则运输问题可以归结为以下的线性规划问题:其中,目标函数表示总的运费或总的运输时间,约束条件表示每个产地的供应量必须等于其产量,每个销地的需求量必须等于其销量,以及每条运输路线的运量不能为负数。
在实际问题中,可能出现以下几种情况:产销平衡:即∑m i =1a i =∑n j =1b j ,也就是说总的供应量等于总的需求量。
这种情况下,上述数学模型可以直接应用。
产大于销:即∑m i =1a i >∑n j =1b j ,也就是说总的供应量大于总的需求量。
这种情况下,可以增加一个虚拟的销地,其需求量等于供需差额,且其与各个产地的单位运费为零。
这样就可以把问题转化为一个产销平衡的问题。
产小于销:即∑m i =1a i <∑n j =1b j ,也就是说总的供应量小于总的需求量。
这种情况下,可以增加一个虚拟的产地,其产量等于供需差额,且其与各个销地的单位运费为零。
这样也可以把问题转化为一个产销平衡的问题。
弹性需求:即某些销地对商品的需求量不是固定不变的,而是随着商品价格或其他因素而变化。