参数变化实验期间使用代理统计信息时发生NullPointerException

时间:2019-12-09 16:22:21

标签: anylogic

在实验开始时,我收到错误消息“ 迭代5中模型中的错误(数字在2、3和5之间变化)”,它指向代理统计信息我尝试将main中的数据集添加到直方图数据集中。在初始化代理之前,我是否有可能尝试收集代理统计信息?

要更精确地了解我的设置:我实验的根代理是称为“企业”的代理。在该代理中,我添加了数据集“ DSUsers”,该数据集仅收集位于主代理中的代理统计信息(item.inState(Firm ....))。我尝试使用以下描述的设置将数据集DSUsers添加到直方图数据集“数据”中以进行参数变化实验。 (很遗憾,我还不能添加屏幕截图,我还太年轻...)

在实验中,我使用以下设置:

在运行模拟之前: data.reset();

模拟运行后: data.add(root.DSUsers);

DSUsers是我从主要座席统计信息收集的数据集。我实验的顶级代理不是主要代理(可能有问题吗?)。 因此该过程如下所示: 在main中收集代理统计信息->使用代理级别的数据集,该数据集从main收集统计信息并将其存储->在实验中将该数据集导入直方图数据集。

我在控制台中收到一条大错误消息,第一个错误指向

  private double _DSPledgeUsers_YValue() {
    return 
get_Main().firms.NPledgeUsers()
;}


1 个答案:

答案 0 :(得分:0)

找到了问题制定者,但是,我不确定它为什么起作用:

以某种方式,我在代理中创建的数据集导致状态图中的所有代理状态在每个时间步自动更新。在我的模型中,这是一个问题,因为某些状态应该只是偶尔更新。因此,我只是将数据集移至main。

我不想推测,但是如果遇到相同的问题,请检查数据集的位置!