【仿真建模】第五课:AnyLogic入门基础课程 - 地铁车站仿真讲解

本文档详细介绍了如何使用Anylogic软件构建一个包括站外和站内部分的行人流动仿真模型。首先,新建模型并设置比例尺,接着创建OutPart智能体类型,配置行人路径、服务和目标。然后,通过时间表控制行人到达规律,并设定行人形象。站内部分涉及FirstFloor的搭建,包括入口、安检过程和服务区域的设置。此外,还加入了热力图显示和行李安检功能,以模拟实际交通流情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


学习、参考链接:Anylogic入门基础课程

一、新建模型

新建模型,单位改为分钟

在这里插入图片描述

二、修改相关属性

修改比例尺

在这里插入图片描述

三、OutPart 站外部分

新建 OutPart 智能体类型

在这里插入图片描述

重命名为 OutPart

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改OutPart的比例尺为50,和之前设置的统一

在这里插入图片描述

绘制一个如下图所示的路径作为缓冲路线,形状可以自己定义,不一定要和我一样

在这里插入图片描述
拖拽一个矩形区域
在这里插入图片描述

拖拽一个线服务,设置为5个通道,5个队列

在这里插入图片描述

在这里插入图片描述
拖拽一个目标线,放到如下图所示的位置,该线代表非限行状态下,行人需要到达的目的地

在这里插入图片描述

新建变量,代表是否启动限行
在这里插入图片描述
在这里插入图片描述

拖拽一个pedSource出来

在这里插入图片描述

再拖拽一个selectOutPut出来,用来根据是否限行选择合适的线路

在这里插入图片描述
设置属性如下

在这里插入图片描述
拖拽一个pedGoTo出来,直接连接出口,代表没有限行状态下的行走路线

在这里插入图片描述
再拖拽一个pedGoTo出来,跟随缓冲路线,代表限行状态下的行走路线

在这里插入图片描述

再来个pedService,设置好服务

在这里插入图片描述

再设置一个变量代表限流强度,初始值为0.5

在这里插入图片描述

将pedService的延迟时间设置为变量:限流强度

在这里插入图片描述

来个pedSink,让行人最终到达目的地后被销毁

在这里插入图片描述
绘制一个用于控制行人出现的目标线,最好长一点,因为行人出现比较随意

在这里插入图片描述
然后设置pedSource的目标线为刚刚放置的目标线

在这里插入图片描述
把OutPart在Main中拖出

在这里插入图片描述
运行查看效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启动查看效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行展示效果

在这里插入图片描述
上面测试没有问题的话,就可以进行下面的操作

把原来的pedSink改为pedExit和exit

在这里插入图片描述
为了防止人员堆积时,人从后面经过目标线,故如下图所示,建立墙

在这里插入图片描述

将可见设置为否,让墙成为逻辑上的墙,即,在运行时不可见的墙

在这里插入图片描述
接下来,我们控制行人到达规律

拖出时间表

在这里插入图片描述
设置时间表属性

在这里插入图片描述

将pedSource的到达根据改为速率时间表

在这里插入图片描述
接下来,设置行人形象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

给行人加个箱子(模拟行李箱),为了仿真模拟部分行人携带行李箱的情况

在这里插入图片描述

用一个布尔变量控制行人是否携带行李

在这里插入图片描述

为行人是否携带行李,指定一个概率分布

在这里插入图片描述
在这里插入图片描述
【假设一半的人会携带行李】

是否携带行李=randomTrue(0.5);

在这里插入图片描述

设置行李箱根据变量决定是否显示

在这里插入图片描述

为OutPart中的pedSource指定行人类型

在这里插入图片描述

加入热力图

在这里插入图片描述
为了更好的控制是否显示热力图,在Main中复制启动限流的复选框,创建一个是否显示热力图的复选框

if(self.isSelected()){
outPart.densityMap.show();
outPart.densityMap.setVisible(true);
}else{
outPart.densityMap.hide();
outPart.densityMap.setVisible(false);
}

在这里插入图片描述
运行查看效果

在这里插入图片描述

至此,站外的部分就算完成了!

四、站内部分

4.1 FirstFloor 第一层楼

新建 FirstFloor 智能体

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

同样的,把比例尺设置为50

在这里插入图片描述

在Main窗口中,画一个如下图所示的墙,只留下入口

在这里插入图片描述

然后将墙剪切到FirstFloor里

在这里插入图片描述

然后把FirstFloor在Main窗口中实例化

在这里插入图片描述

调整位置,让两个缺口重合

在这里插入图片描述
在FirstFloor中搭建下面的组件联系关系

在这里插入图片描述
设置enter的属性

在这里插入图片描述

设置OutPart中的exit离开时执行的代码

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
画一个目标线

在这里插入图片描述

设置pedEnter的目标线

在这里插入图片描述

拖出一个线服务对象,设置为3个队列3个服务口

在这里插入图片描述
在这里插入图片描述

加入一个矩形区域,模拟人们必须要先到指定区域后,才能前往进站服务口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
建立一些墙

在这里插入图片描述

接下来实现行李过安检

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

绘制一个路径

在这里插入图片描述

画个目标线

在这里插入图片描述
调整一下位置

在这里插入图片描述

加入一个pedWait

在这里插入图片描述
在这里插入图片描述
看看整体样子

在这里插入图片描述

运行查看效果

在这里插入图片描述

设置安检服务,离开队列时的动作

在这里插入图片描述

设置sink的进入时事件

在这里插入图片描述
未完待续...

### AnyLogic地铁建模基础方法 在 AnyLogic 中进行地铁站的建模可以通过结合 **系统动力学** 和 **离散事件建模** 的方式实现。这种多方法建模技术允许用户模拟乘客流动、排队行为以及服务时间等因素,从而全面评估地铁站的设计和运营效率。 #### 地铁建模的关键要素 1. **乘客流量建模** 使用系统动力学来描述地铁站内的总体客流变化情况。例如,可以创建一个基于时间的流入率函数,表示不同时间段进入地铁站的人数[^1]。 2. **离散事件建模** 对于具体的个体行为(如购票、安检、上下车等),可以采用离散事件建模的方法。通过定义状态机或过程流图,能够精确控制每名乘客的行为路径[^2]。 3. **空间布局设计** 利用 AnyLogic 提供的空间分析工具,可以在二维平面上布置地铁站的各种设施(如售票窗口、闸机、电梯等)。这样不仅可以可视化整个场景,还能更真实地反映实际环境中的距离和方向影响。 4. **参数调整与优化** 结合历史数据或者预测模型设置合理的输入参数(比如列车发车间隔、平均步行速度等),并通过多次运行仿真试验找到最佳设计方案。 以下是简单的代码片段展示如何初始化一个基本的行人动态库组件: ```java // 初始化 Pedestrian Library 组件 PedSource source = new PedSource(this); source.setArrivalRate(5); // 设置单位时间内到达人数为5人/分钟 PedGoTo goToGate = new PedGoTo(this); goToGate.setTarget(agent -> gatePosition); // 定义目标位置为gatePosition PedSink sink = new PedSink(this); // 连接各个模块形成完整的流程链路 source.setNextElement(goToGate); goToGate.setNextElement(sink); ``` 此段脚本展示了从源节点生成虚拟人物直至最终离开系统的全过程管理机制。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WSKH0929

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值