Optimasi Manufaktur: Search & Stop
Mari gunakan model pabrik jam dinding yang dibuat pada latihan sebelumnya dan terapkan pendekatan optimasi "Search & Stop" berbasis pengambilan sampel Monte Carlo untuk mengidentifikasi proses bottleneck yang kritis.
Proses manufaktur diringkas pada tabel di bawah, dan informasinya telah disimpan dalam sebuah list berisi dictionary bernama processes, dengan satu dictionary untuk setiap proses. Kunci pada dictionary ini sesuai dengan header kolom tabel.

Metode plot_results() untuk menghasilkan plot pada latihan ini telah dimuat sebelumnya dan ditunjukkan di bawah ini.
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()
Loop pengambilan sampel Monte Carlo akan menghasilkan serangkaian kemungkinan trajektori proses dan berhenti ketika kondisi yang diinginkan terpenuhi, seperti ditunjukkan pada gambar.

Latihan ini merupakan bagian dari kursus
Simulasi Peristiwa Diskret dengan Python
Instruksi latihan
- Tetapkan sebuah loop untuk menjalankan trajektori simulasi saat
run_isama dengan nol atautotal_duration[run_i]lebih tinggi dari 85 jam (yaitu, kondisi berhenti:total_duration[run_i]sama dengan atau kurang dari 85 jam). - Jalankan mesin Monte Carlo yang disimpan dalam fungsi
run_monte_carlo().
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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
____