Workload Balancing on Identical Parallel Machines: Theoretical and Computational Analysis
Abstract
:1. Introduction
2. Problem Description
2.1. Preliminary Notations and Assumptions
2.2. Performance Criteria for Workload Balancing
3. Theoretical Analysis of Different Criteria
3.1. Case with Identical Jobs
3.2. Case with Different Blocks of Identical Jobs
3.3. General Case with Different Jobs
3.4. Case with Two Machines
3.5. Case with More Than Two Machines
4. Mathematical Formulations
4.1. Mixed-Integer Quadratic Programming (MIQ1)
4.2. Mixed-Integer Quadratic Programming with Cuts (MIQ2)
4.3. Mixed-Integer Linear Programming (MILP)
5. Computational Analysis
5.1. Benchmarks
5.2. Results
- max time: maximal solving time.
- min time: minimal solving time.
- avg time: average solving time.
- opt: number of instances which are solved to optimality within the solving time limit fixed to 300 s.
5.2.1. Dataset DM
5.2.2. Dataset HGJ
6. Conclusions and Perspectives
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Fan, Q.; Ansari, N. Towards Workload Balancing in Fog Computing Empowered IoT. IEEE Trans. Netw. Sci. Eng. 2020, 7, 253–262. [Google Scholar] [CrossRef]
- Florescu, A.; Barabas, S.A. Modeling and Simulation of a Flexible Manufacturing System—A Basic Component of Industry 4.0. Appl. Sci. 2020, 10, 8300. [Google Scholar] [CrossRef]
- Li, D.; Tang, H.; Wang, S.; Liu, C. A big data enabled load-balancing control for smart manufacturing of Industry 4.0. Cluster Comput. 2017, 20, 1855–1864. [Google Scholar] [CrossRef]
- Asensio-Cuesta, S.; Diego-Mas, J.A.; Canós-Darós, L.; Andrés-Romano, C. A genetic algorithm for the design of job rotation schedules considering ergonomic and competence criteria. Int. J. Adv. Manuf. Technol. 2012, 60, 1161–1174. [Google Scholar] [CrossRef]
- Azmat, C.S.; Hürlimann, T.; Widmer, M. Mixed integer programming to schedule a single-shift workforce under annualized hours. Ann. Oper. Res. 2004, 128, 199–215. [Google Scholar] [CrossRef]
- Khouja, M.; Conrad, R. Balancing the assignment of customer groups among employees: Zero-one goal programming and heuristic approaches. Int. J. Oper. Prod. Manag. 1995, 15, 76–85. [Google Scholar] [CrossRef]
- Yildirim, M.B.; Duman, E.; Krishnan, K.; Senniappan, K. Parallel machine scheduling with load balancing and sequence dependent setups. Int. J. Oper. Res. 2007, 4, 1–8. [Google Scholar]
- Ouazene, Y.; Hnaien, F.; Yalaoui, F.; Amodeo, L. The Joint Load Balancing and Parallel Machine Scheduling Problem. In Operations Research Proceedings 2010; Hu, B., Morasch, K., Pickl, S., Siegle, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2011; pp. 497–502. [Google Scholar]
- Keskinturk, T.; Yildirim, M.B.; Barut, M. An ant colony optimization algorithm for load balancing in parallel machines with sequence-dependent setup times. Comput. Oper. Res. 2012, 39, 1225–1235. [Google Scholar] [CrossRef] [Green Version]
- Cossari, A.; Hob, J.C.; Paletta, G.; Ruiz-Torres, A.J. Minimizing workload balancing criteria on identical parallel machines. J. Ind. Prod. Eng. 2013, 30, 160–172. [Google Scholar] [CrossRef]
- Rajakumar, S.; Arunachalam, V.P.; Selladurai, V. Workflow balancing strategies in parallel machine scheduling. Int. J. Adv. Manuf. Technol. 2004, 23, 366–374. [Google Scholar] [CrossRef]
- Rajakumar, S.; Arunachalam, V.P.; Selladurai, V. Workflow balancing in parallel machines through genetic algorithm. Int. J. Adv. Manuf. Technol. 2007, 33, 1212–1221. [Google Scholar] [CrossRef]
- Walter, R.; Lawrinenko, A. A note on minimizing the normalized sum of squared workload deviations on m parallel processors. Comput. Ind. Eng. 2014, 75, 257–259. [Google Scholar] [CrossRef]
- Ho, J.C.; Tseng, T.L.; Ruiz-Torres, A.J.; López, F.J. Minimizing the normalized sum of square for workload deviations on m parallel processors. Comput. Ind. Eng. 2009, 56, 186–192. [Google Scholar] [CrossRef]
- Ouazene, Y.; Yalaoui, F.; Chehade, H.; Yalaoui, A. Workload balancing in identical parallel machine scheduling using a mathematical programming method. Int. J. Comput. Intell. Syst. 2014, 7, 58–67. [Google Scholar] [CrossRef] [Green Version]
- Chandra, A.K.; Wong, C.K. Worst-Case Analysis of a Placement Algorithm Related to Storage Allocation. SIAM J. Comput. 1975, 4, 249–263. [Google Scholar] [CrossRef]
- Schwerdfeger, S.; Walter, R. A fast and effective subset sum based improvement procedure for workload balancing on identical parallel machines. Comput. Oper. Res. 2016, 73, 84–91. [Google Scholar] [CrossRef]
- Schwerdfeger, S.; Walter, R. Improved algorithms to minimize workload balancing criteria on identical parallel machines. Comput. Oper. Res. 2018, 93, 123–134. [Google Scholar] [CrossRef]
- Cossari, A.; Ho, J.C.; Paletta, G.; Ruiz-Torres, A.J. A new heuristic for workload balancing on identical parallel machines and a statistical perspective on the workload balancing criteria. Comput. Oper. Res. 2012, 39, 1382–1393. [Google Scholar] [CrossRef]
- Al-Saleh, M.F.; Yousif, A.E. Properties of the standard deviation that are rarely mentioned in classrooms. Austrian J. Stat. 2009, 38, 193–202. [Google Scholar] [CrossRef]
- Haouari, M.; Gharbi, A.; Jemmali, M. Tight bounds for the identical parallel machine scheduling problem. Int. Trans. Oper. Res. 2006, 13, 529–548. [Google Scholar] [CrossRef]
- Dell’Amico, M.; Martello, S. Optimal Scheduling of Tasks on Identical Parallel Processors. ORSA J. Comput. 1995, 7, 191–200. [Google Scholar] [CrossRef]
- Asadollahi-Yazdi, E.; Couzon, P.; Nguyen, N.Q.; Ouazene, Y.; Yalaoui, F. Industry 4.0: Revolution or Evolution? Am. J. Oper. Res. 2020, 10, 241–268. [Google Scholar] [CrossRef]
Total number of jobs | |
Total number of machine | |
Machine index | |
Job index | |
Processing time of job | |
Set of jobs scheduled on the machine | |
Completion time or workload of machine | |
Maximum of workloads | |
Minimum of workloads | |
Difference between maximum and minimum workloads | |
Average workload | |
Normalized Sum of Square for Workload Deviations |
M | N | Max Time | Min Time | Avg Time | Opt | |||||||||
MILP | MIQ1 | MIQ2 | MILP | MIQ1 | MIQ2 | MILP | MIQ1 | MIQ2 | MILP | MIQ1 | MIQ2 | All | ||
3 | 10 | 0.3 | 0.3 | 0.2 | 0.0 | 0.1 | 0.1 | 0.2 | 0.1 | 0.1 | 50 | 50 | 50 | 50 |
3 | 25 | 300.3 | 300.2 | 0.5 | 0.1 | 0.0 | 0.1 | 63.2 | 6.2 | 0.3 | 46 | 49 | 50 | 50 |
3 | 50 | 321.5 | 0.4 | 300.1 | 0.1 | 0.1 | 0.1 | 182.4 | 0.2 | 12.4 | 20 | 50 | 48 | 50 |
3 | 100 | 317.8 | 0.5 | 307.9 | 0.1 | 0.1 | 0.1 | 188.3 | 0.2 | 18.9 | 19 | 50 | 47 | 50 |
3 | 250 | 309.3 | 0.3 | 305.3 | 0.2 | 0.0 | 0.1 | 170.7 | 0.2 | 31.0 | 22 | 50 | 45 | 50 |
3 | 500 | 307.6 | 0.3 | 303.9 | 0.1 | 0.1 | 0.1 | 194.9 | 0.2 | 31.2 | 18 | 50 | 45 | 50 |
3 | 1000 | 305.3 | 0.4 | 304.7 | 0.3 | 0.1 | 0.3 | 182.3 | 0.3 | 7.6 | 20 | 50 | 49 | 50 |
3 | 2500 | 304.5 | 0.9 | 304.7 | 0.3 | 0.3 | 0.6 | 163.9 | 0.4 | 33.1 | 23 | 50 | 45 | 50 |
3 | 5000 | 304.4 | 1.2 | 303.1 | 0.8 | 0.9 | 1.5 | 230.3 | 1.0 | 108.2 | 12 | 50 | 33 | 50 |
3 | 10,000 | 304.3 | 4.6 | 302.3 | 1.4 | 2.6 | 4.7 | 212.5 | 3.3 | 136.3 | 15 | 50 | 29 | 50 |
5 | 10 | 0.2 | 0.9 | 1.8 | 0.1 | 0.1 | 0.1 | 0.1 | 0.2 | 0.4 | 50 | 50 | 50 | 50 |
5 | 25 | 300.3 | 300.2 | 300.1 | 0.2 | 0.1 | 0.1 | 169.1 | 144.2 | 66.6 | 26 | 26 | 39 | 44 |
5 | 50 | 321.6 | 302.3 | 308.2 | 0.2 | 0.2 | 0.2 | 216.3 | 132.4 | 115.1 | 15 | 28 | 31 | 33 |
5 | 100 | 321.5 | 304.6 | 308.7 | 0.3 | 0.2 | 0.4 | 248.9 | 20.1 | 171.1 | 10 | 47 | 22 | 47 |
5 | 250 | 309.3 | 8.6 | 307.2 | 0.2 | 0.3 | 0.5 | 221.0 | 1.5 | 177.2 | 14 | 50 | 21 | 50 |
5 | 500 | 305.9 | 7.3 | 306.3 | 0.4 | 0.3 | 0.4 | 255.3 | 1.1 | 188.9 | 8 | 50 | 19 | 50 |
5 | 1000 | 304.2 | 1.1 | 305.9 | 0.4 | 0.3 | 0.6 | 255.0 | 0.5 | 189.4 | 8 | 50 | 19 | 50 |
5 | 2500 | 307.7 | 1.7 | 304.6 | 0.7 | 0.7 | 2.5 | 244.5 | 1.1 | 204.2 | 10 | 50 | 17 | 50 |
5 | 5000 | 305.0 | 4.2 | 302.9 | 1.3 | 1.7 | 4.0 | 263.5 | 2.4 | 213.2 | 8 | 50 | 16 | 50 |
5 | 10,000 | 307.2 | 8.4 | 300.4 | 2.6 | 5.4 | 10.4 | 249.2 | 7.0 | 208.9 | 10 | 50 | 18 | 50 |
10 | 25 | 300.4 | 305.0 | 304.8 | 0.4 | 300.0 | 300.0 | 66.0 | 300.2 | 300.1 | 44 | 0 | 0 | 44 |
10 | 50 | 327.0 | 300.2 | 300.1 | 72.6 | 3.5 | 9.1 | 294.7 | 282.5 | 282.8 | 3 | 3 | 3 | 3 |
10 | 100 | 319.0 | 304.2 | 304.3 | 1.2 | 0.7 | 3.7 | 283.5 | 220.0 | 283.0 | 4 | 14 | 5 | 14 |
10 | 250 | 307.2 | 304.0 | 305.0 | 8.2 | 3.4 | 129.1 | 292.6 | 184.0 | 298.8 | 2 | 22 | 1 | 22 |
10 | 500 | 309.8 | 303.9 | 304.4 | 11.4 | 14.4 | 12.1 | 293.2 | 174.0 | 291.2 | 2 | 23 | 2 | 23 |
10 | 1000 | 312.2 | 303.6 | 306.0 | 62.8 | 7.5 | 301.3 | 300.3 | 149.1 | 302.8 | 1 | 32 | 0 | 32 |
10 | 2500 | 308.8 | 227.3 | 300.3 | 302.2 | 3.1 | 32.4 | 304.2 | 59.6 | 294.9 | 0 | 50 | 1 | 50 |
10 | 5000 | 308.5 | 191.5 | 300.6 | 24.6 | 7.0 | 69.2 | 297.9 | 27.2 | 291.3 | 1 | 50 | 2 | 50 |
10 | 10,000 | 312.2 | 117.1 | 301.1 | 151.6 | 17.9 | 170.1 | 296.7 | 32.8 | 297.0 | 2 | 50 | 2 | 50 |
15 | 25 | 308.7 | 320.3 | 313.0 | 0.2 | 300.0 | 300.0 | 115.1 | 307.1 | 303.8 | 32 | 0 | 0 | 32 |
15 | 50 | 307.9 | 304.1 | 305.1 | 300.0 | 300.0 | 300.0 | 300.6 | 300.1 | 300.7 | 0 | 0 | 0 | 0 |
15 | 100 | 316.9 | 302.5 | 304.6 | 14.6 | 5.7 | 8.6 | 293.4 | 267.2 | 274.7 | 3 | 6 | 7 | 7 |
15 | 250 | 315.5 | 303.2 | 304.1 | 22.1 | 64.3 | 300.1 | 302.9 | 294.4 | 301.8 | 1 | 3 | 0 | 3 |
15 | 500 | 313.1 | 304.9 | 306.0 | 43.3 | 24.4 | 80.6 | 303.2 | 270.3 | 297.6 | 1 | 7 | 1 | 7 |
15 | 1000 | 323.9 | 304.1 | 303.0 | 305.5 | 108.0 | 300.1 | 313.0 | 229.6 | 300.6 | 0 | 22 | 0 | 22 |
15 | 2500 | 313.6 | 300.3 | 300.6 | 303.3 | 283.1 | 300.2 | 306.8 | 299.9 | 300.3 | 0 | 1 | 0 | 1 |
15 | 5000 | 315.5 | 300.6 | 301.0 | 300.4 | 72.8 | 300.5 | 305.5 | 285.5 | 300.6 | 0 | 6 | 0 | 6 |
15 | 10,000 | 301.6 | 301.1 | 302.0 | 300.5 | 28.6 | 300.7 | 300.9 | 193.0 | 301.1 | 0 | 30 | 0 | 30 |
Avg/ Total | - | - | - | - | - | - | 228.5 | 110.5 | 190.4 | 500 | 1269 | 717 | 1370 | |
26% | 67% | 38% | 72% |
M | N | Max Time | Min Time | Avg Time | Opt | |||||||||
MILP | MIQ1 | MIQ2 | MILP | MIQ1 | MIQ2 | MILP | MIQ1 | MIQ2 | MILP | MIQ1 | MIQ2 | All | ||
3 | 10 | 0.2 | 0.1 | 0.2 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 20 | 20 | 20 | 20 |
3 | 12 | 0.3 | 0.2 | 0.2 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.2 | 20 | 20 | 20 | 20 |
3 | 15 | 0.8 | 0.5 | 0.4 | 0.1 | 0.1 | 0.1 | 0.3 | 0.3 | 0.2 | 20 | 20 | 20 | 20 |
3 | 20 | 6.7 | 0.4 | 300.1 | 0.1 | 0.1 | 0.2 | 3.1 | 0.3 | 28.8 | 20 | 20 | 19 | 20 |
3 | 50 | 300.5 | 0.2 | 304.1 | 0.1 | 0.1 | 42.0 | 225.2 | 0.1 | 276.3 | 5 | 20 | 3 | 20 |
3 | 100 | 300.7 | 0.4 | 305.5 | 0.1 | 0.1 | 0.9 | 225.3 | 0.2 | 243.9 | 5 | 20 | 4 | 20 |
4 | 10 | 0.2 | 0.4 | 0.7 | 0.1 | 0.1 | 0.2 | 0.1 | 0.2 | 0.2 | 20 | 20 | 20 | 20 |
4 | 12 | 0.2 | 0.4 | 0.2 | 0.1 | 0.1 | 0.2 | 0.1 | 0.2 | 0.2 | 20 | 20 | 20 | 20 |
4 | 15 | 1.1 | 0.9 | 38.9 | 0.2 | 0.1 | 0.2 | 0.6 | 0.5 | 7.9 | 20 | 20 | 20 | 20 |
5 | 10 | 0.2 | 0.9 | 0.5 | 0.1 | 0.2 | 0.2 | 0.1 | 0.2 | 0.2 | 20 | 20 | 20 | 20 |
5 | 12 | 0.3 | 25.3 | 12.2 | 0.1 | 0.4 | 0.7 | 0.2 | 2.0 | 3.3 | 20 | 20 | 20 | 20 |
5 | 15 | 0.9 | 2.0 | 5.2 | 0.2 | 0.2 | 0.4 | 0.5 | 0.8 | 1.8 | 20 | 20 | 20 | 20 |
5 | 20 | 110.9 | 143.0 | 300.1 | 0.4 | 0.2 | 0.5 | 11.8 | 28.8 | 105.5 | 20 | 20 | 13 | 20 |
5 | 50 | 313.5 | 300.1 | 304.2 | 0.5 | 0.4 | 300.0 | 260.5 | 210.2 | 301.1 | 3 | 6 | 0 | 6 |
5 | 100 | 316.9 | 306.1 | 302.0 | 0.5 | 0.8 | 300.1 | 279.3 | 33.0 | 300.2 | 2 | 20 | 0 | 20 |
8 | 20 | 1.6 | 300.1 | 314.6 | 0.2 | 0.3 | 300.0 | 0.7 | 96.2 | 304.0 | 20 | 15 | 0 | 20 |
15 | 20 | 2.3 | 325.0 | 0.5 | 0.4 | 309.4 | 0.1 | 0.9 | 314.9 | 0.4 | 20 | 0 | 20 | 20 |
15 | 50 | 300.2 | 300.3 | 300.1 | 300.0 | 25.4 | 0.1 | 300.1 | 272.9 | 15.4 | 0 | 3 | 19 | 19 |
15 | 100 | 315.8 | 300.1 | 309.4 | 168.9 | 281.4 | 0.1 | 303.0 | 299.1 | 46.5 | 1 | 1 | 17 | 18 |
16 | 40 | 300.2 | 306.5 | 304.2 | 7.0 | 7.8 | 300.0 | 181.8 | 273.6 | 300.7 | 10 | 2 | 0 | 10 |
20 | 50 | 312.0 | 305.9 | 300.1 | 29.4 | 300.0 | 0.5 | 245.7 | 302.8 | 150.4 | 5 | 0 | 10 | 12 |
24 | 60 | 309.5 | 305.2 | 305.0 | 172.8 | 28.2 | 300.0 | 297.8 | 288.8 | 301.8 | 1 | 1 | 0 | 2 |
28 | 70 | 308.4 | 305.0 | 303.0 | 300.0 | 300.1 | 300.1 | 302.9 | 302.1 | 301.3 | 0 | 0 | 0 | 0 |
32 | 80 | 306.9 | 304.9 | 304.4 | 300.1 | 53.6 | 300.1 | 302.8 | 288.9 | 301.3 | 0 | 1 | 0 | 1 |
36 | 90 | 307.7 | 304.0 | 303.3 | 300.1 | 300.1 | 300.1 | 302.9 | 301.1 | 300.5 | 0 | 0 | 0 | 0 |
40 | 100 | 306.3 | 304.1 | 304.2 | 300.1 | 300.1 | 144.4 | 304.0 | 300.5 | 293.5 | 0 | 0 | 1 | 1 |
60 | 150 | 305.6 | 303.4 | 300.2 | 300.1 | 300.1 | 300.2 | 303.6 | 301.0 | 300.2 | 0 | 0 | 0 | 0 |
80 | 200 | 306.1 | 300.3 | 300.2 | 300.1 | 300.2 | 300.1 | 303.5 | 300.3 | 300.2 | 0 | 0 | 0 | 0 |
Avg/ Total | - | - | - | - | - | - | 148.5 | 140.0 | 149.5 | 292 | 309 | 286 | 389 | |
52% | 55% | 51% | 69% |
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 (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ouazene, Y.; Nguyen, N.-Q.; Yalaoui, F. Workload Balancing on Identical Parallel Machines: Theoretical and Computational Analysis. Appl. Sci. 2021, 11, 3677. https://doi.org/10.3390/app11083677
Ouazene Y, Nguyen N-Q, Yalaoui F. Workload Balancing on Identical Parallel Machines: Theoretical and Computational Analysis. Applied Sciences. 2021; 11(8):3677. https://doi.org/10.3390/app11083677
Chicago/Turabian StyleOuazene, Yassine, Nhan-Quy Nguyen, and Farouk Yalaoui. 2021. "Workload Balancing on Identical Parallel Machines: Theoretical and Computational Analysis" Applied Sciences 11, no. 8: 3677. https://doi.org/10.3390/app11083677
APA StyleOuazene, Y., Nguyen, N.-Q., & Yalaoui, F. (2021). Workload Balancing on Identical Parallel Machines: Theoretical and Computational Analysis. Applied Sciences, 11(8), 3677. https://doi.org/10.3390/app11083677