Arc Flow Formulation for Efficient Uniform Parallel Machine Scheduling
Abstract
1. Introduction
2. Literature Review
3. Research Methodology
- (1)
- Calculate the bounds of the problem.
- (2)
- Construct a graph for the arc flow model.
- (3)
- Develop a mathematical formulation for the constructed graph and present a mathematical formulation from the literature.
- (4)
- Implement the bounding algorithms and mathematical formulations using an optimization solver.
- (5)
- Validate the arc flow model on a numerical example
- (6)
- Evaluate the performance of the arc flow formulation against a mathematical formulation from the literature and a lower bound on randomly generated instances.
- (7)
- Analyze the computational results.
3.1. Definition of the Problem Bounds
3.1.1. Lower Bounds
3.1.2. Upper Bound
- (1)
- Move: Move a job from a machine in S_pm to a machine in S_npm.
- (2)
- Exchange (1-1): Exchange one job from a machine in S_pm with one job from a machine in S_npm.
- (3)
- Exchange (2-1): Exchange two jobs from a machine in S_pm with one job from a machine in S_npm.
- (4)
- Exchange (1-2): Exchange one job from a machine in S_pm with two jobs from a machine in S_npm.
- (5)
- Exchange (2-2): Exchange two jobs from a machine in S_pm with two jobs from a machine in S_npm.
| Algorithm 1: VNS algorithm for uniform parallel machine scheduling. |
| Initialize: Maximum number of iterations (MaxIter)←1, Maximum number of neighborhood structures (kmax)←5, Best makespan (mksp), Best lower bound (LB), i←0, Upper bound (UB) For (i = 0; i < MaxIter; i++) do Generate an initial schedule (S) using the LPT rule and compute the makespan (Makspan(S)) mksp = Makespan(S) If (mksp = LB) Break. //Exit out of the loop “for(i = 0; i < MaxIter; i++)” Else: Create one list for machines with makespan equal makespan (S_pm[]) and another list for the remaining machines (S_npm[]). Initialize r←0 and q←0 While (r < size of S_pm & Makespan(S) ! = LB) do While (q < size of S_npm & Makespan(S) ! = LB) do Initialize: pm1 = S_pm[r], npm1 = S_npm[q], k = 0 While (k < kmax) do Apply neighborhood structure k for pm1 and npm1 to get a new schedule (S’) If (Makespn(S’) < Makespan(S)) Update: S←S’, S_pm[], S_npm[], and mksp = Makesapn(S) If (size of S_npm! = 0 & mksp! = LB) Initialize: r,q,k = 0, pm1 = S_pm[r], and npm1 = S_npm[q] Else: Break. //Exit out of the loop “While (k < kmax)” Else: k←k + 1 End-while q←q + 1 End-while r←r + 1 End-while End-for output: UB←mksp. |
3.2. Graph Construction
| Algorithm 2: Graph construction for the arc flow model. |
| Initialize: V [0,…,w − 1][0,…UB], NewV [0,…,w − 1][], , , JobArcs, LossArcs and TotalArcs. For to do // Loop through each machine. V[m][0] MinV[m] End for CumP[n−1]p [0][n−1]; For down to do // Loop through jobs from index n−2 to index 0. CumP[j]CumP[j + 1]+p [0][j]; End for For to do For to do // Loop through each job. For to do // Loop through each added vertex. If(V[m][v]= 1 AND AND JobArcs End if End for For // Loop through the new vertices. End for End for End for For to do For to do If(V[m][v] = 1) End if End for End for For to do For to do // Loop through the vertices of the graph. If( End if End for End for |
- High-quality upper bound:
- 2.
- Symmetry-breaking rule:
- Jobs are listed from longest to shortest processing times.
- A job arc () is created only from vertex 0 or from vertices created by other jobs.
- 3.
- Minimum completion time on each machine:
3.3. Mathematical Formulation
3.3.1. Mathematical Formulation of the Arc Flow Model
3.3.2. Mathematical Formulation of De and Morton [26]
3.4. Numerical Example
- Compute machine parameters.From Table 3,
- The total speed of machines (Tvm) = 1109/225.
- The sum of the slowest machine’s processing times (Tp) = 22,032.
- Determine lower and upper bounds.
- Equation (9) is applied to find the best lower bounds.
- The LPT rule obtains an upper bound of 4725, which the VNS algorithm improves to 4600. Therefore, UB = 4600.
- Calculate the minimum completion time for each machine.
- Using Equation (13), the minimum completion time for machine 1 is
- In the same manner, = 4069.85.
- = 4364.38
- Calculate the cumulative processing time.
- 5.
- Construct the graph for each machine.
- Initialize the first vertex v = 0 as visited in each machine to allow establishing arcs from that vertex.
- For each job and vertex in each machine, an arc is created if
- New vertices are added whenever a valid arc is established.
- 6.
- Constructing the graph for machine 1.
- Job 1: An arc is not added since v1 + p11 > UB.
- Job 2: An arc is added from vertex 0 to a new vertex 4080.
- Job 3: An arc is added only from vertex 0. However, from vertex 4080, the completion time exceeds the upper bound.visited vertices: V [1][] = {0, 4080}.
- Job 4: An arc is added only from vertex 0 to a new vertex 3264. → V [1][] = {0, 4080, 3264}.
- Job 5: An arc is added only from vertex 0 to a new vertex 2720.The remaining jobs cannot create arcs from vertex 0 since CumP[j] < .
- Job 6: An arc from vertex 2720 to vertex 4352.
- Job 7: Two arcs each from vertices 2720 and 3264 to 3808 and 4352, respectively.
- Jobs 8 and 9 have the same processing time, and two arcs can be created for each job from vertices 3808 and 4080 to vertices 4080 and 4352, respectively.
- 7.
- Repeat for the remaining machines.
- 8.
- Optimal solution.
- The arc flow formulation achieved an optimal solution of 4500.
4. Results and Discussion
- Total number of machines (w): Four sizes were selected: .
- Ratio of jobs () to machines (w), : Seven ratios were considered: .
- Processing time for each job (j) on the speediest machine (w), : A discrete uniform distribution, , is applied to generate the processing times with three levels for : .
- The slowness of each machine to the fastest machine : Generated with a uniform distribution with three levels for : . values were rounded to two decimal digits. For each combination of these parameters (), 10 instances were generated, for a total of 2520 instances.
4.1. Comparison of the Arc Flow and De & Morton Formulations [26]
Statistical Analysis of the AF and D&M Formulations
4.2. Performance of the Arc Flow Formulation for Larger Instances
5. Conclusions and Future Work
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Lee, J.-H.; Jang, H. Uniform parallel machine scheduling with dedicated machines, job splitting and setup resources. Sustainability 2019, 11, 7137. [Google Scholar] [CrossRef]
- Huang, J.; Wu, J.; Tang, Y.; Hao, Y. The influences of openness on China’s industrial CO2 intensity. Environ. Sci. Pollut. Res. 2020, 27, 15743–15757. [Google Scholar] [CrossRef]
- Graham, R.L.; Lawler, E.L.; Lenstra, J.K.; Kan, A.R. Optimization and approximation in deterministic sequencing and scheduling: A survey. In Annals of Discrete Mathematics; Elsevier: Amsterdam, The Netherlands, 1979; Volume 5, pp. 287–326. [Google Scholar]
- Li, K.; Leung, J.-T.; Cheng, B.-Y. An agent-based intelligent algorithm for uniform machine scheduling to minimize total completion time. Appl. Soft Comput. 2014, 25, 277–284. [Google Scholar] [CrossRef]
- Garey, M.R. Computers and Intractability: A Guide to the Theory of Np-Completeness; Freeman: San Francisco, CA, USA, 1979; Volume 174. [Google Scholar]
- Mrad, M.; Souayah, N. An arc-flow model for the makespan minimization problem on identical parallel machines. IEEE Access 2018, 6, 5300–5307. [Google Scholar] [CrossRef]
- Gharbi, A.; Bamatraf, K. An Improved Arc Flow Model with Enhanced Bounds for Minimizing the Makespan in Identical Parallel Machine Scheduling. Processes 2022, 10, 2293. [Google Scholar] [CrossRef]
- Graham, R.L. Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 1969, 17, 416–429. [Google Scholar] [CrossRef]
- Gonzalez, T.; Ibarra, O.H.; Sahni, S. Bounds for LPT schedules on uniform processors. SIAM J. Comput. 1977, 6, 155–166. [Google Scholar] [CrossRef]
- Della Croce, F.; Scatamacchia, R. The longest processing time rule for identical parallel machines revisited. J. Sched. 2020, 23, 163–176. [Google Scholar] [CrossRef]
- Friesen, D.K. Tighter bounds for LPT scheduling on uniform processors. SIAM J. Comput. 1987, 16, 554–560. [Google Scholar] [CrossRef]
- Mireault, P.; Orlin, J.B.; Vohra, R.V. A parametric worst case analysis of the LPT heuristic for two uniform machines. Oper. Res. 1997, 45, 116–125. [Google Scholar] [CrossRef]
- Koulamas, C.; Kyparisis, G.J. A modified LPT algorithm for the two uniform parallel machine makespan minimization problem. Eur. J. Oper. Res. 2009, 196, 61–68. [Google Scholar] [CrossRef]
- Massabò, I.; Paletta, G.; Ruiz-Torres, A.J. A note on longest processing time algorithms for the two uniform parallel machine makespan minimization problem. J. Sched. 2016, 19, 207–211. [Google Scholar] [CrossRef]
- Mitsunobu, T.; Suda, R.; Suppakitpaisarn, V. Worst-case analysis of LPT scheduling on a small number of non-identical processors. Inf. Process. Lett. 2024, 183, 106424. [Google Scholar] [CrossRef]
- Li, K.; Zhang, S.-c. Heuristics for uniform parallel machine scheduling problem with minimizing makespan. In Proceedings of the 2008 IEEE International Conference on Automation and Logistics, Qingdao, China, 1–3 September 2008; pp. 273–278. [Google Scholar]
- Sivasankaran, P.; Ravi Kumar, M.; Senthilkumar, P.; Panneerselvam, R. Heuristic to minimize makespan in uniform parallel machines scheduling problem. Udyog Pragati 2009, 33, 1–15. [Google Scholar]
- Li, K.; Yang, S. Heuristic algorithms for scheduling on uniform parallel machines with heads and tails. J. Syst. Eng. Electron. 2011, 22, 462–467. [Google Scholar] [CrossRef]
- De Giovanni, D.; Ho, J.C.; Paletta, G.; Ruiz-Torres, A.J. Heuristics for Scheduling Uniform Machines. In Proceedings of the International MultiConference of Engineers and Computer Scientists, Hong Kong, 14–16 March 2018. [Google Scholar]
- Song, J.; Miao, C.; Kong, F. Uniform-machine scheduling problems in green manufacturing system. Math. Found. Comput. 2024, 8, 689–700. [Google Scholar] [CrossRef]
- Senthilkumar, P.; Narayanan, S. GA Based Heuristic to Minimize Makespan in Single Machine Scheduling Problem with Uniform Parallel Machines. Intell. Inf. Manag. 2011, 3, 204–214. [Google Scholar] [CrossRef]
- Balin, S. Non-identical parallel machine scheduling using genetic algorithm. Expert Syst. Appl. 2011, 38, 6814–6821. [Google Scholar] [CrossRef]
- Noman, M.A.; Alatefi, M.; Al-Ahmari, A.M.; Ali, T. Tabu Search Algorithm Based on Lower Bound and Exact Algorithm Solutions for Minimizing the Makespan in Non-Identical Parallel Machines Scheduling. Math. Probl. Eng. 2021, 2021, 1856734. [Google Scholar] [CrossRef]
- Bamatraf, K.; Gharbi, A. Variable Neighborhood Search for Minimizing the Makespan in a Uniform Parallel Machine Scheduling. Systems 2024, 12, 221. [Google Scholar] [CrossRef]
- Horowitz, E.; Sahni, S. Exact and approximate algorithms for scheduling nonidentical processors. J. ACM 1976, 23, 317–327. [Google Scholar] [CrossRef]
- De, P.; Morton, T.E. Scheduling to minimize makespan on unequal parallel processors. Decis. Sci. 1980, 11, 586–602. [Google Scholar] [CrossRef]
- Liao, C.-J.; Lin, C.-H. Makespan minimization for two uniform parallel machines. Int. J. Prod. Econ. 2003, 84, 205–213. [Google Scholar] [CrossRef]
- Lin, C.-H.; Liao, C.-J. Makespan minimization for multiple uniform machines. Comput. Ind. Eng. 2008, 54, 983–992. [Google Scholar] [CrossRef]
- Popenko, V.; Sperkach, M.; Zhdanova, O.; Kokosiński, Z. On Optimality Conditions for Job Scheduling on Uniform Parallel Machines. In Proceedings of the International Conference on Computer Science, Engineering and Education Applications, Sanya, China, 22–24 October 2019; pp. 103–112. [Google Scholar]
- Berndt, S.; Brinkop, H.; Jansen, K.; Mnich, M.; Stamm, T. New support size bounds for integer programming, applied to makespan minimization on uniformly related machines. arXiv 2023, arXiv:2305.08432. [Google Scholar] [CrossRef]
- Mallek, A.; Boudhar, M. Scheduling on uniform machines with a conflict graph: Complexity and resolution. Int. Trans. Oper. Res. 2024, 31, 863–888. [Google Scholar] [CrossRef]
- Mokotoff, E. Parallel machine scheduling problems: A survey. Asia-Pac. J. Oper. Res. 2001, 18, 193. [Google Scholar]
- Senthilkumar, P.; Narayanan, S. Literature review of single machine scheduling problem with uniform parallel machines. Intell. Inf. Manag. 2010, 2, 457–474. [Google Scholar] [CrossRef]
- de Carvalho, J.V. Exact solution of cutting stock problems using column generation and branch-and-bound. Int. Trans. Oper. Res. 1998, 5, 35–44. [Google Scholar] [CrossRef]
- Valério de Carvalho, J. Exact solution of bin-packing problems using column generation and branch-and-bound. Ann. Oper. Res. 1999, 86, 629–659. [Google Scholar] [CrossRef]
- Mrad, M.; Alı, T.G.; Balma, A.; Gharbı, A.; Samhan, A.; Louly, M. The Two-Dimensional Strip Cutting Problem: Improved Results on Real-World Instances. Eurasia Proc. Educ. Soc. Sci. 2021, 22, 1–10. [Google Scholar] [CrossRef]
- Kramer, A.; Dell’Amico, M.; Iori, M. Enhanced arc-flow formulations to minimize weighted completion time on identical parallel machines. Eur. J. Oper. Res. 2019, 275, 67–79. [Google Scholar] [CrossRef]
- Kramer, A.; Dell’Amico, M.; Feillet, D.; Iori, M. Scheduling jobs with release dates on identical parallel machines by minimizing the total weighted completion time. Comput. Oper. Res. 2020, 123, 105018. [Google Scholar] [CrossRef]
- Trindade, R.S.; de Araújo, O.C.B.; Fampa, M. Arc-flow approach for single batch-processing machine scheduling. Comput. Oper. Res. 2021, 134, 105394. [Google Scholar] [CrossRef]
- Trindade, R.S.; de Araújo, O.C.; Fampa, M. Arc-flow approach for parallel batch processing machine scheduling with non-identical job sizes. In Proceedings of the International Symposium on Combinatorial Optimization, Montreal, QC, Canada, 4–6 May 2020; pp. 179–190. [Google Scholar]










