• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
70
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學

碩 士 論 文

以多目標遺傳演算法 求解測試計畫排程問題

A Multi-Objective Genetic Algorithm for Test Plan Scheduling Problem

系 所 別: 資訊工程學系碩士班 學號姓名: E09902002 張家維 指導教授: 陳建宏 博士

中華民國 101 年 8 月

(2)

摘要 摘要 摘要 摘要

在現今競爭激烈的環境中,由於科技不斷的進步且變化快速,使得消費性電 子產品的生命週期逐漸縮短,各家廠商為了加快新產品推出到市場的腳步,勢必 壓縮產品開發及縮短驗證時程,產品的驗證是一個非常重要的階段,以確保新產 品的各項功能符合設計規範,驗證包含了相容性測試、可靠度測試、訊號量測…

等相關測試。因此,如何能縮短產品驗證階段的測試時間且不影響產品品質就變 成是個很重要的最佳化問題。

在先前的測試排程研究中,大多只以時間成本為考量目標,例如最小化總完 成時間或延遲時間…等,但在驗證階段中,設備和零組件成本支出的控管也是相 當重要的目標。

本論文是基於實際電腦業界生產個人電腦主機板的驗證階段,考慮總測試時 間及測試項目所需使用的零組件成本雙目標並分別建立其數學模型,在研究中使 用多目標遺傳演算法來求解測試項目排程問題以最小化總測試時間及零組件成 本。在實驗中可看出經由多目標遺傳演算法可找出多組非支配解,此組非支配解 集合,可提供決策者多樣化的選擇,以利決策者做出最適當的決定。

關鍵字 關鍵字 關鍵字

關鍵字::::測試計畫排程測試計畫排程測試計畫排程;測試計畫排程;;整備時間;整備時間整備時間;整備時間;;多目標最佳化;多目標最佳化多目標最佳化;多目標最佳化;;遺傳演算法;遺傳演算法遺傳演算法 遺傳演算法

(3)

Abstract

In our intensely competitive world, due to the rapid progress and change in technology, the life cycle of consumer electronics is getting shorter and shorter. In order to achieve the time to the market, it is highly promised to compress the process of product development of new product and shorten the validation time of a new product. Validation is an essential process for ensuring that a new product meets all design specification. Validation aspects include compatibility testing, reliability testing, signal measurement, etc. Therefore, how to shorten validation phase without decreasing the quality of products becomes an important optimization issue.

In the field of test plan scheduling problems, many researches only focused on the time-related criteria in their problems, e.g. minimize makespan, and tardiness.

However, equipment cost during testing phase is also an important issue in test plan scheduling problems.

In this thesis, a real-world problem on personal computer motherboard testing in validation phase is considered. A mathematical model considering the total makespan of test items and the budget of equipment are proposed. A multi-objective genetic algorithm (MOGA) is applied to solve test plan scheduling problems. MOGA is used to optimize bi-objective: makespan and budget of verification required resources in the test plan scheduling. Experimental results demonstrated that our approach can obtained a set of non-dominated solutions for decision makers. Decision makers can easily choose an appropriate test plan from a set of non-dominated solutions according to particular requirements.

Keywords: Test plan scheduling; Setup time; Multi-objective optimization;

Genetic algorithm

(4)

誌謝 誌謝 誌謝 誌謝

能順利完成本論文,首先要感謝指導教授陳建宏博士,於兩年的研究期間中 給予許多啟發和專業知識的授與,並時常提供寶貴建議提點及修正我的研究方 向。在口試期間,感謝陳穎平博士及于天立博士對於論文的內容給予指導與建 議,使得本論文能更趨完善。

感謝系上師長們不僅授予專業上的教導也分享了人生經歷,對於未來工作及 人生我也有了新的體悟。另外碩士班同學們的互相扶持、幫助,激勵了我持續朝 完成學業的目標邁進。

公司的長官以及同事們相當地支持我在個人學歷上持續的提升,並且在求學 期間,給予許多鼓勵與幫助,讓我可以同時兼顧工作與學業,在此表達衷心感謝 之意。

最後感謝辛苦的家人與老婆全力支持與幫忙,將才剛滿九個月大的兒子照顧 的無微不至,使我可以無後顧之憂地全力衝刺並完成碩士班學業。

(5)

目錄 目錄 目錄 目錄

中文摘要... i

Abstract ... ii

誌謝... iii

目錄... iv

圖目錄... vii

表目錄... viii

第一章、緒論...1

1.1. 研究動機...1

1.2. 研究目的...2

1.3. 研究限制...3

1.4. 研究方法與架構...4

第二章、文獻探討...5

2.1. 工作排程...5

2.1.1. 效能評估指標...5

2.1.2. 排程問題分類...6

2.1.3. 不定整備時間排程問題...8

2.1.4. 有限資源排程問題...9

2.2 遺傳演算法...10

2.2.1. 染色體編碼... 11

2.2.2. 適應度函數...12

2.2.3. 選擇...12

2.2.4. 交配...14

2.2.5. 突變...15

2.3. 多目標最佳化...16

(6)

第三章、多目標測試計畫排程問題...18

3.1. 問題定義...18

3.2. 符號定義...18

3.3. 測試計畫數學模型...19

3.3.1. 總測試時間成本...19

3.3.2. 總使用零組件成本...20

第四章、多目標遺傳演算法...22

4.1. 染色體編碼...22

4.2. 適應度函數...23

4.3. 取代...24

4.4. 選擇...24

4.5. 交配...24

4.6. 突變...25

4.7. 多目標遺傳演算法流程...25

4.8. 範例說明...27

第五章、實驗與分析...35

5.1. 實驗測試資料...35

5.2. 實驗結果與分析...36

第六章、結論與未來方向...43

6.1. 結論...43

6.2. 未來方向...44

參考文獻...45

附錄...48

(7)

圖目錄

圖 1. 研究架構圖...4

圖 2. 整備時間類型分類...9

圖 3. 基本遺傳演算法流程圖...12

圖 4. 二元競爭法範例...14

圖 5. 輪盤法範例...15

圖 6. 單點交配範例...15

圖 7. 兩點交配範例...16

圖 8. 均勻交配範例...16

圖 9. 單點突變範例...17

圖 10. 交換突變範例...17

圖 11. 反轉突變範例 ...17

圖 12. 排程計畫表示圖...23

圖 13. GPSIFF 範例圖 ...23

圖 14. 多目標遺傳演算法流程圖...26

圖 15. 染色體 1 排程圖...28

圖 16 染色體 2 排程圖...28

圖 17 染色體 3 排程圖...28

圖 18 染色體 4 排程圖...29

圖 19 染色體 5 排程圖...29

圖 20. 多目標遺傳演算法-二元競爭式選擇 ...33

圖 21. 多目標遺傳演算法-單點交配 ...34

圖 22. 多目標遺傳演算法-單點突變 ...34

圖 23. 組合 1-非支配解演化趨勢圖 ...37

圖 24. 組合 1- 30 次實驗非支配解分佈圖 ...37

(8)

圖 26. 組合 2-30 次實驗非支配解分佈圖 ...38

圖 27. 組合 3-非支配解演化趨勢圖 ...38

圖 28. 組合 3-30 次實驗非支配解分佈圖 ...38

圖 29. 世代交替法與穩態取代法非支配解分佈圖-組合 1 ...40

圖 30. 世代交替法與穩態取代法非支配解分佈圖-組合 2 ...40

圖 31. 世代交替法與穩態取代法非支配解分佈圖-組合 3 ...40

(9)

表目錄

表 1. 效能評估指標...6

表 2. 染色體編碼...22

表 3. 染色體解碼...22

表 4. 測試項目列表...27

表 5. 測試計畫染色體編碼...28

表 6. 染色體目標函數值...31

表 7. 結合子、母代染色體目標函數值...31

表 8. 染色體適應值...32

表 9. 由穩態取代法挑出染色體族群...33

表 10. 實驗模擬數據...35

表 11. 多目標遺傳演算法參數設定 ...36

表 12. 組合 1 三組解...39

表 13. 組合 2 三組解...39

表 14. 組合 3 三組解...39

表 15. 世代交替與穩態取代比較-組合 1 ...41

表 16. 世代交替與穩態取代比較-組合 2 ...41

表 17. 世代交替與穩態取代比較-組合 3 ...41

(10)

第一章 第一章 第一章

第一章、 、 、 、緒論 緒論 緒論 緒論

1.1. 研究動機 研究動機 研究動機 研究動機

「時間就是金錢」這句話特別適用於電子消費性產品產業上,由於電子產品發展 快速、競爭激烈且生命週期短,各家公司莫不想搶在其他間公司前頭研發出新產品。

