提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
针对交通方式选择研究中基于Logit动态的演化博弈模型,利用Python代码绘制演化趋势图。
Python代码
1.引入库
代码如下:
import numpy as np
from scipy.integrate import odeint #求解微分方程用到
import matplotlib.pyplot as plt
%matplotlib inline
2.设置参数
设置字体、字号,表格刻度方向等参数
plt.rcParams['font.sans-serif']=['TimesSong']
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['xtick.direction'] = 'in' # 将x周的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in' # 将y轴的刻度方向设置向内
plt.rcParams['font.size'] = 14
上面的‘TimeSong’是自定义的字体,可以实现中文宋体,英文Times New Roman字体的效果,需要先设置好,具体可以参照:https://www.yii666.com/blog/376794.html,网上也有其他的实现方式。
3.动态演化方程
Logit动态演化博弈具体的理论推导在此不作详细分析,需要研究的小伙伴可以参考相关论文[1][2]。这里直接给出动态演化方程的最终形式:
其中,
u
i
:选择第
i
种交通方式的收益函数;
u_i:选择第i种交通方式的收益函数;
ui:选择第i种交通方式的收益函数;
u
j
:选择第
j
种交通方式的收益函数;
u_j:选择第j种交通方式的收益函数;
uj:选择第j种交通方式的收益函数;
x
i
:选择第
i
种交通方式的比例。
x_i:选择第i种交通方式的比例。
xi:选择第i种交通方式的比例。
以轨道交通(方式1)和私人小汽车(方式2)出行为例,仅考虑出行方式的时间和费用,分别记为
t
1
t_1
t1,
t
2
t_2
t2,
m
1
m_1
m1,
m
2
m_2
m2。则两种方式的收益函数可以表示为:
u
i
=
−
t
1
−
m
1
u_i=-t_1-m_1
ui=−t1−m1
u
j
=
−
t
2
−
m
2
u_j=-t_2-m_2
uj=−t2−m2
因为时间和费用都是出行的成本,因此在收益函数中都是负的。
4.求解微分方程
代码如下:
def modechoice(Fy,t,t1,t2,m1,m2):
x1, x2 = Fy.tolist()
return 1/(1+np.e**(t1-t2+m1-m2))-x1,\
1/(1+np.e**(t2-t1+m2-m1))-x2
#这里return后面的两部分其实就是前面公式给出的动态演化方程,
将方式1和方式2的收益函数分别带入,并将分数部分做进一步的化简。
5.计算绘图
代码如下:
fig,ax=plt.subplots(figsize=(10,6), dpi=300) #设置图片尺寸和清晰度
t = np.arange(0, 10, 0.1) #设置演化周期和步长,即def modechoice(Fy,t,t1,t2,m1,m2)中的参数t。
args=(41,39.7,9.8,9.7) #设置出行方式时间和费用的初始值,这里值是随便取的,但注意变量顺序必须与def modechoice(Fy,t,t1,t2,m1,m2)中的对应。
for i in np.arange(0,1.1,step=0.1): #设置循环,以不同的出行比例为起点开始进行演化计算并绘图。
track = odeint(modechoice, (1-i, i), t,args)
plt.plot(t, track[:,0], '--',color='black', linewidth=1)
plt.plot(t, track[:,1], '-',color='black', linewidth=1)
plt.xticks(np.arange(0,10.1,step=1))
plt.yticks(np.arange(0,1.1,step=0.1))
plt.legend(labels=('轨道交通','私人小汽车'),loc=7,frameon=False)
ax.set_xlabel("演化周期",labelpad=10)
ax.set_ylabel("出行方式比例",labelpad=10)
ax.set_xlim(0,10)
ax.set_ylim(0,1)
plt.show()
运行之后便得到了演化趋势图。
总结
演化博弈是交通方式选择分析中一种方法,相对于离散选择模型具有能够进行动态分析的优势。以上是自己在学习过程中的一些总结,有不对的地方欢迎大家批评指正,如果对大家的学习有所帮助,也请点赞收藏,谢谢!
相关文献
[1]Zhang Yu, Li Leiming. Research on travelers’ transportation mode choice between carsharing and private cars based on the logit dynamic evolutionary game model[J]. Economics of Transportation, 2022, 29.
[2]Lin Xiaomei , Shao Chunfu, Qian Jianpei ,et al. Evolution dynamic of the expressway toll-free policy impact on the mode choice in a bimodal transportation network during holidays[J]. Advances in Mechanical Engineering, 2017, 9(7): 1-14.