java - 如何在 AnyLogic 中指定某个事件(例如按下按钮)后面的汽车目的地

标签 java simulation anylogic

我正在尝试按下开始紧急疏散的按钮,将所有汽车引导至路网中最近的导出。但 AnyLogic 给出的错误是

离散事件执行期间出现异常 root.carMoveToSEECS_P1: 未指定目的地道路

AnyLogic道路交通库的carMoveTo block 中如何动态改变目的地道路。

我尝试设置CarMoveTo 的moveto 和destination 变量。但似乎不起作用。

carMoveToSEECS_P1.set_movesTo(carMoveToGate1.movesTo);
carMoveToSEECS_P1.set_destination(carMoveToGate1.destination);

最佳答案

通过添加决策 block 并循环返回,将“carMoveTo”分成几个步骤。您可以有一个用于紧急疏散的全局变量。 carMoveTo 会将汽车移至导出前的单独 parking 线。如果紧急 boolean 值为 true,那么您可以通过 carMoveTo block 将汽车的目的地设置为下一个导出。否则,汽车将沿着其路线行驶到下一站线。

关键是设置一个变量结构,该结构知道汽车路线上的所有 parking 线。如果道路网络很复杂,您可以运行一个预处理器,让每辆车往返于每个源目的地,并建立代表中间评估点的停止线列表。

关于java - 如何在 AnyLogic 中指定某个事件(例如按下按钮)后面的汽车目的地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55940104/

相关文章:

java - 自定义 validator 消息 : Throwing exception in implementation of ConstraintValidator cause UnexpectedException

android - 模拟用户输入

c - 内存释放模拟问题

java - 行人图书馆中的动态代理未使用 Anylogic 中的基于距离的网络进行连接

unit-testing - 如何为AnyLogic代理代码配置单元测试?

java - 使用异步拉取持续从 Google PubSub 接收消息

java - Android - 如何获取 EditText(数字)然后将其转换为整数以用于数学?

java - Netty readBytes 引用计数

r - 使用列表进行模拟

java - 每天运行模型 8 小时,持续 3 天 (AnyLogic)