矩阵算法在物流配送管理系统中的应用

时间:2022-10-12 03:56:27

矩阵算法在物流配送管理系统中的应用

摘要: 本文针对物流配送中心运营过程中如何合理制定配送线路的问题,以邻接矩阵为基础,通过对邻接矩阵进行运算得到有向图的可达矩阵,并据此判断是否能够找到从源节点到目标节点的有向通路,最后完成最短路径的搜索。

Abstract: In this paper, for the problem how to develop reasonable distribution lines in the process of logistics and distribution center operations, based on adjacency matrix, by the computation of adjacency matrix to get graph reachability matrix and judge whether can find forward path from the source node to goal node, and finally complete the search of the shortest path.

关键词: 车辆路径问题;配送;物流;最短路径

Key words: vehicle routing problem;distribution;logistics;shortest path

中图分类号:TP39 文献标识码:A 文章编号:1006-4311(2013)10-0163-02

0 引言

目前我国的快递行业蓬勃发展,使得物流配送中心的业务量不断增加,业务的复杂程度也已不断提高,这都对物流配送中心的科学管理水平提出了新的要求,高效、合理、安全、快速的配送是物流系统顺利运行的保证,而配送线路安排是否合理也是配送速度、成本、效益的保证。正确、合理地安排配送线路,可以达到省时、省力,增加资源利用率,降低成本,提高经济效益的目的,从而使企业达到科学化的物流管理。

本文以邻接矩阵模型为基础,提出了一种新的最短路径算法,通过对邻接矩阵进行运算得到有向图的可达矩阵,并据此判断是否能够找到从源节点到目标节点的有向通路,最后完成最短路径的搜索。

1 有向图的可达矩阵

假设有一个n个节点(d1,d2……dn)建立的有向图,每条有向边上都有各自的权值,若节点di和dj之间有条有向边,则其权值表示为Wij。如果我们要求节点d1到节点dn的最短路径。那么首先应该建立基于该有向图的邻接矩阵M:Mij=0表示节点di和dj之间没有直接有向通路,若Mij=1表示节点di和dj之间存在直接有向通路。

那么矩阵M2中所有为1的元素的坐标所代表的就是通过一次“中转”可以达到贯通的节点对。以此类推M3中所有为1的元素的坐标就是通过两次 “中转”可以达到贯通的节点对;Mn所有为1的元素的坐标就是通过n-1次“中转”可以达到贯通的节点对。

所以我们可以得出:M1+M2+M3+……+Mn得到的矩阵T即为原有向图可达矩阵,Tij=0表示节点di和dj之间没有有向通路,若Tij=1表示节点di和dj之间存在至少存在一条有向通路。

对于大规模稀疏矩阵,由于存在大量的值为0的元素,若按常规意义来存储,既会占用大量的存储空间,又会给查找带来不便。所以只要存储值为非0的元素即可。这在计算机中很好实现,只要建立含有两个整数域的结构体变量即可。

2 路径搜索算法

2.1 初步设想 由矩阵乘法的性质可知,Mx=Mx-1*M。若M■■≠0,则说明节点d1通过x-1次“中转”可以到达节点dj。那其中这x-1个节点都是哪些?它们又是什么顺序呢?把这两个问题搞清楚我们就找到了一条从节点d1经x-1次“中转”到达节点dj的通路。

接下来我们观察矩阵Mx-1的第一行,若M■■≠0,且Mij≠0,则说明:节点d1存在经x-2次“中转”到达节点di的通路,且节点di和dj之间存在直接有向通路。这样我们就找到了节点d1到节点dj通路的最后一次“中转”di,即d1,……,di,dj是一条有向通路。我们可以根据此方法进一步再找到节点d1到节点到达di的最后一次“中转”,以此类推直至找到整个通路上的所有节点。

这在计算机中实现也很容易,只要把找节点di和dj之间的最后一次“中转”的方法编写好,采用计算机中的递归调用就能很好地解决这个问题,计算机会自己自动完成整个操作。

2.2 节点的选取 有一个问题我们需要注意:在我们观察矩阵Mx-1的第一行时可能有多个节点di,使得M■■≠0,且Mij≠0。基于我们是想找到有向图中的最短路径,所以每一次选取节点应该选择一个到节点dj最短的节点作为最后一次“中转”。这一过程是通过查看另一权值矩阵W,找到值最小的Wij来确定di的。

2.3 待查节点集 上面说到,我们找到了节点d1到节点dj的x-1次“中转”的最后一次“中转”di,即d1,……,di,dj是一条有向通路。根据此方法进一步再找到节点d1到节点到达di的最后一次“中转”,以此类推直至找到整个通路上的所有节点。

每一次查找之前,与待查节点有直接通路的节点都应加到考察的范围,同时上一次确定的最终通路上的节点也应从待查范围中删除,而加入最终通路的节点集中。

