CN113313343B - 基于动态时间切片和热度迁移的即时车辆共乘匹配方法 - Google Patents
基于动态时间切片和热度迁移的即时车辆共乘匹配方法 Download PDFInfo
- Publication number
- CN113313343B CN113313343B CN202110394191.4A CN202110394191A CN113313343B CN 113313343 B CN113313343 B CN 113313343B CN 202110394191 A CN202110394191 A CN 202110394191A CN 113313343 B CN113313343 B CN 113313343B
- Authority
- CN
- China
- Prior art keywords
- driver
- passenger
- matching
- solution
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013508 migration Methods 0.000 title claims abstract description 35
- 230000005012 migration Effects 0.000 title claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims abstract description 61
- 238000011156 evaluation Methods 0.000 claims abstract description 41
- 238000010845 search algorithm Methods 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims description 9
- 238000006467 substitution reaction Methods 0.000 claims description 7
- 101100039010 Caenorhabditis elegans dis-3 gene Proteins 0.000 claims description 6
- 101100030351 Schizosaccharomyces pombe (strain 972 / ATCC 24843) dis2 gene Proteins 0.000 claims description 6
- 230000001174 ascending effect Effects 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 229910052799 carbon Inorganic materials 0.000 claims description 4
- 238000012804 iterative process Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims 3
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提供一种基于动态时间切片和热度迁移的即时车辆共乘匹配方法,涉及车辆共乘技术领域。该方法首先使用共乘距离比率来评价司机和乘客的匹配价值,并定义司机和乘客匹配的约束条件;再基于动态时间切片划分和基于预测的迁移方法,求出司机和乘客匹配的初始解;使用一种优化的评估矩阵生成方法来计算司机和乘客间的最短路径和共乘距离比率;并通过贪婪算法获得即时车辆共乘匹配问题的初始解;通过使用多规则求解搜索算法,改进已有解;当获得最终的全局匹配方案时,不匹配的乘客将被迁移到下一个时间切片。该方法使用了高效的多规则求解搜索算法,可以有效地为实时拼车问题提供高质量的解。
Description
技术领域
本发明涉及车辆共乘技术领域,尤其涉及一种基于动态时间切片和热度迁移的即时车辆共乘匹配方法。
背景技术
车辆共乘是由司机集合、乘客集合和共乘服务平台所构成的一种共享交通资源的服务形式。车辆共乘通过对一定时空范围内的司机集合和乘客集合进行价值匹配和路径规划来共享交通资源,在缓解交通拥堵、减少碳排放和提高出行效率方面发挥着非常积极的作用。为使司机利润最大化和与乘客匹配价值达到最大,车辆共乘研究在进行司机和乘客匹配时考虑以下目标之一:(1)最大化乘客数量;(2)最小化司机的总行驶距离或行驶时间;(3)最小化总的绕行距离。车辆共乘问题一般采用两步方式解决,首先建立该问题的数学模型,然后根据模型特性选择最优化或近似算法进行求解。即时车辆共乘需及时处理乘客订单信息,避免乘客等待时间过长,因此需要匹配算法在极短的时间内对大量司机集合和乘客集合进行匹配。在现实情况中,处理车辆共乘过程中的建模和解决大规模实时数据面临着以下挑战:(1)现实匹配方案的评估方法;(2)动态时间切片分割策略;(3)司乘对基于利润的自适应阈值;(4)求解大规模实时数据的匹配和路径规划算法。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于动态时间切片和热度迁移的即时车辆共乘匹配方法,实现车辆共乘服务中司机和乘客的匹配。
为解决上述技术问题,本发明所采取的技术方案是:基于动态时间切片和热度迁移的即时车辆共乘匹配方法,包括以下步骤:
步骤1:使用共乘距离比率来评价司机和乘客的匹配价值,并定义司机和乘客匹配的约束条件;
步骤1.1:计算司机和乘客的共乘距离比率和对应的目标函数;
在路网Gra=<U,E>中,每个节点u∈U,每条边e∈E,对于任意司乘对<d,r>,其中每个司机每个乘客共乘距离为司机行驶总距离为因此得出司机和乘客的共乘距离比率η<d,r>和目标函数S如下公式如下:
其中,司机集合为D={di|i∈[1,m]∩N},m为司机总数,DT表示时间切片T内的司机总数,DT Δ表示时间切片T内迁移的司机总数;乘客集合为R={rj|j∈[1,n]∩N},n为乘客总数,RT表示时间切片T内的乘客总数,RT Δ表示时间切片T内迁移的司机总数;di表示司机集合中的第i个司机,司机di具有出发地目的地和出发时间ti;乘客ri具有出发地目的地和出发时间tj,η<d,r>为司机和乘客的共乘距离比率,表示司机和乘客的匹配价值;共乘距离为乘客rj乘车从出发地到达目的地的距离、为司机di从出发地到达乘客rj出发地的距离、为司机di从乘客rj目的地到达司机di下一目的地的距离,为一个二元变量,表示司机di和乘客rj是否匹配,若匹配则为1,不匹配则为0;θ<d,r>表示司机的绕行距离;
步骤1.2:定义司机和乘客匹配的约束条件;
所述司机和乘客匹配的约束条件包括绕行距离约束、迁移约束和唯一性约束,具体为:
(1)以公式4定义司机和乘客匹配的绕行距离约束:
其中,表示司机的行驶利润率,即司机搭载乘客每公里所获收益与司机行驶每公里的花费的比率;
(2)以公式5定义司机和乘客匹配的迁移约束,当η<d,r>超出匹配阈值时,司机和乘客匹配成功;否则,司机和乘客匹配失败,乘客被迁移去与其他司机进行匹配;
(3)以公式6和7定义司机和乘客匹配的唯一性约束,司机di只能与乘客rj进行匹配成功,乘客rj只能与司机di进行匹配成功;
步骤2:基于动态时间切片划分和基于预测的迁移方法,求出司机和乘客匹配的初始解;基于预测的迁移方法使用司机和乘客的历史匹配数据来预测评估司机和乘客匹配的自适应阈值,只有当司机和乘客的匹配价值超过一定的共乘距离比率时才进行匹配,具体方法为:
步骤2.1:使用动态时间切片划分方法划分共乘时间;
定义两个上限:(1)最大乘客数Max_user:表示在一个时间切片内要匹配的最大通勤者数量;(2)最大等待时间Max_time:表示当前已匹配乘客的最大等待时间;基于以下规则进行时间切片Tk的划分:
(1)使用Nd表示在中当前司机数量;使用Nr表示在中当前乘客数量,当Nd+Nr超过最大乘客数量Max_user时,时间切片Tk关闭;
(2)使用Δt表示当前时间t和之间的差值,其中,当Δt超过最大等待时间Max_time时关闭时间切片Tk;
步骤2.2:使用基于预测的迁移方法,在时间切片划分后,筛选出司机集合的待匹配乘客;
通过分析司机和乘客的历史匹配数据来确定匹配阈值将一周的每一天ρe划分为一系列时间切片,即其中g表示时间切片的数量;对于任意时间切片使用表示司机乘客对在历史数据集H中的第k天的时间切片f中的平均共乘距离比率,在该时间切片中出现的所有司机和乘客都被匹配,忽略该时间切片内的所有司机和乘客的共乘距离比率;通过以下公式来计算司机和乘客的历史匹配数据集中出现的共乘距离比率所对应的阈值
其中,Ne表示司机和乘客的历史匹配数据集H中被分割的ρe的天数,表示调整系数;
被用作在时间区间f中的所有时间切片的共乘距离比率的阈值,当且仅当司机di和乘客rj的共乘距离比率超过阈值时才能进行匹配,没有匹配到的司机和乘客被迁移到下一个时间切片;
步骤2.3:根据当前时间切片指数和司机和乘客的历史匹配数据集中的原始时间切片指数间的差异计算两者间的阈值的最小值来评估被迁移到下一时间切片的乘客;
对于一个被迁移的司机共乘距离比率阈值如下公式所示:
其中,ecur表示当前时间切片的指数,表示司机原始时间切片的指数,σ是重量因子;
步骤3:使用多规则求解搜索算法来搜索即时车辆共乘问题的解集;
首先,使用一种优化的评估矩阵生成方法来计算中司机和中的乘客间的最短路径和共乘距离比率;并通过贪婪算法获得即时车辆共乘匹配问题的初始解;然后,通过使用多规则求解搜索算法,在给定的迭代次数内改进已有解;当获得最终的全局匹配方案时,不匹配的乘客将被迁移到下一个时间切片;
步骤3.1:通过公式定义多规则求解搜索算法中的不连续值替换操作、单步变更操作和单步变更解集;
步骤3.1.1:以公式10定义一个I形式的解决方案,以公式11-15定义多规则求解搜索算法中的不连续值替换操作;
I=(I1,I2,I3,...,Im) (10)
DI={Ik|k∈[1,m]∩N} (11)
其中,I表示即时车辆共乘匹配问题的m维解向量,即匹配方案,其中向量的每个维度对应于di(i∈{1...m}∩N),Ii表示I的第i个维度的值,对应于与di匹配的乘客rj(j∈{1...n}∩N);DI是I的每个维度的值集,而C是I的每个维度的可行值集,null表示空集;
步骤3.1.2:以公式16-17定义多规则求解搜索算法中的单步变更操作SSR,不连续值替换操作DVR的一个解I通过改变Ii和Ij的值转换成一个新的解;当Ij在DI中时,Ii和Ij的值互换,否则,将Ii的值改为Ij的值,Ii和Ij中至少有一个不能为空;
其中,表示对Ii和Ij的值进行单步变更操作;
步骤3.1.3:定义单步变更解集;如果通过单步变更操作得到的所有Ii和Ij是单步变更操作的解,则得到一个单步变更SSR解集;基于单步变更SSR解集在离散值解向量之间建立的关联,通过在不同解之间进行搜索来获得解集中的最优解;
步骤3.2:通过初始化算法生成评估矩阵和解矩阵;定义评估矩阵V(m×n)来表示价值在匹配司机和乘客时起到主观驱动作用;V中每个条目vij(i∈[1,m],j∈[1,n])表示司机di和乘客rj匹配时的共乘距离比率定义解矩阵P(m×n)表示匹配方案,其中如果di和rj匹配,则P的每个条目xij(i∈[1,m],j∈[1,n])等于1,否则等于0;如果不满足绕行距离约束和迁移约束,则xij被置为0;在计算共乘距离比率时分解Dijkstra算法并在迭代过程中计算司机和乘客之间的最短路径;
步骤3.2.1:对于已有司机集合和乘客集合 初始化定义评估矩阵V[m,n];
步骤3.2.2:获取司机集合中的每一个司机d;
步骤3.2.3:计算司机d所在地到其他所有节点的最短路径disMap1;
disMap1=shortest_path(loc(d),all) (18)
步骤3.2.4:计算所有其他所有节点到司机d目的地的最短路径disMap2;
disMap2=shortest_path(all,dst(d)) (19)
步骤3.2.5:获取乘客集合{R∪RΔ}中的每一个乘客r;
步骤3.2.6:计算乘客r的所在地和目的地之间的最短路径dis1;
dis1=shortest_path(loc(r),dst(r)) (20)
步骤3.2.7:从司机d的循环中得到司机d的所在地与乘客r目的地之间的最短路径dis2;
dis2=dis1Map[loc(d)][loc(r)] (21)
步骤3.2.8:从司机d的循环中得到司机d的目的地与乘客r目的地之间的最短路径dis3;
dis3=dis2Map[dst(d)][dst(r)] (22)
步骤3.2.9:由步骤3.2.2-步骤3.2.8得到当前评估矩阵
其中,disMap1表示司机d所在地loc(d)到所有节点的最短路径表,shortest_path表示最短路径求解算法,即Dijkstra算法,all表示路网中的所有节点,disMap2表示路网中所有节点到司机d目的地dst(d)的最短路径表;
步骤3.3:生成即时车辆共乘问题的初始解;通过多规则求解搜索算法迭代从初始解集中的一个初始节点开始,使用贪婪算法来构造与此初始节点相匹配的初始解;对于给定的评估矩阵V(m×n),对应的解矩阵P(m×n)中的所有条目被初始化为零;接下来对评估矩阵V中的每一列所有的条目都升序排序,然后从底部开始访问;具体实施步骤如下:
步骤3.3.1:由步骤3.2得到司机d和乘客r的匹配评估矩阵V,初始化定义解矩阵P(m×n);
步骤3.3.2:对于评估矩阵V每列中的每一个元素,如果解矩阵P(m×n)的行值和大于0或者列值和大于0,则对评估矩阵V的列进行升序排序;
步骤3.3.3:对评估矩阵的排序列进行遍历,如果遍历到的当前元素在评估矩阵中的位置,对应在匹配方案中的位置列和为0,则将匹配方案中该位置置为1,并且选择跳过此列;
步骤3.4:根据不连续值替换的特点设计三种不同的规则来搜索多规则求解搜索算法的解;
(1)随机向下SSR规则:在解矩阵P(m×n)中选择值为1的两行进行位置交换;
(2)随机概率向下SSR规则:随机搜索解矩阵P(m×n)的列,依据该列所在位置与当前匹配位置的差值,选取所有差值为正值的位置并依据差值做概率分布来随机选取下一个位置,两个位置如果交换后价值增加,则进行交换;
(3)随机大值向下SSR规则:随机搜索并定位一个xij等于1,且x(i+1)j对应评估矩阵中的v(i+1)j<vij,v(i+1)j,vij∈V,则xil与xij交换位置,vij向下与v(i+1)j交换位置;
步骤3.5:随机使用步骤3.4中的一种规则进行搜索,直至获得全局最优方案。
采用上述技术方案所产生的有益效果在于:本发明提供的基于动态时间切片和热度迁移的即时车辆共乘匹配方法,使用一个具有动态时间切片和基于预期迁移的实时拼车框架,对即时车辆共乘问题进行了形式化建模,并使用了两种方法根据从历史数据中了解到的阈值,动态划分时间范围并迁移未匹配的乘客,本发明方法的动态时间切片划分能够在交通资源的利用率和一天中不同时间切片乘客的等待时间之间提供更智能的平衡。同时,本发明方法使用了一种高效的多规则求解搜索算法,可以有效地为实时拼车问题提供高质量的解。
附图说明
图1为本发明实施例提供的基于动态时间切片和热度迁移的即时车辆共乘匹配方法的整体框架图
图2为本发明实施例提供的基于动态时间切片和热度迁移的即时车辆共乘匹配方法的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本实施例中,基于动态时间切片和热度迁移的即时车辆共乘匹配方法,如图1、2所示,包括以下步骤:
步骤1:使用共乘距离比率来评价司机和乘客的匹配价值,并定义司机和乘客匹配的约束条件;
步骤1.1:计算司机和乘客的共乘距离比率和对应的目标函数;
在路网Gra=<U,E>中,每个节点u∈U,每条边e∈E,对于任意司乘对<d,r>,其中每个司机每个乘客共乘距离为司机行驶总距离为因此得出司机和乘客的共乘距离比率η<d,r>和目标函数S如下公式如下:
其中,司机集合为D={di|i∈[1,m]∩N},m为司机总数,DT表示时间切片T内的司机总数,DT Δ表示时间切片T内迁移的司机总数;乘客集合为R={rj|j∈[1,n]∩N},n为乘客总数,RT表示时间切片T内的乘客总数,RT Δ表示时间切片T内迁移的司机总数;di表示司机集合中的第i个司机,司机di具有出发地目的地和出发时间ti;乘客ri具有出发地目的地和出发时间tj,η<d,r>为司机和乘客的共乘距离比率,表示司机和乘客的匹配价值;共乘距离为乘客rj乘车从出发地到达目的地的距离、为司机di从出发地到达乘客rj出发地的距离、为司机di从乘客rj目的地到达司机di下一目的地的距离,为一个二元变量,表示司机di和乘客rj是否匹配,若匹配则为1,不匹配则为0;θ<d,r>表示司机的绕行距离;
步骤1.2:定义司机和乘客匹配的约束条件;
所述司机和乘客匹配的约束条件包括绕行距离约束、迁移约束和唯一性约束,具体为:
(1)以公式4定义司机和乘客匹配的绕行距离约束:
其中,表示司机的行驶利润率,即司机搭载乘客每公里所获收益与司机行驶每公里的花费的比率;
(2)以公式5定义司机和乘客匹配的迁移约束,产生一个高质量的匹配结果,当η<d,r>超出匹配阈值时,司机和乘客匹配成功;否则,司机和乘客匹配失败,乘客被迁移去与其他司机进行匹配;
(3)以公式6和7定义司机和乘客匹配的唯一性约束,司机di只能与乘客rj进行匹配成功,乘客rj只能与司机di进行匹配成功;
步骤2:基于动态时间切片划分和基于预测的迁移方法,求出司机和乘客匹配的初始解;基于预测的迁移方法使用司机和乘客的历史匹配数据来预测评估司机和乘客匹配的自适应阈值,只有当司机和乘客的匹配价值超过一定的共乘距离比率时才进行匹配,具体方法为:
步骤2.1:使用动态时间切片划分方法划分共乘时间;
定义两个上限:(1)最大乘客数Max_user:表示在一个时间切片内要匹配的最大通勤者数量;(2)最大等待时间Max_time:表示当前已匹配乘客的最大等待时间;基于以下规则进行时间切片Tk的划分:
(1)使用Nd表示在中当前司机数量;使用Nr表示在中当前乘客数量,当Nd+Nr超过最大乘客数量Max_user时,时间切片Tk关闭;
(2)使用Δt表示当前时间t和之间的差值,其中, 当Δt超过最大等待时间Max_time时关闭时间切片Tk;
步骤2.2:使用基于预测的迁移方法,在时间切片划分后,筛选出司机集合的待匹配乘客;
通过分析司机和乘客的历史匹配数据来确定匹配阈值将一周的每一天ρe划分为一系列时间切片,即其中g表示时间切片的数量;对于任意时间切片使用表示司机乘客对在历史数据集H中的第k天的时间切片f中的平均共乘距离比率,在该时间切片中出现的所有司机和乘客都被匹配,忽略该时间切片内的所有司机和乘客的共乘距离比率;通过以下公式来计算司机和乘客的历史匹配数据集中出现的共乘距离比率所对应的阈值
其中,Ne表示司机和乘客的历史匹配数据集H中被分割的ρe的天数,表示调整系数;
被用作在时间区间f中的所有时间切片的共乘距离比率的阈值,当且仅当司机di和乘客rj的共乘距离比率超过阈值时才能进行匹配,没有匹配到的司机和乘客被迁移到下一个时间切片;调整系数用于调整阈值的严格程度,一个较小的将导致一个较低的全局共乘距离比率,但是会产生更多的匹配,相反,一个较大的会导致一个较高的全局共乘距离比率,但是产生更少的匹配。
步骤2.3:根据当前时间切片指数和司机和乘客的历史匹配数据集中的原始时间切片指数间的差异计算两者间的阈值的最小值来评估被迁移到下一时间切片的乘客;
对于一个被迁移的司机共乘距离比率阈值如下公式所示:
其中,ecur表示当前时间切片的指数,表示司机原始时间切片的指数,σ是一个表示阈值急剧缩减的重量因子;
步骤3:使用多规则求解搜索算法来搜索即时车辆共乘问题的解集;
首先,使用一种优化的评估矩阵生成方法来计算中司机和中的乘客间的最短路径和共乘距离比率;并通过贪婪算法获得即时车辆共乘匹配问题的初始解;然后,通过使用多规则求解搜索算法,该算法遍历解集以在给定的迭代次数内改进已有解;不同的搜索规则在搜索过程中提供了不同的强化和多样化水平当获得最终的全局匹配方案时,不匹配的乘客将被迁移到下一个时间切片;
步骤3.1:通过公式定义多规则求解搜索算法中的不连续值替换操作、单步变更操作和单步变更解集;
步骤3.1.1:以公式10定义一个I形式的解决方案,以公式11-15定义多规则求解搜索算法中的不连续值替换操作;
I=(I1,I2,I3,...,Im) (10)
DI={Ik|k∈[1,m]∩N} (11)
其中,I表示即时车辆共乘匹配问题的m维解向量,即匹配方案,其中向量的每个维度对应于di(i∈{1...m}∩N),Ii表示I的第i个维度的值,对应于与di匹配的乘客rj(j∈{1...n}∩N);DI是I的每个维度的值集,而C是I的每个维度的可行值集,null表示空集;公式14表示对于I中的每两个元素,只有当它们都为空时才相等;公式15表示只有当C的所有元素都已经在DI中时,空值才在DI中;
步骤3.1.2:以公式16-17定义多规则求解搜索算法中的单步变更操作SSR,不连续值替换操作DVR的一个解I通过改变Ii和Ij的值转换成一个新的解;当Ij在DI中时,Ii和Ij的值互换,否则,将Ii的值改为Ij的值,需要注意的是要想执行SSR,Ii和Ij中至少有一个不能为空;
其中,表示对Ii和Ij的值进行单步变更操作;
步骤3.1.3:定义单步变更解集;如果通过单步变更操作得到的所有Ii和Ij是单步变更操作的解,则得到一个单步变更SSR解集;基于单步变更SSR解集在离散值解向量之间建立的关联,通过在不同解之间进行搜索来获得解集中的最优解;
步骤3.2:通过初始化算法生成评估矩阵和解矩阵,定义两个矩阵来加速即时车辆共乘匹配问题的求解;定义评估矩阵V(m×n)来表示价值在匹配司机和乘客时起到主观驱动作用;V中每个条目vij(i∈[1,m],j∈[1,n])表示司机di和乘客rj匹配时的共乘距离比率定义解矩阵P(m×n)表示匹配方案,其中如果di和rj匹配,则P的每个条目xij(i∈[1,m],j∈[1,n])等于1,否则等于0;如果不满足绕行距离约束和迁移约束,则xij被置为0;在计算共乘距离比率时分解Dijkstra算法并在迭代过程中计算司机和乘客之间的最短路径;
步骤3.2.1:对于已有司机集合和乘客集合 初始化定义评估矩阵V[m,n];
步骤3.2.2:获取司机集合中的每一个司机d;
步骤3.2.3:计算司机d所在地到其他所有节点的最短路径disMap1;
disMap1=shortest_path(loc(d),all) (18)
步骤3.2.4:计算所有其他所有节点到司机d目的地的最短路径disMap2;
disMap2=shortest_path(all,dst(d)) (19)
步骤3.2.5:获取乘客集合{R∪RΔ}中的每一个乘客r;
步骤3.2.6:计算乘客r的所在地和目的地之间的最短路径dis1;
dis1=shortest_path(loc(r),dst(r)) (20)
步骤3.2.7:从司机d的循环中得到司机d的所在地与乘客r目的地之间的最短路径dis2;
dis2=dis1Map[loc(d)[ploc(r)] (21)
步骤3.2.8:从司机d的循环中得到司机d的目的地与乘客r目的地之间的最短路径dis3;
dis3=dis2Map[dst(d)][dst(r)] (22)
步骤3.2.9:由步骤3.2.2-步骤3.2.8得到当前评估矩阵
其中,disMap1表示司机d所在地loc(d)到所有节点的最短路径表,shortest_path表示最短路径求解算法,即Dijkstra算法,all表示路网中的所有节点,disMap2表示路网中所有节点到司机d目的地dst(d)的最短路径表;
步骤3.3:生成即时车辆共乘问题的初始解;通过多规则求解搜索算法迭代从初始解集中的一个初始节点开始,使用贪婪算法来构造与此初始节点相匹配的初始解;对于给定的评估矩阵V(m×n),对应的解矩阵P(m×n)中的所有条目被初始化为零;接下来对评估矩阵V中的每一列所有的条目都升序排序,然后从底部开始访问;具体实施步骤如下:
步骤3.3.1:由步骤3.2得到司机d和乘客r的匹配评估矩阵V,初始化定义解矩阵P(m×n);
步骤3.3.2:对于评估矩阵V每列中的每一个元素,如果解矩阵P(m×n)的行值和大于0或者列值和大于0,则对评估矩阵V的列进行升序排序;
步骤3.3.3:对评估矩阵的排序列进行遍历,如果遍历到的当前元素在评估矩阵中的位置,对应在匹配方案中的位置列和为0,则将匹配方案中该位置置为1,并且选择跳过此列;
步骤3.4:根据不连续值替换的特点设计三种不同的规则来搜索多规则求解搜索算法的解;
(1)随机向下SSR规则:在解矩阵P(m×n)中选择值为1的两行进行位置交换;
(2)随机概率向下SSR规则:随机搜索解矩阵P(m×n)的列,依据该列所在位置与当前匹配位置的差值,选取所有差值为正值的位置并依据差值做概率分布来随机选取下一个位置,两个位置如果交换后价值增加,则进行交换;
(3)随机大值向下SSR规则:与之前的规则类似,最大向上SSR规则也随机搜索并定位一个xij等于1,且x(i+1)j对应评估矩阵中的v(i+1)j<vij,v(i+1)j,vij∈V,则xil与xij交换位置,vij向下与v(i+1)j交换位置;
步骤3.5:随机使用步骤3.4中的一种规则进行搜索,直至获得全局最优方案。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (8)
1.一种基于动态时间切片和热度迁移的即时车辆共乘匹配方法,其特征在于:包括以下步骤:
步骤1:使用共乘距离比率来评价司机和乘客的匹配价值,并定义司机和乘客匹配的约束条件;
步骤1.1:计算司机和乘客的共乘距离比率和对应的目标函数;
在路网Gra=<U,E>中,每个节点u∈U,每条边e∈E,对于任意司乘对<d,r>,其中每个司机每个乘客共乘距离为司机行驶总距离为因此得出司机和乘客的共乘距离比率η<d,r>和目标函数S如下公式如下:
其中,司机集合为D={di|i∈[1,m]∩N},m为司机总数,DT表示时间切片T内的司机总数,DT Δ表示时间切片T内迁移的司机总数;乘客集合为R={rj|j∈[1,n]∩N},n为乘客总数,RT表示时间切片T内的乘客总数,RT Δ表示时间切片T内迁移的司机总数;di表示司机集合中的第i个司机,司机di具有出发地目的地和出发时间ti;乘客ri具有出发地目的地和出发时间tj,η<d,r>为司机和乘客的共乘距离比率,表示司机和乘客的匹配价值;共乘距离为乘客rj乘车从出发地到达目的地的距离、为司机di从出发地到达乘客rj出发地的距离、为司机di从乘客rj目的地到达司机di下一目的地的距离,为一个二元变量,表示司机di和乘客rj是否匹配,若匹配则为1,不匹配则为0;θ<d,r>表示司机的绕行距离;
步骤1.2:定义司机和乘客匹配的约束条件;
所述司机和乘客匹配的约束条件包括绕行距离约束、迁移约束和唯一性约束;具体为:
步骤2:基于动态时间切片划分和基于预测的迁移方法,求出司机和乘客匹配的初始解;基于预测的迁移方法使用司机和乘客的历史匹配数据来预测评估司机和乘客匹配的自适应阈值,只有当司机和乘客的匹配价值超过一定的共乘距离比率时才进行匹配,具体方法为:
步骤2.1:使用动态时间切片划分方法划分共乘时间;
步骤2.2:使用基于预测的迁移方法,在时间切片划分后,筛选出司机集合的待匹配乘客;
步骤2.3:根据当前时间切片指数和司机和乘客的历史匹配数据集中的原始时间切片指数间的差异计算两者间的阈值的最小值来评估被迁移到下一时间切片的乘客;
步骤3:使用多规则求解搜索算法来搜索即时车辆共乘问题的解集;
首先,使用一种优化的评估矩阵生成方法来计算中司机和中的乘客间的最短路径和共乘距离比率;并通过贪婪算法获得即时车辆共乘匹配问题的初始解;然后,通过使用多规则求解搜索算法,在给定的迭代次数内改进已有解;当获得最终的全局匹配方案时,不匹配的乘客将被迁移到下一个时间切片。
2.根据权利要求1所述的基于动态时间切片和热度迁移的即时车辆共乘匹配方法,其特征在于:步骤1.2所述司机和乘客匹配的约束条件具体为:
(1)以公式4定义司机和乘客匹配的绕行距离约束:
其中,θ表示司机的行驶利润率,即司机搭载乘客每公里所获收益与司机行驶每公里的花费的比率;
(2)以公式5定义司机和乘客匹配的迁移约束,当η<d,r>超出匹配阈值时,司机和乘客匹配成功;否则,司机和乘客匹配失败,乘客被迁移去与其他司机进行匹配;
(3)以公式6和7定义司机和乘客匹配的唯一性约束,司机di只能与乘客rj进行匹配成功,乘客rj只能与司机di进行匹配成功;
3.根据权利要求2所述的基于动态时间切片和热度迁移的即时车辆共乘匹配方法,其特征在于:所述步骤2.1的具体方法为:
定义两个上限:(1)最大乘客数Max_user:表示在一个时间切片内要匹配的最大通勤者数量;(2)最大等待时间Max_time:表示当前已匹配乘客的最大等待时间;基于以下规则进行时间切片Tk的划分:
(1)使用Nd表示在中当前司机数量;使用Nr表示在中当前乘客数量,当Nd+Nr超过最大乘客数量Max_user时,时间切片Tk关闭;
(2)使用Δt表示当前时间t和之间的差值,其中,当Δt超过最大等待时间Max_time时关闭时间切片Tk。
4.根据权利要求3所述的基于动态时间切片和热度迁移的即时车辆共乘匹配方法,其特征在于:所述步骤2.2的具体方法为:
通过分析司机和乘客的历史匹配数据来确定匹配阈值将一周的每一天ρe划分为一系列时间切片,即其中g表示时间切片的数量;对于任意时间切片使用表示司机乘客对在历史数据集H中的第k天的时间切片T中的平均共乘距离比率,在该时间切片中出现的所有司机和乘客都被匹配,忽略该时间切片内的所有司机和乘客的共乘距离比率;通过以下公式来计算司机和乘客的历史匹配数据集中出现的共乘距离比率所对应的阈值
其中,Ne表示司机和乘客的历史匹配数据集H中被分割的ρe的天数,表示调整系数;
被用作在时间区间f中的所有时间切片的共乘距离比率的阈值,当且仅当司机di和乘客rj的共乘距离比率超过阈值时才能进行匹配,没有匹配到的司机和乘客被迁移到下一个时间切片。
5.根据权利要求4所述的基于动态时间切片和热度迁移的即时车辆共乘匹配方法,其特征在于:对于一个被迁移的司机共乘距离比率阈值如下公式所示:
其中,ecur表示当前时间切片的指数,表示司机原始时间切片的指数,σ是重量因子。
6.根据权利要求5所述的基于动态时间切片和热度迁移的即时车辆共乘匹配方法,其特征在于:所述步骤3的具体方法为:
步骤3.1:通过公式定义多规则求解搜索算法中的不连续值替换操作、单步变更操作和单步变更解集;
步骤3.1.1:以公式10定义一个I形式的解决方案,以公式11-15定义多规则求解搜索算法中的不连续值替换操作;
I=(I1,I2,I3,...,Im) (10)
DI={Ik|k∈[1,m]∩N} (11)
其中,I表示即时车辆共乘匹配问题的m维解向量,即匹配方案,其中向量的每个维度对应于di(i∈{1...m}∩N),Ii表示I的第i个维度的值,对应于与di匹配的乘客rj(j∈{1...n}∩N);DI是I的每个维度的值集,而C是I的每个维度的可行值集,null表示空集;
步骤3.1.2:以公式16-17定义多规则求解搜索算法中的单步变更操作SSR,不连续值替换操作DVR的一个解I通过改变Ii和Ij的值转换成一个新的解;当Ij在DI中时,Ii和Ij的值互换,否则,将Ii的值改为Ij的值,Ii和Ij中至少有一个不能为空;
其中,表示对Ii和Ij的值进行单步变更操作;
步骤3.1.3:定义单步变更解集;如果通过单步变更操作得到的所有Ii和Ij是单步变更操作的解,则得到一个单步变更SSR解集;基于单步变更SSR解集在离散值解向量之间建立的关联,通过在不同解之间进行搜索来获得解集中的最优解;
步骤3.2:通过初始化算法生成评估矩阵和解矩阵;定义评估矩阵V(m×n)来表示价值在匹配司机和乘客时起到主观驱动作用;V中每个条目vij(i∈[1,m],j∈[1,n])表示司机di和乘客rj匹配时的共乘距离比率定义解矩阵P(m×n)表示匹配方案,其中如果di和rj匹配,则P的每个条目xij(i∈[1,m],j∈[1,n])等于1,否则等于0;如果不满足绕行距离约束和迁移约束,则xij被置为0;在计算共乘距离比率时分解Dijkstra算法并在迭代过程中计算司机和乘客之间的最短路径;
步骤3.3:生成即时车辆共乘问题的初始解;通过多规则求解搜索算法迭代从初始解集中的一个初始节点开始,使用贪婪算法来构造与此初始节点相匹配的初始解;对于给定的评估矩阵V(m×n),对应的解矩阵P(m×n)中的所有条目被初始化为零;接下来对评估矩阵V中的每一列所有的条目都升序排序,然后从底部开始访问;
步骤3.4:根据不连续值替换的特点设计三种不同的规则来搜索多规则求解搜索算法的解;
(1)随机向下SSR规则:在解矩阵P(m×n)中选择值为1的两行进行位置交换;
(2)随机概率向下SSR规则:随机搜索解矩阵P(m×n)的列,依据该列所在位置与当前匹配位置的差值,选取所有差值为正值的位置并依据差值做概率分布来随机选取下一个位置,两个位置如果交换后价值增加,则进行交换;
(3)随机大值向下SSR规则:随机搜索并定位一个xij等于1,且x(i+1)j对应评估矩阵中的v(i+1)j<vij,v(i+1)j,vij∈V,则xil与xij交换位置,vij向下与v(i+1)j交换位置;
步骤3.5:随机使用步骤3.4中的一种规则进行搜索,直至获得全局最优方案。
7.根据权利要求6所述的基于动态时间切片和热度迁移的即时车辆共乘匹配方法,其特征在于:所述步骤3.2的具体方法为:
步骤3.2.1:对于已有司机集合和乘客集合 初始化定义评估矩阵V[m,n];
步骤3.2.2:获取司机集合中的每一个司机d;
步骤3.2.3:计算司机d所在地到其他所有节点的最短路径disMap1;
disMap1=shortest_path(loc(d),all) (18)
步骤3.2.4:计算所有其他所有节点到司机d目的地的最短路径disMap2;
disMap2=shortest_path(all,dst(d)) (19)
步骤3.2.5:获取乘客集合{R∪RΔ}中的每一个乘客r;
步骤3.2.6:计算乘客r的所在地和目的地之间的最短路径dis1;
dis1=shortest_path(loc(r),dst(r)) (20)
步骤3.2.7:从司机d的循环中得到司机d的所在地与乘客r目的地之间的最短路径dis2;
dis2=dis1Map[loc(d)][loc(r)] (21)
步骤3.2.8:从司机d的循环中得到司机d的目的地与乘客r目的地之间的最短路径dis3;
dis3=dis2Map[dst(d)][dst(r)] (22)
步骤3.2.9:由步骤3.2.2-步骤3.2.8得到当前评估矩阵
其中,disMap1表示司机d所在地loc(d)到所有节点的最短路径表,shortest_path表示最短路径求解算法,即Dijkstra算法,all表示路网中的所有节点,disMap2表示路网中所有节点到司机d目的地dst(d)的最短路径表。
8.根据权利要求7所述的基于动态时间切片和热度迁移的即时车辆共乘匹配方法,其特征在于:所述步骤3.3的具体实施步骤如下:
步骤3.3.1:由步骤3.2得到司机d和乘客r的匹配评估矩阵V,初始化定义解矩阵P(m×n);
步骤3.3.2:对于评估矩阵V每列中的每一个元素,如果解矩阵P(m×n)的行值和大于0或者列值和大于0,则对评估矩阵V的列进行升序排序;
步骤3.3.3:对评估矩阵的排序列进行遍历,如果遍历到的当前元素在评估矩阵中的位置,对应在匹配方案中的位置列和为0,则将匹配方案中该位置置为1,并且选择跳过此列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110394191.4A CN113313343B (zh) | 2021-04-13 | 2021-04-13 | 基于动态时间切片和热度迁移的即时车辆共乘匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110394191.4A CN113313343B (zh) | 2021-04-13 | 2021-04-13 | 基于动态时间切片和热度迁移的即时车辆共乘匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113313343A CN113313343A (zh) | 2021-08-27 |
CN113313343B true CN113313343B (zh) | 2024-07-12 |
Family
ID=77372350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110394191.4A Active CN113313343B (zh) | 2021-04-13 | 2021-04-13 | 基于动态时间切片和热度迁移的即时车辆共乘匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113313343B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113947245B (zh) * | 2021-10-20 | 2024-07-09 | 辽宁工程技术大学 | 一种基于订单累积量的多乘客多司机共乘匹配方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108564788A (zh) * | 2018-06-07 | 2018-09-21 | 重庆邮电大学 | 一种基于流式大数据的同行车辆发现方法 |
CN111590040A (zh) * | 2020-04-16 | 2020-08-28 | 攀钢集团攀枝花钢铁研究院有限公司 | 一种提升齿轮钢质量的小方坯连铸生产方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019160059A (ja) * | 2018-03-15 | 2019-09-19 | 住友電気工業株式会社 | 情報提供装置、情報提供方法、およびコンピュータプログラム |
CN111667086B (zh) * | 2019-03-08 | 2023-07-28 | 山东大学 | 一种车辆共乘路径寻优方法及系统 |
-
2021
- 2021-04-13 CN CN202110394191.4A patent/CN113313343B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108564788A (zh) * | 2018-06-07 | 2018-09-21 | 重庆邮电大学 | 一种基于流式大数据的同行车辆发现方法 |
CN111590040A (zh) * | 2020-04-16 | 2020-08-28 | 攀钢集团攀枝花钢铁研究院有限公司 | 一种提升齿轮钢质量的小方坯连铸生产方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113313343A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111260118B (zh) | 一种基于量子粒子群优化策略的车联网交通流量预测方法 | |
CN104778508B (zh) | 一种基于多源数据融合的公共自行车租借预测方法 | |
CN106527381B (zh) | 一种面向并行批处理机动态调度的快速评估方法 | |
CN114662780A (zh) | 碳排放量预测方法、装置、电子设备及存储介质 | |
CN111860989B (zh) | 一种基于蚁群算法优化的lstm神经网络短时交通流量预测方法 | |
CN109657847A (zh) | 基于粒子群优化支持向量回归的工业生产中故障预测方法 | |
CN106910337A (zh) | 一种基于萤火虫算法与rbf神经网络的交通流预测方法 | |
WO2020164740A1 (en) | Methods and systems for automatically selecting a model for time series prediction of a data stream | |
CN113313343B (zh) | 基于动态时间切片和热度迁移的即时车辆共乘匹配方法 | |
CN115374853A (zh) | 基于T-Step聚合算法的异步联邦学习方法及系统 | |
CN115115389A (zh) | 一种基于价值细分和集成预测的快递客户流失预测方法 | |
CN115759917A (zh) | 一种基于改进混合蚁群算法的物流路径规划方法 | |
CN114167898A (zh) | 一种无人机收集数据的全局路径规划方法及系统 | |
CN109858559B (zh) | 基于交通流宏观基本图的自适应交通分析路网简化方法 | |
CN113887748B (zh) | 在线联邦学习任务分配方法、装置、联邦学习方法及系统 | |
CN111445094A (zh) | 一种结合时间要求的快递车辆路径优化的方法及系统 | |
CN112785085B (zh) | 一种配送路径优化方法及装置 | |
CN114418213A (zh) | 一种基于深度强化学习的城市电动车辆调度方法和系统 | |
CN117114220A (zh) | 一种基于图神经网络的车辆调度算法 | |
CN115359672B (zh) | 一种数据驱动与强化学习结合的交通区域边界控制方法 | |
CN113516163B (zh) | 基于网络剪枝的车辆分类模型压缩方法、装置及存储介质 | |
CN113743671B (zh) | 一种高铁快递专列运输网络优化方法及系统 | |
CN109272151A (zh) | 一种基于Spark的车辆路径规划算法优化方法 | |
CN114444737A (zh) | 基于迁移学习的路面养护智能规划方法 | |
CN114528094A (zh) | 基于lstm和遗传算法的分布式系统资源优化分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |