Mixed-Integer Linear Programming Model and Heuristic for Short-Term Scheduling of Pressing Process in Multi-Layer Printed Circuit Board Manufacturing
Abstract
:1. Introduction
- The laminate sheets are cut to the required size in the cutting process.
- The circuit pattern is created on the cut laminate in the etching process.
- A number of etched laminates (or cores) are stacked together with a prepreg inserted between each pair of them. The stack (or panel) is pressed using heat and pressure in the pressing process.
- Holes will be drilled in the pressed board in the drilling process and the circuit pattern will be made on the outer surfaces.
- The remaining steps are the quality control and labeling processes.
Novelties of the Paper
- This paper proposes a novel mixed integer linear programming (MILP) model for the pressing process scheduling that can find an optimal schedule to meet the objective of maximizing the resource utilization, while the times are continuous values.
- This paper presents a three-phase-PCB-pressing heuristic algorithm (3P-PCB-PH) for solving the pressing process scheduling, based on the proposed MILP, which can find a near-optimal solution within a reasonable computational time and is practical for real-life applications.
2. Problem Description
- Lay-up process phase: The panels are arranged on a selected stainless-steel template (SST), where the number of panels on the SST depends on the size of the SST, the gap between each panel on the SST, and the pattern layout of arrangement. The final arrangement of panels on a SST is called a book. Then, each book is loaded into slots (openings) of a press machine. The number of loaded books is equal to the number of openings of the press machine. This phase takes 120 min.
- Pressing process phase: The press machine that is already loaded with books is sent into an oven, where the books are heated and pressed. After 120 min, the press machine is removed from the oven.
- Cool-down process phase: The pressed books in the press machine are cooled down for 120 min. Finally, the books will be removed from the press machine to complete one cycle of the press machine.
- The three phases of a press machine cycle must be performed continuously (no idle time between phases).
- The number of press machines and ovens are known, and the number of ovens is less than the number of press machines. This is because the cost of an oven is very high, and hence the company usually has a small number of ovens.
- Each press machine has the same number of openings.
- There are many types of panels to press and the demand of each type of panel is given. The type of panel depends on the customer’s design.
- All panels can be finished within the given due date and resources, i.e., the demands of panels, which are inputs from the customer, yield a feasible schedule.
- The maximum number of available cycles of each press machine to be operated within the due date is the same and this value is given. In practice, the production planning department can estimate this value from the order of the customers and the available resources.
- There are many sizes of SSTs, and each size is unlimitedly available.
- The inner gap is the minimal gap among two panels in a book and the outer gap is the minimal gap between each panel and the borders of the SST. The inner gap () and outer gap () of an arrangement of panels on a SST depend on the type of panel and these values are known.
- Only one type of panel can be arranged and pressed in a cycle of a press machine.
- The books that are inserted in the same press machine must have the same layout and the same SST size.
- Each oven can be used by only one press machine at a time to operate the pressing process phase.
- The number of finished goods of each type of panel must be greater than or equal to the demand.
3. Proposed Mathematical Model
4. Proposed 3P-PCB-PH Algorithm
- : the matrix that collects the starting time of cycle of press machine (the starting time of the lay-up process phase). Initially, is set to be .
- : the matrix that collects the completion time of cycle of press machine . Initially, is set to be .
- : the candidate list represents the next earliest available cycle number to use each press machine. Initially, is set to be , i.e., for each press machine, the cycle that is ready to start is cycle 1.
- : A scheduled pressing job which collects the starting and end times of the pressing process phase of a press machine at a cycle, where the , , , and are the starting time, end time, press machine number, and cycle number, respectively. For example, if we have a scheduled pressing job (240, 360, 1, 1), it means that the pressing job occurs from time 240 to 360 min and is the task of press machine 1 at cycle 1.
- : the list of scheduled pressing jobs to use in each oven in a sequential order. Each element in the is also a list, which collects the scheduled pressing job tuples that are assigned in the corresponding oven. Figure 6 shows an example of an when the number of ovens is three and the processing time of the pressing process phase is 120 min. The first list in contains the scheduled pressing jobs that are already assigned to oven 1. There are two pressing jobs in the first list. The first is (120, 240, 1, 1), which means oven 1 has to press from 120 to 240 min and is the task of press machine 1 at cycle 1, while the second is (480, 600, 1, 2) which means oven 1 has to press from 480 to 600 min and is the task of press machine 1 at cycle 2. Similarly, the list for oven 2 has only one job that is already assigned, and there is no job that is currently assigned to oven 3 since the third list is empty. Note that, initially, the list is set to be the list of empty lists . The algorithm for Phase 2 will later populate this list with suitable jobs.
- : the list of idle time intervals of each oven in a sequential order. Each element in the is also a list which collects all the idle time intervals in the corresponding oven. Initially, each oven has only one idle time interval , indicating that no task had been assigned to it yet.
5. Numerical Experiments
5.1. Data
5.2. Test Problems
5.2.1. Small-Sized Test Problems
5.2.2. Medium-Sized Test Problems
5.2.3. Large-Sized Test Problems
5.3. Result of the Test Problems Using the Proposed MILP Model
5.3.1. Results of the Small-Sized Test Problems Using the Proposed MILP Model
5.3.2. Results of the Medium-Sized Test Problems Using the Proposed MILP Model
5.3.3. Results of the Large-Sized Test Problems Using the Proposed MILP Model
5.4. Result of the Test Problems Using the Proposed 3P-PCB-PH Algorithm
5.4.1. Results of the Small-Sized Test Problems Using the Proposed 3P-PCB-PH Algorithm
5.4.2. Results of the Medium-Sized Test Problems Using the Proposed 3P-PCB-PH Algorithm
5.4.3. Results of the Large-Sized Test Problems Using the Proposed 3P-PCB-PH Algorithm
6. Discussion
7. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Khandpur, R.S. Printed Circuit Boards: Design, Fabrication, Assembly and Testing; McGraw-Hill: New York, NY, USA, 2006. [Google Scholar]
- Gilmore, P.C.; Gomory, R.E. Multistage cutting stock problems of two and more dimensions. Oper. Res. 1965, 13, 94–120. [Google Scholar] [CrossRef]
- Macedo, R.; Alves, C.; de Carvalho, J.M.V. Arc-flow model for the two-dimensional guillotine cutting stock problem. Comput. Oper. Res. 2010, 37, 991–1001. [Google Scholar] [CrossRef]
- Mrad, M.; Meftahi, I.; Haouari, M. A branch-and-price algorithm for the two-stage guillotine cutting stock problem. J. Oper. Res. Soc. 2013, 64, 629–637. [Google Scholar] [CrossRef]
- Alvarez-Valdes, R.; Parajon, A.; Tamarit, J.M. A computational study of LP-based heuristic algorithms for two-dimensional guillotine cutting stock problems. OR Spectr. 2002, 24, 179–192. [Google Scholar] [CrossRef]
- Furini, F.; Malaguti, E.; Duran, R.M.; Persiani, A.; Toth, P. A column generation heuristic for the two-dimensional two-staged guillotine cutting stock problem with multiple stock size. Eur. J. Oper. Res. 2012, 218, 251–260. [Google Scholar] [CrossRef]
- Tieng, K.; Sumetthapiwat, S.; Dumrongsiri, A.; Jeenanunta, C. Heuristics for two-dimensional rectangular guillotine cutting stock. Thail. Stat. 2016, 14, 147–164. [Google Scholar]
- Sumetthapiwat, S.; Intiyot, B.; Jeenanunta, C. A column generation on two-dimensional cutting stock problem with fixed-size usable leftover and multiple stock sizes. Int. J. Logist. Manag. 2020, 35, 273–288. [Google Scholar] [CrossRef]
- Onwubolu, G.C.; Clerc, M. Optimal path for automated drilling operations by a new heuristic approach using particle swarm optimization. Int. J. Prod. Res. 2004, 42, 473–491. [Google Scholar] [CrossRef]
- Saealal, M.S.; Abidin, A.F.; Adam, A.; Mukred, J.; Khalil, K.; Yusof, Z.M.; Ibrahim, Z.; Nordin, N. An ant colony system for routing in PCB holes drilling process. IJIMIP 2013, 4, 50–56. [Google Scholar]
- Lim, W.C.E.; Kanagaraj, G.; Ponnambalam, S.G. PCB drill path optimization by combinatorial cuckoo search algorithm. Sci. World J. 2014, 264518. [Google Scholar] [CrossRef]
- Kanagaraj, G.; Ponnambalam, S.G.; Lim, W.C.E. Application of a hybridized cuckoo search-genetic algorithm to path optimization for PCB holes drilling process. In Proceedings of the IEEE International Conference on Automation Science and Engineering, Taipei, Taiwan, 18–22 August 2014; pp. 18–22. [Google Scholar]
- Ji, P.; Sze, M.T.; Lee, W.B. A genetic algorithm of determining cycle time for printed circuit board assembly lines. Eur. J. Oper. Res. 2001, 128, 175–184. [Google Scholar] [CrossRef]
- Kodek, D.M.; Krisper, M. Optimal algorithm for minimizing production cycle time of a printed circuit board assembly line. Int. J. Prod. Res. 2004, 42, 5031–5048. [Google Scholar] [CrossRef]
- Emet, S.; Knuutila, T.; Alhoniemi, E.; Maier, M.; Johnsson, M.; Nevalainen, O.S. Workload balancing in printed circuit board assembly. Int. J. Adv. Manuf. Technol. 2010, 50, 1175–1182. [Google Scholar] [CrossRef]
- He, T.; Li, D.; Yoon, S.W. A heuristic algorithm to balance workloads of high-speed SMT machines in a PCB assembly line. Procedia Manuf. 2017, 11, 1790–1797. [Google Scholar] [CrossRef]
- Damodaran, P.; Srihari, K.; Lam, S.S. Scheduling a capacitated batch-processing machine to minimize makespan. Robot. Comput. Integr. Manuf. 2007, 23, 208–216. [Google Scholar] [CrossRef]
- Damodaran, P.; Diyadawagamage, D.A.; Ghrayeb, O.; Velez-Gallego, M.C. A particle swarm optimization algorithm for minimizing makespan of nonidentical parallel batch processing machines. Int. J. Adv. Manuf. Technol. 2012, 58, 1131–1140. [Google Scholar] [CrossRef]
- Noroozi, A.; Mokhtari, H. Scheduling of printed circuit board (PCB) assembly systems with heterogeneous processors using simulation-based intelligent optimization methods. Neural. Comput. Appl. 2015, 26, 857–873. [Google Scholar] [CrossRef]
- Hulett, M.; Damodaran, P.; Amouie, M. Scheduling non-identical parallel batch processing machines to minimize total weighted tardiness using particle swarm optimization. Comput. Ind. Eng. 2017, 113, 425–436. [Google Scholar] [CrossRef]
- Ozguven, C.; Ozbakir, L.; Yavuz, Y. Mathematical models for job-shop scheduling problems with routing and process plan flexibility. Appl. Math. Model. 2010, 34, 1539–1548. [Google Scholar] [CrossRef]
- Zhang, G.; Gao, L.; Shi, Y. An effective genetic algorithm for the flexible job-shop scheduling problem. Expert Syst. Appl. 2011, 38, 3563–3573. [Google Scholar] [CrossRef]
- Li, X.; Gao, L. An effective hybrid genetic algorithm and tabu search for flexible job shop scheduling problem. Int. J. Prod. Econ. 2016, 174, 93–110. [Google Scholar] [CrossRef]
- Luan, F.; Cai, Z.; Wu, S.; Liu, S.Q.; He, Y. Optimizing the low-carbon flexible job shop scheduling problem with discrete whale optimization algorithm. Mathematics 2019, 7, 688. [Google Scholar] [CrossRef] [Green Version]
- Pan, C.H. A study of integer programming formulations for scheduling problems. Int. J. Syst. Sci. 1997, 28, 33–41. [Google Scholar] [CrossRef]
Panel | ||||
---|---|---|---|---|
1 | 20.5 | 24 | 0.5 | 0.25 |
2 | 25.65 | 22.25 | 1 | 0.5 |
3 | 26 | 24 | 0.5 | 0.25 |
4 | 26.5 | 22.5 | 1 | 0.5 |
5 | 19 | 22.25 | 0.5 | 0.25 |
6 | 15 | 23.8 | 0.5 | 0.25 |
7 | 27.75 | 20.5 | 0.5 | 0.25 |
Stainless-Steel | ||
---|---|---|
1 | 50 | 44 |
2 | 50 | 53 |
3 | 50 | 56 |
4 | 50 | 58 |
5 | 43 | 25.5 |
6 | 43 | 27 |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 |
No. | |||||||
---|---|---|---|---|---|---|---|
1 | 3 | 6 | 8 | 3 | 2 | 6 | 110, 150, 125 |
2 | 3 | 6 | 8 | 3 | 2 | 8 | 200, 220, 230 |
3 | 3 | 6 | 8 | 3 | 2 | 12 | 270, 250, 210 |
4 | 3 | 6 | 8 | 4 | 2 | 6 | 110, 150, 125 |
5 | 3 | 6 | 8 | 4 | 3 | 6 | 110, 150, 125 |
No. | |||||||
---|---|---|---|---|---|---|---|
1 | 3 | 6 | 8 | 6 | 3 | 6 | 300, 300, 300 |
2 | 3 | 6 | 8 | 6 | 3 | 8 | 450, 480, 500 |
3 | 3 | 6 | 8 | 6 | 3 | 12 | 720, 900, 600 |
4 | 4 | 6 | 8 | 6 | 3 | 6 | 200, 300, 400, 100 |
5 | 4 | 6 | 8 | 6 | 3 | 8 | 300, 400, 200, 500 |
6 | 4 | 6 | 8 | 6 | 3 | 12 | 500, 700, 700, 500 |
7 | 5 | 6 | 8 | 6 | 3 | 6 | 200, 250, 200, 250, 200 |
8 | 5 | 6 | 8 | 6 | 3 | 8 | 400, 300, 200, 250, 300 |
No. | |||||||
---|---|---|---|---|---|---|---|
1 | 5 | 6 | 8 | 6 | 3 | 12 | 500, 500, 500, 500, 500 |
2 | 5 | 6 | 8 | 7 | 3 | 12 | 500, 500, 500, 500, 500 |
3 | 5 | 6 | 8 | 6 | 4 | 12 | 500, 500, 500, 500, 500 |
4 | 6 | 6 | 8 | 6 | 3 | 12 | 500, 360, 220, 180, 380, 720 |
5 | 6 | 6 | 8 | 7 | 3 | 12 | 500, 360, 220, 180, 380, 720 |
6 | 6 | 6 | 8 | 6 | 4 | 12 | 500, 360, 220, 180, 380, 720 |
7 | 7 | 6 | 8 | 6 | 3 | 12 | 300, 325, 290, 425, 450, 475, 200 |
8 | 7 | 6 | 8 | 7 | 3 | 12 | 300, 325, 290, 425, 450, 475, 200 |
9 | 7 | 6 | 8 | 6 | 4 | 12 | 300, 325, 290, 425, 450, 475, 200 |
No. | Model Size | Results | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Binary | Continuous | Constraint | Outputs | CPU Time | |||||||||
1 | 3 | 6 | 8 | 3 | 2 | 6 | 110, 150, 125 | 3060 | 128 | 3741 | 120, 160, 160 | 2.31 s | 1440 a |
2 | 3 | 6 | 8 | 3 | 2 | 8 | 200, 220, 230 | 4272 | 170 | 5373 | 200, 240, 240 | 2.48 s | 2160 a |
3 | 3 | 6 | 8 | 3 | 2 | 12 | 270, 250, 210 | 6984 | 254 | 9213 | 280, 280, 240 | 3.21 s | 2520 a |
4 | 3 | 6 | 8 | 4 | 2 | 6 | 110, 150, 125 | 4368 | 170 | 5563 | 120, 160, 160 | 8.15 s | 1200 a |
5 | 3 | 6 | 8 | 4 | 3 | 6 | 110, 150, 125 | 4824 | 218 | 6499 | 120, 160, 160 | 3.18 s | 1080 a |
No. | Model Size | Results | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Binary | Continuous | Constraint | Outputs | CPU Time | |||||||||
1 | 3 | 6 | 8 | 6 | 3 | 6 | 300, 300, 300 | 8532 | 326 | 12,339 | 320, 320, 320 | 32.81 s | 1560 a |
2 | 3 | 6 | 8 | 6 | 3 | 8 | 450, 480, 500 | 12,816 | 434 | 19,335 | 480, 480, 520 | 16.79 s | 2520 a |
3 | 3 | 6 | 8 | 6 | 3 | 12 | 720, 900, 600 | 23,544 | 650 | 37,647 | 720, 920, 600 | 1 min 28 s | 3600 a |
4 | 4 | 6 | 8 | 6 | 3 | 6 | 200, 300, 400, 100 | 10,260 | 326 | 14,068 | 200, 320, 400, 120 | 20.65 s | 1800 a |
5 | 4 | 6 | 8 | 6 | 3 | 8 | 300, 400, 200, 500 | 15,120 | 434 | 21,640 | 320, 400, 200, 520 | 3 min 59 s | 2280 a |
6 | 4 | 6 | 8 | 6 | 3 | 12 | 500, 700, 700, 500 | 27,000 | 650 | 41,104 | 520, 720, 720, 520 | 4 min 2 s | 3960 a |
7 | 5 | 6 | 8 | 6 | 3 | 6 | 200, 250, 200, 250, 200 | 11,988 | 326 | 15,797 | 200, 280, 200, 280, 200 | 9 min 31 s | 1920 a |
8 | 5 | 6 | 8 | 6 | 3 | 8 | 400, 300, 200, 250, 300 | 17,424 | 434 | 23,945 | 400, 320, 200, 280, 320 | 49.31 s | 2520 a |
No. | Model size | Results | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Binary | Continuous | Constraint | Outputs | CPU Time | |||||||||
1 | 5 | 6 | 8 | 6 | 3 | 12 | 500, 500, 500, 500, 500 | 30,456 | 650 | 44,561 | 520, 520, 520, 520, 520 | 44 min 38 s | 4080 a |
2 | 5 | 6 | 8 | 7 | 3 | 12 | 500, 500, 500, 500, 500 | 38,556 | 758 | 58,035 | 520, 520, 520, 520, 520 | 23 min 42 s | 3600 a |
3 | 5 | 6 | 8 | 6 | 4 | 12 | 500, 500, 500, 500, 500 | 34,848 | 794 | 53,417 | 520, 520, 520, 520, 520 | 2 h | 4080 b |
4 | 6 | 6 | 8 | 6 | 3 | 12 | 500, 360, 220, 180, 380, 720 | 33,912 | 650 | 48,018 | 520, 360, 240, 200, 400, 770 | 48 min 14 s | 3360 a |
5 | 6 | 6 | 8 | 7 | 3 | 12 | 500, 360, 220, 180, 380, 720 | 42,588 | 758 | 62,068 | 520, 360, 240, 200, 400, 770 | 2 h | 3000 b |
6 | 6 | 6 | 8 | 6 | 4 | 12 | 500, 360, 220, 180, 380, 720 | 38,304 | 794 | 56,874 | 520, 360, 240, 200, 400, 770 | 2 h | 3360 b |
7 | 7 | 6 | 8 | 6 | 3 | 12 | 300, 325, 290, 425, 450, 475, 200 | 37,368 | 650 | 51,475 | 320, 360, 320, 440, 480, 490, 200 | 2 h | 3720 b |
8 | 7 | 6 | 8 | 7 | 3 | 12 | 300, 325, 290, 425, 450, 475, 200 | 46,620 | 758 | 66,101 | 320, 360, 320, 440, 480, 490, 200 | 2 h | 3360 b |
9 | 7 | 6 | 8 | 6 | 4 | 12 | 300, 325, 290, 425, 450, 475, 200 | 41,760 | 794 | 60,331 | 320, 360, 320, 440, 480, 490, 200 | 2 h | 3720 b |
Press Machine | Non-Zero |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 |
Press Machine | Non-Zero |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 |
No. | Results Using Proposed MILP Model | Results Using Proposed 3P-PCB-PH Algorithm | %gap | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Outputs | CPU Time | Outputs | Avg CPU Time (SD) | |||||||||||
1 | 3 | 6 | 8 | 3 | 2 | 6 | 110, 150, 125 | 120, 160, 160 | 2.31 s | 1440 a | 120, 160, 160 | 0.00349 s (0.00085 s) | 1440 a | 0% |
2 | 3 | 6 | 8 | 3 | 2 | 8 | 200, 220, 230 | 200, 240, 240 | 2.48 s | 2160 a | 200, 240, 240 | 0.00488 s (0.00246 s) | 2160 a | 0% |
3 | 3 | 6 | 8 | 3 | 2 | 12 | 270, 250, 210 | 280, 280, 240 | 3.21 s | 2520 a | 280, 280, 240 | 0.00658 s (0.00346 s) | 2520 a | 0% |
4 | 3 | 6 | 8 | 4 | 2 | 6 | 110, 150, 125 | 120, 160, 160 | 8.15 s | 1200 a | 120, 160, 160 | 0.00598 s (0.00342 s) | 1200 a | 0% |
5 | 3 | 6 | 8 | 4 | 3 | 6 | 110, 150, 125 | 120, 160, 160 | 3.18 s | 1080 a | 120, 160, 160 | 0.00509 s (0.00371 s) | 1080 a | 0% |
No. | Results Using Proposed MILP Model | Results Using Proposed 3P-PCB-PH Algorithm | %gap | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Outputs | CPU Time | Outputs | Avg CPU Time (SD) | |||||||||||
1 | 3 | 6 | 8 | 6 | 3 | 6 | 300, 300, 300 | 320, 320, 320 | 32.81 s | 1560 a | 320, 320, 320 | 0.00469 s (0.00141 s) | 1560 a | 0% |
2 | 3 | 6 | 8 | 6 | 3 | 8 | 450, 480, 500 | 480, 480, 520 | 16.79 s | 2520 a | 480, 480, 520 | 0.00519 s (0.00248 s) | 2520 a | 0% |
3 | 3 | 6 | 8 | 6 | 3 | 12 | 720, 900, 600 | 720, 920, 600 | 1 min 28 s | 3600 a | 720, 920, 600 | 0.00658 s (0.00245 s) | 3600 a | 0% |
4 | 4 | 6 | 8 | 6 | 3 | 6 | 200, 300, 400, 100 | 200, 320, 400, 120 | 20.65 s | 1800 a | 200, 320, 400, 120 | 0.00599 s (0.00266 s) | 1800 a | 0% |
5 | 4 | 6 | 8 | 6 | 3 | 8 | 300, 400, 200, 500 | 320, 400, 200, 520 | 3 min 59 s | 2280 a | 320, 400, 200, 520 | 0.00768 s (0.00342 s) | 2280 a | 0% |
6 | 4 | 6 | 8 | 6 | 3 | 12 | 500, 700, 700, 500 | 520, 720, 720, 520 | 4 min 2 s | 3960 a | 520, 720, 720, 520 | 0.00927 s (0.00509 s) | 3960 a | 0% |
7 | 5 | 6 | 8 | 6 | 3 | 6 | 200, 250, 200, 250, 200 | 200, 280, 200, 280, 200 | 9 min 31 s | 1920 a | 200, 280, 200, 280, 200 | 0.00768 s (0.00282 s) | 1920 a | 0% |
8 | 5 | 6 | 8 | 6 | 3 | 8 | 400, 300, 200, 250, 300 | 400, 320, 200, 280, 320 | 49.31 s | 2520 a | 400, 320, 200, 280, 320 | 0.00909 s (0.00331 s) | 2520 a | 0% |
No. | Results Using Proposed MILP Model | Results Using Proposed 3P-PCB-PH Algorithm | %gap | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Outputs | CPU Time | Outputs | Avg CPU Time (SD) | |||||||||||
1 | 5 | 6 | 8 | 6 | 3 | 12 | 500, 500, 500, 500, 500 | 520, 520, 520, 520, 520 | 44 min 38 s | 4080 a | 520, 520, 520, 520, 520 | 0.00928 s (0.00346 s) | 4080 a | 0% |
2 | 5 | 6 | 8 | 7 | 3 | 12 | 500, 500, 500, 500, 500 | 520, 520, 520, 520, 520 | 23 min 42 s | 3600 a | 520, 520, 520, 520, 520 | 0.00918 s (0.00297 s) | 3600 a | 0% |
3 | 5 | 6 | 8 | 6 | 4 | 12 | 500, 500, 500, 500, 500 | 520, 520, 520, 520, 520 | 2 h | 4080 b | 520, 520, 520, 520, 520 | 0.00987 s (0.00447 s) | 4080 | 0% c |
4 | 6 | 6 | 8 | 6 | 3 | 12 | 500, 360, 220, 180, 380, 720 | 520, 360, 240, 200, 400, 770 | 48 min 14 s | 3360 a | 520, 360, 240, 200, 400, 770 | 0.00997 s (0.00326 s) | 3360 a | 0% |
5 | 6 | 6 | 8 | 7 | 3 | 12 | 500, 360, 220, 180, 380, 720 | 520, 360, 240, 200, 400, 770 | 2 h | 3000 b | 520, 360, 240, 200, 400, 770 | 0.00908 s (0.00291 s) | 3000 | 0% c |
6 | 6 | 6 | 8 | 6 | 4 | 12 | 500, 360, 220, 180, 380, 720 | 520, 360, 240, 200, 400, 770 | 2 h | 3360 b | 520, 360, 240, 200, 400, 770 | 0.00993 s (0.00575 s) | 3360 | 0% c |
7 | 7 | 6 | 8 | 6 | 3 | 12 | 300, 325, 290, 425, 450, 475, 200 | 320, 360, 320, 440, 480, 490, 200 | 2 h | 3720 b | 320, 360, 320, 440, 480, 490, 200 | 0.01015 s (0.00319 s) | 3720 | 0% c |
8 | 7 | 6 | 8 | 7 | 3 | 12 | 300, 325, 290, 425, 450, 475, 200 | 320, 360, 320, 440, 480, 490, 200 | 2 h | 3360 b | 320, 360, 320, 440, 480, 490, 200 | 0.01250 s (0.00504 s) | 3360 | 0% c |
9 | 7 | 6 | 8 | 6 | 4 | 12 | 300, 325, 290, 425, 450, 475, 200 | 320, 360, 320, 440, 480, 490, 200 | 2 h | 3720 b | 320, 360, 320, 440, 480, 490, 200 | 0.01057 s (0.00566 s) | 3720 | 0% c |
Press Machine | Non-Zero |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 |
Press Machine | Non-Zero |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Laisupannawong, T.; Intiyot, B.; Jeenanunta, C. Mixed-Integer Linear Programming Model and Heuristic for Short-Term Scheduling of Pressing Process in Multi-Layer Printed Circuit Board Manufacturing. Mathematics 2021, 9, 653. https://doi.org/10.3390/math9060653
Laisupannawong T, Intiyot B, Jeenanunta C. Mixed-Integer Linear Programming Model and Heuristic for Short-Term Scheduling of Pressing Process in Multi-Layer Printed Circuit Board Manufacturing. Mathematics. 2021; 9(6):653. https://doi.org/10.3390/math9060653
Chicago/Turabian StyleLaisupannawong, Teeradech, Boonyarit Intiyot, and Chawalit Jeenanunta. 2021. "Mixed-Integer Linear Programming Model and Heuristic for Short-Term Scheduling of Pressing Process in Multi-Layer Printed Circuit Board Manufacturing" Mathematics 9, no. 6: 653. https://doi.org/10.3390/math9060653
APA StyleLaisupannawong, T., Intiyot, B., & Jeenanunta, C. (2021). Mixed-Integer Linear Programming Model and Heuristic for Short-Term Scheduling of Pressing Process in Multi-Layer Printed Circuit Board Manufacturing. Mathematics, 9(6), 653. https://doi.org/10.3390/math9060653