開發新電子產品大致可分成三個階段:研發、驗證、量產,其中驗證指的是在產品生 產前需經過一段長時間且嚴格的測試,確保產品的設計有符合設計規範,驗證又可分 為三 個 階 段 : EVT(Engineering Verification Test: 工 程 驗 證 測 試 ) 、 DVT(Design Verification Test:設計驗證測試)和 PVT(Production Verification Test:生產驗證測試)。

EVT 是在產品開發初期的驗證階段,當製作出樣品後,檢驗產品的可行性及設計方 案的驗證,DVT 階段為驗證產品是否有正確地符合設計規格,PVT 階段為量產前的 驗證,除了驗證產品各項功能、組裝外,更著重於生產時的良率。

本研究是以電腦業界實際生產個人電腦主機板時的驗證階段為例,為了驗證主機 板是否能符合設計時要求的規格,會經由許多項的測試項目分配到多張的主機板上分 別驗證主機板的各項功能。每項測試項目需要搭配不同的零組件及規格才能進行測 試,例如 CPU、記憶體、顯示卡…等,而在現實的環境中,公司會考量資本投入及 獲利關係,所以零組件的資源不可能無限量提供,資源有限的排程問題已被證明是 NP-complete 問題[1],如何能利用有限的資源安排出最有效率的測試排程就變得相當 地重要,不但可以縮短測試時間,更可節省公司不必要的支出。此外在驗證主機板的

功能時,安裝零組件時需要有整備時間來進行作業,另外測試項目在不同的作業系統

上安排測試時,重新安裝不同的作業系統需要額外花費一些時間,所以如能在安排測 試計畫排程的時候,考慮作業系統因素,就可節省安裝作業系統所花費的時間。

(11)

1.2. 研究目的 研究目的 研究目的 研究目的

由上述可知驗證階段所花費的測試時間是相當地冗長,如何有效的安排測試排程 以縮短總測試時間及節省測試資源成本是本研究探討的重點。排程的目的在於運用有 限的資源,將測試項目適當地分配到機台上測試,以達成所設定的目標,例如總測試 時間或總延遲時間最小化…等,但由於排程問題要找出真正的最佳解需要花費大量的 時間及運算,且排程問題已被證明為 NP-complete 的問題,所以近期的排程研究大多 使用萬用型啟發式演算法(Meta-Heuristic algorithm) 來規劃出一套有效率的評估系 統,例如粒子群演算法(Particle swarm optimization)、禁忌演算法(Tabu search)、螞蟻 演算法(Ant colony optimization)、模擬退火法(Simulated annealing)、遺傳演算法 (Genetic algorithm)…等,萬用啟發式演算法概念大都是從自然界中觀察而得到啟發,

萬用啟發式演算法的優點包含結構簡單、可在短時間內找出近似最佳解。

本研究利用多目標遺傳演算法來求解測試計畫總測試時間及總零組件成本雙目 標最佳化問題,遺傳演算法是模擬生物演化所發展的演算法,生物經由交配、突變產 生後代,而環境的變遷則會使得適應力較差的物種被淘汰,經過長期的演化後,存活 下來的物種就表示能完全適應環境的改變。多目標遺傳演算法是透過選擇、交配、突 變不斷產生新的解,利用 GPSIFF(Generalized Pareto-based Scale Independent Fitness Function)做為適應度函數評估每個解的優劣,適應度較差的解有機會被淘汰,適應度 較佳的解則可繼續進行下一次的演化,經過多代的演進後,最後可得到多組非支配 解,其解集合不僅縮短總測試時間外,並可減少零組件資源的花費,提供決策者根據 不同的需求或喜好,挑選出適合的排程。

(12)

1.3. 研究限制 研究限制 研究限制 研究限制

本研究是根據電腦業界實際主機板於驗證階段的測試計畫排程,其限制條件包含:

1. 機台類型為相同平行機台:

為了縮短驗證主機板的時間,會利用多台機台分別驗證主機板的各項功能,而每台

機台使用都是同一批次生產的主機板,所以每台機台的效能都相同。

2. 每台機台同時間只能安排一項測試項目:

如果在同一機台上同時間安排多項測試,可能會導致當機或測試數據不準確等問 題,所以限制同一台機台同時間只能測一項測試項目。

3. 機台數量、測試項目數量、每一項測試項目的測試時間為已知且固定:

測試機台數量、測試項目數量、每一項測試內容、使用的零組件及測試時間會由 Project leader 提供。

4. 測試項目的測試時間不可被切割:

每項測試項目需要完整的測試時間,不可中斷,假如中斷會導致測試結果不正確。

5. 測試項目安排到機台上前,安裝零組件需要有整備時間:

每項測試項目開始測試前都需要前置時間來安裝指定的零組件。

6. 整備時間的長短和該測試項目及前項測試項目的作業系統有關:

假如前一項測試項目的作業系統與正要測試項目的作業系統不相同,需要額外增加 整備時間,反之則不需要,所以整備時間的長短是變動的。

7. 測試順序有優先權,優先權分為高、中、低:

測試項目依照重要性和急迫性將其優先權為三種等級,優先權高的測試項目要先安 排測試,接下來分別為中優先權及低優先權。

8. 機台在測試期間當機的機率可忽略:

為了簡化排程的複雜度,所以在此不考慮機台當機而導致中斷測試的情形。

(13)

9. 記憶體不可混插:

在此研究中,零組件包含 CPU、記憶體和顯示卡,其中記憶體只考慮單插一條或 複數條、同容量記憶體達到雙通道效能。

1.4. 研究方法 研究方法 研究方法 研究方法與架構 與架構 與架構 與架構

本論文利用多目標遺傳演算法來求解測試計畫排於相同平行機台排程總測試時 間及總零組件成本最小化問題,研究架構如圖 1,首先探討研究方向與動機,之後文 獻探討,接著定義多目標測試計畫排程問題,並說明多目標遺傳演算法的方法與應 用,接著進行實驗及數據分析,最後為結論及未來的研究方向。

圖 1. 研究架構圖 確定研究方向

相關文獻探討

多目標測試計畫 排程問題定義

多目標遺傳演算法

實例驗證與結果分析

結論與未來方向

(14)

第二章 第二章 第二章

第二章、 、 、 、文獻探討 文獻探討 文獻探討 文獻探討

本研究所探討的測試計畫排程問題中,包含有限測試資源、不定的整備時間、同 時最佳化總測試時間及零組件成本…等特性,所以本章文獻探討分為三節,第一節說 明工作排程常見的排程效能評估指標、分類方式以及考慮整備時間及有限資源的工作 排程問題回顧,第二節說明何謂多目標最佳化,第三節是遺傳演算法的介紹。

2.1. 工作 工作 工作 工作排程 排程 排程 排程

工作排程是一種資源分配的決策行為,將有限的資源適當地分配,使工件能順利 的分配到機台上執行,以最佳化特定的目標,例如最小化總完工時間、總延遲時間…

等,良好的排程不但可在最短的時間內完成所有任務,更可以減少資源的花費、提高

公司獲利。

2.1.1. 效能評估指標 效能評估指標 效能評估指標 效能評估指標

效能評估指標是用來衡量排程規畫系統的優劣,表 1 為 Chen[2]整理常見的最佳 化效能評估指標,首先介紹排程符號定義:

w

j: 工件 j 的權重值(weight)

d

j: 工件 j 的到期日(Due date)

r

j: 工件 j 的開始日(Release date)

C

j: 工件 j 的完成日(Complete date)

F

j: 工件 j 的流程時間(Flow time),表示為 Fj=Cj-rj

L

j: 工件 j 交期的差異時間(Lateness time),表示為 Lj=Cj-dj

(15)

E

j: 工件 j 提早完成時間(Earliness time),表示為 Ej=max{dj-Cj, 0}

T

j: 工件 j 延遲時間(Tardiness time),表示為 Tj=max{Cj-dj, 0}

U

j: 工件 j 是否有延遲交期(Unit penalty),表示為 Uj=1 if Cj>dj and Uj=0 otherwise

評估指標 數學式

總時程(Makespan or Max. complete time)

C

max=maxj

C

j

最大延遲時間(Max. lateness)

L

max=maxj

L

j

最大提前完工時間(Max. earliness)

E

max=maxj

E

j 總(加權)完工時間(Total (weight) complete time) Σj(wj)Cj

總(加權)流程時間(Total (weight) flow time) Σj(wj)Fj

