gpt4 book ai didi

python - 将 Simpy 模拟时间链接到 Python 日历以执行工作日特定操作

转载 作者:行者123 更新时间:2023-12-01 04:33:09 29 4
gpt4 key购买 nike

我想使用 SimPy 构建生产网络的仿真模型,包含以下与时间相关的特征:

  • 工厂周一至周五工作(两类倒,每类 8 小时)
  • 重型卡车在一周中的所有日子(周日除外)行驶
  • 轻型卡车在一周中的所有日子都行驶,包括周日

为此,我想构造一个 BroadcastPipe as given in the docs与超时相结合,使对象在不工作的日子里等待(对于工厂来说,需要额外的逻辑来对类次进行建模)。这个 BroadcastPipe 只会计算天数(假设每天 24*60 分钟),然后说“大家今天是星期一”。然后,对象(工厂、轻型和重型卡车)将单独处理这些信息并采取相应的行动。

现在,我想知道是否有一种优雅的方法将模拟时间链接到常规 Python Calender 对象,以便轻松访问一周中的日子。这对于清晰度和增强功能(例如银行假期和不同的开始日期)很有用。您对如何做到这一点有什么建议吗? (或者关于如何更好地建模的一般建议?)。提前致谢!

最佳答案

我通常设置一个开始日期并将其定义为等于模拟时间(Environment.now)0。由于SimPy的模拟时间没有固有单位,所以我也定义它以秒为单位。使用arrow ,我可以轻松地从当前模拟时间计算出实际日期和时间:

import arrow
import simpy

start = arrow.get('2015-01-01T00:00:00')
env = simpy.Environment()

# do some simulation ...

current_date = start.replace(seconds=env.now)
print('Curret weekday:', current_date.weekday())

关于python - 将 Simpy 模拟时间链接到 Python 日历以执行工作日特定操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096777/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com