帳號:guest(52.15.148.187)          離開系統
字體大小: 字級放大   字級縮小   預設字形  

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):董冠廷
作者(外文):Tung, Kuan-Ting
論文名稱(中文):平行運算之動態規劃求解訂單選擇與排程問題
論文名稱(外文):Parallel Computation Dynamic Programming for Solving Order Selection and Scheduling Problems
指導教授(中文):洪一峯
指導教授(外文):Hung, Yi-Feng
口試委員(中文):吳建瑋
李雨青
李政崑
口試委員(外文):Wu, Chien-Wei
Lee, Yu-Ching
Lee, Jenq-Kuen
學位類別:碩士
校院名稱:國立清華大學
系所名稱:工業工程與工程管理學系
學號:104034536
出版年(民國):106
畢業學年度:105
語文別:英文
論文頁數:72
中文關鍵詞:產出最大化問題生產排程訂單選擇與排程分枝界限法動態規劃OpenMP
外文關鍵詞:throughput maximization problemproduction schedulingorder selection and schedulingbranch-and-bounddynamic programmingOpenMP
相關次數:
  • 推薦推薦:0
  • 點閱點閱:675
  • 評分評分:*****
  • 下載下載:0
  • 收藏收藏:0
此篇研究所探討的問題同時考慮訂單選擇(order selection)與生產排程(production scheduling)。在排程的文獻裡,一筆訂單可視為一個工件。各個工件有其各自的可加工時間(ready date)、交期(due date)、所需加工時間(processing time)和權重(weight)。對於一個工件而言,只能被挑選在可加工時間到工件交期的時段內加工或是被拒絕。因此,一個工件不能被分段加工。此研究的目的在於工件的選擇與排程以最大化所選工件權重總和,以往文獻將此類型問題稱為產出最大化問題(throughput maximization problem)。
針對此問題,本篇研究利用三種不同方法求解並比較其效率,分別為(1)混和整數規劃(mixed integer programming);(2)動態規劃法(dynamic programming)和(3)平行動態規劃法(parallel dynamic programming)。其中,第一個方法由Lin (2013)提出,可以透過多執行緒平行求解軟體GUROBI加以求解。接著,Lee (2014)進一步提出動態規劃法,利用記憶方案(memory scheme)來記錄先前所求得子問題的解,目的在於縮短求解時間。由於現今多核心CPU技術的普及和進步,本篇研究利用OpenMP來將動態規劃法平行化,透過多執行緒來提高求解的效率。
從實驗結果顯示,平行動態規劃結合子記憶結構相對於其餘方法,可以在較短的時間內完成最佳化的求解。由於平行動態規劃利用多執行緒來進行求解,透過增加執行緒的數量,將能更進一步提升其求解效率。
This study investigates a problem that involves the decisions on both orders’ selection and scheduling. An order is often referred as a job in scheduling literatures. Each of the considered jobs is associated with a ready date, a due date, a processing time, and a weight. A job is either fully completed between its ready and due date or totally rejected; that is, a job will not be partially made. The focus of this study is to determine how to select and sequence the jobs on a single machine with the objective of maximizing the total profit of selected jobs. Such a problem is called throughput maximization problem (TMP) in existing literatures.
Three approaches are tested and compared in this study, including (1) mixed integer programming (MIP), (2) dynamic programming (DP), and (3) parallel dynamic programming. The first method is proposed by Lin (2013), which are solved by GUROBI MIP solver (GUROBI, 2017) that utilizes multiple threads for parallel computation. Later, Lee (2014) proposed a DP approach with memory scheme, which records the solutions of previous solved sub-problems to reduce the computation time. Taking advantage of the popularity and advances in today’s multi-core CPU techniques, the parallel DP with multiple threads using OpenMP is proposed in this study to further improve the solution efficiency.
The experiment results show that parallel DP with sub-hashing tables requires less computation time to solve a problem than MIP and original DP. Since the solution procedure of parallel DP is done using multiple threads, the solution efficiency can be further improved by having CPU with more threads, a foreseeable development in near future.
摘要 I
Abstract II
TABLE OF CONTENTS III
LIST OF FIGURES V
LIST OF TABLES VI
1. Introduction 1
2. Literature Review 6
2.1. TMP 6
2.1.1. TMP under Various Assumptions 6
2.1.2. Application of TMP 8
2.2. Parallel Computation Application on Scheduling 8
3. Solution Methods 10
3.1. Mixed Integer Programming (MIP) 10
3.2. Implicit Enumeration (IE) 12
3.2.1. Partial Ordering 14
3.2.2. Dominance Rules 15
3.2.3. IE Using Depth-First Search 19
3.3. Dynamic Programming (DP) 21
3.3.1. The Formulations of DP Approach 23
3.3.2. Reduction of State Variables 24
3.3.3. The Structure of Memory Scheme 27
3.3.4. The Application of Memory Scheme 29
3.3.5. The Procedure of DP Approach 30
3.3.6 An Example of DP Approach 32
3.4. Parallel DP Approach 35
3.4.1. OpenMP 36
3.4.2. The Application of OpenMP 36
3.4.3. The Generation Procedure of Sub-trees 40
3.4.4. The Structure of Sub-hashing Tables 41
3.4.5. Implementation of Parallel DP Approach 43
4. Computation Experiments 44
4.1. Experiment Design 44
4.1.1. Experiment Parameters 44
4.1.2. Problem Generation Procedure 45
4.1.3. Experiment Setting 46
4.2. Result and Analysis 47
4.2.1. Validation of the Effectiveness of Sub-hashing Table 47
4.2.2. Validation of the Efficiency of Multiple Threads 48
4.2.3. Comparisons on Various Methods 50
4.2.4. Average Progressive Curves of Various Methods 51
4.2.5. Effects of Various Control Factors on Computation Time 52
5. Conclusions 55
Appendix 57
Reference 67