總(加權)提前時間(Total (weight) earliness) Σj(wj)Ej 總(加權)延遲時間(Total (weight) tardiness) Σj(wj)Tj 總(加權)延遲工件數(Total (weight) late jobs) Σj(wj)Uj

表 1. 效能評估指標

2.1.2. 排 排 排 排程 程 程 程問題 問題 問題 問題分類 分類 分類 分類

工作排程問題可依照不同的特性和類型加以分類,常見的分類方式[3]有以下三 種:

A. 依照工作到達時間可分為兩種類型 1. 靜態(Static):

所有工作在準備派工前就已經到達。

2. 動態(Dynamic):

所有工作是陸續到達生產系統,並非全部一次就定位。

(16)

B. 依照工作的作業時間可分為兩種類型 1. 確定性(Deterministic):

所有工作的作業時間是固定且已知。

2. 隨機性(Stochastic):

工作的作業時間是不固定的,且呈現某一機率分配。

C. 依照機台數量可分為以下四種類型:

1. 單機排程(Single machine scheduling)

只有單一台機台,任何工作都交由此機台執行。

2. 平行機台排程(Parallel machines scheduling)

有一台以上的機台,機台彼此間是各自獨立,可同時間執行不同工作,任一項工作 都可被分配到任一台機台上執行。

3. 流程型工廠排程(Flow shop scheduling)

每一項工作必需依相同的順序經過每台機台上處理。

4. 零工式排程(Job shop scheduling)

每件工作有固定的順序流程,但不同的工作之間的流程並不一定相同。

其中平行機台排程是指有 n 個工作要分配到 m 台機台上執行,按照機台的能力,

平行機台排程可分為三種類型:

1. 相同平行機台(Identical parallel machine)

每一件工作的處理時間都是固定且已知,每台機台的效能都相同,工作的處理時間 不會因為分配到不同機台而改變。

2. 等比率平行機台(Uniform parallel machine)

同一件工作在任一台機台上處理的時間會因機台設置的參數不同而改變。

3. 非等效平行機台(Unrelated parallel machine)

同一件工作在任一台機台上處理的時間均不相等,且不同的工作與各機台間的組合

(17)

也有所差異。

相同平行機台在先前的研究[4]已被證明是 NP-complete 的問題,包含 Tozawa et al.[5]、Cheng et al.[6]…等學者分別利用遺傳演算法來解決相同平行機台上總完工時間 和交期提前/延遲最小化問題,Chaudhry et al.[7]利用遺傳演算法在相同平行機台上,

求解最小化總完工時間及工人分配問題,並與 Hu[8]提出的演算法比較,在 100 個問 題的實驗中,遺傳演算法找到最佳解的數目大於 Hu 提出的演算法,Armentano 和 Yamashita[9]利用禁忌演算法於相同平行機台求出最小平均延遲時間,Park 和 Kim[10]

在相同平行機台中考慮工件開始時間及到期日,目標為最小化存貨成本,研究中使用 模擬退火法和禁忌演算法並加以比較,發現搜尋解的速度及結果模擬退火法都較禁忌 演算法佳。

依上述的排程問題分類,本研究所探討的測試計畫排程屬於靜態、確定性、相同 平行機台,此外測試計畫排程問題更包含整備時間不固定及可使用的資源有限特性,

接下來為回顧整備時間不固定及資源有限的排程問題研究。

2.1.3. 不定整備時間排程問題 不定整備時間排程問題 不定整備時間排程問題 不定整備時間排程問題

整備時間指的是工件被安排到機台上執行前,額外所需花費的前置時間,例如機 台的設定、清潔、檢查或是更換料件、製具…等,先前的研究大多忽略整備時間或是 將整備時間包含在工件的執行時間裡計算,但在實務上,整備時間是不可被忽略,而 且整備時間的長短常會因為工件的執行順序而有所增減,Allahverdi et al.[11]整理將近 200 份關於整備時間及不同機台數量環境的相關研究,並依整備時間的特性歸納為四 種類型,如圖 2:

1. 非批次處理且順序獨立整備時間(Sequence-independent non-batch setups) 2. 非批次處理且順序相依整備時間(Sequence-dependent non-batch setups) 3. 批次處理且順序獨立整備時間(Sequence-independent batch setups)

(18)

4. 批次處理且順序相依整備時間(Sequence-dependent batch setups)

順序獨立整備時間是指每一項工件的整備時間都是固定的,順序相依整備時間是 指各工件所需的整備時間,是由正在生產的工件與後一項工件共同決定,批次處理是 指工件類型為靜態,可將相同類型的工件組成同一個批次,只有在換不同批次的工件 時才需整備時間,非批次處理是工件屬於動態類型,工件的到達時間是隨機的或是工 件有優先權,以致工件無法組成同一個批次處理。Panwalkar[12]統計約有 70%生產排 程的整備時間是屬於順序相依類型。

圖 2. 整備時間類型分類

Marsh 和 Montgomery[13]於等效及非等效平行機台,提出一個演算法來求得最小 化順序相依轉換時間,Tan 和 Narasimhan[14]利用模擬退火法來求解單機環境最小化 總加權延遲時間,Maroto 和 Ruiz[15]使用遺傳演算法在流程型工廠求解順序相依整備 時間問題,Rubin[16]在單一機台及順序相依整備時間的情形,以遺傳演算法解決最 小總延遲時間問題,並與分枝定界法進行比較,在適中的延遲時間及寬鬆的交期時間 條件下,遺傳演算法較優秀,但在寬鬆的延遲時間及嚴格的交期日間條件下,分枝定 界法則優於遺傳演算法。

2.1.4. 有限資源 有限資源 有限資源 有限資源排程 排程 排程 排程問題 問題 問題 問題

在有限資源的問題中,當資源發生不足時,工作勢必得延後處理,直到取得工作

Batch Non-Batch

Sequence Independent

Sequence Independent Sequence

Dependent

Sequence Dependent

(19)

所需的資源才能開始處理,導致總完工時間或總延遲時間的增加。Hong et al.[17]利用 遺傳演算法在具有模具限制的相等平行機台的環境中,藉由染色體的修補,解決總完 工時間最小化的排程問題,葉子嘉[18]針對相等平行機台在整備資源有限的狀況下,

利用遺傳演算法、模擬退火化和禁忌搜尋法來求解並比較演算法求解品質與效率,

Li[19]研究在單機台環境及總完工時間的限制下,使得最小化資源消耗,練俊原[20]

結合 COMBINE 演算法及 Modified-L 演算法的優點並提出 CL 演算法來解決有資源限 制的平行機台製程排程問題,並與 Gupta 和 Ruiz-Torres 所提出的 LISTFIT[21]演算法 比較,實驗發現不論求解的品質或時間都較 LISTFIT 佳,Chen[22]利用分枝界限法於 平行機台及資源配置排程問題,求解總完工時間及延遲工作數最小化,Chu 和 Beasley[23]於一般化指派問題(GAP, Generalized Assignment Problem)及分配有限資源 環境,利用遺傳演算法與 MTH、 FJBB…等 9 種演算法相比,雖然遺傳演算法求解 速度略輸,但是求解品質優於其它演算法。

由以上工作排程問題的分類方式,可將本研究的測試計畫排程問題分類成為靜 態、確定性、非批次處理且順序相依整備時間、有限資源於相同平行機台排程問題。

本研究以多目標遺傳演算法來求解測試計畫排程問題,接下來兩節分別說明多目標最 佳化以及介紹遺傳演算法。

2.2. 遺傳演算法 遺傳演算法 遺傳演算法 遺傳演算法

遺傳演算法(Genetic algorithms)由 John Holland 於 1975 年[26]所提出,其概念類 似於達爾文進化論的物競天擇、適者生存的想法,模擬自然界生物利用交配、突變繁 衍下一代,並交由自然環境來淘汰較差的個體,而較佳的生物則能生存下來。遺傳演 算法是由電腦隨機產生一組初始族群,經由選擇、交配、突變等演化過程,並評估所 有染色體的適應值,保留適應值較佳的染色體再進行下一次的演化,直到終止條件成 立或找到最佳解為止。

(20)

遺傳演算法有不需要推導複雜數學式、可跳脫局部最佳解、不局限使用在某一特 定領域、可尋找近似最佳解…等優點,並且具有多點搜尋的特性,因此己為各方學者 廣泛應用,基本遺傳演算法(Simple genetic algorithm)的演化流程如圖 3:

圖 3. 基本遺傳演算法流程圖

2.2.1. 染色體編碼 染色體編碼 染色體編碼 染色體編碼

