轮班开始的等待时间

问题描述

我是 Simpy 的新手。我有一辆车停在 3 个不同的资源处进行维修。车辆在域中连续移动,资源在 7 到 19 小时之间处于活动状态并同时执行其他过程(我通过 PriorityResource 解决了这个问题)。我解决这个问题的简单方法似乎在大多数情况下都有效,但我怀疑 [wait_time = 12.0 - clock_hours + 19.0] 行存在精度问题,因为有时 clock_hours+wait_time 可能会导致浮点值无限大地大于 7.0 .因此,资源优先级=1 的进程并不总是首先启动。我看着用日期时间操纵时间,但对我来说似乎很混乱。

def start_shift(self,env):
    time_Now = env.Now
    wait_hours = 0
    clock_days,clock_hours = divmod(time_Now,24)
    if clock_hours <= 7.0 or clock_hours >= 19.0:
        wait_time = 12.0 - clock_hours + 19.0
        wait_days,wait_hours = divmod(wait_time,24)
    yield env.timeout(wait_hours)

关于如何以更人性化的方式操纵时间的任何想法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)