车辆共享利润最大化的用户请求分配系统及其方法

文档序号:10594692阅读:344来源:国知局
车辆共享利润最大化的用户请求分配系统及其方法
【专利摘要】本发明公开了一种车辆共享利润最大化的用户请求分配系统及其方法,本发明的系统由请求处理模块、数据处理模块、控制中心模块和扩展存储模块组成。本发明使用请求处理模块接收需要搭乘车辆用户和搭载用户的司机的请求数据,数据处理模接收控制中心的命令,对数据进行处理,分别得到有搭乘车辆需求的用户的路径序列表、请求分组表、相容性条件表以及所有司机可搭乘组合距离表,控制中心模块将数据暂存到扩展存储模块,传送命令给数据处理模块,并将结果发送给需要搭乘车辆用户和搭载用户的司机的终端设备。本发明具有适用范围广、容错性高、扩展性强、实用性强的特点,可用于用户请求的分配。
【专利说明】
车辆共享利润最大化的用户请求分配系统及其方法
技术领域
[0001] 本发明属于计算机技术领域,更进一步设及移动数据分析与服务轨迹数据处理技 术领域中的一种车辆共享利润最大化的用户请求分配系统及其方法。本发明通过前端服务 中屯、系统接收用户和司机从终端发出的多个用户搭乘同一个车辆的请求数据,然后将数据 传送给后台进行数据处理,最终服务中屯、系统将分配结果返回给用户和司机的终端。
【背景技术】
[0002] 城市大数据是多学科交叉的研究领域,设及数学,计算机,经济学,环境学等。面对 每天产生的大量车辆轨迹数据,如何通过数据挖掘出市民和司机的出行轨迹规律对于城市 管理起着关键作用。通过对城市中的居民、车辆等移动对象的轨迹数据进行收集,并对数据 进行分析处理,可W挖掘出其中隐藏的模式与知识。利用运些模式与知识,可W帮助城市管 理者与决策者对城市进行合理的规划,W此解决城市当前面临的问题。车辆共享问题对于 用户来说可W较好地解决打车难的问题,同时对于司机来说可W解决车辆座位利用率低的 问题同时增加自己的收入。
[0003] Bin Cao、Louai Alarabi、Mohamed F.MolcbeKAnas Basalamah在其发表的论文 "細AREK:A Scalable Dynamic Ride 化aring System." (MDM,2015)中提出Euclidean Temporal&Cost PruningW及Semi-Euclidean Skyline-aware Pruning算法解决多个用户 同时搭乘同一个车辆的问题。该方法首先计算车辆与指定用户之间的距离,根据设定的距 离阔值删减掉不满足的车辆。然后计算每一个满足的车辆搭乘该用户所需要产生费用,根 据设定的价格参加删减掉不满足的车辆。最终计算每个满足的车辆到用户的完整路径与时 间,并根据时间进行排序,将时间最短的一个车辆分配给用户。该系统存在的不足之处是, 数据处理模块中没有加入存储扩展模块,使得数据传送过程中可能导致数据的混乱。该方 法存在的不足之处是,不能将多个需要搭乘车辆的用户在同一时间分配给需要搭载用户的 司机。
[0004] 化11〇 Ma,化 Zheng,0u;ri Wolfson在其发表的叮-Share:A Large-Scale Dynamic Taxi Ridesharing Service( International Conference on Data Engineering,2013, pages 89-101)提出基于时空索引的车辆捜索算法快速检索候选车辆,并通过时刻分配算 法将候选车辆分配给用户,W此动态的使得多个用户同时搭乘同一个车辆。该方法首先将 城市进行标号网格化,并将网格的中屯、作为该网格的结点。然后计算每个网格到指定用户 起始点所在的网格的时间,根据设定的时间参数,得到满足的起点网格。其次计算每个网格 到指定用户终点所在的网格的时间,根据设定的时间参数,得到满足的终点网格。最终,根 据起点网格与终点网格里面所包含的车辆,找到同时满足车辆,将该车辆分配给用户。该问 题将车辆分配给提出共享车辆请求的用户。该系统存在的不足之处是,数据处理模块中没 有计算路径序列,无法提供给需要搭载用户司机一个完整的行驶路径。该方法存在的不足 之处是,没有将需要搭载用户司机行驶的距离考虑到分配的方法之中。

