一种基于Dijkstra算法的货运信息处理方法及系统的制作方法

文档序号:10471582阅读:370来源:国知局
一种基于Dijkstra算法的货运信息处理方法及系统的制作方法
【专利摘要】本发明提供一种基于Dijkstra算法的货运信息处理方法及系统,该系统主要包括:数据获取模块,用于获取实际货运数据信息;模型构建模块,用于依据所述数据获取模块获取的数据信息,建立货运模型;所述货运模型是把途径数据中的地点设置为无向连通图中的结点,所述途径数据中的地点之间的途径表示成无向连通图中的边;分析模块,以及货运数据设置模块;所述货运数据设置模块进一步包含结点数据准备模块、边数据准备模块以及Dijkstra运算模块。本发明有效提高了对海量货运信息的优化处理效率,便于后续的货运计划指导及制定。
【专利说明】
一种基于D ijkst ra算法的货运信息处理方法及系统
技术领域
[000? ]本发明涉及海量数据的智能优化方法及系统,特别是指一种基于Di jkstra算法的货运数据处理方法及系统。
【背景技术】
[0002]目前,货运现状还处在粗放型发展阶段,返程车船的空驶运力还不能得到充分利用,客观资源实际浪费严重,一方面货运费用居高不下,另一方面运力资源浪费严重。现有货物配货站还停留在原始的司机找货和货找车的阶段;如何减少运输过程中的运力浪费和降低运输过程的成本,提高货运的效率,提高对实际货运资源的使用效率,就需要对车船的行驶路况等数据信息进行系统分析,根据货物运输的需要优化实际的货运数据及处理方式,本发明解决了给定起始地和目的地,从不同的运输方式和运输路径中,按照时间优先等限制要素,智能地计算和选择最佳货运数据设置方式的问题。
[0003]目前为止对Dijkstra算法、Johnson算法和Be I Iman-Ford算法大部分的应用还处于单纯研究算法本身,并没有现有技术将他们有机结合起来,共同应用于货物信息处理行业从而解决货运数据设置方式的技术问题,因此,本发明创新的对上述Di jkstra算法进行了深入研究,并基于大量数据模拟仿真及实地测试验证,成功地提出了基于上述算法的路径智能优化方法及系统,并有效解决了车船运行时的货运方式和货运路径配置的问题。

【发明内容】

[0004]本发明提供了一种基于Dijkstra算法的货运信息处理方法及系统,具体而言,本发明提供的技术方案如下。
[0005]首先,本发明提供了一种基于Dijkstra算法的货运信息处理系统,所述系统包括:
[0006]结点数据准备模块,用于获取两结点间的特定货运方式数据,所述结点为起始地和目的地,设起始结点为X,目的地结点为Y,
[0007]边数据准备模块,用于获取两结点间特定货运方式所需要的费用数据或者时间数据,包括从结点X到Y或者Y到X的特定货运方式所需要的时间数据和费用数据,两结点之间的成本要素为相应边数据的权值;不同的货运方式的联运需要的时间数据和费用数据是不同的;
[0008]最佳货运数据设置方式计算模块,首先根据获取的实际数据创建货运方式模型,然后采用Di jkstra算法将结点存到无向图G中,排除约束数据后获取到最佳货运数据设置方式。
[0009]优选的,所述最佳货运数据设置方式计算模块首先将所述结点数据和边数据表示为无向图G= (dt,pt),dt表示从起始结点为X到结点t的最短路径长度,Pt表示从起始结点为X到结点t的前一个结点,用带有权值的一个矩阵w表示含有N个结点的带权无向图,采用Di jkstra算法获得最优运输方式和路径。
[0010]此外,本发明还提供了一种基于Dijkstra算法的货运信息处理方法,所述方法包括如下步骤:
[0011](I)准备结点数据
[0012]结点是指途径数据中的地点,设起始结点为X,目的地结点为Y;结点数据是指描述所述结点的相关信息;
[0013](3)准备边数据
[0014]边数据是指两结点特定货运方式所需要的费用数据或者时间数据,包括从结点X至IJY或者Y到X的特定货运方式所需要的时间数据和费用数据,两结点之间的成本要素数据为相应边数据的权值;不同的货运方式的联运需要的时间数据和费用数据是不同的;
[0015](3)构建货运模型
[0016]根据实际货运数据,在算法中排除货运方式中可能的约束条件;
[0017](5)使用Di jkstra算法计算获取最佳货运数据设置方式
[0018]将所述结点数据和边数据表示为无向图G=(dt,Pt),dt表示从起始结点X到结点t的最短路径长度,Pt表示从起始结点X到结点t的前一个结点,用带有权值的一个矩阵w表示含有N个结点的带权无向图,采用Di jkstra算法获取最佳货运数据设置方式。
[0019]采用Dijkstra算法获取最佳货运数据设置方式的步骤为:
[0020]步骤1:初始化所述起始结点:
[0021 ] dx = O,px=⑴;对于其他的结点 i,i^t,di = <X,Vi> ,vie {pi,p2,...pj,...,P1-1},k代表标记的结点的集合;
[0022]步骤2:选择获取从所有已标记的结点k到其他直接连接的未标记的结点j的距离数据;并设置:使dj=min[dj,dk+w (k, j)],k = kU {vj},其中Vj是从起始结点X出发求出的一条最短路径上的终止结点数据,ω (k,j)表示从结点k到结点j的路径长度;
[0023]步骤3:修改起始结点X到其他结点中任一结点Vk之间的最短路径的长度值;如果dj+w( j,k)<dk,那么dk = dj+w( j,k);
[0024]步骤4:重复步骤2和3的操作N-1次,最终得到从起始结点X到其他结点的最短路径,按照顺序排列路径的长度w(X,j),j表示其他结点;
[0025]步骤5:根据所述步骤4的结果得到费用数据最小的路径设置方式:
[0026]costmin(k,v)=w(X, j)*up)],重复步骤4,直到计算出从所述起始结点到其他结点数据之间的最短路径costmin(X,V);其中up表示特定货运类型在数据IKM的距离并且相同环境下的平均消耗;
[0027]根据步骤4的结果得到时间数据最短的路径设置方式:
[0028]timemin(k,v)=w(X,j)/vel,重复该步骤直到可以计算出从所述货运起始地X到其他结点数据之间的时间数据最小的货运路径timemin(X,V);其中vel表示特定货运类型在具备同样的环境下的平均速度。
[0029]优选的,所述途径数据中的地点包括物流铁路货运场站、公路货运场站、配货点、配货站、车船主、物流园、物流公司、货代公司、港口码头;所述连接所述地点之间的途径包括公路、铁路、水路以及两者或两者之间的多式联运。
[0030]优选的,对实际数据中存在的货运路径方式使用Dijkstra算法求解并依据不同的约束数据筛选得到对应的最佳货运数据设置方式。
[0031]准备结点数据、准备边数据、根据实际数据构建货运模型以及采用Dijkstra算法求解最佳货运数据设置方式。该方法解决了在确定货物、起始地和目的地数据情况下,从不同的货运数据设置方式中,按照时间优先等广度优先的限制要素,智能地计算和处理货运信息,以最佳方式对货运信息进行设置的问题。
【附图说明】
[0032]图1为本发明计算最佳货运数据设置方式的流程图。
[0033]图2是本发明计算最佳货运数据设置方式的算法流程图。
[0034]图3是结点与运输代价示意图。
【具体实施方式】
[0035]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0036]本领域技术人员应当知晓,下述具体实施例或【具体实施方式】,是本发明为进一步解释具体的
【发明内容】
而列举的一系列优化的设置方式,而该些设置方式之间均是可以相互结合或者相互关联使用的,除非在本发明明确提出了其中某些或某一具体实施例或实施方式无法与其他的实施例或实施方式进行关联设置或共同使用。同时,下述的具体实施例或实施方式仅作为最优化的设置方式,而不作为限定本发明的保护范围的理解。
[0037]实施例1
[0038]根据图1所示,本发明提供了一种求解最佳货运数据设置方式方法,使用Dijkstra算法,该算法采用优先级数组,性能比较好,达到了 0(V2lgV+VL)的时间复杂度,在无负权回路图中是最快的,比较有代表性,具体主要从时间优先和费用优先两种条件下分析运输方式和路径的优化,其特征在于,优化方法步骤如下:
[0039](I)准备结点数据
[0040]结点是指铁路货运场站、公路货运场站和港口码头的统称,所述结点作为货运起始地和货运目的地,在一次运力运输中的起始地和目的地是确定的,则设所述起始结点为X,目的地结点为Y,
[0041 ]结点数据是指描述所述结点的相关信息,包括:
[0042]地理位置信息数据:每个所述结点的基本位置信息数据;
[0043 ]收费标准:经过所述结点的费用数据;
[0044]流量信息:通常经过所述结点需要的时间;
[0045](2)准备边数据
[0046]边数据是指两结点特定运输方式所需要的费用数据或者时间数据,反映的是具体的代价信息,包括从两结点X到Y或者Y到X的特定运输方式所需要的时间代价和费用代价,两结点之间的成本要素数据为相应边数据的权值;
[0047]每种运输方式的基本代价列举如下:
[0048]公路运输
[0049]费用代价主要包括:基本运输费用:如钢材大约为0.27元/吨/公里;装车费用:如钢材大约为10元/吨;卸货费用:如钢材大约为10元/吨
[0050]时间代价包括:基本的运输时间,装车时间,卸货时间,公路检测站的检测时间。[0051 ]铁路运输
[0052]费用代价包括:基本运输费用,钢材大约为0.16元/吨/公里;装车费用,钢材约为10元/吨;卸货费用,钢材约为10元/吨;火车场站使用费用。
[0053]时间代价包括:基本的运输时间,装车时间,卸货时间,列车的候车时间。
[0054]水路运输
[0055]费用代价主要包括:基本运输费用,其中海运和河运的代码区别较大,如钢材海运费用大约为0.03元/吨/公里,河运大约为0.1元/吨/公里。
[0056]港口的港杂费用:通常每个港口的收费标准不同,大港口在30元/吨左右,小河港在12元/吨左右。
[0057]时间代价主要为:基本的运输时间,装卸货时间,港口的等候时间和运河的候闸时间。
[0058]当涉及到多种运输方式联运时,还要涉及的代价有:
[0059]费用代价为:中转时的装卸费用,中转枢纽的场站使用费用,中转枢纽的基本收费。
[0060]时间代价为:中转时的装卸时间,中转时的等候时间。
[0061 ] (3)创建货运模型
[0062]所述运输方式包括公路运输、铁路运输和水路运输,所述成本要素数据为两结点数据间的物流运输过程所需要的费用数据和时间数据。
[0063]根据现实应用场景在算法中添加的可能约束条件为:
[0064]货物与运输方式的适配问题,有些货物因为尺寸、安全等因素仅能使用特定的方式运输;
[0065]运输工具的限制,包括车、船、火车的数量及运能问题;货运场站、港口码头的仓储能力、装卸能力等的限制;跨省、市的官方检查而消耗时间的问题;运输工具的调度因素,特定时间段内,运输工具的调度问题;船由海到河的转换问题,其费用和时间暂未计算;各地方运输政策的优惠问题;河运中大小货船的使用与转换问题;各河运价格的差异问题;各交通枢纽的流量控制问题;河运的候闸信息;火车运输的班次信息;货主能够得到的优惠信息;由于交通流量、天气等因素造成的交通管制等因素;
[0066](4)使用Di jkstra算法计算获取最佳货运数据设置方式
[0067]将所述结点数据和边数据表示为无向图6=((1*,?*),(^表示从货运起始结点为父到结点t的最短路径长度,pt表示从货运起始结点为X到结点t的前一个结点,用带有权值的一个矩阵w表示含有N个结点的带权无向图,求解从所述货运起始结点为X到结点t的最优运输方式和路径的过程为:
[0068]I)初始化出发点:
[0069]dx = O,px=⑴;对于其他的结点 i,i^t,di = <X,Vi> ,vie {pi,p2,...pj,...,P1-1},k代表标记的结点的集合;
[0070]2)选择测量从所有已标记的结点k到其他直接连接的未标记的结点j的距离,并设置:使dj=min[dj,dk+u (k, j)],k = kU {vj},其中Vj是从货运起始结点X出发求出的一条最短路径上的终止结点数据,ω (k,j)表示从结点k到结点j的路径长度;
[0071]3)修改货运起始结点为X到其他结点中任一结点Vk之间的最短路径的长度值,如果dj+w( j,k)<dk,那么dk = dj+w( j,k);
[0072]4)重复步骤2)和3)的操作N-1次,最终得到从货运起始结点X到其他结点的最短路径,按照顺序排列路径的长度w(X,j),j表示其他结点;
[0073]5)根据所述步骤4)的结果优化出费用优先的运输路径:
[0074]COStmin(k,v)=w(X, j)*Up)],重复该步骤直到计算出从所述货运起始地到其他结点数据之间的花费优先最优路径COStmin(X,V);
[0075]其中up表示某种货运车船型在运输IKM的距离并且同样的其他运输环境下的平均花费;
[0076]根据步骤4)的结果优化出时间优先的运输路径:
[0077]timemin(k,v)=w(X,j)/vel,重复该步骤直到可以计算出从所述货运起始地X到其他结点数据之间的时间优先最优路径timemin(X,V);其中vel表示某种货运车船型号在具备同样的其他运输环境下的平均速度。
[0078]物流铁路货运场站、公路货运场站、配货点、配货站、车船主、物流园、物流公司、货代公司、港口码头;所述连接所述地点之间的途径包括公路、铁路、水路以及两者或两者之间的多式联运。
[0079]在另一具体的实施方式中,可对现实应用场景中从实施例1的上述具体求解方法中得到的可能的运输方式,分别使用Di jkstra算法求解,并依据不同的约束条件进行筛选得到相应的最佳货运数据设置方式。
[0080]实施例2
[0081]本发明还提供了一种基于Dijkstra算法货运信息处理系统,主要包括结点数据准备模块、边数据准备模块和最佳货运数据设置方式计算模块;
[0082]结点数据准备模块用于准备铁路货运场站、公路货运场站和港口码头的相应数据,所述结点作为货运起始地和货运目的地,在一次运力运输中的起始地和目的地是确定的,则设所述货运起始结点为X,货运目的地结点为Y,
[0083]结点数据是指描述所述结点的相关信息,包括:
[0084]地理位置信息数据:所述每个结点的基本位置信息数据;收费标准:经过所述结点的基本费用;流量信息:通常经过所述结点需要的时间。
[0085]边数据准备模块用于准备边数据,所述边数据是指两结点特定运输方式所需要花费的费用或者时间的代价,包括从两结点X到Y或者Y到X的特定运输方式所需要花费的时间和费用代价,两节点之间的成本要素为相应边数据的权值;
[0086]每种所述运输方式的基本费用和时间代价为:
[0087]公路运输
[0088]费用代价主要包括:基本运输费用:如钢材大约为0.27元/吨/公里;装车费用:如钢材大约为10元/吨;卸货费用:如钢材大约为10元/吨
[0089]时间代价包括:基本的运输时间,装车时间,卸货时间,公路检测站的检测时间。
[0090]铁路运输
[0091]费用代价包括:基本运输费用,钢材大约为0.16元/吨/公里;装车费用,钢材约为10元/吨;卸货费用,钢材约为10元/吨;火车场站使用费用。
[0092]时间代价包括:基本的运输时间,装车时间,卸货时间,列车的候车时间。
[0093]水路运输
[0094]费用代价主要包括:基本运输费用,其中海运和河运的代码区别较大,如钢材海运费用大约为0.03元/吨/公里,河运大约为0.1元/吨/公里。
[0095]港口的港杂费用:通常每个港口的收费标准不同,大港口在30元/吨左右,小河港在12元/吨左右。
[0096]时间代价主要为:基本的运输时间,装卸货时间,港口的等候时间和运河的候闸时间。
[0097]当涉及到多种运输方式联运时,还要涉及的代价有:
[0098]费用代价为:中转时的装卸费用,中转枢纽的场站使用费用,中转枢纽的基本收费。
[0099]时间代价为:中转时的装卸时间,中转时的等候时间。
[0100]最优运输方式和路径计算模块首先创建物流运输方式模型,然后采用Dijkstra算法将结点存到无向图G中,排除约束条件后获取到最优运输方式和路径,主要步骤为:
[0101]将所述结点数据和边数据表示为无向图6=((1*,?*),(^表示从货运起始结点为乂到结点t的最短路径长度,Pt表示从货运起始结点为X到结点t的前一个结点,用带有权值的一个矩阵w表示含有N个结点的带权无向图,求解从所述货运起始结点为X到结点t的最优运输方式和路径的过程为:
[0102]I)初始化出发点:
[0103]dx = O,px=⑴;对于其他的结点 i,i^t,di = <X,Vi> ,vie {pi,p2,...pj,...,P1-1},k代表标记的结点的集合;
[0104]2)选择测量从所有已标记的结点k到其他直接连接的未标记的结点j的距离,并设置:使dj=min[dj,dk+u (k, j)],k = kU {vj},其中Vj是从货运起始结点X出发求出的一条最短路径上的终止结点数据,ω (k,j)表示从结点k到结点j的路径长度;
[0105]3)修改货运起始结点为X到其他结点中任一结点Vk之间的最短路径的长度值,如果dj+w( j,k)<dk,那么dk = dj+w( j,k);
[0106]4)重复步骤2)和3)的操作N-1次,最终得到从货运起始结点X到其他结点的最短路径,按照顺序排列路径的长度w(X,j),j表示其他结点;
[0107]5)根据所述步骤4)的结果优化出费用优先的运输路径:
[0108]costmin(k,v)=w(X, j)*up)],重复该步骤直到计算出从所述货运起始地到其他结点数据之间的花费优先最优路径COStmin(X,V);
[0109]其中up表示某种货运车船型在运输IKM的距离并且同样的其他运输环境下的平均花费;
[0110]根据步骤4)的结果优化出时间优先的运输路径:
[O111 ] timemin(k,v)=w(X,j)/vel,重复该步骤直到可以计算出从所述货运起始地X到其他结点数据之间的时间优先最优路径timemin(X,V);其中vel表示某种货运车船型号在具备同样的其他运输环境下的平均速度。
[0112]物流铁路货运场站、公路货运场站或者港口码头包括配货点、配货站、车船主、物流园、货主、物流公司、货代公司、港口码头。
[0113]现实应用场景中边数据准备模块需要添加的可能约束条件为:
[0114]货物与运输方式的适配问题,有些货物因为尺寸、安全等因素仅能使用特定的方式运输;运输工具的限制,包括车、船、火车的数量及运能问题;货运场站、港口码头的仓储能力、装卸能力等的限制;跨省、市的官方检查而消耗时间的问题;运输工具的调度因素,特定时间段内,运输工具的调度问题;船由海到河的转换问题,其费用和时间暂未计算;各地方运输政策的优惠问题;河运中大小货船的使用与转换问题;各河运价格的差异问题;各交通枢纽的流量控制问题;河运的候闸信息;火车运输的班次信息;货主能够得到的优惠信息;由于交通流量、天气等因素造成的交通管制等因素。
[0115]以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种基于Di jkstra算法的货运信息处理方法,其特征在于,所述方法包括: (1)准备结点数据 结点是指途径数据中的地点,设起始结点为X,目的地结点为Y;结点数据是指描述所述结点的相关信息; (2)准备边数据 边数据包括从两结点X到Y或者Y到X的特定货运方式所需要的时间数据和费用数据,两结点之间的成本要素数据为相应边数据的权值; (3)构建货运模型 根据实际货运数据,在算法中排除货运方式中可能的约束条件 (4)使用Dijkstra算法计算获取最佳货运数据设置方式 将所述结点数据和边数据表示为无向图G= (dt,Pt),dt表示从起始结点X到结点t的最短路径长度,Pt表示从起始结点X到结点t的前一个结点,用带有权值的一个矩阵w表示含有N个结点的带权无向图,采用Dijkstra算法获取最佳货运数据设置方式。2.根据权利要求1所述的方法,其特征在于,所述采用Dijkstra算法获取最佳货运数据设置方式的步骤为: 步骤I:初始化所述起始结点: dx = 0,px=oo ;对于其他的结点i,i关t,di = <X,Vi> ,ViE {PU2,...pj,...,p1-1},让代表标记的结点的集合; 步骤2:选择获取从所有已标记的结点k到其他直接连接的未标记的结点j的距离数据;并设置:使dj = min[dj,dk+ ω (k, j)],k = kU {vj},其中Vj是从起始结点X出发求出的最短路径上的终止结点数据,ω (k,j)表示从结点k到结点j的路径长度; 步骤3:修改起始结点为X到其他结点中任一结点Vk之间的最短路径的长度值;如果d j +w( j,k)<dk,那么dk = dj+w( j,k); 步骤4:重复步骤2和3的操作N-1次,最终得到从起始结点X到其他结点的最短路径,按照顺序排列路径的长度w(X,j),j表示其他结点; 步骤5:根据所述步骤4的结果得到费用数据最小的路径设置方式: COStmin(k,V) = W(X,j )*Up )],重复步骤4,直到计算出从所述起始结点到其他结点数据之间的最短路径C0St_(X,v);其中up表示特定货运类型在数据IKM的距离并且相同环境下的平均消耗; 根据步骤4的结果得到时间数据最短的路径设置方式: timemin(k,v) = w(X,j)/veI,重复该步骤直到可以计算出从所述起始结点X到其他结点数据之间的时间数据最小的路径timemin(X,V);其中vel表示特定货运类型在具备同样的环境下的平均速度。3.根据权利要求1所述的方法,其特征在于,所述途径数据中的地点包括物流铁路货运场站、公路货运场站、配货点、配货站、车船主、物流园、物流公司、货代公司、港口码头;所述连接所述地点之间的途径包括公路、铁路、水路以及两者或两者之间的多式联运。4.根据权利要求1所述的方法,其特征在于,对实际数据中存在的货运路径方式使用Dijkstra算法求解,并依据不同的约束数据筛选得到对应的最佳货运数据设置方式。5.—种基于Di jkstra算法的货运信息处理系统,其特征在于,所述系统包括: 结点数据准备模块,用于获取两结点间的特定货运方式数据,所述结点为起始地和目的地,设起始结点为X,目的地结点为Y, 边数据准备模块,用于获取两结点间特定货运方式所需要的费用数据或者时间数据,包括从结点X到Y或者Y到X的特定货运方式所需要的时间数据和费用数据,两结点之间的成本要素为相应边数据的权值;不同的货运方式的联运需要的时间数据和费用数据是不同的; 最佳货运数据设置方式计算模块,根据实际数据创建货运方式模型,然后采用Dijkstra算法将结点存到无向图G中,排除约束数据后获取到最佳货运数据设置方式。6.根据权利要求5所述的系统,其特征在于,所述最佳货运数据设置方式计算模块,首先将所述结点数据和边数据表示为无向图G = (dt,Pt),dt表示从起始结点X到结点t的最短路径长度,Pt表示从起始结点X到结点t的前一个结点,用带有权值的一个矩阵w表示含有N个结点的带权无向图,并采用Dijkstra算法获得最优运输方式和路径。
【文档编号】G06Q50/28GK105825296SQ201610141485
【公开日】2016年8月3日
【申请日】2016年3月11日
【发明人】施文进, 施作永, 阎九吉, 郁培昌
【申请人】惠龙易通国际物流股份有限公司, 镇江惠龙长江港务有限公司, 江苏惠银科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1