[英]Anylogic, seize resource from pool based on certain conditions
问题已经被问过和回答过,请参阅Anylogic - 资源占用的动态规范。 但是stackoverflow上的多个巨魔要求我再次问同样的问题,无论如何...... - 因为问它被视为“答案”而不是“问题”。
Anylogic 8.7.2。
我创建了一个资源池myworkers
。
代理型workers
。
打开workers
代理,添加一个变量offloadBay
(或者参数,无所谓), INT, default value 0
。 在 main 中,我使用一个seize
块从该池中占用 4 个资源,但它们需要满足条件offloadBay == 0
。 在占用块中我 select Customise resource choice == true; Recource choice condition = (unit.offloadBay == 0)
Customise resource choice == true; Recource choice condition = (unit.offloadBay == 0)
。 在运行项目时,我收到错误 - “无法解析 offloadBay 或不是字段”。
似乎对关键字unit
的引用实际上并没有引用资源单元——在引用 unit 时,没有一个unit's
参数、变量、函数等可供调用unit.
请就我做错了什么提出建议? 或者,我如何根据资源的特定条件或属性从 ResourcePool 中 select 资源? (可根据要求提供演示项目,请告知发送到哪里)
尝试强制执行资源类型。 发生这种情况是因为您在占用块中,并且当您使用“单元”时,您可能指的是不同的资源代理类型。 并非所有人都可能具有“offloadBay”变量。 所以,使用:
((工人)单位).offloadBay == 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.