【发明内容】

[0005] 本发明的目的在于克服上述已有技术的不足,提出了一种车辆共享利润最大化的 用户请求分配系统及其方法,通过请求处理模块接收搭乘车辆需求的用户和需要搭载用户 的司机从终端设备发送的请求数据,进行预处理后,将请求数据发送给数据处理模块,控制 中屯、发送给数据处理模块数据读取命令,数据处理模块分别得到路径序列数据、请求分组 表、相容性条件表、所有司机可搭乘组合距离表,当处理完成后,控制中屯、将分配结果发送 给搭乘车辆需求用户、需要搭载用户的司机的终端。
[0006] 本发明的系统包括请求处理模块,数据处理模块,控制中屯、模块,扩展存储模块W 及城市道路网络数据模块。其中:
[0007] 请求处理模块,用于接收搭乘车辆需求的用户和需要搭载用户的司机从终端设备 发送的请求数据,得到搭乘车辆需求的用户请求数据表与需要搭载用户的司机请求数据 表。
[0008] 数据处理模块,用于从请求处理模块中读取搭乘车辆需求的用户请求数据表,读 取城市道路网络数据模块中的当前城市道路网络数据,利用迪杰斯科拉Dijkstra算法,计 算出每个有搭乘车辆需求的用户从起点到终点路径序列,将计算结果存储于扩展存储模 块;数据处理模块从扩展存储模块中读取搭乘车辆需求的用户请求表,计算得到请求分组 表,将请求分组表存储于扩展存储模块;数据处理模块从扩展存储模块中读取目标请求分 组表、路径序列数据,利用相容性剪枝算法,得到相容性条件表,将相容性条件表存储于扩 展存储模块;数据处理模块从扩展存储模块中读取需要搭载用户的司机请求数据表、相容 性条件表、路径序列数据,计算得到所有司机可搭乘组合距离表,将所有司机可搭乘组合距 离表存储于扩展存储模块。
[0009] 控制中屯、模块,用于将搭乘车辆需求的用户请求数据表和需要搭载用户的司机请 求数据表发送给数据处理模块;所述的控制中屯、模块将数据读取命令发送给数据处理模 块,将所有司机可搭乘组合距离表中长度最大的一个请求组合分别发送给搭乘车辆需求用 户、需要搭载用户的司机的终端。
[0010] 扩展存储模块,用于存储数据处理模块发送的路径序列数据、目标请求分组表、所 有司机可搭乘组合距离表,供控制中屯、模块读取。
[0011] 城市道路网络数据模块,用于存储城市道路网络数据,供数据处理模块读取。
[0012] 本发明方法的具体步骤如下:
[OOU] (1)接收数据:
[0014] (Ia)请求处理模块接收搭乘车辆需求的用户和需要搭载用户的司机从终端设备 发送的请求数据,得到搭乘车辆需求的用户请求数据表与需要搭载用户的司机请求数据 表。
[0015] (Ib)控制中屯、将搭乘车辆需求的用户请求数据表和需要搭载用户的司机请求数 据表发送给数据处理模块。
[0016] (2)计算有搭乘车辆需求的用户的路径序列:
[0017] (2a)数据处理模块读取扩展模块中搭乘车辆需求的用户请求数据表,读取城市道 路网络数据模块中当前城市道路网络数据,利用迪杰斯科拉Di化Stra算法,得到每个有搭 乘车辆需求的用户从起点到终点路径序列,将计算结果存储于扩展存储模块。
[0018] (2b)控制中屯、将读取数据命令发送给数据处理模块。
[0019] (3)获取请求分组表:
[0020] (3a)在数据处理模块中设置一个空的请求分组表。
[0021] (3b)将空集合加入到请求分组表,得到当前请求分组表。
[0022] (3c)数据处理模块从扩展存储模块中读取搭乘车辆需求的用户请求表。
[0023] (3d)将请求迭代次数设置为1。
[0024] (3e)设置一个目标请求分组表,将当前请求分组表复制到目标请求分组表中。
[0025] (3f)将搭乘车辆需求的用户请求表中第一个搭乘车辆需求的用户加入到目标表 中,判断当前请求组合的总人数是否超过车辆的容量,若是,则执行步骤(3g),否则,执行步 骤(3h)。
[0026] (3g)将当前请求组合在请求分组表中删除。
[0027] (3h)判断请求迭代次数是否大于搭乘车辆需求的用户请求表中请求的数目,若 是,则将迭代次数加1,执行步骤(3e),否则,执行步骤(3i)。
[0028] (3i)将目标请求分组表存储于扩展存储模块。
[0029] (3 j)控制中屯、将数据读取命令发送给数据处理模块。
[0030] (4)建立相容性条件表:
[0031] (4a)数据处理模块读取目标请求分组表、路径序列数据,利用相容性剪枝算法,得 到相容性条件表。
[0032] (4b)将相容性条件表存储与扩展存储模块中,控制中屯、将数据读取命令发送给数 据处理模块。
[0033] (5)建立所有司机可搭乘组合距离表:
[0034] (5a)数据处理模块设置一个空的所有司机可搭乘组合距离表。
[0035] (5b)数据处理模块从扩展存储模块中读取需要搭载用户的司机请求数据表,相容 性条件表,路径序列数据。
[0036] (5c)将请求数目迭代次数设置为1。
[0037] (5d)取出需要搭载用户的司机请求数据表中任意一个司机的请求数据,作为当前 需要搭载用户的司机的请求数据。
[0038] (5e)采用距离剪枝算法,获得可搭乘请求组合距离表,将可搭乘请求组合距离表 加入到所有司机可搭乘组合距离表中。
[0039] (5f)判断请求数目迭代次数是否大于搭载用户的司机请求数据表中请求的数目, 若是,则将迭代次数加1后执行步骤(5d),否则,执行步骤(5g)。
[0040] (5g)数据处理模块将所有司机可搭乘组合距离表存储于扩展存储模块,控制中屯、 模块发送读取数据命令给数据处理模块。
[0041] (6)发送分配结果:
[0042] (6a)数据处理模块读取扩展存储模块中所有司机可搭乘组合距离表。
[0043] (6b)取出所有司机可搭乘组合距离表中长度最大的一个请求组合,作为当前发送 请求分组。
[0044] (6c)控制中屯、将当前发送请求分组分别发送给搭乘车辆需求用户的终端和需要 搭载用户的司机的终端。
[0045] 本发明与现有技术相比具有如下优点:
[0046] 第一,由于本发明的系统中加入了存储扩展模块,可W将数据处理模块中得到的 数据结果存储于该模块中,克服了现有技术数据传送过程中可能导致的数据混乱问题,使 得本发明系统具有增强容错性的优点。
[0047] 第二,由于本发明的方法中采用了对需要搭乘车辆用户的请求数据进行分组,克 服了现有技术中存在的不能将多个用户在同一时间分配给搭载用户的司机,使得本发明的 适用性增强。
[0048] 第=,由于本发明方法中计算了可搭乘请求分组中路径序列的长度,克服了现有 技术中没有将需要搭载用户司机行驶的距离考虑到分配的方法之中,使得本发明的实用性 增强。
【附图说明】
[0049] 图1为本发明系统的方框图;
[0050] 图2为本发明方法的流程图;
[0051] 图3为本发明方法中步骤(4a)所述的相容性剪枝算法的具体步骤的流程图。
【具体实施方式】
[0052] 下面结合附图对本发明做进一步的描述。
[0053] 参照附图1本发明的系统包括请求处理模块,数据处理模块,控制中屯、模块,扩展 存储模和城市道路网络数据模块。其中:
[0054] 请求处理模块,由电脑客户端负责,接收搭乘车辆用户和搭载用户的司机通过手 机终端传来的数据,并对数据进行预处理。
[0055] 数据处理模块,数据处理模块,用于从请求处理模块中读取搭乘车辆需求的用户 请求数据表,读取城市道路网络数据模块中的当前城市道路网络数据,利用迪杰斯科拉 Di Astra算法,计算出每个有搭乘车辆需求的用户从起点到终点路径序列,将计算结果存 储于扩展存储模块;所述的数据处理模块从扩展存储模块中读取搭乘车辆需求的用户请求 表,计算得到请求分组表,将请求分组表存储于扩展存储模块;所述的数据处理模块从扩展 存储模块中读取目标请求分组表、路径序列数据,利用相容性剪枝算法,得到相容性条件 表,将相容性条件表存储于扩展存储模块;所述的数据处理模块从扩展存储模块中读取需 要搭载用户的司机请求数据表、相容性条件表、路径序列数据,计算得到所有司机可搭乘组 合距离表,将所有司机可搭乘组合距离表存储于扩展存储模块。
[0056] 控制中屯、模块,用于将搭乘车辆需求的用户请求数据表和需要搭载用户的司机请 求数据表发送给数据处理模块;所述的控制中屯、模块将数据读取命令发送给数据处理模 块,将所有司机可搭乘组合距离表中长度最大的一个请求组合分别发送给搭乘车辆需求用 户、需要搭载用户的司机的终端。
[0057] 扩展存储模块,由动态随机存储器组成,存储路径序列数据、目标请求分组表、所 有司机可搭乘组合距离表,供数据处理模块读取。
[0058] 城市道路网络数据模块,用于存储城市道路网络数据,供数据处理模块读取。
[0059] 下面结合图2对本发明方法做进一步的描述。
[0060] 步骤1.接收数据。
[0061] 请求处理模块接收搭乘车辆需求的用户和需要搭载用户的司机从终端设备发送 的请求数据,得到搭乘车辆需求的用户请求数据表与需要搭载用户的司机请求数据表。
[0062] 控制中屯、将搭乘车辆需求的用户请求数据表和需要搭载用户的司机请求数据表 发送给数据处理模块。
[0063] 步骤2.计算有搭乘车辆需求的用户的路径序列。
[0064] 数据处理模块读取扩展模块中搭乘车辆需求的用户请求数据表,读取城市道路网 络数据模块中当前城市道路网络数据,利用迪杰斯科拉Di Astra算法,得到每个有搭乘车 辆需求的用户从起点到终点路径序列,将计算结果存储于扩展存储模块。
[0065] 控制中屯、将读取数据命令发送给数据处理模块。
[0066] 步骤3.获取请求分组表。
[0067] 第1步,在数据处理模块中设置一个空的请求分组表。
[0068] 第2步,将空集合加入到请求分组表,得到当前请求分组表。
[0069] 第3步,数据处理模块从扩展存储模块中读取搭乘车辆需求的用户请求表。
[0070] 第4步,将请求迭代次数设置为1。
[0071 ]第5步,设置一个目标请求分组表,将当前请求分组表复制到目标请求分组表中。
[0072] 第6步,将搭乘车辆需求的用户请求表中第一个搭乘车辆需求的用户加入到目标 表中,判断当前请求组合的总人数是否超过车辆的容量,若是,则执行本步骤第7步,否则, 执行本步骤第8步。
[0073] 第7步,将当前请求组合在请求分组表中删除。
[0074] 第8步,判断请求迭代次数是否大于搭乘车辆需求的用户请求表中请求的数目,若 是,则将迭代次数加1,执行本步骤第5步,否则,执行本步骤第9步。
[0075] 第9步,将目标请求分组表存储于扩展存储模块。
[0076] 第10步,控制中屯、将数据读取命令发送给数据处理模块。
[0077] 步骤4.建立相容性条件表。
[0078] 数据处理模块读取目标请求分组表、路径序列数据,利用相容性剪枝算法,得到相 容性条件表。
[0079] 下面结合图3,对本步骤中的相容性剪枝算法的具体步骤做进一步的描述。
[0080] 第1步,设置一个空的相容性条件表。
[0081] 第2步,判断目标请求分组表中请求分组的个数是否大于0,若是,则执行本步骤第 3步,否则,执行本步骤第14步。
[0082] 第3步,取出目标请求分组表中任意一个请求分组,作为当前请求分组。
[0083] 第4步,设置一个空的目标请求分组,将当前请求分组复制到目标请求分组中;
[0084] 第5步,判断目标请求分组中请求的个数是否大于1,若是,则执行本步骤第6步,否 贝IJ,执行本步骤第13步。
[0085] 第6步,从路径序列中取出目标请求分组中任意两个请求的路径序列,分别作为路 径序列1、路径序列2。
[0086] 第7步,判断路径序列1中是否包含路径序列2中的第一个结点并且路径序列2中是 否包含路径序列I中最后一个结点,若是,则执行本步骤第11步,否则,执行本步骤第8步。
[0087] 第8步,判断路径序列2中是否包含路径序列1中的第一个结点并且路径序列2中是 否包含路径序列1中的最后一个结点,若是,则执行本步骤第11步,否则,执行本步骤第9步。
[0088] 第9步,判断路径序列1中是否包含路径序列2中的第一个结点并且路径序列1中是 否包含路径序列2中的最后一个结点,若是,则执行本步骤第11步,否则,执行本步骤第10 步。
[0089] 第10步,判断路径序列2中是否包含路径序列1中的第一个结点并且路径序列1中 包含路径序列2中的最后一个结点,若是,则执行本步骤第11步,否则,执行本步骤第14步。
[0090] 第11步,合并路径序列1和路径序列2相同的路径结点,组成一个目标路径序列,将 目标路径序列加入到目标请求分组中。
[0091] 第12步,判断目标请求分组中请求的个数是否大于1,若是,则执行本步骤第6步, 否则,执行本步骤第13步。
[0092] 第13步,将当前请求分组加入到相容性条件表。
[0093] 第14步,在目标请求分组表中删除当前请求分组。
[0094] 第15步,判断目标请求分组表中请求分组的个数是否大于0,若是,则执行本步骤 第3步,否则,执行本步骤第16步。
[0095] 第16步,得到相容性条件表。
[0096] 将相容性条件表存储与扩展存储模块中,控制中屯、将数据读取命令发送给数据处 理模块。
[0097] 步骤5.建立所有司机可搭乘组合距离表。
[0098] 第1步,数据处理模块设置一个空的所有司机可搭乘组合距离表。
[0099] 第2步,数据处理模块从扩展存储模块中读取需要搭载用户的司机请求数据表,相 容性条件表,路径序列数据。
[0100] 第3步,将请求数目迭代次数设置为1。
[0101] 第4步,取出需要搭载用户的司机请求数据表中任意一个司机的请求数据,作为当 前需要搭载用户的司机的请求数据。
[0102] 第5步,采用距离剪枝算法,获得可搭乘请求组合距离表,将可搭乘请求组合距离 表加入到所有司机可搭乘组合距离表中。
[0103] 下面对本步骤中的距离剪枝算法的具体步骤做进一步的描述。
[0104] 第1步,在数据处理模块中设置一个可搭乘请求组合距离表。
[0105] 第2步,判断路径序列表中路径的个数是否大于0,若是,则执行本步骤第3步,否 贝IJ,执行本步骤第9步。
[0106] 第3步,从路径序列表中选择任意一个路径序列,作为当前路径序列。
[0107] 第4步,从相容性条件表中取出当前路径序列对应的请求分组,作为当前请求分 组。
[0108] 第5步,判断当前路径序列是否满足下述公式,若是,则执行本步骤第6步,否则,执 行本步骤第2步。
[0109] dis(s,d)《〇
[0110] 其中,dis表示欧式距离,S表示当前路径序列中的第一个结点,d表示当前需要搭 载用户的司机的位置,O表示距离阔值,该参数由搭乘车辆需求的用户在范围(〇,1)内设置。
[0111] 第6步,按照下式,计算请求分组内所有搭乘车辆用户路径序列的总长度:
[0112]
[0113] 其中,D表示请求分组内所有搭乘车辆用户路径序列的总长度,E表示求和操作,m 表示请求分组中路径序列的总数,Xj表示请求分组中第j个路径序列的长度,a表示浮动参 数,该参数由控制中屯、在范围(〇,1)内设置,Y表示请求分组中所有路径序列中公共部分路 径序列的长度。
[0114] 第7步,将当前请求分组和请求分组内所有搭乘车辆用户路径序列的总长度加入 到可搭乘请求组合距离表中。
[0115] 第8步,判断路径序列表中路径的个数是否大于0,若是,则执行本步骤第3步,否 贝IJ,执行本步骤第9步。
[0116] 第9步,得到可搭乘请求组合距离表。
[0117] 第6步,断请求数目迭代次数是否大于搭载用户的司机请求数据表中请求的数目, 若是,则将迭代次数加1后执行本步骤第4步,否则,执行本步骤第7步。
[0118] 第7步,数据处理模块将所有司机可搭乘组合距离表存储于扩展存储模块,控制中 屯、模块发送读取数据命令给数据处理模块。
[0119] 步骤6.发送分配结果。
[0120] 数据处理模块读取扩展存储模块中所有司机可搭乘组合距离表。
[0121] 取出所有司机可搭乘组合距离表中长度最大的一个请求组合,作为当前发送请求 分组。
[0122] 控制中屯、将当前发送请求分组分别发送给搭乘车辆需求用户的终端和需要搭载 用户的司机的终端。
[0123] 下面结合仿真实验对本发明的效果做进一步的描述。
[0124] 本发明的仿真实验的条件是,使用相同的道路网络数据集,需要搭乘的用户请求 数据,搭载用户的司机请求数据,计算得到分配请求后搭载用户的司机的车辆行驶的距离 与分配前车辆需要行驶距离的比值。本发明使用的PC机处理器为AMD Phenom N660 Dual- Core Processor,3GB内存,Windows?操作系统,Java语言编程。
[0125] 实验结果如下表所示:
LUU/」 买粒结呆化明,本巧明迪巧分肥请求,Rj 将牛辆的化现跑罔降化正石,巧局 了车辆的运行效率。可W看出,本发明具有实用性的特点。
【主权项】
1. 一种车辆共享利润最大化的用户请求分配系统,包括请求处理模块,数据处理模块, 控制中心模块,扩展存储模块以及城市道路网络数据模块;其中: 所述的请求处理模块,用于接收搭乘车辆需求的用户和需要搭载用户的司机从终端设 备发送的请求数据,得到搭乘车辆需求的用户请求数据表与需要搭载用户的司机请求数据 表; 所述的数据处理模块,用于从请求处理模块中读取搭乘车辆需求的用户请求数据表, 读取城市道路网络数据模块中的当前城市道路网络数据,利用迪杰斯科拉Dijkstra算法, 计算出每个有搭乘车辆需求的用户从起点到终点路径序列,将计算结果存储于扩展存储模 块;所述的数据处理模块从扩展存储模块中读取搭乘车辆需求的用户请求表,计算得到请 求分组表,将请求分组表存储于扩展存储模块;所述的数据处理模块从扩展存储模块中读 取目标请求分组表、路径序列数据,利用相容性剪枝算法,得到相容性条件表,将相容性条 件表存储于扩展存储模块;所述的数据处理模块从扩展存储模块中读取需要搭载用户的司 机请求数据表、相容性条件表、路径序列数据,计算得到所有司机可搭乘组合距离表,将所 有司机可搭乘组合距离表存储于扩展存储模块; 所述的控制中心模块,用于将搭乘车辆需求的用户请求数据表和需要搭载用户的司机 请求数据表发送给数据处理模块;所述的控制中心模块将数据读取命令发送给数据处理模 块,将所有司机可搭乘组合距离表中长度最大的一个请求组合分别发送给搭乘车辆需求用 户、需要搭载用户的司机的终端; 所述的扩展存储模块,用于存储数据处理模块发送的路径序列数据、目标请求分组表、 所有司机可搭乘组合距离表,供控制中心模块读取; 所述的城市道路网络数据模块,用于存储城市道路网络数据,供数据处理模块读取。2. -种车辆共享利润最大化的用户请求分配方法,其具体步骤如下: (1) 接收数据: (la) 请求处理模块接收搭乘车辆需求的用户和需要搭载用户的司机从终端设备发送 的请求数据,得到搭乘车辆需求的用户请求数据表与需要搭载用户的司机请求数据表; (lb) 控制中心将搭乘车辆需求的用户请求数据表和需要搭载用户的司机请求数据表 发送给数据处理模块; (2) 计算有搭乘车辆需求的用户的路径序列: (2a)数据处理模块读取扩展模块中搭乘车辆需求的用户请求数据表,读取城市道路网 络数据模块中当前城市道路网络数据,利用迪杰斯科拉Dijkstra算法,得到每个有搭乘车 辆需求的用户从起点到终点路径序列,将计算结果存储于扩展存储模块; (2b)控制中心将读取数据命令发送给数据处理模块; (3) 获取请求分组表: (3a)在数据处理模块中设置一个空的请求分组表; (3b)将空集合加入到请求分组表,得到当前请求分组表; (3c)数据处理模块从扩展存储模块中读取搭乘车辆需求的用户请求表; (3d)将请求迭代次数设置为1; (3e)设置一个目标请求分组表,将当前请求分组表复制到目标请求分组表中; (3f)将搭乘车辆需求的用户请求表中第一个搭乘车辆需求的用户加入到目标表中,判 断当前请求组合的总人数是否超过车辆的容量,若是,则执行步骤(3g),否则,执行步骤 (3h); (3g)将当前请求组合在请求分组表中删除; (3h)判断请求迭代次数是否大于搭乘车辆需求的用户请求表中请求的数目,若是,则 将迭代次数加1,执行步骤(3e),否则,执行步骤(3i); (3i)将目标请求分组表存储于扩展存储模块; (3 j)控制中心将数据读取命令发送给数据处理模块; (4) 建立相容性条件表: (4a)数据处理模块读取目标请求分组表、路径序列数据,利用相容性剪枝算法,得到相 容性条件表; (4b)将相容性条件表存储与扩展存储模块中,控制中心将数据读取命令发送给数据处 理模块; (5) 建立所有司机可搭乘组合距离表: (5a)数据处理模块设置一个空的所有司机可搭乘组合距离表; (5b)数据处理模块从扩展存储模块中读取需要搭载用户的司机请求数据表,相容性条 件表,路径序列数据; (5c)将请求数目迭代次数设置为1; (5d)取出需要搭载用户的司机请求数据表中任意一个司机的请求数据,作为当前需要 搭载用户的司机的请求数据; (5e)采用距离剪枝算法,获得可搭乘请求组合距离表,将可搭乘请求组合距离表加入 到所有司机可搭乘组合距离表中; (5f)判断请求数目迭代次数是否大于搭载用户的司机请求数据表中请求的数目,若 是,则将迭代次数加1后执行步骤(5d),否则,执行步骤(5g); (5g)数据处理模块将所有司机可搭乘组合距离表存储于扩展存储模块,控制中心模块 发送读取数据命令给数据处理模块; (6) 发送分配结果: (6a)数据处理模块读取扩展存储模块中所有司机可搭乘组合距离表; (6b)取出所有司机可搭乘组合距离表中长度最大的一个请求组合,作为当前发送请求 分组; (6c)控制中心将当前发送请求分组分别发送给搭乘车辆需求用户的终端和需要搭载 用户的司机的终端。3.根据权利要求2所述的车辆共享利润最大化的用户请求分配方法,其特征在于,步骤 (4a)中所述的相容性剪枝算法的具体步骤如下: 第1步,设置一个空的相容性条件表; 第2步,判断目标请求分组表中请求分组的个数是否大于0,若是,则执行第3步,否则, 执行第16步; 第3步,取出目标请求分组表中任意一个请求分组,作为当前请求分组; 第4步,设置一个空的目标请求分组,将当前请求分组复制到目标请求分组中; 第5步,设置目标分组迭代次数为1; 第6步,从路径序列中取出目标请求分组中任意两个请求的路径序列,分别作为路径序 列1、路径序列2; 第7步,判断路径序列1中是否包含路径序列2中的第一个结点并且路径序列2中是否包 含路径序列1中最后一个结点,若是,则执行第11步,否则,执行第8步; 第8步,判断路径序列2中是否包含路径序列1中的第一个结点并且路径序列2中是否包 含路径序列1中的最后一个结点,若是,则执行第11步,否则,执行第9步; 第9步,判断路径序列1中是否包含路径序列2中的第一个结点并且路径序列1中是否包 含路径序列2中的最后一个结点,若是,则执行第11步,否则,执行第10步; 第10步,判断路径序列2中是否包含路径序列1中的第一个结点并且路径序列1中包含 路径序列2中的最后一个结点,若是,则执行第11步,否则,执行第14步; 第11步,合并路径序列1和路径序列2相同的路径结点,组成一个目标路径序列,将目标 路径序列加入到目标请求分组中; 第12步,判断目标分组迭代次数是否大于目标分组组合的个数,若是,则目标分组迭代 次数加1,执行第6步,否则,执行第13步; 第13步,将当前请求分组加入到相容性条件表; 第14步,在目标请求分组表中删除当前请求分组; 第15步,判断目标请求分组表中请求分组的个数是否大于0,若是,则执行第3步,否则, 执行第16步; 第16步,得到相容性条件表。4.根据权利要求2所述的车辆共享利润最大化的用户请求分配方法,其特征在于,步骤 (5e)中所述的距离剪枝算法的具体步骤如下: 第1步,在数据处理模块中设置一个空的可搭乘请求组合距离表; 第2步,判断路径序列表中路径的个数是否大于0,若是,则执行第3步,否则,执行第9 步; 第3步,从路径序列表中选择任意一个路径序列,作为当前路径序列; 第4步,从相容性条件表中取出当前路径序列对应的请求分组,作为当前请求分组; 第5步,判断当前路径序列是否满足下述公式,若是,则执行第6步,否则,执行第2步: dis(s,dX〇 其中,dis表示欧式距离,s表示当前路径序列中的第一个结点,d表示当前需要搭载用 户的司机的位置,σ表示距离阈值,该参数由搭乘车辆需求的用户在范围(0,1)内设置; 第6步,按照下式,计算请求分组内所有搭乘车辆用户路径序列的总长度:其中,D表示请求分组内所有搭乘车辆用户路径序列的总长度,Σ表示求和操作,m表示 请求分组中路径序列的总数,?表示请求分组中第j个路径序列的长度,α表示浮动参数,该 参数由控制中心在范围(〇,1)内设置,Υ表示请求分组中所有路径序列中公共部分路径序列 的长度; 第7步,将当前请求分组和请求分组内所有搭乘车辆用户路径序列的总长度加入到可 搭乘请求组合距离表中; 第8步,判断路径序列表中路径的个数是否大于0,若是,则执行第3步,否则,执行第9 步; 第9步,得到可搭乘请求组合距离表。
【文档编号】G06Q50/30GK105956686SQ201610247876
【公开日】2016年9月21日
【申请日】2016年4月20日
【发明人】黄健斌, 赵智强, 刘怀亮, 高华
【申请人】西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1