國立交通大學
工業工程與管理學系
碩士論文
應用啟發式演算法與家族式派工於多部傳
輸整合步進機在小批量情境下之排程問題
Family-based meta-heuristic algorithms for
scheduling multiple in-line steppers in
small-lot scenarios
研 究 生:謝佩芸
指導教授:巫木誠教授
應用啟發式演算法與家族式派工於傳輸整合步進機
在小批量情境下之排程問題
Family-based meta-heuristic algorithms for
scheduling multiple in-line steppers in small-lot scenarios
研 究 生:謝佩芸 Student:Pei-Yun Hsieh
指導教授:巫木誠 博士
Advisor:Dr. Muh-Cherng Wu
國 立 交 通 大 學
工 業 工 程 與 管 理 學 系
碩 士 論 文
A ThesisSubmitted to Department of Industrial Engineering and Management College of Management
National Chiao Tung University in Partial Fulfillment of the Requirements
for the Degree of Master of Science in
Industrial Engineering June 2010
Hsin-chu, Taiwan, Republic of China
應用啟發式演算法與家族式派工於多部傳輸整合步進
機在小批量情境下之排程問題
研究生:謝佩芸 指導教授:巫木誠博士國立交通大學工業工程與管理研究所
中文摘要
半導體工廠中,傳輸整合步進機為瓶頸機台,其在小批量的情況下,會 因為機台埠區的限制造成產能損失之問題,而過去文獻中已對此問題作過研 究,但和現實狀況比較,其假設過於簡化,因此本研究有三項假設:第一, 多部傳輸整合步進機。第二,不同的電路佈局之工件,進入傳輸整合步進機 加工,當更換工件時,會產生更換光罩的設置時間。第三,使用相同光罩之 工件會將之排序在一起 ,即家族式派工法(Family-based),以減少設置時間之 發生,故在求解多機之工件排程問題上,工件會面臨三項重要之決策,分別 為工件族需要分配給哪一個機台(Family Assignment),以及工件族在各別機台 內的排序問題(Among Family Sequence),工件族內各工件的順序 (Within Family Sequencing),而本研究提出七種演算法,經由多次的實驗後,顯示 GA-Tabu方法優於其他的演算法,此外,比較家族式派工法與單獨派工法於此 排程規劃之績效,更證明家族式派工法則之必要性。Family-based meta-heuristic algorithms for scheduling
multiple in-line steppers in small-lot scenarios
Student:Pei-Yun
Hsieh
Advisor:Dr. Muh-Cherng Wu
Department of Industrial Engineering and Management
National Chiao Tung University
Abstract
An in-line stepper, a bottleneck machine in a semiconductor fab, may have capacity loss in a small-lot scenario. Prior studies have examined scheduling methods to reduce such a capacity loss. Yet, their contexts of study are relatively simplified, in contrast to that of real-world cases. This research aims to examine scheduling methods in a more general context—with three distinct features. First, there are multiple in-line steppers. Second, jobs that require the same setup are grouped into a family in scheduling. Thirdly, a setup is required while switching to process different families and not required while processing jobs within the same family. Such a context leads to three scheduling decisions: job-family assignment (how to assign jobs families to in-line steppers), among-family sequencing (how to determine the sequence among families), and within-family sequencing (how to determine the job sequence within each family). Seven meta-heuristic algorithms are developed. Numerical experiments indicate that the GA-Tabu algorithm outperforms the other six ones in most test cases. Moreover, experiments also indicate that such a family-based scheduling approach in most test cases outperforms the individual-based scheduling approach, in which jobs are not necessarily grouped into families.
誌 謝
本論文得以順利完成,首要感謝的是巫木誠教授的悉心指導與教誨,這二 年接受老師的指導,不只是學習到鑽研學問的精神、做研究嚴謹的態度, 更是獲得許多寶貴的人生知識和態度,如:Work Hard、Efficiently、Honest。 同時也感謝許錫美教授和彭德保教授在論文口試時,對於論文給予寶貴的意 見與指導,並撥冗參與口試過程,提供了許多指正與建議,讓本論文更 臻完備。 在研究所的兩年中,要感謝同實驗室的金傳、邦豪、曉嚴、浩翰、秀文, 陪我度過修課與撰寫論文的日子,時常相互鼓勵與討論,與我分享日常生活 的大小事,使我在交大的生活變的愉快而充實,另外,非常感謝子逸和昌穎的 友情幫助,使我能多次突破研究的瓶頸,而在此特別感謝邱志文學長的幫助, 指導我程式的撰寫,並提供意見解決在研究中遇到的困難,使我得以順利完成 研究。 最後,特別感謝我最親愛的家人和憲耀,在論文撰寫期間給我無數的關愛 與包容。特別是我的父母親,感謝您們多年來的辛勞與關懷,您們的體諒讓我 得以專心在論文的研究上。在此,謹以此論文獻給我最敬愛的家人、師長與朋 友。 謝佩芸 于 新竹交大 2010’7’1目 錄
中文摘要...i Abstract...ii 誌 謝... iii 第一章 緒論...1 1.1 研究背景與動機...1 1.2 研究議題...5 1.3 研究方法...6 1.4 研究流程...7 第二章 文獻探討...8 2.1 傳輸整合步進機之結構及製程介紹...8 2.2 傳輸整合步進機之排程研究...9 2.3 整備時間之分類...10 2.4 啟發式演算法 (Meta-heuristic Algorithm) ...11 2.4.1 基因演算法 (Genetic Algorithm)...11 2.4.2 模擬退火法 (Simulated Annealing) ...13 2.4.3 禁忌搜尋法 (Tabu Search) ...142.4.4 螞蟻演算法 (Ant Colony Algorithm)...15
2.4.5 粒子群最佳化 (Particle Swarm Optimization) ...18
2.4.6 GA-Tabu ...21 2.5 文獻探討結語...24 第三章 求解多部傳輸整合步進機排序...25 3.1 研究問題描述...25 3.2 問題複雜度...26 3.3 以演算法求解多部傳輸整合步進機...27 3.3.1 染色體設計...27 3.3.2 染色體解讀...28
3.3.3 適合度函數...31 3.3.4 基因演算法求解過程...33 3.3.5 模擬退火法求解過程...39 3.5.6 禁忌搜尋法求解過程...40 3.3.7 螞蟻演算法求解過程...41 3.3.8 粒子群最佳化求解過程...42 3.3.9 GA-Tabu 求解過程 ...43 第四章 實例驗證...44 4.1 實驗目的...44 4.2 測試情境的設計...45 4.3 演算法的參數設定...47 4.4 實驗結果與分析...48 第五章 結論與未來研究方向...56 5.1 研究的結論...56 5.2 未來研究方向...57 參考文獻...58
表目錄
表2.1 文獻整理...24
表3.2 適合度函數值之範例...31
表4.1 傳輸整合步進機反應室的加工時間(資料來源:Wu & Chiou (2009)) .45 表4.2 本主題各演算法相關參數之設定值(資料來源:Wu & Chiou (2009)) .47 表4.3 (M,N) = (2,20),演算法與不同派工法則之差異 ...48 表4.4 (M,N) = (2,40),演算法與不同派工法則之差異 ...49 表4.5 (M,N) = (3,20),演算法與不同派工法則之差異 ...50 表4.6 (M,N) = (3,40),演算法與不同派工法則之差異 ...51 表4.7 (M,N) = (2,20),各個演算法間之解品質差異 ...52 表4.8 (M,N) = (2,40),各個演算法間之解品質差異 ...53 表4.9 (M,N) = (3,20),各個演算法間之解品質差異 ...54 表4.10 (M,N) = (3,40),各個演算法間之解品質差異 ...55
圖目錄
圖1.1 傳輸整合步進機之組態...2 圖1.2 單傳輸整合步進機在滿批量情境無產能損失之範例...3 圖1.3 單部傳輸整合步進機在小批量情境產能閒置之範例...4 圖1.4 單部傳輸整合步進機在工件排序策略下無產能損失範例...4 圖2.1 傳輸整合步進機的生產系統...9圖2.2 Procedure Tabu(πin,πout)之求解過程 (Wu & Chiou(2009))...23
圖3.2 染色體設計範例...28
圖3.3 Among Family Sequence 的解讀範例 ...29
圖3.4 Within Family Sequence 的解讀範例 ...29
圖3.5 Family Assignment 的解讀範例 ...30 圖3.6 求解染色體的適應式值...32 圖3.7 基因演算之求解流程...33 圖3.8 染色體交配:C1 運算...34 圖3.9 染色體交配:LOX 運算 ...35 圖3.10 染色體交配:PMX 運算...36 圖3.11 染色體突變:SWAP 運算 ...37 圖3.12 染色體突變:Inverse 運算...37 圖3.13 模擬退火法之求解流程...39 圖3.14 禁忌搜尋法之求解流程...40 圖3.15 螞蟻演算法之求解流程...41 圖3.16 粒子群最佳化之求解流程...42 圖3.17 GA-Tabu 之求解流程 ...43
第一章 緒論
1.1 研究背景與動機
半導體產業技術近年來不斷的成長,因此市場與技術的需求也逐漸增加,故必須 以興建廠房的方式允以應付。然而當投資興建工廠時,機台的購買數量會是一個重要 的決策,對半導體晶圓廠來說,當建造一座十二吋晶圓廠時,大約有 75%的投資金額 投入於機台的購買,故可知必須充分利用機台之產能,才可減少購買過多的機台。然 而在生產現場中,瓶頸機台為決定產出之關鍵,因此瓶頸機台的產能利用相當重要, 唯有充分利用瓶頸機台之產能,方能增進工廠實際的產出。而在半導體晶圓廠設備投 資金額中,又以傳輸整合步進機 (In-line Stepper)所佔比例最高,故在機台購買與生產 配置的策略上,會將傳輸整合步進機成視為瓶頸機台,故提高傳輸整合步進機的利用 率,以降低產能損失,可在不增購機台的情況下,提高晶圓廠的產出,減少不必要的 投資。 在半導晶圓廠中,生產的加工單位為晶圓片 (wafer),基於加工經濟規模考量,通 常會將相同產品群組成一個生產批 (lot)。每一個晶圓批又可稱為工件 (Job),且一個 晶圓批最多容納 25 片晶圓片。而傳輸整合步進機主要由暫存區 (Buffer)、埠區 (Port) 以及反應室 (Chamber)三個部分所構成,如圖 1.1 所示。暫存區 (Buffer)位於機台的外 部,主要功能為暫時儲放等待分配到機台的工件;埠區 (Port)和反應室 (Chamber)位 於機台的內部,埠區 (Port)用以暫時存放等待到反應室加工的工件,一部機台最多設 計4 個埠區,每一個埠區僅放置一個晶圓批 (Lot),而反應室 (Chamber)主要為加工晶 片之工作站,一部機台約由 20 多個反應室所構成,每一個反應室一次加工一片晶圓 (Wafer),其生產方式會依照固定的製程順序一個步驟緊接著下一個步驟加工,故又可 將之視為一流程式生產 (Flow Shop)。 此外,在傳輸整合步進機中,曝光反應室 (alignment)為機台之瓶頸製程,其為設 置時間發生之所在。當生產之晶圓片於曝光反應室 (alignment)內,會依據曝光製程之不同,所需的光罩 (mask)亦不同,於每次光罩的更換,均會產生一整備時間 (Setup time),其大約需要 1.5 至 6 分鐘,因此不同的晶圓批所需的曝光製程不同時,必須更 換光罩;反之,不同的晶圓批所需的曝光製程相同時,則不必更換光罩,然而若將相 同製程之晶圓批視為同一家族,允以集中進行加工,則可以降低設適時間之發生。 傳輸整合步進機的傳輸單位可分為兩種,分別為晶圓批 (Lot)和晶圓 (Wafer),如 圖1.1 所示,從暫存區至埠區的傳輸單位為晶圓批 (Lot);從埠區至反應室的傳輸單位 為晶圓 (Wafer);從反應室回至埠區的傳輸單位為晶圓 (Wafer);從埠區回至暫存區的 傳輸單位為晶圓批 (Lot),形成傳輸單位不一致的問題。由於機台具有傳輸單位不一 致的問題,故使得機台必須加工完一個晶圓批方可離開埠區,好讓下一個晶圓批進入 埠區準備加工,因此可知傳輸整合步進機為傳輸單位不一致的流程式生產模式。 wafer-based Lot-based Buffer Chamber 22 Chamber 11 Chamber 10 Chamber 12 Chamber 13 Chamber 9 Chamber 14 Chamber 8 Chamber 15 Chamber 7 Chamber 16 Chamber 6 Chamber 17 Chamber 5 Chamber 4 Chamber 18 Chamber 19 Chamber 3 Chamber 2 Chamber 1 Chamber 20 Chamber 21 Port 1 Port 2 Port 3 Port 4 圖1.1 傳輸整合步進機之組態 在過去傳輸整合步進機的排程文獻研究中,幾乎都是以滿批量 (Full-lot)的情境作 為假設,當晶圓批內的晶圓數達到25 片晶圓,就稱作滿批量。在此情境下,傳輸整合 步進機不會有產能損失的問題產生,如圖1.2 所示,傳輸整合步進機有 22 個反應室,
Lot 1、Lot 2、Lot 3 及 Lot 4 共 4 個晶圓批在埠區依序準備加工,每一個晶圓批皆呈現
Buffer Chamber 22 Chamber 11 Chamber 10 Chamber 12 Chamber 13 Chamber 9 Chamber 14 Chamber 8 Chamber 15 Chamber 7 Chamber 16 Chamber 6 Chamber 17 Chamber 5 Chamber 4 Chamber 18 Chamber 19 Chamber 3 Chamber 2 Chamber 1 Chamber 20 Chamber 21 Port 1 Lot_1 (25) Port 2 Lot_2 (25) Port 3 Lot_3 (25) Port 4 Lot_4 (25) 圖1.2 單傳輸整合步進機在滿批量情境無產能損失之範例 隨著科技不斷進步,消費者需求的多變化,使得產品的生命週期逐漸縮短,故必 須不斷開發新產品,方能保有競爭力以賺取更高的利潤,然而在新產品和新製程不斷 的導入,晶圓批內的晶圓產生了不滿批(晶圓數量未達 25 片)的情況,稱作小批量 (Small-lot)。 小批量的發生原因可歸納為二:第一,在進行新產品或新製程的驗證時,會因為 成本的考量,在投料時會將原本滿批量刻意改成小批量,如:一批晶圓批僅放置6 片 晶圓片,。第二,產品在試產階段時,常因低良率的狀況,導致滿批的晶圓批在進入 傳輸整合步進機前,就因製程或設備出問題造成部分晶圓報廢,因而形成小批量的情 形。假使一間晶圓廠同時俱備新產品和新製程的導入,則小批量發生之情形將顯而易 見。 在小批量的情境下,傳輸整合步進機會因為機台埠區的限制和傳出單位不一致造
成產能之閒置,如圖1.3 所示,傳輸整合步進機有 22 個反應室,Lot 1、Lot 2、Lot 3、
Lot 4 和 Lot 5 其中,Lot 1、Lot 2、Lot 3 和 Lot 4 在埠區依序準備加工,每個晶圓批
中的晶圓數量分別為3、7、4、5 片;由於機台埠區的限制 Lot 5 則無法進入機台中加
工,僅能在暫存區等待被分配至機台上,此晶圓批中的晶圓數量為7 片。當 Lot 1 之
第一片晶圓加工完成後回至埠區時,由圖示可知,機台會有5 個反應室閒置,但若將
工件Lot 5 和 Lot 1 的加工順序交換,加工順序從原本 Lot 1→2→3→4→5 調整成
知小批量生產方式以及機台埠區的限制,會造成產能閒置,而好的排序可以充分運用 機台的產能,使產能閒置的狀況獲得改善,然而半導體廠普遍存在多部傳輸整合部進 機的現實情況,因此如何改善多部傳輸整合步近機的產能閒置,實為半導體晶圓廠之 重要議題,亦為本研究之研究動機。 Buffer Lot_5 (7) Chamber 22 Chamber 11 Chamber 10 Chamber 12 Chamber 13 Chamber 9 Chamber 14 Chamber 8 Chamber 15 Chamber 7 Chamber 16 Chamber 6 Chamber 17 Chamber 5 Chamber 4 Chamber 18 Chamber 19 Chamber 3 Chamber 2 Chamber 1 Chamber 20 Chamber 21 Port 1 Lot_1 (3) Port 2 Lot_2 (7) Port 3 Lot_3 (4) Port 4 Lot_4 (5) Lot_1 Lot_2 Lot_3 Lot_4 圖1.3 單部傳輸整合步進機在小批量情境產能閒置之範例 Buffer Lot_1 (3) Chamber 22 Chamber 11 Chamber 10 Chamber 12 Chamber 13 Chamber 9 Chamber 14 Chamber 8 Chamber 15 Chamber 7 Chamber 16 Chamber 6 Chamber 17 Chamber 5 Chamber 4 Chamber 18 Chamber 19 Chamber 3 Chamber 2 Chamber 1 Chamber 20 Chamber 21 Port 1 Lot_5 (7) Port 2 Lot_2 (7) Port 3 Lot_3 (4) Port 4 Lot_4 (5) Lot_5 Lot_2 Lot_4 Lot_3 圖1.4 單部傳輸整合步進機在工件排序策略下無產能損失範例
1.2 研究議題
由於過去半導體產業處於量產階段,其製程良率高且穩定,故以往的文獻研究中, 幾乎都是針對滿批量 (Full-lot)的情境作為假設,在此情境假設下,傳輸整合步進機不 會因為傳輸單位不一致與埠區限制導致產能的損失。然而近年來新產品和新製程不斷 的導入,由於新製程的不穩定以及新產品驗證的成本考量,使得投料至傳輸整合步進 機的晶圓批往往呈現小批量的情形。 在小批量的情境中,傳輸整合步進機就會因為傳輸單位不一致與埠區限制造成產 能的損失。除此之外,在半導體廠的實際狀況中,每一個準備加工的晶圓批會面臨到 2 至 3 部傳輸整合步進機的決策選擇,如圖 1.5,故如何透過工件適當的派工和排序, 增進多部傳輸整合步進機的平均產出(減少傳輸整合步進機的平均產能閒置)為半導 體廠所重視的議題。 因此本論文主要探討小批量在多部傳輸整合步進機的排程問題,藉由求取最佳的 工件排序,改善機台產能的閒置發生,並且納入光罩設置的情境,以更符合傳輸整合 步進機在工廠裡實際運作的情況,讓研究更有價值。 圖1.8 實際的多部步進機排程1.3 研究方法
過去Wu & Chiou(2009)已針對小批量的情境作傳輸整合步進機的排程,目的在 於增加工廠之產能,但此論文並未考慮產品族(Job Family)的情況,因此假設每一個晶 圓批使用的光罩皆不同,故在加工每一個晶圓批之前,都需要更換光罩,即加工每一 個晶圓批均具有換光罩的整備時間。 然而在半導體廠不同晶圓批使用相同的光罩情境是顯而易見的,故Wu , Lu , &Chiou (2009)將產品族(Job Family)的情境納入討論,並且探討小批量在單部傳輸整 合步進機的排程問題,此論文使用家族式派工法則 (Family-based),盡量將相同加工 條件(相同光罩)的晶圓批排序一起加工,以減少在加工時重覆更換光罩的次數,使 其總完工時間縮短,增進機台產出率,除此之外,其提出基因演算法之染色體新的解 讀法則,此染色體主要為結合基因演算法和家族式派工法的概念下設計而成,而新的 染色體解設計和讀所獲得的最佳近似解,已證實比過去的設計和解讀法好 (Wilson et al., 2004; Franca et al., 2005; Lin et al., 2009)。
但在半導體廠中並非僅有單部傳輸整合步進機,在實務上的情境為多個晶元批在 暫存區 (buffer)中,每一個準備加工的晶圓批會面臨到 2 至 3 部傳輸整合步進機的決 策選擇。因此本研究主要探討小批量在多部傳輸整合步進機的排程問題,並且納入光 罩設置的情境,使其更符合半導體廠的真實運作,此外更應用Wu , Lu , & Chiou (2009) 提出的染色體之設計與解讀法,以求得更好的近似解。由於傳輸整合步進機為瓶頸站, 故如何增進多部傳輸整合步進機的平均產出率(減少傳輸整合步進機的平均產能閒置 率)為半導體廠所重視的,因此本研究目的在於透過工件適當的派工和排序,使傳輸 整合步進機的平均產出率最大,然而由於此問題之解空間龐大,故將使用不同的啟發 式演算法於多機上之績效探討。
1.4 研究流程
本論文計畫書文之內容架構分為五個章節。第一章緒論,說明研究背景與動機、 研究目的及研究議題等。第二章文獻探討,針對傳輸整合步進機的機台結構與製程、 步進機和流程式生產製程以及多機台排程等之相關文獻,加以整理、歸納,作為與本 研究問題特色之參考及比較,最後針對求解工具啟發式演算法之相關研究進行探討。 第三章研究方法,詳述傳輸整合步進機生產情境、相關參數假設,並說明啟發式演算 法如何求解傳輸整合步進機排序問題。第四章為實例驗證。第五章則敘述結論與後續 研究方向。第二章 文獻探討
此章節將介紹與本研究相關之文獻。本研究主要內容為探討小批量在多部傳輸整 合步進機之排程問題。因此,首先將針對傳輸整合步進機之機台結構及製程作介紹, 接著探討傳輸整合步進機之排程研究之相關議題,由於本研究有光罩設置之限制,故 進一步探討家族式派工法則和設置時間之相關文獻,更藉由文獻之回顧,確立本研究 之問題獨特性。最後,本研究使用啟發式演算法進行問題求解。故於本章節亦會進行 啟發式算法之相關文獻回顧。2.1 傳輸整合步進機之結構及製程介紹
傳輸整合步進機的生產系統主要由在製品暫存區 (WIP buffers)、 埠區 (Port)、以 及步進機之反應室 (Chamber)所組成 (Quirk 2001; Xiao 2001)。在製品暫存區主要用來 暫存待加工之生產晶圓批。埠區為暫存欲進入傳輸整合步進加工之生產晶圓批,一部 機台最多設計4 個埠區,每一個埠區僅可容納一個晶舟盒,即一個晶圓批 (Lot)。傳 輸整合步進機約由 20 多個反應室所構成,每一個反應室一次只能容納一片晶圓片進 行加工。由於暫存區、埠區和反應室的單位不同,故在傳輸的過程中會產生傳輸單位 不一致的現象 (Transportation incompatibility)。 傳輸整合步進機內部的佈置圖,包括了自動化光阻塗佈及顯影系統與步進機,如 圖2.1 所示。自動化光阻塗佈及顯影系統包括 7 種站點 (Stage),分別為氣相塗底
(Vapor prime)、光阻塗佈 (Photo-resist coating)、軟烤 (Soft-bake)、對準與曝光
(Alignment)、曝光後烘烤 (Post-exposure bake)、顯影 (Develop)以及硬烤 (Hard-bake), 其中,每一種站點有一個以上的反應室可以加工。步進機包括有 3 種站點,分別為預 對準 (Pre-alignment),曝光(Exposure),以及暫存區 (Buffer),而步進機之每一種站點 僅有一個反應室可以加工,此外於曝光前會發生更換光罩之情況。
圖2.1 傳輸整合步進機的生產系統
2.2 傳輸整合步進機之排程研究
傳輸整合步進機為半導體廠之瓶頸機台,因此傳輸整合步進機之排程問題為各個 半導體廠所重視的,但過去在傳輸整合步進機的排程問題之研究中,所探討的主要是 於滿批量之情境之排程問題,在此情境下,傳輸整合步進機不會因為傳輸不一致與埠 區限制導致產能損失,因此以往在滿批量情境假設下之文獻,皆將埠區和反應室視為 單一部機台作研究。 於傳輸整合步進機的排程問題中,可從過去的文獻中,將問題歸納成兩類,如下 整理: 1. 單機排序:視傳輸整合步進機為單一步機台作工件之排序。 2. 生產系統排序:將傳輸整合步進機和其他非瓶頸機台所視為一生產系統作生產 排序 (Ying & Lin, 2009; Wu et al., 2008; Wu et al., 2008; Wu et al., 2006; Chern & Liu, 2003) 。而近期的文獻中,Wu & Chiou (2009)所討論的為小批量在傳輸整合步進機的排程 議題,其中,作者將傳輸整合步進機之排程問題,視為一傳輸單位不一致之流程式生 產模式之排程問題。其主要著重在小批量的情境下,如何充分運用傳輸整合步進機的 產能,且假設每一個晶圓批使用的光罩皆不同,故在加工每一個晶圓批之前,都需要
更換光罩。Wu , Lu , & Chiou (2009)亦是探討小批量在單部傳輸整合步進機的排程問 題,但其納入了光罩設置的情境,並且運用家族式派工法則 (Family-based),盡量將 相同加工條件之晶圓批排序一起加工,以減少在加工時重覆更換光罩的整備時間,使 其總完工時間縮短,增進機台產出率。
2.3 整備時間之分類
在過去考量排程問題的研究中,整備時間大多忽略不計或是視為加工時間的一部 分,但隨著產品生產型態之改變,從原本的少樣多量成為現今之多樣少量模式,因此 整配時間對於排程準確性之影響越來越大。Potts & Kovalyov (2000)將研究設置時間的問題區分為許多不同的種類,其中家族 設置時間之問題被區分成順序獨立家族設置時間問題 (Sequence-Independent Family Setup Time)和順序相依家族設置時間問題 (Sequence-Dependent Family Setup Time)。然 而本研究之設置時間是發生在換光罩的時候,當加工不同的電路佈局之工件,進入傳 輸整合步進機加工,更換工件時,會產生更換光罩的設置時間之浪費,反之加工相同 的產品族會使用相同的光罩,即具有相同的設置。因此可知本研究為家族設置時間 (Family Setup Time)之問題。由於每次更換光罩所花費的設置時間皆相同,又可將問題 可歸納為順序獨立之家族設置時間之問題。
2.4 啟發式演算法 (Meta-heuristic Algorithm)
啟發式演算法為針對問題特性所發展出來的解法,這一類的方法可以在短時間內 求得近似最佳解,故當求解大規模問題時,求解之時間會因為解空間之龐大過長,因 此一般廣泛的運用啟發式演算法,如基因演算法、模擬退火法、禁忌搜尋法、螞蟻演 算法以及微塵粒法等,(Cavalieri et al. 1999;Wang and Uzsoy 2002)。
2.4.1 基因演算法
(Genetic Algorithm) 基因演算法最早由學者Holland (1975)所提出,其主要是根據達爾文進化論中『物 競天擇,適者生存』的原理,發展出的群體搜尋演算法,且Goldberg (1989)指出,基 因演算法在求解最佳化的問題上,比傳統最佳化方法具強健性,因此基於基因演算法 之特性,使其廣泛應用於工程或是科學之最佳化求解。而基因演算法的求解運作需要 以下四個要件,分別為: 染色體編碼 使用基因演算法進行問題求解前,首先需進行染色體之編碼,其主要目的在於能 藉由染色體之解碼,將問題之決策變數轉換成字串,使染色體可代表所要探討問題之 可行解。因此可知字串即為染色體,染色體字串中的每個字元稱為基因,本研究設計 概念將於本文第三章加以說明。 適合度函數 在基因演算法求解過程中,可同時存在多條染色體,然而這些染色體所形成的群 體稱之為族群,不同染色體代表不同解,於本研究中,染色體所代表的為不同之排程 方式。染色體會依據研究問題之定義,計算其適合度函數值以評估各條染色體之好壞, 即評估各種解之優劣。適合度函數值佳,其代表染色體的適應力較強,存活機率也較 高,即解較好。反之,適合度函數值,其代表染色體適應力差,存活機率低,即解較 差。故適合度函數值之計算,是為了能在基因演算法進行問題求解之過程,評定各染 色體之適應力高低,即各種解之好壞。染色體之交配與突變 交配主要為隨機選擇成對之染色體,進行部分基因交換,以增產更好的染色體。 換句話說,交配為透過母代 (Parent)染色體間之訊息交換,產生二條具有親代特性的 子代 (Child)染色體,以達到基因演算法搜尋之目的。突變 (Mutation)的功能在於增加 群體的變異度,以提供新的搜尋方向,使基因演算法避免陷入局部最佳解,因此突變 通常會與交配一同使用。
交配的方法有單點交配 (One-point crossover)、線性順序交配 (LOX: Linear Order Crossover Operator)、部分相應交配 (PMX: Partially Matched Crossover Operator)與 NABEL Operator 等方式。而突變方式有交換 (Swap)、反轉 (Inverse)及插入 (Insert) 等方法 (Wang & Zheng, 2003)。
選擇策略
選擇運算元在基因演算法中為扮演天擇之角色,其依據每一個染色體之適應值高 低來決定該染色體保留至下一代之機率,亦代表對於環境適應力高的染色體有較高的
機率會繼續演化,而常用的選擇策略有Goldberg (1989) 提出之俄羅斯輪盤法
(Roulette wheel selection 與競賽法 (Tournament selection)。
輪盤法的概念為分割輪盤,即依照染色體的適應函數值將輪盤分割為數等份,故 適應函數值越好所佔輪盤面積之比例則越大,若隨機選取輪盤上之一點,面積越大之 染色體區域越易被選取,亦即越可能存活至下一代。而競賽法的作法為從同一族群中 隨機挑選兩條或兩條以上的染色體,比較其適合度函數值,選取適合度較佳者存活至 下一代,此方法能避免過早陷入局部最佳解,卻可能較難收歛產生近似最佳解。
基因演算法的求解運作,整理如下: 步驟 一. 編碼 設計問題解的表示方式進行編碼。 步驟 二. 產生初始染色體群 以隨機排序基因格的方式產生不重複的染色體群,稱為初始母體 (Population)。 步驟 三. 評估適合度函數 評估每一個解依據其優劣程度給予適應度函數,並判斷是否滿足終止條件 時,若滿足,則其代表所獲取之解為最佳近似解;反之,進行步驟四。 步驟 四. 染色體演化 設定交配率和突變率,並應用交配運算子(Crossover)產生二個新的子代染色 體,或者應用突變運算子(Mutation)產生一個的新子代染色體。 步驟 五. 選擇策略 從母代與子代的染色體池中 (pool)篩選較佳的染色體,以保留至下一代。 步驟 六. 終止條件 當滿足終止條件時,停止演化法,其代表所獲取之解為最佳近似解。 若未滿足終止條件,則重複步驟四至步驟五,直至符合終止條件。
2.4.2 模擬退火法 (Simulated Annealing)
模擬退火法最早由 Kirkpatrick et al.(1983)用於求解組合最佳化的問題,也因而受 到重視。模擬退火法基本的概念來自於當固體加熱至結構瓦解成為液體結構,再對其 降溫過程加以控制,使得分子在變回固體結構時,重新排列成預期的穩定狀態,故模 擬退火法主要為模擬自然界的物理現象,提供尋求最佳解之一種搜尋法則。 而模擬退火法的特色在於求解的過程中,於高溫時,隨機尋找的鄰近解之機率較 高,易被接受,此時近似隨機搜尋;而低溫時,隨機搜尋的鄰近解之機率較低,不易被接受,此時近似區域搜尋,因此其為利用機率關係提供跳脫局部最佳解之機會。 模擬退火法之求解運作過程如下: 步驟 一. 設定參數:初始溫度 T0=500 及α= 0.9998。 隨機任選一組解作為初始解 S(0)。 步驟 二. 以 Metropolis 演算法判斷是否接受鄰近解當現行解: z 根據現行染色體 S(t) ,以交換(SWAP)方式產生一組新的鄰近解 S'(t) z 設定 ΔE"=C(S")-C(S),C(S) 代表現行解的總完工時間 (makespan),C(S") 代表鄰近解的總完工時間 (makespan)。若ΔE'<0,表示鄰近解較佳,則 接受鄰近解取代現行解;若ΔE'<0>0,表示鄰近解未比現行解好,則計 算一個機率 exp(-ΔE'<0/αT),作為判斷是否接受 S'當做現行解的依 據。此時產生一個介於 [0,1]的亂數 u,若 u <exp(-ΔE'/αT0),則接受鄰 近解取代成為現行解,反之則否。 z T(t+1)=αT(t)。 步驟 三. t =t +1,當 T(t+1)<1 則終止;反之,則重複步驟二。
2.4.3 禁忌搜尋法 (Tabu Search)
禁忌搜尋法是由 Glover (1989) 提出,適於處理各種最佳化及排列組合之問題, 其主要為利用可行解的名單來搜尋下一個解的方向,並以記憶方式來避免不必要之搜 尋。禁忌搜尋法主要分為兩個階段來考量,分別為短期記憶及長期記憶。短期記憶階 段為記錄搜尋過的點,以減少重複與反覆的搜尋,其目的在於加速達到區域最佳化; 而長期記憶階段為透過短期記憶,尋找適合的方向找尋最佳解,其與傳統區域搜尋法 之差別在於此方法為利用本身機制來跳脫區域最佳解 (local optimum),以達到整體最 佳解(global optimum)。步法則將現形解轉移至另一解之所有可能解之集合。禁忌名單又稱為短期記憶之記憶 體,用以記錄過去一段時間搜尋中所選移步之屬性,然而禁忌名單大小有各種研究, 當名單愈大,所需的記憶體空間越大,搜尋過程亦較為耗時,但可使陷入區域最佳解 之機率降低,一般採用Glover (1989)所提出的魔術數字 7 作為禁忌名單之大小,當禁 忌名單內成員數達到上限時,會依據破禁原則更新名單之成員,破禁原則即為解除禁 忌名單之條件,禁忌搜尋法求解運作過程如下所示: 步驟 一. 建構可行之起始解
步驟 二. 採用兩兩交換最陡下降法 (steepest descent pairwise interchange),即使用現行 解,以交換 (SWAP)產生所有可能的鄰近解,然後從這些解中的找出最佳解。 步驟 三. 找尋禁忌名單 (tabu list)中是否有與此鄰近最佳解相同的值,若無則採用此鄰 近最佳解,並將此組解放入禁忌名單並更新禁忌任期(保留次數);反之, 則僅更新禁忌任期(保留次數)且重複步驟二。 步驟 四. 檢查此鄰近解最佳解比現行最佳解好,則取代成為最佳解。 步驟 五. 當滿足終止條件時,停止演化法,其代表所獲取之解為最佳近似解;若未滿 足終止條件,則重複步驟二至步驟四,直至符合終止條件。
2.4.4 螞蟻演算法 (Ant Colony Algorithm)
螞蟻演算法由 Marco Dorigo (1992)提出,其為仿照自然界螞蟻行為所發展出來的 演算法,主要是透過許多人工螞蟻(artificial ant),模擬真實螞蟻找尋食物與螞蟻巢穴 之間最短路徑的行為。螞蟻們一開始會隨機地選擇巢穴與食物間的路徑,並且於移動 同時散發費洛蒙(pheromone),不同的螞蟻會有不同的路徑選擇,隨著螞蟻的經過次 數增加時,費洛蒙濃度亦會隨之增加;反之,濃度則降低,並隨著時間而漸漸蒸發掉, 而螞蟻在移動過程中,會以路徑上的費洛蒙濃度作為下一條行走路徑之選擇依據,當 時間越長,導引隨後的螞蟻便能循著其他螞蟻的旅行經驗找到食物,即愈來愈多的螞 蟻會選擇行走同一路徑(最短路徑)往返蟻穴到食物目的地,因此可以利用螞蟻演算
法解決最佳化問題。而從螞蟻系統(AS)發展至今,根據不同問題的特性不斷改進,
衍生出求解各種問題之演算法,如ACS、ASe、M-MMAX、PACO 等,其中 M-MMAX
由 Rajendran (2004) 提出,求解運作過程如下所示: 步驟 一. 起始解
以 NEH 產生一組起始解,並將產生的起始解之適應值設為 Zbest,Zbest代表
目前找出的最佳解。而費洛蒙路徑的上、下限則設定為τmax 及τmin,其所
代表之數學式分別為:τmax=1/((1-ρ)/Zbest),τmin=τmax/5。其中 (1-ρ)代表
蒸發率(evaporation rate);起始值對所有的 i 到 j 之τij =τmax 。
步驟 二. 螞蟻順序的產生: Tik=
∑
= k q iq 1 τ , Tik 代表工件 i 到位置 k 的累計機率,n 設為總工件數,τij 為 節點強度 (trail intensity)。 由隨機產生一個介於[0,1]之間的數字 u,當 u≦(n-4)/n,則在最佳排序中未 被選擇的前五個工件中,選擇最大Tik 的工件,或者以 pik 隨機選取, pik=(Tik/∑
l lk T ) ,l 代表前五個未排序的工件。 步驟 三. 步驟 3:局部搜尋 For i =1 to n For k=1 to n 若 [k]≠i 代表在現有的排序中,將工件 i 插到 k 的位置;而其餘位置之排 序不變,並計算其排序後的適應值,從中找出最佳解。 步驟 四. 更新費洛蒙強度: 當局部搜尋已更新三次後,則將現有的適應值設為 Zcurrent,如工件 i 放在已 產生的排序的 k 位置上,則 new ik τ =ρ× old ik τ +(1/ Zcurrent);或者τiknew=ρ× old ik τ 。 若 new ikτ >τmax,則τiknew=τmax;若 new ik
PACO 由 Rajendran (2004) 提出,求解運作過程如下所示: 步驟 一. 起始解
以 NEH 產生一組起始解,並將產生的起始解之適應值設為 Zbest,Zbest代表
目前找出的最佳解。若 ( |工件 i 在 PACO 排序中的位置-k| +1)≦n/4; 則τik = (1/Zbest);若 n/4<( |工件 i 在 PACO 排序中的位置-k| +1)≦n/2; 則τik = (1/(2 ×Zbest));或者τik = (1/(4×Zbest)) 步驟 二. 螞蟻順序的產生 Tik=
∑
= k q iq 1 τ , Tik 代表工件 i 到位置 k 的累計機率,n 設為總工件數,τij 為節點強度 (trail intensity)。由隨機產生一個介於[0,1]之間的數字 u,則選擇最 佳排序中未被選擇的第一個工件;否則若 u≦0.8,則在最佳排序中未被選擇 的前五個工件中,選擇最大 Tik的工件;或者則隨機以 pik 選取,pik= (Tik/
∑
l lk T ) ,l 代表前五個未排序的工件。 步驟 三. 局部搜尋 For i =1 to n For k=1 to n 若 [k]≠i 代表在現有的排序中,將工件 i 插到 k 的位置;而其餘位置之排 序不變,並計算其排序後的適應值,從中找出最佳解。 步驟 四. 更新費洛蒙強度 當局部搜尋已更新三次後,則將現有的適應值設為 Zcurrent,當工件數 n≦40, 設 h 為工件 i 在現有排序中的位置,以及設 |h-k|≦1 則 new ik τ =ρ× old ik τ +(1/ (diff × Zcurrent));或者τiknew=ρ× old ik τ 。當工件數 n>40,設 |h-k|≦2 則 new ik τ =ρ× old ikτ +(1/ (diff × Zcurrent);或者τiknew=ρ× old ik
τ 。 其中 diff = ( |工件 i 在 PACO 的
2.4.5 粒子群最佳化 (Particle Swarm Optimization)
粒子群最佳化由 Eberhart and Kennedy (1995) 所提出,為一種仿生物演算法,透 過迭代演化求得近似最佳解。其主要為模擬自然界鳥群飛行的行為所發展出來的演算 法,如:鳥群覓食時,除了根據自己本身的認知,飛向曾走過之較佳覓食地點,亦會 藉由群體間的合作溝通,得知其他鳥所發現之更佳覓食地點,當時間越長,所有的鳥 群都會飛往最佳之覓食地點。 在粒子群最佳化中,搜索空間內的每一個粒子 (鳥)都代表可能的最佳解,而各粒 子速度會依據三個要素作更新,分別為各粒子本身速度、與個體最佳解的距離以及與 群體最佳解的距離,再依據更新後的速度調整目前之位置,以更新每個粒子的搜尋距 離與方向。
粒子群最佳化的運作過程如下所示(Wu & Chiou(2009)): 步驟 一. 定義粒子群 將粒子群定義為”工件對應分配的位置”(“job-to-position”),粒子 i 在世代 t 令為 =( 11, 12,..., ), ijk ∈{0,1} t inn t i t i t i x x x x X 。因此當粒子 i 的工件 j 放在 k 個順序 位置則 xijk 為 1,否則等於 0。 步驟 二. 粒子飛行速度 粒子 i 在世代 t 的飛行速度定義為 V v v v vijkt R t inn t i t i t i =( 11, 12,..., ), ∈ 。 ) ( 2 2 ) ( 1 1 1 t ijk t gjk t ijk t ijk t ijk t ijk v c r p x c r p x v =ω − + − + − 每一個粒子都有一個最佳的適應值以 t ijk p 代表, ( 11, 12,..., innt ) t i t i t i p p p P = , } 1 , 0 { ∈ t ijk p 。 ( 11, 12,..., gnnt ) t g t g t g p p p P = ,ptgjk∈{0,1}代表整體的最佳解。 c1,c2 是學習因子,r1 及 r2 為 0 到 1 的隨機亂數,ω 為慣性權重值。 步驟 三. 改變的機率
步驟 四. 建構一個粒子順序 順序機率
∑
∈ = F j t ijk t ijk t i v s v s k j q ) ( ) ( ) , ( F 代表未排的基因集合 步驟 五. 解題邏輯的虛擬碼 初始參數: Np, c1, c2,w, Vmax, f, Vi = 0 產生啟始粒子群 1 i X , i = 1, . . . , Np Set 1 1 i i XP = ,B = X 11 //B is best sequence in algorithm Loop // find t i P For i = 1 to Np If )( ) ( t i t i Z P X
Z ≤ then //Z( ) evaluates objective function t i t i X P = // P is best so far it End if Next i // find t g P g = 1 For i = 1 to Np If ( ) ( t) g t i Z P X
Z ≤ then g = I //g is index of best performer in population
If Z(Pgt)≤Z(B) then
t g
P
B=
// update velocity trail For i = 1 to Np ) ( 2 2 ) ( 1 1 1 t ijk t gjk t ijk t ijk t ijk t ijk v c r p x c r p x v =ω − + − + − ] , [ Vmax Vmax vijkt ∈ − + Next i
// construct a new feasible solution For i = 1 to Np
Oi is a null sequence for particle i
For k = 1 to n position
// changes of probabilities
For j=indices of F // If #F <f then all unscheduled jobs are considered ) exp( 1 1 ) ( t ijk t ijk v v s − − = Next j // construction For j= indices of F
∑
∈ = F j t ijk t ijk t i v s v s k j q ) ( ) ( ) , ( If random number ≤qit( kj, )then job j is placed in the kth position in Oi ; go to Next_Position; Next j Next_Position Next k i t i O X = Next i
2.4.6 GA-Tabu
GA-Tabu 由 Mun et. al (2005) 應用於 PC 叢聚系統下,以求解分配系統負荷的最 佳化的問題,其主要以GA為主軸求解,如:當 GA 的最佳解保持10代,則在 GA 母體 中,取 10% 較佳解進行 Tabu 的搜尋方法, 若所獲得之解有改善則加入 GA 母體中。 Sundarambal et. al (2008) 以 GA-Tabu 求解 ATM (Asychronous transfer mode)的網路問 題,其亦以 GA為主軸求解,如: GA每次的突變求解後,接著進行 Tabu 的搜尋方法, 再加入 GA 母體中。Wu & Chiou(2009)則使 GA-Tabu 求解傳輸整合步進機之排程問 題,其主要同時結合 GA 與 Tabu 之搜尋技術。由於GA可以在整體隨機搜尋可行解, 而 Tabu 不但可以在區域 (local)鄰近解上找到更好的解,也可以在整體 (global)隨機找 尋可行解,故其求解概念為:當 GA 找到更好的解時,藉由 Tabu 的區域鄰近法來調 整,以找尋更好的解;反之,GA 一直無法找到更好的解時,藉由 Tabu的整體 (global) 方法來求解,以跳脫目前的解。
工件加工順序的染色體以 π =[ (1),... ( )]π π n 表示,此處的π( j)稱為基因,代表工
件在排序π 的 j 的位置,Cmax( )π 代表其適應值, Wu & Chiou(2009)的 GA-Tabu
其解題步驟如下整理: 步驟 一. 產生一個初始解之染色體,稱為 P(0),並設定初始狀態有 πo及 π*,πo 為 目前最好的染色體,其中π*代表 tabu_seed 的染色體。 步驟 二. 運用交配、突變以及選擇策略更新 P(t)。再藉由選擇策略從交配池中的新舊 染色體以篩選出下一代存活的染色體 P(t+1). 步驟 三. 依據πbest去更新πo ,πbest為 P(t+1) 的最佳染色體,當 πbest 優於 πo,代表 best π 是好的染色體,因此其鄰近解可以被進一步開發,故由πbest的鄰近解呼
叫程序Tabu 去創造新的染色體 πout 。在這兩個染色體 πbest 及πout,選擇
最佳的解去更新πo。若πo 在世代 t 未被更新則將其 tabu 任期 k 加 1。tabu
任期代表當世代在演進時,πo
步驟 四. 在世代 P(t+1) 中,好的解(如:第二、三、四的次佳解)可以被用以更新πo 。 即使用第二、三、四的次佳解,以 Tabu 的程序,找出其鄰近解,用以產生 更好的染色體去取代 πo。在本質上,步驟 3 及 4 為試圖當 GA 無法找到 更好解的時候,以 Tabu 求解。 步驟 五. 以 tabu_seed π*去呼叫 Tabu 程序,分開求出其鄰近解,以產生較好的染色 體去取代πo。其演進的世代與上述的 GA 個別分開求解不同,如此可以使 * π 完全跳脫 P(t+1)世代中的其他染色體。此特性可以幫助演算法跳脫 GA 陷入局部最佳法的困境。
Tabu(πin,πout) 程序是以πin的鄰近解來創造新的染色體 πout,其用以更新πo
。輸
入值 πin 有兩個可能的來源: P(t+1) 或 tabu_seed π*, π*主要功能為協助染色體之
演進,即當πin =π*,使用πout 去更新π*。綜合上述,可知Tabu 的程序為更新三個參
2.5 文獻探討結語
在過去文獻研究中,均探討滿批量之情境假設,於此情境下傳輸整合步進機並無 產能之閒置,因此皆將傳輸整合步進機視為生產系統中的一部瓶頸機台,但隨著新製 程和新產品不斷的導入,小批量的發生明顯趨增,而傳輸整合步進機在小批量的情境 下會發生產能之閒置,故在小批量情境下對傳輸整合步進機作規劃顯得相當重要。然 而有關小批量情境下求解傳輸整合步進機之排程問題,目前只有Wu & Chiou(2009) 以及Wu , Lu , & Chiou (2009)作探討。 小批量情境下求解傳輸整合步進機之排程問題可分為單機、多機、考量Job-family(不同產品間可能使用相同光罩)以及無考量Job-family 四種情境。其中 Wu & Chiou
(2009)所探討的情境為單機未考慮 Job-family 以及多機和未考慮 Job-family,其主要
透過七種演算法搭配單獨式派工法則進行求解,目標為使總完工時間最短,而Wu , Lu ,
& Chiou (2009)為研究單機且考慮 Job-family 之情境,運用基因演算法搭配家族式派工
法則進行求解,目標亦為使總完工時間最短。本研究則探討多機且考慮Job-family 之 情境,求解方法為七種演算法搭配家族式派工法則,目標為平均產出最大,因此可知 本研究在目標函數和研究方法上之獨特性,上述整理如表2.1。 表2.1 文獻整理 作者(年份) Setup Time 目標函數 決策變數 方法 Wu & Chiou (2009) No Job-family Makespan
1. Job sequence 七種演算法+Individual
● GA-I、SA-I 等 單 機 Wu , Lu , & Chiou (2009)
Job-family Makespan 1. Among family sequence
2. Within family sequence
GA+Family ● GA-F Wu & Chiou (2009) No Job-family Makespan 1. Job sequence 2. Job assignment 七種演算法+Individual ● mGA-I、mSA-I 等 多
本研究 1. Among family sequence 七種演算法+Family
分 類 情
第三章 求解多部傳輸整合步進機排序
於實際的半導體晶圓廠中,現場生管人員必須在多部機台上作出良好的工件派 工,通常現場派工的決策機台設定為2~3 台,因此研究多部機台的派工實為半導體廠 之重要議題,而本章要探討處理多部傳輸整合步進機台的派工問題,首先問題分析, 其次介紹染色體的求解設計,接著再比較各個演算法之差異。3.1 研究問題描述
在小批量的情境中,傳輸整合步進機就會因為傳輸單位不一致與埠區限制造成產 能的損失,然而過去已有人針對單台傳輸整合部進機進行研究,惟現實半導體廠的情 況中,傳輸整合部進台並非僅有一台,因此過去針對單步進機之研究並不適用於真實 情況。 在半導體廠的實際狀況中,工廠約有40 部傳輸整合步進機,每一個準備加工的晶 圓批皆需指派至機台上加工,然而每一個準備加工的晶圓批會面臨到2 至 3 部傳輸整 合步進機的決策選擇,因此對半導體來說,研究多部傳輸整合步進機的派工實為重要。 而本章問題主要假設有 n 個晶圓批需要 m 個光罩在暫並於暫存區 (Buffer),以 等待被指派工至多部傳輸整和步進機上,然而本研究將使用相同光罩之晶圓批排序在 一起,批視為同家族進行加工,因此在此情境下,工件會面臨三項重要決策,分別為 Family 需要分配給哪一個機台 (Family Assignment)、 Family 在各個機台內的排序 (Among Family Sequence) 以 及 各 Family 內 各 工 件 的 順 序 (Within Family Sequencing),故本研究提出一條染色體,能同時代表此三項決策,使解題空間變小, 以求得更好的工件排序組合。 因此可知本研究擬針對半導體廠普遍存在多部傳輸整合部進機的現實情況,且將 傳輸整合部進機視為流程式生產之模式,在小批量與傳輸單位不一致的假設情境下, 整合多部傳輸整合部進機之績效產能,基於啟發式演算法提出新的排序組合策略,比 較且探討多部傳輸整合部進機的排程規劃問題,目的在於最大化機台平均產出。3.2 問題複雜度
本研究主要探討多部傳輸整合部進機的排程規劃問題,在多部具有流程式生產問 題特性的傳輸步進機下,找出最佳的工件排序模式。在此模型中,目標函數為最大化 多部機台的平均產出,其限制式為機台內埠區的數目、反應室的加工順序以及各機台 的產能分配,利用模擬傳輸整合步進機在半導體廠的真實運作情況,求出最佳化的排 程組合,以最大化機台產能利用率。 在 n 個晶圓批需要 m 個光罩,將使用相同光罩之晶圓批排序在一起,視為同家 族,等待配至多部機台上加工的情境中,將面臨三項決策變數,分別為 Family 需要 分配給哪一個機台 (Family Assignment)、 Family 在各個機台內的排序 (Among Family Sequence)以及各 Family 內各工件的順序 (Within Family Sequencing),要透過整數規 劃求解上述三項決策的複雜度相當高,如:n 個晶圓批就有 n!個排序組合,假設現有 20 個晶圓批,所有解之排序即有 20!種組合,。除此之外,流程式生產之排程問題中,當工作站或機台數大於或等於三站(部)
時,其屬於NP hard 問題 (Gonzalez & Sahni, 1978; Cheng et al., 2000)。而本研究為排
程規劃多部具有流程式生產問題特性的傳輸整合步進機,所探討的機台數為二至三 部,由此可知,本研究問題亦屬NP hard 問題。 NP hard 問題在小規模情境下,可利用線性代數的方法求得最佳解;當問題規模 增大時,便無法於短時間內求得最佳解,由於短期生產排序工具必需能快速求解,並 且有一個近似解滿足目標即可,因此本研究將利用七種啟發式演算法進行排程問題之 求解比較。
3.3 以演算法求解多部傳輸整合步進機
此節將說明如何應用七種啟發式演算法,考量在小批量與光罩設置的情境下,求 解多部傳輸整合步進機之排程問題。啟發式演算法之求解重點,主要在於如何透過染 色體的編碼設計以及染色體的解讀,表達出問題之決策變數,並計算染色體的適合度 函數,以作為排程績效評估之依據。因此本節會介紹染色體的設計與解碼、適應性函 數的定義和七種啟發式演算法的求解過程,並配合適當的例子進行說明,本研究演算 法的規劃步驟與演算流程如圖3.1 所示。 圖3.1 研究方法流程 3.3.1 染色體設計 本研究使用一條染色體 (Chromosome)來代表工件加工的順序,染色體中的基因 (Gene)格數等同於工件個數。每格基因格存放各工件之編號,且不重覆,此外每一個 工件皆具有一個所屬光罩類別的屬性,亦可視為家族類別,當使用相同光罩之工件就 稱為同一家族 (Job Family),而此屬性並不為染色體的一部分,為工件所附屬之屬性。 本研究染色體之設計概念,舉例來說明:若有七個工件欲進行排程,其編號依序為 J1、J2、J3、J4、J5、J6、J7,而每格基因格中,存放以上七個工件之編號,且假設加工這 七個工件,所屬的家族類別有四種,其編號依序為 F1、F2、F3、F4。此情境之染色體設 計範例如圖3.2所示,可知工件的加工順序為 J1ÆJ2ÆJ4ÆJ6ÆJ3ÆJ5ÆJ7,工件家族的情 形分別為 J1所屬家族為 F2, J2所使用的 F3光罩,而 J4所使用 F1光罩,以此類推。 染色體 設計與解讀 適應函數 計算方式 七種演算法 求解過程圖3.2 染色體設計範例
3.3.2 染色體解讀
本研究為求解考量 Job family 之情境下,多部傳輸整合步進機台之最佳工件指派 問題,其會面臨三項重要決策,分別為 Family 需要分配給哪一個機台 (Family Assignment)、 Family 在各個機台內的排序 (Among Family Sequence)以及各 Family 內各工件的順序 (Within Family Sequencing),由於染色體設計的基因格數越少以及越 簡單,會使基因演算法求解效率越高,因此本研究提出一條染色體,透過特定解讀法, 將染色體之基因格之內容與排序等資訊,解讀成此三項決策,而在解讀染色體時,原 染色體之基因格內容、排序皆不會允以更動。
在過去文獻中,Wu , Lu , & Chiou (2009)在考量 Job family 之情境下,求解傳輸整
合步進機排程問題時,提出了新的染色體解讀方法,其將Family-based 的概念納入染
色體的設計解讀中,把使用相同光罩之工件排序在一起(同一家族),目的在於減少 更換光罩的次數,降低設置時間之發生,而此解讀法之績效已證實比傳統之解讀法更
佳。因此本研究亦應用 Family-based 解讀的概念於決定 Family 在各個機台內的排序
(Among Family Sequence)以及 Family 內各工件的順序 (Within Family Sequencing),再
依負荷準則決定Family 分配至哪一個機台上加工 (Family Assignment)。在染色體解讀
中,本研究分為三部份進行說明:
Among Family Sequence
順序為F2ÆF3ÆF1,代表家族類別為F2的工件會優先加工,接著加工家族為F3的工件,
最後是加工之家族為F1的工件。
圖3.3 Among Family Sequence 的解讀範例
Within Family Sequencing
確定家族(光罩)的加工順序後,接著排序出在每個家族內各工件的加工順序 (Within Family Sequencing)。而決定 Family 內 Job 的排序為依據基因之順序,如圖 3.4
所示,在同屬於F2的基因順序為1、6,代表在同屬於家族 2 之工件加工順序為 Job 1、
Job 6;同為 F3的基因順序為2、5、4,代表在家族 3 之工件加工順序為 Job 2、 Job 5、
Job 4;剩下同為 F1的基因順序為3、7,代表在家族 1 之工件加工順序為 Job 3、Job 7。
排 序 完 各 家 族 內 的 工 件 順 序 後 , 即 獲 得 一 組 新 的 染 色 體 , 其 加 工 順 序 為 J1ÆJ6ÆJ2ÆJ5ÆJ4ÆJ3ÆJ7。
圖3.4 Within Family Sequence 的解讀範例
Family Assignment
Family 分配至哪一個機台上加工(Family Assignment)主要依曝光製程之負荷決 定,原因在於曝光製程為傳輸整合步進機之瓶頸製程,故其為該機台產出之關鍵,且 以負荷準則作分配,可均分機台之產能,避免部分機台產能分配過大,使得平均產出
降低。而分配之方法為:累加工件於中曝光機的加工時間,得到總加工時間,再將總 加工時間平均分給各機台,因此可獲得一部機台平均加工時間。以家族為單位,累積 家族工件於曝光機的加工時間,當累積至最接近機台平均加工時間時,即為分割點, 取分割點前段的基因排列組合於第一台機器。再重新累積尚未分配之家族工件於曝光 機之加工時間,依照上述之原則進行分配,直到分配至最後一台機台。 以處理二部機台為例,假設有七個工件欲進行排程,所屬的家族類別有四種,隨 機產生一組染色體(工件加工順序),透過Family-based 解讀的概念決定家族在各個
機台內的排序 (Among Family Sequence)和家族內各工件的加工順序 (Within Family Sequence)後,接著進行各工件族之分配,如圖 3.5 所示,首先累積工件於曝光機的加 工時間,獲得總加工時間為 1.8 分鐘,再將其平均分配給二台機台,可知機台平均之 加工時間為 0.9 分鐘,由於家族不可分割,故以家族為單位,累積家族在曝光機之時 間,獲得家族2 之總加工時間為 0.4 分鐘,家族 2 和家族 3 之總加工時間為 1.2 分鐘, 由於1.2 分鐘較為接近機台平均之加工時間 0.9 分鐘,故作為分配之切割點,將家族 2 和家族3 之工件分配置機台一,加工順序為 J1ÆJ6ÆJ2ÆJ5ÆJ4;而剩下的家族1 則分 配置機台二,加工順序為J3ÆJ7 J3ÆJ7;處理三部機台時,亦依據相同切割原則進行分 配。 圖3.5 Family Assignment 的解讀範例
3.3.3 適合度函數 染色體會依照研究問題之定義,計算其適合度函數值(績效指標)以評估各條染 色體之好壞,故可知適合度函數為評估各種解之優劣依據,即適合度函數值可代表染 色體適應環境之能力,稱為解題品質 (solution quality)。因此當適合度函數值佳,代表 染色體的適應力較強,存活機率也較高,即解較好。 由於本研究是探討多傳輸整合步進機排程問題,決策變數為工件的派工和排序, 目標為最小化機台總完工時間,使機台平均產出最大,故染色體所代表的為不同之派 工和排程方式,而適合度函數為機台平均產出率最大,此值為望大,以二台機台為例 說明,如表3.1 所示 ,故機台一總完工時間為 T1,在此完工時間內所完成加工之晶圓 片數為 w1,因此其產出為 1 1 T w ;機台二總完工時間為 T2,在此完工時間內所完成加工 之晶圓片數為 w2,其產出為 2 2 T w ,而本研究的適合度函數數值為最大化平均機台之產 出,故計算試子為 } 2 1 { 2 2 1 1 ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + T w T w Max ,化為一般式子為 {1 } 1
∑
= X x x x T w X Max ,其中 X 代表機 台數,x 代表那一部傳輸整合步進機。 表3.2 適合度函數值之範例 總完工時間 (min) 晶圓片 (片) 產出 (片/min) 機台一 T1 w1 1 1 T w 機台二 T2 w2 2 2 T w 於本研究中,首先藉由前面章節介紹的染色體解讀法,將染色體解讀成三項重要 決策,分別為 Family 需要分配給哪一個機台 (Family Assignment)、 Family 在各個機 台內的排序 (Among Family Sequence)以及各 Family 內各工件的順序 (Within Family Sequencing)。接著依據各工件在各機台之加工時間和整備時間的資訊,計算並得知各 個機台之總完工時間。最後,再平均各機台在總完工時間內之產出作為本研究之適合分 類 機 台
度函數,代表解題品質,即評估不同之派工和排程方式的根據,本研究主要利用 Visual C++撰寫求解適合度函數的程式,求出染色體的適應值,上述求解之過程如圖 3.6 所 示。
3.3.4 基因演算法求解過程 圖 3.7 為基因演算法的求解流程,首先設計問題解的表示方式進行編碼,再以隨 機或是啟發式的方法產生初始的母體,並計算與評估母代中每一個染色體之適應函數 值,接著評估此解是否滿足終止條件,若滿足,則停止基因演算法,即代表此解為最 終近似最佳解;反之,則透過交配、突變等演化方式產生下一代 (稱為子代),依據選 擇策略從染色體池 (pool)中選取下一世代之演化個體,週而復始得進行一代一代的演 化,直至達到設定之終止條件,此解即為最終近似最佳解。 圖3.7 基因演算之求解流程 產生初始解 評估各染色體之適應函數值 滿足終止條件 染色體執行交配、突變 產生新染色體 選擇下一代演化之染色體 No Yes 產生最佳近似解
染色體交配 交配 (Crossover)是隨機在個體間相互混合與交換彼此特徵的過程,其為基因演算 法中主要的運算元。交配主要為隨機選擇成對之染色體,進行部分基因交換,以增產 更好的染色體。換句話說,交配為透過母代 (Parent)染色體間之訊息交換,產生二條 具有親代特性的子代 (Child)染色體,以達到基因演算法搜尋之目的。本研究所使用的 交配方式有三種,各個交配運算之方法,整理如下所示: 單點交配 (C1 Operator) 此法由 Reeves (1995)提出,以圖 3.8 為例,步驟說明: 步驟 一. 隨機挑選兩條母代染色體,並於此兩條母代染色體中,隨機選取一個切點, 將染色體皆分成二部分。 步驟 二. 將子代 1 繼承母代 1 切點前之基因格 (J1,J2),子代 2 繼承母代 2 兩切點前 之基因格 (J3,J5)。 步驟 三. 選取母代 2 中未和子代 1 重複之基因 (J7,J4,J3,J5,J6),由左往右依序填 入子代1 之空白基因格,完成新的子代染色體之產生 (J1,J2,J7,J4,J3,J5, J6)。 步驟 四. 選取母代 1 中未和子代 21 重複之基因 (J1,J2,J4,J6,J7),由左往右依序填 入子代2 之空白基因格,完成新的子代染色體之產生 (J3,J5,J1,J2,J4,J6, J7)。 圖3.8 染色體交配:C1 運算
線性順序交配 (LOX: linear Order Crossover Operator) ,此法由 Croce et al (1995) 提出。LOX 之染色體交配方式,以圖 3.9 為例,進行步驟式說明: 步驟 一. 隨機挑選兩條母代母代染色體,並於此兩條母代染色體中,隨機選取兩個切 點,將染色體皆分成三部分。 步驟 二. 將子代 1 繼承母代 1 兩切點內之基因格 (J2,J5),子代 2 繼承母代 2 兩切點 內之基因格 (J4,J1)。 步驟 三. 選取母代 2 中未和子代 1 重複之基因 (J7,J4,J1,J3,J6),由左往右依序填 入子代1 之空白基因格,完成新的子代染色體之產生 (J7,J4,J2,J5,J1,J3, J6)。 步驟 四. 選取母代 1 中未和子代 2 重複之基因 (J2,J5,J3,J6,J7),由左往右依序填 入子代2,完成新的子代染色體之產生 (J2,J5,J4,J1,J3,J6,J7)。 圖3.9 染色體交配:LOX 運算
部分相應交配 (PMX: Partially matched crossover Operator),此法由 Goldberg (1989) 提出,以圖3.10 為例,進行步驟式說明。 步驟 一. 隨機挑選兩條母代母代染色體,並於此兩條母代染色體中,隨機選取兩個切 點,將染色體皆分成三部分。 步驟 二. 將子代 1 繼承母代 1 兩切點內之基因格 (J2,J3,J4),子代 2 繼承母代 2 兩切 點內之基因格 (J4,J5,J3)。 步驟 三. 選取母代 2 中未和子代 1 重複之基因 (J7,J5,J1,J6),直接填入相對於子代 1 之空白基因格,若相對位置子非空白基因格之基因 (J5),則保留並依序分 配至子代1 剩餘之空缺,完成新的子代染色體之產生 (J7,J2,J3,J4,J1,J5, J6)。 步驟 四. 選取母代 1 中未和子代 2 重複之基因 (J1,J2,J6,J7),直接填入相對於子代 2 之空白基因格,若相對位置子非空白基因格之基因 (J2),則保留並依序分 配至子代2 剩餘之空缺,完成新的子代染色體之產生 (J1,J4,J5,J3,J2,J6, J7)。 圖3.10 染色體交配:PMX 運算
染色體突變
突變 (Mutation)的功能在於增加群體的變異度,以提供新的搜尋方向,使基因演 算法避免陷入局部最佳解,因此突變通常會與交配一同使用。本研究所使用的突變方 式交換為 (SWAP)以及反轉 (Inverse) (Wang & Uzsoy, 2002),交換為在母代染色體中
隨機挑選兩個不同之基因格,將其對調後可產生一條新的子代染色體,如圖3.11 所示。
反轉則在母代染色體中隨機選取兩個切點,使染色體分割成三部分,再選取中間部分
之基因格作前後順序的反轉,以產生一條新的子代染色體,如圖3.12 所示。
圖3.11 染色體突變:SWAP 運算
選擇策略 染色體進行交配與突變後,在交配池中,存有原本母代之染色體,以及交配與突 變後產生之子代染色體,這些染色體會透過染色體解讀的動作,獲取工件分配至哪一 個機台,以及工件在各別機台內的排序之資訊,再按照基因演算法物競天擇的概念, 依據各別之適合度函數值,決定那些染色體可存活並保留,以更新重組母群體。在染 色體選擇策略中,本研究採用菁英政策搭配 Goldberg (1989) 所提出的俄羅斯輪盤法
(Roulette wheel selection),其主要先保留交配池中最佳的染色體到下一代,其餘的採俄 羅斯輪盤法。 終止條件 基因演算在程式正常執行下,母群體演化過程為趨向全域最適解發展,且當演化 的世代數越長,其染色體可進化的越佳,但電腦執行所花費的時間相對的也越長,因 此需要訂定終止條件,使終止條件和最佳解之條件上能兼顧時間和效率。本研究採用 執行世代終止法則,並參考過去文獻使用的代數,已知連續1000 代最佳解皆未改變已 足夠代表此解達至收斂,故本研究假設當最佳解維持 1,000 世代都沒有被替換,或是 演化世代達到100,000 世代時即終止。
3.3.5 模擬退火法求解過程 圖3.13 為模擬退火法的求解流程,首先隨機產生一初始解,透過交換產生鄰近解, 若此解比現行解好,則接受;反之,則隨機給該鄰近解一個機率,依照此機率之大小 判斷是否接受,如不接受,則就目前的解繼續搜尋。當接受的解達到設定的數目時, 並予以降溫,再依據上一個溫度之最佳解作為起始解繼續搜尋,直到符合終止條件。 圖3.13 模擬退火法之求解流程 隨機產生一起始解 求出的鄰近解可行解 滿足終止條件 No Yes 產生最佳近似解 參數設定 計算能量差距ΔE'=C(S')-C(S) 產生一個亂數介於 [0,1] ΔE<0? No 以鄰近解取代現行解 Yes 亂數<exp(-ΔE'/αT0) Yes 計算新的溫度 No
3.5.6 禁忌搜尋法求解過程 圖3.14 為禁忌搜尋法的求解流程,首先隨機產生一初始解,透過移步產生鄰近解, 若此解比現行解好,則取代現行解且紀錄在禁忌名單中;反之,檢查此鄰近解是否已 存在禁忌名單中,若已在禁忌名單中,則必須重新搜尋,不斷的重複直到符合終止條 件,而當名單內成員數達至上限,本研究會依據先進先出的原則更新名單之成員。 隨機產生一初始解 移步求出所有的鄰近解 滿足終止條件 Yes 產生最佳近似解 參數設定 Yes 以鄰近解取代現行解 更新禁忌名單 No 搜尋禁忌名單是否有 此移步 更新禁忌任期(保留次數) 選擇鄰近最佳解進行移步 是否優於目前最佳解 取代最佳解 Yes No
3.3.7 螞蟻演算法求解過程 圖3.15 為螞蟻演算法的求解流程,首先將問題轉為路徑之問題形式,產生起始的 費洛蒙路徑及其參數,透過局部搜尋改善解,並更新費洛蒙路徑及其強度,直到達至 設定之終止條件後,便傳回最佳解。 圖3.15 螞蟻演算法之求解流程 螞蟻順序的產生 求出各螞蟻的適應函數值 滿足終止條件 No Yes 產生最佳近似解 求出起始解NEH 局部搜尋 更新費洛蒙強度
3.3.8 粒子群最佳化求解過程 圖3.16 為粒子群最佳化求解流程,首先隨機產生初始粒子群,再分別計算每個粒 子之適合度,並且將最好之個體經驗記錄下來,每個粒子會依照個體與群體最好之經 驗進行每一代的演化,直到符合終止條件為止。 圖3.16 粒子群最佳化之求解流程 隨機產生每一粒子的 初始位置及速度 評估各粒子之適應函數值 滿足終止條件 No Yes 產生最佳近似解 參數設定 更新每一個粒子的最佳值及 群體的最佳值 更新每一個粒子的位置及 速度
3.3.9 GA-Tabu 求解過程
本研究主要採用Wu & Chiou(2009)的 GA-Tabu 演算法,其求解流程如圖 3.17,
詳細的求解步驟和塔布程序於第二章已作說明。