开始使用免费开始使用

开发离散事件模型

您受托为一项农业生产运营开发一个离散事件模型,以帮助分配资源、提升产能,并识别与消除瓶颈。

您正与同事讨论涉及的不同流程,以及这些流程在模型中应当细化到什么程度。因此,大家同意先将信息汇总到一个名为 process_dict 的字典中,结构如下。随着获取到更多流程信息,这个字典将持续更新。

process_dict = {
    "Process name 1":  <duration>,
    "Process name 2":  <duration>,
    ...
}

现在让我们构建一个通用的离散事件模型 discrete_model_farm(),可以调度字典中定义的任意数量的离散事件。

该模型的输入参数(按顺序)为:

  1. process_dict:包含流程信息的字典
  2. simulation_time:仿真时长

模型中的时间单位为天。

本练习是课程的一部分

Python 中的离散事件模拟

查看课程

练习说明

  • 初始化模型的状态变量 time(跟踪时间)和 supply_chain(跟踪循环次数),并将它们设为 0。
  • 定义结束条件,使模型在 time 小于 simulation_time 时运行。
  • 将流程的持续时间累加到状态变量 time

交互式实操练习

通过完成这段示例代码来试试这个练习。

def discrete_model_farm(process_dict, simulation_time):
  # Initiate variables
  time = ____
  supply_chain = ____

  # Define ending condition
  while ____ < ____:

    supply_chain += 1
    process_names = list(process_dict.keys())

    for p in range(len(process_names)):
		  
      event_duration = process_dict[process_names[p]]
          
      # Add the process duration
      ____ += event_duration
      print(f"{process_names[p]}  (completed): time = {time}")
          
    print(f"COMPLETED: Production cycle #{supply_chain} | Time = {time} days")  
编辑并运行代码