遺傳演算法裡的族群(population)是由一群染色體(chromosome)所組成,每一組染 色體都是可能的解,而染色體是由一連串的字串或數字的基因(gene)組成,染色體的 編碼(Encoding)方式是依據問題來決定,常見的編碼方式有:

1. 二元編碼法(Binary Encoding):

二元編碼法是最常用的編碼方式,染色體的每一個基因是由 0 或 1 來表示,例如應 用在背包問題(Knapsack problem),假設有 1 個背包及 5 個物品,物品 1、3、5 放

N

Y

產生初始族群

計算染色體適應值

是否已達成 終止條件

選擇

結束

交配

突變

(21)

入背包中,染色體可表示成 10101 2. 排列編碼法(Permutation Encoding):

排列編碼法的染色體裡基因由一連串數字或字串所組成,染色體裡的數字或字串是 唯一且不可重複,例如應用在旅行者問題(Travelling salesman problem ),假設商人 要依序走過 6 個城市,其順序為 5、3、2、4、6、1,染色體則表示成 532461。

3. 整數編碼法(Value Encoding):

染色體裡的基因由一連串數字或字串所組成,染色體裡的數字或字串可重複,例如 應用於裝箱問題(Bin packing problem)中,假設有 5 個物品與 3 個箱子,每個物品要 分別放到 3 個箱子中,染色體長度為物品數量 5,基因裡的值為機台編號,染色體 可表示成 23123。

2.2.2. 適應度函數 適應度函數 適應度函數 適應度函數

適應度函數(Fitness function)用於評估每一條染色體適應環境的能力,進而輔助決 定是否染色體可繼續存活、繁殖到下一代,適應度函數的設計是依照不同的問題而 定,例如旅行者問題中,適應度函數可為行走的總距離。

2.2.3. 選擇 選擇 選擇 選擇

選擇(Selection)的目的在於決定染色體是否可以存活到交配階段,適應度越高的 染色體有越高的機率進行下一階段的交配,反之,適應度較差的染色體則有較大的機 會被淘汰,常見的選擇方法有:

1. 二元競爭選擇法(Binary tournament selection)

在族群中隨機選擇兩個染色體,比較兩個染色體的適應度後,保留適應度高的染色

(22)

體到交配池,而適應度低的染色體則淘汰,圖 4 為二元競爭法的範例,例如選出染 色體 A 與染色體 B 互相比較,結果因為染色體 B 的適應值較染色體 A 佳,所以染 色體 B 進入交配池。

染色體染色體染色體

染色體 適應度適應度適應度適應度 染色體染色體染色體染色體 適應度適應度適應度適應度

A 5 B 6

B 6 C 10

C 10 D 8

D 8 C 10

E 3 A 5

母代族群 子代族群 圖 4. 二元競爭法範例

2. 輪盤法(Roulette wheel selection)

圖 5 為輪盤法範例,將族群中所有染色體的適應度加總後表示成輪盤的總面積,每 個染色體分配在輪盤上的面積依照適應度高低做調整,接著隨機產生一個亂數值,

就像射飛鏢一樣射向輪盤,選中的染色體就進行到下一階段的交配,此方法可使適 應度較佳的染色體有較大的機率被選取,但因為用隨機的方式挑選,適應值較差的 染色體也有機會被選取。

染色體 染色體染色體

染色體 適應度適應度 適應度適應度

A 5

B 10 C 16

D 3

E 7

F 12

圖 5. 輪盤法範例

(23)

2.2.4. 交配 交配 交配 交配

交配(Crossover)是將所有要交配的染色體選擇出來放到交配池後,隨機挑選兩組 母代染色體互換基因,進而產生兩組新的子代染色體。交配的目的是期望母代染色體 經由互相交換有用的基因後,產生適應值更佳的子代染色體。交配率(Crossover rate) 用來決定兩條染色體是否要進行交配,交配率越高會越容易產生新的染色體,搜尋解 的速度也會增快,但更容易破壞原有優秀的染色體,交配率過低則會導致搜尋解的速 度停滯不前。常用的交配方法有:

1. 單點交配(Single-point crossover)

在染色體中,隨機選取一個交配點,然後互相交換基因,如圖 6。

Parent1

1 0 1 0 1 0

Parent2

1 1 0 0 1 1

Offspring1

1 0 1 0 1 1

Offspring2

1 1 0 0 1 0

圖 6. 單點交配範例 2. 兩點交配(Two-point crossover)

在染色體中,隨機選取兩個交配點,然後互相交換基因,如圖 7。

Parent1

1 0 1 0 1 0

Parent2

1 1 0 0 1 1

Offspring1

1 0 0 0 1 0

Offspring2

1 1 1 0 1 1

圖 7. 兩點交配範例 交配點

交配點

(24)

3. 均勻交配(Uniform crossover)

均勻交配是 Syswerdy[27]提出,產生一組與染色體長度的二進制亂數的字罩 (Mask),假如是 1,兩條染色體基因裡的值就互相交換,如果是 0 則不交換,如圖 8。

Parent1

1 0 1 0 1 0

Parent2

1 1 0 0 1 1

Mask

0 1 0 1 0 1

Offspring1

1 1 1 0 1 1

Offspring2

1 0 0 0 1 0

圖 8. 均勻交配範例

2.2.5. 突變 突變 突變 突變

突變(Mutation)是隨機選取一條染色體,並改變染色體中某一個基因裡的值,突 變的意義是增加搜尋解的方向,避免在搜尋解的時候中落入局部最佳解或太早收斂。

突變率(Mutation rate)越高,會增加搜尋的廣度,但也可能造成太過隨機地搜尋解,使 得搜尋解的過程不易收斂,常使用的突變方式有:

1. 單點突變(One point mutation)

突變中最常使用的方法為單點突變,其方法為在染色體中隨機找一個突變點,將基 因裡的值改變,如圖 9。

突變前染色體 1 2

3

3 2 1

突變後染色體 1 2

1

3 2 1

圖 9. 單點突變範例範例 突變基因

(25)

2. 交換突變(Swap mutation)

隨機選擇染色體的兩個位置,將兩個基因的值互相交換,交換突變常應用於順序編 碼型的染色體,如圖 10。

突變前染色體 1

2

3

3

2 1

突變後染色體 1

3

3

2

2 1

圖 10. 交換突變範例範例

3. 反轉突變(Inversion mutation)

隨機選擇染色體的兩個位置,將兩個基因範圍內的值互相交換,如圖 11。

突變前染色體 1

4 3 5 2

1

突變後染色體 1

2 5 3 4

1

圖 11. 反轉突變範例範例

2.3. 多目標最佳化 多目標最佳化 多目標最佳化 多目標最佳化

多目標最佳化指的是某一個決策性類型問題中包含兩個或兩個以上的目標,而且 目標間存在著互斥的特性,以本研究問題為例,在進行驗證測試時,如要縮短測試時 間,則使用資源的預算就要增加,如要減少使用資源的預算,則要延長測試時間。多 目標最佳化常見的方法有兩種:

1. 權重法:

權重法是將多目標中的每一個子目標給予權重值 w,將所有子目標乘上權重值後加 突變基因

突變基因

(26)

總轉換成單一目標函數,其數學式可表示成:

F(x)=w

1

f

1(x)+w2

f

2(x) +…+wn

f

n(x)

Hajela 和 Lin[24]提出 WBGA(Weight-Based Genetic Algorithm)來解決多目標最佳化 問題,WBGA 是利用遺傳演算法和將每個子目標乘上固定權重值並加總,做為每 個染色體的適應度函數,Ishibuchi[25]則是利用遺傳演算法及隨機給予子目標權重 值,求解流線型機台中總完工時間最小化及總延遲時間最小化多目標問題。權重 法有著簡單明瞭、計算效率佳等優點,但缺點是不容易在非凸形(non convex)的柏 拉圖前緣(Pareto front)找到柏拉圖最佳解(Pareto optimal),而且由設計者給予目標 固定權重值的方式,容易受到設計者的主觀意識所影響,而忽略其它非劣解。

2. Pareto 最佳解(Pareto-optimal solution):

在多目標中的最佳解通常不會只有一個,而是有一群解的集合,在這解集合中,並 無優劣之分,可依照決策者的喜好來做選擇,此組解則稱為 Pareto optimal solution。

對於每一個目標都可用目標函數來表示,且每個目標函式包含多個目標參數,表示 成如下:

Min./Max. F(x)={f

1(x),f2(x),f3(x),…fn(x)}

其中 x 稱為決策向量(Decision vector),而 F(x)為目標向量(Objective vector),以 Pareto optimal 理論來看,假設有 n 個目標,且目標的期望值是望大,而目標中包含了兩 組決策向量 x1和 x2,表示式為:

