• 沒有找到結果。

判斷缺貨產品及設定縮放比例

第五章 範例說明與數值測試

5.1 範例說明

5.1.1 判斷缺貨產品及設定縮放比例

表 5.3-基因演算法執行 1000 個世代運算之結果

項目 結果

基本週期乘數ki [4, 1, 4, 2, 8, 8, 2, 8, 4,8]

基本週期 B 11.629 (天)

運算時間 9.828 (秒)

方法三:接合點搜尋法

由於接合點搜尋法忽略產能帶來的限制,找出無限制上下的最佳乘數及 週期,所以找出的結果未必與基因演算法相同。

首先執行接合點確定法並進行排序,接著設定所有產品乘數皆為 1,從起 始 B 值為(w1)(88.247)89之處開始向下進行搜尋,隨著接合點的區 段不斷修改乘數使 ( ) ( ( 1) { ( )}) (2 ( ))

j j j j

j j w w

w w k k

     。

計算結果如下頁表 5.4,其中右邊的欄位只記錄存在於各段接合點區間內 的區域最大值和對應的基本週期,因為若接合點區間所對應的乘數計算出的 B 不存在於該區間內,則最大值必發生在端點上,但已知該端點值小於全域 最大值,故可忽略。若第一個記錄的區域最大值表示為B1

,則整搜尋範圍至

1

2 B B

 為止。

表 5.4-接合點搜尋法執行過程

由表的結果可以得知出現區域最大值只有在乘數 [4,1, 4, 2,8,8, 2,16, 4,8]

ki  時,區域最大值發生點為B1 10.659

 ,對應的區域

最大值TPPoT Bl 32055.842

  

   。而計算的範圍至4.974 10.659 5.329

 2  為止,

搜尋結果可以畫出圖 5.1 的搜尋圖。最後將求得的最佳kiB輸出,整理於 表 5.5。

圖 4.7-接合點搜尋法執行過程

表 5.5-接合點搜尋法之結果

項目 結果

基本週期乘數ki [4, 1, 4, 2, 8, 8, 2, 16, 4, 8]

基本週期 B 10.659 (天)

運算時間 0.078125 (秒)

Junction Point Search Algorithm

5.1.3 建立排程(LPT 派工法)

經過三個方法求取ki及 B 後,除了共同週期法已經給定排程 [1, 2,3, 4,5, 6, 7,8,9,10]

q 及設定TTCC,其於兩者要將ki及 B 轉換為 TVLS 模式中的排程與週期T ,故將所有產品以ki由小到大排序,其中相同ki之產品 則按實際生產時間RTPTi由大到小排序,成為派工清單,依序填入各基期,

最後將所有基期之排程整併為一條排程序列,得到 TVLS 模式中排程 q ,而 週期Tmax

 

kiB

將結果連同共同週期法整合呈現如下表 5.6,CC 表示共同週期法,GA 表 示基因演算法,JP 表示接合點搜尋法。其中 CC 排程長度為 10 個產品,週期 長度為 21.274 天;GA 排程長度為 26 個產品,週期長度 93.035 天;JP 排程 長度為 51 個產品,週期長度為 170.541 天。

獲得以上資訊之後,即可以代入求解 TVLS。

5.1.4 求解 TVLS 模式

求解 TVLS 模式時,為了呈現(1)對 T 搜尋,及(2)改善排程的效果,將分 別比較三種情況:

1. 直接使用排程及週期求解 TVLS 模式 2. 在固定排程下求解對 T 搜尋的 TVLS 模式

3. 使用鄰域搜尋法改善排程並求解對 T 搜尋的 TVLS 模式 並以同一情況下的共同週期法作為基準,比較改善之比例。

表 5.6-三種方法之排程及週期結果

方法 排程q 週期T

