【发布时间】:2018-12-26 01:55:42
【问题描述】:
我创建了一个非常简单的网络,其中包含一些节点和一些路径。数量有限的代理人(人民)现在应该只是从 A 到 B 并返回一个循环。工作至今。
接下来,我想限制可以同时在特定路径上的代理数量,使用路径常规部分中的“限制传输器数量”选项。这没有用。当我想知道路径上有多少个传输器时,我尝试调用(并显示输出)各种函数,如“getNumberOfTransporters()”、“getTransporters()”等(由“pathname.functionname() ",每个都会导致一个异常,通常看起来像这样:
Exception during discrete event execution:
NullPointerException
java.lang.NullPointerException
at com.anylogic.engine.markup.Path.getNumberOfTransporters(Unknown Source)
at movetest.Main.executeActionOf(Main.java:141)
at com.anylogic.engine.EventTimeout.execute(Unknown Source)
at com.anylogic.engine.Engine.c(Unknown Source)
at com.anylogic.engine.Engine.gc(Unknown Source)
at com.anylogic.engine.Engine.a(Unknown Source)
at com.anylogic.engine.Engine$i.run(Unknown Source)
“getMaxNumberOfTransporters()”函数确实有效,它只是输出了“限制运输者数量”选项字段中指定的数字。
所以问题是:为什么会抛出这个异常?我做错了什么还是 Anylogic 存在与这些传输器相关的功能/功能的错误?
顺便说一句,我在 64 位 Windows 10 计算机上使用 AnyLogic 8 Personal Learning Edition 8.3.2。
【问题讨论】:
-
没有看到完整的代码是不可能的。
标签: anylogic