具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
如图1所示,系统1000包括服务器1100、客户端1200以及网络1300。
服务器1100是提供处理、数据库、通讯设施的业务点,可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。其类型可以单不限于网络服务器,新闻服务器,邮件服务器,消息服务器,广告服务器,文件服务器,应用服务器,交互服务器,数据库服务器,或代理服务器。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类型的服务器中的一种或多种等等。
在一个例子中,服务器1100可以是一台计算机。在在另一个例子中,服务器1100可以如图1所示,包括处理器1110、存储器1120、接口装置1130、通信装置1140、显示装置1150、输入装置1160。尽管服务器也可以包括扬声器、麦克风等等,但是,这些部件与本发明无关,故在此省略。
其中,处理器1110例如可以是中央处理器CPU、微处理器MCU等。存储器1120例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130例如包括USB接口、串行接口等。通信装置1140例如能够进行有线或无线通信。显示装置1150例如是液晶显示屏。输入装置1160例如可以包括触摸屏、键盘等。
客户端1200是具有通信功能、业务处理功能的电子设备。客户端1200可以是移动终端,例如手机、便携式电脑、平板电脑、掌上电脑等等。在一个例子中,客户端1200是安装有提供交通设备共乘服务的应用(APP),可以支持有共乘出行需求的用户获取符合需求的共乘路线,根据所述共乘路线的指示,通过如步行、自行车骑行、驾驶或乘坐共乘交通设备集合后开始共乘出行,共乘交通设备是可以提供多个用户共乘出行的交通设备,例如提供专车服务、快车服务或顺风车服务的机动车辆、私家机动车辆、分时租赁驾驶出行的机动车辆、提供运营服务的机动车辆等,该机动车辆可以是二座以上的小型车、小巴车、大巴车、旅游车等。
如图1所示,客户端1200可以包括处理器1210、存储器1220、接口装置1230、通信装置1240、显示装置1250、输入装置1260、扬声器1270、麦克风1280,等等。其中,处理器1210可以是中央处理器CPU、微处理器MCU等。存储器1220例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1230例如包括USB接口、耳机接口等。通信装置1240例如能够进行有线或无线通信。显示装置1250例如是液晶显示屏、触摸显示屏等。输入装置1260例如可以包括触摸屏、键盘等。用户可以通过扬声器1270和麦克风1280输入/输出语音信息。
通信网络1300可以是无线网络也可以网络,可以是局域网也可以是广域网。在图1所示的系统1000中,客户端1200-1、1200-2、1200-3、1200-4以及网页服务器1100可以通过通信网络1300进行通信。
图1所示的系统1000仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
应用于本发明的实施例中,服务器1100的所述存储器1120用于存储可执行的指令,所述处理器1110用于根据所述指令的控制,运行所述服务器1100,以执行本发明实施例中提供的任意一项共乘路线的规划方法。
客户端1200的所述存储器1220用于存储可执行的指令,所述处理器1210用于根据所述指令的控制,运行所述客户端1200,以执行本发明实施例提供的任意一项共乘路线的规划方法。
本领域技术人员应当理解,尽管在图1中对服务器1100以及客户端1200都示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,服务器1100只涉及处理器1110和存储装置1120,或者客户端1200只涉及处理器1210和存储装置1220等。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<第一实施例>
<方法>
在本实施例中,提供一种共乘路线的规划方法,用于为通过共乘交通设备出行的多个共乘人员规划共乘路线。
共乘交通设备是可以提供多个用户共乘出行的交通设备。例如,可以是提供专车服务、快车服务或顺风车服务的机动车辆、私家机动车辆、分时租赁驾驶出行的机动车辆、提供运营服务的激动车辆等,该机动车辆可以是二座以上的小型车、小巴车、大巴车、旅游车等。
共乘人员包括驾驶共乘交通设备的司机、搭乘共乘交通设备的乘客。
该共乘路线的规划方法,如图2所示,包括:
步骤S2100,获取交通地理信息以及每个所述共乘人员的出行参数,
其中,所述交通地理信息至少包括交通地图,所述出行参数至少包括所述共乘人员的共乘身份、出发地、目的地。
所述交通地图包括覆盖对应出行区域的地图,可以是预先存储在实施本实施例的设备本地存储中,也可以通过现有的地图应用提供的接口进行调用获取对应提供的地图,还可以获取不同出行方式下的路线组合、实时路况信息等,该出行方式包括乘坐公共交通、自行车骑行、步行、自驾出行等。
所述交通地理信息还可以包括历史交通数据,所述历史交通数据包括历史拥堵数据、历史共乘热点数据其中之一。所述历史拥堵数据是根据历史数据统计的所述交通地图上可出行的交通路线的每个时段的拥堵状态的数据;所述历史共乘热点数据是根据历史数据统计的作为共乘起点或者共乘终点的共乘热点的地理位置的数据,共乘热点可以是某个地铁站口、停车场、公交站、自行车停靠点、出租车候车点、便于等车的路口等,该历史共乘热点数据可以包括共乘热点的唯一名称信息、地理坐标数据或者地理标识等。
在一个例子中,所述交通地理信息还包括共享自行车的地理分布,所述共享自行车的地理分布包括所述共享自行车的停靠点以及可用数量。
所述共享自行车是可以提供分时租赁骑行服务的自行车,包括人力自行车、助力自行车、电动自行车等。
所述出行参数是对应的共乘人员在通过所述共乘交通设备出行的相关参数信息。
所述共乘人员的共乘身份包括驾驶共乘交通设备的司机、搭乘共乘交通设备的乘客。
所述出发地、目的地可以是对应的地理位置的唯一名称信息、唯一标识或者地理位置坐标数据。
在一个例子中,所述出行参数还可以包括对应的工程人员的历史出行信息,该历史出行信息至少包括历史共乘方式、历史时速信息其中之一,该历史共乘方式是共乘人员在过去共乘时选择的共乘方式,包括乘客历史共乘时通过步行方式或者自行车骑行方式到达共乘起点;历史时速信息是共乘人员在过去共乘时的时速信息,可以是司机驾驶共乘交通设备的历史平均时速以及乘客步行或者自行车骑行时历史平均时速。
在本实施例中,可以通过面向共乘人员的客户端提供人机交互界面,供用户输入对应作为共乘人员时的共乘参数,以此获取共乘参数。
步骤S2200,根据所述多个共乘人员的出发地,选择对应的候选起点,得到包括多个所述候选起点的候选起点集,
其中,所述候选起点是部分或全部所述共乘人员集合进入所述共乘交通设备的候选地点。
具体地,所述步骤S2200可以如图3所示,包括:
步骤S2201,以每个共乘人员的出发地为中心,以预设的地理半径划分得到对应的候选起点区域。
所述预设的地理半径可以根据具体的应用场景或者工程经验设置。划分得到的候选起点区域,是由距离对应的出发地在预设的地理半径内的地点构成。
在一个例子中,还可以根据所述交通地理信息在划分的候选起点区域中滤除不适当的候选起点区域,例如,人流密集不适合交通共乘设备的停靠的区域,或者不适合所述共乘人员通过自行车骑行、步行等方式到达的区域;或者,可以根据所述交通地理信息在划分的候选起点区域中,只保留与历史共乘热点数据相关的候选起点区域,例如,包括地铁站口、停车场、公交站、自行车停靠点、出租车候车点、便于等车的路口的候选起点区域。
步骤S2202,在每个所述候选起点区域中,选择至少一个允许所述共乘交通设备停靠的地点作为候选起点,得到多个所述候选起点,以生成所述候选起点集合。
具体地,可以根据所述交通地理信息中包括的历史共乘热点数据,选择所述候选起点区域中的共乘热点作为候选起点,例如,地铁站口、停车场、公交站、自行车停靠点、出租车候车点、便于等车的路口等。或者,还可以根据应用场景选择,例如,可以选择候选起点区域中的共享自行车的可用数量大于预设数量的自行车停靠点附近、可以停靠共乘交通设备的地点,该预设数量可以根据实际应用需求设置。
在实际应用中,每个共乘人员的出发地的分布具有随意性,不同的候选起点区域之间可能存在部分的地理位置交叠,在不同的候选起点区域中选择的得到所述候选起点,可能存在重复。该重复可能是多个候选地点的地理位置完全相同,也可能是候选地点的距离较近,例如,距离在预设的较小的距离范围内。应当理解的是,得到候选起点集中包含的多个所述候选起点,是滤除重复的候选起点,是具有不同地理位置的候选起点。
获取候选起点集后,可以以候选起点集中的候选起点作为共乘路线的共乘起点,构建对应的候选共乘路线,从中选择全体共乘人员的出行成本最小的共乘路线,使得部分或全部共乘人员都以对应的出行方式到达共乘路线的共乘起点开始共乘出行,降低因交通拥堵或路况不佳带来较高的集合共乘人员的时间成本(例如司机绕道、堵车等待的时间、乘客等待的时间等),实现出行成本最小,提升共乘出行的效率。
步骤S2300,根据所述交通地理信息、所述共乘人员的出行参数以及所述候选起点集,构建多条候选共乘路线,并计算获取每条所述候选共乘路线的出行成本,
其中,所述候选共乘路线包括每个所述共乘人员的共乘起点、目的地、共乘方式,所述共乘起点是所述候选起点集中的一个所述共乘起点,所述共乘方式至少包括所述共乘人员从对应的出发地到达所述共乘起点的出行方式;所述出行方式至少包括乘坐所述共乘交通设备、自行车骑行、步行;所述出行成本至少包括出行距离、出行时间、出行费用其中之一。
具体地,所述构建多条候选共乘路线的步骤可以如图4所示,包括:
步骤S2311,分别对每个所述候选起点,根据所述多个共乘人员的目的地以及所述候选起点集中的其他所述候选起点,构建多条具有不同路径次序的候选路径序列;
步骤S2312,分别对每个所述候选路径序列,根据所述交通地理信息,获取对应的所述候选共乘路线。
例如,假设交通共乘设备是可以提供K+1位共乘人员共乘的车辆,包括司机D与K位乘客Uk(k∈{1,2,3,...,K}),已知司机的出发地D_s,乘客的最初出发地Uk_s(k∈{1,2,3,...,K})与乘客最终目的地Uk_e(k∈{1,2,3,...,K}),得到的候选起点集为包括P个候选起点:Psp(p∈{1,2,3,...,P}),可以得到不同路径次序的候选路径序列:
{Ps1,U1_e,U2_e,…,UK_e}
{Ps1,Ps2,U1_e,U2_e,…,UK_e}
{Ps1,Ps2,Ps3,U1_e,U2_e,…,UK_e}
{Ps1,…,PsP,U1_e,U2_e,…,UK_e}
{Ps1,…,PsP,U2_e,U1_e,…,UK_e}
……
{Ps1,…,PsP,UK_e,UK-1_e,…,U1_e}
{Ps2,U1_e,U2_e,…,UK_e}
{Ps2,Ps1,U1_e,U2_e,…,UK_e}
……
{PsP,…,Ps1,UK_e,U2_e,…,U1_e}
从上述构建得到的候选路径序列中,可知一个候选路径序列可能包括多个候选起点,可以遍历覆盖实际应用中,一辆车辆会在多个共乘起点停留让出发地距离较远的共乘人员分别上车的情况。
在构建得到多条候选路径序列后,可以根据交通地理信息,获取对应的所述候选共乘路线。
例如,根据交通地理信息中包括的交通地图,可以直接根据交通地图,得到每个候选路径序列中,对任意两个节点之间在交通地图存在多条可达路径分别选取最短路径(同时得到两个节点之间的路径距离),规划得到对应的候选共乘路线。
以候选路径序列{Ps1,U1_e,U2_e,…,UK_e}为例,可以根据交通地图,获取Ps1与U1_e之间、U1_e与U2_e、……UK-1_e与UK_e之间的最短路径(同时得到两个节点之间的路径距离),连接得到对应的候选共乘路线。
应当理解的是,当所述交通地理信息包括多种信息时,可以根据多种信息加权计算任意两个节点之间的可达路径的距离,来选取最短路径。例如包含交通地图、历史交通数据时,还可以对候选路径序列中任意两个节点的之间的多条可达路径分别根据对应的历史交通数据以加权系数加权(例如,拥堵程度高,加权系统大,使得路径距离变大),以选取综合实际路径距离和历史交通数据后得到的最短路径。
在获取多条候选共乘路线后,计算获取每条所述候选共乘路线的出行成本的步骤,可以如图5所示,包括:
步骤S2321,分别对每个所述共乘人员,根据对应的出行参数以及所述交通地理信息,计算得到在该候选共乘路线下的最小出行成本以及对应的所述共乘方式;
步骤S2322,根据全部所述共乘人员在该候选共乘路线下的最小出行成本,计算得到该候选共乘路线的出行成本。
基于以上述候选路径序列{Ps1,U1_e,U2_e,…,UK_e}对应的候选共乘路线举例说明。该候选共乘路径序列中包含了n=1+K个节点,通过如图4所示的方法,已经获取该候选共乘路线上所有前后两个节点之间的距离:
对于司机D,是通过驾驶车辆对候选路径序列{Ps1,U1_e,U2_e,…,UK_e}对应的候选共乘路线实施与其他共乘人员共乘,其在该候选共乘路线下的共乘方式是乘坐车辆,根据其由出发地D_s到Ps1的距离与获取该候选共乘路线上所有前后两个节点之间的距离计算得到的候选共乘路线的总出行距离
假设出行成本以出行距离计算,那么司机D在该候选共乘路线下的最小出行成本为SumLD;假设出行成本以出行时间计算,可以根据司机驾驶车辆的历史时速信息或预先获取的平均时速信息来计算行驶该出行距离的出行时间;假设出行成本以出行费用计算,可以根据该出行距离计算油耗来计算,等等;
对于乘客U1,是可以通过步行、自行车骑行或者搭乘其他公共交通的方式,从出发地U1_s到达Ps1,通过搭乘共乘交通设备在候选路径序列{Ps1,U1_e,U2_e,…,UK_e}对应的候选共乘路线上实施共乘,并且在对应的目的地U1_e下车;
可以根据乘客U1由出发地U1_s到达Ps1的距离选择乘客U1由出发地U1_s到达Ps1使得出行成本较小的出行方式,例如,出行成本是出行时间时,大于1千米,可以为乘客U1选择自行车骑行,小于1千米,可以为乘客U1选择步行,还可以根据乘客U1的历史共乘方式来选取,等等;
假设获取该候选共乘路线上所有前后两个节点之间的距离计算得到乘客U1在候选共乘路线的总出行距离
假设出行成本以出行距离计算,那么乘客U1在该候选共乘路线下的最小出行成本为假设出行成本以出行时间计算,乘客U1的共乘方式是自行车骑行+乘坐共乘交通设备,根据乘客U1和司机D的历史时速信息或者预先存储的平行时速信息,计算下乘客以自行车骑行的时间以及司机D驾驶距离的时间,求和得到对应的出行时间;假设出行成本以出行费用计算,可以根据乘客U1在该出行距离上的自行车骑行花费以及搭乘交通共乘设备的里程花费来计算,等等;
对于其他乘客Uk(k=2,...,K),计算出行成本如与乘客U1类似,在此不再赘述。
在获取每个共乘人员在该条候选共乘路线下的最小出行车本后,进行累加,就能得到该候选共乘路线的出行成本,例如,假设出行成本以出行距离计算时,可以得到该候选共乘路线的出行成本为:
应当理解的是,在某些应用场景中,为了更好地贴合共乘人员的需求,出行成本的计算会更为复杂,例如出行成本需要综合考虑出行距离、出行时间以及出行费用,可以通过为出行距离、出行时间、出行费用设置对应不同的权重来实现出行成本的综合计算,而在本实施例公开了上述计算候选共乘路线的出行成本的例子后,本领域技术人员可以无需任何创造性进行改进,以适用于成本需要综合考虑出行距离、出行时间以及出行费用或者更多信息的场景。
此外,对于具有不同优先级的共乘人员,在本实施例公开了上述计算候选共乘路线的出行成本的例子后,本领域技术人员可以无需任何创造性进行改进,很容易想到,在累加求取候选共乘路线的出行成本时,为不同优先级的共乘人员设置不同的优先级权重,来计算每一条共乘路线下的出行成本。
通过构建多条具有共乘起点候选共乘路线并计算对应的出行成本,可以选择全体共乘人员的出行成本最小的共乘路线,使得部分或全部共乘人员都以对应的出行方式到达共乘路线的共乘起点开始共乘出行,降低因交通拥堵或路况不佳带来较高的集合共乘人员的时间成本(例如司机绕道、堵车等待的时间、乘客等待的时间等),实现全体共乘人员的出行成本最小,提升共乘出行的效率。
而在实际应用中,部分共乘人员中的目的地可能距离较近,分次停靠可能会导致整体共乘的出行时间或出行距离变长,或者某些共乘人员的目的地并不适于停靠,例如目的地在共乘路线的行驶方向上需要掉头、或者目的地比较拥堵行驶到达耗时较长等,都会影响出行成本,降低共乘出行效率。
因此,在本实施例中,还提供一种共乘路线规划方法,如图6所示,包括:
在所述构建候选共乘路线步骤之前,还包括:
步骤S2200-1,根据所述多个共乘人员的目的地,生成对应的候选终点集,
其中,所述候选终点是至少一个共乘人员离开所述共乘交通设备的候选地点;
所述构建所述候选共乘路线计算每条所述候选共乘路线的出行成本的步骤S2300包括:
根据所述交通地理信息、所述共乘人员的出行参数、所述候选起点集以及所述候选终点集,构建多条候选共乘路线,并计算获取每条所述候选共乘路线的出行成本;
其中,所述候选共乘路线包括每个所述共乘人员的共乘起点、共乘终点、共乘方式,所述共乘终点是所述候选终点集中的一个所述候选终点,所述共乘方式还包括所述共乘人员从对应的共乘终点到达所述目的地的出行方式。
具体地,所述生成候选终点集的步骤包括:
以每个共乘人员的目的地为中心,以预设的地理半径划分得到对应的候选终点区域;
在每个所述候选终点区域中选择至少一个允许所述共乘交通设备停靠的地点作为候选终点,得到多个所述候选终点,以生成所述候选终点集。
上述生成候选终点集的步骤,与如图3所示的生成候选起点集的步骤相比,除了划分的候选终点区域时是以每个共乘人员的目的地之外,其他类似,可以参照前文如图3所示的步骤实施,在此不再赘述。
具体地,如图6所示的方法中,所述构建多条候选共乘路线的步骤可以包括:
分别对每个所述候选起点,根据所述候选集中的其他所述候选起点以及所述候选终点集,构建多条具有不同路径次序的候选路径序列;
分别对每个所述候选路径序列,根据所述交通地图,获取对应的所述候选共乘路线。
例如,假设交通共乘设备是可以提供K+1位共乘人员共乘的车辆,包括司机D与K位乘客Uk(k∈{1,2,3,...,K}),已知司机的出发地D_s,乘客的最初出发地Uk_s(k∈{1,2,3,...,K})与乘客最终目的地Uk_e(k∈{1,2,3,...,K}),得到的候选起点集为包括P个候选起点:Psp(p∈{1,2,3,...,P}),得到的候选终点集为包括Q个候选起点:Peq(q∈{1,2,3,...,Q}),
可以得到不同路径次序的候选路径序列:
{Ps1,Pe1}
{Ps1,Ps2,Pe1}
{Ps1,Ps2,Ps3,Pe1}
{Ps1,…,PsP,Pe1}
{Ps1,…,PsP,Pe1,Pe2}
{Ps1,…,PsP,Pe2,Pe1}
……
{Ps1,…,PsP,PeQ,…,Pe1}
{Ps2,Pe1}
……
{Ps2,…,PsP,PeQ,…,Pe1}
……
{PsP,…,Ps1,PeQ,…,Pe1}
从上述构建得到的后续路径序列中,可知一个候选路径序列可能包括多个候选起点以及多个候选终点,可以遍历覆盖实际应用中,一辆车辆会在多个共乘起点停留让出发地距离较远的共乘人员分别上车、以及在多个共乘终点停留让目的地距离较远的共乘人员分别下车情况。
在构建得到多条候选路径序列后,可以根据交通地理信息,获取对应的所述候选共乘路线。获取共乘路线的步骤,与前文已详细描述的图4所示的步骤S2312相同,在此不再赘述。
在获取多条候选路线后,如图6所示的方法中,计算获取每条所述候选共乘路线的出行成本的步骤,可以包括:
分别对每个所述共乘人员,根据对应的出行参数以及所述交通地理信息,计算得到在该候选共乘路线下的最小出行成本以及对应的所述共乘方式,
根据全部所述共乘人员在该候选共乘路线下的最小出行成本,计算得到该候选共乘路线的出行成本。
例如,对上述例子中的候选路径序列{Ps1,Pe1}对应的候选共乘路线,假设获取该候选共乘路线上所有前后两个节点之间的距离:
对于司机D,是通过驾驶车辆对候选路径序列{Ps1,Pe1}对应的候选共乘路线实施与其他共乘人员共乘,其在该候选共乘路线下的共乘方式是乘坐车辆,根据其由出发地D_s到Ps1的距离与获取该候选共乘路线上所有前后两个节点之间的距离计算得到的候选共乘路线的总出行距离
假设出行成本以出行距离计算,那么司机D在该候选共乘路线下的最小出行成本为SumLD;假设出行成本以出行时间计算,可以根据司机驾驶车辆的历史时速信息或预先获取的平均时速信息来计算行驶该出行距离的出行时间;假设出行成本以出行费用计算,可以根据该出行距离计算油耗来计算,等等;
对于乘客U1,是可以通过步行、自行车骑行或者搭乘其他公共交通的方式,从出发地U1_s到达Ps1,通过搭乘共乘交通设备在候选路径序列{Ps1,Pe1}对应的候选共乘路线上实施共乘,并且在共乘终点Pe1下车,通过可以通过步行、自行车骑行或者搭乘其他公共交通的方式从共乘终点Pe1到达目的地U1_e;
可以根据乘客U1由出发地U1_s到达Ps1的距离选择乘客U1由出发地U1_s到达Ps1使得出行成本较小的出行方式,例如,出行成本是出行时间时,大于1千米,可以为乘客U1选择自行车骑行,小于1千米,可以为乘客U1选择步行,还可以根据乘客U1_s的历史共乘方式来选取等等;
类似地,也可以根据共乘终点Pe1到目的地U1_e的距离或者根据乘客U1_s的历史共乘方式,选择乘客U1由从共乘终点Pe1到达目的地Pe1使得出行成本较小的出行方式。
假设获取该候选共乘路线上所有前后两个节点之间的距离计算得到乘客U1在候选共乘路线的总出行距离
假设出行成本以出行距离计算,那么乘客U1在该候选共乘路线下的最小出行成本为假设出行成本以出行时间计算,可以根据乘客U1和司机D的历史时速信息或者预先存储的平行时速信息,计算乘客U1以自行车骑行的时间以及司机D驾驶距离的时间,求和得到对应的出行时间;假设出行成本以出行费用计算,可以根据乘客U1在该出行距离上的自行车骑行花费以及搭乘交通共乘设备的里程花费来计算,等等;
对于其他乘客Uk(k=2,...,K),计算出行成本如与乘客U1类似,在此不再赘述。
在获取每个共乘人员在该条候选共乘路线下的最小出行车本后,进行累加,就能得到该候选共乘路线的出行成本,例如,假设出行成本以出行距离计算时,可以得到该候选共乘路线的出行成本为:
应当理解的是,在某些应用场景中,为了更好地贴合共乘人员的需求,出行成本的计算会更为复杂,例如出行成本需要综合考虑出行距离、出行时间以及出行费用,可以通过为出行距离、出行时间、出行设置对应不同的权重来实现出行成本的综合计算,而在本实施例公开了上述计算候选共乘路线的出行成本的例子后,本领域技术人员可以无需任何创造性进行改进,以适用于成本需要综合考虑出行距离、出行时间以及出行费用或者更多信息的场景。
此外,对于具有不同优先级的共乘人员,在本实施例公开了上述计算候选共乘路线的出行成本的例子后,本领域技术人员可以无需任何创造性进行改进,很容易想到,在累加求取候选共乘路线的出行成本时,为不同优先级的共乘人员设置不同的优先级权重,分别乘以对应的出行成本,来累加计算该共乘路线下的出行成本。
通过上述生成候选终点集,构建以候选起点集中的候选起点为共乘起点、候选终点集中的候选终点为共乘终点的候选共乘路线,选出行成本最小的共乘路线实现共乘,可以使得部分或者全部共乘人员在对应的共乘终点离开交通共乘设备,以对应的出行方式到达各自的目的地,可以降低因交通拥堵或路况不佳带来较高的分送共乘人员到达目的地的时间成本(例如司机绕道、堵车等待的时间、距离相近但不顺路的乘客等待下车的时间等),实现全体共乘人员的出行成本最小,提升共乘出行的效率。
步骤S2400,选择出行成本最小的所述候选共乘路线作为共乘路线,并将所述共乘路线提供给所述多个共乘人员,触发每个所述共乘人员通过所述共乘交通设备共乘出行。
选择出行成本最小的所述候选共乘路线作为共乘路线,可以提供全部共乘人员的出行成本最小的共乘路线,提升共乘出行的效率。
在本实施例中,可以通过客户端的人机交互界面将共乘路线提供给共乘人员,例如,分别对每个共乘人员,通过界面对应展示共乘路线的共乘起点、共乘终点、共乘方式,具体地,对司机,可以展示从司机的出发地途径的共乘起点、共乘终点、预计出行时间等;对于乘客,可以展示以哪种出行方式从出发地到达共乘起点、交通共乘设备预计什么时间点到达共乘起点、共乘终点、以哪种出行方式从共乘终点到达目的地等等。
在本实施例中提供的共乘路线的规划方法还可以包括:
当所述共乘人员被触发通过自行车骑行从对应的所述出发地到达所述共乘起点,或者被触发通过自行车骑行从所述共乘终点达到对应的所述目的地时,为所述共乘人员提供共享自行车预约服务。
为共乘人员提供共享自行车预约服务,可以使得共乘人员实现骑行自行车“无缝”地换乘进入共乘交通设备,进行共乘出行,提高共乘出行的效率。
<例子>
以下将结合图7所示的例子,进一步说明本实施例中提供的共乘路线的规划方法。
在图7所示的例子中,共乘交通设备是一辆四座车辆,由司机D和乘客U1、U2、U3共乘出行。该方法包括:
步骤S701,获取司机D和乘客U1、U2、U3的出行参数,得到司机D的出发地是D_s,乘客U1的出发地U1_s、目的地U1_e,乘客U2的出发地U2_s、目的地U2_e,乘客U3的出发地U3_s、目的地U3_e;
步骤S702,通过前述的本实施例中提供生成候选起点集的步骤,得到候选起点集中包括3个候选起点:Ps1、Ps2、Ps3,以及通过前述的本实施例中提供生成候选终点集的步骤,得到候选终点集中包括3个候选起点:Pe1、Pe2、Pe3;
步骤S703,根据候选起点集、候选终点集,构建得到多条候选共乘路线,每条候选共乘路线包括共乘起点、共乘终点、共乘方式,共乘方式包括每个共乘人员从各自的目的地到达共乘起点的出行方式、每个共乘人员从各自的共乘终点到达目的地的出行方式。
如图7所示,本例中的候选共乘路线是遍历候选起点Ps1、Ps2、Ps3以及候选终点Pe1、Pe2、Pe3构建得到的多条路线,每条路线中还包括获取司机D和乘客U1、U2、U3从各自的出发地到达对应的共乘起点的出行方式,以及从对应的共乘终点到达各自的目的地的出行方式。
应当理解的是,图7中相同的候选起点或者候选终点中存在连线,是为了更容易说明候选共乘路线的构建,在实施构建候选共乘路线时,相同的候选起点或者相同的候选终点之间的路径距离为0,可以滤除相同的候选起点或候选终点的连线。
此外,如图7所示,构建的候选共乘路线中可能包括多个共乘起点或者多个共乘终点,可以支持不同的共乘人员之间出发地距离较远或者目的地距离较远的场景。
步骤S704,分别计算每条候选共乘路线下的出行成本。
计算出行成本的具体步骤在本实施例中的前述步骤描述中已经详细说明,在此不再赘述。
步骤S705,选取出行成本最小的候选共乘路线为共乘路线,并提供给对应的共乘人员。
应当理解的是,不同的共乘人员虽然搭乘相同的交通共乘设备,但对应的出发地、目的地不同,可以分别对不同的共乘人员,对应以不同的方式展示共乘路线,例如,对于司机D,可以展示从其出发地出发,途径各个共乘路线上的共乘终点、共乘起点的驾驶路线;对于乘客,可以展示其从出发地骑行自行车到达对应的共乘起点的骑行路线、从共乘起点乘车到达对应的共乘终点的乘车路线、以及供共乘终点骑行自行车到达对应的目的地骑行路线。
当本例应用于出发地分布距离较近的多个乘客共同搭乘专车时,可以为多个乘客选择可以分别以自行车骑行到达的、并且便于停靠的共乘起点,集合等待专车司机接取,还可以为目的地分布距离较近的多个乘客选择相同的便于停靠的共乘终点,使得乘客可以在共乘终点下车后分别以自行车骑行到达对应的目的地,可以让专车司机在便于停靠的地点接送乘客,并且不必逐一拾取、逐一分送乘客,降低因交通拥堵或者路况不佳带来的时间成本,相应地,也降低乘客的时间、花费等出行成本,实现专车司机和乘客全部共乘人员的出行成本最小,提高共乘出行效率。
<服务器>
在本实施例中,还提供一种服务器200,用于实施本实施例中提供的共乘路线的规划方法,如图8所示,包括存储器210、和处理器220:
存储器210,用于存储可执行的指令;
处理器220,用于根据所述指令的控制,运行所述服务器以执行本实施例中提供的共乘路线的规划方法。
在本实施例中,服务器200可以具有各种实体形式,例如,可以是刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组。在一个例子中,服务器200可以是如图1所示的服务器1100。
本领域技术人员应当明白,可以通过各种方式来实现服务器200。例如,可以通过指令配置处理器来实现服务器200。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现服务器200。例如,可以将服务器200固化到专用器件(例如ASIC)中。可以将服务器200分成相互独立的单元,或者可以将它们合并在一起实现。服务器200可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
以上已经结合附图、例子描述了本实施例中提供的共乘路线的规划方法及服务器,根据本实施例,可以提供全体共乘人员出行成本最小的共乘路线,使得共乘人员都以对应的出行方式到达共乘路线对应的共乘起点开始共乘出行,实现出行成本最小,提升共乘出行的效率。
<第二实施例>
<方法>
在本实施例中,提供一种共乘路线的规划方法,用于为通过共乘交通设备出行的多个共乘人员规划共乘路线,如图9所示,包括:
步骤S3100,提供出行参数输入界面,供用户实施输入操作以获取对应的所述出行参数,其中,所述出行参数至少包括所述用户的共乘身份、出发地、目的地。
具体地,所述出行参数在第一实施例中已经详细描述,在此不再赘述。
所述出行参数输入界面是可供用户执行点击操作、文本或语音输入操作的人机交互界面,可以通过响应于用户的输入操作获取对应的用户输入的出行参数,以配合实施第一实施例中共乘路线的规划方法。
步骤S3200,提供共乘路线展示界面,供用户通过界面展示获取对应的共乘路线,
其中,所述共乘路线由第一实施例中提供的共乘路线的规划方法获得,在此不再赘述。所述共乘路线至少包括对应的共乘起点以及共乘方式;所述共乘方式中至少包括从对应的出行地到达所述共乘起点的出行方式;所述出行方式至少包括乘坐所述共乘交通设备、自行车骑行、步行;所述出行成本至少包括出行距离、出行时间、出行费用其中之一。
所述共乘路线展示界面是可供用户执行点击操作、缩放操作的人机交互界面,可以通过响应于用户的相关操作,向用户展示对应的共乘路线,以提供实施第一实施例中共乘路线的规划方法后获取的共乘路线。
共乘路线还可以包括共乘终点,所述共乘方式还可以包括从所述共乘起点到达所述共乘终点的出行方式和从所述共乘终点到达目的地的出行方式。
<客户端>
在本实施例中,还提供一种客户端300,用于实施本实施例中提供的共乘路线的规划方法,如图10所示,包括存储器310、和处理器320:
存储器310,用于存储可执行的指令;
处理器320,用于根据所述指令的控制,运行所述服务器以执行本实施例中提供的共乘路线的规划方法。
在本实施例中,客户端300可以具有各种实体形式,例如,可以手机、掌上电脑、平板电脑、台式计算机等。在一个例子中,客户端300可以是如图1所示的服务器1200。
本领域技术人员应当明白,可以通过各种方式来实现客户端300。例如,可以通过指令配置处理器来实现客户端300。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现客户端300。例如,可以将客户端300固化到专用器件(例如ASIC)中。可以将客户端300分成相互独立的单元,或者可以将它们合并在一起实现。客户端300可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
以上已经结合附图描述了本实施例中提供的共乘路线的规划方法及客户端,根据本实施例,可以将出行成本最小的共乘路线提供给共乘人员,使得共乘人员都以对应的出行方式到达共乘路线对应的共乘起点开始共乘出行,实现出行成本最小,提升共乘出行的效率。
<第三实施例>
在本实施例中,提供一种共乘路线的规划系统400,用于为通过共乘交通设备出行的多个共乘人员规划共乘路线,如图11所示,包括:
至少一个第一实施例中提供的服务器200;
多个如第二实施例中提供的客户端300。
通过本实施例中提供的共乘路线的规划系统400,搭乘共乘交通设备的司机和乘客作为共乘人员,可以通过客户端300提供的出行参数输入界面,输入自身的出发地、目的地以及身份;
客户端300响应于用户的操作获取得到对应的出行参数后,发送给服务器200;服务器200根据第一实施例中提供的共乘路线的规划方法,为共乘人员规划出行成本最小的共乘路线,并分别发送给对应的客户端300,使得客户端300可以通过共乘路线展示界面,将共乘路线提供给对应使用客户端300的共乘人员。
在本实施例中,共乘路线的规划系统400可以具有多种实体形式,具体的一个例子中,共乘路线的规划系统400可以如图1所示的系统1000。
以上已经结合附图说明本实施例提供的共乘路线的规划系统,可以提供全体共乘人员出行成本最小的共乘路线,使得共乘人员都以对应的出行方式到达共乘路线对应的共乘起点开始共乘出行,实现出行成本最小,提升共乘出行的效率。
本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。因此,对于电子信息技术领域的普通技术人员来说,更为直接和清楚地描述一个技术方案的方式是描述该方案中的各个操作。在知道所要执行的操作的情况下,本领域技术人员可以基于对所述非技术性因素的考虑直接设计出期望的产品。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。