西工大数学建模竞赛A题 二等奖论文.docx
- 文档编号:7385899
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:16
- 大小:690.83KB
西工大数学建模竞赛A题 二等奖论文.docx
《西工大数学建模竞赛A题 二等奖论文.docx》由会员分享,可在线阅读,更多相关《西工大数学建模竞赛A题 二等奖论文.docx(16页珍藏版)》请在冰豆网上搜索。
西工大数学建模竞赛A题二等奖论文
一、问题重述:
全球化竞争的加剧促使越来越多的企业开始采用供应链管理策略,以实现企业的一体化管理。
供应链是一个复杂的网状结构系统,每一部分都面临着各种潜在的风险,任何一部分出现问题都可能给整个供应链带来严重的影响,因此如何分析、评价和提高供应链系统的可靠性变得日益迫切。
设施系统是供应链的核心,在供应链研究中有着极其重要的地位。
在一个设施系统中,某些个设施由于自然灾害或者其他因素的影响可能失效,例如911恐怖袭击事件、2004年的印度洋海啸、2008年的汶川地震等都对诸多行业的设施系统造成了严重的破坏。
现有某物流公司要在全国各城市之间建立供应链网络。
需要选定部分城市作为供应点,将货物运输到各城市。
通常每个供应点的货物是充足的,可以充分满足相应城市的需求。
设该公司考虑共考虑49个城市的网络,城市的坐标见表1。
城市之间的道路连接关系见表2。
在每个城市建立配送中心的固定费用和需求量表3,并假定作为供应点的城市其供应量可以满足有需要的城市的需求。
现将要建立一个供应网络,为各城市提供货物供应。
货物运输利用汽车进行公路运输。
设每吨每公里运输费用为0.5元。
现提出如下问题:
1.现在要从49个城市中选取部分城市做为供给点供应本城市及其它城市。
建立供给点会花费固定费用,从供应点运输到需求点会产生运输费用,要使总费用最小,问建立多少个供应点最好。
给出选中作为供应点的城市,并给出每个供应点供应的城市。
同时根据坐标作出每一个供应点到需求点的连接图。
2.假定有某组织对该供应网络的道路进行破坏。
并非所有的道路都可以被破坏,可破坏的道路见表4。
当某条道路被破坏后,该条道路就不能再被使用,以前运输经过该道路的只有改道,但总是沿最短路运输。
如果破坏方选取的策略是使对方总费用增加25%,而每破坏一条道路都需要成本和代价,因此需要破坏最少的道路。
问破坏方选取哪几条线路进行破坏。
给出具体的破坏道路和总费用。
3.假定各道路能否被破坏具有随机性,当某条道路被破坏后,该条道路就不能再被使用,以前运输经过该道路的只有改道,但总是沿最短路运输。
由于破坏方选取一些边进行破坏时,这些边不一定被破坏,而是服从一定的概率分布。
设可破坏的边及各边破坏的概率见表4。
运输时产生的费用可按照各种情况下的平均费用来考虑。
如果破坏方选取的策略是使对方平均总费用至少增加100%,同样需要破坏最少的道路。
问破坏方将选取哪几条线路进行破坏。
给出具体的破坏道路和平均总费用。
二、问题的基本假设与说明:
2.1.假设题目所给的数据真实可靠
2.2.假设所有城市之间均可以通过公路交通进行物资运输
2.3.假设各个城市之间的直线距离即它们之间的公路长度,仅将城市的坐标作图使用
2.4.假设问题2中对任意道路破坏的成功率为百分之百
2.5.假设破坏方是一个实际的组织,会从现实的角度考虑破坏计划的实施
2.6.假设在运输网络建设期间和某组织破坏期间不会遭遇地震,海啸等自然灾害的影响
2.7.假设在运输过程中不出现交通事故等影响运输的其他人为因素
三、符号说明:
3.1.
——目标函数,即为总费用
3.2.
——用最优方案给i点运输的运费
3.3.
——第i个城市点建站的01变量
3.4.
——第i个城市的需求量
3.5.
——城市i的建站费用
3.6.
——i点到j点的最短公路长度
3.7.
——i点到建站点的最短公路长度(当
=1时,
=0)
四、模型的建立与求解:
4.1.问题1:
4.1.1模型建立:
通过对问题的分析与数据的整理,可以根据Floyd算法求出任意两个城市之间的最短公路长度,得到一个49×49的矩阵D。
(1)Floyd算法的基本思想是:
递推产生一个矩阵序列A0,A1,A2,……Ak,……,An,其中表示从顶点到顶点的路径经过的顶点序号不大于k的最短路径长度。
计算用的迭代公式:
(i,j)=min((i,j),(i,k)+(k,j))其中,k表示迭代次数,i,j,k∈{1,2,3„,n}得出i区到j区的最短距离矩阵D,当k=n时,即是各项之间的最短距离。
每个数字的列标就表示两个城市,而数字本身就表示这两个城市之间的最短公路长度,如:
D(i,j)=a
即表示i城市与j城市之间的最短运输长度为a,而
D(i,j)=D(j,i)
即该矩阵本身是一个对称矩阵,且D(a,a)=0.
求出最短公路长度的矩阵之后,就可以进一步解决设置供给点的问题。
根据题意,原本来说从49个城市中选取n个作为供给点,一共是有
种方案,但是由于某些城市的建站费用过高,不适合建立供给点,通过剔除,由成本出发考虑,一共有28个城市可以作为供给点,也就表明其中21个无法建站的城市的Pi值恒为0。
假设从这28个城市中选取n个作为供给点,则表明
。
在任意城市之间每吨每公里运输费恒定为0.5元的情况下,要使得运输费用降低,就是要选取最短的运输路线,因此对i点而言,最短的运输路程应该为Mi=min
(j为所有可建立供给站的城市编号),当
=0时,表明不在j点建站,此时
为无穷大,即Mi必然不会取该值,也就是说只会比较i点与真正建立供给点的城市之间的最短运输路线长度,当Pi=1时,即表示在i点本身建站,那么很显然最短的运输路线长度为0.据此,可以进一步求出满足i点需求的最省运费:
Xi=Mi×Qi×0.5,同时可以得到i点的建站费用为:
,于是可以求出我们的目标函数,即总费用
要求使目标函数
取最小值的最优解。
(2)目标函数为单谷函数的判定:
但随着n值的增大,此时虽然在计算机编程上理论上可行,但是计算量明显增多,此时我们可以再次建立一个受益点函数
表示在已经建立了n个供应点的基础上再增加建立一个供应点,会因为这个增加的供应点而缩短运输路线的城市的个数。
虽然这不是一个严格的线性关系函数,但是我们显而易见地看出,在n是一个很小的值时,每增加一个供给点,将会使整个供给网络发生巨大的改变,由此使得很多的城市的运输方案因此受益,而当n值逐渐增大,并且趋于饱和时,再每增加一个供给点能够受益的城市将会非常有限,所以受益点函数
的整体趋势是一个减函数。
总费用Bn一共分为运输费用和建站费用两个部分,通过表2的各城市的公路短程以及表3的各城市需求量以及建站费用我们可以由数量级大题看出,供给点到目标城市的运输费用的数量级大约为
0.5×103×103=0.5×106
而一个城市的建站费用的数量级为x×106,且x普遍为大于1的数,由此可以看出当受益点足够多时,增加一个供给点带来的运输费用的减少可以填补投入的建站费用,而由于受益点函数
是一个减函数,且每个城市的建站费用是固定不变的,所以当供给点n足够多时,增加供给点带来的运输费用上的受益将会远远小于建站的费用,这说明了,目标函数总费用Bn应当是一个只有一个波谷的单谷函数,而这一波谷所对应的n值,正是对应问题1的最优解的应该建立供应点的个数。
因此我们只需要找出Bn+1>Bn,即可得到最优解n的个数。
(3)引入步长优化运算:
为了减少运算的复杂度,我们可以从n=1开始取起,以h为步长,并在找到
之后在[a-h+1,a+h-1]的区间内缩短步长继续运算,如此往复,直到求使
的最优解n的值
4.1.2模型求解:
由题目给出的各城市之间的公路里程表以及假设1、2、3运用Floyd算法(参见附录1),可以求出49个城市中任意两个城市之间的最短公路长度,从而得到一个49×49的矩阵(见附录2),再利用matlab做出所有的最短路径的连接图见下图:
通过编写的C++程序(参见附录3)可以计算出,当
n=1时,B1=18,397,300;
以步长为3,再取
n=4时,B4=10,596,800;
B4-B1<0,再取
n=7时,B7=9,221,440;
B7-B4<0,再取
n=10时,B10=9,292,460
B10-B7>0,依照模型得出结论:
最优解在[5,9]内,遂按步长为1逐个计算得出的结果见下表:
n
5
6
7
8
9
9,968,900
9,517,820
9,221,440
9,197,210
9,226,810
因此当n=8时,为使总费用Bn取得最小值9.19721×10^6的最优解。
其中建站费用为2.824008×10^6元,总运输费用为6.373202×10^6元。
这8个城市的序号、名称以及负责供给的城市见附页。
在matlab中根据坐标作出每一个供应点到需求点的连接图如下:
4.2问题2:
4.2.1模型建立:
根据表4在原图中标记处所有可破坏的道路如下图所示:
(1)建立道路价值函数:
从策划破坏道路的组织的角度来看,由于假设2.4的存在,加之要通过破坏最少的道路来减少风险,理应对每一条道路的价值进行评估,并在行动过程中选取价值最高的道路进行破坏,以最快地达到增加对方总费用的目标。
道路的价值具体表现在如果失去该道路,那么由此增加出来的费用高低,为此我们建立这9条道路的价值函数
其中
为去掉编号为k的道路以后,重新使用Floyd算法求出新的供给网络上任意两个城市之间的最短公路长度,得到一个49×49的矩阵
,从而计算出的新的供给图的总运输费用,而
代表问题1中求出的最优方案的运输费用,即
为定值6.373202×10^6
的值越大,这条道路的价值就越高,从而就会越优先地列在恐怖组织的攻击列表中。
(2)问题2的模型建立:
结合道路的价值函数,我们可以通过删除该条道路的数据和调用Floyd算法来依次计算出这9条道路的价值,并将他们从小到大进行排列,从而得到恐怖组织对这9条道路的优先攻击级别。
由于问题2和问题1的建站方案完全一致,表明建站费用保持不变,因此在计算总费用的增加量时,我们只需要计算出破坏道路以后总运费的增加量即可。
建立破坏n条道路后增加的总运费函数
其中C为定值6.373202×10^6,表示问题1中求出的总运输费用,
表示在破坏选取的n条道路(其中n的值是将这9条道路的价值从高到低排列的顺序后,从第一条道路开始取起的道路条数的值)后在新的运输网络中使用Floyd算法建立新的最短运输路径矩阵后求出的新的总运输费用。
最后得到目标函数,也就是总费用的增加量
×100%
n依次取1,2,……,9,最终使得
25%成立的最小的n的值即为目标函数的最优解,从而得出该问题的最终答案即为破坏价值度最高的前n条道路。
而具体的总费用为
其中P为问题1中的总建站费用,为2.824008×10^6。
4.2.2模型求解:
(1)问题的发现:
在求解过程中我们发现了一个问题,表4中的8号道路一旦遭到破坏,那么第49号城市将无法再通过任何道路得到所需要的供给,要使得49号城市能够有充分的物资,就必须要在该城市就地建立共给点,然而49号城市的建站费用为1000000000,也就是说无法建立供给点,这样的话,从恐怖组织的角度考虑,一旦破坏了表4中的8号公路,将会对对方的供给网络造成的损失为无穷大,亦即秩序破坏这一条道路就可以达到目标,完成问题2中的要求。
而这种情况显然没有任何的数学讨论意义,也绝非是出题人的本意,那么我们在正常探讨问题2的过程中,就选择忽略掉表4中的道路8,就其他的8条可破坏道路进行讨论。
(2)问题2的求解:
对于其他8条可以破坏的道路,我们使用价值函数分别计算编号为1,2,3,4,5,6,7,9的道路的价值度,通过再次调用Floyd算法以及并在DevC++中运行(程序见附录4)计算出结果,将他们从高到低进行排列,结果见下表:
道路编号
价值度Hk
2
7454278.0
5
6754734.5
7
6587759.5
4
6571646.5
1
6464417.5
9
6450124.5
3
6408296.5
6
6373109.5
根据该价值度的降序排列表格,依次取n的值代入目标函数中进行计算,直到满足题目的条件,在DevC++中运行(程序见附录5),具体的代入和计算结果见下表:
n
破坏的道路编号
目标函数
1
2
0.3816%
2
2,5
0.3816%
3
2,5,7
1.2190%
4
2,5,7,4
7.4595%
5
2,5,7,4,1
19.2149
6
2,5,7,4,1,9
25.8848%
当进行到第6次计算时,代入n=6计算出的结果为
=25.8848%
25%
将n=6代入求得
=11577889.4
求得满足题意的最佳破坏方案为破坏6条道路(8号道路不计入讨论),其编号为1,2,4,5,7,9。
破坏道路后的总费用
为1.15778894×10^7元。
这种情况下新的运输网络供给图用matlab制作如下所示:
4.3问题3:
4.3.1模型建立:
(1)对“平均总费用”的第一种理解:
首先,同问题2中的分析,道路8被破坏后造成的损失是难以估量的,因此我们在此问题的讨论中依旧先将其放置在一遍,就剩下的8条道路进行讨论。
我们可以将问题3模拟成恐怖组织在商讨具体的破坏方案,确定最优的具体计划破坏的道路数和具体的道路编号,由于任何一条道路在破坏方实施轰炸以后是否会被真的破坏是一个相互的独立事件。
以此图作为参考,当计划确定对某一条公路实施破坏时,会有Z、T两种情况,
而最终破坏该条公路产生的运输费用为两种情况的期望之和,当选择破坏某两条公路时,该二叉树继续衍生,产生出4个终端分支M,Y,R,J,因为破坏两条道路成功后会产生的总运输费用必然大于破坏一条道路成功时的总运输费用,而因为它们是相互独立事件,所以成功与否的结果互相不会产生影响,也就是说M+Y的概率即为Z的概率,R+J的概率即为T的概率,但是M+Y+R+T的总费用的值必然大于2倍的Z+T的总费用值,于是计划破坏两条道路的总运输费用的期望值必然大于计划破坏一条道路的总运输费用的期望值,以此类推,二叉树继续繁衍,均满足这一情况。
因此很显然,实施破坏的道路数目越多,理论上给对方增加的费用也就会越多,根据繁衍树来看,破坏n条道路会有2n种情况产生,而最终该方案的总费用是按照各种情况下的平均费用来考虑的,因此我们可以列出破坏n条道路产生的运输费用的计算公式为:
其中
表示第k种情况所对应产生的运输费用,
代表第k种情况会发生的概率。
目标函数平均总费用的计算公式为:
P为问题1中的建站费用,是一个定值。
因此只有
的值会影响
的值。
那么根据此公式以及之前的分析来看,只要尽可能地破坏更多的道路,就可以使
的值更大,因此在不计实施方成本以及效率的情况下,破坏所有能够破坏的道路将是使对方的平均总费用增加最大的最佳方案,换言之,通过理论分析,我们得出的最佳破坏方案应该是破坏所有的道路,用繁衍算法可以计算出破坏8条道路的最终值:
(2)对“平均总费用”的第二种理解:
理论上来看,这应该就是最佳方案的平均总费用,而破坏的道路为所有道路。
但是如果从实际出发,破坏方不可能无消耗、不计效率地随意破坏,仅仅通过增加破坏道路数来增加最终的成果,那么我们对平均总费用一词可以重新进行定义,那就是破坏方拟定的破坏计划中,平均破坏每一条道路会给对方造成的费用增加最大,换而言之,也就是要使平均破坏每一条道路造成的期望花费增加最大,据此理论重新拟定目标函数:
可以进一步化为
C为问题1中求出的最佳方案的总运输费用
那么我们可以根据问题2中所建立的每条道路的价值函数结合破坏每条道路的成功概率来求出它们各自的期望,我们称这个函数为新价值函数,计算的公式为:
为问题2中所建立的每条道路的价值函数的具体值,
为破坏这条道路成功的概率,
根据8条道路的新价值度,我们可以很显然地得到,破坏新价值度最高的一条道路可以使平均总费用增加量最大,由此得出最优解。
4.3.2模型求解:
(1)第一种理解方式的求解:
用繁衍算法计算出破坏8条道路的最终值(具体代码见附录6)在DevC++中运行计算的结果为:
这是作为不考虑破坏方投入以及破坏效率的最优解。
接下来我们对重新定义的目标函数求取最优解
(2)第二种理解方式的求解:
根据问题2中的价值函数的具体求值表格可以进一步算出每条道路的新价值函数的具体值,在DevC++中(具体代码见附录7)的计算结果见下表:
编号
新价值度
2
6065197.0
1
5008253.7
9
4999677.9
5
4985907.57
7
4705883.75
4
4697827.25
3
4436937.825
6
4243648.6
根据计算结果我们可以得知,第2条道路的新价值函数值最高,则说明破坏第2条道路带来的平均效率最高,即值选取2号路一条路破坏,计算结果为
(3)问题3的求解综述:
所以,当我们定义平均总费用增加仅仅为考虑了破坏成功概率之后使对方增加的总费用时,得出的最优解为破坏所有9条道路(其中第号公路不参与计算),平均总费用为1.06063×10^7元;
当我们定义平均总费用为考虑了破坏成功概率之后的期望对应在每一条破坏道路上增加的费用的平均值(即破坏效率)时,得出的最优解为只破坏一条道路,为第2条公路,平均总费用为2.456615×10^4元。
五、模型的优缺点评价:
5.1.优点:
1、模型具有原创性;
2、模型在搜索算法的基础上进行了很大程度的优化,使得模型结构简单,而且便于计算,当数据量很大时,此优势将更加突出;
3、建立模型的过程中紧密联系实际,结合实际情况对问题进行求解,使得模型具有很好的通用性和推广性;
4、模型的计算采用专业的数学软件,可信度较高;
5.2.缺点:
1、模型的假设条件设置略显简单
2、对于模型的部分细节证明还不够严谨
3、在解决问题的过程中,编程的比重相对于建立模型的比重显得偏大
4、由于是第一次参赛,模型的建立上还不够成熟和专业
5、在问题1的求解过程中,即使是进行了优化,当n值过大时,求解时间还是会有显著增加
6、对于模型一的单值性问题,我们只做了定性的分析。
如果能根据已知条件建立插值函数来说明,会更有说服力。
六、模型的优化与推广:
本模型可分为:
区间求解模型;供应站建立模型;影响度模型;优先选择模型。
区间求解模型的思想是单值类问题缩小区间求解法,通过逐步缩小最优解的区间来结合实际情况来逼近最优解,可用于求解单峰函数最优解一类的问题。
供应站建立模型即问题一的求解模型,用于解决多连通图中最优供求问题。
影响度模型是在解决实际问题是对某个条件建立一个影响度函数,考虑问题是优先考虑影响速度最大的一个。
优先选择模型一般和影响度模型一起建立,在影响度模型建立好的情况下,对目标函数的求解释时从影响度最大的因素开始考虑,逐一往下选取,直至达到目标函数的要求为止。
对于有多个影响因素的目标函数,可建立多个影响因素来考虑。
整个模型与实际结合紧密,例如对于模型二。
我们从破坏者的角度,考虑炸路的价值问题,优先炸价值比较高的路。
模型具有完备性和通用性,实用价值比较高,可推广到一类问题的求解。
七、参考文献:
王海英,图论算法及其MATLAB实现:
北京:
北京航空航天大学出版社,2010
陈恩水,王峰,朱道元.数学建模与实验.北京:
科学出版社,2008
熊启才,张东升.数学模型方法及应用.重庆:
重庆大学出版社,2005
附页:
建站城市编号
建站城市名称
供给城市编号
供给城市名称
4
太原
1
北京
2
天津
3
石家庄
5
呼市
15
济南
16
郑州
27
西安
46
延安
47
包头
7
长春
6
沈阳
8
哈尔滨
39
大连
40
通辽
41
白城
42
海拉尔
11
杭州
9
上海
10
南京
12
合肥
13
福州
32
台北
36
厦门
37
宁波
38
青岛
43
徐州
20
南宁
19
广州
21
海口
24
贵阳
25
昆明
33
香港
34
澳门
35
深圳
48
柳州
49
三亚
23
成都
22
重庆
28
兰州
29
西宁
30
银川
31
乌市
45
宜昌
14
南昌
17
武汉
18
长沙
44
南阳
26
拉萨
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西工大数学建模竞赛A题 二等奖论文 大数 建模 竞赛 二等奖 论文