第五章、 結論與未來研究方向
5.2 未來研究方向
綜觀本文所建立之主生產排程系統與可允諾機制,均可達到預期之成 效,但尚有部分議題可供探討,彙整如下:
1. TFT-LCD 組立廠實際生產環境存在產品種類更多、訂單的來到時間不 確定與物料的存貨狀況等問題,比本文所探討之環境更為複雜,均予 以考量將使得模式無法在有效時間求出最佳解。因此可朝向啟發式演 算法之方向做更深入的探討。
2. 本文所規劃之範圍為單一組立廠之情境,未來可探討多廠區之環境,
針對多廠區間物料與產能可互相支援之情境作一協調。以對顧客之訂 單做出最好的回應。
151
參考文獻
[1] American Production and Inventory Control Society. APICS Dictionary, 1998.
[2] Ball, M.O., C.Y. Chen, Z.Y. Zhao, 2004, “Available to Promise,”
Handbook of Quantitative Supply Chain Analysis: Modeling in the E-Business Era, Simchi-Levi, D., D. Wu, and M. Shen, eds., Kluwer Academic Publishers, Boston, p.p. 446-483.
[3] Chen, Y.C., Z.Y. Zhao, M.O. Ball, 2002, “A model for batch advanced available-to-promise,” Production and Operations Management, 11(4), p.p. 424-440.
[4] Hall, N.G., C.N. Potts, 2004, “Rescheduling for new orders,” Operation Research 52(3), p.p. 440-453
[5] Jung, H., I. Song, B. Jeong, 2003, “An optimized ATP (Available To Promise) system for make-to-order company in supply chain environment,”
International Journal of Industrial Engineering 10(4).
[6] Jeong, B., S.B. Sim, H.S. Jeong, S.W. Kim, 2002, “An available to promise system for TFT-LCD manufacturing in supply chain,” Computers
& Industrial Engineering 43, p.p. 191-212.
[7] Kilger, C., Meyr, H., 2008, “Demand Fulfilment and ATP, ” in H. Stadtler and C. Kilger (Ed.), SupplyChain Management and Advanced Planning - Concepts, Models, Software and Case Studies,Springer, Berlin, p.p.
181-198
[8] Lin, N.P., L.Krajewski, 1992, “A model for master production schedule in uncertain environments,” Decision science 23(4), p.p. 839-861
[9] Meyr, H., 2009, “Customer segmentation, allocation planning and order promising in make-to-stock production,” OR spectrum 31, 229-256
[10] Sahin, F., E.P.Robinson, L.L. Gao, 2008, “Master production schedulimg
policy and rolling schedules in a two-stage make-to-order supply chain,”
International Journal Production Economics 115, p.p. 528-541
[11] Sridharan, V. W.L. Berry,V. Udayabhanu, 1997, “Freezing the master production schedule under rolling planning horizons,” Management Science 33(9), p.p. 1137-1149
[12] Tsai, K.M., S.C. Wang, 2009, “Multi-site available-to-promise modeling for assemble-to-order manufacturing: An illustration on TFT-LCD manufacturing,” International Journal Production Economics 117, p.p.
174-184.
[13] Yang, K.K., F.R. Jacobs, 1999, “Replanning the master production schedule for a capacity-constrained job shop,”Decision science 30(3), p.p.
719-748
[14] 友 達 光 電 網 頁 http://www.auo.com/auoDEV/content/technology/
technology_tftprocess_popup_tc.htm
[15] 光 電 產 業 自 動 化 檢 測 技 術 專 題 ,「 理 論 篇 : LCD 製 程 」,
http://cslin.auto.fcu.edu.tw/eduteach/index.html。
[16] 王立志,民國 95 年,「系統化運籌與供應鏈管理」,滄海出版社。
[17] 王凱生,民國 96 年,「訂單滿足流程與可允諾量分配模式-TFT-LCD 產業為例」,國立清華大學工業工程與管理研究所,碩士論文。
[18] 李佳諭,民國 96 年,「流程式生產系統下混線生產重排程之研究」,
國立屏東科技大學工業管理研究所,碩士論文。
[19] 李俊昇,民國 91 年,「TFT-LCD 批量製程派工法則之設計」,國立 交通大學工業工程研究所,碩士論文。
[20] 拓樸產業研究所網頁 http://www.topology.com.tw
[21] 莊書銘,民國 96 年,「薄膜液晶顯示器組立廠主生產排程規劃系統之 設計」,國立交通大學工業工程研究所,碩士論文。
153
[22] 陳頌翔,民國 95 年,「連續批量排程機制之構建─以薄膜液晶顯示器 組立製程為例」,國立交通大學工業工程研究所,碩士論文。
[23] 蔡秉宏,民國 91 年,「液晶面板組裝廠產能配置模組之構建」,國立 交通大學工業工程研究所,碩士論文。
[24] 溫伊婷,民國 96 年,「拉式多階多廠之訂單滿足問題-TFT-LCD 產業 為例」,國立清華大學工業工程與管理研究所,碩士論文。
[25] 楊迪喬,民國 97 年,「薄膜液晶顯示器組立廠具雙製程情境下排程系 統之設計」,國立交通大學工業工程研究所,碩士論文。
[26] 廖祿文,民國 91 年,「及時接單回應機制下-重排週期最佳化之研究」,
國立中央大學工業管理研究所,碩士論文。
[27] 潘國丞,民國 95 年,「多目標平行機台零工式工廠重排程之探討」,
東海大學工業工程與經營資訊研究所,碩士論文。
[28] 賴欣瑜,民國 90 年,「晶圓廠製造廠多廠間生產規劃模式之建構」,
國立交通大學工業工程研究所,碩士論文。
[29] 顧鴻壽,民國 90 年,「光電液晶平面顯示器技術基礎及應用」,新文 京開發出版有限公司。
附錄一、 I-LOG OPL Studio 5.3.1 求解程式碼
1-1 訂單配置模式 //下標
int time_Num=...;//t //參數範圍
range time 1..time_Num;//t enum process{p1,p2};
enum size{s1,s2,s3};
enum liquid{l1,l2,l3};
enum work{k1,k2,k3,k4,k5,k6,k7,k8};
//參數矩陣
int+ st[work]=...;
int+ b[work]=...;
int+ d[size,liquid,time]=...;
int+ dp[process,size,liquid,time]=...;
int+ tc[work,time]=...;
int+ pf[process,size,liquid]=...;
int+ pt[size,liquid,work]=...;
int+ m[work]=...;
var int+ rc[work] in 0..1000000000;
//決策變數矩陣
var int+ I[process,size,liquid,time] in 0..10000000;
var int+ lst[work,time] in 0..10000000;
var int+ bst1[size,work,time] in 0..10000000;
var int+ bst2[liquid,work,time] in 0..10000000;
var int+ bst3[size,liquid,work,time] in 0..10000000;
var int+ load[work] in 0..1000000000;
var int+ L[work,time] in 0..1000000000;
var int+ V[size,liquid,work,time] in 0..10000;
maximize//目標式
sum(p in process,s in size,l in liquid,t in time)(I[p,s,l,t]*pf[p,s,l]) subject to{
forall(p in process,s in size,l in liquid,t in time) I[p,s,l,t]>=dp[p,s,l,t];
forall(s in size,l in liquid,t in time)
sum(p in process)I[p,s,l,t]=sum(p in process)dp[p,s,l,t]+d[s,l,t];
forall(k in work)
sum(t in time)L[k,t]=rc[k];
forall(t in time)
L[k1,t]+sum(s in size,l in
liquid)(I[p2,s,l,t]/b[k1])*pt[s,l,k1]+lst[k1,t]*st[k1]=tc[k1,t];
forall(t in time)
L[k2,t]+sum(s in size,l in
liquid)(I[p2,s,l,t]/b[k2])*pt[s,l,k2]+lst[k2,t]*st[k2]=tc[k2,t];
155
forall(t in time)
L[k3,t]+sum(s in size,l in
liquid)(I[p2,s,l,t]/b[k3])*pt[s,l,k3]+lst[k3,t]*st[k3]=tc[k3,t];
forall(t in time)
L[k4,t]+sum(s in size,l in liquid)I[p1,s,l,t]*pt[s,l,k4]+lst[k4,t]*st[k4]=tc[k4,t];
forall(t in time)
L[k5,t]+sum(s in size,l in liquid)V[s,l,k5,t]*pt[s,l,k5]+lst[k5,t]*st[k5]=tc[k5,t];
forall(t in time)
L[k6,t]+sum(s in size,l in liquid)V[s,l,k6,t]*pt[s,l,k6]+lst[k6,t]*st[k6]=tc[k6,t];
forall(t in time)
L[k7,t]+sum(s in size,l in liquid)V[s,l,k7,t]*pt[s,l,k7]+lst[k7,t]*st[k7]=tc[k7,t];
forall(t in time)
L[k8,t]+sum(s in size,l in liquid)V[s,l,k8,t]*pt[s,l,k8]+lst[k8,t]*st[k8]=tc[k8,t];
forall(s in size,l in liquid,t in time) I[p1,s,l,t]<=V[s,l,k4,t]*b[k4];
forall(s in size,l in liquid,t in time) I[p1,s,l,t]<=V[s,l,k5,t]*b[k5];
forall(s in size,l in liquid,t in time) I[p1,s,l,t]<=V[s,l,k6,t]*b[k6];
forall(s in size,l in liquid,t in time) I[p1,s,l,t]<=V[s,l,k7,t]*b[k7];
forall(s in size,l in liquid,t in time) I[p1,s,l,t]<=V[s,l,k8,t]*b[k8];
forall(s in size,l in liquid,t in time) I[p1,s,l,t]>=(V[s,l,k4,t]-1)*b[k4];
forall(s in size,l in liquid,t in time) I[p1,s,l,t]>=(V[s,l,k5,t]-1)*b[k5];
forall(s in size,l in liquid,t in time) I[p1,s,l,t]>=(V[s,l,k6,t]-1)*b[k6];
forall(s in size,l in liquid,t in time) I[p1,s,l,t]>=(V[s,l,k7,t]-1)*b[k7];
forall(s in size,l in liquid,t in time) I[p1,s,l,t]>=(V[s,l,k8,t]-1)*b[k8];
forall(k in work)
load[k]=sum(t in time)L[k,t];
forall(s in size,t in time)
bst1[s,k4,t]*tc[k4,t]>=sum(l in liquid)I[p1,s,l,t]*pt[s,l,k4]*m[k4];
forall(s in size,l in liquid,t in time)
bst3[s,l,k5,t]*tc[k5,t]*b[k5]>=I[p1,s,l,t]*pt[s,l,k5]*m[k5];
forall(s in size,l in liquid,t in time)
bst3[s,l,k6,t]*tc[k6,t]*b[k6]>=I[p1,s,l,t]*pt[s,l,k6]*m[k6];
forall(s in size,l in liquid,t in time)
bst3[s,l,k7,t]*tc[k7,t]*b[k7]>=I[p1,s,l,t]*pt[s,l,k7]*m[k7];
forall(s in size,l in liquid,t in time)
bst3[s,l,k8,t]*tc[k8,t]*b[k8]>=I[p1,s,l,t]*pt[s,l,k8]*m[k8];
forall(l in liquid,t in time) /
bst2[l,k1,t]*tc[k1,t]>=sum(s in size)I[p2,s,l,t]*pt[s,l,k1]*m[k1];
forall(s in size,t in time)
bst1[s,k2,t]*tc[k2,t]>=sum(l in liquid)I[p2,s,l,t]*pt[s,l,k2]*m[k2];
forall(s in size,t in time)
bst1[s,k3,t]*tc[k3,t]>=sum(l in liquid)I[p2,s,l,t]*pt[s,l,k3]*m[k3];
forall(t in time:t>1)
lst[k2,t]=sum(s in size)bst1[s,k2,t]-m[k2];
forall(t in time:t>1)
lst[k3,t]=sum(s in size)bst1[s,k3,t]-m[k3];
forall(t in time:t>1)
lst[k4,t]=sum(s in size)bst1[s,k4,t]-m[k4];
forall(t in time:t>1)
lst[k1,t]=sum(l in liquid)bst2[l,k1,t]-m[k1];
forall(t in time:t>1)
lst[k5,t]=sum(s in size,l in liquid)bst3[s,l,k5,t]-m[k5];
forall(t in time:t>1)
lst[k6,t]=sum(s in size,l in liquid)bst3[s,l,k6,t]-m[k6];
forall(t in time:t>1)
lst[k7,t]=sum(s in size,l in liquid)bst3[s,l,k7,t]-m[k7];
forall(t in time:t>1)
lst[k8,t]=sum(s in size,l in liquid)bst3[s,l,k8,t]-m[k8];
lst[k2,1]=sum(s in size)bst1[s,k2,1];
lst[k3,1]=sum(s in size)bst1[s,k3,1];
lst[k4,1]=sum(s in size)bst1[s,k4,1];
lst[k1,1]=sum(l in liquid)bst2[l,k1,1];
lst[k5,1]=sum(s in size,l in liquid)bst3[s,l,k5,1];
lst[k6,1]=sum(s in size,l in liquid)bst3[s,l,k6,1];
lst[k7,1]=sum(s in size,l in liquid)bst3[s,l,k7,1];
lst[k8,1]=sum(s in size,l in liquid)bst3[s,l,k8,1];
};
1-2 重點工作站排程求解模式 //常數
int Q=...;
int work2_Num=...;
//下標
int time_Num=...;
//參數範圍
enum process{p1,p2};
enum size{s1,s2,s3};
enum liquid{l1,l2,l3};
enum machinep{m1,m2,m3,m4,m5};
enum machineh{h1,h2,h3,h4,h5,h6,h7,h8,h9};
enum machineo{o1,o2,o3,o4,o5};
enum demand{d1,d2,d3,d4,d5};
range work2 1..work2_Num;
157
range time 1..time_Num;
//已知參數
int+ pt[size,liquid,work2]=...;
int+ ppt[process]=...;
//參數矩陣
int+ cap[machinep,time]=...;
int+ dp[process,size,liquid,time]=...;
int+ d[size,liquid,time]=...;
int+ caph[machineh,time]=...;
int+ capo[machineo,time]=...;
//決策變數矩陣
var float+ L[machinep,time] in 0..1000000;
var float+ Lh[machineh,time] in 0..1000000;
var float+ Lo[machineo,time] in 0..1000000;
var int+ P[process,size,liquid,machinep,demand,time] in 0..1000;
var int+ U[process,size,liquid,time] in 0..100000;
var int+ alphap[process,size,machinep,time] in 0..1;
var int+ gammap[process,size,machinep,time] in 0..1;
var int+ yp[machinep,time] in 0..1;
var int+ betap[machinep,time] in 0..1;
var int+ V[size,liquid,machineh,time] in 0..200;
var int+ B[size,liquid,machineh,time] in 0..1000;
var int+ alphah[size,liquid,machineh,time] in 0..1;
var int+ gammah[size,liquid,machineh,time] in 0..1;
var int+ yh[machineh,time] in 0..1;
var int+ betah[machineh,time] in 0..1;
var int+ O[size,liquid,machineo,time] in 0..1000;
var int+ alphao[liquid,machineo,time] in 0..1;
var int+ gammao[liquid,machineo,time] in 0..1;
var int+ yo[machineo,time] in 0..1;
var int+ betao[machineo,time] in 0..1;
minimize//目標式
sum(p in process,s in size,j in machinep,t in time)(alphap[p,s,j,t])-sum(j in machinep,t in time)betap[j,t]
subject to{
forall(j in machinep) betap[j,1]=0;
forall(j in machineh) betah[j,1]=0;
forall(j in machineo) betao[j,1]=0;
forall(j in machinep) yp[j,1]=0;
forall(j in machineh)
yh[j,1]=0;
forall(j in machineo) yo[j,1]=0;
forall(p in process,s in size,j in machinep) gammap[p,s,j,1]=0;
forall(s in size,l in liquid,j in machineh) gammah[s,l,j,1]=0;
forall(l in liquid,j in machineo) gammao[l,j,1]=0;
forall(p in process,s in size,j in machinep,t in time)
sum(l in liquid,d in demand)P[p,s,l,j,d,t]<=alphap[p,s,j,t]*Q;
forall(p in process,s in size,j in machinep,t in time) sum(l in liquid,d in demand)P[p,s,l,j,d,t]>=alphap[p,s,j,t];
forall(p in process,s in size,l in liquid,j in machinep,t in 1..4) P[p,s,l,j,d1,t+1]=0;
forall(p in process,s in size,l in liquid,j in machinep,t in 1..3) P[p,s,l,j,d2,t+2]=0;
forall(p in process,s in size,l in liquid,j in machinep,t in 1..2) P[p,s,l,j,d3,t+3]=0;
forall(p in process,s in size,l in liquid,j in machinep,t in 1..1) P[p,s,l,j,d4,t+4]=0;
forall(s in size,l in liquid,t in time) sum(p in process)U[p,s,l,t]=d[s,l,t];
forall(p in process,s in size,l in liquid)
sum(j in machinep)P[p,s,l,j,d1,1]=dp[p,s,l,1]+U[p,s,l,1];
forall(p in process,s in size,l in liquid)
sum(p in process,j in machinep)P[p,s,l,j,d1,1]=sum(p in process)dp[p,s,l,1]+d[s,l,1];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..2)P[p,s,l,j,d2,t]=dp[p,s,l,2]+U[p,s,l,2];
forall(p in process,s in size,l in liquid)
sum(p in process,j in machinep,t in 1..2)P[p,s,l,j,d2,t]=sum(p in process)dp[p,s,l,2]+d[s,l,2];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..3)P[p,s,l,j,d3,t]=dp[p,s,l,3]+U[p,s,l,3];
forall(p in process,s in size,l in liquid)
sum(p in process,j in machinep,t in 1..3)P[p,s,l,j,d3,t]=sum(p in process)dp[p,s,l,3]+d[s,l,3];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..4)P[p,s,l,j,d4,t]=dp[p,s,l,t4]+U[p,s,l,4];
forall(p in process,s in size,l in liquid)
sum(p in process,j in machinep,t in 1..4)P[p,s,l,j,d4,t]=sum(p in process)dp[p,s,l,4]+d[s,l,4];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..5)P[p,s,l,j,d5,t]=dp[p,s,l,5]+U[p,s,l,5];
forall(p in process,s in size,l in liquid)
159
sum(p in process,j in machinep,t in 1..5)P[p,s,l,j,d5,t]=sum(p in process)dp[p,s,l,5]+d[s,l,5];
forall(j in machinep,t in time)
L[j,t]+sum(p in process,s in size,l in liquid,d in demand)(P[p,s,l,j,d,t]*ppt[p]) +(sum(p in process,s in size)alphap[p,s,j,t]-betap[j,t])*9000=cap[j,t];
forall(j in machinep,t in time)
sum(p in process,s in size)alphap[p,s,j,t]<=1+yp[j,t]*Q;
forall(j in machinep,t in time)
sum(p in process,s in size)alphap[p,s,j,t]>=2-(1-yp[j,t])*Q;
forall(p in process,s in size,j in machinep,t in 2..5)
alphap[p,s,j,t-1]+alphap[p,s,j,t]<=1+yp[j,t]+gammap[p,s,j,t]*Q;
forall(p in process,s in size,j in machinep,t in 2..5)
alphap[p,s,j,t-1]+alphap[p,s,j,t]>=2-(1-gammap[p,s,j,t])*Q;
forall(p in process,s in size,j in machinep,t in 3..5) gammap[p,s,j,t-1]+gammap[p,s,j,t]<=2-yp[j,t-1];
forall(j in machinep,t in time)
sum(p in process,s in size)gammap[p,s,j,t]<=betap[j,t]*Q;
forall(j in machinep,t in time)
sum(p in process,s in size)gammap[p,s,j,t]>=betap[j,t];
forall(s in size,l in liquid,j in machineh,t in time) B[s,l,j,t]<=alphah[s,l,j,t]*Q;
forall(s in size,l in liquid,j in machineh,t in time) B[s,l,j,t]>=alphah[s,l,j,t];
forall(s in size,l in liquid,j in machineh,t in time) B[s,l,j,t]<=V[s,l,j,t]*6;
forall(s in size,l in liquid,j in machineh,t in time) B[s,l,j,t]>=(V[s,l,j,t]*6-1);
forall(s in size,l in liquid,t in 1..5)
sum(j in machinep,d in demand)P[p1,s,l,j,d,t]=sum(j in machineh)B[s,l,j,t];
forall(j in machineh,t in time)
Lh[j,t]+sum(s in size,l in liquid)(V[s,l,j,t]*pt[s,l,1])
+(sum(s in size,l in liquid)(alphah[s,l,j,t])-betah[j,t])*600=caph[j,t];
forall(l in liquid,j in machineo,t in time) sum(s in size)O[s,l,j,t]<=alphao[l,j,t]*Q;
forall(l in liquid,j in machineo,t in time) sum(s in size)O[s,l,j,t]>=alphao[l,j,t];
forall(s in size,l in liquid,t in 1..5)
sum(j in machinep,d in demand)P[p2,s,l,j,d,t]=sum(j in machineo)O[s,l,j,t];
forall(j in machineo,t in time)
Lo[j,t]+sum(s in size,l in liquid)(O[s,l,j,t]*pt[s,l,2])
+(sum(l in liquid)(alphao[l,j,t])-betao[j,t])*3600=capo[j,t];
forall(j in machineh,t in time)
sum(s in size,l in liquid)alphah[s,l,j,t]<=1+yh[j,t]*Q;
forall(j in machineh,t in time)
sum(s in size,l in liquid)alphah[s,l,j,t]>=2-(1-yh[j,t])*Q;
forall(s in size,l in liquid,j in machineh,t in 2..5)
alphah[s,l,j,t-1]+alphah[s,l,j,t]>=2-(1-gammah[s,l,j,t])*Q;
forall(s in size,l in liquid,j in machineh,t in 2..5)
alphah[s,l,j,t-1]+alphah[s,l,j,t]<=1+yh[j,t]+gammah[s,l,j,t]*Q;
forall(s in size,l in liquid,j in machineh,t in 3..5) gammah[s,l,j,t-1]+gammah[s,l,j,t]<=2-yh[j,t-1];
forall(j in machineh,t in time)
sum(s in size,l in liquid)gammah[s,l,j,t]<=betah[j,t]*Q;
forall(j in machineh,t in time)
sum(s in size,l in liquid)gammah[s,l,j,t]>=betah[j,t];
forall(j in machineo,t in time)
sum(l in liquid)alphao[l,j,t]<=1+yo[j,t]*Q;
forall(j in machineo,t in time)
sum(l in liquid)alphao[l,j,t]>=2-(1-yo[j,t])*Q;
forall(l in liquid,j in machineo,t in 2..5)
alphao[l,j,t-1]+alphao[l,j,t]>=2-(1-gammao[l,j,t])*Q;
forall(l in liquid,j in machineo,t in 2..5)
alphao[l,j,t-1]+alphao[l,j,t]<=1+yo[j,t]+gammao[l,j,t]*Q;
forall(l in liquid,j in machineo,t in 3..5) gammao[l,j,t-1]+gammao[l,j,t]<=2-yo[j,t-1];
forall(j in machineo,t in time)
sum(l in liquid)gammao[l,j,t]<=betao[j,t]*Q;
forall(j in machineo,t in time)
sum(l in liquid)gammao[l,j,t]>=betao[j,t];
};
zs
1-3 次瓶頸排程修正模式 //常數
int Q=...;
int time_Num=...;//t //參數範圍
enum size{s1,s2,s3};
enum liquid{l1,l2,l3};
enum machineh{h1,h2,h3,h4,h5,h6,h7,h8,h9};
enum machineo{o1,o2,o3,o4,o5};
range time 1..time_Num;//t //參數矩陣
int+ ash[size,liquid,machineh,time]=...;
int+ aso[liquid,machineo,time]=...;
//決策變數矩陣
var int+ gammah[size,liquid,machineh,time] in 0..1;
var int+ yh[machineh,time] in 0..1;
var int+ gammao[liquid,machineo,time] in 0..1;
var int+ yo[machineo,time] in 0..1;
var int+ betao[machineo,time] in 0..1;
var int+ betah[machineh,time] in 0..1;
161
maximize
sum(j in machineh,t in time)betah[j,t]+sum(j in machineo,t in time)betao[j,t]
subject to{
forall(s in size,l in liquid,j in machineh) gammah[s,l,j,1]=0;
forall(s in size,l in liquid,j in machineo) gammao[l,j,1]=0;
forall(j in machineh,t in time)
sum(s in size,l in liquid)ash[s,l,j,t]<=1+yh[j,t]*Q;
forall(j in machineh,t in time)
sum(s in size,l in liquid)ash[s,l,j,t]>=2-(1-yh[j,t])*Q;
forall(s in size,l in liquid,j in machineh,t in 2..5) ash[s,l,j,t-1]+ash[s,l,j,t]>=2-(1-gammah[s,l,j,t])*Q;
forall(s in size,l in liquid,j in machineh,t in 2..5)
ash[s,l,j,t-1]+ash[s,l,j,t]<=1+yh[j,t]+gammah[s,l,j,t]*Q;
forall(s in size,l in liquid,j in machineh,t in 3..5) gammah[s,l,j,t-1]+gammah[s,l,j,t]<=2-yh[j,t-1];
forall(j in machineh,t in time)
sum(s in size,l in liquid)gammah[s,l,j,t]<=betah[j,t]*Q;
forall(j in machineh,t in time)
sum(s in size,l in liquid)gammah[s,l,j,t]>=betah[j,t];
forall(j in machineo,t in time)
sum(l in liquid)aso[l,j,t]<=1+yo[j,t]*Q;
forall(j in machineo,t in time)
sum(l in liquid)aso[l,j,t]>=2-(1-yo[j,t])*Q;
forall(l in liquid,j in machineo,t in 2..5)
aso[l,j,t-1]+aso[l,j,t]>=2-(1-gammao[l,j,t])*Q;
forall(l in liquid,j in machineo,t in 2..5)
aso[l,j,t-1]+aso[l,j,t]<=1+yo[j,t]+gammao[l,j,t]*Q;
forall(l in liquid,j in machineo,t in 3..5) gammao[l,j,t-1]+gammao[l,j,t]<=2-yo[j,t-1];
forall(j in machineo,t in time)
sum(l in liquid)gammao[l,j,t]<=betao[j,t]*Q;
forall(j in machineo,t in time)
sum(l in liquid)gammao[l,j,t]>=betao[j,t];
};
1-4 新增產量模式 //下標
int time_Num=...;
enum demand{d1,d2,d3,d4,d5};
//參數範圍
enum process{p1,p2};
enum size{s1,s2,s3};
enum liquid{l1,l2,l3};
enum work2{w1,w2};
enum work{k1,k2,k3};
enum machinep{m1,m2,m3,m4,m5};
enum machineh{h1,h2,h3,h4,h5,h6,h7,h8,h9};
enum machineo{o1,o2,o3,o4,o5};
range time 1..time_Num;
//已知參數 int+ ppt=...;
int+ bmax=...;
int+ Q=...;
//參數矩陣
int+ st[work]=...;
int+ pt[size,liquid,work2]=...;
int+ patp[process,size,liquid,time]=...;
int+ atp[size,liquid,time]=...;
int+ ctp[machinep,time]=...;
int+ ctph[machineh,time]=...;
int+ ctpo[machineo,time]=...;
int+ as[process,size,machinep,time]=...;
int+ ash[size,liquid,machineh,time]=...;
int+ aso[liquid,machineo,time]=...;
int+ betap[machinep,time]=...;
int+ betah[machineh,time]=...;
int+ betao[machineo,time]=...;
//決策變數矩陣
var int+ L[machinep,time] in 0..10000000;
var int+ Lh[machineh,time] in 0..10000000;
var int+ Lo[machineo,time] in 0..10000000;
var int+ P[process,size,liquid,machinep,demand,time] in 0..10000;
var int+ U[process,size,liquid,time] in 0..1000000;
var int+ B[size,liquid,machineh,time] in 0..10000;
var int+ O[size,liquid,machineo,time] in 0..10000;
var int+ V[size,liquid,machineh,time] in 0..10000;
var int+ alphap[process,size,machinep,time] in 0..1;
var int+ alphao[liquid,machineo,time] in 0..1;
var int+ alphah[size,liquid,machineh,time] in 0..1;
minimize//目標式
sum(j in machinep,t in 1..4)(sum(p in process,s in
size)(alphap[p,s,j,t]*(1-as[p,s,j,t])*(1+betap[j,t]*betap[j,t+1]))) +sum(p in process,s in size,j in machinep,t in
5..5)(alphap[p,s,j,t]*(1-as[p,s,j,t])) subject to{
163
forall(p in process,s in size,l in liquid,j in machinep,t in 1..4) P[p,s,l,j,d1,t+1]=0;
forall(p in process,s in size,l in liquid,j in machinep,t in 1..3) P[p,s,l,j,d2,t+2]=0;
forall(p in process,s in size,l in liquid,j in machinep,t in 1..2) P[p,s,l,j,d3,t+3]=0;
forall(p in process,s in size,l in liquid,j in machinep,t in 1..1) P[p,s,l,j,d4,t+4]=0;
forall(j in machinep,t in 1..4)
L[j,t]+sum(p in process,s in size,l in liquid,d in demand)P[p,s,l,j,d,t]*ppt+sum(p in process,s in
size)(alphap[p,s,j,t]*(1-as[p,s,j,t])*(1+betap[j,t]*betap[j,t+1]))*st[k1]=ctp[j,t];
forall(j in machinep,t in 5..5)
L[j,t]+sum(p in process,s in size,l in liquid,d in demand)P[p,s,l,j,d,t]*ppt+sum(p in process,s in size)(alphap[p,s,j,t]*(1-as[p,s,j,t]))*st[k1]=ctp[j,t];
forall(j in machineh,t in 1..4)
Lh[j,t]+sum(s in size,l in liquid)V[s,l,j,t]*pt[s,l,w1]+sum(s in size,l in
liquid)(alphah[s,l,j,t]*(1-ash[s,l,j,t])*(betah[j,t]*betah[j,t+1]))*st[k2]=ctph[j,t];
forall(j in machineh,t in 5..5)
Lh[j,t]+sum(s in size,l in liquid)V[s,l,j,t]*pt[s,l,w1]+sum(s in size,l in liquid)(alphah[s,l,j,t]*(1-ash[s,l,j,t]))*st[k2]=ctph[j,t];
forall(j in machineo,t in 1..4)
Lo[j,t]+sum(s in size,l in liquid)O[s,l,j,t]*pt[s,l,w2]+sum(l in
liquid)(alphao[l,j,t]*(1-aso[l,j,t])*(betao[j,t]*betao[j,t+1]))*st[k3]=ctpo[j,t];
forall(j in machineo,t in 5..5)
Lo[j,t]+sum(s in size,l in liquid)O[s,l,j,t]*pt[s,l,w2]+sum(l in liquid)(alphao[l,j,t]*(1-aso[l,j,t]))*st[k3]=ctpo[j,t];
forall(s in size,l in liquid,t in time) sum(p in process)U[p,s,l,t]=atp[s,l,t];
forall(p in process,s in size,l in liquid)
sum(j in machinep)P[p,s,l,j,d1,1]=patp[p,s,l,1]+U[p,s,l,1];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..2)P[p,s,l,j,d2,t]=patp[p,s,l,2]+U[p,s,l,2];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..3)P[p,s,l,j,d3,t]=patp[p,s,l,3]+U[p,s,l,3];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..4)P[p,s,l,j,d4,t]=patp[p,s,l,4]+U[p,s,l,4];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..5)P[p,s,l,j,d5,t]=patp[p,s,l,5]+U[p,s,l,5];
forall(s in size,l in liquid)
sum(p in process,j in machinep,t in 1..5)P[p,s,l,j,d5,t]=sum(p in process)patp[p,s,l,5]+atp[s,l,5];
forall(p in process,s in size,j in machinep,t in time)
sum(l in liquid,d in demand)P[p,s,l,j,d,t]<=alphap[p,s,j,t]*Q;
forall(p in process,s in size,j in machinep,t in time) sum(l in liquid,d in demand)P[p,s,l,j,d,t]>=alphap[p,s,j,t];
forall(s in size,l in liquid,t in 1..5)
sum(j in machineh)B[s,l,j,t]=sum(j in machinep,d in demand)P[p1,s,l,j,d,t];
forall(s in size,l in liquid,t in 1..5)
sum(j in machineo)O[s,l,j,t]=sum(j in machinep,d in demand)P[p2,s,l,j,d,t];
forall(s in size,l in liquid,j in machineh,t in time) B[s,l,j,t]<=alphah[s,l,j,t]*Q;
forall(s in size,l in liquid,j in machineh,t in time) B[s,l,j,t]>=alphah[s,l,j,t];
forall(l in liquid,j in machineo,t in time) sum(s in size)O[s,l,j,t]<=alphao[l,j,t]*Q;
forall(l in liquid,j in machineo,t in time) sum(s in size)O[s,l,j,t]>=alphao[l,j,t];
forall(s in size,l in liquid,j in machineh,t in time) (V[s,l,j,t]-1)*6<=B[s,l,j,t];
forall(s in size,l in liquid,j in machineh,t in time) V[s,l,j,t]*6>=B[s,l,j,t];
};
1-5 重排程模式 //下標
int time_Num=...;
enum demand{d1,d2,d3,d4,d5};
//參數範圍
enum process{p1,p2};
enum size{s1,s2,s3};
enum liquid{l1,l2,l3};
enum work2{w1,w2};
enum work{k1,k2,k3};
enum machinep{m1,m2,m3,m4,m5};
enum machineh{h1,h2,h3,h4,h5,h6,h7,h8,h9};
enum machineo{o1,o2,o3,o4,o5};
range time 1..time_Num;
//已知參數 int+ ppt=...;
int+ bmax=...;
int+ Q=...;
int+ au=…;
//參數矩陣
int+ st[work]=...;
int+ pt[size,liquid,work2]=...;
int+ patp[process,size,liquid,time]=...;
int+ atp[size,liquid,time]=...;
int+ ctp[machinep,time]=...;
165
int+ ctph[machineh,time]=...;
int+ ctpo[machineo,time]=...;
int+ as[process,size,machinep,time]=...;
int+ ash[size,liquid,machineh,time]=...;
int+ aso[liquid,machineo,time]=...;
int+ betap[machinep,time]=...;
int+ betah[machineh,time]=...;
int+ betao[machineo,time]=...;
//決策變數矩陣
var int+ L[machinep,time] in 0..10000000;
var int+ Lh[machineh,time] in 0..10000000;
var int+ Lo[machineo,time] in 0..10000000;
var int+ P[process,size,liquid,machinep,demand,time] in 0..10000;
var int+ U[process,size,liquid,time] in 0..1000000;
var int+ B[size,liquid,machineh,time] in 0..10000;
var int+ O[size,liquid,machineo,time] in 0..10000;
var int+ V[size,liquid,machineh,time] in 0..10000;
var int+ alphap[process,size,machinep,time] in 0..1;
var int+ alphao[liquid,machineo,time] in 0..1;
var int+ alphah[size,liquid,machineh,time] in 0..1;
var float+ u1[machinep,time] in 0..1;
var float+ u2[machinep,time] in 0..1;
minimize//目標式
sum(j in machinep,t in time)(u1[j,t]+u2[j,t])subject to{
forall(p in process,s in size,l in liquid,j in machinep,t in 1..4) P[p,s,l,j,d1,t+1]=0;
forall(p in process,s in size,l in liquid,j in machinep,t in 1..3) P[p,s,l,j,d2,t+2]=0;
forall(p in process,s in size,l in liquid,j in machinep,t in 1..2) P[p,s,l,j,d3,t+3]=0;
forall(p in process,s in size,l in liquid,j in machinep,t in 1..1) P[p,s,l,j,d4,t+4]=0;
forall(j in machinep,t in time)
u1[j,t]-u2[j,t]=((cap[j,t]-L[j,t])/cap[j,t])-au;
forall(j in machinep,t in 1..4)
L[j,t]+sum(p in process,s in size,l in liquid,d in demand)P[p,s,l,j,d,t]*ppt+sum(p in process,s in
size)(alphap[p,s,j,t]*(1-as[p,s,j,t])*(1+betap[j,t]*betap[j,t+1]))*st[k1]=ctp[j,t];
forall(j in machinep,t in 5..5)
L[j,t]+sum(p in process,s in size,l in liquid,d in demand)P[p,s,l,j,d,t]*ppt+sum(p in process,s in size)(alphap[p,s,j,t]*(1-as[p,s,j,t]))*st[k1]=ctp[j,t];
forall(j in machineh,t in 1..4)
Lh[j,t]+sum(s in size,l in liquid)V[s,l,j,t]*pt[s,l,w1]+sum(s in size,l in
liquid)(alphah[s,l,j,t]*(1-ash[s,l,j,t])*(betah[j,t]*betah[j,t+1]))*st[k2]=ctph[j,t];
forall(j in machineh,t in 5..5)
Lh[j,t]+sum(s in size,l in liquid)V[s,l,j,t]*pt[s,l,w1]+sum(s in size,l in liquid)(alphah[s,l,j,t]*(1-ash[s,l,j,t]))*st[k2]=ctph[j,t];
forall(m in machineo,t in 1..4)
Lo[m,t]+sum(s in size,l in liquid)O[s,l,m,t]*pt[s,l,w2]+sum(l in
liquid)(alphao[l,m,t]*(1-aso[l,m,t])*(betao[m,t]*betao[m,t+1]))*st[k3]=ctpo[m, t];
forall(m in machineo,t in 5..5)
Lo[m,t]+sum(s in size,l in liquid)O[s,l,m,t]*pt[s,l,w2]+sum(l in liquid)(alphao[l,m,t]*(1-aso[l,m,t]))*st[k3]=ctpo[m,t];
forall(s in size,l in liquid,t in time) sum(p in process)U[p,s,l,t]=atp[s,l,t];
forall(p in process,s in size,l in liquid)
sum(j in machinep)P[p,s,l,j,d1,1]=patp[p,s,l,1]+U[p,s,l,1];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..2)P[p,s,l,j,d2,t]=patp[p,s,l,2]+U[p,s,l,2];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..3)P[p,s,l,j,d3,t]=patp[p,s,l,3]+U[p,s,l,3];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..4)P[p,s,l,j,d4,t]=patp[p,s,l,4]+U[p,s,l,4];
forall(p in process,s in size,l in liquid)
sum(j in machinep,t in 1..5)P[p,s,l,j,d5,t]=patp[p,s,l,5]+U[p,s,l,5];
forall(s in size,l in liquid)
sum(p in process,j in machinep,t in 1..5)P[p,s,l,j,d5,t]=sum(p in process)patp[p,s,l,5]+atp[s,l,5];
forall(p in process,s in size,j in machinep,t in time)
sum(l in liquid,d in demand)P[p,s,l,j,d,t]<=alphap[p,s,j,t]*Q;
forall(p in process,s in size,j in machinep,t in time) sum(l in liquid,d in demand)P[p,s,l,j,d,t]>=alphap[p,s,j,t];
forall(s in size,l in liquid,t in 1..5)
sum(j in machineh)B[s,l,j,t]=sum(j in machinep,d in demand)P[p1,s,l,j,d,t];
forall(s in size,l in liquid,t in 1..5)
sum(j in machineo)O[s,l,j,t]=sum(j in machinep,d in demand)P[p2,s,l,j,d,t];
forall(s in size,l in liquid,j in machineh,t in time) B[s,l,j,t]<=alphah[s,l,j,t]*Q;
forall(s in size,l in liquid,j in machineh,t in time) B[s,l,j,t]>=alphah[s,l,j,t];
forall(l in liquid,m in machineo,t in time) sum(s in size)O[s,l,m,t]<=alphao[l,m,t]*Q;
forall(l in liquid,m in machineo,t in time) sum(s in size)O[s,l,m,t]>=alphao[l,m,t];
forall(s in size,l in liquid,j in machineh,t in time) (V[s,l,j,t]-1)*6<=B[s,l,j,t];
forall(s in size,l in liquid,j in machineh,t in time) V[s,l,j,t]*6>=B[s,l,j,t];
167
};
附錄二、模式求解結果(僅列非 0 變數)
2-1 重點工作站排程求解模式求解結果 gammap[1,2,1,2]=1
gammap[1,2,1,3]=1 gammap[1,2,1,4]=1 gammap[1,2,1,5]=1 gammap[1,3,2,2]=1 gammap[1,3,2,3]=1 gammap[1,3,2,4]=1 gammap[1,3,2,5]=1 gammap[2,3,3,2]=1 gammap[2,3,3,3]=1 gammap[2,1,3,4]=1 gammap[2,1,3,5]=1 gammap[1,1,4,2]=1 gammap[1,1,4,3]=1 gammap[1,1,4,4]=1 gammap[1,1,4,5]=1 gammap[2,1,5,2]=1 gammap[2,2,5,3]=1 gammap[2,2,5,4]=1 gammap[2,2,5,5]=1 yp[5,2]=1
yp[3,3]=1 betap[1,2]=1 betap[2,2]=1 betap[3,2]=1 betap[4,2]=1 betap[5,2]=1 betap[1,3]=1 betap[2,3]=1 betap[3,3]=1 betap[4,3]=1 betap[5,3]=1 betap[1,4]=1 betap[2,4]=1 betap[3,4]=1 betap[4,4]=1 betap[5,4]=1 betap[1,5]=1 betap[2,5]=1 betap[3,5]=1 betap[4,5]=1 betap[5,5]=1
alphah[2,1,3,3]=1 alphah[2,3,3,3]=1 alphah[3,2,3,3]=1 alphah[3,3,3,3]=1 alphah[2,1,4,3]=1 alphah[2,1,5,3]=1 alphah[3,2,5,3]=1 alphah[3,3,5,3]=1 alphah[1,2,6,3]=1 alphah[3,2,6,3]=1 alphah[2,3,7,3]=1 alphah[3,2,7,3]=1 alphah[1,2,8,3]=1 alphah[1,3,8,3]=1 alphah[2,1,8,3]=1 alphah[2,1,1,4]=1 alphah[3,2,1,4]=1 alphah[1,2,2,4]=1 alphah[1,3,2,4]=1 alphah[2,3,2,4]=1 alphah[1,3,3,4]=1 alphah[2,3,3,4]=1 alphah[1,1,4,4]=1 alphah[1,3,4,4]=1 alphah[2,1,4,4]=1 alphah[2,3,4,4]=1 alphah[3,2,4,4]=1 alphah[3,3,4,4]=1 alphah[1,1,5,4]=1 alphah[1,2,5,4]=1 alphah[1,3,5,4]=1 alphah[2,1,5,4]=1 alphah[2,3,5,4]=1 alphah[3,2,5,4]=1 alphah[1,2,6,4]=1 alphah[1,3,6,4]=1 alphah[2,1,6,4]=1 alphah[2,3,6,4]=1 alphah[3,2,6,4]=1 alphah[2,1,7,4]=1 alphah[1,2,8,4]=1 alphah[1,3,9,4]=1
yh[5,5]=1 yh[8,5]=1 betah[1,2]=1 betah[3,2]=1 betah[4,2]=1 betah[2,3]=1 betah[3,3]=1 betah[4,3]=1 betah[2,4]=1 betah[8,4]=1 betah[4,5]=1 alphao[2,2,1]=1 alphao[3,3,1]=1 alphao[1,4,1]=1 alphao[3,5,1]=1 alphao[1,1,2]=1 alphao[2,1,2]=1 alphao[1,2,2]=1 alphao[2,2,2]=1 alphao[3,2,2]=1 alphao[1,3,2]=1 alphao[2,3,2]=1 alphao[3,3,2]=1 alphao[1,4,2]=1 alphao[2,4,2]=1 alphao[3,4,2]=1 alphao[1,5,2]=1 alphao[2,5,2]=1 alphao[3,5,2]=1 alphao[1,1,3]=1 alphao[2,1,3]=1 alphao[3,1,3]=1 alphao[3,2,3]=1 alphao[1,3,3]=1 alphao[3,3,3]=1 alphao[2,4,3]=1 alphao[3,4,3]=1 alphao[1,5,3]=1 alphao[3,5,3]=1 alphao[1,1,4]=1 alphao[2,1,4]=1 alphao[3,1,4]=1 alphao[1,2,4]=1
169
alphah[1,3,1,1]=1 alphah[2,3,2,1]=1 alphah[1,1,3,1]=1 alphah[3,2,4,1]=1 alphah[2,2,5,1]=1 alphah[2,2,6,1]=1 alphah[3,3,7,1]=1 alphah[3,3,8,1]=1 alphah[1,2,9,1]=1 alphah[1,1,1,2]=1 alphah[1,2,1,2]=1 alphah[1,3,1,2]=1 alphah[2,1,1,2]=1 alphah[2,2,1,2]=1 alphah[3,1,1,2]=1 alphah[3,2,1,2]=1 alphah[3,3,1,2]=1 alphah[1,1,2,2]=1 alphah[1,2,2,2]=1 alphah[2,3,2,2]=1 alphah[3,1,2,2]=1 alphah[3,2,2,2]=1 alphah[3,3,2,2]=1 alphah[1,1,3,2]=1 alphah[1,2,3,2]=1 alphah[1,3,3,2]=1 alphah[2,2,3,2]=1 alphah[2,3,3,2]=1 alphah[3,1,3,2]=1 alphah[3,2,3,2]=1 alphah[1,3,4,2]=1 alphah[2,1,4,2]=1 alphah[3,2,4,2]=1 alphah[2,2,5,2]=1 alphah[2,3,5,2]=1 alphah[2,1,6,2]=1 alphah[1,3,8,2]=1 alphah[1,1,9,2]=1 alphah[2,1,9,2]=1 alphah[3,1,9,2]=1 alphah[3,2,9,2]=1 alphah[3,3,9,2]=1 alphah[1,2,1,3]=1 alphah[2,3,1,3]=1 alphah[1,3,2,3]=1 alphah[3,3,2,3]=1
alphah[2,1,9,4]=1 alphah[2,3,9,4]=1 alphah[1,3,1,5]=1 alphah[2,3,1,5]=1 alphah[1,1,4,5]=1 alphah[1,3,4,5]=1 alphah[2,3,4,5]=1 alphah[1,1,5,5]=1 alphah[1,3,5,5]=1 alphah[3,3,5,5]=1 alphah[1,1,6,5]=1 alphah[2,3,7,5]=1 alphah[1,1,8,5]=1 alphah[1,3,8,5]=1 alphah[3,3,8,5]=1 gammah[1,1,3,2]=1 gammah[1,3,1,2]=1 gammah[3,2,4,2]=1 gammah[2,1,4,3]=1 gammah[3,2,3,3]=1 gammah[3,3,2,3]=1 gammah[1,2,8,4]=1 gammah[1,3,2,4]=1 gammah[1,1,4,5]=1 gammah[2,3,4,5]=1 yh[1,2]=1
alphao[2,2,4]=1 alphao[3,2,4]=1 alphao[1,3,4]=1 alphao[2,3,4]=1 alphao[3,3,4]=1 alphao[1,4,4]=1 alphao[2,4,4]=1 alphao[3,4,4]=1 alphao[1,5,4]=1 alphao[2,5,4]=1 alphao[1,1,5]=1 alphao[2,1,5]=1 alphao[1,2,5]=1 alphao[2,2,5]=1 alphao[3,2,5]=1 alphao[1,3,5]=1 alphao[2,3,5]=1 alphao[1,4,5]=1 alphao[2,5,5]=1 gammao[1,4,2]=1 gammao[2,2,2]=1 gammao[3,3,2]=1 gammao[1,1,3]=1 gammao[1,3,3]=1 gammao[2,4,3]=1 gammao[3,2,3]=1 gammao[1,5,4]=1 gammao[2,1,4]=1 gammao[3,1,4]=1 gammao[3,3,4]=1 gammao[3,4,4]=1 gammao[1,4,5]=1 gammao[2,5,5]=1 yo[1,2]=1
alphah[1,1,3,3]=1 yh[4,5]=1 yo[2,5]=1 yo[3,5]=1 betao[2,2]=1 betao[3,2]=1 betao[4,2]=1 betao[1,3]=1 betao[2,3]=1 betao[3,3]=1 betao[4,3]=1 betao[1,4]=1 betao[3,4]=1 betao[4,4]=1 betao[5,4]=1 betao[4,5]=1 betao[5,5]=1 2-1 重點工作站排程求解模式求解結果(續)
171
2-2 產能允諾規劃求解結果 L[1,1]=360
L[1,2]=576 L[1,3]=2736 L[1,4]=2736 L[1,5]=76320 L[2,1]=13536 L[2,2]=576 L[2,3]=864 L[2,4]=18000 L[2,5]=82368 L[3,1]=4392 L[3,2]=576 L[3,3]=792 L[3,4]=720 L[3,5]=720 L[4,1]=360 L[4,2]=576 L[4,3]=720 L[4,4]=720 L[4,5]=720 L[5,1]=360 L[5,2]=648 L[5,3]=720 L[5,4]=720 L[5,5]=184248 Lo[5,2]=53280 Lo[5,3]=39520 Lo[5,4]=321820 Lo[5,5]=116820
Lh[1,1]=234200 Lh[1,2]=11780 Lh[1,3]=8320 Lh[1,4]=12420 Lh[1,5]=4320 Lh[2,1]=10200 Lh[2,2]=9280 Lh[2,3]=5120 Lh[2,4]=30520 Lh[2,5]=328320 Lh[3,1]=261600 Lh[3,2]=5680 Lh[3,3]=12020 Lh[3,4]=34920 Lh[3,5]=328320 Lh[4,1]=11900 Lh[4,2]=15980 Lh[4,3]=4320 Lh[4,4]=217120 Lh[4,5]=34320 Lh[5,1]=631200 Lh[5,2]=329880 Lh[5,3]=12020 Lh[5,4]=191520 Lh[5,5]=12820 Lh[6,1]=10200 Lh[6,2]=5880 Lh[6,3]=273120 Lh[6,4]=25720 Lh[6,5]=8520 Lh[7,1]=11900 Lh[7,2]=384480 Lh[7,3]=56920 Lh[7,4]=314220 Lh[7,5]=17220 Lh[8,1]=752900 Lh[8,2]=199280 Lh[8,3]=127020 Lh[8,4]=49020 Lh[8,5]=25920 Lh[9,1]=155200 Lh[9,2]=10580 Lh[9,3]=328320 Lh[9,4]=2720
Lo[1,1]=726300 Lo[1,2]=475380 Lo[1,3]=620 Lo[1,4]=220 Lo[1,5]=168820 Lo[2,1]=65700 Lo[2,2]=880 Lo[2,3]=289220 Lo[2,4]=6260 Lo[2,5]=315020 Lo[3,1]=335600 Lo[3,2]=1380 Lo[3,3]=1020 Lo[3,4]=177120 Lo[3,5]=321820 Lo[4,1]=384600 Lo[4,2]=448780 Lo[4,3]=321620 Lo[4,4]=132120 Lo[4,5]=79120 Lo[5,1]=17200
Lh[9,5]=328320 B[1,2,7,2]=43
B[1,1,8,1]=18 B[1,1,1,2]=6 B[1,1,2,3]=6 B[1,2,5,1]=2 B[2,3,1,1]=8 O[1,2,4,1]=5 O[2,3,1,1]=63 O[2,3,1,3]=52 O[2,3,2,3]=25 O[2,3,2,2]=1 O[2,3,3,3]=1 U[1,1,2,4]=45 U[1,2,3,2]=8 U[2,2,3,2]=42 U[2,1,2,4]=5 V[1,2,7,2]=8 V[1,1,8,1]=3 V[1,1,1,2]=1 V[1,1,2,3]=1 V[1,2,5,1]=1 V[2,3,1,1]=2
alphap[1,1,2,4]=1 alphap[1,1,4,1]=1 alphap[1,1,4,2]=1 alphap[1,1,4,3]=1 alphap[1,1,5,5]=1 alphap[1,2,1,1]=1 alphap[2,1,5,2]=1 alphap[2,2,2,1]=1 alphap[2,2,2,3]=1 alphap[2,2,5,3]=1 alphah[1,1,1,2]=1 alphah[1,1,2,3]=1 alphah[1,1,8,1]=1 alphah[1,2,5,1]=1 alphah[1,2,7,2]=1 alphah[2,3,1,1]=1 alphao[2,4,1]=1 alphao[3,1,1]=1 alphao[3,1,3]=1 alphao[3,2,2]=1 alphao[3,2,3]=1 alphao[3,3,3]=1
173
2-3 重排程機制求解結果 L[1,1]=360
L[1,2]=576 L[1,3]=720 L[1,4]=19008 L[1,5]=18936 L[2,1]=360 L[2,2]=1584 L[2,3]=23904 L[2,4]=23904 L[2,5]=22968 L[3,1]=432 L[3,2]=360 L[3,3]=1584 L[3,4]=12816 L[3,5]=1728 L[4,1]=360 L[4,2]=576 L[4,3]=19872 L[4,4]=23904 L[4,5]=23904 L[5,1]=360 L[5,2]=648 L[5,3]=23904 L[5,4]=720 L[5,5]=20952
Lh[1,1]=113100 Lh[1,2]=80 Lh[1,3]=7920 Lh[1,4]=40020 Lh[1,5]=4320 Lh[2,1]=10200 Lh[2,2]=10280 Lh[2,3]=5320 Lh[2,4]=247520 Lh[2,5]=8520 Lh[3,1]=29500 Lh[3,2]=6280 Lh[3,3]=12420 Lh[3,4]=68820 Lh[3,5]=287820 Lh[4,1]=1600 Lh[4,2]=385280 Lh[4,3]=320 Lh[4,4]=190920 Lh[4,5]=7720 Lh[5,1]=644700 Lh[5,2]=248280 Lh[5,3]=12020 Lh[5,4]=300720 Lh[5,5]=26720 Lh[6,1]=10200 Lh[6,2]=6480 Lh[6,3]=190920 Lh[6,4]=67820 Lh[6,5]=328320 Lh[7,1]=11900 Lh[7,2]=315180 Lh[7,3]=2520 Lh[7,4]=328320 Lh[7,5]=3920 Lh[8,1]=792800 Lh[8,2]=7480 Lh[8,3]=154420 Lh[8,4]=13220 Lh[8,5]=39820 Lh[9,1]=155200 Lh[9,2]=12380 Lh[9,3]=272720 Lh[9,4]=274120
Lo[1,1]=404100 Lo[1,2]=487380 Lo[1,3]=275120 Lo[1,4]=220 Lo[1,5]=20 Lo[2,1]=0 Lo[2,2]=175380 Lo[2,3]=328320 Lo[2,4]=3220 Lo[2,5]=174620 Lo[3,1]=558000 Lo[3,2]=175080 Lo[3,3]=2520 Lo[3,4]=220 Lo[3,5]=326820 Lo[4,1]=397200 Lo[4,2]=102980 Lo[4,3]=146220 Lo[4,4]=1220 Lo[4,5]=320 Lo[5,1]=337200 Lo[5,2]=680 Lo[5,3]=1120 Lo[5,4]=222820 Lo[5,5]=116820
Lh[9,5]=287220 B[1,1,3,1]=250
B[1,1,2,5]=144 B[1,3,8,4]=135 B[1,1,4,5]=132 B[1,3,7,2]=32 B[1,1,3,5]=18 B[1,3,3,4]=17 B[1,1,7,5]=6 B[1,3,3,3]=6 B[1,3,3,1]=3 B[2,2,6,2]=216 B[2,3,4,3]=126 B[2,3,8,2]=83 B[2,2,1,2]=48 B[2,2,2,2]=18 B[2,2,9,2]=18 B[2,3,6,3]=18 B[2,3,7,2]=18 B[2,3,9,3]=16 B[2,3,5,3]=12 B[2,3,7,3]=12 B[2,3,4,1]=8 B[2,3,3,3]=6 B[2,3,8,3]=6 B[2,3,1,3]=2 B[2,1,9,3]=1 B[3,2,3,2]=108 B[3,3,3,1]=84 B[3,2,1,1]=57 B[3,2,4,1]=48 B[3,3,3,4]=46 B[3,2,5,2]=36 B[3,3,6,3]=14 B[3,3,2,3]=6 B[3,2,4,2]=1
O[1,1,5,3]=152 O[1,3,1,1]=152 O[1,1,4,3]=129 O[1,1,1,5]=119 O[1,1,4,5]=108 O[1,1,3,2]=64 O[1,3,4,4]=56 O[1,3,2,1]=48 O[1,1,1,1]=5 O[1,1,2,5]=3 O[1,3,3,4]=1 O[2,3,3,2]=125 O[2,1,3,4]=117 O[2,3,4,4]=104 O[2,1,1,1]=78 O[2,3,5,4]=64 O[2,3,1,1]=49 O[2,3,1,3]=31 O[2,1,2,4]=2 O[2,1,5,4]=2 O[3,3,4,2]=217 O[3,3,4,5]=106 O[3,3,2,5]=86 O[3,3,5,2]=37 O[3,3,1,1]=4
U[1,1,3,4]=193 U[1,3,3,4]=150 U[1,2,3,2]=27 U[1,1,1,5]=20 U[1,2,1,4]=1 U[2,1,1,5]=230 U[2,2,1,4]=199 U[2,2,3,2]=173 U[2,1,3,4]=57
175
L[1,1]=360 L[1,2]=576 L[1,3]=720 L[1,4]=19008 L[1,5]=18936 L[2,1]=360 L[2,2]=1584 L[2,3]=23904 L[2,4]=23904 L[2,5]=22968 L[3,1]=432 L[3,2]=360 L[3,3]=1584 L[3,4]=12816 L[3,5]=1728 L[4,1]=360 L[4,2]=576 L[4,3]=19872 L[4,4]=23904 L[4,5]=23904 L[5,1]=360 L[5,2]=648 L[5,3]=23904 L[5,4]=720 L[5,5]=20952
Lh[1,1]=113100 Lh[1,2]=80 Lh[1,3]=7920 Lh[1,4]=40020 Lh[1,5]=4320 Lh[2,1]=10200 Lh[2,2]=10280 Lh[2,3]=5320 Lh[2,4]=247520 Lh[2,5]=8520 Lh[3,1]=29500 Lh[3,2]=6280 Lh[3,3]=12420 Lh[3,4]=68820 Lh[3,5]=287820 Lh[4,1]=1600 Lh[4,2]=385280 Lh[4,3]=320 Lh[4,4]=190920 Lh[4,5]=7720 Lh[5,1]=644700 Lh[5,2]=248280 Lh[5,3]=12020 Lh[5,4]=300720 Lh[5,5]=26720 Lh[6,1]=10200 Lh[6,2]=6480 Lh[6,3]=190920 Lh[6,4]=67820 Lh[6,5]=328320 Lh[7,1]=11900 Lh[7,2]=315180 Lh[7,3]=2520 Lh[7,4]=328320 Lh[7,5]=3920 Lh[8,1]=792800 Lh[8,2]=7480 Lh[8,3]=154420 Lh[8,4]=13220 Lh[8,5]=39820 Lh[9,1]=155200 Lh[9,2]=12380 Lh[9,3]=272720 Lh[9,4]=274120 Lh[9,5]=287220
Lo[1,1]=404100 Lo[1,2]=487380 Lo[1,3]=275120 Lo[1,4]=220 Lo[1,5]=20 Lo[2,1]=0 Lo[2,2]=175380 Lo[2,3]=328320 Lo[2,4]=3220 Lo[2,5]=174620 Lo[3,1]=558000 Lo[3,2]=175080 Lo[3,3]=2520 Lo[3,4]=220 Lo[3,5]=326820 Lo[4,1]=397200 Lo[4,2]=102980 Lo[4,3]=146220 Lo[4,4]=1220 Lo[4,5]=320 Lo[5,1]=337200 Lo[5,2]=680 Lo[5,3]=1120 Lo[5,4]=222820 Lo[5,5]=116820
alphap[1,1,1,5]=1 alphap[1,1,4,1]=1 alphap[1,1,4,2]=1 alphap[1,1,4,3]=1 alphap[1,1,4,4]=1 alphap[1,1,4,5]=1 alphap[1,2,1,1]=1 alphap[1,2,1,2]=1 alphap[1,2,1,3]=1 alphap[1,3,2,1]=1 alphap[1,3,2,2]=1 alphap[1,3,2,3]=1 alphap[1,3,2,4]=1 alphap[2,1,2,5]=1 alphap[2,1,3,3]=1 alphap[2,1,3,4]=1 alphap[2,1,3,5]=1 alphap[2,1,5,1]=1 alphap[2,1,5,2]=1 alphap[2,2,1,4]=1 alphap[2,2,3,1]=1 alphap[2,2,5,2]=1 alphap[2,2,5,3]=1 alphap[2,3,3,1]=1 alphap[2,3,3,2]=1 alphap[2,3,5,5]=1
alphah[1,1,2,5]=1 alphah[1,1,3,1]=1 alphah[1,1,3,5]=1 alphah[1,1,4,5]=1 alphah[1,1,7,5]=1 alphah[1,3,3,1]=1 alphah[1,3,3,3]=1 alphah[1,3,3,4]=1 alphah[1,3,7,2]=1 alphah[1,3,8,4]=1 alphah[2,1,9,3]=1 alphah[2,2,1,2]=1 alphah[2,2,2,2]=1 alphah[2,2,6,2]=1 alphah[2,2,9,2]=1 alphah[2,3,1,3]=1 alphah[2,3,3,3]=1 alphah[2,3,4,1]=1 alphah[2,3,4,3]=1 alphah[2,3,5,3]=1 alphah[2,3,6,3]=1 alphah[2,3,7,2]=1 alphah[2,3,7,3]=1 alphah[2,3,8,2]=1 alphah[2,3,8,3]=1 alphah[2,3,9,3]=1 alphah[3,2,1,1]=1 alphah[3,2,3,2]=1 alphah[3,2,4,1]=1 alphah[3,2,4,2]=1 alphah[3,2,5,2]=1 alphah[3,3,2,3]=1 alphah[3,3,3,1]=1 alphah[3,3,3,4]=1 alphah[3,3,6,3]=1
alphao[1,1,1]=1 alphao[1,1,5]=1 alphao[1,2,4]=1 alphao[1,2,5]=1 alphao[1,3,2]=1 alphao[1,3,4]=1 alphao[1,4,3]=1 alphao[1,4,5]=1 alphao[1,5,3]=1 alphao[1,5,4]=1 alphao[3,1,1]=1 alphao[3,1,3]=1 alphao[3,2,1]=1 alphao[3,2,5]=1 alphao[3,3,2]=1 alphao[3,3,4]=1 alphao[3,4,2]=1 alphao[3,4,4]=1 alphao[3,4,5]=1 alphao[3,5,2]=1 alphao[3,5,4]=1