微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

日期参数随时间更新 Anylogic

如何解决日期参数随时间更新 Anylogic

我正在使用 Anylogic,我想为每个代理(代理是客户)分配一个日期类型的参数,称为 DueDate,它表示他的机器故障的截止日期。我的目标是随着模型时间的推移更新值参数并使其更短(因为故障日期即将到来)。有一些我可以使用的功能代码吗?我还想为代理分配一个优先级参数,该参数在故障日期最近时增加,以便在队列中,故障最近的客户在优先级较低的代理之前处理。我该怎么办?

谢谢

解决方法

这个问题似乎有点自相矛盾。描述的参数是截止日期,因此,根据定义,应该是固定的。然而,参数值应该随着故障日期的到来而更新。您的意思是应该有两个参数:1) 截止日期和 2) 截止日期之前的剩余时间?如果是这样,可以这样实现:

  1. 截止日期 - 如果您想在模型启动后 10 个时间单位设置截止日期,您可以创建一个参数(称为 p_dueDate 类型)并使用 timeToDate(100.0) 函数({{3} }).
  2. 剩余时间 - 在代理 f_getRemainingTime() 中使用以下代码创建一个函数:
return dateToTime(p_dueDate) - time();

其中 dateToTime()p_dueDate 值转换回表示模拟时间单位的双精度值,time() 返回当前模拟时间(也作为双精度值)。

所以,假设模型从 1 月 1 日开始,时间单位 = 天; 10 的偏移量将导致 p_dueDate = 10th Jan 并且在 1 月 3 日 f_getRemainingTime() 将返回 7.0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。