基于图论的多目标物流调度方法和系统的制作方法_2

文档序号:9929976阅读:来源:国知局
[0033]具体的,获取物流需求信息和用户对物流需求的约束条件后,首先根据物流需求信息在物流路径图中找到满足该物流需求信息的所有物流路径,然后再从满足该物流需求信息的所有物流路径中找到满足上述约束条件的物流路径,当满足上述物流需求信息和约束条件的物流路径只有一条时,将该物流路径作为匹配的路径;当满足上述物流需求信息和约束条件的物流路径有多条时,采用最短路径算法,找出最短路径,将最短路径作为匹配的路径。
[0034]步骤108,将物流路径对应的物流资源调度给对应的物流需求。
[0035]具体的,确定与物流需求信息和约束条件匹配的物流路径后,将该物流路径对应的物流资源调度给对应的物流需求信息所属的公司,这里的物流资源和物流需求可以属于同一个公司,也可以属于不同的公司。
[0036]在本实施例中,上述物流调度方法通过获取物流资源信息,根据所述物流资源信息建立物流路径图;获取物流需求信息和用户对所述物流需求信息的约束条件;在所述物流路径图中确定与所述物流需求信息和所述约束条件匹配的物流路径;将所述物流路径对应的物流资源调度给对应的物流需求。这样通过建立物流路径图,从物流路径图中确定与物流需求信息和约束条件匹配的物流路径,将该物流路径对应的物流资源调度给对应的物流需求,该物流调度方法不仅可以满足物流需求还可以满足用户对物流需求的约束条件,克服了传统物流调度的单一性,同时极大的提高了不同物流公司的物流资源的协同程度,提高了物流资源利用率。
[0037]如图2所示,在一个实施例中,在物流路径图中确定与物流需求信息和约束条件匹配的物流路径的步骤包括:
[0038]步骤106a,在物流路径图中获取符合物流需求信息的所有物流路径,加入第一路径集合。
[0039]具体的,物流需求的第一路径集合在未加入物流路径图中符合该物流需求信息的所有路径之前为空。对每一个物流需求信息,在物流路径图中求出符合该物流需求信息的所有路径,将符合物流需求信息的所有路径加入第一路径集合,具体过程包括:使用图论中的最短路径算法,将求解过程中满足从该物流需求中的出发地到该物流需求的目的地且符合该物流需求的所有路径加入这个物流需求的第一路径集合。图论中的最短路径算法包括Di jkStra算法、A*算法、SPFA算法、Be I Iman-Ford算法、Floyd-Warshal I 算法、Johnson算法;符合该物流需求的物流路径具体是指路径中的路段属性中的路段的起点Startpoint、路段的终点Endpoint组合成的路径的起点和终点分别与该物流需求出发地Startpoint、该物流需求目的地Endpoint—致,路径中的路段的属性中的该路段的物流任务类型、该路段所能承担的任务类型的量分别与该物流需求的类型、该物流需求的量一致。
[°04°]具体的,采用Di jkStra算法计算符合物流需求的所有物流路径的过程为:
[0041]对每一个物流需求,从点u到点V的边数可以为一条或多条,首先删除从点u到点V之间不符合该个物流需求的边,剩下符合该个物流需求的边,譬如U(C1)V]、U(C2)V,W[U,V]取从点u到V之间权值最小的边的权值,将该权值最小的边记为c[u,V],譬如Cl的权值小于c2的权值,c[U,V] =cl;在有向图中,从点u到点V的权值最小的边的权值记为w[u, V],从点V到点u的权值最小的边的权值记为w [ V,u ];
[0042]设s为源,结果保存在dist□,其中s为该物流需求出发地Startpoint ;t为目的地Endpoint,dist[t]为从该物流需求的出发地Startpoint到该物流需求的目的地Endpoint的路径长度,即从该物流需求的出发地Startpoint到该物流需求的目的地Endpoint的路径上所有路段的权值之和;
[0043]初始化:源的距离dist[s]设为0,其他的点距离设为无穷大,同时把所有的点的状态设为没有扩展过;
[0044]循环n-1 次:
[0045]在没有扩展过的点中取一距离最小的点u,并将其状态设为已扩展;对于每个与u相邻的点^,执行如]^1(11,¥),也就是说,如果(1丨81:[11]+¥[11,¥]〈(1丨81:[¥],那么把(1丨81:[¥]更新成更短的距离dist [u]+w[u, V]。此时到点V的最短路径上,前一个节点即为u,u、V之间的边为C[u,v];
[0046]如果本次循环中的di s t [ t ]不是无穷大,则将本次循环中的d i s t [ t ]加入该个物流需求的第一路径集合;
[0047]循环结束。此时对于任意的u,dist[u]就是8到11的距离,其中,dist[t]对应的路径就是物流路径图中求符合该个物流需求的物流路径。其中,如果本次循环中的dist[t]不是无穷大,则将本次循环中的dist[t]加入该物流需求的第一路径集合,是图论中现有最短路径算法Di jkStra算法所不具备的,是对图论中现有最短路径算法Di jkStra算法的改进。
[0048]步骤106b,从第一路径集合中获取符合约束条件的所有物流路径,加入第二路径
口 O
[0049]在本实施例中,物流需求的第二路径集合在未加入该物流需求的第一路径集合中符合该物流需求的用户给定的约束条件的所有路径之前为空。用户给定的约束条件包括对物流路径的时间限制或对物流路径的成本限制或其他能对物流路径产生约束的条件限制。具体的,当用户给定的约束条件是对物流路径的时间限制时,如果该物流需求的第一路径集合中的物流路径的物流时长超过了要求的时间限制,则该物流需求的第一路径集合中的物流路径不符合用户给定的约束条件;当用户给定的约束条件是对物流路径的成本限制时,如果该物流需求的第一路径集合中的物流路径的物流成本超过了成本限制,则该物流路径不符合用户给定的约束条件;当用户给定的约束条件是其他能对物流路径产生约束的条件限制时,如果该个物流需求的第一路径集合中的物流路径超过了所述条件限制,则该物流路径不符合用户给定的约束条件。排除第一路径集合中不符合用户给定的约束条件的物流路径,只将第一路径集合中的符合用户给定的约束条件的物流路径加入到第二路径集入口 ο
[0050]步骤106c,将第二路径集合中的最短路径作为与物流需求信息和约束条件匹配的物流路径。
[0051 ]具体的,这里的最短路径是指权值最小的物流路径,比如,当权值属性是物流成本时,则最短路径是物流成本最低的路径;最短路径对应的物流路段可能只有一条,也可能有多条,当最短路径对应的物流路段有多条时,其对应的权值等于各个物流路段对应的权值之和。最短路径上的不同路段所属的物流资源可能属于不同物流公司,也可能属于同一个物流公司。比如,符合物流需求的最短路径为P2(C)P3(D)P4(F)P6(A)P8,其中路段P2(C)P3、路段P3(D)P4所属的物流资源都属于公司1,段P4(F)P6所属的物流资源属于公司2,段P6(A)P8所属的物流资源属于公司3,其中P2、P3、P4、P6、P8为节点,C、D、F、A为路段,则将物流需求在路段C、路段D上的物流任务由公司I来完成,将物流需求在路段F上的物流任务由公司2来完成,将物流需求在路段A上的物流任务由公司3来完成。
[0052]如图3所示,在一个实施例中,将第二路径集合中的最短路径作为与物流需求信息和约束条件匹配的物流路径的步骤106c包括:
[0053]步骤302,将用户对物流需求的关注点作为物流路径图中边的权值属性。
[0054]具体的,用户对物流需求信息的关注点包括物流时长、物流成本、物流安全性中的至少一种。将用户对物流需求的关注点作为物流路径图中边的权值属性。比如,当该物流需求的关注点是物流时长即F0cus = Time时,则将该路段的物流时长作为物流路径图中的该路段对应边的权值属性;当该物流需求的关注点是物流成本即Focus = Cost时,则将该路段的物流成本作为物流
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1