Adler, M., Sitaraman, R. K., Rosenberg, A. L. and Unger, W. (1998), Scheduling time-constrained communication in linear networks. Proceedings of the tenth Annual ACM Symposium on Parallel Algorithms and Architectures, New York, USA, pp. 269-278.
AitZai, A., and Boudhar, M. (2013), “Parallel branch-and-bound and parallel PSO algorithms for job shop scheduling problem with blocking”, International Journal of Operational Research, Vol. 16, Issue. 1, pp. 14-37.
AitZai, A., Benmedjdoub, B., and Boudhar, M. (2012), “A branch and bound and parallel genetic algorithm for the job shop scheduling problem with blocking”, International Journal of Operational Research, Vol. 14, Issue. 3, pp. 343-365.
AitZai, A., Boudhar, M., and Dabah, A. (2013), Parallel CPU and GPU Computations to Solve the Job Shop Scheduling Problem with Blocking, IEEE High Performance Extreme Computing Conference, Waltham, USA.
Akhshabi, M., Haddadnia, J., and Akhshabi, M. (2012), “Solving flow shop scheduling problem using a parallel genetic algorithm”, Procedia Technology, Vol. 1, pp. 351-355.
Baptiste, P. (1999), “Polynomial time algorithms for minimizing the weighted number of late jobs on a single machine with equal processing time”, Journal of Scheduling, Vol. 2, No. 6, pp. 245-252.
Baptiste, P., Carlier, J. and Jouglet, A. (2004), “A branch-and-bound procedure to minimize total tardiness on one machine with arbitrary release dates”, European journal of operational research, Vol. 158, Issue. 3, pp. 595-608.
Bar-Noy, A., Bar-Yehuda, R., Freund, A., Naor, J. and Schieber, B. (2001a), “A unified approach to approximating resource allocation and scheduling”, Journal of the ACM, Vol. 48, No. 5, pp. 1069-1090.
Bar-Noy, A., Guha, S., Naor, J. and Schieber, B. (2001b), “Approximating the throughput of multiple machines in real-time scheduling”, SLAM Journal on Computing, Vol. 31, No. 2, pp.331-352.
Berman, P. and DasGupta, B. (2000), “Multi-phase algorithms for throughput maximization for real-time scheduling”, Journal of Combinatorial Optimization, Vol. 4, No. 3, pp. 307-323.
Bożejko, W., and Wodecki, M. (2002), Solving the Flow Shop Problem by Parallel Tabu Search, IEEE International Conference Parallel Computing in Electrical Engineering, Warsaw, Poland, pp. 189-194.
Bożejko, W., and Wodecki, M. (2003), Parallel Genetic Algorithm for the Flow Shop Scheduling Problem, International Conference on Parallel Processing and Applied Mathematics, Czestochowa, Poland, pp. 566-571.
Bożejko, W., and Wodecki, M. (2008), Parallel Scatter Search Algorithm for the Flow Shop Sequencing Problem, International Conference on Parallel Processing and Applied Mathematics, Gdańsk, Poland, pp. 180-188.
Cesaret, B., Oğuz, C., and Salman, F. S. (2012), “A tabu search algorithm for order acceptance and scheduling”, Computers & Operations Research, Vol. 39, Issue. 6, pp. 1197-1205.
Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J. and Menon, R. (2001), Parallel programming in openMP, San Diego, USA.
Chapman, B., Jost, G. and Van Der Pas, R. (2007), Using OpenMP: portable shared memory parallel programming, Massachusetts, USA.
Chuzhoy, J., and Ostrovsky, R. (2001), Approximation Algorithms for the Job Interval Selection Problem and Related Scheduling Problems, IEEE Foundations of Computer Science Conference, Las Vegas, Nevada, USA, pp. 348-356.
Chuzhoy, J., Ostrovsky, R., and Rabani, Y. (2006), “Approximation algorithms for the job interval selection problem and related scheduling problems”, Journal Mathematics of Operations Research, Vol. 31, No. 4, pp. 730-738.
Czapiński, M. (2010), “Parallel simulated annealing with genetic enhancement for flowshop problem with C sum”, Computers & Industrial Engineering, Vol. 59, Issue. 4, pp. 778-785.
Dagum, L. and Menon, R. (1998), “OpenMP: and industry standard API for shared-memory programming”, IEEE Computational Science and Engineering, Vol. 5, No. 1, pp. 46-55.
Defersha, F. M., and Chen, M. (2010), “A parallel genetic algorithm for a flexible job-shop scheduling problem with sequence dependent setups”, The international journal of advanced manufacturing technology, Vol. 49, Issue. 1, pp. 263-279.
Der, U., and Steinhöfel, K. (2000), A Parallel Implementation of a Job Shop Scheduling Heuristic, International Workshop on Applied Parallel Computing, Bergen, Norway, pp. 215-222.
Esmaeilbeigi, R., Charkhgard, P., and Charkhgard, H. (2016), “Order acceptance and scheduling problems in two-machine flow shops: New mixed integer programming formulations”, European Journal of Operational Research, Vol. 251, Issue. 2, pp. 419-431.
Gao, J. (2005), A Parallel Hybrid Genetic Algorithm for Solving a Kind of Non-Identical Parallel Machine Scheduling Problems, 2005 IEEE High-Performance Computing Conference, Beijing, China, pp. 469-472.
Gao, J., He, G., and Wang, Y. (2009), “A new parallel genetic algorithm for solving multiobjective scheduling problems subjected to special process constraint”, The International Journal of Advanced Manufacturing Technology, Vol. 43, Issue. 1, pp. 151-160.
Geramipour, S., Moslehi, G., and Reisi-Nafchi, M. (2017), “Maximizing the profit in customer’s order acceptance and scheduling problem with weighted tardiness penalty”, Journal of the Operational Research Society, Vol. 68, Issue. 1, pp. 89-101.
Ghosh, J. B. (1997), “Job selection in heavily loaded shop”, Computers and Operations Research, Vol. 24, No. 2, pp. 141-145.
Graham, R. L., Lawler, E. L., Lenstra, J. K., and Kan, A. R. (1979), “Optimization and approximation in deterministic sequencing and scheduling: a survey”, Annals of Discrete Mathematics, Vol. 5, pp. 287-326.
Juraszek, J., Pesch, E., and Sterna, M. (2009), Simulated Annealing Method for Maximizing Revenue on Parallel Machines, Multidisciplinary International Conference on Scheduling: Theory and Application, Dublin, Ireland, pp.699-701.
Karp, R. M. (1972), Reducibility among Combinational Problems, Complexity of Computer Computations (R. E. Miller and J. W. Thatcher, eds.), Plenum Press, pp. 85-103.
Lee, C. J. (2014), “Solving order selection and scheduling problems by dynamic programming with memory scheme”, Unpublished master’s thesis, Department of Industrial Engineering and Engineering Management, National Tsing Hua University.
Lee, C. Y., and Kim, S. J. (1995), “Parallel genetic algorithms for the earliness-tardiness job scheduling problem with general penalty weights”, Computers & industrial engineering, Vol. 28, Issue.2, pp. 231-243.
Lin, J. S. (2013), “Optimization approaches for single machine throughput maximization scheduling”, Unpublished master’s thesis, Department of Industrial Engineering and Engineering Management, National Tsing Hua University.
Nguyen, S., Zhang, M., and Johnston, M. (2014), Enhancing Branch-and-Bound Algorithms for Order Acceptance and Scheduling with Genetic Programming, European Conference on Genetic Programming, Granada, Spain, pp. 124-136.
Nobibon, F. T. and Leus, R. (2011), “Exact algorithms for a generalization of the order acceptance and scheduling problem in a single-machine environment”, Computers & Operations Research, Vol. 38, Issue. 1, pp. 367-378.
Nowicki, E. and Zdrzalka, S. (1990), “A survey or results for sequencing problems with controllable processing time”, Discrete Applied Mathematics, Vol. 26, Issue. 2-3, pp. 271-287.
Park, J., Nguyen, S., Zhang, M., and Johnston, M. (2013), Genetic Programming for Order Acceptance and Scheduling, IEEE Congress on Evolutionary Computation (CEC), Cancun, Mexico, pp. 1005-1012.
Perregaard, M., and Clausen, J. (1998), “Parallel branch-and-bound methods for the job-shop scheduling problem”, Annals of Operations Research, Vol. 83, pp. 137-160.
Rashidi, E., Jahandar, M., and Zandieh, M. (2010), “An improved hybrid multi-objective parallel genetic algorithm for hybrid flow shop scheduling with unrelated parallel machines”, The International Journal of Advanced Manufacturing Technology, Vol. 49, Issue. 9, pp. 1129-1139.
Rom, W. O. and Slotnick, S. A. (2009), “Order acceptance using genetic algorithms”, Computers & Operations Research, Vol. 36, No. 6, 1758-1767.
Sahni, S. K. (1976), “Algorithms for scheduling independent tasks”, Journal of the Association for Computing Machinery, Vol. 23, No. 1, pp. 116-127.
Slotnick, S. A. and Morton, T. E. (1996), “Selecting jobs for a heavily loaded shop with lateness penalties”, Computers and Operations Research, Vol. 23, No. 2, pp. 131-140.
Slotnick, S. A. and Morton, T. E. (2007), “Order acceptance with weighted tardiness”, Computers & Operations Research, Vol. 34, Issue. 10, pp. 3029-3042.
Spieksma, F. C. (1999), “On the approximability of an interval scheduling problem”, Journal of Scheduling, Vol. 2, No. 5, pp. 215-227.
Steinhöfel, K., Albrecht, A., and Wong, C. K. (2002), “Fast parallel heuristics for the job shop scheduling problem”, Computers & Operations Research, Vol. 29, Issue. 2, pp. 151-169.
Taillard, E. D. (1994), “Parallel taboo search techniques for the job shop scheduling problem”, ORSA journal on Computing, Vol. 6, Issue. 2, pp. 108-117.
Wang, X., Huang, G., Hu, X., and Cheng, T. E. (2015), “Order acceptance and scheduling on two identical parallel machines”, Journal of the Operational Research Society, Vol. 66, Issue. 10, pp. 1755-1767.
Wang, X., Xie, X., and Cheng, T. C. E. (2013a), “A modified artificial bee colony algorithm for order acceptance in two-machine flow shops”, International Journal of Production Economics, Vol. 141, Issue. 1, pp. 14-23.
Wang, X., Xie, X., and Cheng, T. C. E. (2013b), “Order acceptance and scheduling in a two-machine flowshop”, International Journal of Production Economics, Vol. 141, Issue. 1, pp. 366-376.
Wodecki, M., and Bożejko, W. (2001), Solving the Flow Shop Problem by Parallel Simulated Annealing, International Conference on Parallel Processing and Applied Mathematics, Naleczów, Poland, pp. 236-244.
Yang, B. and Geunes, J. (2007), “A single resource scheduling problem with job-selection flexibility, tardiness costs and controllable processing times”, Computers & Industrial Engineering, Vol. 53, Issue. 3, pp. 420-432.
Yang, W. H. (2009), “Scheduling jobs on a single machine to maximize the total revenue of jobs”, Computers& Operations Research, Vol. 36, Issue. 2, pp. 565-583.

(此全文未開放授權)
電子全文
中英文摘要
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *