买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:鱼快创领智能科技(南京)有限公司
摘要:本发明提供一种算力可缩放的大规模的城配物流运力调度系统及方法,包括以下步骤:S1:获取数据集并将数据集传输到MySQL数据库中;S2:发布并接收城配物流调度规划任务;S3:执行城配物流调度规划任务;S4:城配物流调度规划任务处理完成;本发明提出的一种算力可缩放的大规模的城配物流运力调度系统及方法能够解决了城配物流调度系统的组合难题,在目前的城配物流业中,具有较高的实际使用价值;结合启发式算法和精确解算法的优点,在求解速度和求解准确性之间取得一个可接受的交点,启发式算法进行第一层运算,精确解算法进行第二层求解,能快速求解大规模、组合约束的复杂问题,在时间可行性上满足城配物流业的业务需求。
主权项:1.一种算力可缩放的大规模的城配物流运力调度方法,其特征在于:包括以下步骤:S1:获取数据集并将数据集传输到MySQL数据库中;外部业务系统模块从内部数据源中获取多个用于进行城配物流调度规划的数据集,所述数据集包括数据集ID、车场数据、车型数据、顾客数据、货物数据、距离矩阵数据、时间矩阵数据、货物互斥矩阵数据、货物车辆匹配数据;所述数据集id唯一;外部业务系统模块通过SDK接口将各个数据集传输到MySQL数据库中,MySQL数据库接收数据集并保存;S2:发布并接收城配物流调度规划任务;外部业务系统模块构建城配物流调度规划任务的消息,调用SDK接口连接消息中间件KAFKA,将构建好的消息发布到消息中间件KAFKA的指定主题;所述消息包含城配物流调度规划任务的具体信息;求解器模块通过SDK接口订阅消息中间件KAFKA的指定主题,当有新的城配物流调度规划任务发布到消息中间件KAFKA的指定主题中,求解器模块会接收到消息;外部业务系统将城配物流调度规划任务的消息发布到消息中间件KAFKA的指定主题后,求解器模块接收到消息;S3:执行城配物流调度规划任务;求解器模块根据消息中包含的城配物流调度规划任务的具体信息,执行城配物流调度规划任务;包括如下子步骤:S31:从MySQL获取数据集;求解器模块接收到消息,解析消息中包含的城配物流调度规划任务的具体信息,根据信息中包含的数据集ID从MySQL中获取对应的数据集数据;S32:创建子进程并执行各个子进程;通过cpu_count函数获取一种算力可缩放的大规模的城配物流运力调度系统的cpu核心数,根据cpu核心数创建对应数量的子进程;通过start函数启动各个子进程;包括以下子步骤:S321:对车辆与货物进行分配;根据城配物流调度规划任务中的货物信息以及数据集中包含的车型数据进行车辆与货物的分配;所述车辆与货物的分配方法包括完全随机的车辆分配、按货物的最大容量优先分配车辆、邻近位置货物统一进行车辆分配三种;S322:对已分配任务的车辆进行单车的路线规划;货物分配完成后,通过数学模型对于包含货物的车辆即已分配任务的车辆进行单车的路线规划;所述单车的路线规划指车辆从车场出发、按照顺序访问任务中各个顾客数据对应的顾客地址,最终返回到出发车场的路线规划;所述数学模型如下: 其中,xij为路径变量,下标i、j表示从顾客点i到顾客点j的路径是否被选择,xij的值为0或1,如果为0,则表示从顾客点i到顾客点j的路径未被选择,如果为1,则表示从顾客点i到顾客点j的路径已被选择;yij为累计需求变量,下标i、j表示从顾客点i到顾客点j中车辆当前的累计顾客需求;所述yij的范围为0-车辆的最大容积;si为到达各顾客的时间点变量,下标i表示顾客点i,所述si的值为到达顾客点i的具体时刻,si为整数;集合N为所有点的集合,包括起点集合{0},顾客点集合C:{1,2,...,n}、终点集合{n+1};集合C为顾客数据集合{1,2,...,n};qi为顾客点i处的需求;tij为从顾客点i到顾客点j处的行驶时间;serviceTimei为顾客点i处的服务时间;Q为车的最大容量;T为行程的最大返回时间; 为顾客j的时间右窗口;dij为从i到j的行驶里程;MD为路线中最大距离;所述顾客点对应顾客地址;1.1为里程最少的路线规划、1.2为总时间最少的路线规划、1.3为总成本最少的路线规划;2.1指每个顾客点和终点,都只会被访问一次;2.2为起点和每个顾客点,都只会有一辆车离开;2.3为顾客i的需求约束,即从顾客点i离开时的车辆载重-刚到达顾客点i时的车辆载重=在顾客点i的需求;2.4为累计需求不能超过当前车辆的最大容量;3.1为顾客在到达i的下一个点时-顾客在到达i点=从i到j的行驶时间+等待时间+在i点的服务时间;3.2为行程的最大返回时间的约束;4.1用于保证访问顺序的约束,式中的Ph表示有访问先后顺序要求的位置点的二元组,下标h是二元组的序号,没有业务意义;5.1为路线的最大行驶距离约束;6.1为决策变量xij的取值范围;6.2为决策变量yij的取值范围;6.3为决策变量si的取得范围;每个子进程运行结束后,执行结果为一个得分和一个路线规划方案,所述路线规划方案包括车辆的规划方案数据、路线数据、路线详细数据、顾客点货物关系数据;所述规划方案数据包括方案id、方案得分;所述路线数据即路线与车型关系,包括路线使用的车型;所述路线详细数据包括路线使用的车辆、在当前位置点车辆的剩余容量、累计行驶距离、累计行驶时长;所述顾客点货物关系数据包括当前路线在指定顾客点所装卸的货物数据;S33:将子进程的执行结果保存到MySQL数据库中;包括如下子步骤:S331:查看是否存在子进程仍在运行中;通过is_alive函数查看是否存在子进程仍在运行中,如果存在任意子进程仍在运行中,则继续执行子进程;如果不存在,则表示所有子进程已经运行结束,进入步骤S332;S332:得到各个子进程执行结果的最终路线规划结果;如果所有子进程都已经运行结束,通过启发式算法比较各个子进程执行结果,得到全局最优解;所述全局最优解对应的子进程执行结果即为最终路线规划结果,将最终路线规划结果保存到MySQL中;S34:发布城配物流调度规划任务的执行结果;求解器模块将城配物流调度规划任务的执行结果发布到消息中间件KAFKA的指定主题中;S4:城配物流调度规划任务处理完成;外部业务系统模块通过SDK接口从消息中间件KAFKA中接收城配物流调度规划任务的执行结果,城配物流调度规划任务处理完成;当外部业务系统需要了解求解器的当前状态,则从中间件Redis中取得缓存的状态信息;SDK接口将指标监控模块查询到的求解器状态信息返回给外部业务系统。
全文数据:
权利要求:
百度查询: 鱼快创领智能科技(南京)有限公司 一种算力可缩放的大规模的城配物流运力调度系统及方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。