本申请涉及计算机应用技术领域,具体而言,涉及一种运力调度方法以及装置。
背景技术:
网约车作为一种新型的出行方式,已经被越来越多的用户所选择,也有越来越多的人将网约车司机作为自己的第一职业或者第二职业。
将网约车作司机作为第一职业的司机的出车时间通常都是比较固定的,也即出车时间较长,是网约车的主要运力承担者。而将网约车司机作为第二职业的司机则能够在订单高峰期分担很大的订单压力,是网约车运力的重要补充。但是由于将网约车司机作为第二职业的网约车的出车时间不定,出车地点也比较多样化,因此存在各个地区运力不均衡的问题。
技术实现要素:
有鉴于此,本申请实施例的目的在于提供一种运力调度方法以及装置,可以实现对多个历史出车区域的运力平衡。
第一方面,本申请实施例提供了一种运力调度方法,该方法包括:
获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域;
针对每个所述历史出车区域,获取该历史出车区域在与未来的所述预设时间段对应的历史时间段的历史订单数据;
根据每个所述历史出车区域的历史订单数据,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供端进行调度的调度信息。
一种可选实施方式中,所述获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域之前,还包括:
从多个服务提供端中确定所述第一目标服务提供端。
一种可选实施方式中,所述从多个服务提供端中确定所述第一目标服务提供端,包括:
获取多个服务提供端的历史订单数据;所述历史订单数据包括接单时间;
针对每个服务提供端,基于所述接单时间对该目标服务提供端的历史订单进行分组;其中,每个分组中,任意两个相邻的历史订单之间的接单时间差小于预设时间差阈值;
检测该服务提供端的各个分组中是否存在目标分组;所述目标分组中接单时间最早的历史订单对应的接单时间落入所述预设时间段内;
若存在所述目标分组,则将该服务提供端确定为第一目标服务提供端。
一种可选实施方式中,所述检测该服务提供端的各个分组中是否存在目标分组,包括:
从与该服务提供端对应的分组中,确定接单时间最早的历史订单对应的接单时间落入与所述预设时间段对应的历史时间段内的所有分组;若确定的所有分组中历史订单的数量达到该服务提供端历史订单总数量的预设百分比,或者,确定的所有分组中历史订单数量满足预设的数量阈值,则将该服务提供端确定为所述第一目标服务提供端。
一种可选实施方式中,所述获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域,包括:
获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点;
对多个第一目标服务提供端的历史出车地点进行聚类,得到至少一个类;
基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域。
一种可选实施方式中,所述获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点,包括:
将各个所述第一目标服务提供端对应的目标分组中,接单时间最早的历史订单对应的接单地点,确定为该第一目标服务提供端对应的历史出车地点。
一种可选实施方式中,所述获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点,包括:
在接收到第一目标服务提供端的开始接单指令时,记录该第一服务提供端所在的地理位置;
将在未来的预设时间段对应的历史时间段内接收到的开始接单指令对应的地理位置,确定为该第一目标服务提供端的历史出车地点。
一种可选实施方式中,根据该历史出车区域在的历史订单数据,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供方向终端进行调度的调度信息,包括:
根据该历史出车区域的历史订单数据,确定与所述预设时间段对应的预估订单数量;
根据与所述预设时间段对应的预估订单数量,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成该历史出车区域在该预设时间段的订单满足系数;
根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息。
一种可选实施方式中,所述根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息之前,还包括:
将各个所述历史出车区域中已经上线的,且当前处于非服务状态的服务提供端确定为所述第二目标服务提供端。
一种可选实施方式中,所述对多个第一目标服务提供端的历史出车地点进行聚类,包括:
以所有第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中各历史出车地点的平均经纬度;
以与所述第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇;
将所述第二簇作为新的第一簇,并返回所述计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类,并将第二簇中的历史出车地点作为完成聚类的历史出车地点;
返回以各个第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标的步骤,直到各个第一目标服务提供端的历史出车地点完成聚类,得到聚类后的一个或多个类。
一种可选实施方式中,所述对多个第一目标服务提供端的历史出车地点进行聚类,包括:
根据预设的历史出车区域的个数k,从各个第一目标服务提供端的历史出车地点中随机选择k个历史出车地点作为初始的聚类中心;
针对每个初始的聚类中心,执行以下步骤:
将与该聚类中心之间的距离小于第一预设距离的历史出车地点和该聚类中心作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中历史出车地点的平均经纬度;
以与所述第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇;
将所述第二簇作为新的第一簇,并返回所述计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类。
一种可选实施方式中,所述对多个第一目标服务提供端的历史出车地点进行聚类,包括:
将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离;
将与所述聚类中心之间的距离小于第二预设距离的历史出车地点划分到与所述聚类中心同一类中,并将该类中的所有历史出车地点作为完成聚类的历史出车地点;
返回所述将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离的步骤,直至所有的历史出车地点完成聚类。
一种可选实施方式中,所述基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域,包括:
针对每一个类,确定该类中与该类的中心距离最远的历史出车地点;以该类的中心为圆心,以确定的所述与该类的中心距离最远的历史出车地点与该中心之间的距离为半径,确定该类对应的历史出车区域。
第二方面,本申请实施例还提供一种运力调度装置,该装置包括:
第一获取模块,用于获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域;
第二获取模块,用于针对每个所述历史出车区域,获取该历史出车区域在与未来的所述预设时间段对应的历史时间段的历史订单数据;
生成模块,用于根据每个所述历史出车区域的历史订单数据,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供端进行调度的调度信息。
一种可选实施方式中,还包括:第一确定模块,用于获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域之前,从多个服务提供端中确定所述第一目标服务提供端。
一种可选实施方式中,所述第一确定模块,用于采用下述方式从多个服务提供端中确定所述第一目标服务提供端:
获取多个服务提供端的历史订单数据;所述历史订单数据包括接单时间;
针对每个服务提供端,基于所述接单时间对该目标服务提供端的历史订单进行分组;其中,每个分组中,任意两个相邻的历史订单之间的接单时间差小于预设时间差阈值;
检测该服务提供端的各个分组中是否存在目标分组;所述目标分组中接单时间最早的历史订单对应的接单时间落入所述预设时间段内;
若存在所述目标分组,则将该服务提供端确定为第一目标服务提供端。
一种可选实施方式中,所述第一确定模块,所述第一确定模块,用于采用下述方式检测该服务提供端的各个分组中是否存在目标分组:
从与该服务提供端对应的分组中,确定接单时间最早的历史订单对应的接单时间落入与所述预设时间段对应的历史时间段内的所有分组;若确定的所有分组中历史订单的数量达到该服务提供端历史订单总数量的预设百分比,或者,确定的所有分组中历史订单数量满足预设的数量阈值,则将该服务提供端确定为所述第一目标服务提供端。
一种可选实施方式中,所述第一获取模块,用于采用下述方式获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域:
获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点;
对多个第一目标服务提供端的历史出车地点进行聚类,得到至少一个类;
基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域。
一种可选实施方式中,所述第一获取模块,用于采用下述方式获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点:
将各个所述第一目标服务提供端对应的目标分组中,接单时间最早的历史订单对应的接单地点,确定为该第一目标服务提供端对应的历史出车地点。
一种可选实施方式中,所述第一获取模块,用于采用下述方式获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点:
在接收到第一目标服务提供端的开始接单指令时,记录该第一服务提供端所在的地理位置;
将在未来的预设时间段对应的历史时间段内接收到的开始接单指令对应的地理位置,确定为该第一目标服务提供端的历史出车地点。
一种可选实施方式中,所述生成模块,具体用于:
根据该历史出车区域的历史订单数据,确定与所述预设时间段对应的预估订单数量;
根据与所述预设时间段对应的预估订单数量,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成该历史出车区域在该预设时间段的订单满足系数;
根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息。
一种可选实施方式中,还包括:第二确定模块,用于根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息之前,将各个所述历史出车区域中已经上线的,且当前处于非服务状态的服务提供端确定为所述第二目标服务提供端。
一种可选实施方式中,所述第一获取模块,用于采用下述方式对多个第一目标服务提供端的历史出车地点进行聚类:
以所有第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中各历史出车地点的平均经纬度;
以与所述第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇;
将所述第二簇作为新的第一簇,并返回所述计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类,并将第二簇中的历史出车地点作为完成聚类的历史出车地点;
返回以各个第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标的步骤,直到各个第一目标服务提供端的历史出车地点完成聚类,得到聚类后的一个或多个类。
一种可选实施方式中,所述第一获取模块,用于采用下述方式对多个第一目标服务提供端的历史出车地点进行聚类:
根据预设的历史出车区域的个数k,从各个第一目标服务提供端的历史出车地点中随机选择k个历史出车地点作为初始的聚类中心;
针对每个初始的聚类中心,执行以下步骤:
将与该聚类中心之间的距离小于第一预设距离的历史出车地点和该聚类中心作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中历史出车地点的平均经纬度;
以与所述第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇;
将所述第二簇作为新的第一簇,并返回所述计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类。
一种可选实施方式中,所述第一获取模块,用于采用下述方式对多个第一目标服务提供端的历史出车地点进行聚类:
将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离;
将与所述聚类中心之间的距离小于第二预设距离的历史出车地点划分到与所述聚类中心同一类中,并将该类中的所有历史出车地点作为完成聚类的历史出车地点;
返回所述将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离的步骤,直至所有的历史出车地点完成聚类。
一种可选实施方式中,所述第一获取模块,用于采用下述方式基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域:
针对每一个类,确定该类中与该类的中心距离最远的历史出车地点;以该类的中心为圆心,以确定的所述与该类的中心距离最远的历史出车地点与该中心之间的距离为半径,确定该类对应的历史出车区域。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面任意一项所述的运力调度方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任意一项所述的运力调度方法。
本申请实施例中,动态确定在未来的预设时间段上线的第一目标服务提供端的历史出车区域,并基于每个历史出车区域在未来预设时间段对应的多个历史时间段的历史订单数据,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供端进行调度的调度信息,从而实现未来对多个历史出车区域的运力平衡。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请一些实施例的运力调度系统100的框图;
图2示出根据本申请的一些实施例的可以实现本申请思想的服务器110、服务请求方终端130、服务提供方终端140的电子设备200的示例性硬件和软件组件的示意图;
图3示出了本申请实施例所提供的一种运力调度方法的流程图;
图4示出了本申请实施例所提供的运力调度方法中,从多个服务提供端中确定第一目标服务提供端的具体方法的流程图;
图5示出了本申请实施例所提供的运力调度方法中,获取预设时间段上线的多个第一目标服务提供端的多个历史出车区域的具体方法的流程图;
图6示出了本申请实施例所提供的运力调度方法中,第一种对历史出车地点进行聚类的方法的流程图;
图7示出了本申请实施例所提供的运力调度方法中,第二种对历史出车地点进行聚类的方法的流程图;
图8示出了本申请实施例所提供的运力调度方法中,第三种对历史出车地点进行聚类的方法的流程图;
图9示出了本申请实施例所提供的运力调度方法中,生成对第二目标服务提供端进行调度的调度信息的具体方法的流程图;
图10示出了本申请实施例四所提供的一种运力调度装置的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“网约车”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕对网约车的运力调度进行描述,但是应该理解,这仅是一个示例性实施例。本申请可以应用于任何其他交通运输类型。例如,本申请可以应用于不同的运输系统环境,包括陆地,海洋,或航空等,或其任意组合。运输系统的交通工具可以包括出租车、私家车、顺风车、公共汽车、火车、子弹头列车、高速铁路、地铁、船只、飞机、宇宙飞船、热气球、或无人驾驶车辆等,或其任意组合。本申请还可以包括用于为用户提供某项有偿服务的任何服务系统,例如,用于发送和/或接收快递的系统、用于买卖双方交易的服务系统。本申请的系统或方法的应用可以包括网页、浏览器的插件、客户端终端、定制系统、内部分析系统、或人工智能机器人等,或其任意组合。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
本申请中的术语“用户”、“乘客”、“请求方”、“服务人员”、“服务请求方”和“客户”可互换使用,以指代可以请求或订购服务的个人、实体或工具。本申请中的术语“第一目标服务提供端”、“提供方”、“服务提供方”和“供应商”可互换使用,以指代可以提供服务的个人、实体或工具。本申请中的术语“用户”可以指代请求服务、订购服务、提供服务或促成服务的提供的个人、实体或工具。例如,用户可以是乘客、驾驶员、操作员等,或其任意组合。在本申请中,“乘客”和“乘客终端”可以互换使用,“驾驶员”和“驾驶员终端”可以互换使用。
本申请中的术语“服务请求”和“订单”可互换使用,以指代由乘客、服务请求方、第一目标服务提供端、服务提供方、或供应商等、或其任意组合发起的请求。接受该“服务请求”或“订单”的可以是乘客、服务请求方、第一目标服务提供端、服务提供方、或供应商等、或其任意组合。服务请求可以是收费的或免费的。
本申请中使用的定位技术可以基于全球定位系统(globalpositioningsystem,gps)、全球导航卫星系统(globalnavigationsatellitesystem,glonass),罗盘导航系统(compass)、伽利略定位系统、准天顶卫星系统(quasi-zenithsatellitesystem,qzss)、无线保真(wirelessfidelity,wifi)定位技术等,或其任意组合。一个或多个上述定位系统可以在本申请中互换使用。
本申请的一个方面涉及一种运力调度系统。该系统可以获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域,并基于每个历史出车区域的历史订单数据,以及在与未来的预设时间段对应的历史时间段内,在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供端进行调度的调度信息。
值得注意的是,在本申请提出申请之前,一般是采用当前已经上线的服务提供端进行即时调度的方式,对运力进行调度。存在运力调度信息滞后,无法满足运力平衡的需求。然而,本申请提供的运力调度系统可以实现多个历史出车区域的运力平衡。
图1是本申请一些实施例的运力调度系统100的框图。例如,运力调度系统100可以是用于诸如出租车、代驾服务、快车、拼车、公共汽车服务、驾驶员租赁、或班车服务之类的运输服务、或其任意组合的在线运输服务平台。运力调度系统100可以包括服务器110、网络120、服务请求方终端130、服务提供方终端140和数据库150中的一种或多种,服务器110中可以包括执行指令操作的处理器112。
在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式系统)。在一些实施例中,服务器110相对于终端,可以是本地的、也可以是远程的。例如,服务器110可以经由网络120访问存储在服务请求方终端130、服务提供方终端140、或数据库150、或其任意组合中的信息和/或数据。作为另一示例,服务器110可以直接连接到服务请求方终端130、服务提供方终端140和数据库150中至少一个,以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实现;仅作为示例,云平台可以包括私有云、公有云、混合云、社区云(communitycloud)、分布式云、跨云(inter-cloud)、多云(multi-cloud)等,或者它们的任意组合。在一些实施例中,服务器110可以在具有本申请中图2所示的一个或多个组件的电子设备200上实现。
在一些实施例中,服务器110可以包括处理器112。处理器112可以处理与服务请求有关的信息和/或数据,以执行本申请中描述的一个或多个功能。例如,处理器112可以基于从服务请求方终端130获得的服务请求来确定目标车辆。在一些实施例中,处理器112可以包括一个或多个处理核(例如,单核处理器(s)或多核处理器(s))。仅作为举例,处理器112可以包括中央处理单元(centralprocessingunit,cpu)、专用集成电路(applicationspecificintegratedcircuit,asic)、专用指令集处理器(applicationspecificinstruction-setprocessor,asip)、图形处理单元(graphicsprocessingunit,gpu)、物理处理单元(physicsprocessingunit,ppu)、数字信号处理器(digitalsignalprocessor,dsp)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、可编程逻辑器件(programmablelogicdevice,pld)、控制器、微控制器单元、简化指令集计算机(reducedinstructionsetcomputing,risc)、或微处理器等,或其任意组合。
网络120可以用于信息和/或数据的交换。在一些实施例中,运力调度系统100中的一个或多个组件(例如,服务器110,服务请求方终端130,服务提供方终端140和数据库150)可以向其他组件发送信息和/或数据。例如,服务器110可以经由网络120从服务请求方终端130获取服务请求。在一些实施例中,网络120可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络130可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)、无线局域网(wirelesslocalareanetworks,wlan)、城域网(metropolitanareanetwork,man)、广域网(wideareanetwork,wan)、公共电话交换网(publicswitchedtelephonenetwork,pstn)、蓝牙网络、zigbee网络、或近场通信(nearfieldcommunication,nfc)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或网络交换节点,运力调度系统100的一个或多个组件可以通过该接入点连接到网络120以交换数据和/或信息。
在一些实施例中,服务请求方终端130的用户可以是除服务实际需求者之外的其他人。例如,服务请求方终端130的用户a可以使用服务请求方终端130来为服务实际需求者b发起服务请求(比如,用户a可以为自己的朋友b叫车),或者从服务器110接收服务信息或指令等。在一些实施例中,服务提供方终端140的用户可以是服务实际提供者,也可以是除服务实际提供者之外的其他人。例如,服务提供方终端140的用户c可以使用服务提供方终端140接收由服务实际提供者d提供服务的服务请求(比如用户c可以为自己雇用的第一目标服务提供端d接单),和/或来自服务器110的信息或指令。在一些实施例中,“服务请求方”和“服务请求方终端”可以互换使用,“服务提供方”和“服务提供方终端”可以互换使用。
在一些实施例中,服务请求方终端130可以包括移动设备、平板计算机、膝上型计算机、或机动车辆中的内置设备等,或其任意组合。在一些实施例中,移动设备可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、或增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器设备的控制设备、智能监控设备、智能电视、智能摄像机、或对讲机等,或其任意组合。在一些实施例中,可穿戴设备可包括智能手环、智能鞋带、智能玻璃、智能头盔、智能手表、智能服装、智能背包、智能配件等、或其任何组合。在一些实施例中,智能移动设备可以包括智能手机、个人数字助理(personaldigitalassistant,pda)、游戏设备、导航设备、或销售点(pointofsale,pos)设备等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实玻璃、虚拟现实贴片、增强现实头盔、增强现实玻璃、或增强现实贴片等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括各种虚拟现实产品等。在一些实施例中,机动车辆中的内置设备可以包括车载计算机、车载电视等。在一些实施例中,服务请求方终端130可以是具有用于定位服务请求方和/或服务请求方终端的位置的定位技术的设备。
在一些实施例中,服务提供方终端140可以是与服务请求方终端130类似或相同的设备。在一些实施例中,服务提供方终端140可以是具有定位技术的设备,用于定位服务提供方和/或服务提供方终端的位置。在一些实施例中,服务请求方终端130和/或服务提供方终端140可以与其他定位设备通信以确定服务请求方、服务请求方终端130、服务提供方、或服务提供方终端140、或其任意组合的位置。在一些实施例中,服务请求方终端130和/或服务提供方终端140可以将定位信息发送给服务器110。
数据库150可以存储数据和/或指令。在一些实施例中,数据库150可以存储从服务请求方终端130和/或服务提供方终端140获得的数据。在一些实施例中,数据库150可以存储在本申请中描述的示例性方法的数据和/或指令。在一些实施例中,数据库150可以包括大容量存储器、可移动存储器、易失性读写存储器、或只读存储器(read-onlymemory,rom)等,或其任意组合。作为举例,大容量存储器可以包括磁盘、光盘、固态驱动器等;可移动存储器可包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等;易失性读写存储器可以包括随机存取存储器(randomaccessmemory,ram);ram可以包括动态ram(dynamicrandomaccessmemory,dram),双倍数据速率同步动态ram(doubledate-ratesynchronousram,ddrsdram);静态ram(staticrandom-accessmemory,sram),晶闸管ram(thyristor-basedrandomaccessmemory,t-ram)和零电容器ram(zero-ram)等。作为举例,rom可以包括掩模rom(maskread-onlymemory,mrom)、可编程rom(programmableread-onlymemory,prom)、可擦除可编程rom(programmableerasableread-onlymemory,perom)、电可擦除可编程rom(electricallyerasableprogrammablereadonlymemory,eeprom)、光盘rom(cd-rom)、以及数字通用磁盘rom等。在一些实施例中,数据库150可以在云平台上实现。仅作为示例,云平台可以包括私有云、公有云、混合云、社区云、分布式云、跨云、多云或者其它类似的等,或其任意组合。
在一些实施例中,数据库150可以连接到网络120以与运力调度系统100(例如,服务器110,服务请求方终端130,服务提供方终端140等)中的一个或多个组件通信。运力调度系统100中的一个或多个组件可以经由网络120访问存储在数据库150中的数据或指令。在一些实施例中,数据库150可以直接连接到运力调度系统100中的一个或多个组件(例如,服务器110,服务请求方终端130,服务提供方终端140等);或者,在一些实施例中,数据库150也可以是服务器110的一部分。
在一些实施例中,运力调度系统100中的一个或多个组件(例如,服务器110,服务请求方终端130,服务提供方终端140等)可以具有访问数据库150的权限。在一些实施例中,当满足一定条件时,运力调度系统100中的一个或多个组件可以读取和/或修改与服务请求方、服务提供方、或公众、或其任意组合有关的信息。例如,服务器110可以在接收服务请求之后读取和/或修改一个或多个用户的信息。作为另一示例,服务提供方终端140可以在从服务请求方终端130接收服务请求时访问与服务请求方有关的信息,但是服务提供方终端140可以不修改服务请求方的相关信息。
在一些实施例中,可以通过请求服务来实现运力调度系统100中的一个或多个组件的信息交换。服务请求的对象可以是任何产品。在一些实施方案中,产品可以是有形产品或非物质产品。有形产品可包括食品、药品、商品、化学产品、电器、服装、汽车、房屋、或奢侈品等,或其任意组合。非物质产品可以包括服务产品、金融产品、知识产品、或互联网产品等,或其任意组合。互联网产品可以包括单独的主机产品、网络产品、移动互联网产品、商业主机产品、或嵌入式产品等,或其任意组合。互联网产品可以用在移动终端的软件、程序、或系统等,或者它们的任意组合中。移动终端可以包括平板电脑、笔记本电脑、移动电话、个人数字助理(personaldigitalassistant,pda)、智能手表、销售点(pointofsales,pos)设备、车载电脑、车载电视、或可穿戴设备等,或其任意组合。例如,互联网产品可以是计算机或移动电话中使用的任何软件和/或应用程序。软件和/或应用程序可以涉及社交、购物、运输、娱乐时间、学习、或投资等,或其任意组合。在一些实施例中,与运输有关的软件和/或应用程序可以包括旅行软件和/或应用程序、车辆调度软件和/或应用程序、绘图软件和/或应用程序等。在车辆调度软件和/或应用程序中,车辆可包括马、马车、人力车(例如,独轮车、自行车、三轮车等)、汽车(例如,出租车、公共汽车、私家车等)、火车、地铁、船只、飞机(例如,飞机、直升机、航天飞机、火箭、热气球等)等,或其任意组合。
图2示出根据本申请的一些实施例的可以实现本申请思想的服务器110、服务请求方终端130、服务提供方终端140的电子设备200的示例性硬件和软件组件的示意图。例如,处理器112可以用于电子设备200上,并且用于执行本申请中的功能。
电子设备200可以是通用计算机或特殊用途的计算机,两者都可以用于实现本申请的运力调度方法。本申请尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。
例如,电子设备200可以包括连接到网络的网络端口210、用于执行程序指令的一个或多个处理器220、通信总线230、和不同形式的存储介质240,例如,磁盘、rom、或ram,或其任意组合。示例性地,计算机平台还可以包括存储在rom、ram、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备200还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(input/output,i/o)接口250。
为了便于说明,在电子设备200中仅描述了一个处理器。然而,应当注意,本申请中的电子设备200还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备200的处理器执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b。
图3示出本申请实施例提供的一种运力调度方法的流程图,包括:s301~s303。
s301:获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域。
在具体实施中,并非是每个目标服务提供端都可以作为第一目标服务提供端。在本申请实施例中,第一目标服务提供端是满足一定要求的服务提供端。
因此,本申请实施例提供的运力调度方法中,还包括:从多个服务提供端中确定第一目标服务提供端。
具体地,参见图4所示,本申请实施例还提供一种从多个服务提供端中确定第一目标服务提供端的具体方法,包括:
s401:获取多个服务提供端的历史订单数据;所述历史订单数据包括接单时间。
此处,历史订单数据,可以是服务提供端的全部历史订单数据,也可以是服务提供端的部分历史订单数据,如所获得的历史订单数据为当前时间之前的历史订单数据,如当前时间前3个月的历史订单数据。
网约车平台在接收到乘客从乘客客户端发送的订单后,会根据订单中携带的出发地点,按照一定的匹配规则,获取指定网约车服务提供端,然后将订单推送给这些指定网约车服务提供端的客户端。网约车服务提供端通过客户端接收到网约车平台推送的订单后,根据自己的意愿选择是否要接取该订单;如果接取,则通过客户端向网约车平台发送订单接取请求。网约车平台在接收到订单接取请求后,将该订单分配给该网约车服务提供端,并会记录该订单的相关信息,例如出发地点、目的地点、接单时间、订单完成时间、服务提供端接单时所在地点等信息,并将这些信息作为该订单的历史订单数据与该网约车服务提供端进行关联存储。
当需要获得每个服务提供端的历史订单数据时,只需要根据历史订单数据与服务提供端之间的关联存储关系,就能够获得该服务提供端的全部历史订单数据,或者获得指定日期所对应的历史订单数据。
在历史订单数据中,通常包括接单时间。其中,接单时间是指服务提供端接取订单的时间。
s402:针对每个服务提供端,基于所述接单时间对该目标服务提供端的历史订单进行分组;其中,每个分组中,任意两个相邻的历史订单之间的接单时间差小于预设时间差阈值。
在实际中,所获取的每一个服务提供端的历史订单数据,不仅仅包括了服务提供端在出车后接取的第一笔订单的数据,也包括了其在出车后所接取的其它订单的数据,因此为了能够将第一笔订单的数据从所有历史订单数据中筛选出来,可以按照历史订单数据中携带的接单时间,对服务提供端的历史订单进行分组,每个分组中,任意两个相邻的历史订单之间的接单时间差小于预设时间差阈值。
预设时间差阈值可以基于实际情况进行具体设定。一般地,可以基于订单的平均完成时间来设置所述预设时间差阈值。此处,订单的完成时间,是指服务提供端从接取订单开始,直到将乘客送达乘客的目的地所需要的时间长度。例如,假若订单的平均完成时间为25分钟,服务提供端在接取相邻的两笔订单之间需要等待的平均时间为10分钟,考虑到特殊情况的存在,例如堵车等,可以将预设时间差阈值设置为1小时。
s403:检测该服务提供端的各个分组中是否存在目标分组;所述目标分组中接单时间最早的历史订单对应的接单时间落入所述预设时间段内。
从与该服务提供端对应的分组中,确定接单时间最早的历史订单对应的接单时间落入与所述预设时间段对应的历史时间段内的所有分组;若确定的所有分组中历史订单的数量达到该服务提供端历史订单总数量的预设百分比,或者,确定的所有分组中历史订单数量满足预设的数量阈值,则将该服务提供端确定为所述第一目标服务提供端。
需要注意的是,与服务提供端对应的目标分组一般会有多个。
示例性的,若预设时间段为:每天的20:00~20:30,例如若某服务提供端在连续的30天中,每天都会在20:00~20:30上线,也即,会得到与该预设时间段对应的30个分组。若用户在这连续的30天内的历史订单总数量为300,确定的30个分组中,历史订单的数量为90,若预设百分比为25,由于确定的所有分组中历史订单的数量达到该服务提供端历史订单总数量30%,高于预设百分比,因此将该服务提供端确定为第一目标提供端。
s404:若存在所述目标分组,则将该服务提供端确定为第一目标服务提供端。
上述从多个服务提供端中确定第一目标服务提供端的过程,实际上是从多个服务提供端中,确定较大概率在预设时间段内出车的服务提供端,并将较大该与在预设时间段内出车的服务提供端确定为第一目标服务提供端。
在确定了第一目标服务提供端后,就能够根据第一目标服务提供端的出车地点确定与该预设时间段对应的多个历史出车区域。
具体地,参见图5所示,本申请实施例采用下述步骤获取预设时间段上线的多个第一目标服务提供端的多个历史出车区域:
s501:获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点。
第一目标服务提供端的历史出车地点,是指第一目标服务提供端出车时所在的出发地点,这里的出车是指第一目标服务提供端开始进入网约车服务工作状态。对于大多数第一目标服务提供端来说,历史出车地点落入的区域范围通常是比较固定的,但是其具体的出车地点是不固定的,且对于某些第一目标服务提供端来说,其出车地点可能会落入多个区域范围内。例如第一目标服务提供端甲某为全职网约车第一目标服务提供端,其通常在早上9:00出车,晚上10:00收车,且出车地点是家附近;某第一目标服务提供端乙某为兼职网约车第一目标服务提供端,其出车地点通常在下班后,例如在18:00出车,且出车地点是其工作单位附近。
具体地,本申请实施例还提供一种获取在预设时间段上线的多个第一目标服务提供端的历史出车地点的具体方法,包括:
将各个所述第一目标服务提供端对应的目标分组中,接单时间最早的历史订单对应的接单地点,确定为该第一目标服务提供端对应的历史出车地点。
这里需要注意的是,第一目标服务提供端的历史出车地点可能有多个,也可能只有一个。
示例性的,与第一目标服务提供端对应的目标分组有50个,每个分组中,若接单时间最早的历史订单对应的接单地点均为a地,则将a地确定为该第一目标服务提供端对应的历史出车地点。
接单时间最早的历史订单对应的接单地点包括a地和b地,则将a地和b地均确定为该第一目标服务提供端对应的历史出车地点。
另外,接单时间最早的历史订单对应的接单地点包括a地和b地,但是接单地点为a地的目标分组有45个,单地点为b地的目标分组有5个,由于第一目标服务提供端有更高的概率在a地出车,因此将a第确定为该第一目标服务提供端的历史出车地点。
另外,本申请实施例还提供另外一种取在预设时间段上线的多个第一目标服务提供端的历史出车地点的方法,包括:
在接收到第一目标服务提供端的开始接单指令时,记录该第一服务提供端所在的地理位置;
将在未来的预设时间段对应的历史时间段内接收到的开始接单指令对应的地理位置,确定为该第一目标服务提供端的历史出车地点。
在具体实现的时候,在采用上述方法来确定每个第一目标服务提供端的多个历史出车点的时候,由于是采用订单的接单地点来确认的,接单的地点和真正的出车地点之间还是可能存在一定的差异。例如第一目标服务提供端在家附近出车,其在出车后接取的第一笔订单距离第一目标服务提供端真正出车地点1、2公里,会为后续的工作带来一定的误差。
因此在本实施例中,误了避免该误差,当网约车平台在接收到第一目标服务提供端发送的开始接单指令后,能够从第一目标服务提供端获取第一目标服务提供端当前所处地理位置。该地理位置通常就第一目标服务提供端的出车地点。网约车平台会在接收到第一目标服务提供端发送的开始接单指令时,记录第一目标服务提供端当前所在的地理位置以及出车时间,并将该地理位置和出车时间作为第一目标服务提供端的历史出车地点和第一目标服务提供端进行关联存储。
当要获得某个第一目标服务提供端的历史出车地点时,只需要根据历史出车地点和第一目标服务提供端的关联存储关系,直接基于出车时间,获得该历史出车地点即可。
s502:对多个第一目标服务提供端的历史出车地点进行聚类,得到至少一个类。
在具体实现的时候,对多个第一目标服务提供端的多个历史出车地点进行聚类,就是要将地理位置比较接近的历史出车地点划分到一个类中,然后基于划分到同一个类中的历史出车地点,确定与该类对应的历史出车区域;这样,将多个第一目标服务提供端对应的历史出车地点划分到至少一个历史出车区域中。这里,每个第一目标服务提供端的历史出车区域可以有一个,也可以有多个。
在具体实现的时候,可以采用下述聚类方式中任意一种对每个第一目标服务提供端的历史出车地点进行聚类。
其一:本申请实施例提供的第一种对历史出车地点进行聚类的方法,参见图6所示,包括:针对每个第一目标服务提供端,执行下述聚类过程:
s601:以所有第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中各历史出车地点的平均经纬度。
s602:以与第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇。
s603:检测是否满足迭代停止条件;如果是,则跳转至s604;如果否,则跳转至s601;
s604:将最后得到的第二簇作为聚类后的一个类,并将第二簇中的历史出车地点作为完成聚类的历史出车地点。跳转至s605。
s605:检测各个第一目标服务提供端的历史出车地点是否均完成聚类。若是,则执行s601;若否,则结束。
最终,得到聚类后的一个或者多个类。
在上述事实方式中,根据聚类后的形成的每一个类中所包括的历史出车地点来确定与该类对应的历史出车区域。
在具体实现的时候,在首次进行聚类时,由于所有第一目标服务提供端的所有历史出车地点均未完成聚类,因此在第一次聚类时,会将所有历史出车地点作为第一簇,并计算第一簇的簇心坐标。在非首次聚类时,去除之前聚类过程中已经完成聚类的历史出车地点,将剩余的所有未完成聚类的历史出车地点作为第一簇,计算第一簇的簇心坐标。
在每一个迭代周期内,在计算得到第一簇的簇心坐标后,为了得到与第一簇的簇心距离最近的历史出车地点,可以依次计算每一个第一簇中的历史出车地点与簇心之间的距离,然后将与簇心距离最近的历史出车地点作为中心,组织第二簇的历史出车地点,并将第二簇作为新的第一簇,再次执行计算第一簇的簇心坐标的步骤,直到满足迭代停止条件。
这里,在选择中心时,并不是直接选择上一簇的簇心作为下一次迭代聚类的中心,而是选择与上一簇的平均经纬度距离最近的经纬度坐标为中心。这是由于第一目标服务提供端的历史出车地点具有一定的实用属性,簇心的位置不一定是用户常用的历史出车地点,选择一个第一目标服务提供端户实际使用的历史出车地点作为聚类的中心,有利于避免将不适于定位的位置排除在外,比如地下车库、马路中心等等。
当满足迭代停止条件时,将最后一次迭代得到的第二簇作为聚类后的一个类,并将该最后一次迭代得到的第二簇中的历史出车地点作为完成聚类的历史出车地点。然后再次对未完成聚类的历史出车地点进行上述迭代过程,直至所有历史出车地点都完成聚类。
这里,通过重复上述s602~s603的迭代聚类过程,不断更新簇心的位置,并不断形成新的第二簇,使得新的第二簇内具有的历史出车地点密度越来越大,第二簇的簇心的位置越来越接近第一目标服务提供端大部分使用的历史出车地点,最终在满足迭代条件时,将第二簇中所包括的历史停车地点划分到同一个类中。
这里的迭代停止条件包括以下条件中的至少一种:
1)第二簇中的历史停车地点不再发生变化;2)迭代次数达到设定次数阈值;3)簇心移动距离小于设定距离阈值。
在条件1)中,第二簇中的历史停车地点不再发生变化,表明已经形成了最佳的簇,可以停止迭代。在条件2)中,为了节省运算量,可以设置迭代次数的最大值,如果迭代次数达到设定次数阈值,可以停止本迭代周期的迭代,将最后得到的第二簇中所包括的历史出车地点作为一类。在条件3)中,如果簇心移动距离小于设定距离阈值,说明当前的簇已经基本可以涵盖机大部分使用的历史出车地点,此时可以停止迭代。
例如:历史出车地点通过地理坐标系下的经纬度坐标来表示。其形式可以表示为:m(a,b);其中m代表历史出车点,a表示该历史出车点m的经度坐标,b表示该历史出车点m的纬度坐标。簇心坐标可以表示为:n(x,y);其中n代表簇心,x表示簇心n的经度坐标,y表示簇心n的纬度坐标。
簇心坐标为第一簇中历史出车地点的平均经纬度坐标。
在当前迭代周期内,某第一目标服务提供端对应的未完成聚类的历史出车地点分别为:m1(a1,b1)、m2(a2,b2)、m3(a3,b3)、m4(a4,b4)、m5(a5,b5),则由m1至m5构成的第一簇中,簇心坐标n(x,y)满足:
然后分别计算m1至m5的分别与簇心n之间的距离。
例如计算m1(a1,b1)和簇心n之间的距离d,则d满足:
在得到第一簇中所有历史出车地点m1至m5与簇心的距离后,将距离最小的历史出车点作为中心,并依次计算第一簇中除中心外的其它历史出车地点与中心之间的距离。计算的方式与计算历史出车地点和簇心之间的距离的方法类似,在此不再赘述。
假设此时m1为距离簇心距离最近的历史出车点,则将m1作为中心,依次计算m2至m5与中心m1之间的距离。
假若m2和m4与中心m1之间的距离均小于预设距离,则将m1、m2和m4形成第二簇。
然后检测当前第二簇是否满足迭代停止条件。如本实例中将迭代停止条件设置为:迭代次数达3次。
假若在该次迭代周期内,已经进行了2次迭代,在执行完本周期的迭代后,迭代次数达到3次,那么将当前第二簇作为聚类后的一个类,该类中的历史出车地点包括:m1、m2和m4。
假若在该次迭代周期内,已经进行了1次迭代,在执行完本周期的迭代后,迭代次数达到2次,则将当前第二簇作为新的第一簇,此时新的第一簇中的历史出车地点包括:m1、m2和m4,再次返回计算该新的第一簇的簇心坐标的步骤,直至满足迭代停止条件。
在将历史出车地点m1、m2和m4划分到一个类后,还会将历史出车地点m1、m2和m4作为完成聚类的历史出车地点;
由于此时还存在未完成聚类的历史出车地点m3和m5,因此,会返回以历史出车地点m3和m5构成的新的第一簇,并计算该新的第一簇的簇心坐标的步骤。
直至m1至m5都完成聚类为止。
采用该聚类方法,不需要预先设定类的个数,该聚类方法具有较高的聚类精度。
其二:本申请实施例提供的第二种对历史出车地点进行聚类的方法,参见图7所示,包括:针对所有第一目标服务提供端,执行下述过程:
s701:根据预设的历史出车区域的个数k,从各个第一目标服务提供端的历史出车地点中随机选择k个历史出车地点作为初始的聚类中心;这里,k一般为大于或等于2的正整数。
s702:针对每个初始的聚类中心,将与该聚类中心之间的距离小于第一预设距离的历史出车地点和该聚类中心作为第一簇。
s703:计算第一簇的簇心坐标,簇心坐标为第一簇中历史出车地点的平均经纬度。
s704:以与第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇。
s705:检测当前第二簇是否满足迭代停止条件;如果否,则执行s706;如果是,则执行s707。
s706:将第二簇作为新的第一簇,并返回s703。
s707:将最后得到的第二簇作为聚类后的一个类。
最终,能够得到最多k个类。
在具体实现的时候,初始聚类中心的个数可以根据实际的需要进行具体的设定;也可以根据多个第一目标服务提供端对应的历史出车地点的数量进行设定,且历史出车地点的数量越多,k的值也越大。
在确定k后,会从与多个第一目标服务提供端对应的历史出车地点中,选取k个作为初始聚类中心。然后针对每个初始聚类中心,依次计算除该初始聚类中心每个历史出车地点和该初始聚类中心之间的距离。
与上述图6对应的实施例类似,历史出车地点通过地理坐标系下的经纬度坐标来表示,因此可以通过经纬度坐标来计算每个历史出车地点和每个初始聚类中心之间的距离,在此不再赘述计算过程。
例如,假若与多个第一目标服务提供端对应的历史出车地点有100个,并将k的值确定为5,从100个历史出车地点中确定的100个初始聚类中心分别为:m1至m5。
针对m1,要依次计算100个历史出车地点中除m1以外的99个历史出车地点与m1之间的距离。若其中某个历史出车地点与m1之间的距离小于第一预设距离,则将该历史出车地点与m1划分到同一个簇,也即第一簇中。然后根据第一簇中所有历史出车地点的平均经纬度,并将该平均经纬度对应的地点作为簇心,将该平均经纬度作为簇心坐标。
然后以距离该簇心最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇,并将第二簇作为新的第一簇,并返回计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类。
特殊地,假若某个被选择成为初始聚类中心的历史出车地点在迭代过程中,被划分到某个类中,则不再基于该初始聚类中心进行上述迭代过程。
其三:本申请实施例提供的第三种对历史出车地点进行聚类的方法,参见图8所示,包括:针对多个第一目标服务提供端,执行下述过程:
s801:将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离;
s802:将与聚类中心之间的距离小于第二预设距离的历史出车地点划分到与聚类中心同一类中,并将该类中的所有历史出车地点作为完成聚类的历史出车地点;
s803:检测当前是否存在未完成聚类的历史出车地点;如果是,则跳转至s801,如果否,则结束。
在具体实现的时候,在该第三种聚类方法中,假设此时有m1至m10共十个为完成聚类的历史出车地点,网约车平台会在m1至m10中随机指定一个作为聚类中心。
假设此时网约车平台指定m5为聚类中心,则依次计算m1至m4,m6至m10共九个历史出车地点和作为聚类中心的m5之间的距离,并将距离小于第二预设距离的历史出车点划分待与聚类中心m5同一类中。
例如,假若m1、m4、m7与m5之间的距离均小于第二预设距离,则将m1、m4、m7和m5划分到同一类a中,并将m1、m4、m7与m5作为当前完成聚类的历史出车的地点。
此时,还存在m2、m3、m6、m8至m10共6个未完成聚类的历史出车地点,因此再从m2、m3、m6、m8至m10中指定任意一个历史出车地点作为新的聚类中心,并再次计算其它未完成聚类的历史出车地点与新的聚类中心之间的距离。
假若此时m6为新的聚类中心,且m2、m8、m10与m6之间的距离均小于第二预设距离,则将m2、m8、m10与m6划分到同一类b中,并将m2、m8、m10与m6作为完成聚类的历史出车地点。
此时还存在m3和m9为未完成聚类的历史出车地点,因此再从m3和m9中执行任意一个历史出车地点作为新的聚类中,并再次计算其它未完成聚类的历史出车地点与新的聚类中心之间的距离。
假若此时m3为新的聚类中心,且m9与m3之间的距离小于第二预设距离,则将m9和m3划分到同一类c中。
最终,m1至m10都完成聚类,并且形成了三个类,分别为:a(m1,m4,m5,m7);b(m2,m6,m8,m10);c(m3,m9)。
该第三种聚类方法较之上述第一种和第二种聚类方法更加简单,计算效率高,但较之上述两种聚类方法的精度会有所下降。
在对每个第一目标服务提供端多个历史出车地点进行聚类,得到至少一个类后,还包括:
s503:基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域。
具体地,可以采用下述方法基于每个类包含的至少一个历史出车地点,确定与该类对应的一个历史出车区域:
针对每一个类,确定该类中与该类的中心距离最远的历史出车地点;以该类的中心为圆心,以确定的历史出车地点与该中心之间的距离为半径,确定该类对应的历史出车区域。
在具体实现的时候,历史出车区域应当包括与历史出车区域对应的类中的所有历史出车地点,因此可以针对每一个类,确定该类中,与该类的中心距离最远的历史出车地点,并以该类的中心为圆心,以确定的距离类的中心最远的历史出车地点作为半径,将所形成的圆形区域确定为该对应的历史出车区域。
另外,还可以针对每个类,将类中所包括的所有历史出车地点进行两两连线,将位于最外围的连线所围成的区域作为历史出车区域。
另外,还可以形成矩形的历史出车区域。例如,使用尺寸不同的矩形筐与类中的历史出车地点进行匹配,当某个矩形框能够框住所有的历史出车地点,且该矩形框在所有的矩形框中面积最小,则将当前的矩形框所框住的区域作为历史出车区域。
另外,还可以形成矩形的历史出车区域。例如,使用尺寸不同的矩形筐与类中的历史出车地点进行匹配,当某个矩形框能够框住所有的历史出车地点,且该矩形框与其他矩形框两边都相切时,则将当前的矩形框所框住的区域作为历史出车区域。
下面,承接上述s301,获取该历史出车区域在所述预设时间段的历史订单数据后,执行下述s302。
s302:针对每个所述历史出车区域,获取该历史出车区域在与未来的所述预设时间段对应的历史时间段的历史订单数据。
这里,与未来的所述预设时间段对应的历史时间段,比如若当前时间为13:00,未来的预设时间段为13:15~13:40,则与该未来的预设时间段读音的历史时间段,为历史中每天的13:15~13:40。
s303:根据每个所述历史出车区域的历史订单数据,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供端进行调度的调度信息。
在具体实现的时候,参见图9所示,本申请实施例提供一种生成对第二目标服务提供端进行调度的调度信息的具体方法,包括:
s901:根据该历史出车区域的历史订单数据,确定与所述预设时间段对应的预估订单数量。
在具体实施中,在确定与预设时间段对应的预估订单数量时,首先根据该历史出车区域的所有历史订单数据,确定出发地在历史出车区域,且订单时间在预设时间段内的所有历史订单。
然后根据出发地在历史出车区域,且订单时间在预设时间段内的所有历史订单,计算订单时间在预设时间段内的所有历史订单的平均历史订单数量,并将该平均历史订单数量确定为预估订单数量。
s902:根据与所述预设时间段对应的预估订单数量,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成该历史出车区域在该预设时间段的订单满足系数。
示例性的,订单满足系数可以是预估订单数量与预设时间段在该历史出车区域出车的第一目标服务提供端的数量的比值。
s903:根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息。
此处,为了达到运力在各个历史出车地区的均衡,根据订单满足系数的大小,将订单满足系数较大的历史出车地区的第二目标服务终端,调度至订单满足系数较小的历史出车地区。
此处,第二目标服务提供终端,也是从多个服务提供终端中筛选出来的,示例性的,可以将各个所述历史出车区域中已经上线的,且当前处于非服务状态的服务提供端确定为所述第二目标服务提供端。
本申请实施例中,根据在预设时间段上线的第一目标服务提供端,动态确定历史出车区域,并基于每个历史出车区域在预设时间段的历史订单数据,以及在与设时间段在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供端进行调度的调度信息,从而实现对多个历史出车区域的运力平衡。
基于同一发明构思,本申请实施例中还提供了与运力调度方法对应的运力调度装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述运力调度方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参见图10所示,本申请实施例提供的运力调度装置包括:
第一获取模块11,用于获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域;
第二获取模块12,用于针对每个所述历史出车区域,获取该历史出车区域在与未来的所述预设时间段对应的历史时间段的历史订单数据;
生成模块13,用于根据每个所述历史出车区域的历史订单数据,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供端进行调度的调度信息。
一种可选实施方式中,还包括:第一确定模块14,用于获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域之前,从多个服务提供端中确定所述第一目标服务提供端。
一种可选实施方式中,所述第一确定模块14,用于采用下述方式从多个服务提供端中确定所述第一目标服务提供端:
获取多个服务提供端的历史订单数据;所述历史订单数据包括接单时间;
针对每个服务提供端,基于所述接单时间对该目标服务提供端的历史订单进行分组;其中,每个分组中,任意两个相邻的历史订单之间的接单时间差小于预设时间差阈值;
检测该服务提供端的各个分组中是否存在目标分组;所述目标分组中接单时间最早的历史订单对应的接单时间落入所述预设时间段内;
若存在所述目标分组,则将该服务提供端确定为第一目标服务提供端。
一种可选实施方式中,所述第一确定模块14,用于采用下述方式检测该服务提供端的各个分组中是否存在目标分组:
从与该服务提供端对应的分组中,确定接单时间最早的历史订单对应的接单时间落入与所述预设时间段对应的历史时间段内的所有分组;若确定的所有分组中历史订单的数量达到该服务提供端历史订单总数量的预设百分比,或者,确定的所有分组中历史订单数量满足预设的数量阈值,则将该服务提供端确定为所述第一目标服务提供端。
一种可选实施方式中,所述第一获取模块11,用于采用下述方式获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域:
获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点;
对多个第一目标服务提供端的历史出车地点进行聚类,得到至少一个类;
基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域。
一种可选实施方式中,所述第一获取模块11,用于采用下述方式获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点:
将各个所述第一目标服务提供端对应的目标分组中,接单时间最早的历史订单对应的接单地点,确定为该第一目标服务提供端对应的历史出车地点。
一种可选实施方式中,所述第一获取模块11,用于采用下述方式获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点:
在接收到第一目标服务提供端的开始接单指令时,记录该第一服务提供端所在的地理位置;
将在与未来的预设时间段对应的历史时间段内接收到的开始接单指令对应的地理位置,确定为该第一目标服务提供端的历史出车地点。
一种可选实施方式中,所述生成模块13,具体用于:
根据该历史出车区域的历史订单数据,确定与所述预设时间段对应的预估订单数量;
根据与所述预设时间段对应的预估订单数量,以及预设时间段在该历史出车区域出车的第一目标服务提供端的数量,生成该历史出车区域在该预设时间段的订单满足系数;
根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息。
一种可选实施方式中,还包括:第二确定模块15,用于根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息之前,将各个所述历史出车区域中已经上线的,且当前处于非服务状态的服务提供端确定为所述第二目标服务提供端。
一种可选实施方式中,所述第一获取模块11,用于采用下述方式对多个第一目标服务提供端的历史出车地点进行聚类:
以所有第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中各历史出车地点的平均经纬度;
以与所述第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇;
将所述第二簇作为新的第一簇,并返回所述计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类,并将第二簇中的历史出车地点作为完成聚类的历史出车地点;
返回以各个第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标的步骤,直到各个第一目标服务提供端的历史出车地点完成聚类,得到聚类后的一个或多个类。
一种可选实施方式中,所述第一获取模块11,用于采用下述方式对多个第一目标服务提供端的历史出车地点进行聚类:
根据预设的历史出车区域的个数k,从各个第一目标服务提供端的历史出车地点中随机选择k个历史出车地点作为初始的聚类中心;
针对每个初始的聚类中心,执行以下步骤:
将与该聚类中心之间的距离小于第一预设距离的历史出车地点和该聚类中心作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中历史出车地点的平均经纬度;
以与所述第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇;
将所述第二簇作为新的第一簇,并返回所述计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类。
一种可选实施方式中,所述第一获取模块11,用于采用下述方式对多个第一目标服务提供端的历史出车地点进行聚类:
将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离;
将与所述聚类中心之间的距离小于第二预设距离的历史出车地点划分到与所述聚类中心同一类中,并将该类中的所有历史出车地点作为完成聚类的历史出车地点;
返回所述将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离的步骤,直至所有的历史出车地点完成聚类。
一种可选实施方式中,所述第一获取模块11,用于采用下述方式基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域:
针对每一个类,确定该类中与该类的中心距离最远的历史出车地点;以该类的中心为圆心,以确定的所述与该类的中心距离最远的历史出车地点与该中心之间的距离为半径,确定该类对应的历史出车区域。
如图2所示,本申请实施例还提供一种电子设备,包括:处理器220、存储介质和总线230,所述存储介质存储有所述处理器220可执行的机器可读指令,当电子设备运行时,所述处理器220与所述存储介质之间通过总线通信230,所述处理器220执行所述机器可读指令,以执行时执行如本申请实施例提供的运力调度方法的步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如本申请实施例提供的运力调度方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
1.一种运力调度方法,其特征在于,该方法包括:
获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域;
针对每个所述历史出车区域,获取该历史出车区域在与未来的所述预设时间段对应的历史时间段的历史订单数据;
根据每个所述历史出车区域的历史订单数据,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供端进行调度的调度信息。
2.根据权利要求1所述的方法,其特征在于,所述获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域之前,还包括:
从多个服务提供端中确定所述第一目标服务提供端。
3.根据权利要求2所述的方法,其特征在于,所述从多个服务提供端中确定所述第一目标服务提供端,包括:
获取多个服务提供端的历史订单数据;所述历史订单数据包括接单时间;
针对每个服务提供端,基于所述接单时间对该目标服务提供端的历史订单进行分组;其中,每个分组中,任意两个相邻的历史订单之间的接单时间差小于预设时间差阈值;
检测该服务提供端的各个分组中是否存在目标分组;所述目标分组中接单时间最早的历史订单对应的接单时间落入所述预设时间段内;
若存在所述目标分组,则将该服务提供端确定为第一目标服务提供端。
4.根据权利要求3所述的方法,其特征在于,所述检测该服务提供端的各个分组中是否存在目标分组,包括:
从与该服务提供端对应的分组中,确定接单时间最早的历史订单对应的接单时间落入与所述预设时间段对应的历史时间段内的所有分组;若确定的所有分组中历史订单的数量达到该服务提供端历史订单总数量的预设百分比,或者,确定的所有分组中历史订单数量满足预设的数量阈值,则将该服务提供端确定为所述第一目标服务提供端。
5.根据权利要求3所述的方法,其特征在于,所述获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域,包括:
获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点;
对多个第一目标服务提供端的历史出车地点进行聚类,得到至少一个类;
基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域。
6.根据权利要5所述的方法,其特征在于,所述获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点,包括:
将各个所述第一目标服务提供端对应的目标分组中,接单时间最早的历史订单对应的接单地点,确定为该第一目标服务提供端对应的历史出车地点。
7.根据权利要求5所述的方法,其特征在于,所述获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点,包括:
在接收到第一目标服务提供端的开始接单指令时,记录该第一服务提供端所在的地理位置;
将在未来的预设时间段对应的历史时间段内接收到的开始接单指令对应的地理位置,确定为该第一目标服务提供端的历史出车地点。
8.根据权利要求1所述的方法,其特征在于,根据该历史出车区域在的历史订单数据,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供方向终端进行调度的调度信息,包括:
根据该历史出车区域的历史订单数据,确定与所述预设时间段对应的预估订单数量;
根据与所述预设时间段对应的预估订单数量,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成该历史出车区域在该预设时间段的订单满足系数;
根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息。
9.根据权利要求8所述的方法,其特征在于,所述根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息之前,还包括:
将各个所述历史出车区域中已经上线的,且当前处于非服务状态的服务提供端确定为所述第二目标服务提供端。
10.根据权利要求5所述的方法,其特征在于,所述对多个第一目标服务提供端的历史出车地点进行聚类,包括:
以所有第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中各历史出车地点的平均经纬度;
以与所述第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇;
将所述第二簇作为新的第一簇,并返回所述计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类,并将第二簇中的历史出车地点作为完成聚类的历史出车地点;
返回以各个第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标的步骤,直到各个第一目标服务提供端的历史出车地点完成聚类,得到聚类后的一个或多个类。
11.根据权利要求5所述的方法,其特征在于,所述对多个第一目标服务提供端的历史出车地点进行聚类,包括:
根据预设的历史出车区域的个数k,从各个第一目标服务提供端的历史出车地点中随机选择k个历史出车地点作为初始的聚类中心;
针对每个初始的聚类中心,执行以下步骤:
将与该聚类中心之间的距离小于第一预设距离的历史出车地点和该聚类中心作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中历史出车地点的平均经纬度;
以与所述第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇;
将所述第二簇作为新的第一簇,并返回所述计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类。
12.根据权利要求5所述的方法,其特征在于,所述对多个第一目标服务提供端的历史出车地点进行聚类,包括:
将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离;
将与所述聚类中心之间的距离小于第二预设距离的历史出车地点划分到与所述聚类中心同一类中,并将该类中的所有历史出车地点作为完成聚类的历史出车地点;
返回所述将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离的步骤,直至所有的历史出车地点完成聚类。
13.根据权利要求5所述的方法,其特征在于,所述基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域,包括:
针对每一个类,确定该类中与该类的中心距离最远的历史出车地点;以该类的中心为圆心,以确定的所述与该类的中心距离最远的历史出车地点与该中心之间的距离为半径,确定该类对应的历史出车区域。
14.一种运力调度装置,其特征在于,该装置包括:
第一获取模块,用于获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域;
第二获取模块,用于针对每个所述历史出车区域,获取该历史出车区域在与未来的所述预设时间段对应的历史时间段的历史订单数据;
生成模块,用于根据每个所述历史出车区域的历史订单数据,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成对第二目标服务提供端进行调度的调度信息。
15.根据权利要求14所述的装置,其特征在于,还包括:第一确定模块,用于获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域之前,从多个服务提供端中确定所述第一目标服务提供端。
16.根据权利要求15所述的装置,其特征在于,所述第一确定模块,用于采用下述方式从多个服务提供端中确定所述第一目标服务提供端:
获取多个服务提供端的历史订单数据;所述历史订单数据包括接单时间;
针对每个服务提供端,基于所述接单时间对该目标服务提供端的历史订单进行分组;其中,每个分组中,任意两个相邻的历史订单之间的接单时间差小于预设时间差阈值;
检测该服务提供端的各个分组中是否存在目标分组;所述目标分组中接单时间最早的历史订单对应的接单时间落入所述预设时间段内;
若存在所述目标分组,则将该服务提供端确定为第一目标服务提供端。
17.根据权利要求16所述的装置,其特征在于,所述第一确定模块,用于采用下述方式检测该服务提供端的各个分组中是否存在目标分组:
从与该服务提供端对应的分组中,确定接单时间最早的历史订单对应的接单时间落入与所述预设时间段对应的历史时间段内的所有分组;若确定的所有分组中历史订单的数量达到该服务提供端历史订单总数量的预设百分比,或者,确定的所有分组中历史订单数量满足预设的数量阈值,则将该服务提供端确定为所述第一目标服务提供端。
18.根据权利要求16所述的装置,其特征在于,所述第一获取模块,用于采用下述方式获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车区域:
获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点;
对多个第一目标服务提供端的历史出车地点进行聚类,得到至少一个类;
基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域。
19.根据权利要18所述的装置,其特征在于,所述第一获取模块,用于采用下述方式获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点:
将各个所述第一目标服务提供端对应的目标分组中,接单时间最早的历史订单对应的接单地点,确定为该第一目标服务提供端对应的历史出车地点。
20.根据权利要求18所述的装置,其特征在于,所述第一获取模块,用于采用下述方式获取在未来的预设时间段上线的多个第一目标服务提供端的历史出车地点:
在接收到第一目标服务提供端的开始接单指令时,记录该第一服务提供端所在的地理位置;
将在未来的预设时间段对应的历史时间段内接收到的开始接单指令对应的地理位置,确定为该第一目标服务提供端的历史出车地点。
21.根据权利要求14所述的装置,其特征在于,所述生成模块,具体用于:
根据该历史出车区域的历史订单数据,确定与所述预设时间段对应的预估订单数量;
根据与所述预设时间段对应的预估订单数量,以及在与未来的所述预设时间段对应的历史时间段,在该历史出车区域出车的第一目标服务提供端的数量,生成该历史出车区域在该预设时间段的订单满足系数;
根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息。
22.根据权利要求21所述的装置,其特征在于,还包括:第二确定模块,用于根据各个历史出车地区的订单满足系数的大小,生成对所述第二目标服务提供端进行调度的调度信息之前,将各个所述历史出车区域中已经上线的,且当前处于非服务状态的服务提供端确定为所述第二目标服务提供端。
23.根据权利要求18所述的装置,其特征在于,所述第一获取模块,用于采用下述方式对多个第一目标服务提供端的历史出车地点进行聚类:
以所有第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中各历史出车地点的平均经纬度;
以与所述第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇;
将所述第二簇作为新的第一簇,并返回所述计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类,并将第二簇中的历史出车地点作为完成聚类的历史出车地点;
返回以各个第一目标服务提供端的历史出车地点作为第一簇,计算第一簇的簇心坐标的步骤,直到各个第一目标服务提供端的历史出车地点完成聚类,得到聚类后的一个或多个类。
24.根据权利要求18所述的装置,其特征在于,所述第一获取模块,用于采用下述方式对多个第一目标服务提供端的历史出车地点进行聚类:
根据预设的历史出车区域的个数k,从各个第一目标服务提供端的历史出车地点中随机选择k个历史出车地点作为初始的聚类中心;
针对每个初始的聚类中心,执行以下步骤:
将与该聚类中心之间的距离小于第一预设距离的历史出车地点和该聚类中心作为第一簇,计算第一簇的簇心坐标,所述簇心坐标为第一簇中历史出车地点的平均经纬度;
以与所述第一簇的簇心距离最近的历史出车地点为中心,确定与该中心在预设距离范围内的历史出车地点,组成第二簇;
将所述第二簇作为新的第一簇,并返回所述计算第一簇的簇心坐标的步骤,直到满足迭代停止条件,将最后得到的第二簇作为聚类后的一个类。
25.根据权利要求18所述的装置,其特征在于,所述第一获取模块,用于采用下述方式对多个第一目标服务提供端的历史出车地点进行聚类:
将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离;
将与所述聚类中心之间的距离小于第二预设距离的历史出车地点划分到与所述聚类中心同一类中,并将该类中的所有历史出车地点作为完成聚类的历史出车地点;
返回所述将当前未完成聚类的历史出车地点中任意一个历史出车地点作为聚类中心,并依次计算其它当前未完成聚类的每一个历史出车地点与该聚类中心之间的距离的步骤,直至所有的历史出车地点完成聚类。
26.根据权利要求18所述的装置,其特征在于,所述第一获取模块,用于采用下述方式基于每个类包含的至少一个历史出车地点,确定与该类对应的历史出车区域:
针对每一个类,确定该类中与该类的中心距离最远的历史出车地点;以该类的中心为圆心,以确定的所述与该类的中心距离最远的历史出车地点与该中心之间的距离为半径,确定该类对应的历史出车区域。
27.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1~13任一所述的运力调度方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1~13任一所述的运力调度方法。
技术总结