2.4 需要考虑的两种情况 按照上面方法是会找到一条从d1到节点dj的一条有向通路,但是一定是最短路径吗?我们先考虑两个情况:①如果在已经找到一条从d1到节点dj的有向通路的前提下,再重复以上过程再找一条从d1到节点dj的有向通路,那么有可能新找到的通路上的所有权值之和要比之前找到的通路上的权值之和小,在这种情况下,应放弃原来通路。记下新找到的通路把它作为“当前”的最短路径。②如果在查找的过程中,已经确定节点dy是在已找通路上的节点,即存在节点d1到节点dy的通路,也存在节点dy到节点dj的通路,并且dy是上一节点的最近邻接点。但在查找下一步节点d1到节点dy的通路的最后一次“中转”dz的过程中发现:所定通路上节点dy的上一节点通过其他方式到节点dz的长度要比经过节点dy中转到节点dz的长度要短,即通过dy相当于“绕路”。因为根据2.1中所阐述的方法找到的节点dz一定是待查节点中到节点dy路径长度最短的节点。若存在“绕路”现象,那么通过节点dy到其他的未差节点都会“绕路”。因而在这种情况下应该从已经确定的有向通路中把节点dy删除,恢复上一节点为当前节点,重新查找其除dy之外的最后一次“中转”。

2.5 搜索算法 首先根据实际情况建立有向图,并根据有向图建立有向图的邻接矩阵M,以及根据各有向边的权值建立矩阵W。然后根据矩阵乘法求出M2,M3,……Mn。这可以通过循环完成。之后的步骤就是设定待查节点,由于算法是从终点向起点查找的,所以应该先把与终点dj构成直接通路的节点作为待查节点。建立完待查节点集后,首先按照深度优先进行搜索,按照上面所说的递归算法查找第一条有向通路。然后以此条通路为基准,进行广度优先搜索,寻找新的通路,查找过程仍然是采用上述的递归算法,但是要考虑到2.4中的两种情况。需要指出的是:广度优先搜索过程可能是一个反复执行的过程,直至最终找到节点d1到节点dj的最短路径。

3 实例

某物流公司业务员要从v0到地点v2投递货物,路线如图1所示,业务员想在此过程走的路线最短,时间最快。他应该走哪条路线?

由上面有向图建立的邻接矩阵M以及有向边权值矩阵W如图2所示,由于M是一个稀疏矩阵,按照上面方法所述形成的节点数对(0,1),(0,3),(1,2),(3,2),(3,4),(4,1),(4,2)。按照矩阵乘法计算出M2、M3、M4、M5。由它们产生的节点对如下所示:M2(0,2),(0,4),(3,1),(3,2),(4,2);M3(0,1),(0,2),(3,2);M4(0,2)。我们据此可得到该有向图的可达矩阵T的节点对:(0,1),(0,2),(0,3),(0,4),(1,2),(3,1),(3,2),(3,4)(4,1),(4,2)。

现在我们求节点v0到v2的最短路径。查看矩阵T可知存在(0,2)的节点对,所以从V0可以到达V2。再按照上述规则以及结合矩阵W,找到M2存在(2,0)节点对,M中存在(1,2)和(0,1)节点对,即M■■= M12* M01, M■■、M12、 M01都不为0。所以找到一条通路即:v0、v1、v2,其路径长为19。

按照上述方法,我们还可以找到通路:v0、v3、v2和v0、v3、v4、v2,但是由于它们的路径长分别为19和20,不产生对通路v0、v1、v2的替换,所以在此不再详述。继续按着上述方法查找通路时会发现:M■■≠0,且存在M■■≠0,M12≠0,继续查找又会发现存在M■■≠0,M41≠0,进一步查找又会发现存在M03≠0,M34≠0,所以最终找到通路:v0、v3、v4、v1、v2,由于其路径长为18,所以按照上述原则对原通路v0、v1、v2进行替换,又由于已查找该有向图中所有通路,所以确定最短路径为v0、v3、v4、v1、v2,由于其路径长为18。

4 结论

本文针对物流配送系统中的投递等事务中路线优化的问题,提出了一种新的对最短路径算法的尝试,采用逆向标号,对待查节点进行优化选取,有效的利用了第一次计算的有用信息,避免重复计算,使得该算法搜索设计上要比以往算法节省时间,对于最短路径问题可以快速求解。虽然增加了邻接矩阵的乘法计算,但由于是稀疏矩阵,不会增加太多的计算量。本算法是具有实际意义的,可以在成本降低方面给出积极、高效的意见和解决方法,从而降低物流中的流通费用。

参考文献:

[1]肖位枢.图论及其算法.北京:航空工业出版社,1993.

[2]任亚飞,孙明贵,王俊.民营快递业的发展及其战略选择.北京:中国储运,2006.

[3]周石林,尹建平,冯豫华.基于邻接矩阵的最短路径算法.北京:软件导报,2010.

[4]蔡临宁.物流系统规划—建模实例分析.北京:机械工业出版社,2003.

上一篇:浅谈汽轮机DEH液压调速控制系统 下一篇:牡丹江医学院毕业生就业信息网的建设现状及对...