i:fi(x1) ≥fi(x2)^∃j:fj(x1) >fj(x2)

稱為 x1支配(dominate)x2,表示成 x1≻

x

2,而另一種情況如下:

i:fi(x1) ≥fi(x2)

則 x1弱支配(weakly dominate)x2,表示成 x1≽

x

2

(27)

第三章 第三章 第三章

第三章、 、 、 、多目標測試 多目標測試 多目標測試 多目標測試計畫 計畫 計畫 計畫排程問題 排程問題 排程問題 排程問題

本研究所探討的測試計畫是屬於相同平行機台排程,目標為總測試時間及總使用 零組件成本最佳化,其中總測試時間包含測試項目的執行時間及不定整備時間,本章 將詳細說明測試計畫排程問題定義和使用符號,並且建立總測試時間及總零組件成本 的數學式。

3.1. 問題定義 問題定義 問題定義 問題定義

測試計畫排程是假設有 n 個測試項目要被分配到 m 台相同平行機台上進行測 試,其己知條件說明如下:

1. 機台數量和測試項目的數量、測試時間為已知且固定,每台機台的能力都相同。

2. 測試項目需要搭配所要求的零組件才可進行測試。

3. 測試項目可被分配到任一台機台上,每個測試項目只能被安排測試一次。

4. 測試項目的測試時間不可被分割。

5. 測試項目的優先權分為 3 個等級,依序分為 High, Medium 和 Low,每組優先權的 測試項目需全部測完才能進行下一組優先權。

6. 測試項目要被安排到機台上測試前,需要有整備時間來安裝零組件及作業系統至 機台上,安裝零組件的時間為固定 1 小時,但如果前一項測試項目與該測試項目為 不同作業系統,需增加安裝作業系統的時間 1 小時,總整備時間增長為 2 小時,

反之則可以省下安裝作業系統的時間。

(28)

3.2. 符號 符號 符號 符號定義 定義 定義 定義

本研究所使用的符號說明如下:

I: 機台數量 J: 測試項目數量

p: 測試項目的優先權,優先權分為 High, Medium, Low 三個等級 M

i: 第 i 台機台,i=1,…,I

Tj:第 j 個測試項目的測試時間

TS

l,j: 從第 l 測試項目換到第 j 測試項目的整備時間

C

jp: 第 j 個測試項目測試完成時間,其優先權為 p,j=1,…,J

C

h: 所有高優先權測試項目完成時間

C

m: 所有中優先權測試項目完成時間

C

l: 所有低優先權測試項目完成時間

C

max: 總測試時間

Q

CPU,k: 第 k 種規格 CPU 的數量

QMEM,k: 第 k 種規格的記憶體數量

Q

GC,k: 第 k 個規格的顯示卡數量

RP

CPU,k: 購買第 k 種規格 CPU 的價格

RP

MEM,k: 購買第 k 種規格記憶體的價格

RP

GC,k: 購買第 k 種規格顯示卡的價格

RP

max: 總花費金額

(29)

3.3. 測試計 測試計 測試計 測試計畫 畫 畫 畫數學模型 數學模型 數學模型 數學模型

3.3.1. 總測試時間成本 總測試時間成本 總測試時間成本 總測試時間成本

總測試時間指的是將所有測試項目安排到機台上後,最後一項測試項目測試完成 的時間,總測試時間最小化可提高機台的使用率、降低機台的閒置時間,由於測試項 目分為低、中、高三種優先權,所以需各別計算三種優先權的測試完成時間再加總,

總測試時間成本的數學式表示如下:

第 j 個工作的完成時間:

C

j=Cj-1 + TSj-1,j + Tj, for j=1,…,J (1)

高優先權測試項目完成時間:

C

h

= Max (C

1p, C2p, …, C Jp), p∈High (2) 中優先權測試項目完成時間:

C

m

= Max (C

1p, C2p, …, C Jp), p∈Medium (3) 低優先權測試項目完成時間:

C

l

= Max (C

1p, C2p, …, C Jp), p∈Low (4) 總測試時間:

C

max

=Cl+Cm+Ch

(5)

f

1

= Minimize (C

max) (6)

數學式 1 為第 j 個測試項目完成的時間,其計算方式為前一個工作完成的時間加 上整備時間及該測試項目的測試時間,式 2、3、4 分別為高、中、低優先權測試項目 完成時間,在該優先權所有測試項目中,取出最後完成測試項目的完成時間即為該優 先權的完成時間,式 5 為總測試時間,將三個優先權測試完成時間相加,式 6 是本研

(30)

究的第 1 個目標函式,最小化總測試時間。

3.3.2. 總使用零組件成本 總使用零組件成本 總使用零組件成本 總使用零組件成本

每一項測試項目需要搭配不同的零組件來驗證主機板的各項功能,零組件包含 CPU、記憶體和顯示卡三項物品,目標為使總使用零組件成本最小化、減少公司多餘 花費支出,總使用零組件金額成本數學式表示成:

RP

max

= (Q

CPU,k * RPCPU,k)

+( Q

MEM,k * RPMEM,k) + (QGC,k * RPGC,k) (7)

f

2

= Minimize (RP

max) (8)

數學式 7 是將各種規格的 CPU、記憶體和顯示卡乘上該規格的價格後相加,即 為總使用零組件成本,式 8 為本研究的第 2 個目標函式,最小化總使用零組件成本。

(31)

第四章 第四章 第四章

第四章、 、 、 、多目標 多目標 多目標 多目標遺傳演算法 遺傳演算法 遺傳演算法 遺傳演算法

有許多學者利用遺傳演算法解決多目標最佳化問題[28, 29],本研究運用多目標 遺傳演算法來最佳化總測試時間及總使用零組件成本雙目標,本章詳細描述多目標遺 傳算法於解決測試計畫排程的步驟,最後一節利用一個例子解說演算法流程。

4.1. 染色體編碼 染色體編碼 染色體編碼 染色體編碼

應用在本研究上的染色體編碼方式為整數編碼法(Value encoding),染色體裡的基 因的值由數字所組成,染色體裡的數字可重複,染色體長度為測試項目的數量,每一 個基因代表一項測試項目,而基因裡存放的值為整數型態的數字,代表機台的編號。

以表 2 為例,假設有 8 項測試項目、3 台機台,染色體的長度為 8,每個基因代表測 試項目,依序為測試 1, 2, 3…, 8,基因裡的值代表機台編號,如表 3 所示,接著分配 測項 3, 8 到機台 1,測項 2, 4, 6 分配到機台 2,測項 1, 5, 7 則安排到機台 3 測示,而 機台上的排程順序則依照測試項目的順序,如圖 12 所示,機台 1 的排程順序為測項 3,8,機台 2 的排程為測項 2,4,6,機台 3 的排程為測項 1,5,7。

染色體編碼 染色體編碼 染色體編碼

染色體編碼 3 2 1 2 3 2 3 1 表 2. 染色體編碼

表 3. 染色體解碼 測試項目

測試項目

測試項目測試項目 1 2 3 4 5 6 7 8 機台編號

機台編號

機台編號機台編號 3 2 1 2 3 2 3 1

(32)

圖 12. 排程計畫表示圖

4.2. 適應度函數 適應度函數 適應度函數 適應度函數

本研究使用的適應度函數是採用基於 Pareto 理論基礎,所設計出的評估函數 GPSIFF (Generalized Pareto-base Scale-Independent Fitness Function)[30],其數學表示 式為:

F(x)=p-q+c

其中 x 為目前被評估的個體,p 表示 x 能支配其他個體的數目,q 表示 x 被其他 個體支配的數目,c 為一正整數,用來確保求出的適應值為正整數,通常 c 的值設為 與族群大小相同。

圖 13. GPSIFF 範例圖 Machine1

Machine2

Machine3 Item1 Item7 Item6 Item2 Item4

Item3 Item8

Item5

Time

(33)

以圖 13 為例,假設目標值 F1、F2皆為越小越好,在圖中總共有 11 個解的個體 (c=11),以 A 點來說,被 A 點所支配的有 2 個個體(p=2),而支配 A 點的有 3 個個體 (q=3),所以 A 點的適應度值為 2-3+11=10。此外,在圖 13 中白色圓點表示其解為非 支配解(Non-dominated solution),黑色圓點為支配解(Dominated solution)。

4.3. 取代 取代 取代 取代

