Anylogic - 使用特定参数限制行人访问

Anylogic - restrict access for pedestrian with a specific parameter

我是一名工科学生,作为我毕业论文的一部分,我正在使用 Anylogic 行人库模拟地铁中的乘客换乘过程。

在模拟中,经常会发生站着的乘客“离开”站立区并以某种方式进入坐着的地方,挡住了其他想要占据座位的乘客的去路。

所有乘客都来自 Passenger Agent,他们有一个布尔变量 wantToSit。如果 wantToSit = false,他们会被引导到站立区域,wantToSit = true 他们会去坐下。

现在,我想限制wantToSit = false的peds进入drown区域,使用座位组周围的多边形节点,这样就不会出现上面写的现象,这样只有坐着的乘客才能进入这个区域。

但是,当我尝试在多边形节点中定义访问限制的条件时,我总是收到错误“...无法解析为变量”。

这是来自代理“乘客”的变量:

在多边形节点所在的代理“主”上,自动代码完成不会为 wantped. 推荐任何内容。 Passenger这个词见下图:

有没有办法在这种情况下使用访问限制功能?我不知道如何从不同代理的 Main 访问 Passenger 的这个参数。

提前感谢您的帮助!

如果您在键入任何内容之前在条件字段中执行代码完成操作,您将看到可供您在条件字段中使用的局部变量是 agentself

然后,如果您选择 agent,您将看到自定义行人代理中的字段可用。

尽量不要在代码不完整的情况下输入任何内容。它可以为您节省很多时间。