本文主要是介绍Part1_使用MATSIM_第1章 介绍MATSim,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.1 开端
MATSim 项目汇集了交通流、大规模计算、选择建模和 CAS(复杂自适应系统)方面的专业知识:
• 交通的微观建模:MATSim 对产生的交通流及其产生的拥堵进行整体微观模拟。
• 需求/代理建模的微观行为建模:MATSim 通过跟踪每日日程安排和综合旅行者的决策,使用微观描述的需求。回想起来,这可以称为“基于代理”。
• 计算物理:MATSim 使用 107 个或更多“粒子”执行快速微观模拟。
• 复杂的自适应系统/协同进化算法:MATSim 通过协同进化搜索得到的平衡或稳定状态来优化整个时间表的经验效用。
1.2 简介
MATSim 是一个基于活动的、可扩展的、多智能体仿真框架,用 Java 实现。
1.3 MATSim 的流量模型
MATSim 提供了两个内部 mobsim(移动性仿真):QSim 和 JDEQSim(Java Discrete Event Queue Simulation);此外,可以插入外部移动模拟。多线程 QSim 目前是默认的 mobsim。
• 物理模拟,具有详细的汽车跟随模型
• 元胞自动机,其中道路被离散化为单元
• 基于队列的模拟,其中使用等待队列对交通动力学进行建模
• 细观模型,使用聚合来确定行驶速度
• 宏观模型,基于流量而不是单个出行者单元(例如汽车)。
由于 MATSim 是为大规模场景设计的,它采用了计算效率高的基于队列的方法。在 JDEQSim 中,出于计算原因,等待队列方法与基于事件的更新步骤相结合。换句话说,场景中没有任何代理的基于时间步长的更新过程。相反,只有当他们确实需要采取行动时才会触动代理。MATSim 流量模型强烈基于两个链路属性:存储容量和流量容量。存储容量定义了适合网络链接的汽车数量。流量容量指定了一个链接的流出容量,即每个时间步有多少旅行者可以离开相应的链接。基本的交通流模型已经通过各种模块进行了扩展:添加了信号和多车道建模,Charypar 研究的后向移动间隙包含在 JDEQSim 中,但仅在 QSim 的实验基础上可用。
1.4 MATSim的协同进化算法
如图所示,MATSim 平衡是通过协同进化算法搜索的。这些算法共同进化受相互作用(例如竞争)影响。在 MATSim 中,个人由他们的计划代表,其中一个人代表一个物种。使用协同进化算法,优化是根据代理人的计划进行的,即在活动和旅行的整个日常计划中进行。它比忽略活动的标准交通流量平衡实现了更多。最终,在受约束的情况下达到平衡,代理人无法单方面进一步改进他们的计划。请注意,进化算法和协同进化算法的应用是有区别的。进化算法将导致系统优化,因为优化与全局(或总体)适应度函数一起应用。相反,协同进化算法会导致(随机)用户平衡,因为优化是根据个人评分函数和代理的计划集执行的。
这篇关于Part1_使用MATSIM_第1章 介绍MATSim的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!