取代(Replacement)是指將母代族群替換成子代族群的方式,一般常見的取代方法 為世代交替法(Generational replacement),此方法是將交配、突變後產生的子代族群全 部取 代 母 代 族 群 進 行 下 一 次 的 演 化 。 本 研 究 是 使 用 穩 態 取 代 法 (Steady state replacement)[31],穩態取代法是先將新產生的子代族群和母代族群混合之後再依照適 應度的高低進行排序,接著保留與族群數相同的較佳染色體組成新一代的族群,到下

一階段的選擇。穩態取代法可使母代中適應度較佳的染色體,保留到下一次演化,不

會因為交配或突變的過程中被破壞而消失。

4.4. 選擇 選擇 選擇 選擇

本研究是使用二元競爭法(Binary tournament selection) 做為選擇的方式。二元競 爭法是在族群中隨機選擇兩條染色體做比較,適應度較佳的染色體進入交配階段,二 元競爭法可以保留適應度較佳的染色體,並讓較差的染色體逐漸地被淘汰。

4.5. 交配 交配 交配 交配

交配是將母代族群中兩條染色體的基因互相交換,期望產生適應值更佳的子代染

(34)

色體,本研究使用單點交配方式做為交配方法。首先從母代族群隨機選取兩條染色 體,再隨機從染色體中選取一交配點,並且互相交換測試項目被分配的機台編號。

4.6. 突變 突變 突變 突變

突變是將母代族群染色體中的基因裡的值做改變,目的是希望增加搜尋最佳解的 廣度,本研究是利用單點突變做為突變方法。其做法先隨機選取族群內的染色體,並 選取一突變點,將基因裡的機台編號做改變。

4.7. 多目標 多目標 多目標 多目標遺傳演算法 遺傳演算法 遺傳演算法 遺傳演算法流程 流程 流程 流程

多目標遺傳演算法的流程解釋如下,圖 14 為多目標遺傳演算法流程圖:

1. 利用亂數方式隨機產生染色體並組成初始族群,染色體的長度為測試項目數量,

每個基因裡的值代表機台編號。

2. 將每條染色體解碼轉換成測試計畫排程。

3. 計算每條染色體的兩個目標函數值,包含總測試時間與總使用零組件成本。

4. 將子、母代染色體結合。

5. 利用 GPSIFF 計算每條染色體的適應值。

6. 使用穩態取代法挑選出適應度佳染色體組成新族群。

7. 保留母代染色體族群,做為下一代演化時,與子代染色體族群進行比較。

8. 利用二元競爭法做為第二階段選擇的方式,挑選出適應度佳的染色體。

9. 根據交配率 Pc決定兩條染色體是否要進行單點交配。

10. 根據突變率 Pm決定染色體的每個基因是否要進行單點突變。

11. 判斷是否已得到最佳解或已完成演化代數,如果是,則結束演化,否則跳回步驟 2 繼續進行演化。

(35)

12. 族群中,排選出所有非支配解集合,將非支配解染色體解碼並轉換成測試計畫排 程。

圖 14. 多目標遺傳演算法流程圖 產生初始族群

計算染色體的目 標函數

利用 GPSIFF 計算 染色體的適應值

穩態取代法

二元競爭式選擇

單點交配

單點突變

結束 是否已達終

止條件?

Y

N

將子、母代染色 體結合

(36)

4.8. 範例說明 範例說明 範例說明 範例說明

測項 編號

測試

時間 優先權 作業系統 CPU 規 格(數量)

記憶體規 格(數量)

顯示卡規格 (數量) 1 4 High Windows XP CPU1(1) 1G(2) GC1(1) 2 2 High Windows 7 CPU2(1) 4G(2) GC1(1) 3 4 High. Windows XP CPU1(1) 1G(4) GC2(1) 4 4 High. Windows XP CPU2(1) 2G(2) GC2(1) 5 1 Med. Windows 7 CPU1(1) 4G(1) GC1(1) 6 2 Med. Windows 7 CPU2(1) 4G(2) GC2(1) 7 4 Med. Windows XP CPU1(1) 2G(1) GC1(1) 8 1 Med. Windows 7 CPU1(1) 2G(4) GC2(1) 9 2 Low Windows 7 CPU2(1) 2G(2) GC1(1) 10 4 Low Windows XP CPU2(1) 1G(4) GC2(1) 11 2 Low Windows 7 CPU1(1) 1G(1) GC2(1) 12 4 Low Windows XP CPU2(1) 4G(2) GC1(1)

表 4. 測試項目列表

此節利用一個簡單的測試計畫排程範例說明多目標遺傳演算法的運行過程,假設 有 12 項測試項目分配到 3 台機台上進行測試,表 4 為測試項目的測試時間、測項優 先權、所需作業系統及零組件。

Step1. 初始族群及染色體編碼

利用隨機的方式產生初始族群,在此假設初始族群為 5 條染色體,染色體長度 為測試項目,基因的值代表機台編號,表 5 為染色體 1~5 編碼。

(37)

表 5. 測試計畫染色體編碼

Step2. 染色體解碼

將染色體 1~5 的編碼轉換成測試計畫排程,圖 15~19 為染色體 1~5 轉換成測 試計畫排程圖。

High Medium Low

Machine1 S 1 S 6 S 8 S 9 S 12

Machine2 S 3 S 4 S 7 S 11

Machine3 S 2 S 5 S 10

圖 15. 染色體 1 排程圖

High Medium Low

Machine1 S 3 S 8

Machine2 S 2 S 6 S 7 S 9 S 11 S 12

Machine3 S 1 S 4 S 5 S 10

圖 16. 染色體 2 排程圖

High Medium Low

Machine1 S 7 S 10

Machine2 S 1 S 3 S 6 S 9

Machine3 S 2 S 4 S 5 S 8 S 11 S 12

圖 17. 染色體 3 排程圖

測試項目 1 2 3 4 5 6 7 8 9 10 11 12 染色體 1 1 3 2 2 3 1 2 1 1 3 2 1 染色體 2 3 2 1 3 3 2 2 1 2 3 2 2 染色體 3 2 3 2 3 3 2 1 3 2 1 3 3 染色體 4 2 2 2 3 3 2 2 2 2 3 2 1 染色體 5 3 2 3 1 1 2 2 3 1 1 1 2

(38)

High Medium Low

Machine1 S 12

Machine2 S 1 S 2 S 3 S 6 S 7 S 8 S 9 S 11

Machine3 S 3 S 5 S 10

圖 18. 染色體 4 排程圖

High Medium Low

Machine1 S 4 S 5 S 9 S 10 S 11

Machine2 S 2 S 6 S 7 S 12

Machine3 S 1 S 3 S 8

圖 19. 染色體 5 排程圖

Step3. 計算染色體的目標函數

依照染色體 1~5 的測試計畫排程分別計算總測試時間成本及總使用零組件成 本,假設 CPU1 為 2000 元、CPU2 為 2500 元,1G 記憶體一條 800 元、2G 記 憶體一條 1200、4G 記憶體一條 1600 元,顯示卡 GC1 為 1600、顯示卡 GC2 為 2400 元。

總測試時間成本:

以染色體 1 為例,優先權 High 的測試項目包含測試項目 1、2、3、4,一開始 的測試項目都需要加上安裝作業系統的時間,所以測試項目 1、2、3 的整備時 間皆為 2(C1=2+4=6,C2=2+2=4,C3=2+4=6),測項 4 的作業系統與測項 3 相同,

所以整備時間為 1(C4=6+1+4=11),高優先權測試時間 Ch=max{C1, C2, C3,

C

4}=11。優先權 Medium 的測試項目包含測項 5、6、7、8,測項 5、6、7 的 整備時間皆為 2(C5=2+1=3,C6=2+2=4,C7=2+4=6),測項 8 的作業系統與測項 6 相同,所以整備時間等於 1(C8=4+1+1=6),中優先權測試時間 Cm=max{C5, C6,

C

7, C8}=6。優先權 Low 的測試項目為 9、10、11、12,測項 9、10、11 的整備

(39)

時間為 2(C9=2+2=4,C10=2+4=6,C11=2+2=4),測項 12 與測項 9 的作業系統不 同,所以整備時間為 2(C12=4+2+4=10),低優先權測試時間 Cl=max{C9, C10, C11,

C

12}=10,總測試時間成本 Cmax=Ch+Cm+Cl=11+6+10=27。

總零組件成本:

以染色體 1 為例,在高優先權中,由於測項 1、3 同時間都需要使用 CPU1 和 1G 記憶體;測項 1、2 同時需使用顯示卡 GC1,所以 CPU1 數量為 2、CPU2 數 量為 1、1G 記憶體數量為 6、2G 記憶體數量為 2、4G 記憶體數量為 2、顯示 卡 GC1 數量為 2、GC2 數量為 1。在中優先權裡,測項 5、7 同時需要使用 CPU1;

