一、主要内容

将网约车的运营过程建模为马尔可夫决策过程,提出了基于强化学习的针对单辆网约车进行空车调度的 Q-Net 模型,并在后续扩展得到解决多辆网约车调度问题的 PRI-AC 模型,通过优化网约车的长期收益得到最佳调度策略。基于重庆网约车轨迹数据集实现了单辆网约车调度与多辆网约车调度的模拟环境实现智能体与环境的交互,通过仿真实验与基线算法在相同初始环境下进行对比实验证明了本文所提出算法的有效性。 
在单辆网约车的调度过程中,针对乘客需求复杂的情境下直接使用即时收入作为奖励函数无法适应动态环境的问题设计了结合即时收益与动作空间中下一状态的需求情况的奖励函数来优化网约车调度策略。 
由于乘客出行的复杂性导致了交通环境处于供需不平衡的状态,因此在多辆网约车的调度过程中针对车辆与需求的分布情况提出了基于供需感知多智能体强化学习模型 PRI-AC,通过主动调度空闲车辆以平衡供需,从而减少订单拒绝率提高乘客体验感。设计了结合即时奖励与任务完成状况的奖励函数,结合环境奖励与任务完成效果解决奖励稀疏的问题。通过简化智能体的动作范围进行调度策略的优化,通过所有智能体共享策略网络的方式促进智能体的合作,降低模型的复杂度。 

二、核心算法与过程

怎么调度springbatch_时间片

建模过程

首先对获取网约车的载客状态信息,2 表示未载客,3 表示司机接驾中,5 表示乘客已上车。接下来分别提取轨迹中状态 5 的前后端点以及状态 2 的前后端点,得到订单信息 OD 数据集与司机路径选择 OD 数据集。 

设置每个切片为 5 分钟(∆𝑡),将一天划分为288 个时间片。在进行调度模拟时根据时间变化获取每个时间切片的车辆信息与需求状况进行合理调度,通过时间切片方式将网约车调度过程的需求与供应动态变化的复杂情况转化为某一时间片内空闲车辆信息与需求状态已知的静态问题。

怎么调度springbatch_怎么调度springbatch_02

设置每个切片为 5 分钟(∆𝑡),将一天划分为288 个时间片。在进行调度模拟时根据时间变化获取每个时间切片的车辆信息与需求状况进行合理调度,通过时间切片方式将网约车调度过程的需求与供应动态变化的复杂情况转化为某一时间片内空闲车辆信息与需求状态已知的静态问题。 

怎么调度springbatch_调度策略_03

怎么调度springbatch_怎么调度springbatch_04

实时数据统计

怎么调度springbatch_调度策略_05

怎么调度springbatch_数据集_06

代码流程

怎么调度springbatch_调度策略_07