AnyLogic中能否通过可优化参数拆分Exit块至多个Enter块?

需求与现状
- 要把活动分配到多个站点,分配比例由优化实验决定,需实现从Exit块拆分活动并发送到对应Enter块的功能,每个选项对应一个变量。
- 试过SelectOut块,但选项数量较多时不适用。
- 已将Enter块加入集合,能路由代理到指定Enter块,但优化引擎无法使用代理级参数。
Exit块配置建议
1. 按概率分配+全局变量控比例
在Exit块的「离开策略」选择「按概率」,给每个目标Enter块的概率值绑定全局变量(如prob_site1、prob_site2)。优化实验直接修改这些全局变量就能调整分配比例,完全绕开代理级参数限制。
2. 集合+全局索引变量动态路由
如果目标Enter块数量多,把所有Enter块存入集合(比如命名enterBlocks),再创建由优化引擎控制的全局变量targetIndex。在Exit块的「离开策略」选择「自定义代码」,写入逻辑:
return enterBlocks.get(targetIndex);
优化实验只需调整targetIndex的取值(对应集合里Enter块的索引),就能实现动态分配。
3. 全局参数映射优化
确保优化实验的参数直接绑定到Exit块的路由控制变量,别用代理级参数。如果需要精细比例分配,可给每个站点分配一个全局权重变量,在Exit块的自定义代码里根据权重计算目标站点。
内容的提问来源于stack exchange,提问作者Matt Jones
相关产品推荐
相关产品推荐

