Submitted:
01 July 2025
Posted:
03 July 2025
You are already at the latest version
Abstract
Keywords:
I. Introduction
II. Problem Description
- All jobs are ready when processing starts.
- The number of jobs and their processing times on machines are known, and are non-negative.
- Each job can be processed only on one machine in a given factory at a given time, and cannot be pre-empted.
- Each machine can process only one job at a time, and completes all jobs in sequence.
- The preparation time for each job is sequence independent, and is included in its processing time.
III. Proposed Algorithm
A. Harmony Search Algorithm
| Algorithm 1. Harmony search algorithm(HS) |
| Initialize parameters , , , ; For (i =1 to ){ Select values within the range of the decision variable to generate a harmony solution; Put the solution into HM; } Repeat Set ; For ( i =1 to n ){ Generate a random number ; If ( ){ Select a value as the i-th decision variable of from the historical solution of HM; Generate a random number ; If( ) Adjust this decision variable according to the adjustment bandwidth bw to obtain a new decision variable; }Else{ Select a value as the i-th decision variable of within the range of values of the decision variable; } } According to the objective function, find the worst solution in HM; If ( is better than Replace with ; Until (the stopping condition is satisfied); Return; |
(1) Initialization of HM
(2) Generation of a New Solution
(3) Update of HM
B. Harmony Search with Iterative Optimization
(1) Initialization of HM
| Algorithm 2. D-NEH algorithm |
| Initialize the parameter
; Generate the first job sequence by arranging the J jobs in descending order according to their processing times on the machines; Randomly generate the other job sequences; For (i = 1 to ){ Assign the first F jobs to F factories; For(j=F; j<J; j++){ Pick the job in the (j+1)-th position of the job sequence Find the best sequence by placing it in all possible positions in the partial sequence of each factory; } } Return; |
(2) Generation of New Solution
| Algorithm 3. Iterative optimization algorithm (IOA) |
| Set
; Repeat Find the factory with the largest value of makespan in and record it as ; Set global false; For (j=1 to ){ For (f =1 to F){ If ( f = ) continue; Insert job j into factory f; Apply the select–insert operation to optimize the job sequence of factory f and get the best sequence ; Apply the pairwise exchange operation to further optimize the job sequence of factory f and get the best solution ; If( < ){ Replace with ; Set global true; } If (global=true) break; } If (global=true) break; } Until global=false; Set ; Return; |
| Algorithm 4. New solution generation algorithm (NSGA) |
| Initialize parameters ,,
; Set ; Obtain the total number of solution structures of HM; For (i =1 to ){ Let the i-th solution structure be the structure of the new solution ; Set ; For (j=1 to J ){ Generate two random numbers and ; If ( ){ Select a new job from column in HM and insert it into the j-th position of the new solution ; }Else{ Select a new job from the job set and insert it into the j-th position of the new solution ; } If ( ){ Adjust the job to within the range (max{0, j- bw}, min{ j+bw, J} ); } } Applying the IOA operator to optimize the new solution ; Set ; } Sort the new candidate solutions in descending order according to values of the objective function, and obtain the new solution set { }; Return; |
(3) Update of HM
| Algorithm 5. Update algorithm |
| For (i =1 to t) { Set pos -1;-1; For (h =1 to ){ If ( { Set pos h, ; } } If ( and { Replace with ; } } Return; |
(4) Algorithm Description
| Algorithm 6. IOHS algorithm |
| Generate the initial solution set of HM by using D-NEH; Repeat Construct a new solution set by using the NSGA algorithm; Use the Update algorithm to update HM; Until (the stopping condition is satisfied) Calculate the objective function values based on Equation (7); Output the solutions satisfying multimodal optimization based on Equation (8); Return; |
IV. Simulations
A. Test Dataset
B. Parameter Analysis
C. Experimental Verification
(1) Comparison of HS and IOHS
(2) Algorithms comparison
- Although the ARPD values obtained by BSIG algorithm fluctuated, they generally showed a downward trend. The ARPD values obtained by Jaya and IOHS algorithms both slightly decreased.
- Jaya algorithm was superior to BSIG algorithm, while the results obtained by IOHS algorithm were slightly better than those of Jaya algorithm.
- The results obtained by IOHS algorithm, shown in Table 5 and the corresponding figures, reveal that it delivered the best and most stable performance in solving the DPFSPs at all scales.
V. Conclusion
Author Contributions
Acknowledgment
References
- J. Zheng, L.Wang, and J.J.Wang, A cooperative coevolution algorithm for multi-objective fuzzy distributed hybrid flowshop[J],Knowledge-Based Systems,2020,194: 105536. [CrossRef]
- X.P. Li, C. Wu. Heuristic for no-wait flow shops with makespan minimization based on total idle-time increments[J], Science in China Series F: Information Sciences, 2008,51(7): 896–909. [CrossRef]
- C. Gogos. Solving the distributed permutation flow-shop scheduling problem using constrained programming [J]. Applied Sciences, 2023, 13(23): 12562. [CrossRef]
- J.H. Hao, J.Q. Li, Y. Du, M.X. Song, P. Duan, Y.Y. Zhang. Solving distributed hybrid flowshop scheduling problems by a hybrid brainstorm optimization algorithm[J]. IEEE Access, 2019, 7: 66879-66894. [CrossRef]
- Y. Geng, J. Li. An improved hyperplane assisted multiobjective optimization for distributed hybrid flowshop scheduling problem in glass manufacturing systems[J]. CMES-Computer Modeling in Engineering & Sciences, 2023, 134(1):241-266. [CrossRef]
- W. Zhang, H. Geng, C. Li, M. Gen, G. Zhang, M. Deng. Q-learning-based multi-objective particle swarm optimization with local search within factories for energy-efficient distributed flow-shop scheduling problem[J]. Journal of Intelligent Manufacturing, 2023: 1-24. [CrossRef]
- D. Bai, T. Liu, Y. Zhang, F. Chu, H. Qin, L. Gao, Y. Su, M. Huang. Scheduling a Distributed Permutation Flowshop With Uniform Machines and Release Dates[J].IEEE Transactions on Automation Science and Engineering,2024. [CrossRef]
- F. Zhao, C. Zhuang, L. Wang, C. Dong. An Iterative Greedy Algorithm With Q-Learning Mechanism for the Multiobjective Distributed No-Idle Permutation Flowshop Scheduling[J].IEEE Transactions on Automation Science and Engineering,2024,54(5):3207-3219. [CrossRef]
- Q.Y. Li, Q.K. Pan, H.Y. Sang, X.L. Jing, J.M. Framiñán, W.M. Li. Self-Adaptive Population-Based Iterated Greedy Algorithm for Distributed Permutation Flowshop Scheduling Problem with Part of Jobs Subject to a Common Deadline Constraint[J].Expert Systems with Applications,2024, 248:123278. [CrossRef]
- H.B.Song, J. Lin, Y.R.Chen. An effective two-stage heuristic for scheduling the distributed assembly flowshops with sequence dependent setup times [J].Computers&Operations Research,2024,173:106850. [CrossRef]
- Z.W. Geem, J.H. Kim, G.V. Loganathan. A new heuristic optimization algorithm: Harmony search. Simulation 2001, 76(2): 60–68. [CrossRef]
- T.H.Zhang, Z.W.Geem. Review of harmony search with respect to algorithm structure[J].Swarm and Evolutionary Computation,2019,48:31-43. [CrossRef]
- B.Y.Qu, P.N. Suganthan, S.Das.A distance-based locally informed particle swarm model for multi-modal optimization[J].IEEE Transactions on Evolutionary Computation, 2013, 17(3):387-402. [CrossRef]
- M. Nawaz, J.E.E. Enscore, I. Ham. A heuristic algorithm for the m-machine, n-job flow shop sequencing problem[J]. OMEGA:International Journal of Management Science, 1983,11(1): 91–95. [CrossRef]
- Ta, Q.C.; Pham, P.M. Integrated flowshop and vehicle routing problem based on tabu search algorithm. International Journal of Computers (IJC) 2022, 43, 24–35. [Google Scholar]
- Y. Zhou, W. Xu, Z.H. Fu, M.C. Zhou. Multi-neighborhood simulated annealing-based iterated local search for colored traveling salesman problems[J]. IEEE Transactions on Intelligent Transportation Systems, 2022, 23(9): 16072-16082. [CrossRef]
- E.Taillard, Benchmarks for basic scheduling problems[J] European Journal of Operational Research, 1993,64(2):278-285. [CrossRef]
- Y.Z. Li, X.P. Li, J.N.D. Gupta. Solving the multi-objective flowline manufacturing cell scheduling problem by hybrid harmony search[J]. Expert Systems with Applications, 2015, 42(3):1409-1417. [CrossRef]
- Kennedy, J.; Eberhart, R. Particle swarm optimization. Proceedings of ICNN'95 - International Conference on Neural Networks, Perth, WA, Australia 1995, 4, 1942–1948. [Google Scholar]
- R. Storn, K. Price. Differential evolution – A simple and efficient heuristic for global optimization over continuous spaces[J]. Journal of Global Optimization 1997,11: 341–359. [CrossRef]
- N. Hansen, S.D. Müller, and P. Koumoutsakos. Reducing the time complexity of the derandomized evolution strategy with covariance matrix adaptation (CMA-ES). Evolutionary Computation, 11(1):1–18, 2003. [CrossRef]
- Victor, F.V.; Framinan, J.M. A bounded-search iterated greedy algorithm for the distributed permutation flowshop scheduling problem. International Journal of Production Research 2015, 53, 1111–1123. [Google Scholar]
- Y. Pan, K.Gao, Z. Li and N. Wu, Solving biobjective distributed flow-shop scheduling problems with lot-streaming using an improved Jaya algorithm[J], IEEE Transactions on Cybernetics, 2023,53(6):3818-3828. [CrossRef]









| solution structure | job sequence | ||
| Processing Factory 1 | Processing Factory 2 | Processing Factory 3 | |
| {3,3,3} | {1,3,4} | {2,5,9} | {6,7,8} |
| {4,2,3} | {1,3,4,9} | {2,5} | {6,7,8} |
| , | MSave | , | MSave | , | MSave |
| 0.7, 0.1 | 4663 | 0.8, 0.1 | 4648 | 0.9, 0.1 | 4614 |
| 0.7, 0.15 | 4659 | 0.8, 0.15 | 4658 | 0.9, 0.15 | 4626 |
| 0.7, 0.2 | 4675 | 0.8, 0.2 | 4665 | 0.9, 0.2 | 4641 |
| 0.7, 0.25 | 4679 | 0.8, 0.25 | 4665 | 0.9, 0.25 | 4652 |
| 0.7, 0.3 | 4689 | 0.8, 0.3 | 4679 | 0.9, 0.3 | 4654 |
| 0.7, 0.35 | 4687 | 0.8, 0.35 | 4680 | 0.9, 0.35 | 4663 |
| 0.75, 0.1 | 4651 | 0.85, 0.1 | 4627 | 0.95, 0.1 | 4601 |
| 0.75, 0.15 | 4659 | 0.85, 0.15 | 4644 | 0.95, 0.15 | 4614 |
| 0.75, 0.2 | 4666 | 0.85, 0.2 | 4652 | 0.95, 0.2 | 4627 |
| 0.75, 0.25 | 4672 | 0.85, 0.25 | 4661 | 0.95, 0.25 | 4636 |
| 0.75, 0.3 | 4678 | 0.85, 0.3 | 4667 | 0.95, 0.3 | 4648 |
| 0.75, 0.35 | 4689 | 0.85, 0.35 | 4673 | 0.95, 0.35 | 4651 |
| J,M,F | MSave | J,M,F | MSave | J,M,F | MSave | |||
| HS | IOHS | HS | IOHS | HS | IOHS | |||
| 60, 2, 5 | 1847 | 1774 | 150, 5, 20 | 3285 | 2858 | 510, 3, 10 | 10483 | 9442 |
| 60, 2, 10 | 2318 | 2119 | 150, 10, 5 | 1203 | 965 | 510, 3, 20 | 11782 | 10365 |
| 60, 2, 20 | 3102 | 2871 | 150, 10, 10 | 1618 | 1333 | 510, 5, 5 | 6049 | 5528 |
| 60, 3, 5 | 1349 | 1237 | 90, 10, 20 | 2333 | 2009 | 510, 5, 10 | 6748 | 5837 |
| 60, 3, 10 | 1751 | 1587 | 330, 2, 5 | 9159 | 8866 | 510, 5, 20 | 7913 | 6789 |
| 60, 3, 20 | 2485 | 2284 | 330, 2, 10 | 10007 | 9230 | 510, 10, 5 | 3351 | 2834 |
| 60, 5, 5 | 937 | 817 | 330, 2, 20 | 11374 | 10195 | 510, 10, 10 | 3893 | 3200 |
| 60, 5, 10 | 1308 | 1166 | 330, 3, 5 | 6314 | 5932 | 510, 10, 20 | 4846 | 4053 |
| 60, 5, 20 | 1977 | 1810 | 330, 3, 10 | 7078 | 6322 | 600, 2, 5 | 16347 | 15977 |
| 60, 10, 5 | 626 | 525 | 330, 3, 20 | 8237 | 7223 | 600, 2, 10 | 17485 | 16365 |
| 60, 10, 10 | 962 | 838 | 330, 5, 5 | 4020 | 3615 | 600, 2, 20 | 19138 | 17279 |
| 60, 10, 20 | 1593 | 1450 | 330, 5, 10 | 4651 | 3974 | 600, 3, 5 | 11205 | 10692 |
| 150, 2, 5 | 4373 | 4214 | 330, 5, 20 | 5667 | 4857 | 600, 3, 10 | 12137 | 11008 |
| 150, 2, 10 | 4907 | 4477 | 330, 10, 5 | 2280 | 1881 | 600, 3, 20 | 13560 | 11979 |
| 150, 2, 20 | 5923 | 5293 | 330, 10, 10 | 2787 | 2264 | 600, 5, 5 | 7060 | 6478 |
| 150, 3, 5 | 3037 | 2819 | 330, 10, 20 | 3634 | 3039 | 600, 5, 10 | 7806 | 6819 |
| 150, 3, 10 | 3571 | 3137 | 510, 2, 5 | 14136 | 13810 | 600, 5, 20 | 9002 | 7745 |
| 150, 3, 20 | 4502 | 3972 | 510, 2, 10 | 14994 | 13997 | 600, 10, 5 | 3863 | 3295 |
| 150, 5, 5 | 1998 | 1733 | 510, 2, 20 | 16599 | 14947 | 600, 10, 10 | 4464 | 3687 |
| 150, 5, 10 | 2465 | 2102 | 510, 3, 5 | 9528 | 9057 | 600, 10, 20 | 5437 | 4529 |
| J,F,M | MSave | J,F,M | MSave | J,F,M | MSave | ||||||
| BSIG | Jaya | IOHS | BSIG | Jaya | IOHS | BSIG | Jaya | IOHS | |||
| 60,2,5 | 1828 | 1782 | 1774 | 150,5,20 | 3004 | 2887 | 2858 | 510,3,10 | 9719 | 9503 | 9442 |
| 60,2,10 | 2249 | 2144 | 2119 | 150,10,5 | 972 | 992 | 965 | 510,3,20 | 10761 | 10445 | 10365 |
| 60,2,20 | 3024 | 2897 | 2871 | 150,10,10 | 1342 | 1365 | 1333 | 510,5,5 | 5640 | 5556 | 5528 |
| 60,3,5 | 1248 | 1254 | 1237 | 90,10,20 | 2024 | 2044 | 2009 | 510,5,10 | 6085 | 5912 | 5837 |
| 60,3,10 | 1613 | 1618 | 1587 | 330,2,5 | 8941 | 8867 | 8866 | 510,5,20 | 7084 | 6853 | 6789 |
| 60,3,20 | 2318 | 2321 | 2284 | 330,2,10 | 9451 | 9244 | 9230 | 510,10,5 | 2940 | 2881 | 2834 |
| 60,5,5 | 828 | 841 | 817 | 330,2,20 | 10575 | 10217 | 10195 | 510,10,10 | 3354 | 3258 | 3200 |
| 60,5,10 | 1182 | 1193 | 1166 | 330,3,5 | 6036 | 5939 | 5932 | 510,10,20 | 4234 | 4094 | 4053 |
| 60,5,20 | 1833 | 1845 | 1810 | 330,3,10 | 6567 | 6363 | 6322 | 600,2,5 | 16042 | 15980 | 15977 |
| 60,10,5 | 534 | 544 | 525 | 330,3,20 | 7530 | 7277 | 7223 | 600,2,10 | 16647 | 16399 | 16365 |
| 60,10,10 | 855 | 867 | 838 | 330,5,5 | 3713 | 3641 | 3615 | 600,2,20 | 17773 | 17379 | 17279 |
| 60,10,20 | 1472 | 1484 | 1450 | 330,5,10 | 4181 | 4028 | 3974 | 600,3,5 | 10804 | 10707 | 10692 |
| 150,2,5 | 4270 | 4215 | 4214 | 330,5,20 | 5081 | 4894 | 4857 | 600,3,10 | 11299 | 11065 | 11008 |
| 150,2,10 | 4655 | 4482 | 4477 | 330,10,5 | 1973 | 1920 | 1881 | 600,3,20 | 12389 | 12062 | 11979 |
| 150,2,20 | 5544 | 5295 | 5293 | 330,10,10 | 2386 | 2308 | 2264 | 600,5,5 | 6601 | 6512 | 6478 |
| 150,3,5 | 2897 | 2828 | 2819 | 330,10,20 | 3180 | 3072 | 3039 | 600,5,10 | 7065 | 6894 | 6819 |
| 150,3,10 | 3325 | 3176 | 3137 | 510,2,5 | 13899 | 13811 | 13810 | 600,5,20 | 8065 | 7808 | 7745 |
| 150,3,20 | 4164 | 4008 | 3972 | 510,2,10 | 14225 | 14006 | 13997 | 600,10,5 | 3402 | 3343 | 3295 |
| 150,5,5 | 1823 | 1765 | 1733 | 510,2,20 | 15393 | 15016 | 14947 | 600,10,10 | 3871 | 3763 | 3687 |
| 150,5,10 | 2225 | 2141 | 2102 | 510,3,5 | 9160 | 9073 | 9057 | 600,10,20 | 4742 | 4580 | 4529 |
| J,F,M | ARPD (%) | J,F,M | ARPD (%) | J,F,M | ARPD (%) | ||||||
| BSIG | Jaya | IOHS | BSIG | Jaya | IOHS | BSIG | Jaya | IOHS | |||
| 60,2,5 | 5.04 | 2.37 | 1.12 | 150,5,20 | 0.90 | 0.19 | 0.06 | 510,3,10 | 1.15 | 0.53 | 0.16 |
| 60,2,10 | 7.69 | 2.15 | 0.37 | 150,10,5 | 3.12 | 0.23 | 0.06 | 510,3,20 | 0.79 | 0.49 | 0.18 |
| 60,2,20 | 0.87 | 0.24 | 0.10 | 150,10,10 | 2.15 | 0.21 | 0.08 | 510,5,5 | 1.77 | 0.88 | 0.29 |
| 60,3,5 | 2.14 | 0.13 | 0.04 | 150,10,20 | 1.52 | 0.19 | 0.07 | 510,5,10 | 1.43 | 0.66 | 0.18 |
| 60,3,10 | 2.32 | 0.24 | 0.10 | 330,2,5 | 4.14 | 1.60 | 0.35 | 510,5,20 | 0.70 | 0.44 | 0.16 |
| 60,3,20 | 1.61 | 0.17 | 0.06 | 330,2,10 | 2.31 | 0.63 | 0.20 | 510,10,5 | 0.82 | 0.54 | 0.20 |
| 60,5,5 | 3.67 | 0.22 | 0.07 | 330,2,20 | 1.09 | 0.51 | 0.20 | 510,10,10 | 0.86 | 0.56 | 0.26 |
| 60,5,10 | 2.78 | 0.26 | 0.09 | 330,3,5 | 2.62 | 0.84 | 0.27 | 510,10,20 | 0.56 | 0.35 | 0.15 |
| 60,5,20 | 2.01 | 0.18 | 0.05 | 330,3,10 | 2.04 | 0.62 | 0.20 | 600,2,5 | 1.23 | 0.59 | 0.21 |
| 60,10,5 | 4.72 | 0.25 | 0.09 | 330,3,20 | 1.10 | 0.52 | 0.19 | 600,2,10 | 1.04 | 0.55 | 0.18 |
| 60,10,10 | 3.87 | 0.21 | 0.05 | 330,5,5 | 3.18 | 0.87 | 0.30 | 600,2,20 | 0.66 | 0.41 | 0.17 |
| 60,10,20 | 2.66 | 0.17 | 0.07 | 330,5,10 | 2.28 | 0.76 | 0.28 | 600,3,5 | 1.31 | 0.83 | 0.30 |
| 150,2,5 | 1.64 | 0.28 | 0.07 | 330,5,20 | 1.24 | 0.57 | 0.21 | 600,3,10 | 1.17 | 0.64 | 0.24 |
| 150,2,10 | 1.33 | 0.87 | 0.28 | 330,10,5 | 1.31 | 0.59 | 0.20 | 600,3,20 | 0.69 | 0.49 | 0.20 |
| 150,2,20 | 1.06 | 0.79 | 0.26 | 330,10,10 | 1.00 | 0.50 | 0.18 | 600,5,5 | 1.58 | 0.78 | 0.30 |
| 150,3,5 | 0.62 | 0.39 | 0.15 | 330,10,20 | 0.99 | 0.37 | 0.12 | 600,5,10 | 1.29 | 0.71 | 0.24 |
| 150,3,10 | 0.66 | 0.30 | 0.07 | 510,2,5 | 1.56 | 0.68 | 0.23 | 600,5,20 | 0.79 | 0.49 | 0.17 |
| 150,3,20 | 0.55 | 0.19 | 0.07 | 510,2,10 | 1.29 | 0.66 | 0.27 | 600,10,5 | 1.45 | 0.77 | 0.25 |
| 150,5,5 | 1.94 | 0.40 | 0.11 | 510,2,20 | 0.78 | 0.50 | 0.17 | 600,10,10 | 1.27 | 0.64 | 0.23 |
| 150,5,10 | 1.44 | 0.22 | 0.07 | 510,3,5 | 1.39 | 0.55 | 0.13 | 600,10,20 | 0.67 | 0.41 | 0.15 |
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 (http://creativecommons.org/licenses/by/4.0/).