測項 7、8 同時需要 CPU2;測項 5、6 同時需要 4G 記憶體;測項 7、8 同時需要 2G 記憶體;測項 5、6 同時需要 GC1 顯示卡,所以 CPU1 數量為 2、CPU2 數量 為 2、2G 記憶體數量為 5、4G 記憶量數量為 3、GC1 顯示卡為 2、GC2 顯示 卡為 1。在低優先權中,測項 9、10 同時需要 CPU2,雖然測項 10、12 同時也 需要 CPU2,但是測項 9 已經釋放一顆 CPU2,所以測項 12 可以接在測項 9 之 後使用相同的 CPU2;測項 10、11 同時需要 1G 記憶體及 GC2 顯示卡,所以 CPU1 需要 1 個、CPU2 需要 2 個、記憶體 1G 需要 5 條、2G 需要 2 條、4G 需要 2 條、GC1 顯示卡 1 個、GC2 顯示卡 2 個。綜合高、中、低優先權測試項目所 需最多零組件數量,QCPU,1=2、QCPU,2=2、QMEM,1G=6、QMEM,2G=5、QMEM,4G=3、

Q

GC,1=2、QGC,2=2,總零組件成本 RPmax=(RP CPU,1 * Q CPU,1)+ (RP CPU,2 * Q CPU,2)+

(RPMEM,1G * QMEM,1G)+ (RPMEM,2G * QMEM,2G)+ (RPMEM,4G * QMEM,4G)+ (RPGC,1 *

Q

GC,1)+ (RPGC,2 * QGC,2)= (2000*2)+ (2500*2)+ (800*6)+ (1200*5)+ (1600*3)+

(1600*2) +(2400*2)=32600。

依照染色體 1 的計算範例,表 6 為染色體 1~5 的總測試時間及總零組件成本雙 目標函數值。

(40)

染色體 總測試時間(f1) 總零組件成本(f2)

1 27 32600

2 34 31400

3 27 31800

4 36 31100

5 35 29800

表 6. 染色體目標函數值

Step4. 子、母代染色體結合

除了上述染色體 1~5 外,另外假設還有另一組母代染色體,表 7 所列包含子、

母代染色體。

染色體 總測試時間(f1) 總零組件成本(f2)

子代族群

1 27 32600

2 34 31400

3 27 31800

4 36 31100

5 35 29800

母代族群

6 30 30600

7 27 33100

8 28 29800

9 49 21300

10 26 32600

表 7. 結合子、母代染色體目標函數值

(41)

Step5. 計算適應度函數

在 此 利 用 GPSIFF 方 式 計 算 每 條 染 色 體 的 適 應 度 函 數 , 數 學 式 表 示 為

F(x)=p-q+c。以染色體 1 為例,將子、母代族群結合後,總染色體個數為

10(c=10),其中染色體 1 支配染色體 7(p=1),但被染色體 3、10 所支配(q=2),

所以染色體的適應值為 1-2+10=9,表 8 列出所有染色體的適應值。另外在此 可發現染色體 3、8、9、10 為非支配解集合(q=0)。

染色體

p q c

適應值

1 1 2 10 9

2 0 2 10 8

3 2 0 10 12

4 0 3 10 7

5 0 1 10 9

6 2 1 10 11

7 0 3 10 7

8 4 0 10 14

9 0 0 10 10

10 2 0 10 12

表 8. 染色體適應值

Step6. 穩態取代法

本研究使用穩態取代法取出優秀的染色體,穩態法是將 Step5 所有的染色體按 照適應值排序後,挑出與初始族群數目相同且適應值較佳染色體,所以在此會 依序挑出染色體 8、3、10、6、9,如表 9。此外在利用穩態取代法選擇出優秀 的染色體族群後,會將此族群複製一份保留住,不參與接下來的二元競爭式選

擇、交配與突變,避免有優秀的染色體經由交配與突變的過程中被破壞,此族

(42)

群會成為母代族群並保留到下一次演化,在 Step4 與新子代族群結合。

染色體 (原編號) 適應值

1(8) 14

2(3) 12

3(10) 12

4(6) 11

5(9) 10

表 9. 經由穩態取代法挑出的染色體族群

Step7. 二元競爭式選擇

選擇的方法為使用二元競爭式選擇,二元競爭式選擇是從族群中隨機選出兩條 染色體互相比較適應值,適應值較佳的染色體則會被選擇進交配池中。假設隨 機挑出染色體 1、4 來進行比較,染色體 1 的適應值較染色體 4 佳,所以染色 體 1 可進入交配池,等待下一階段的交配。圖 20 為應用二元競爭式選擇後的 新族群,可看出染色體 5 因為適應值較低,所以在此階段被淘汰。

染色體 適應值

染色體 (原編號)

適應值

1 14 1(1) 14

2 12 2(2) 12

3 12 3(1) 14

4 11 4(3) 12

5 10 5(4) 11

圖 20. 多目標遺傳演算法-二元競爭式選擇

(43)

Step8. 單點交配

單點交配是在兩位染色體中,隨機選擇一交配點,並互相交換基因值。圖 21 為假設染色體 1、5 進行單點交配。

染色體 1 3 2 2 1 1 1 2 1 1 3 2 1 染色體 5 2 3 2 3 2 3 2 1 2 3 1 1

新染色體 1 3 2 2 1 1 1 2 1

2 3 1 1

新染色體 2 2 3 2 3 2 3 2 1

1 3 2 1

圖 21. 多目標遺傳演算法-單點交配

交配完成後的新染色體 1 的總測試時間變為 28、總零組件成本變為 29800,新 染色體 2 的總測試時間為 30、總零組件成本為 30600。

Step9. 單點突變

單點突變為在染色體中隨機選取一個基因,並將基因裡的值改變,圖 22 為假 設將原染色體 2 進行單點突變。

染色體 2 2 3 2 3 3 2 1 3 2 1 3 3

新染色體 1 2 3

1

3 3 2 1 3 2 1 3 3 圖 22. 多目標遺傳演算法-單點突變

經過單點突變後,新染色體的總測試時間變為 26、總零組件成本變為 32600。

交配點

突變點

(44)

第 第 第

第五 五 五 五章 章 章 章、 、 、 、實驗與分析 實驗與分析 實驗與分析 實驗與分析

為驗證上一章所介紹多目標遺傳演算法的效能,本章將演算法撰寫成程式並實際 套用到測試計畫排程問題中,實驗的測試項目與機台數量組合分為三組數據進行測 試。

5.1. 實驗 實驗 實驗 實驗測試資料 測試資料 測試資料 測試資料

本研究的測試資料是模擬電腦業界生產主機板後的驗證階段,在驗證階段中透過 不同的測試項目來驗證主機板的各項功能,每項測試項目的內容包含有測試所需 CPU、記憶體和顯示卡的規格與數量、作業系統環境和測試時間,如果前一項與後一 項測試項目的作業系統相同的話,整備時間(TSj-1,j)需要 1 小時,反之,如前一項與後 一項測試項目的作業系統不相同,則要增加安裝作業系統的時間,整備時間增長為 2 小時。

機台數(M) 測試項目(J) 組合組合組合

組合 1 10 100

組合 組合組合

組合 2 20 200

組合組合組合

組合 3 30 300

表 10. 實驗模擬數據

本實驗設計三種不同的機台數目和測試項目數量組合,每一種組合各執行 30 次 的獨立實驗,三種機台、測試項目數量組合如表 10 所示。

(45)

實驗中假設的測試項目所需使用資源為 CPU、記憶體和顯示卡,CPU 的規格分 為兩款,價格分別為 2000(RPCPU1)、2500(RPCPU2)元,記憶體的規格分三款,價格為 800(RPMEM1)、1200(RPMEM2)、1600(RPMEM3)元,顯 示卡 的規 格分 為兩款 ,價 格為 1600(RPGC1)、2400(RPGC2)元,每一項測試項目所需使用的 CPU 和顯示卡數量為一個,

記憶體使用數量分為 1、2、4 條三種。

多目標遺傳演算法的參數設定如表 11:

族群大小 族群大小族群大小

族群大小 100

基因長度 基因長度基因長度

基因長度 依測試項目數量而定

演化代數 演化代數演化代數

演化代數 100

交配率 交配率交配率

交配率 Pc 0.8

突變率 突變率突變率

突變率 Pm 0.01

表 11. 多目標遺傳演算法參數設定

