交通运输模型:定义模型输入
让我们把这些要素结合起来,搭建完整的模型组件。
您受托优化芝加哥市的交通信号灯,以提升交通流畅度。在这种场景下,离散事件模型非常有用。
第一步是测量路口之间道路的平均长度。您的结论是平均约为 100 米,标准差约为 20 米。这意味着驾驶员大约每行驶 80-120 米就会遇到一个红绿灯。
芝加哥的限速为 30 mph(约 50 km/h)。市政官员告知您,红灯平均最长可持续 90 秒。请先定义模型的输入和输出。
本练习是课程的一部分
Python 中的离散事件模拟
练习说明
- 设置
inputs["Dist_between_intersections_m"]数组的均值和标准差。 - 使用高斯分布生成
RandomGener["Distance"]的取值。 - 使用随机方法为
RandomGener["WaitTime"]生成整数。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Define the model inputs
inputs = {"Dist_between_intersections_m": [____, ____],
"Speed_limit_ms": 50 * 1000 / (60 * 60),
"Max_waitTime_traffic_lights_sec": 90}
random_generated = {"Distance": [], "WaitTime": []}
for i in range(5000):
# Use the random package to generate pseudo-random values
random_generated["Distance"].append(random.____(inputs['Dist_between_intersections_m'][0],inputs['Dist_between_intersections_m'][1]))
random_generated["WaitTime"].append(random.____(0, inputs['Max_waitTime_traffic_lights_sec']))
# Plot the randomly generated distance "events"
plt.hist(random_generated["Distance"], bins=100)
plt.xlabel('# Events')
plt.ylabel('# Distance travelled (m)')
plt.show()