具体实施方式
下面结合附图对本发明作详细描述:
如图1所示,本发明提供一种公共自行车调度控制系统,包括若干本地控制器1、若干从控制器2和主控制器3。
每个本地控制器1实时检测相应租赁点4内自行车的状态信息,具体的,每个租赁点4对应一个本地控制器1,其实时检测该租赁点4所有自行车的租/还状态信息。
如图2所示,每个从控制器2均包括数据采集模块21和与数据采集模块21连接的第一通信模块22,数据采集模块21实时收集本地控制器1实时检测到的数据信息,优选的,从控制器2的数量与本地控制器1以及租赁点4的数量一致,即每个从控制器2的数据采集模块21通过本地控制器1实时收集一个对应租赁点4的自行车租/还状态信息。
如图3所示,主控制器3包括数据处理模块31和与数据处理模块31连接的第二通信模块32,第二通信模块32与第一通信模块22无线连接,接收数据采集模块21实时收集的数据信息,并将数据信息上传至数据处理模块31,数据处理模块包括建模单元311和决策单元312,建模单元311对接收的数据信息建立环境模型,决策单元312根据建模单元311建立的环境模型给出最优调度决策;具体的,建模单元311根据租赁点的自行车租/还状态的实时数据信息建立马尔科夫决策过程模型环境模型,并对该模型中的状态、动作、状态转移函数及动作转移函数进行建模,此外在该马尔科夫决策过程模型的基础上建立回报值函数模型及回报值函数模型中参数的先验模型;决策单元312根据建模单元311建立的上述环境模型利用基于贝叶斯的强化学习算法求解最优调度策略,此外,当租赁点自行车的租/还状态发生变化时,决策单元312根据环境的变化动态修正最优调度策略,不仅有效满足市民日常的使用,而且大大减少车辆调度的运输成本,切实满足实际需要。
如图4所示,数据处理模块31为MC13213芯片,MC13213芯片为飞思卡尔公司一款低功耗低成本芯片,集成了8位CPU、片上RAM、FLASH等硬件单元,主要包括建模单元311和决策单元312的功能模块,分别用于环境模型的建立和最优调度策略的提供。第二通信模块32为MC52i无线模块,MC52i是西门子的一款GPRS通信模块,支持AT指令集,MC13213芯片与MC52i无 线模块之间通过第一串行接口通信,通过MC52i无线模块。具体的,通过MC52i无线模块实时接收各个从控制器2收集的各个自行车租赁点4的公共自行车的租还状态数据,根据实时状态数据构建马尔科夫决策过程模型,并通过贝叶斯强化学习方法求解最优调度策略,将最优调度策略用于各自行车租赁点4之间车辆的移动;此外MC13213芯片还与电源电路连接,为其正常工作供电。
如图5所示,数据采集模块21为MC13213芯片,第一通信模块22为MC52i无线模块,MC13213芯片与MC52i无线模块之间通过第一串行接口通信;优选的,从控制器2还包括电平转换模块23,电平转换模块23分别与本地控制器1和MC13213芯片连接,实时采集自行车租赁点4的数据信息,并将采集的数据信息发送至MC13213芯片,优选的,电平转换模块23为MAX232芯片,MAX232芯片的一端与本地控制器1连接,另一端与MC13213芯片的第二串行接口连接,将采集的数据信息发送至MC13213芯片。
本发明还提供一种公共自行车调度控制系统的调度方法,如图6所示,包括以下步骤:
S1:本地控制器1实时检测相应租赁点4自行车状态的数据信息,具体的,每个租赁点4对应一个本地控制器1,用于实时检测该租赁点4所有自行车的租/还状态信息。
S2:数据采集模块21实时收集本地控制器1检测到的数据信息,从控制器2的数量与本地控制器1以及租赁点4的数量一致,即每个从控制器2的数据采集模块21通过本地控制器1实时收集一个对应租赁点4的自行车租/还状态信息。
S3:第二通信模块32通过第一通信模块22接收数据采集模块21实时收集的数据信息,并将数据信息上传至数据处理模块31;具体的,第二通信模块32与第一通信模块22均为MC52i无线模块,两者通过无线网络进行通信。
S4:数据处理模块31中的建模单元311对接收的数据信息建立环境模型, 决策单元312根据建模单元311建立的环境模型提供最优调度决策。其中建模单元311建立环境模型具体包括以下步骤:
S41:根据各个租赁点4的实时数据信息建立自行车租、还状态模型,具体为:
a)首先利用泊松分布来拟合各站点车辆的租还状态模型:
其中n是任一租赁点一天内的租车/还车的数量,ε是租车/还车数量的期望值。
b)根据任一租赁点每天的租车/还车情况的采样值,利用交叉熵方法调整其中的参数ε,获得更为准确的租、还状态模型。
S42:将车辆调度问题建模为一个马尔科夫决策过程模型,对其中的状态、动作、状态转移函数及动作转移函数进行建模,具体为:
c)首先利用泊松分布来拟合各站点车辆的租/还状态模型:
其中n是任一租赁点一天内的租车/还车的数量,ε是租车/还车数量的期望值。
d)根据任一租赁点每天的租车/还车情况的采样值,利用交叉熵方法调整其中的参数ε,获得更为准确的租/还状态模型。
S42:将车辆调度问题建模为一个马尔科夫决策过程模型,对其中的状态、动作、状态转移函数及动作转移函数进行建模,具体为:
a)状态,用s表示。设G={1,2,3,…,m}为所有租赁点的集合,其中m为租赁点的数
量;V={1,2,…,k}是任一租赁点自行车的集合,其中k是最大自行车的数量;则第i个租赁
点额定的自行车数量为实际自行车数量为vi,最大自行车数量为其中则状态可以表示为:
s=(v1,v2,…,vm) (2)
b)动作,用a表示。动作可以表示为各租赁点之间的调度车辆数量,为了方便描述,本实施例中规定车辆只能在先后相邻两个站点之间调动(当然,也可以定义其他调度顺序)。如,目前有4个租赁点,目前的调度方案是,从第1个租赁点调10辆车到第3个租赁点,且从第1个租赁点调用12辆车到第4个租赁点。动作的调整方案可以定义为,先从第一个租赁点调22辆车到第2个租赁点,然后从第2个租赁点调22辆车到第3个租赁点,然后再从第3个调度点调12辆车到第4个租赁点。当然,这只是逻辑上的表示方法,在实际中可以认为存在一个调度车每次从第一个租赁点一次巡回到最后一个租赁点,并完成调度。设从第i个租赁点到第j个租赁点的调度车辆为ri,j,其中 则动作可以表示为:
a=(r1,2,r2,3,r3,4,…,rm-1,m,rm,1) (3)
c)状态转移函数,用f表示。假设当前状态s的动作为:a=(r1,2,r2,3,r3,4,…,rn-1,n,rn,1);所有站点的车辆租还情况分别为:{n1,n2,…,nm}和{n1',n'2,,…,n'm},其中对于任一租赁点j,nj为当天的租车数量,n'j为当天的还车数量。则状态转移函数可以表示为:
f:st+1←st+(rm,1,r1,2,…,rm-1,m)-(n1,n2,…,nm)+(n′1,n′1,…,n'm) (4)
d)立即奖赏函数,用ρ表示。设对各个租赁点之间进行一次调度的固定费用是C;两个租赁点的调度r辆车的费用与两个租赁点之间的距离成正比,即r*h,其中h表示两个租赁点之间的距离;每租用一辆车的收益是x。则相应的立即奖赏函数可以表示为:
其中ri,i+1表示第i个租赁点到第i+1个租赁点的调度车辆;hi,i+1表示第i个租赁点到第i+1个租赁点之间的距离;ni为第i个租赁点的租车数量。
S43:建模单元建立回报值函数模型,具体为:
设R(s,a)表示在状态s下采用动作a的回报值,且满足以下等式:
上式中,t是指第t时刻,st、at分别表示第t时刻的状态和采用的动作,γ是折扣因子,通常设置为0.9。
值函数Q(s,a)是关于R(s,a)的期望,则Q(s,a)=E[R(s,a)]。且R(s,a)服从高斯分布假设,即R(s,a)的概率Pr(R(s,a))满足:
Pr(R(s,a))~N(us,a,τs,a) (7)
其中us,a是R(s,a)的均值,即Q(s,a)=E[R(s,a)]=us,a;τs,a是精度,且 是方差。
S44:建模单元建立回报值函数模型中参数的先验模型,具体为:
a)R(s,a)的先验服从高斯伽马分布,即Pr(us,a,τs,a)满足高斯伽马分布,即:
Pr(us,a,τs,a)~NG(u0,λ,α,β) (8)
其中,u0,λ,α,β分别为初始参数,在初始化时任意指定。
b)当Pr(us,a,τs,a)~NG(u0,λ,α,β),且r1,r2,…,rn是n个关于R(s,a)的独立样本。令
则:
Pr(us,a,τs,a|r1,r2,…,rn)~NG(u'0,λ',α',β') (9)
其中λ′=λ+n,
决策单元312提供最优调度决策的具体为:
S45:利用基于贝叶斯的强化学习算法求解最优调度策略,具体为:
在算法执行过程中,主要考虑两个问题——动作选择方法与值函数更新策略。
a)基于信息价值增益(value of perfect information,VPI)的动作选择方 法。主要考虑两种情况:(1)通过探索动作发现,之前的非最优动作优于当前的最优动作;(2)通过探索动作发现,当前的最优动作劣于当前的次优动作。
对于第一种情况,假设a1是最优动作,即对于任意a'≠a1,都存在
假设新知识显示a是更优的动作,即则给予一定的额外奖赏g,即
对于第二种情况,假设a1是最优动作,即对于任意a'≠a1,都存在且a2是次优动作。假设新知识显示a1不再是最优动作,即 则给予一定的额外奖赏g,即
以上两种情况可以表示为:
根据参数u所服从的先验分布,计算当前动作的信息价值增益VPI,即:
以上积分等式分为以下两种情况:
(1)当a=a1时,
(2)当a≠a1时,
其中:
式中,αs,a、βs,a分别为状态s下采用动作a的参数值。
因此,调度过程中选择的动作a需要满足以下条件:
a=argmaxa(E[Q(s,a)]+VPI(s,a)) (13)
b)值函数更新方法。由于Q(s,a)=us,a,因此,需要更新us,a;又因为Pr(us,a,τs,a)满足高斯伽马分布,因此,只需要根据式(9)更新高斯伽马分布中的参数u0,λ,α,β。
假设当前的立即奖赏为ρ,且从高斯分布中随机取出第t个租赁点n个后续状态的样本回报值根据贝尔曼公式:
Q(s,a)=E[ρ(s,a)+γQ(s',a')] (14)
其中表示第i个后续状态的样本回报值,i∈{1,2,...n},s'、a'分别表示s、a的下一时刻的状态及动作,γ表示折扣因子,通常设置为0.9。
根据上式(14)更新n个后续Pr(Rs,a)的样本值为且M1,M2为别为:
M1=E[r+γRt]=r+γE[Rt] (15)
又因为Pr(Rt)~N(u,τ),且Pr(u,τ)~NG(u0,λ,α,β),则E[Rt]=u0,根据式(9)可以更新u0,λ,α,β。
c)贝叶斯强化学习算法的步骤具体为:
1)初始化参数u0,λ,α,β的值,u0,λ,α,β可以任意取值;
2)根据基于信息价值增益的动作选择方法,即式(13)选择动作a;
3)根据式(10)获取后续状态及相应的立即奖赏g;
4)根据式(15)、(16)计算M1,M2;
5)根据式(9)更新u'0,λ',α',β'的值;
6)当|u'0-u0|<θ(θ是任意小的值),算法停止,当前选择的动作a即为最优调度策略;否则,转到(2)。
综上所述,本发明提供的公共自行车调度控制系统及其调度方法,通过设置建模单元311对接收的数据信息建立环境模型,并通过决策单元312提供最优调度策略,调度控制系统实时与租赁点4的自行车租/还状态数据信息智能交互,不需要人工提供学习样本,利用基于贝叶斯的强化学习算法在线学习最优调度策略;此外,当租赁点4自行车的租/还状态发生变化时,该调度控制系统可根据环境的变化动态修正最优调度策略,不仅有效满足市民日常的使用,而 且大大减少车辆调度的运输成本,切实满足实际需要。
虽然说明书中对本发明的实施方式进行了说明,但这些实施方式只是作为提示,不应限定本发明的保护范围。在不脱离本发明宗旨的范围内进行各种省略、置换和变更均应包含在本发明的保护范围内。