5.2. 實驗結果與分析 實驗結果與分析 實驗結果與分析 實驗結果與分析

利用上述的多目標遺傳演算法及參數設定,第一個實驗為分別計算三種組合的總 測試時間及總使用零組件成本,並找出所有非支配解,實驗結果將每種組合分別利用 兩張二維圖來表示,一張圖描繪出第 1、20、40、60、80、100 次演化所產生的非支 配解集合,另一張圖為綜合測 30 次實驗後所產生的非支配解集合。

(46)

圖 23. 組合 1-非支配解演化趨勢圖

圖 24. 組合 1- 30 次實驗非支配解分佈圖

圖 25. 組合 2-非支配解演化趨勢圖

(47)

圖 26. 組合 2-30 次實驗非支配解分佈圖

圖 27. 組合 3-非支配解演化趨勢圖

圖 28. 組合 3-30 次實驗非支配解分佈圖

(48)

圖 23、圖 25、圖 27 是以多目標遺傳演算法分別三種組合的實驗中,搜尋非支配 解的演化情形,可看出非支配解演化的趨勢是往總測試時間及總零組件成本最小化的 方向進行收斂。

總測試時間(f1) 總零組件成本(f2)

總測試時間優先 188 77700

隨機選取任一解 226 72100

總零組件成本優先 257 71300

表 12. 組合 1 三組解

總測試時間(f1) 總零組件成本(f2)

總測試時間優先 231 139700

隨機選取任一解 244 130000

總零組件成本優先 277 124400

表 13. 組合 2 三組解

總測試時間(f1) 總零組件成本(f2)

總測試時間優先 247 200800

隨機選取任一解 263 193600

總零組件成本優先 324 186400

表 14. 組合 3 三組解

圖 24、圖 26、圖 28 分別為三種組合綜合 30 次實驗所得非支配解集合分佈情形,

並在表 12、表 13、表 14 中列出三種組合的三個非支配解,分別是總測試時間優先、

隨機選出一組非支配解和總使用零組件成本優先等三組解,而其對應的測試計畫排程

(49)

圖詳列在附錄中。

第二個實驗為比較世代交替多目標遺傳演算法及穩態取代多目標遺傳演算法,圖 29、30、31 為綜合 30 次實驗非支配解集合比較圖。

圖 29. 世代交替法與穩態取代法非支配解分佈圖-組合 1

圖 30. 世代交替法與穩態取代法非支配解分佈圖-組合 2

圖 31. 世代交替法與穩態取代法非支配解分佈圖-組合 3

Generational

Steady-state

Generational

Steady-state

Generational

Steady-state

(50)

表 15、16、17 為綜合 30 次實驗,使用世代交替多目標遺傳演算法與本研究使用 的穩態取代多目標遺傳演算法針對總測試時間優先和總使用零組件優先挑出的非支 配解比較表:

總測試時間優先 總使用零組件優先

總測試時間(f1) 總零組件成本(f2) 總測試時間(f1) 總零組件成本(f2)

世代交替 196 88600 252 71600

穩態取代 188 77700 257 71300

穩態取代優於

世代交替(%) 4% 12% -1% 0.4%

表 15. 世代交替與穩態取代比較-組合 1

總測試時間優先 總使用零組件優先

總測試時間(f1) 總零組件成本(f2) 總測試時間(f1) 總零組件成本(f2)

世代交替 236 154200 337 130100

穩態取代 231 139700 277 124400

穩態取代優於

世代交替(%) 2% 9% 17% 4%

表 16. 世代交替與穩態取代比較-組合 2

總測試時間優先 總使用零組件優先

總測試時間(f1) 總零組件成本(f2) 總測試時間(f1) 總零組件成本(f2)

世代交替 257 232100 329 193300

穩態取代 247 200800 324 186400

穩態取代優於

世代交替(%) 3% 13% 2% 3%

表 17. 世代交替與穩態取代比較-組合 3

(51)

表 15 顯示在組合 1 的實驗中,在總測試時間優先裡,穩態取代多目標遺傳演算 法優於世代交替多目標遺傳演算法約 4%,在總使用零組件優先,穩態取代較世代交 替佳約 0.4%。表 16 表示在組合 2 的實驗裡,在總測試時間優先,穩態取代優於世代 交替約 2%,在總使用零組件優先,穩態取代較世代交替佳約 4%。表 17 表示在組合 3 的實驗中,於在總測試時間優先和總使用零組件優先,穩態取代優於世代交替約 3%。

由上述的實驗結果可發現使用多目標遺傳演算法,在演化過程中,非支配解能有 效地朝總測試時間及總使用零組件成本最小化的方向收斂,直到設定的演化代數才停 止,並且可得到包含不同目標值方向的非支配解集合,可提供給決策者做選擇。

從圖 29、30、31 和表 15、16、17 看出使用穩態取代的多目標遺傳演算法於三種 組合的實驗中,不管是總測試時間優先或是總使用零組件優先的目標都較使用世代交 替的多目標遺傳演算法還要好,表示穩態取代多目標遺傳演算法在有限演化代數裡,

搜尋解的收斂速度是優於世代交替取代法。

但在圖 28 組合 3 的綜合 30 次非支配解分佈圖中發現,穩態取代多目標遺傳演算 法找到的非支配解大部份都落在中間區域,這表示本方法在組合 3 的實驗得到多組類 似的非支配解,解集合太過於集中、分佈性不佳,這是未來需要改善的地方。

(52)

第六章 第六章 第六章

第六章、 、 、 、 結論 結論 結論 結論與未來方向 與未來方向 與未來方向 與未來方向

6.1. 結論 結論 結論 結論

由於大部份的工作排程問題在先前的研究已經被證明為 NP-complete 問題,如用 傳統的演算法求解排程相關問題,當工作和機台的數量越多時,效率則會變差,近期 的研究大多利用啟發式演算法來解決排程問題。本研究是以多目標遺傳演算法最佳化 測試計畫排程問題,其目標為總測試時間和總使用零組件成本最小化,遺傳演算法具 有多點平行搜尋、跳脫局部最佳解…等特點,應用在多目標的問題中,結合穩態取代 法,可保留每一代族群裡適應度較佳的染色體,不會因為交配和突變的過程而被破 壞。本研究利用 GPSIFF 計算染色體的適應值,GPSIFF 是基於 Pareto 理論來計算每 組解的適應值,其優點為可分辨所有解的優劣程度並區分出支配解及非支配解,且不 用由設計者給予每個子目標權重值,也就不會受到設計者主觀的偏好,而導致搜尋解 的方向受到影響。在三組數據組合的實驗中,染色體族群中的非支配解集合,隨著演 化的過程,持續朝總測試時間和總使用零組件成本最小化的方向進行收斂,直到完成 演化代數才停止。在本研究也比較使用穩態取代法和世代交替法於多目標遺傳演算 法,在三組數據組合中可看出,在有限的演化代數中,無論是總測試時間優先或總使 用零組件優先的取向上,穩態取代法搜尋解的收斂速度都較世代交替法佳。另外,從 綜合 30 次的非支配解分佈情形可看出在組合 1、2 非支配解分佈較均勻,但在組合 3 中所得非支配解雖然多,但是分佈情形較差,大多都集中在中間區域,這是未來需要 再加以改進的地方。

利用多目標遺傳演算法所求得的一組非支配解集合,可使決策者依照不同喜好和

需求,從此解集合中可依據總零組件成本優先或總測試時間優先,挑選出適當的測試

計畫排程。

參考文獻

相關文件

y A stochastic process is a collection of "similar" random variables ordered over time.. variables ordered

"internet Access by Mobile in a Smart

[r]

浩南挑了一張班遊的照片,想自行加工美化送給老師。他將長 14 公 分、寬 12 公分的照片周圍貼上等寬的花邊膠帶。若裝飾後中間剩下 的照片區塊面積為 80 平方公分,試問花邊膠帶的寬度為

(2004), "Waiting Strategies for the Dynamic Pickup and Delivery Problem with Time Window", Transportation Research Part B, Vol. Odoni (1995),"Stochastic and Dynamic

Sharma (1999), “An Intergrated Machine Vision Based System for Solving the Non-Covex Cutting Stock Problem Using Genetic Algorithms,” Journal of Manufacturing Systems, Vol..

Umezaki,B., Tamaki and Takahashi,S., "Automatic Stress Analysis of Photoelastic Experiment by Use of Image Processing", Experimental Techniques, Vol.30 , P22-27,

Shinar, "Effects of an in-vehicle collision avoidance warning system on short- and long-term driving performance," Human Factors, vol. Abdel-Aty Mohamed, “Investigating