制造优化:搜索并停止
让我们使用之前练习中创建的挂钟工厂模型,基于 Monte Carlo 抽样部署一种"搜索并停止"的优化方法,以识别关键瓶颈工序。
下面的表格总结了制造流程,相关信息已存储在名为 processes 的字典列表中,每个工序对应一个字典。该字典的键与表格的列名一致。

用于在本练习中生成图表的 plot_results() 方法已预加载,如下所示。
def plot_results():
df_disc = pd.DataFrame({cNam[0]: process_line_space, cNam[1]: time_record})
fig = sns.lineplot(data=df_disc, x=cNam[0], y=cNam[1], marker='o')
plt.grid()
fig.set(xlim=(0, len(processes)))
fig.set(ylim=(0, 180))
fig.set(xticks=process_line_space)
plt.plot()
Monte Carlo 抽样循环会生成一系列可能的工序轨迹,并在满足目标条件时停止,如图所示。

本练习是课程的一部分
Python 中的离散事件模拟
练习说明
- 设置一个循环:当
run_i等于 0,或total_duration[run_i]大于 85 小时时继续运行模拟轨迹(即停止条件为total_duration[run_i]小于或等于 85 小时)。 - 运行存放在
run_monte_carlo()函数中的 Monte Carlo 引擎。
交互式实操练习
通过完成这段示例代码来试试这个练习。
def run_monte_carlo():
run_i = 0
# While-loop with the stop condition
____
run_i += 1
env = simpy.Environment()
env.process(manufractoring_process(env))
env.run()
plot_results()
plt.show()
# Call the run_monte_carlo function
____