CC [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 21.274 GA [2, 7, 9, 3, 1, 2, 4, 5, 8, 6, 2, 7, 10, 2, 4, 2, 7, 9, 3, 1, 2, 4, 2, 7, 2, 4] 93.035 (天)

JP [2, 7, 9, 3, 6, 2, 4, 1, 5, 10, 2, 7, 8, 2, 4, 2, 7, 9, 3, 2, 4, 1, 2, 7, 2, 4, 2, 7, 9, 3, 6, 2, 4, 1, 5, 10, 2, 7, 2, 4, 2, 7, 9, 3, 2, 4, 1, 2, 7, 2, 4]

170.541(天)

情況一:直接使用排程及週期求解 TVLS 模式

在求解 TVLS 模式時,本研究使用 Matlab 的目標式最小化搜尋功能:

fmincon,在變數數量給定之下,該搜尋功能有能力處理限制式為線性或非線性、

目標式為線性或非線性的數學問題,而本研究再給定排程及週期下的 TVLS 問 題,屬於一種限制式為線性、目標式為非線性的數學問題。

在此介紹本研究使用到的 fmincon 搜尋功能,功能輸入如下:

x= fmincon(@(x) objective_fun(x,input),x0,A,B,Aeq,Beq,LB,UB,nonlcon,option)

x:功能求解之自變數,以本題目而言是生產時間與閒置時間,若排程序列 有 l 個,則自變數因有 2l 個。

@(x) objective_fun(x,input):目標式,由於本研究變數較多,建議另設一 function 檔案儲存目標式。檔名後面的括號填入目標式的輸入參數,除 了自變數 x 外,還需填入其他輸入參數,如生產率、需求率等,最後再 目標式前方用@(x)將求解自變數標示出來。

x0:自變數初始值,Matlab 將逐步修改此初始值直至將問題最佳化。

A 及 B:A 及 B 要滿足 A x ≤ B,即線性小於等於限制式,B 為右手值,若 無則設[ ]。

Aeq 及 Beq:Aeq 及 Beq 要滿足 Aeq x = Beq,即線性等於限制式,Beq 為右 手值,若無則設[ ]。

LB:自變數下界,若無則設[ ]。本研究因為生產時間與閒置時間皆必須為 大於 0 的數,故填入對應變數數量的全 0 矩陣。

UB:自變數上界,若無則設[ ]。

nonlcon:非線性限制式,本研究限制式皆為線性,故填入[ ]。

option:使用者可以對程式加入額外的指示,主要為設定程式求解時的額外 資訊 optiset 所使用,一般常見有以下種:

1. Algorithm:選擇演算法,預測為’trust-region-reflective’,還可以選 擇’active set’、’interior-point’等。本研究採用 interior-point 演算法。

2. Display:顯示求解資訊,’off’為不顯示、’iter’按遞迴數顯示、

{‘final’}只顯示運算結果、’notify’目標式未收斂時顯示運算結果。

3. MaxIter:輸入正整數,可設定最大運算遞迴數。

4. TolFun:輸入正數,可設定目標式誤差容忍值,本研究設為103。 5. TolX:輸入正數,可設定自變數誤差容忍值。

輸入方法如:option=optiset(‘Algorithm’,’active set’, ‘MaxIter’,40)。

按照以上之說明,將目標式及限制式放入對應的資訊格後,即可以用此功

表 5.9-接合點搜尋法結果代入 TVLS 模式求解(情況一)

TVLS(GA) TVLS(JP)

TVLS(CC) 0.127% 0.128%

TVLS(GA) 0.001%

註: 0.127=(VLS(GA)之目標值-TVLS(CC)之目標值)/TVLS(CC)之目標值

情況二:在固定排程下求解對 T 搜尋的 TVLS 模式

表 5.12-基因演算法結果代入 TVLS-search-T 模式求解(情況二)

但接合點搜尋法之結果代入 TVLS-search-T 時發生較意外的情況,誤差值設

表 5.13-接合點搜尋法結果代入 TVLS 模式求解(情況二) (下半)

情況三:使用鄰域搜尋法改善排程並求解對 T 搜尋的 TVLS 模式

比較結果如表 5.13 所示,NS-TVLS-search-T (CC)表示以共同週期法參數求 出之排程代入鄰域搜尋法改善排程、求解對 T 搜尋的 TVLS 模式,其他項目以

NS-TVLS-search-T (CC) [9,1,2,4,5,6,7,8,3,10] 21.258 (天)

5.2 隨機數據測試

本研究參考 Carreno(1990)所提出產品資料的範圍為基礎,並加上新增加的 變數,其範圍如表 5.14 所示,每次隨機產生若干項產品,作為數值測式的題目。

Elmaghraby(1989)將產能利用率(即 i

i

 )視為求解 ELSP 難易度的指標,通 常情況下,利用率越高,越難找到較佳之解,求解時間上也會有所增加,因此 本研究又將隨機產生資料的產能利用率限制在 0.50~0.90 之間,每 0.1 劃分一區 間,即分為下列 4 個區間:[0.50-0.60]、[0.60-0.70]、[0.70-0.80]、[0.80-0.90]。

每個區間使用 10、30 個產品數進行測試,每個區間皆測試 20 組資料,每組資 料各有,分別進行求解,最後將每個區間的資料求平均值,來比較所找到解的 品質及花費時間。

表 5.15-產品資料範圍

Mean Range

Demand Rate (units/day) 2500.000 4800.000 Production Rate (units/day) 14000.000 5000.000

Set-up Cost ($) 200.000 400.000

Set-up Time (days) 0.280 0.440

Holding costs ($/unit/year) 0.350 0.700

Price ($/unit) 2.000 1.500

Varialbe Acquirement Cost

($/unit) 0.800 0.600

Fixed Acquirement Cost

($/unit) 100.000 75.000

Recycle Parameter 0.300 0.200

Consumption Parameter 1.300 0.200

Raw material Holding costs

($/unit/year) 0.200 0.300

One year=240, 8-hours days.

5.2.1 單次數值分析

5.2.2 多次數值分析

而從總體績效來講,對 20 組資料分別基因演算法與接合點搜尋法對共同週 期法的改進百分比,取出平均、最大,及最小改進值,針對小型題目 10 品項和 中大型題目 30 品項進從測試,呈現如下表 5.17 和 5.18。可以觀察:

1. 三種取得乘數ki的方法中,確實是由 JP 方法可以取得三者最好的值。且 如同一般 ELSP 問題一般,利用率越大對於問題可找的到平均改善率越 低,理由是因為當問題利用率過高的時候,製程可以調動的彈性就越小,

排程會漸漸趨近共同週期法。

2. 經過 TVLS-search-T 和 NS-TVLS-search-T 改善,值可以再獲得些許提升。

3. 然而從提升之比例來看,在平均值下,GA 或 JP 在各種方法都僅比 CC 提升些許,提升值基本上都不達 1%。

表 5.18-產品數為 10 項下對不同利用率求解結果(與共同週期法比較)

TVLS(GA) TVLS(JP)

UF Min Avg Max Min Avg Max

0.5~0.6 0.199% 1.235% 2.222% 0.199% 1.338% 2.580%

0.6~0.7 0.317% 0.941% 1.428% 0.317% 0.958% 1.583%

0.7~0.8 0.419% 0.510% 0.671% 0.485% 0.714% 1.172%

0.8~0.9 0.024% 0.463% 1.241% 0.243% 0.685% 1.460%

TVLS-search T (GA) TVLS-search T (JP)

UF Min Avg Max Min Avg Max

0.5~0.6 0.197% 1.188% 2.211% 0.200% 1.345% 2.602%

0.6~0.7 0.316% 0.829% 1.428% 0.317% 0.959% 1.583%

0.7~0.8 0.418% 0.538% 0.672% 0.485% 0.715% 1.173%

0.8~0.9 0.080% 0.514% 1.184% 0.242% 0.684% 1.465%

NS-TVLS-search T (GA) NS-TVLS-search T (JP)

UF Min Avg Max Min Avg Max

0.5~0.6 0.199% 1.235% 2.222% 0.200% 1.345% 2.602%

0.6~0.7 0.304% 0.902% 1.428% 0.317% 0.959% 1.583%

0.7~0.8 0.369% 0.539% 0.678% 0.485% 0.714% 1.172%

0.8~0.9 0.080% 0.550% 1.121% 0.243% 0.685% 1.465%

在 30 品項的中大型題目數據測中也有相同的情況結果,隨著利用率的上升,

改善率逐漸下降,但傳統 ELSP 各種演算法與共同週期比較的改善率通常會 在中型和大型的數據測試中,或得比較好的數值,然而本研究的數據分析並 沒有因為品項增加而有顯著之改善,針對此結果進行思考,推測未考慮新品 之原料成本會使得模式無法看出生產再生產品帶來的成本優勢(生產再生產品 的取得成本可能較新品原料成本低),會讓生產再生產品後目標值的改變較不 顯著。

表 5.19-產品數為 30 項下對不同利用率求解結果(與共同週期法比較)

TVLS(GA) TVLS(JP)

UF Min Avg Max Min Avg Max

0.5~0.6 0.229% 1.323% 2.312% 1.023% 2.084% 4.693%

0.6~0.7 0.325% 1.019% 1.437% 1.089% 1.359% 1.531%

0.7~0.8 0.474% 0.832% 1.232% 0.972% 1.298% 1.652%

0.8~0.9 0.482% 0.762% 1.137% 0.988% 1.331% 1.634%

TVLS-search T (GA) TVLS-search T (JP)

UF Min Avg Max Min Avg Max

0.5~0.6 0.229% 1.328% 2.323% 1.026% 2.080% 4.693%

0.6~0.7 0.336% 1.022% 1.437% 1.093% 1.365% 1.531%

0.7~0.8 0.483% 0.873% 1.236% 0.976% 1.130% 1.643%

0.8~0.9 0.489% 0.773% 1.148% 0.736% 0.988% 1.371%

NS-TVLS-search T (GA) NS-TVLS-search T (JP)

UF Min Avg Max Min Avg Max

0.5~0.6 0.236% 1.405% 2.327% 1.031% 2.166% 4.693%

0.6~0.7 0.344% 1.067% 1.479% 1.101% 1.440% 1.748%

0.7~0.8 0.564% 0.923% 1.279% 0.632% 1.114% 1.532%

0.8~0.9 0.513% 0.814% 1.347% 0.676% 0.994% 1.334%

5.2.3 運算時間分析

在單次數值分析中的第二點提到,本研究演算法的運算時間受到排程長 度 l 的影響,本小節將以數據資料呈現此關係。以下圖 5.1 和 5.2 是 10 品項與 30 品項的運算時間散佈圖,可以看到兩者皆是在排程長度(橫軸)越大的情況 下,運算時間(縱軸)越大。

圖 5.1-10 品項運算時間散佈圖

圖 5.2-30 品項運算時間散佈圖

0.00 100.00 200.00 300.00 400.00 500.00 600.00

0 10 20 30 40 50 60 70 80

10品項運算時間

0 2000 4000 6000 8000 10000 12000

0 100 200 300 400 500 600 700 800

30品項運算時間

5.2.4 小結

從數值分析可以觀察的一些情況,以下逐點分析:

1. 本研究提出之三種方法中,以接合點演算法求出之解的品質最好,不管 在不同利用率下或是或是不同情況下都優於共同週期法與基因演算法求 出之 TVLS 目標值。且如同一般 ELSP 問題一般,利用率越大對於問題 可找的到平均改善率越低,理由是因為當問題利用率過高的時候,製程 可以調動的彈性就越小,排程會漸漸趨近共同週期法。

2. 然而從提升之比例來看,在平均值下,GA 或 JP 在各種方法都僅比 CC 提升些許,提升值基本上都不達 1%。本研究認為此現象之原因,是由 於本研究延續傳統 ELSP 問題之假設-不考慮一般產品原料成本,然而 卻有考慮再生產品原料取得成本,因為此假設故生產一般產品有絕對的 獲利性,造成即使生產了再生產品的獲利率提升也十分有限,因而無法 看出目標式在生產一般產品與再生產品在利潤上的差異。

3. 求解時間與範例題品項數並於絕對關係,而是由排程長度 l 影響求解的 變數數量,進而影響到求解時間,原因是由於 Matlab 目標式最小值求解 功能 fmincon 求解,該運算功能也是使用演算法概念求解問題,若變數 個數增加將使求解複雜度提升。

第六章 結論與建議

6.1 結論

本研究建立生產一般產品及再生產品的利潤最大化經濟批量排程問題之模 式,並透過 TVLS 最佳解搜尋演算法進行求解,該題目為一個新的問題,從文 獻中搜尋並無同時探討利潤最大化及回收商品的經濟批量排程問題。

針對求解此問題,本研究提出 TVLS 最佳解搜尋演算法。該方法分為前、

針對求解此問題,本研究提出 TVLS 最佳解搜尋演算法。該方法分為前、

相關文件