You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rail Library:如何通过编程方式配置列车?

编程创建并配置列车及车厢(AnyLogic)

核心问题说明

直接用Train train = new Train();创建列车无法正常使用,因为AnyLogic的Agent类需要通过**种群(Population)**来管理,手动new的实例不会被仿真引擎初始化,缺少内置方法和变量。以下是正确的操作步骤:


1. 提前准备自定义种群

先在模型中创建两个Population组件:

  • customTrains:类型选择你的Train代理类
  • customCars:类型选择你的车厢代理类(比如Car)

2. 创建列车并加入自定义种群

通过种群的add()方法创建列车,自动完成初始化并加入种群:

// 创建列车并加入customTrains种群
Train myTrain = customTrains.add();

3. 设置列车车厢数量并配置车厢

假设Train类包含carCount变量(存储车厢数)和cars集合(存储关联的车厢),代码示例:

// 设置列车的车厢总数
myTrain.carCount = 5; // 若为私有变量,改用setter方法如myTrain.setCarCount(5);

// 循环创建并配置车厢
for (int i = 0; i < myTrain.carCount; i++) {
    // 创建车厢并加入customCars种群
    Car myCar = customCars.add();
    
    // 配置车厢属性(示例)
    myCar.carId = i + 1;
    myCar.loadCapacity = 1000;
    
    // 将车厢关联到当前列车
    myTrain.cars.add(myCar);
}

4. 操作列车的逻辑代理变量

列车作为Agent,所有公开的属性和方法可直接调用:

// 设置列车运行参数
myTrain.maxSpeed = 120;
myTrain.currentStation = stationCentral;

// 调用列车的自定义逻辑方法
myTrain.startOperation();

关键注意事项

  • 确保Train和车厢代理类已在模型中定义,且种群的类型与代理类匹配
  • 所有Agent必须通过种群创建,才能被AnyLogic仿真引擎管理(参与移动、事件触发等逻辑)
  • 若需在模型启动时自动执行这段代码,可将代码放在Main代理的on startup事件中

内容的提问来源于stack exchange,提问作者Anoj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 21:08:21