เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การปรับปรุงกระบวนการผลิตให้เหมาะสม: การค้นหาและหยุด

มาใช้โมเดลโรงงานนาฬิกาแขวนที่สร้างไว้ในแบบฝึกหัดก่อนหน้า และนำแนวทางการปรับให้เหมาะสมแบบ "ค้นหาและหยุด" (Search & Stop) โดยอาศัยการสุ่มตัวอย่างแบบ Monte Carlo เพื่อระบุกระบวนการที่เป็นคอขวดสำคัญ

กระบวนการผลิตสรุปไว้ในตารางด้านล่าง และข้อมูลถูกจัดเก็บในรายการของดิกชันนารีชื่อ processes โดยมีหนึ่งดิกชันนารีต่อกระบวนการ โดยคีย์ของดิกชันนารีนี้ตรงกับส่วนหัวของคอลัมน์ในตาราง

Table with process names and their duration statistics, namely mean and standard deviation.

เมธอด 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 จะสร้างชุดของเส้นทางกระบวนการที่เป็นไปได้และหยุดเมื่อเป็นไปตามเงื่อนไขที่กำหนด ดังที่แสดงในรูป Monte Carlo trajectories for different process scenario.

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดลูปให้รันเส้นทางการจำลองในขณะที่ run_i มีค่าเท่ากับศูนย์ หรือ total_duration[run_i] มีค่ามากกว่า 85 ชั่วโมง (กล่าวคือ เงื่อนไขหยุด: total_duration[run_i] มีค่าน้อยกว่าหรือเท่ากับ 85 ชั่วโมง)
  • รัน Monte Carlo engine ที่เก็บอยู่ในฟังก์ชัน run_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
____
แก้ไขและรันโค้ด