| Symbol | Definition |
|---|---|
| Sets: | |
| Set of all arcs. | |
| Set of job arcs. | |
| Parameters: | |
| Index of an arc. | |
| Total arcs. | |
| Total job arcs. | |
| Machine’s index. | |
| Total number of machines. | |
| Job’s index. | |
| Total number of jobs. | |
| Index of a vertex. | |
| Total vertices of machine . | |
| Initial vertex of an arc . | |
| Final vertex of an arc . | |
| Job index of an arc . | |
| Machine index of an arc . | |
| Minimum completion time on a machine . | |
| Time at vertex on a machine . | |
| Upper bound. | |
| Lower bound. | |
| Decision Variables: | |
| 1 if arc r is included in the final solution; 0 otherwise. . | |
| Makespan of a schedule. |
| Symbol | Definition |
|---|---|
| Parameters: | |
| Machine’s index. | |
| Total machines. | |
| Job’s index. | |
| Total jobs. | |
| Processing time of a job on machine . . | |
| Upper bound. | |
| Lower bound. | |
| Decision Variables: | |
| 1 if machine is scheduled for job ; 0 otherwise. . | |
| Maximum completion time of the last job on all machines (makespan). |
| Machine No. | Machine Speed | Job No. | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ||
| 1 | 1 | 4624 | 4080 | 4080 | 3264 | 2720 | 1632 | 1088 | 272 | 272 |
| 2 | 272/225 | 3825 | 3375 | 3375 | 2700 | 2250 | 1350 | 900 | 225 | 225 |
| 3 | 68/25 | 1700 | 1500 | 1500 | 1200 | 1000 | 600 | 400 | 100 | 100 |
| CumPj | 22,032 | 17,408 | 13,328 | 9248 | 5984 | 3264 | 1632 | 544 | 272 | |
| Sm ~ [1,3] | Sm ~ [1,5] | Sm ~ [1,7] | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n/w | w | n | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] | |||||||||
| AF | D&M | AF | D&M | AF | D&M | AF | D&M | AF | D&M | AF | D&M | AF | D&M | AF | D&M | AF | D&M | |||
| 2 | 3 | 6 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| 4 | 8 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | |
| 5 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | |
| 10 | 20 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | |
| 3 | 3 | 9 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| 4 | 12 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | |
| 5 | 15 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | |
| 10 | 30 | 10 | 0 | 10 | 1 | 10 | 0 | 10 | 2 | 10 | 2 | 10 | 0 | 10 | 4 | 10 | 0 | 10 | 4 | |
| 4 | 3 | 12 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| 4 | 16 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | |
| 5 | 20 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | |
| 5 | 3 | 15 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| 4 | 20 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | |
| 5 | 25 | 10 | 5 | 10 | 2 | 10 | 4 | 10 | 7 | 10 | 8 | 10 | 9 | 10 | 9 | 10 | 7 | 10 | 9 | |
| 10 | 3 | 30 | 10 | 10 | 10 | 4 | 10 | 3 | 10 | 10 | 10 | 9 | 10 | 5 | 10 | 10 | 10 | 8 | 10 | 10 |
| Sm ~ [1,3] | Sm ~ [1,5] | Sm ~ [1,7] | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n/w | w | n | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] | |||||||||
| AF | D&M | AF | D&M | AF | D&M | AF | D&M | AF | D&M | AF | D&M | AF | D&M | AF | D&M | AF | D&M | |||
| 2 | 3 | 6 | 0.02 | 0.05 | 0.01 | 0.02 | 0.01 | 0.02 | 0.02 | 0.03 | 0.01 | 0.03 | 0.01 | 0.05 | 0.02 | 0.02 | 0.01 | 0.02 | 0.01 | 0.02 |
| 4 | 8 | 0.02 | 0.03 | 0.02 | 0.03 | 0.02 | 0.04 | 0.02 | 0.02 | 0.02 | 0.03 | 0.02 | 0.02 | 0.02 | 0.03 | 0.02 | 0.02 | 0.02 | 0.03 | |
| 5 | 10 | 0.02 | 0.03 | 0.03 | 0.03 | 0.03 | 0.05 | 0.03 | 0.03 | 0.02 | 0.03 | 0.02 | 0.05 | 0.02 | 0.03 | 0.02 | 0.03 | 0.03 | 0.03 | |
| 10 | 20 | 0.27 | 3.44 | 0.19 | 0.44 | 0.27 | 0.71 | 0.18 | 0.55 | 0.19 | 0.41 | 0.26 | 0.43 | 0.16 | 0.16 | 0.22 | 0.26 | 0.33 | 0.27 | |
| 3 | 3 | 9 | 0.03 | 0.09 | 0.02 | 0.03 | 0.02 | 0.04 | 0.03 | 0.05 | 0.02 | 0.04 | 0.02 | 0.07 | 0.02 | 0.06 | 0.02 | 0.03 | 0.02 | 0.03 |
| 4 | 12 | 0.04 | 0.06 | 0.03 | 0.06 | 0.08 | 0.12 | 0.03 | 0.05 | 0.03 | 0.05 | 0.04 | 0.04 | 0.03 | 0.06 | 0.03 | 0.03 | 0.04 | 0.04 | |
| 5 | 15 | 0.07 | 0.11 | 0.07 | 0.21 | 0.11 | 0.17 | 0.09 | 0.15 | 0.09 | 0.09 | 0.1 | 0.18 | 0.06 | 0.08 | 0.07 | 0.08 | 0.11 | 0.07 | |
| 10 | 30 | 0.47 | 3605 | 1.02 | 3422 | 2.61 | 3606 | 0.62 | 3116 | 0.82 | 3209 | 2.14 | 3604 | 0.51 | 2474 | 0.88 | 3604 | 3.96 | 2458 | |
| 4 | 3 | 12 | 0.06 | 0.17 | 0.03 | 0.06 | 0.04 | 0.1 | 0.05 | 0.1 | 0.02 | 0.1 | 0.02 | 0.18 | 0.06 | 0.1 | 0.02 | 0.05 | 0.03 | 0.04 |
| 4 | 16 | 0.04 | 0.83 | 0.08 | 0.77 | 0.14 | 0.41 | 0.06 | 0.35 | 0.08 | 0.29 | 0.1 | 0.11 | 0.07 | 0.17 | 0.08 | 0.13 | 0.09 | 0.12 | |
| 5 | 20 | 0.09 | 20.28 | 0.18 | 14.34 | 0.25 | 18.63 | 0.11 | 5.3 | 0.16 | 12.37 | 0.24 | 6.5 | 0.08 | 4.86 | 0.21 | 3.97 | 0.24 | 2.46 | |
| 5 | 3 | 15 | 0.07 | 0.13 | 0.04 | 0.11 | 0.08 | 0.14 | 0.04 | 0.11 | 0.05 | 0.17 | 0.06 | 0.32 | 0.06 | 0.07 | 0.04 | 0.09 | 0.03 | 0.06 |
| 4 | 20 | 0.1 | 13.11 | 0.13 | 18.37 | 0.22 | 13.58 | 0.11 | 4.22 | 0.12 | 7.75 | 0.22 | 6.54 | 0.11 | 2.85 | 0.15 | 3.37 | 0.28 | 2.24 | |
| 5 | 25 | 0.23 | 2601 | 0.24 | 3366 | 0.34 | 2621 | 0.11 | 1399 | 0.18 | 1415 | 0.63 | 1519 | 0.18 | 899 | 0.32 | 1858 | 1.02 | 874 | |
| 10 | 3 | 30 | 0.17 | 986 | 0.26 | 3061 | 0.38 | 2820 | 0.2 | 225 | 0.22 | 1020 | 0.68 | 2113 | 0.16 | 406 | 0.19 | 846 | 0.33 | 721 |
| Average | 0.11 | 482 | 0.16 | 659 | 0.31 | 605 | 0.11 | 317 | 0.14 | 378 | 0.3 | 483 | 0.1 | 252 | 0.15 | 421 | 0.44 | 271 | ||
| Sm ~ [1,3] | Sm ~ [1,5] | Sm ~ [1,7] | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| n/w | w | n | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] |
| 4 | 10 | 40 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| 5 | 10 | 50 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| 10 | 4 | 40 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| 5 | 50 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | |
| 10 | 100 | 10 | 10 | 8 | 10 | 10 | 5 | 10 | 10 | 6 | |
| 20 | 3 | 60 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| 4 | 80 | 10 | 10 | 8 | 10 | 10 | 7 | 10 | 10 | 8 | |
| 5 | 100 | 10 | 10 | 6 | 10 | 10 | 5 | 10 | 10 | 3 | |
| 10 | 200 | 9 | 4 | 6 | 10 | 4 | 3 | 9 | 3 | 5 | |
| 30 | 3 | 90 | 10 | 10 | 7 | 10 | 10 | 8 | 10 | 10 | 10 |
| 4 | 120 | 10 | 9 | 5 | 10 | 10 | 3 | 10 | 10 | 1 | |
| 5 | 150 | 10 | 4 | 6 | 10 | 4 | 2 | 10 | 5 | 3 | |
| 10 | 300 | 9 | 2 | 4 | 4 | 3 | 5 | 4 | 6 | 3 | |
| % of solved instances | 98.5% | 83.8% | 76.9% | 95.4% | 85.4% | 67.7% | 94.6% | 87.7% | 68.5% | ||
| Sm ~ [1,3] | Sm ~ [1,5] | Sm ~ [1,7] | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| n/w | w | n | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] | p ~ [1,25] | p ~ [1,50] | p ~ [1,100] |
| 4 | 10 | 40 | 0.51 | 2.17 | 13.19 | 0.63 | 2.64 | 14.83 | 0.58 | 1.59 | 12.98 |
| 5 | 10 | 50 | 0.75 | 3.61 | 19.37 | 1.34 | 4.38 | 49.13 | 1.54 | 4.99 | 56.17 |
| 10 | 4 | 40 | 0.33 | 0.71 | 5.08 | 0.40 | 0.58 | 3.04 | 0.35 | 0.64 | 1.96 |
| 5 | 50 | 0.75 | 3.40 | 9.65 | 0.75 | 2.42 | 12.77 | 0.88 | 2.75 | 7.59 | |
| 10 | 100 | 14.20 | 114.56 | 1604.44 | 14.53 | 104.36 | 2257.58 | 19.37 | 125.45 | 2189.36 | |
| 20 | 3 | 60 | 0.70 | 2.92 | 7.61 | 1.09 | 2.36 | 10.15 | 0.47 | 3.85 | 14.08 |
| 4 | 80 | 4.46 | 30.17 | 1240.54 | 4.46 | 16.01 | 1237.34 | 3.21 | 19.94 | 790.73 | |
| 5 | 100 | 11.06 | 66.07 | 1884.09 | 17.95 | 79.89 | 2086.46 | 19.00 | 89.77 | 2613.22 | |
| 10 | 200 | 800.00 | 2842.60 | 2321.26 | 419.88 | 2478.00 | 2652.21 | 1034.01 | 2557.68 | 2036.52 | |
| 30 | 3 | 90 | 2.72 | 12.66 | 1137.66 | 3.33 | 19.25 | 989.33 | 2.85 | 10.71 | 402.37 |
| 4 | 120 | 34.38 | 522.20 | 2090.70 | 19.68 | 111.70 | 2556.64 | 20.35 | 320.63 | 3245.15 | |
| 5 | 150 | 94.15 | 2748.48 | 1515.97 | 71.51 | 2275.77 | 2906.61 | 204.50 | 2345.32 | 2548.78 | |
| 10 | 300 | 2565.08 | 2999.42 | 2862.27 | 2563.62 | 2716.70 | 2692.88 | 2223.23 | 2052.53 | 2971.96 | |
| Average | 271.47 | 719.15 | 1131.68 | 239.94 | 601.08 | 1343.77 | 271.57 | 579.68 | 1299.30 | ||
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 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
Bamatraf, K.; Gharbi, A. Arc Flow Formulation for Efficient Uniform Parallel Machine Scheduling. Symmetry 2025, 17, 1839. https://doi.org/10.3390/sym17111839
Bamatraf K, Gharbi A. Arc Flow Formulation for Efficient Uniform Parallel Machine Scheduling. Symmetry. 2025; 17(11):1839. https://doi.org/10.3390/sym17111839
Chicago/Turabian StyleBamatraf, Khaled, and Anis Gharbi. 2025. "Arc Flow Formulation for Efficient Uniform Parallel Machine Scheduling" Symmetry 17, no. 11: 1839. https://doi.org/10.3390/sym17111839
APA StyleBamatraf, K., & Gharbi, A. (2025). Arc Flow Formulation for Efficient Uniform Parallel Machine Scheduling. Symmetry, 17(11), 1839. https://doi.org/10.3390/sym17111839

