有一批六張工單,材質和夾具幾乎一樣,六台機都做得了。排程跑完,三張排在 CNC-1、三張排在 CNC-2——兩條短鏈,各換一次線。
可是這六張本來可以在同一台機上連著跑完,只換一次。
每一步都沒算錯。每一張單都照規則選了「當下最快做得完」的那台機。錯的是這條規則本身:它一次只看眼前這一張單。
這篇講我們怎麼修這件事,以及修的過程中一開始找錯了地方。
先說清楚:換線有大有小
換線(換模、setup)同一台機從做 A 產品切換到做 B 產品的準備工作:換模具、換料、調機、首件確認。換線期間機台不產出,所以排程會盡量把同類工單排在一起。是機台開著、卻沒有產出的時間。但不是每次切換都一樣貴。
同一台 CNC,做完一批不鏽鋼件、接著做下一批不鏽鋼件,如果夾具不用拆、刀具不用換,清一下屑、上料就繼續跑,五分鐘的事。
換材質、換一副夾具就是另一回事:拆夾具、重新校正原點、換刀對刀、試切首件確認尺寸——半小時到幾小時跑不掉。沖床換一副模、折床改一次刀模設定,也是同樣的道理。
排程引擎裡有一張「從 A 換到 B 要多久」的換線時間對照表。同一類接同一類,很多情況查出來是 0 分鐘:機台不用停,直接接著做下一張。跨到不同類,才要付大換線的錢。
所以「增加合併」講白了,就是把那些 0 分鐘的接續盡量串長。
排完一張單,立刻回頭找同類
最單純的排法是:把單按交期排好,一張一張往下發,輪到誰就排誰。同系列規則沒打開的時候,SARA 也是這樣排。
規則一打開,就多了一個動作。每排完一張單,SARA 會立刻回頭問一句:還有誰跟你是同一類,而且來得及排進來?有的話,直接把那張單夾帶到同一台機、緊接著排下去。
「同一類」不是看品號一不一樣,是比對工廠自己定義的三層參數。以 CNC 加工中心為例,現場其實是照這三層在判斷:
- 材質——不鏽鋼、鋁、碳鋼。換材質要清屑、改切削參數,常常連刀也要換。
- 夾治具——同一副夾具就不用拆裝,也不用重新校正工件原點。
- 刀具組 / 加工程式——同一組刀就不用換刀、不用重新對刀。
三層都一樣,等於「換一根料就繼續跑」,機台幾乎不停。只有材質一樣、夾具不同,那還是要拆裝校正,可能就是 40 分鐘。
換到沖壓就是模具、板厚、材質;換到表面處理又是另一組。哪三層決定要不要換線,是工廠自己說了算——這也是為什麼同一批工單,每家工廠的合理排法都不一樣。
夾帶不是無限制的,同時繫著兩條安全帶:兩張單之間空檔預設不能超過 60 分鐘(隔太遠的話機台空等也是浪費,不如讓別的單先進來),而且可以限制成只夾帶交期在幾天內的單——不然合併會一路串下去,把兩個月後的工作提前做完,變成一堆在製品(WIP, Work In Process)已經投料生產、還沒完成入庫的半成品。在製品越多,代表越多資金與現場空間卡在產線中間。堆在線邊。
嚴格比對常常落空
三層全中的機會,比想像中少——尤其是那些量小、工時短的單。
它們的下場通常很慘:加工 40 分鐘,先花 40 分鐘拆裝夾具、對刀、試切。整台機的時間有一半是為了這一張單的準備工作。
所以還有第二層:嚴格比對找不到人的時候,用比較寬鬆的條件再找一次——不比三層參數了,只要是同一個工法群組、同一個客戶、而且這台機做得了,就可以接上去。
白話講就是:找不到「同材質 + 同夾具 + 同刀具」那張完美的單,那至少找一張夾具不用拆的接上去。只換刀、重新對個刀,換線從 40 分鐘變 8 分鐘。不完美,但比整組拆掉重來好。
一開始,我們修錯了地方
回到開頭那六張單。
第一次想修的時候,我們動的是接續規則本身:把「算同一類」的條件放寬,想讓更多單串得起來。
沒有用。
因為等到要串接的那一刻,那幾張單早就被分派到不同機台了。規則再怎麼放寬,也串不起兩台不同的機——鏈是接不過去的。
真正要改的地方在更前面:選機台的那一刻。
選機台的時候,就要想到後面
選機台最直覺的邏輯是誰最快做得完就排誰。單看一張單,這條規則永遠是對的。放到一整批單上,它會把同類工單分散到各台機,然後每一台都各自付一次換線。
所以選機台的時候要多算一個數字——親和度分數:這台機,還有多少張「同一組、還沒排」的單也能做?
- CNC-1:還有 5 張同組單能做 → 5 分
- CNC-2:還有 3 張同組單能做 → 3 分
兩台都不會造成逾期的話,選分數高的。分數一樣,才回頭比誰快。
安排座位是同樣的道理:不是誰先到誰坐第一排,而是把同一組人排到同一桌,這樣待會兒討論不用一直換位子。
只看誰最快做得完
每一張單分開看都沒選錯——都挑了當下最快做得完的那台機。可是同一類的六張單因此被拆到兩台機上,兩台各自付一次換線。
把後面還有誰能做也算進來
選機台時多算一個數字:這台機還有多少張同組、還沒排的單也能做。六張集中到同一台,只換一次線,另一台整台空出來給別的工作。
2 → 1
換線次數
3 → 6
最長合併鏈(張)
2 → 1
佔用機台數
合併和守交期,本來就會打架
必須講清楚:多合併一定會犧牲一點什麼。
把五張同夾具的單排在一起,第五張的交期可能是下個月——你等於把下個月的工作提前做了,佔掉這週的機台,也多壓了一批在製品。而那張明天要出貨、但需要換一副夾具的急單,可能就插不進去。
所以這個取捨不該由系統偷偷替你決定,而是做成幾個看得見、也調得動的開關:
| 你要決定的事 | 對應的設定 |
|---|---|
| 會害到交期的時候,還要不要繼續合併? | 逾期即中斷合併(可開可關) |
| 可以把多久以後的單提前拉進來? | 夾帶範圍限制(幾天內) |
| 兩張單之間可以留多大空檔? | 可容許間隔(預設 60 分鐘) |
| 加班機台要不要也套合併規則? | 加班資源預設不套 |
這幾個開關是逐條工法設定的,不用全廠一起。
如果要我給一個起手式:先把「逾期即中斷合併」打開,讓合併只在不傷交期的前提下發生,跑一個月看換線降多少。除非你的換線貴到離譜——換一次夾具或模具要半天以上,而且交期普遍寬鬆——才值得反過來設成合併優先。多數工廠沒有那麼多餘裕可以賭。
怎麼看有沒有效
最快的檢查方法是打開甘特圖(Gantt chart)用時間軸把每台機台、每張工單的起訖畫成長條的圖。哪裡塞車、哪裡空著,看圖比看表快。,橫著看每一台機。每一列是一台機、由左往右是時間,合併有沒有發生,眼睛就看得出來:
- 代表換線的那些小段變少、變短了嗎?
- 同一類的工作有沒有連成一段一段的長塊?
- 每一列的尾巴有沒有往左縮?
合併規則關閉 — 每台被切成 6 段、換線 5 次
工單照交期一張一張發,相鄰兩張常常是不同材質,機台一整段時間被換線切得零零碎碎。
合併規則打開 — 每台 3 段、換線 2 次
同材質的工作被併成長塊,換線從 5 次收斂到 2 次。加工總時數一分沒少,省下的是原本被換線吃掉的時段。
5 → 2
每台換線次數
6 → 3
每台被切成幾段
三件事一件都沒發生,通常是兩個原因之一:同類判定的參數設得太嚴,幾乎沒有兩張單被判成同一類;或是開關設成交期優先,合併一直被中斷。兩個都是設定問題,不是演算法問題,調得回來。
眼睛看完之後,還是要有數字。四個就夠:換線次數與總時數(同一個週期長度來比)、平均鏈長(同一台機上連續同類單的平均張數,從 1.4 變成 3.2 就是真的發生了)、稼動率(產能利用率)機台實際在生產的時間,佔它可用時間的比例。待料、換線、故障停機都會吃掉這個數字。(省下的換線時間有沒有變成產出),以及準交率(On-Time Delivery)訂單在客戶要求的交期內完成的比例。分母怎麼算(按訂單、按批次或按交期日)各廠不同,重點是定義固定下來,長期才比得了。加在製品水位當煞車——如果換線大降但準交掉了、WIP 堆高了,代表合併開太兇,把開關收回來一點。
這四個數字怎麼定義、為什麼會互相拉扯,前面那篇講得更完整。
小結
把同類工單併在一起做,現場老師傅一直都在做,這不是新概念。難的從來不是知不知道,是規模——一天幾百張單、幾十台機,組合多到沒有人算得完。文獻量過生管的一天長什麼樣:Larco 等人(2018)以現場觀察記錄 7 位生管、19 個 8 小時班次,發現生管平均每天處理 55 件任務、25.2% 開始後就被打斷(Cognition, Technology & Work 20(1), 1–10)。在這種節奏下能守住交期就不容易了,很難再回頭把同類單一張一張撿出來併。
系統補的就是這一段。排完一張單立刻回頭找同類接續、嚴格比對落空時放寬一層、選機台時把「這台機後面還有多少同類單也能做」一起算進去——三件事都不難懂,只是要在每一次重排、對全廠所有工單做滿。而我們自己走過的彎路是:先去放寬接續規則沒有用,因為等到要串接的那一刻,單早就被分派到不同機台了。真正要改的地方,往往比出問題的地方更前面一步。
最後,合併和守交期會互相拉扯,所以取捨要留在你手上,不該由系統偷偷替你決定。我的建議是先把「逾期即中斷合併」打開,讓合併只在不傷交期的前提下發生,跑一個月看換線降多少;除非換一次夾具或模具要半天以上,而且交期普遍寬鬆,才值得反過來設成合併優先。但這一切都要有基線才有意義——你現在一週換幾次線、每次多久,如果答不出來,那不管排程怎麼調,你都不會知道有沒有變好。先量一個月,再來談合併。
延伸閱讀:你的機台時間都去哪了?換線、等待與排程間隙、同樣一批工單,為什麼每家工廠的「好排程」都不一樣?、導入生產排程系統前,要準備哪些資料?。
參考文獻
括號內為研究對象與樣本數。
- Larco, J.A., Fransoo, J.C. & Wiers, V.C.S. (2018). Scheduling the scheduling task: a time-management perspective on scheduling. Cognition, Technology & Work 20(1), 1–10.(7 位生管、19 個 8 小時班次、1,595 筆活動紀錄)連結