工廠 AI 化
進階
工廠 AI 化

用 Python 模擬產線:改線前先在電腦裡試

用 SimPy 建立簡單的產線離散事件模擬,測試加機台或加緩衝區的效果,並用實際資料校正。
1 小時 30 分
7 步
免費(開源)
編
AI 有解編輯部
最後更新 2026 年 11 月 5 日・CC BY 4.0
用到的工具
Python
SimPy
Claude
ChatGPT
買一台新機器之前,最好先知道它能帶來多少產出。「數位分身」聽起來很昂貴,但第一步可以很小:用幾十行程式模擬產線,就能回答很多投資問題。
你需要準備
•
Python:pip install simpy numpy
•
每個工站的加工時間紀錄,至少 30 筆
•
緩衝區容量、換模與停機紀錄
進度 0/7
1

搞清楚你要回答什麼

模型只要能回答問題就好,不用把一切都做進去。好問題例如:
•
B 站加一台機器,日產能會增加多少?
•
緩衝區加大,有幫助嗎?
•
人力減少一人會塞在哪裡?
2

畫出流程

先從最簡單的兩站開始:A 站加工,放進緩衝區,B 站取出加工。之後再請 AI 增加工站。
3

寫模型

以下程式實測可以執行。加工時間先用指數分布代表波動,實際應用時要換成你的資料:
Python
import numpy as np import simpy def run(extra_machine=False, buffer_size=5, hours=8, seed=1): r = np.random.default_rng(seed) env = simpy.Environment() a = simpy.Resource(env, 1) b = simpy.Resource(env, 2 if extra_machine else 1) buffer = simpy.Container(env, capacity=buffer_size) done = [0] def station_a(): while True: with a.request() as req: yield req yield env.timeout(r.exponential(1.0)) # A 站平均 1 分鐘 yield buffer.put(1) def station_b(): while True: yield buffer.get(1) with b.request() as req: yield req yield env.timeout(r.exponential(1.5)) # B 站平均 1.5 分鐘 done[0] += 1 env.process(station_a()) for _ in range(2 if extra_machine else 1): env.process(station_b()) env.run(until=hours * 60) return done[0] now = np.mean([run(seed=s) for s in range(30)]) more = np.mean([run(extra_machine=True, seed=s) for s in range(30)]) big = np.mean([run(buffer_size=20, seed=s) for s in range(30)]) print(f"現況 {now:.0f},B 站加一台 {more:.0f},緩衝區加大 {big:.0f}")
範例的結果是:現況約 309 件,B 站加一台約 462 件,緩衝區加大約 319 件。因為 B 站是瓶頸,加大緩衝區的幫助不大,這就是模擬能告訴你的事。
4

跑很多次

每次隨機的結果都不同,所以上面跑了 30 次取平均。投資決策要看範圍,不要只看一個數字。
5

用現況校正

先模擬現在的產線,和實際產量比較。差太多時,代表模型漏掉了東西,例如:
•
換模、休息、停機沒放進去
•
不良品重工
•
工人同時顧多台機器
•
上游缺料
差距合理之後,才能拿來預測改善後的效果。
6

請 AI 擴充

文字
這是我的 SimPy 模型。請加入: 1. B 站平均每 120 分鐘故障一次,修復平均 15 分鐘 2. 每件 3% 機率不良,要回到 A 站重工 3. 輸出每站使用率和平均等待時間 不要改變原本的參數,並說明每個新增部分的假設。
檢查 AI 新增的邏輯,並用極端值測試,例如不良率 0% 時結果要和原本一致。
小技巧
模型越大越難驗證。先用小模型回答問題,真的不夠用時,再考慮 FlexSim、AnyLogic、Siemens Plant Simulation 等專業軟體,或 NVIDIA Isaac Sim 這類機器人模擬工具。
7

把結果接到決策

把模擬結果放到回收試算:多出來的產能賣得掉嗎?瓶頸移到下一站之後還有多少效益?
模擬的結論是「值得實測」,不是「保證有效」。實際改線前,先做小規模試驗。
你照著做成功了嗎?
成為第一個回報的人。你的回報會決定攻略排序與作者分潤。
下一步
•
想知道瓶頸站要不要加人或加機器,看〈用 OR-Tools 排班:把規則寫清楚,讓電腦找解〉。
•
想把資料接上線,看〈工廠 AI 化入門:從一台機器開始的六個階段〉。
收錄在學習路線
廣告版位
想讓正在用 AI 的人看到你的產品?了解廣告合作
問與答
卡住的地方、補充的做法都可以留在這裡
還沒有人留言。
更多「工廠 AI 化」攻略