蔬菜分配(数学建模)-蔬菜配送数学建模Word文档格式.doc
- 文档编号:13119332
- 上传时间:2022-10-05
- 格式:DOC
- 页数:27
- 大小:824.59KB
蔬菜分配(数学建模)-蔬菜配送数学建模Word文档格式.doc
《蔬菜分配(数学建模)-蔬菜配送数学建模Word文档格式.doc》由会员分享,可在线阅读,更多相关《蔬菜分配(数学建模)-蔬菜配送数学建模Word文档格式.doc(27页珍藏版)》请在冰豆网上搜索。
关于问题一:
为了实现蔬菜调运及预期的短缺损失为最小,我们建立了线性规划模型,用Froyd算法在MATLAB中编程,求出收购点至个菜市场的最短距离,并考虑每日各菜市场的需求量条件,用LINGO编程求得蔬菜调运及预期的短缺损失最小值为日均10280元。
关于问题二:
在模型一的基础增加各菜市场短缺量一律不超过需求量的20%的约束条件,用LINGO编程求得最少日均费用最少为10628元,并设计最优供应方案见正文。
关于问题三:
在模型一的基础上,条件改为供货充足、需求调运与短缺损失的费用最小值。
建立模型三时在模型一的基础上改变条件,并用LINGO编程求得日均最少费用为11200元,增产的蔬菜每天应分给C收购点7000Kg,分析过程见正文。
关键词:
蔬菜市场调配方案,Floyd算法,线性规划,MATLAB编程,LINGO
一、问题重述
江平市是一个人口不到20万人的小城市。
根据该市的蔬菜种植情况,分别在菜市场(A),城乡路口(B)和南街口(C)设三个收购点,再由各收购点分送到全市的8个菜市场,该市道路情况,各路段距离(单位:
100m)及各收购点,菜市场①到⑧的具体位置见图1。
图1:
蔬菜供应网点图
按常年情况,A、B、C三个收购点每天收购量分别为250,200和180(单位:
100kg),各菜市场的每天需求量及发生供应短缺时带来的损失(元/100kg)见表1。
设从收购点至各菜市场蔬菜调运费为2元/(100kg.100m).
表1:
各蔬菜市场需求量表
菜市场
每天需求(100kg)
短缺损失(元/100kg)
①
80
10
②
70
8
③
90
5
④
⑤
120
⑥
⑦
100
⑧
通过这次建模我们解决以下问题:
1.为该市设计一个从收购点至个菜市场的定点供应方案,使用于蔬菜调运及预期的短缺损失为最小;
2.若规定各菜市场短缺量一律不超过需求量的20%,重新设计定点供应方案;
3.为满足城市居民的蔬菜供应,该市的领导规划增加蔬菜种植面积,试问增产的蔬菜每天应分别向A、B、C三个采购点供应多少最经济合理。
二、问题分析
2.1问题一的分析
要使用于蔬菜调运及预期的短缺损失为最小,即总费用R最小,也就是指调运费用P与缺货损失Q之和最小。
首先考虑调运费用P,调运费用与距离与送货量成正比,因此考虑距离问题,我们须先求出A、B、C三个采购点至各个菜市场的最短距离。
采用Froyd算法,结合MATLAB编程实现最短距离计算,确定出最短路线。
其次考虑缺货造成的损失Q,以题中每天需求量为约束条件,将损失最低作为目标建立线性规划模型,用LINGO编程求解缺货损失最小值。
2.2问题二的分析
若按规定各菜市场短缺量一律不超过需求量的20%,也就是在模型一的基础上增加一个约束条件,即每个菜市场的供应量必须不低于需求量的80%。
则可得到满足条件要求的模型二。
2.3问题三的分析
本题的目标有二:
首先要满足每个菜市场的供货量要充足的条件;
其次要使得总费用最低。
所以我们在模型一的基础上增加了上述两个限制条件,即得到模型三。
使得在供货量充足的情况下日均费用最小化。
三、问题假设
1、各个路口以及蔬菜销售点都可以作为中转点。
2、假设蔬菜种植基地直达某个销售地点,即销售点之间没有卸货的情况。
3、假设运输的蔬菜路途中没有损耗,也无意外发生。
4、假设只考虑运输费用和短缺费用,不考虑装卸等其它费用。
5、假设各蔬菜种植基地供应蔬菜同质且单位运价相同。
6、假设新增产的蔬菜能够满足缺货量。
7、日需求量与缺货损失费用不变。
四、变量说明
从A到i(各个菜市场)的最短距离
从B到i(各个菜市场)的最短距离
从C到i(各个菜市场)的最短距离
从A到i(各个菜市场)的运货量
从B到i(各个菜市场)的运货量
从C到i(各个菜市场)的运货量
总调运费
短缺损失
总费用
五、模型建立
5.1问题一模型的建立
按照问题的分析,我们知道调运总费用P与调运距离和调运量乘积有关,也就是说总调运费用等于每阶段调运距离和调运量的累计。
首先就要求解各采购点到菜市场的最短距离。
在图论里面关于最短路径问题比较常用的是Dijkstra算法,Dijkstra算法提供了从网络图中某一点到其他点的最短距离。
主要特点是以起始点为中心向外层扩展,直到扩展到终点为止。
但由于它遍历计算的节点很多,所以效率较低,实际问题中往往要求网络中任意两点之间的最短路距离。
如果仍然采用Dijkstra算法对各点分别计算,就显得很麻烦。
所以就可以使用网络各点之间的矩阵计算法,即Floyd算法。
Floyd算法的基本思想是:
从任意节点i到任意节点j的最短路径不外乎两种可能,一种是直接从i到j,另一种是从i经过若干个节点k到j。
i到j的最短距离不外乎存在经过i与j之间的k和不经过k两种可能,所以可以令k=1,2,3,…,n(n是菜市场的数目),再检查d(i,j)与d(i,k)+d(k,j)的值,在此d(i,k)与d(k,j)分别是目前为止所知道的i到k与k到j的最短距离。
因此d(i,k)+d(k,j)就是i到j经过k的最短距离。
所以,若有d(i,j)>
d(i,k)+d(k,j),就表示从i出发经过k再到j的距离要比原来的i到j距离短,自然把i到j的d(i,j)重写为d(i,k)+d(k,j),每当一个k查完了,d(i,j)就是目前的i到j的最短距离。
重复这一过程,最后当查完所有的k时,d(i,j)里面存放的就是i到j之间的最短距离了。
5.2问题二模型的建立
各菜市场短缺量一律不超过需求量的20%,为满足这一条件,现对方案一进行调整。
只需在方案一中加一限制条件:
同理可用LINGO编程求出调运方案。
5.3问题三模型的建立
要足城市居民的蔬菜供应,增加蔬菜种植面积,则需要保证所有的菜市场都满足日需求量,且日均化费用要最小。
在问题一得基础上作出以下调整:
六、模型求解
6.1问题一模型的求解
由图1和表格1的信息,建立一个线性规划模型并经过Floyd算法,使得蔬菜调运及预期的短缺损失为最小。
调运总费用P为:
(1)
若使调运总费用最少,则应保证A、B、C三个收购点到8个菜市场的路程最短,最短路线的求解过程如图2:
图2:
最短路程求解过程图
分析上图可知,该路线为无向网络,就该图而言,网络弧集为:
E=[(v1,v2),(v1,v4),(v1,v5),(v2,v1),(v2,v3),(v2,v5),(v2,v6),(v3,v2),.(v3,v6),(v3,v8),(v3,v9),(v4,v1),(v4,v5).(v4,v7),(v4,v10),(v5,v1),(v5,v2),(v5,v4),(v5,v6),(v5,v7),(v5,v8),(v6,v2),(v6,v3),(v6,v5),(v6,v8),(v7,v4),(v7,v5),(v7,v8),(v7,v11),(v8,v3),(v8,v5),(v8,v6),(v8,v7),(v8,v9),(v8,v11),(v9,v3),(v9,v8),(v9,v11),(v9,v13),(v9,v15),(v10,v4),(v10,v11),(v10,v12),(v10,v14),(v11,v7),(v11,v8),(v11,v9)(v11,v10),(v11,v12),(v12,v10),(v12,v11),(v12,v13),(v12,v14),(v13,v9),(v13,v12),(v13,v14),(v14,v10),(v14,v12),(v14,v13),(v15,v9)]
下面来确定网络权矩阵:
W=
(2)
其中:
①当(,)属于E时,=,为弧(,)的权;
②当(,)不属于E时,=inf。
(inf为无穷大,n为网络结点个数)
③=0,i=1,2,3……n按上述规定,该网络的权矩阵为:
因为上述网络有15个结点,故网络的权矩阵均为15阶矩阵。
用Floyd算法求解图2中任意两个顶点的最短路径及其长度,名为Floyd.m的程序文件见附录程序1。
最终运行结果为:
D=
0714541081218121520242223
707128312814191319202419
14701613611711181218172316
512160613591571215211720
48136074814131117202219
103613709511161016172116
81211549041012713161815
128798540611511121611
18141115141110609396145
1219187131612119068151014
1513121211107536069118
2019181517161311986010514
2420172120171612
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 蔬菜 分配 数学 建模 配送