本发明涉及到图论领域,尤其涉及基于最大生成树的车辆运输载重量最大化的方法及装置。
背景技术:
随着国家公路的高速发展,中国公路货运已成为世界第一规模的整体市场,当前,我国对提升物流效率的要求迫在眉睫。
物流管理系统,其特点是能够大幅减少发送人和接收人相关业务操作的操作量,并且具有实时监控物品在运输过程中的状态的功能。因此,现有的提升物流效率的方法,主要通过使用物流管理系统进行操作,以提升管理效率和降低管理成本。但是,在对现有技术的研究和实践过程中,本发明的发明人发现,现有的利用物流管理系统的方法,存在不能有效的提升载重量的问题。
技术实现要素:
本发明所要解决的技术问题在于,提供基于最大生成树的车辆运输载重量最大化的方法及装置,通过建模实现利用现有地图进行最大提升车辆载重量的目的。
为了解决上述技术问题,一方面,本发明的一个实施例提供了基于最大生成树的车辆运输载重量最大化的方法,适于在计算设备中执行,至少包括如下步骤:
采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图。
根据所述连通图,设定运输任务。
根据所述连通图,采用kruskal算法构造最大生成树。具体的,将所述连通图中所有的边按照权值从大到小进行排序,并存放在一个数组中,每次循环仅弹出所述数组的第一个元素即为当前具有最大权值的边,并将该元素添加到最大生成树的子集合中。当所述子集合的大小等于最大生成树的边的数量时,循环结束,最大生成树构造完毕,此时,所述子集合即为最大生成树的边的集合。
根据所述最大生成树,确定并输出与所述运输任务对应的最大载重量路径。
进一步地,所述运输任务包括出发地点和目的地点。
进一步地,所述采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图,具体为:
将每个地点设定为图的顶点,并将地点与地点之间的每条道路设定为图中连接顶点的边,得到初始连通图。
根据每条道路对车辆的载重量限制,定义所述初始连通图中每条道路对应的边的权值,从而得到带权值的连通图。
进一步地,所述并查集为一种不限制孩子节点个数的树形的数据结构,以创建数组来实现,每个数组的元素对应连通图的顶点,而元素的值对应该元素在树型结构中的父结点,当元素的值为-1时,表示该元素为所在树型结构的根结点;同时,所述并查集还创建数组rank记录每一棵树型结构的根结点的高度,而每一棵树型结构将对应最大生成树形成过程中的每一块,通过判断所要添加的边的两个顶点各自所在的树型结构的根结点是否为同一结点,以决定忽略该边或将高度较低的树型结构添加到高度较高的树型结构中。
另一方面,本发明的一个实施例还提供了一种基于最大生成树的车辆运输载重量最大化的装置,包括:
建模模块,用于采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图。
运输任务设定模块,用于根据所述连通图,设定运输任务。
最大生成树构造模块,用于根据所述连通图,采用kruskal算法构造最大生成树。具体的,将所述连通图中所有的边按照权值从大到小进行排序,并存放在一个数组中,每次循环仅弹出所述数组的第一个元素即为当前具有最大权值的边,并将该元素添加到最大生成树的子集合中。当所述子集合的大小等于最大生成树的边的数量时,循环结束,最大生成树构造完毕,此时,所述子集合即为最大生成树的边的集合。
输出模块,用于根据所述最大生成树,确定并输出与所述运输任务对应的最大载重量路径。
进一步地,所述运输任务包括出发地点和目的地点。
进一步地,所述采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图,具体为:
将每个地点设定为图的顶点,并将地点与地点之间的每条道路设定为图中连接顶点的边,得到初始连通图。
根据每条道路对车辆的载重量限制,定义所述初始连通图中每条道路对应的边的权值,从而得到带权值的连通图。
进一步地,所述并查集为一种不限制孩子节点个数的树形的数据结构,以创建数组来实现,每个数组的元素对应连通图的顶点,而元素的值对应该元素在树型结构中的父结点,当元素的值为-1时,表示该元素为所在树型结构的根结点;同时,所述并查集还创建数组rank记录每一棵树型结构的根结点的高度,而每一棵树型结构将对应最大生成树形成过程中的每一块,通过判断所要添加的边的两个顶点各自所在的树型结构的根结点是否为同一结点,以决定忽略该边或将高度较低的树型结构添加到高度较高的树型结构中。又一方面,本发明的一个实施例还提供了一种基于最大生成树的车辆运输载重量最大化的方法及装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的基于最大生成树的车辆运输载重量最大化的方法。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的基于最大生成树的车辆运输载重量最大化的方法及装置,所述方法适于在计算设备中执行,至少包括如下步骤:采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图。根据连通图,设定运输任务。根据连通图,采用kruskal算法构造最大生成树。具体的,将连通图中所有的边按照权值从大到小进行排序,并存放在一个数组中,每次循环仅弹出数组的第一个元素即为当前具有最大权值的边,并将该元素添加到最大生成树的子集合中。当子集合的大小等于最大生成树的边的数量时,循环结束,最大生成树构造完毕,此时,子集合即为最大生成树的边的集合。根据最大生成树,确定并输出与运输任务对应的最大载重量路径。本发明能够实现通过建模实现利用现有地图进行最大提升车辆载重量的目的。
附图说明
图1是本发明的一个实施例提供的基于最大生成树的车辆运输载重量最大化方法的流程示意图;
图2是本发明的一个实施例提供的基于最大生成树的车辆运输载重量最大化方法的另一流程示意图;
图3是本发明的一个实施例提供的基于最大生成树的车辆运输载重量最大化方法的连通图示意图;
图4是本发明的另一个实施例提供的基于最大生成树的车辆运输载重量最大化装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,以使本发明的优点和特征能更易于被本领域技术人员理解,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。
本发明第一实施例:
请参阅图1-3。
如图1-3所示,本实施例提供的基于最大生成树的车辆运输载重量最大化方法,适于在计算设备中执行,至少包括如下步骤:
s101、采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图;
其中,所述采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图,具体为:
将每个地点设定为图的顶点,并将地点与地点之间的每条道路设定为图中连接顶点的边,得到初始连通图;
根据每条道路对车辆的载重量限制,定义所述初始连通图中每条道路对应的边的权值,从而得到带权值的连通图。
s102、根据所述连通图,设定运输任务;
其中,所述运输任务包括出发地点和目的地点。
s103、根据所述连通图,采用kruskal算法构造最大生成树;具体的,将所述连通图中所有的边按照权值从大到小进行排序,并存放在一个数组中,每次循环仅弹出所述数组的第一个元素即为当前具有最大权值的边,并将该元素添加到最大生成树的子集合中;当所述子集合的大小等于最大生成树的边的数量时,循环结束,最大生成树构造完毕,此时,所述子集合即为最大生成树的边的集合;
其中,所述并查集为一种不限制孩子节点个数的树形的数据结构,以创建数组来实现,每个数组的元素对应连通图的顶点,而元素的值对应该元素在树型结构中的父结点,当元素的值为-1时,表示该元素为所在树型结构的根结点;同时,所述并查集还创建数组rank记录每一棵树型结构的根结点的高度,而每一棵树型结构将对应最大生成树形成过程中的每一块,通过判断所要添加的边的两个顶点各自所在的树型结构的根结点是否为同一结点,以决定忽略该边或将高度较低的树型结构添加到高度较高的树型结构中。
s104、根据所述最大生成树,确定并输出与所述运输任务对应的最大载重量路径。
本实施例提供的基于最大生成树的车辆运输载重量最大化的方法,包括:采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图;根据连通图,设定运输任务;根据连通图,采用kruskal算法构造最大生成树;具体的,将连通图中所有的边按照权值从大到小进行排序,并存放在一个数组中,每次循环仅弹出数组的第一个元素即为当前具有最大权值的边,并将该元素添加到最大生成树的子集合中;当子集合的大小等于最大生成树的边的数量时,循环结束,最大生成树构造完毕,此时,子集合即为最大生成树的边的集合。根据最大生成树,确定并输出与运输任务对应的最大载重量路径。本发明能够实现通过建模实现利用现有地图进行最大提升车辆载重量的目的。
本发明第二实施例:
请参阅图4。
建模模块401,用于采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图;
其中,所述采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图,具体为:
将每个地点设定为图的顶点,并将地点与地点之间的每条道路设定为图中连接顶点的边,得到初始连通图;
根据每条道路对车辆的载重量限制,定义所述初始连通图中每条道路对应的边的权值,从而得到带权值的连通图。
运输任务设定模块402,用于根据所述连通图,设定运输任务;
其中,所述运输任务包括出发地点和目的地点。
最大生成树构造模块403,用于根据所述连通图,采用kruskal算法构造最大生成树;具体的,将所述连通图中所有的边按照权值从大到小进行排序,并存放在一个数组中,每次循环仅弹出所述数组的第一个元素即为当前具有最大权值的边,并将该元素添加到最大生成树的子集合中;当所述子集合的大小等于最大生成树的边的数量时,循环结束,最大生成树构造完毕,此时,所述子集合即为最大生成树的边的集合。
其中,所述并查集为一种不限制孩子节点个数的树形的数据结构,以创建数组来实现,每个数组的元素对应连通图的顶点,而元素的值对应该元素在树型结构中的父结点,当元素的值为-1时,表示该元素为所在树型结构的根结点;同时,所述并查集还创建数组rank记录每一棵树型结构的根结点的高度,而每一棵树型结构将对应最大生成树形成过程中的每一块,通过判断所要添加的边的两个顶点各自所在的树型结构的根结点是否为同一结点,以决定忽略该边或将高度较低的树型结构添加到高度较高的树型结构中。
输出模块404,用于根据所述最大生成树,确定并输出与所述运输任务对应的最大载重量路径。
本实施例提供的基于最大生成树的车辆运输载重量最大化的装置,包括:采用拓扑建模法,对车辆载重量问题进行建模,得到带权值的连通图;根据连通图,设定运输任务;根据连通图,采用kruskal算法构造最大生成树;具体的,将连通图中所有的边按照权值从大到小进行排序,并存放在一个数组中,每次循环仅弹出数组的第一个元素即为当前具有最大权值的边,并将该元素添加到最大生成树的子集合中;当子集合的大小等于最大生成树的边的数量时,循环结束,最大生成树构造完毕,此时,子集合即为最大生成树的边的集合。根据最大生成树,确定并输出与运输任务对应的最大载重量路径。本发明能够实现通过建模实现利用现有地图进行最大提升车辆载重量的目的。
另一方面,本发明的另一实施例还提供了基于最大生成树的车辆运输载重量最大化的装置,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于最大生成树的车辆运输载重量最大化的方法。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。