在运行时更改调度的值

问题描述

我有一个显示服务开放时间的时间表! 这是一个时间间隔的时间表,所以从 8:00 到 1:00 从 1:00 到 2:00 打开,从 2:00 到 6:00 再次打开,从 6:00 到 8:00 关闭. 是否可以动态更改开放时间,从而通过一些参数来改变这些间隔?

解决方法

如果只有 2 或 3 个替代计划,则值得将它们明确定义为单独的对象并以这种方式使用它们。

另一种选择:Schedule 对象有一个Exceptions 的概念 - 这是可以更改的地方(在这种情况下为 ON而不是关闭)特定时间段的时间表。这些可以通过接口或使用 addException() 方法以编程方式完成。请查看更多here

此外,可以以编程方式创建时间表。 AnyLogic 中实际上有一个示例模型来展示如何做到这一点。请参阅“AnyLogic => 帮助 => 示例模型 => 如何建模”中的“以编程方式创建的计划”。

遗憾的是,以编程方式创建的日程表缺少 Action 属性,但是这可以通过使用带有条件触发器的 Event 对象来实现,该触发器在 schedule.getValue() 返回 true 时触发。 >