第四章 計算結果與分析討論
第四節 小結
透過Lingo 程式軟體得到結果,分別計算型一問題、型二問題及效率型問題之效率,
測試四組題目共 81 個題目,其中型二問題及效率型問題與啟發式求解之效率無差別,
均為最佳效率,而型一問題之效率也是最佳解效率。
91
求解可能性,分別求解型一問題、型二問題及效率型問題,給定週期時間、工作站數,
將得到結果利用效率之公式,求解其效率。
本研究之研究結果分為以下幾點:
1. 彙整雙邊生產線平衡問題之型一問題、型二問題及效率型問題之數學模式,並 將模式重新整理後,增加其求解功能。
2. 利用測試題目進行求解型一問題及型二問題。並得到型一及型二問題之最佳 解。
3. 利用數學模式,給定週期可允許週期時間之下,工作站從 m=1,2,…,mmax,求解 效率型問題,得到其最小工作站數及最佳解之效率值,來提供未來相關研究之 參考依據。
第二節 未來研究與建議
本研究主要利用數學規劃模式求解雙邊生產線平衡問題之型一、型二問題及效 率型問題,透過Lingo 來求解數學模式,將得到結果透過效率之公式,得到其效率。
由於針對大型任務求解時,較為緩慢才可以得到其結果,所以在未來有進行相關研 究之人員,可以透過數學規劃模式結合啟發式演算法,來進行求解,以提高電腦求 解之效率。
本研究針對未來建議有兩項:
1. 可與啟發式演算法做結合,提高電腦求解效率,來解決大型任務問題。
2. 探討雙邊生產線平衡問題之同步任務問題,並求解其效率。
93
參考文獻 中文部分:
吳爾飛、金燁、汪崢(2005),雙邊裝配線第二類型平衡問題研究,計算機及成製造系統,
11(11),pp.1604-1608。
李雅婷(2010),E 型簡單生產線平衡問題模式與求解方法之研究,義守大學工業工程與 管理學系研究所碩士論文。
林金雄、盧仁傑、姚威宏(2000)編譯,製造程序規劃(初版),新北市新莊區:全威圖書。
查艦、徐學軍、余建軍、宋莉波(2010),利用 Petri 網求解 U 型裝配線平衡問題,工業工 程,13(2),pp.110-115。
柴康偉、張蓓蒂、蔡爭岳(2003),生產線最佳化配置之研究-以個案公司為例,遠東學 報,20(3),pp.443-450。
葉丁鴻和顏伯蒼(2012),利用數學規劃模式找出在有雙邊同時作業任務時的雙邊生產線 平衡問題最佳解,創新研發學刊,8(2),pp.110-120。
鄭巧仙、李明、李元香、唐秋華(2014),求解雙邊裝配線平衡問題的改進蟻群算法,電 子學報,42(5),pp.841-845。
藍俊雄、陳輝恭、李舒怡(2010),有限空間下之自動化雙邊生產線平衡,資訊、科技與 社會學報,17,pp.1-11。
英文部分:
Baykasoglu A. and Dereli T. , (2008),Two-sided assembly line balancing using an ant-colony-based heuristic, The International Journal of Advanced Manufacturing Technology, 36(5-6), pp.582-588.
Betts, J. and Mahmoud, K.I. (1989), Identifying multiple solutions for assembly line balancing having stochastic task times, Computers and Industrial Engineering, 16(3), pp.427-445.
Bartholdi, J. J. (1993), Balancing two-sided assembly lines: a case study, International Journal of Production Research, 31(10), pp.2447-2461.
Bryton, B. (1954), Balancing of a Continuous Production Line, Management Science thesis, North-Western University.
Blum, C. (2008), Beam-ACO forsimpleassembly line balancing,INFORMS Journal on Computing, 20(4), pp.618-627.
Dou,J., Li, J. &Su, C.(2013), A novel feasible task sequence-oriented discrete particle swarmalgorithmfor simple assembly line balancing problemof type 1, International Journal of Advanced Manufacturing Technology, 69(9-12),pp.2445-2457.
Gökçen, H. & Agpak, K. (2006), A goal programming approach to simple U-line balancing problem, European Journal of Operational Research, 171, pp.577-585.
Hackman, S. T., Magazine, M. J. & Wee, T. S. (1989), Fast, effective algorithms for assembly line balancing problems, Journal of Operational Research, 37(6), pp.916–924.
Hu, X.,Erfei, W. &Ye, J. (2008), A station-oriented enumerative algorithm for two-sided assembly line balancing, European Journal of Operational Research, 186(1), pp.435-440.
95
Jackson, J. R. (1956), A computing procedure for a line balancing problem, Management Science, 2(3).
Kim, Y.K., Kim, Y. J. &Kim, Y.(1996),Genetic algorithms for assembly line balancing with various objectives, Computers & Industrial Engineering, 30(3), pp.397-409.
Kim,Y.K.,Kim, Y. & Kim, Y.J. (2010),Two-sided assembly line balancing: a genetic algorithm approach, Production Planning & Control: The Management of Operations, 11(1), pp.44-53.
Kim,Y.K.,Song,W.S. &Kim,J.H.(2009),A mathematical model and a genetic algorithm for two-sided assembly line balancing,Computers & Operations Research, 36,pp.853-865.
Klein, R. & Scholl, A. (1996), Maximizing the production rate in simple assembly line balancing - A branch and bound procedure, European Journal of Operational Research, 91, pp.367-385.
Kilincci, O.(2010), A Petri net-based heuristic forsimpleassemblylinebalancingproblem of type 2, International Journal of Advanced Manufacturing Technology, 46(1-4), pp.329-338.
Lee, T. O., Kim, Y. & Kim, Y. K. (2001), Two-sided assembly line balancing to maximize work relatedness and slackness, Computer & Industrial Engineering, 40, pp.273-292.
Levitin, G., Rubinovitz, J. & Shnits, B. (2006), A genetic algorithm for robotic assembly line balancing, European Journal of Operational Research, 168(8), pp.11-825.
Liu, S.B., Ng, K.M. & Ong, H.L. (2008), Branch-and-bound algorithms for simple assembly line balancing problem, International Journal of Advanced Manufacturing Technology, 36, pp.169-177.
Wei, N.C and Chao, I.M. (2011), A solution procedure for type E simple assembly line balancing problem, Computers & Industrial Engineering, 61(3), pp.824-830.
Salverson, M.E. (1955), The assembly line balancing problem, Journal of Industrial Engineering, 6, pp.18-25.
Scholl, A. (1994), Ein B&B-Verfahren zur Abstimmung von Einprodukt-Fließbändern bei gegebener Stationsanzahl, Dyckhoff, H., Derigs, U., Salomon, M. & Tijms, H.C. (eds.), Operations Research Proceedings, pp.175-181.
Simaria, A.S. and Vilarinho, P.M.(2009), 2-ANTBAL: An ant colony optimisation algorithmfor balancing two-sided assembly lines,Computers & Industrial Engineering, 56,pp. 489-506.
Scalia, C.L., Rosa, M., Giuseppe, A.& Mario, E. (2013), Solving type-2 assembly line balancing problem with fuzzy binary linear programming,Journal of Intelligent and Fuzzy Systems, 25(3), pp.517-524.
Uğur Özcan and Bilal Toklu,(2009), A tabu search algorithm for two-sided assembly line balancing, The International Journal of Advanced Manufacturing Technology, 43(7-8), pp.822-829.
Warshall, S.(1962), A theorem on boolean matrices, Journal of ACM, 9(1), pp.11-12.
97
@sum(di1(K)|D(h) #eq# 1:G*X(H,G,K))))+(@sum(station(g):
@sum(di2(K)|D(h) #eq# 2:G*X(H,G,K))))+(@sum(station(g):
@sum(direction(K)|D(h) #eq# 3:G*X(H,G,K))))<=(@sum(station(j):@sum(di1(K)|D(I) #EQ# 1 :j*X(I,J,K))))+
(@sum(station(j):@sum(di2(K)|D(I) #EQ# 2 :j*X(I,J,K)))+(@sum(station(j):@sum(direction(K)|D(I) #EQ# 3 :j*X(I,J,K)))))));
!任務的優先順序;
@for(task(I):TiF(I)<=cyctime);
!任務結束時間小於等於週期時間;
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 1 #and# D(I) #eq# 1: TiF(I)-TiF(H)+9999*(1-@sum(di1(K):X(H,J,K)))+9999*(1-@sum(di1(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 1 #and# D(I) #eq# 2: TiF(I)-TiF(H)+9999*(1-@sum(di1(K):X(H,J,K)))+9999*(1-@sum(di2(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 1 #and# D(I) #eq# 3: TiF(I)-TiF(H)+9999*(1-@sum(di1(K):X(H,J,K)))+9999*(1-@sum(direction(K):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 2 #and# D(I) #eq# 1: TiF(I)-TiF(H)+9999*(1-@sum(di2(K):X(H,J,K)))+9999*(1-@sum(di1(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 2 #and# D(I) #eq# 2: TiF(I)-TiF(H)+9999*(1-@sum(di2(K):X(H,J,K)))+9999*(1-@sum(di2(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 2 #and# D(I) #eq# 3: TiF(I)-TiF(H)+9999*(1-@sum(di2(K):X(H,J,K)))+9999*(1-@sum(direction(K):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 3 #and# D(I) #eq# 1: TiF(I)-TiF(H)+9999*(1-@sum(direction(K):X(H,J,K)))+9999*(1-@sum(di1(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 3 #and# D(I) #eq# 2: TiF(I)-TiF(H)+9999*(1-@sum(direction(K):X(H,J,K)))+9999*(1-@sum(di2(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 3 #and# D(I) #eq# 3: TiF(I)-TiF(H)+9999*(1-@sum(direction(K):X(H,J,K)))+9999*(1-@sum(direction(K):X(i,J,K)))>=T(I))));
!限制式;
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di1(A)|kip(i,j) #eq# 1:@for(station(k):TiF(J)-TiF(I)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*(1-Z(i,j)))>=T(J)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di2(A)|kip(i,j) #eq# 2:@for(station(k):TiF(J)-TiF(I)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*(1-Z(i,j)))>=T(J)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(direction(A)|kip(i,j) #eq# 3:@for(station(k):TiF(J)-TiF(I)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*(1-Z(i,j)))>=T(J)))));
!限制式;
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di1(A)|kip(i,j) #eq# 1:@for(station(k):TiF(I)-TiF(J)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*Z(i,j))>=T(I)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di2(A)|kip(i,j) #eq# 2:@for(station(k):TiF(I)-TiF(J)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*Z(i,j))>=T(I)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(direction(A)|kip(i,j) #eq# 3:@for(station(k):TiF(I)-TiF(J)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*Z(i,j))>=T(I)))));
!限制式;
@for(station(j):@sum(left(I):@sum(di1(K)|D(I) #EQ# 1:(X(I,J,K)-9999*Yj(j))))<=0);
@for(station(j):@sum(right(I):@sum(di2(K)|D(I) #EQ# 2:(X(I,J,K)-9999*Yj(j))))<=0);
@for(station(j):@sum(either(I):@sum(direction(K)|D(I) #EQ# 3:(X(I,J,K)-9999*Yj(j))))<=0);
@for(task(I):TiF(I)>=T(I));
2.型二問題
@sum(di1(K)|D(h) #eq# 1:G*X(H,G,K))))+(@sum(station(g):
@sum(di2(K)|D(h) #eq# 2:G*X(H,G,K))))+(@sum(station(g):
@sum(direction(K)|D(h) #eq# 3:G*X(H,G,K))))<=(@sum(station(j):@sum(di1(K)|D(I) #EQ# 1 :j*X(I,J,K))))+
(@sum(station(j):@sum(di2(K)|D(I) #EQ# 2 :j*X(I,J,K)))+(@sum(station(j):@sum(direction(K)|D(I) #EQ# 3 :j*X(I,J,K)))))));
!任務的優先順序;
@for(task(I):TiF(I)<=cyctime);
!任務結束時間小於等於週期時間;
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 1 #and# D(I) #eq# 1: TiF(I)-TiF(H)+9999*(1-@sum(di1(K):X(H,J,K)))+9999*(1-@sum(di1(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 1 #and# D(I) #eq# 2: TiF(I)-TiF(H)+9999*(1-@sum(di1(K):X(H,J,K)))+9999*(1-@sum(di2(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 1 #and# D(I) #eq# 3: TiF(I)-TiF(H)+9999*(1-@sum(di1(K):X(H,J,K)))+9999*(1-@sum(direction(K):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 2 #and# D(I) #eq# 1: TiF(I)-TiF(H)+9999*(1-@sum(di2(K):X(H,J,K)))+9999*(1-@sum(di1(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 2 #and# D(I) #eq# 2: TiF(I)-TiF(H)+9999*(1-@sum(di2(K):X(H,J,K)))+9999*(1-@sum(di2(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 2 #and# D(I) #eq# 3: TiF(I)-TiF(H)+9999*(1-@sum(di2(K):X(H,J,K)))+9999*(1-@sum(direction(K):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 3 #and# D(I) #eq# 1: TiF(I)-TiF(H)+9999*(1-@sum(direction(K):X(H,J,K)))+9999*(1-@sum(di1(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 3 #and# D(I) #eq# 2: TiF(I)-TiF(H)+9999*(1-@sum(direction(K):X(H,J,K)))+9999*(1-@sum(di2(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 3 #and# D(I) #eq# 3: TiF(I)-TiF(H)+9999*(1-@sum(direction(K):X(H,J,K)))+9999*(1-@sum(direction(K):X(i,J,K)))>=T(I))));
!限制式19;
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di1(A)|kip(i,j) #eq# 1:@for(station(k):TiF(J)-TiF(I)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*(1-Z(i,j)))>=T(J)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di2(A)|kip(i,j) #eq# 2:@for(station(k):TiF(J)-TiF(I)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*(1-Z(i,j)))>=T(J)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(direction(A)|kip(i,j) #eq# 3:@for(station(k):TiF(J)-TiF(I)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*(1-Z(i,j)))>=T(J)))));
!限制式20;
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di1(A)|kip(i,j) #eq# 1:@for(station(k):TiF(I)-TiF(J)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*Z(i,j))>=T(I)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di2(A)|kip(i,j) #eq# 2:@for(station(k):TiF(I)-TiF(J)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*Z(i,j))>=T(I)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(direction(A)|kip(i,j) #eq# 3:@for(station(k):TiF(I)-TiF(J)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*Z(i,j))>=T(I)))));
!限制式21;
99
@sum(di1(K)|D(h) #eq# 1:G*X(H,G,K))))+(@sum(station(g):
@sum(di2(K)|D(h) #eq# 2:G*X(H,G,K))))+(@sum(station(g):
@sum(direction(K)|D(h) #eq# 3:G*X(H,G,K))))<=(@sum(station(j):@sum(di1(K)|D(I) #EQ# 1 :j*X(I,J,K))))+
(@sum(station(j):@sum(di2(K)|D(I) #EQ# 2 :j*X(I,J,K)))+(@sum(station(j):@sum(direction(K)|D(I) #EQ# 3 :j*X(I,J,K)))))));
!任務的優先順序;
@for(task(I):TiF(I)<=cyctime);
!任務結束時間小於等於週期時間;
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 1 #and# D(I) #eq# 1: TiF(I)-TiF(H)+9999*(1-@sum(di1(K):X(H,J,K)))+9999*(1-@sum(di1(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 1 #and# D(I) #eq# 2: TiF(I)-TiF(H)+9999*(1-@sum(di1(K):X(H,J,K)))+9999*(1-@sum(di2(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 1 #and# D(I) #eq# 3: TiF(I)-TiF(H)+9999*(1-@sum(di1(K):X(H,J,K)))+9999*(1-@sum(direction(K):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 2 #and# D(I) #eq# 1: TiF(I)-TiF(H)+9999*(1-@sum(di2(K):X(H,J,K)))+9999*(1-@sum(di1(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 2 #and# D(I) #eq# 2: TiF(I)-TiF(H)+9999*(1-@sum(di2(K):X(H,J,K)))+9999*(1-@sum(di2(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 2 #and# D(I) #eq# 3: TiF(I)-TiF(H)+9999*(1-@sum(di2(K):X(H,J,K)))+9999*(1-@sum(direction(K):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 3 #and# D(I) #eq# 1: TiF(I)-TiF(H)+9999*(1-@sum(direction(K):X(H,J,K)))+9999*(1-@sum(di1(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 3 #and# D(I) #eq# 2: TiF(I)-TiF(H)+9999*(1-@sum(direction(K):X(H,J,K)))+9999*(1-@sum(di2(k):X(i,J,K)))>=T(I))));
@for(task(I):@for(task(H)|y1(H,I) #EQ# 1:@for(station(J)|D(H)#EQ# 3 #and# D(I) #eq# 3: TiF(I)-TiF(H)+9999*(1-@sum(direction(K):X(H,J,K)))+9999*(1-@sum(direction(K):X(i,J,K)))>=T(I))));
!限制式19;
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di1(A)|kip(i,j) #eq# 1:@for(station(k):TiF(J)-TiF(I)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*(1-Z(i,j)))>=T(J)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di2(A)|kip(i,j) #eq# 2:@for(station(k):TiF(J)-TiF(I)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*(1-Z(i,j)))>=T(J)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(direction(A)|kip(i,j) #eq# 3:@for(station(k):TiF(J)-TiF(I)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*(1-Z(i,j)))>=T(J)))));
!限制式20;
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di1(A)|kip(i,j) #eq# 1:@for(station(k):TiF(I)-TiF(J)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*Z(i,j))>=T(I)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(di2(A)|kip(i,j) #eq# 2:@for(station(k):TiF(I)-TiF(J)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*Z(i,j))>=T(I)))));
@for(task(I):@for(task(J)|y(I,J) #EQ# 1 :@for(direction(A)|kip(i,j) #eq# 3:@for(station(k):TiF(I)-TiF(J)+(9999*(1-X(J,K,A)))+(9999*(1-X(I,K,A)))+(9999*Z(i,j))>=T(I)))));
!限制式21;
@for(station(J):@sum(task(I):@sum(di1(K)|D(I) #EQ# 1:
(X(I,J,K)+(@sum(task(I):@sum(di1(K)|D(I) #EQ# 1:(X(I,J,K))+(@sum(task(I):@sum(di1(K)|D(I) #EQ# 1:(X(I,J,K)))))))))))-(9999*Yj)<=0);
@for(station(J):@sum(task(I):@sum(di2(K)|D(I) #EQ# 2:
(X(I,J,K)+(@sum(task(I):@sum(di2(K)|D(I) #EQ# 2:(X(I,J,K))+(@sum(task(I):@sum(di2(K)|D(I) #EQ# 2:(X(I,J,K)))))))))))-(9999*Yj)<=0);
@for(station(J):@sum(task(I):@sum(direction(K)|D(I) #EQ# 3:
(X(I,J,K)+(@sum(task(I):@sum(direction(K)|D(I) #EQ# 3:(X(I,J,K))+(@sum(task(I):@sum(direction(K)|D(I) #EQ# 3:(X(I,J,K)))))))))))-(9999*Yj)<=0);
@for(task(I):TiF(I)>=T(I));