基于自定义变量为AnyLogic代理分配指定存储的方法
根据StorageID分配代理到指定Storage的配置方法
先搞定Storage System里的存储单元
在你的Storage System中创建26个Storage(对应ID 0到25),给每个Storage的name属性分别设为storage0、storage1……storage25——命名规则要固定,保证ID和存储单元名称能对应上。如果嫌手动创建麻烦,也可以用循环批量生成,生成时直接把name设为"storage" + i(i从0到25)。配置Store模块的目标存储单元
找到处理存储的Store模块,在它的「Storage」属性设置里,别选固定的Storage,改成「By expression」模式,然后输入代码:storageSystem.getStorage("storage" + agent.StorageID)注意把代码里的
storageSystem换成你模型里实际的Storage System对象名称,这段代码会根据当前Container代理的StorageID,自动匹配到对应名称的Storage,完成精准存储。小提醒
一定要保证Storage的name和代码拼接的结果完全一致,比如ID为10的代理要对应storage10,拼写错了会找不到目标存储单元。
内容的提问来源于stack exchange,提问作者Scar
相关产品推荐
相关产品推荐

