Integrating Order Splitting and Acceptance with Batch Delivery in Parallel Machine Scheduling
Abstract
:1. Introduction
2. Problem Description
- Optimal Machine Utilization: Determine the number of machines to put into production to maximize the benefit.
- Order Acceptance: Decide which orders to accept and which to reject. Some orders will be rejected if their revenue does not exceed the tardiness cost.
- Production Assignment and Scheduling: Determine which production line (or machine) will handle the accepted orders and when; in other words, establish the production sequence of orders on each machine.
- Order Transportation: Plan the transportation of completed orders. Specifically, for direct transportation, classify which orders will be transported in the same batch (vehicle), and decide whether to use the company’s own vehicles or third-party logistics (3PL).
3. Model
4. Genetic Algorithm
4.1. Encoding Scheme
- Batch Number (or Vehicle Number): The batch to which the order belongs. Batch 0 indicates a virtual batch, and the orders in this batch are unaccepted.
- Machine Number: The machine used to produce the order.
- Mode of Transportation: A value of 0 means that the company’s own vehicle is used for transportation, and 1 indicates the use of third-party logistics.
4.2. Initial Population
- Step 1.
- The first l batches are produced separately by each machine.
- Step 2.
- One by one, orders in the next l batches are added to the machine with the Shortest Processing Time. If the processing times of all machines are equal, orders are assigned starting from the first machine in sequence.
4.3. Selection Mechanism
4.4. Genetic Operators
Crossover
- Select two random crossover points in each of the paired individual coding strings;
- Exchange the chromosome segments between the two individuals at these crossover points.
- Generate a random binary vector with the same length as the individual genes.
- For each locus i, apply the following rules:
- If , offspring 1 inherits the gene value from parent 1 at locus i, and offspring 2 inherits the gene value from parent 2 at the same locus.
- If , offspring 1 inherits the gene value from parent 2 at locus i, and offspring 2 inherits the gene value from parent 1 at the same locus.
- When the random number is 0, the crossover occurs in the front part of the individual.
- When the random number is 1, the crossover happens in the middle part.
- When the random number is 2, the crossover takes place in the back part of the individual.
- If , a one-point crossover is applied.
- If , a two-point crossover is applied.
- If , a uniform crossover is applied.
4.5. Mutation
- Rule 1: If , then .
- Rule 2: If , then .
- Rule 3: If and , then .
- Rule 4: If and , then .
- If , then apply interchange mutation.
- If , then apply inversion mutation.
- If , then apply insertion mutation.
4.6. Local Search
- Constraints That May Be Violated:
- Directing Delivery Constraint: A batch cannot contain orders from two or more customers.
- Vehicle Capacity Constraint: The total occupied space of all orders in a batch should not exceed the maximum capacity of a vehicle.
- Company Vehicle Number Constraint: At most, V batches can be transported by the company.
- Modification Mechanism:
- Step 1.
- For all batches that violate the Directing Delivery Constraint, retain the orders belonging to the family of the first order and remove all other orders.
- Step 2.
- For all batches that violate the Vehicle Capacity Constraint, keep orders as long as the total occupied space does not exceed the vehicle capacity.
- Step 3.
- Place all removed orders in their respective family batches as long as the vehicle capacity is not exceeded; otherwise, form new batches using these orders.
- Step 4.
- For all formed batches, retain the first V batches to be transported by the company and transport the remaining batches using the third-party logistics (3PL) provider.
5. Computational Experiment
5.1. Parameter Settings
- Fixed cost of starting a machine: 30;
- Machine number: 3 to 6;
- Unit revenue for each order: 30 to 60;
- Processing time: 10 to 16;
- Size of an order: 1 to 7;
- Transportation time: 1 to 4;
- Tardiness cost: 3 to 9;
- Cost of transportation by the company: 20;
- Fixed cost of transportation by the 3PL provider: 8;
- Variable cost of transportation by the 3PL provider: 4;
- Transporter capacity: 20;
- Due date: generated randomly within a certain range for each order.
5.2. Computation Results
6. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Abbreviations
3PL | Third-party logistics |
TNP | Total Net Profit |
GA | Genetic algorithm |
References
- Li, Y.; Côté, J.F.; Callegari-Coelho, L.; Wu, P. Novel Formulations and Logic-Based Benders Decomposition for the Integrated Parallel Machine Scheduling and Location Problem. INFORMS J. Comput. 2022, 34, 1048–1069. [Google Scholar] [CrossRef]
- Bitar, A.; Dauzère-Pérès, S.; Yugma, C. Unrelated parallel machine scheduling with new criteria: Complexity and models. Comput. Operat. Res. 2021, 132, 105291. [Google Scholar] [CrossRef]
- Agárdi, A.; Nehéz, K. Parallel machine scheduling with Monte Carlo Tree Search. Acta Polytech. 2021, 61, 307–312. [Google Scholar] [CrossRef]
- De Armas, J.; Laguna, M. Parallel machine, capacitated lot-sizing and scheduling for the pipe-insulation industry. Int. J. Prod. Res. 2020, 58, 800–817. [Google Scholar] [CrossRef]
- Lee, J.H.; Jang, H. Uniform parallel machine scheduling with dedicated machines, job splitting and setup resources. Sustainability 2019, 11, 7137. [Google Scholar] [CrossRef]
- Fang, K.; Wang, S.; Pinedo, M.L.; Chen, L.; Chu, F. A combinatorial Benders decomposition algorithm for parallel machine scheduling with working-time restrictions. Eur. J. Oper. Res. 2021, 291, 128–146. [Google Scholar] [CrossRef]
- Page, D.R.; Solis-Oba, R. Makespan minimization on unrelated parallel machines with a few bags. Theor. Comput. Sci. 2020, 821, 34–44. [Google Scholar] [CrossRef]
- Arık, O.A.; Toksarı, M.D. Fuzzy parallel machine scheduling problem under fuzzy job deterioration and learning effects with fuzzy processing times. In Advanced Fuzzy Logic Approaches in Engineering Science; IGI Global: Hershey, PA, USA, 2019; pp. 49–67. [Google Scholar]
- Guo, P.; Weidinger, F.; Boysen, N. Parallel machine scheduling with job synchronization to enable efficient material flows in hub terminals. Omega 2019, 89, 110–121. [Google Scholar] [CrossRef]
- Pei, J.; Wang, X.; Fan, W.; Pardalos, P.M.; Liu, X. Scheduling step-deteriorating jobs on bounded parallel-batching machines to maximise the total net revenue. J. Oper. Res. Soc. 2019, 70, 1830–1847. [Google Scholar] [CrossRef]
- Yepes-Borrero, J.C.; Perea, F.; Ruiz, R.; Villa, F. Bi-objective parallel machine scheduling with additional resources during setups. Eur. J. Oper. Res. 2021, 292, 443–455. [Google Scholar] [CrossRef]
- Wang, S.; Wang, X.; Yu, J.; Ma, S.; Liu, M. Bi-objective identical parallel machine scheduling to minimize total energy consumption and makespan. J. Clean. Prod. 2018, 193, 424–440. [Google Scholar] [CrossRef]
- Akyol Ozer, E.; Sarac, T. MIP models and a matheuristic algorithm for an identical parallel machine scheduling problem under multiple copies of shared resources constraints. TOP 2019, 27, 94–124. [Google Scholar] [CrossRef]
- Villa, F.; Vallada, E.; Fanjul-Peyro, L. Heuristic algorithms for the unrelated parallel machine scheduling problem with one scarce additional resource. Expert Syst. Appl. 2018, 93, 28–38. [Google Scholar] [CrossRef]
- Safarzadeh, H.; Niaki, S.T.A. Bi-objective green scheduling in uniform parallel machine environments. J. Clean. Prod. 2019, 217, 559–572. [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]
- Rudek, R. A generic optimization framework for scheduling problems under machine deterioration and maintenance activities. Comput. Ind. Eng. 2022, 174, 108800. [Google Scholar] [CrossRef]
- Srinath, N.; Yilmazlar, I.O.; Kurz, M.E.; Taaffe, K. Hybrid multi-objective evolutionary meta-heuristics for a parallel machine scheduling problem with setup times and preferences. Comput. Ind. Eng. 2023, 185, 109675. [Google Scholar] [CrossRef]
- Kim, H.J. Bounds for parallel machine scheduling with predefined parts of jobs and setup time. Ann. Oper. Res. 2018, 261, 401–412. [Google Scholar] [CrossRef]
- Li, D.; Wang, J.; Qiang, R.; Chiong, R. A hybrid differential evolution algorithm for parallel machine scheduling of lace dyeing considering colour families, sequence-dependent setup and machine eligibility. Int. J. Prod. Res. 2021, 59, 2722–2738. [Google Scholar] [CrossRef]
- Kusoncum, C.; Sethanan, K.; Pitakaso, R.; Hartl, R.F. Heuristics with novel approaches for cyclical multiple parallel machine scheduling in sugarcane unloading systems. Int. J. Prod. Res. 2021, 59, 2479–2497. [Google Scholar] [CrossRef]
- Li, Y.; Liu, J.; Wang, L.; Liu, J.; Tang, H.; Guo, J.; Xu, W. A K-means-Teaching Learning based optimization algorithm for parallel machine scheduling problem. Appl. Soft Comput. 2024, 161, 111746. [Google Scholar] [CrossRef]
- Lei, D.; Yuan, Y.; Cai, J. An improved artificial bee colony for multi-objective distributed unrelated parallel machine scheduling. Int. J. Prod. Res. 2021, 59, 5259–5271. [Google Scholar] [CrossRef]
- Lei, D.; Liu, M. An artificial bee colony with division for distributed unrelated parallel machine scheduling with preventive maintenance. Comput. Ind. Eng. 2020, 141, 106320. [Google Scholar] [CrossRef]
- Wu, X.; Che, A. A memetic differential evolution algorithm for energy-efficient parallel machine scheduling. Omega 2019, 82, 155–165. [Google Scholar] [CrossRef]
- Yunusoglu, P.; Topaloglu Yildiz, S. Constraint programming approach for multi-resource-constrained unrelated parallel machine scheduling problem with sequence-dependent setup times. Int. J. Prod. Res. 2022, 60, 2212–2229. [Google Scholar] [CrossRef]
- Wu, L.; Wang, S. Exact and heuristic methods to solve the parallel machine scheduling problem with multi-processor tasks. Int. J. Prod. Econ. 2018, 201, 26–40. [Google Scholar] [CrossRef]
- Kowalczyk, D.; Leus, R. A Branch-and-Price Algorithm for Parallel Machine Scheduling Using ZDDs and Generic Branching. INFORMS J. Comput. 2018, 30, 768–782. [Google Scholar] [CrossRef]
- Ewees, A.A.; Al-qaness, M.A.; Abd Elaziz, M. Enhanced salp swarm algorithm based on firefly algorithm for unrelated parallel machine scheduling with setup times. Appl. Math. Model. 2021, 94, 285–305. [Google Scholar] [CrossRef]
- Laha, D.; Gupta, J.N. An improved cuckoo search algorithm for scheduling jobs on identical parallel machines. Comput. Ind. Eng. 2018, 126, 348–360. [Google Scholar] [CrossRef]
- Majumder, A.; Laha, D.; Suganthan, P.N. A hybrid cuckoo search algorithm in parallel batch processing machines with unequal job ready times. Comput. Ind. Eng. 2018, 124, 65–76. [Google Scholar] [CrossRef]
- Cao, Z.; Lin, C.; Zhou, M. A knowledge-based cuckoo search algorithm to schedule a flexible job shop with sequencing flexibility. IEEE Trans. Autom. Sci. Eng. 2019, 18, 56–69. [Google Scholar] [CrossRef]
- Soares, L.C.; Carvalho, M.A. Application of a hybrid evolutionary algorithm to resource-constrained parallel machine scheduling with setup times. Comput. Oper. Res. 2022, 139, 105637. [Google Scholar] [CrossRef]
- Bulhões, T.; Sadykov, R.; Subramanian, A.; Uchoa, E. On the exact solution of a large class of parallel machine scheduling problems. J. Sched. 2020, 23, 411–429. [Google Scholar] [CrossRef]
- Ouazene, Y.; Yalaoui, F. Identical parallel machine scheduling with time-dependent processing times. Theor. Comput. Sci. 2018, 721, 70–77. [Google Scholar] [CrossRef]
- Gedik, R.; Kalathia, D.; Egilmez, G.; Kirac, E. A constraint programming approach for solving unrelated parallel machine scheduling problem. Comput. Ind. Eng. 2018, 121, 139–149. [Google Scholar] [CrossRef]
- Xiong, X.; Zhou, P.; Yin, Y.; Cheng, T.C.E.; Li, D. An exact branch-and-price algorithm for multitasking scheduling on unrelated parallel machines. Naval Res. Logist. (NRL) 2019, 66, 502–516. [Google Scholar] [CrossRef]
- Exposito-Izquierdo, C.; Angel-Bello, F.; Melián-Batista, B.; Alvarez, A.; Báez, S. A metaheuristic algorithm and simulation to study the effect of learning or tiredness on sequence-dependent setup times in a parallel machine scheduling problem. Expert Syst. Appl. 2019, 117, 62–74. [Google Scholar] [CrossRef]
- Ezugwu, A.E.; Adeleke, O.J.; Viriri, S. Symbiotic organisms search algorithm for the unrelated parallel machines scheduling with sequence-dependent setup times. PLoS ONE 2018, 13, e0200030. [Google Scholar] [CrossRef]
- Vallada, E.; Villa, F.; Fanjul-Peyro, L. Enriched metaheuristics for the resource constrained unrelated parallel machine scheduling problem. Comput. Oper. Res. 2019, 111, 415–424. [Google Scholar] [CrossRef]
- Yepes-Borrero, J.C.; Villa, F.; Perea, F.; Caballero-Villalobos, J.P. GRASP algorithm for the unrelated parallel machine scheduling problem with setup times and additional resources. Expert Syst. Appl. 2020, 141, 112959. [Google Scholar] [CrossRef]
- Noroozi, A.; Mazdeh, M.M.; Heydari, M.; Rasti-Barzoki, M. Coordinating order acceptance and integrated production-distribution scheduling with batch delivery considering Third Party Logistics distribution. J. Manuf. Syst. 2018, 46, 29–45. [Google Scholar] [CrossRef]
- Ingo, R. Evolutionsstrategie: Optimierung Technischer Systeme Nach Prinzipien der Biologischen Evolution; Frommann-Holzboog: Stuttgart, Germany, 1973. [Google Scholar]
- Alavidoost, M.H.; Tarimoradi, M.; Zarandi, M.F. Fuzzy adaptive genetic algorithm for multi-objective assembly line balancing problems. Appl. Soft Comput. 2015, 34, 655–677. [Google Scholar] [CrossRef]
Notation | Description |
---|---|
Sets: | |
N | The set of all orders |
L | The set of machines, indexed by l |
K | The set of customers, indexed by k |
The set of orders of customer k | |
V | The set of all vehicles, |
The set of owned vehicles | |
The set of 3PL vehicles | |
The set of positions in the production queue of machine l, indexed by p | |
Parameters: | |
The revenue of order i | |
The fixed startup cost of machine m | |
The fixed usage cost for using owned vehicles to transport goods to customer k | |
The fixed usage cost for using 3PL vehicles to transport goods to customer k | |
The unit time tardiness cost of order i | |
The unit freight cost for 3PL service to customer k | |
The processing time required to complete order i | |
The size of order i | |
The loading capacity of vehicle v | |
The travel time to customer k | |
The desired time for order i | |
Variables: | |
Equals 1 if order i is accepted and 0 otherwise | |
Equals 1 if machine l is started and 0 otherwise | |
The total tardiness time of order i | |
Equals 1 if vehicle v serves customer k and 0 otherwise | |
The completion time or loading time of order i | |
The arrival time of order i at the customer’s location | |
Equals 1 if order i is assigned to vehicle v and 0 otherwise | |
The departure time of vehicle v |
Problem Size | 15 × 10 | 15 × 5 | 10 × 10 | 10 × 5 | 5 × 10 | 5 × 5 |
---|---|---|---|---|---|---|
H1 Optimal Proportion | 21% | 23% | 19% | 24% | 28% | 32% |
H2 Optimal Proportion | 15% | 14% | 17% | 18% | 25% | 29% |
H3 Optimal Proportion | 65% | 63% | 64% | 58% | 47% | 39% |
H1 | 759, 867, 906, 1074, 1101, 1083, 1074, 1065, 1055, 1059, 1065, 960, 1049, 1009, 1035, 987, 1057, 991, 1054, 1002 |
H2 | 487, 729, 894, 966, 1017, 1022, 1021, 973, 981, 988, 965, 1085, 1130, 1188, 1216, 1162, 1215, 1213, 1217, 1212 |
H3 | 583, 854, 1029, 1089, 1041, 1001, 1109, 1042, 1115, 1083, 1104, 1099, 1095, 1083, 1107, 1086, 1159, 1131, 1011, 1137 |
Problem Size | 15 × 10 | 15 × 5 | 10 × 10 | 10 × 5 | 5 × 10 | 5 × 5 |
---|---|---|---|---|---|---|
Optimal number of starting machines (sets) | 4 | 3 | 3 | 2 | 2 | 1 |
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. |
© 2024 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
Cui, H.; Zhao, Q.; Wang, H.; Guo, Y.; Guo, J. Integrating Order Splitting and Acceptance with Batch Delivery in Parallel Machine Scheduling. Systems 2024, 12, 354. https://doi.org/10.3390/systems12090354
Cui H, Zhao Q, Wang H, Guo Y, Guo J. Integrating Order Splitting and Acceptance with Batch Delivery in Parallel Machine Scheduling. Systems. 2024; 12(9):354. https://doi.org/10.3390/systems12090354
Chicago/Turabian StyleCui, Hanxing, Qilan Zhao, Huanhuan Wang, Yuliang Guo, and Junjie Guo. 2024. "Integrating Order Splitting and Acceptance with Batch Delivery in Parallel Machine Scheduling" Systems 12, no. 9: 354. https://doi.org/10.3390/systems12090354
APA StyleCui, H., Zhao, Q., Wang, H., Guo, Y., & Guo, J. (2024). Integrating Order Splitting and Acceptance with Batch Delivery in Parallel Machine Scheduling. Systems, 12(9), 354. https://doi.org/10.3390/systems12090354