繁体   English   中英

Anylogic,根据特定条件从池中抢资源

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM