如何在anylogic中模拟期间动态更改资源池的班次组大小?

Posted

技术标签:

【中文标题】如何在anylogic中模拟期间动态更改资源池的班次组大小?【英文标题】:How to change shift group size of resource pool dynamically during simulation in anylogic? 【发布时间】:2020-08-05 01:35:45 【问题描述】:

我正在尝试使用 anylogic 来模拟生产中的劳动力短缺。我将工人设置为资源池,其容量使用轮班计划定义,按不同班次定义工人数量。我正在尝试包含一个事件模块,该模块在模拟过程中改变每个班次的劳动力。但是,anylogic 向我显示了一个错误,说我无法动态更改班组大小。是否有任何解决方法可以让这种情况发生?谢谢。

【问题讨论】:

【参考方案1】:

您可以在每次需要执行更改时在事件中重新创建日程安排。

AnyLogic 的 API 很好地解释了这一点,请参阅 https://help.anylogic.com/index.jsp?topic=%2Fcom.anylogic.help%2Fhtml%2Fdata%2FSchedule_API.html(示例模型或“在模型启动时以编程方式创建和初始化计划”)

【讨论】:

感谢您的回答。我尝试过使用计划 api。虽然我遇到的问题是计划不允许我用参数定义值。我必须在时间表中输入实际整数,例如上午 8 点到晚上 8 点值 4,但是我需要在值部分输入参数,例如上午 8 点到晚上 8 点 ShiftSize1。由于我正在运行需要我在每个实验中更改 shiftsize 的实验。我不确定如何使 shiftsize 成为可变参数而不是定义的整数。 如果您对日程安排进行编码,您可以添加参数,例如见函数 void addInterval(int startDay, int startHour, int startMinute, int startSecond, int endDay, int endHour, int endMinute, int endSecond, V值)

以上是关于如何在anylogic中模拟期间动态更改资源池的班次组大小?的主要内容,如果未能解决你的问题,请参考以下文章

Anylogic:如何仅对同一资源池的某些工作人员执行停机

如何在 AnyLogic 7 中从外部源获取资源容量?

Anylogic - 模型创建期间的错误:如何识别?

在模拟运行期间向时间图添加数据 Anylogic

Anylogic - 记录资源池活动

在 Anylogic 中灵活更改模拟持续时间