Auction-based approach to the job-shop problem with parallel batch processing and a machine availability constraint

In military manufacturing enterprises, exceptionally high product performance standards are generally met by using heat treatment followed by machining. These procedures are typically parallel batch-processing (BP) scheduling problems and job-shop problems, respectively. A mixed-integer nonlinear programming model is created to describe the problem with a machine availability constraint, which is divided into two stages: BP and machine processing (MP). Furthermore, an auction-based approach is developed in which jobs are categorized into batches during the BP stage and resources are allocated to operating machines during the MP stage. A local search operator is then applied to optimize the obtained feasible solutions. Benchmark instances are enlarged to adapt to the proposed problem. The approach is tested and compared to existing algorithms, and statistical analysis is performed using SPSS Statistics. The results show that the auction-based approach is effective and stable, and has absolute advantages in solving large-scale instances.


Introduction
The job-shop problem (JSP) and batch-processing scheduling problem (BPSP) are well-known scheduling problems in manufacturing. In the JSP, each job has its own individual processing route, and each operating machine (OM) can only process one job at a time. On the other hand, in the BPSP, jobs must be put into batches before processing. This allows the machine, called the batch processing machine (BPM), to simultaneously process multiple jobs. According to the batch processing model, the BPSP is divided into two categories: serial batch (s-batch) and parallel batch (p-batch). For the s-batch, the BPM individually processes each job in a batch, and the processing time of the batch is equal to the sum of the processing time of all the jobs in it. For the p-batch, the BPM can simultaneously process all the jobs in a batch, and the processing time of the batch is equal to that of the job with the maximum processing time in that batch Yan 2015, 2020).
The premise of this article derives from actual production problems encountered in military enterprises. Compared with general manufacturing enterprises, military enterprises have higher production safety requirements. In terms of the product itself, it also has higher performance standards in terms of precision, hardness, ductility, etc. (Zeng et al. Forthcoming). In general steel enterprises, after the steel-making and continuous casting stages, primary raw materials called slab are produced; then, the slab goes through the hot-rolling stage or machining stage to form metal products according to the demand. However, in military enterprises, machining alone cannot meet the performance requirements of products. In general, prior to machining, jobs require heat treatment, which is an effective method to improve product performance. Meanwhile, machine maintenance can effectively prevent accidents and improve the accuracy of processing products. The heat treatment and machining procedures are typically p-batch BPSPs (p-BPSP) and JSPs, respectively (Chung, Liao, and Lin 2012;Chung, Gupta, and Qiu 2019). Figure 1 shows the typical mode of product processing in military enterprises.
This research focuses on the typical production scenarios in military enterprises, the case in which jobs require heat treatment before machining, corresponding to the last two stages in Figure 1, also under the constraint of machine availability, and puts forward an optimization method to improve production efficiency and shorten production time on the premise of ensuring production safety. The problem is formulated as a mixed-integer nonlinear programming model. To solve the problem, it is divided into two stages: batch processing (BP) and machining processing (MP). An auction-based approach is developed, where an auction method is defined for forming batches during the BP stage, and OM resources are allocated to jobs during the MP stage. In both stages, jobs act as bidders; the OM acts as an auctioneer during the MP stage. After obtaining feasible solutions, they are optimized by applying a local search operator. Numerical experiments are conducted by testing a set of benchmark instances using the ABA and four comparison algorithms. To adapt to the proposed problem, the instances are enlarged by adding batch processing time, job size and machine maintenance elements. A comparative statistical analysis is also performed using SPSS Statistics.
The remainder of this article is organized as follows. Section 2 reviews existing research on the JSP with a machine availability constraint, p-BPSP, and application of the auction algorithm in production scheduling. Section 3 introduces the formulation of a mixed-integer nonlinear programming model to describe the problem. Section 4 illustrates the procedure of auction in the BP and MP stages, and explains the application of the local search operator for optimizing the feasible solutions. Section 5 shows a set of numerical experiments and the obtained results. Finally, conclusions are presented in Section 6.

Literature review
The JSP is a well-known scheduling problem in which each job has its own predetermined processing route that needs to be processed on a range of OMs (Zeng, Tang, and Yan 2014). In the classical JSP, all machines are assumed to be available without interruption in the planning horizon (Zandieh, Khatamib, and Rahmati 2017). This means that machines are available throughout the production process. With the development of practical production and research, the situation of timerestricted machine availability in the production process has become an area of concern (Moradi, Fatemi Ghomi, and Zandieh 2011). Existing research on the machine availability constraint primarily focuses on machine breakdown and maintenance (Rajkumar, Asokan, and Vamsikrishna 2010). Machine maintenance is intended to prevent production failures in advance. Machine maintenancerelated research can be divided into two categories based on its approach. The first approach considers the fixed machine availability constraint, i.e. the start and end times of maintenance activities are predetermined during maintenance planning (Wang and Yu 2010). The second approach considers that preventive maintenance tasks would impose non-fixed availability constraints on the machine; the starting time of these maintenance tasks is generally flexible, which means that the starting times of unavailable periods are not known in advance and need to be determined (Wang and Yu 2010). Compared to fixed availability constraints, there has been limited research on non-fixed availability constraints. Rajkumar, Asokan, and Vamsikrishna (2010) presented a greedy randomized adaptive search procedure (GRASP) algorithm to solve the flexible JSP with non-fixed availability constraints. Moradi, Fatemi Ghomi, and Zandieh (2011) investigated an integrated flexible JSP with preventive maintenance (PM) activities under multi-objective optimization approaches. Zandieh, Khatamib, and Rahmati (2017) proposed an improved imperialist competitive algorithm (ICA) to handle conditionbased maintenance (CBM) for the flexible JSP, with the objective of makespan minimization. CBM is essentially a maintenance plan that recommends maintenance actions based on information collected via condition monitoring.
The majority of existing research divides p-BPSP into three subproblems: batch composition, machine resource allocation and batch scheduling (Abedi et al. 2015;Huang et al. 2017). The main focuses of the problem are the volume of the BPM and the job sizes (Hulett, Damodaran, and Amouie 2017;Zhao et al. 2020). Wang and Chou (2010) handled the scheduling problem of parallel BPMs under the constraints of different release times, job sizes and capacity limits. For this, they set up metaheuristics based on the simulated annealing algorithm and genetic algorithm (GA). Hulett, Damodaran, and Amouie (2017) and Majumder, Laha, and Suganthan (2018) studied the same problem; to solve it, they proposed the particle swarm optimization (PSO) algorithm and a hybrid cuckoo search algorithm, respectively. Pei et al. (2020) developed an effective hybrid BF-VNS algorithm combining bacterial foraging (BF) with variable neighbourhood search (VNS). The factors and solving methods involved in the references are summarized in Table 1.
To the best of the authors' knowledge, just a few researchers have paid attention to the JSP combined with p-BPSP (Ham 2017;Ham and Cakici 2016;Li et al. 2016), as highlighted in Table 1. However, in these three articles, batch processing is included in the JSP, meaning that the BP stage is mixed into the MP stage (Li et al. 2016), or after the JSP, where the MP stage is in front of the BP stage (Ham 2017;Ham and Cakici 2016). There has been hardly any research focusing on cases in which jobs must first undergo the p-batch process (corresponding to BP stage) before the JSP with machine maintenance (corresponding to the MP stage). Compared with considering p-BPSP or JSP alone, the method of allocation of machine resources to each job becomes more complex in this condition. Therefore, a mechanism for effective resource allocation is necessary.
In the field of manufacturing scheduling, auction-based approaches have been widely and successfully used (Siwamogsatham and Saygin 2004). Adhau, Mittal, and Mittal (2012) addressed multiple resource allocation problems in a novel distributed multi-agent system and developed an auctionbased negotiation approach to handle it. Tang, Zeng, and Pan (2016) proposed an auction-based approach to solve the cell part scheduling (CPS) problem, which focuses on cooperation between different cells.  enlarged the problem proposed by Tang, Zeng, and Pan (2016) by considering transport capacity limitations. They also proposed an auction-based heuristic approach to handle the problem.  also developed an auction-based approach to solve the flexible JSP with multiple process plans based on the core principle of improving the utilization rate of resources.  Rajkumar, Asokan, and Vamsikrishna (2010) Greedy randomized adaptive search procedure Wang and Yu (2010) Filtered beam search Wang and Chou (2010) Simulated annealing algorithm Moradi, Fatemi Ghomi, and Zandieh (2011) Non-dominated sorting genetic algorithm- II Zhou, Lu, and Xi (2012) Dynamic opportunistic model Abedi et al. (2015) Fast non-dominated sorting genetic algorithm Li et al. (2016) Combinational ant colony optimization approach Ham and Cakici (2016) Constraint programming Ham (2017) Priority job scheduler Zandieh, Khatamib, and Rahmati (2017) Imperialist competitive algorithm Fatima, Jaouad, and Ahmed (2017) Novel hybrid ant colony optimization Hulett, Damodaran, and Amouie (2017) Particle swarm optimization Majumder, Laha, and Suganthan (2018) Hybrid cuckoo search algorithm Arroyo, Leung, and Goncalves Tavares (2019) Iterated greedy algorithm Pei et al. (2019) Bat algorithm and variable neighbourhood search (VNS) Pei et al. (2020) Bacterial foraging with VNS In the present study, an auction-based approach is proposed to handle this problem. Under the interaction between the two stages, assessing the priority level of a resource is a challenging task. By considering jobs as bidders participating in an auction, the resource bidding information of each job can effectively reflect the demand for resources in different time periods. This is conducive to the assessment and allocation of resources. Thus, resource utilization and makespan minimization can be achieved.

Problem description
The problem in this study consists of a set of jobs, BPMs and OMs. The production process is divided into two stages: the BP stage and the MP stage. Each job enters the BP stage first, where jobs are gathered into batches and processed by BPMs; they then enter the MP stage to be processed by OMs. The objective is to minimize the overall makespan. In the BP stage, the processing time of each batch is equal to the maximum processing time of any job in that batch. The batch size is equal to the sum of the sizes of jobs in that batch, and it is not allowed to exceed the capacity of uniform BPMs. In the MP stage, there are no duplicate machines, only one OM exists for each type and each OM can only process one job at a time. When the cumulative processing time of each OM reaches the margin of safety, it is interrupted for maintenance and the cumulative processing time is reset. During both stages, once the BPM begins batch processing or the OM begins job processing, there is no interruption until the processing is finished. Table 2 shows a simple case of the given problem with five jobs. For the batch stage, 'Batch processing time' represents the shortest time that each job needs to be processed and 'Size' represents the volume of each job. For the MP stage, 'Processing route and time' represents which job needs to be processed by which OMs and how long the processing times are. Consider Job 1 as an example. During the BP stage, its processing time and size are 18 and 7, respectively. During the MP stage, OM 3 :7 means that the first operation of Job 1 needs to be processed by OM 3 with 7 units' duration; then, it requires processing by OM 1 and OM 4 , in sequence, with processing times of 8 and 9, respectively. Note: BP = batch processing; MP = machining processing.

List of symbols
A large positive number. CM Bound of cumulative processing time for machine maintenance. MT Time spent on machine maintenance.

St b
Processing start time for batch b in the BP stage.

Ct b
Processing end time for batch b in the BP stage. Sto ij Processing start time for operation O ij in the MP stage. Cto ij Processing end time for operation O ij in the MP stage.

Mixed-integer nonlinear programming model
Equation (1) shows the objective function of the model, aiming at minimizing the overall makespan.
Equation (2) indicates that during the BP stage, each job must be added to a batch before processing by the BPM.
Equation (3) indicates that each batch must be assigned to one BPM for processing.
Equation (4) ensures that the size of each batch does not exceed the capacity of the BPM.
Equation (5) shows the processing mode of the batch, which is equal to the maximum processing time of any job in the batch.
Equation (6) is used to determine the sequence of batches processed on the same BPM, ensuring that z bb k or z b bk are 1 only if y bk and y b k are both 1.
Equation (7) ensures that the BPM can only process one batch at a time during the BP stage.
Equation (8) implies that following the BP stage, the jobs will enter the MP stage and be processed by OMs in sequence.
Equation (9) shows that once the processing of a job commences on an OM, it is not interrupted until it is complete.
Similarly to Equation (6), Equation (10) creates a sequence of jobs processed on the same OM, Equation (11) describes the approach used to select a job as a machine maintenance node. The two equations represent two different maintenance strategies. The first represents a conservative maintenance strategy: if the current cumulative processing time of the OM plus the time of selected node job to be processed exceeds the bound of cumulative processing time for machine maintenance, the machine maintenance begins before processing the node job. The second represents a strategy in which the machine maintenance begins following the processing of the selected node job.
Equation (12) ensures that OM can only process one job at a time during the MP stage, corresponding to the two machine maintenance strategies given in Equation (11).

Auction-based approach for batch formation and scheduling
In the BP stage, jobs must be categorized into batches to be processed. Through auction, each job can act as a bidder and bid for preferred jobs with which to group. According to the processing mode of the p-batch, each job prefers to select other jobs with a smaller batch processing time than its own. Furthermore, they consider operational conflicts in the MP stage. In the case shown in Table 1, the number of BPMs is assumed to be 2, and the BPM capacity is assumed to be 20.
To make the algorithm designed in this article easier to understand, the following illustration corresponds to each step of the algorithm. In Step 1, take Job 1 as example, with a batch processing time of 18; based on the batch processing time of other jobs, Job 1 prefers to group with Job 2, 4 or 5, as their batch processing times are smaller than 18. Then, Job 1 considers the conflict between these three jobs during the MP stage. Job 1 would be processed by OM 3 , OM 1 and OM 4 successively, and Job 2 would be processed by OM 2 , OM 1 and OM 4 . Thus, they may conflict with each other on OM 1 and OM 4 . Similarly, Jobs 1 and 5 may conflict on OM 3 , while Job 4 would not have any conflicts with   Table 3 lists all of the preferred jobs based on this logic. Because Job 5 has the smallest batch processing time, it initially does not have a preferred bid. As shown in Table 2, Job 5 is bid for three times by other jobs. Therefore, Job 5 is considered as a core job in this auction. Next, go to Step 2, in which Job 5 bids for other jobs to form a batch. As the batch processing time of Job 5 is smallest, it bids for Job 4 to achieve minimal extension of the batch processing time. Jobs 4 and 5 form a temporary batch of size 15, with a batch processing time of 13. Then, go to Step 3: owing to the limited capacity of the BPM, the batch size cannot be larger than 20, and the size of jobs that are not grouped is more than 5, so no job can be added to the temporary batch. Therefore, this temporary batch represents a final batch. Then, go to Step 4; it continues forming batches. Similarly, Jobs 1, 2 and 3 also form a final batch, with a batch processing time equal to 20. Then, all jobs finish forming batches; go to Step 5.
Following the formation of the final batches, they need to be processed by BPMs. In Step 5, when only one BPM exists, the batches are processed based on the order of batch generation. When multiple BPMs exist, the total processing time of each BPM is made as average as possible. The flow of the auction in the BP stage is shown in Figure 2.

Auction-based approach for resource allocation, machine maintenance and scheduling
Following the processing by BPM in the BP stage, jobs enter the MP stage. In this stage, each job is processed by several OMs according to the processing route. This will be achieved via auction; the procedure is also illustrated using the above instance. It is assumed that two BPMs exist in the BP stage, and the two batches that can be processed simultaneously are released and enter the MP stage at timepoints 13 and 20, respectively. Owing to the machine availability constraint, the OM needs to stop for maintenance following a fixed processing time, and each period is divided into three parts, where the head and tail parts have a higher basic price. In this case, the length of one period is assumed to be 15, indicating that when the cumulative processing time of the OM reaches 15, it must be interrupted for maintenance. The length of maintenance is assumed to be 5; the basic price of the time-points at the head and tail of the period is 2, while that in the middle of the period is 1. In Step 1, at time-point 13, O 41 and O 51 are ready to process, and they bid for OM 2 and OM 3 , respectively. Because two OMs are unoccupied, the auction will begin. Then go to Step 2; consider O 41 as an example: before the auction starts, it must determine whether other jobs exist as bidders for participation. The processing time of O 41 is equal to 5; based on the research by Tang, Zeng, and Pan (2016), the appropriate length of the open auctioned period is equal to 2-2.5 times the length of the processing time of the auctioneer. Thus, the temporary open auction time slot is 13-23. Then, it needs to estimate whether other jobs exist that are ready to be processed during the given time slot. It can be found that O 21 is ready to process at the time-point 20; because its processing is 9, its final open auction time slot will be 13-29. The length of the final open auction time slot is larger than that of the cumulative processing time between two machine maintenance breaks, and the portion that exceeds the time slot will also have a higher basic price. For the auction time slot 13-29, the basic prices of the time slots 13-18, 18-23 and 23-29 are 2, 1 and 2, respectively. Next, go to Step 3, where each auction will determine the winner through two rounds of bidding. In the first round, each job (bidder) bids for the time slot that will enable processing to be completed as early as possible. O 41 and O 21 bid for time-points in slots 13-18 and 20-29, respectively. Then, go to Step 4: for each time slot, the price is directly proportional to the number of bidders. Based on the bids from two auctioneers, the prices of the time slots 13-18, 18-20, 20-23 and 23-29 are equal to 3, 1, 2 and 3, respectively. Then, go to Step 5, where the second round of the auction begins. The bidders are informed of the prices of all the time slots, and bidders modify their bids to reselect the auctioned time slot with the objective of minimizing cost. Based on the given prices, O 41 bids for the time slot 18-23 with the price 1 × 2 + 2 × 3 = 8, while O 21 bids for the time slot 20-29 with the price 2 × 3 + 3 × 6 = 24. Next, go to Step 6; the bidder offering the highest price will be the winner, and thus O 21 will be the winner. If there are two or more bidders with the same highest price, one of them is randomly chosen as the winner. Owing to OM maintenance, several interruptions will take place. To improve the efficiency of each auction, following the announcement of the first winner, the bidder with the least conflict with the winner during the auction period will be selected. Then, in Step 6, attempts are made to make adjustments to obtain a scheme suitable for both the winner and selected bidder. For winner O 21 , O 41 is the only competing bidder in the auction; therefore, it will be selected.  Figure 3.
Following each auction, the status of each OM is checked according to strategies of Equation (11) in the mathematical model. If the maintenance conditions are met, the OM will pause for maintenance. At time-point 27, O 12 bids for a time slot on OM 1 . The processing time is 8, and the cumulative processing time of OM 1 is 14; if OM 1 processes O 21 at the current time, the cumulative processing time will be 22, which exceeds 15. Therefore, OM 1 will reject O 12 . In the same way, the cumulative processing times of OM 1 , OM 2 and OM 3 are 14, 13 and 16. Any jobs that continue processing on  OM 1 and OM 2 will make the cumulative processing time exceed 15, and the cumulative processing time of OM 3 has already exceeded 15. Therefore, these three OMs will pause for maintenance. The temporary scheduling scheme is updated as shown in Figure 4.
Following the maintenance, the auction continues. In the same manner, at time-point 32, O 32 and O 42 bid for time slots on OM 3 , and the time slots 42-46 and 32-42 are allocated to them. At timepoint 34, the time slots 34-42 and 46-58 on OM 2 will be allocated to O 53 and O 33 , respectively. At time-point 35, the time slot 35-41 on OM 4 is allocated to O 23 , at which point OM 4 needs to pause for maintenance. At time-point 40, the time slots 40-48 and 48-55 on OM 1 will be allocated to O 12 and O 43 , respectively. Finally, at time-point 48, the time slots 48-57 on OM 4 will be allocated to O 13 . The obtained scheduling scheme is shown in Figure 5. The flow of the auction in the MP stage is shown in Figure 6.

Optimizing feasible solutions with local search
On obtaining feasible solutions, they must still be optimized. Based on the characteristics of the proposed problem, the focus is placed on machine maintenance. Machine maintenance causes delays in jobs that are otherwise ready for processing; therefore, minimizing the impact of machine maintenance will positively impact the minimization of the makespan. Thus, for each obtained solution, it is necessary to find the section of maintenance that has the maximum impact. For the algorithm illustrated in this section, Steps 2-6 are about the procedure of the auction-based approach for forming batch and resource allocation, as mentioned in Section 4.1 and 4.2. Here, Steps 7 and 8 are highlighted.
Step 7 analyses which OM causes delay in processing on more jobs owing to maintenance. From the scheduling scheme in Figure 5, each OM is maintained once. When the maintenance begins on OM 1 , it causes a delay in processing, despite O 12 being ready to process. Similarly, maintenance on OM 2 delays the processing of O 53 , and maintenance on OM 3 delays the processing of O 32 and O 42 . Specifically, the maintenance on OM 3 delays the processing of more jobs, which is considered to have a greater impact on the subsequent scheduling. An attempt is made to convert the sequence of jobs processed on OM 3 following maintenance. Here, O 32 and O 42 are exchanged to reschedule, and the start time for the processing time of O 33 will be earlier. The newly obtained scheme, which represents a better solution, is shown in Figure 7.
To prevent falling into local optima, in Step 8, several batches are also randomly selected and reformed in the BP stage. Then, all the jobs are rescheduled and new solutions are obtained. In this instance, final batch 1 consists of jobs 4 and 5, while final batch 2 consists of jobs 1, 2 and 3. For example, jobs 2 and 5 can be exchanged to generate two new final batches, then scheduled by BPMs and OMs to generate new solutions. The flow of the proposed auction-based approach is shown in Figure 8.

Experiments and results
The benchmark instances LA01-40 by Lawrence (1984) and SWV01-20 by Storer, Wu, and Vaccari (1992) were applied to the proposed approach. To adapt these instances to the given problem, they were enlarged by adding batch processing time, job size and machine maintenance elements.
The parameter GENNO was set to 200. The capacity of the BPM is 40, and the batch processing time and job sizes follow a uniform distribution in the intervals [1,100] and [1,20], respectively. The bound of cumulative processing time of OM maintenance is 300 and the duration of each OM maintenance is 50. Two scenarios are tested, in which the number of BPMs is 1 and 2.
The proposed auction-based approach and comparison algorithms were programmed in C# and run on a personal computer with an Intel R Core TM i7 3.7 GHz CPU and 16 GB of RAM.
To prove the validity of the mathematical model proposed in Section 3, Lingo is applied to solve the model. Only for the problem on a small scale, 10 × 5, can it obtain feasible solutions. For medium and large scales, it cannot obtain feasible solutions. On the basis of five benchmark instances, 10 cases on a small scale are also generated. Fifteen small-scale cases are solved by the proposed auction-based approach (ABA) and Lingo. For each case, the calculation times of two methods are 30 s and 6 h. The obtained results are shown in Table S1 (see supplementary materials). The 'ABA' and 'Lingo' columns represent the results obtained by the two different methods. The gap shows the percentage deviation between the proposed auction-based approach and Lingo. This indicates the complexity of the problem in this article: even for case on a small scale, Lingo could not obtain high-quality

Gap =
Makespan obtained by Lingo − Makespan obtained by auction -based approach Makespan obtained by auction -based approach × 100% To prove the effectiveness of the proposed auction-based approach, four existing combined comparison algorithms were selected: the particle swarm optimization (PSO) (Hulett, Damodaran, and Amouie 2017) and iterated greedy (IG) (Arroyo, Leung, and Goncalves Tavares 2019) algorithms for solving p-BPSP, and the filtered B-spline (FBS) (Wang and Yu 2010) and GRASP (Rajkumar, Asokan, and Vamsikrishna 2010) algorithms for solving the JSP with a machine availability constraint. For each instance, the results obtained by the auction-based approach and the four comparison algorithms in two scenarios are within 30 s, are listed in Table S2 of the supplementary material. The 'size' column illustrates the scale of instances; for example, 10 × 5 indicates that there are 10 jobs, and each job requires processing by five OMs in the MP stage. The 'ABA', 'PSO + FBS', 'PSO + GRASP', 'IG + FBS' and 'IG + GRASP' columns represent the respective results obtained by each algorithm. The gap also shows the percentage deviation between the proposed auction-based approach and the comparison algorithms.
From the results listed in Table S2, it can be observed that the proposed approach obtains superior solutions in all instances under both scenarios. The average gaps are 6.74%, 7.54%, 7.04% and 7.57% in scenario 1, and 7%, 8.05%, 7.97% and 7.93% in scenario 2. This proves the effectiveness of the proposed auction-based approach.
To analyse the speed of convergence and stability of the proposed auction-based approach, five instances, Swv11-15, with the largest scale in Table S2, were selected. The evaluation time of each instance was extended to 90 s, and the results were calculated every 10 s after the initial 30 s until the end of calculation. The obtained results for the auction-based approach and the four combinations of existing algorithms are shown in Figure 9. The x-axis represents different time-points, the y-axis represents the obtained makespan, and 'Swv11-S1' represents the results obtained by testing instance Swv11 in scenario 1. It can be observed that the proposed auction-based approach obtained better solutions with a faster convergence rate, proving its accuracy, efficiency and stability. After running for 90 s, for instances under two scenarios, the average gaps between the results obtained by the proposed auction-based approach and the four compared algorithms are 11.31%, 11.79%, 11.61% and 13.76%; and 10.82%, 11.91%, 10.27% and 11.94% (Table S3 of the supplementary material), which also proves the huge advantage of the proposed auction-based approach.
In addition, SPSS Statistics was used to analyse the obtained results. The existence of significant differences in the results was tested using the independent-samples t-test and analysis of variance (ANOVA) test. The data in the 'ABA' column were used as reference variables, while those in the 'PSO + FBS', 'PSO + GRASP', 'IG + FBS' and 'IG + GRASP' columns were used as comparison variables. The statistical results (Tables S4 and S5 of the supplementary material) were obtained by two-tailed notability analysis under a default confidence interval of 95%.
In Tables S4 and S5, values of Sig. (two-tailed) that are smaller than 0.05 are highlighted to indicate significant differences between the comparison variables and reference variables. It can be observed that the proposed auction-based approach has an absolute advantage in solving instances at various scales, particularly large scales. This proves the feasibility of the proposed approach.
Next, the stability of the proposed approach is tested by 10 repeated calculations. For each instance, the results obtained by the auction-based approach and the four comparison algorithms in the two scenarios are also within 30 s. For each instance, the best and worst solutions were selected from 10 tests (Table S6 of the supplementary material). The deviation between these two solutions is calculated as follows: As shown in Table S6, under the two scenarios, the average deviations were 4.31% and 4.44%, respectively. This proves that the proposed auction-based approach is stable and suitable for solving the JSP with p-batch processing and a machine availability constraint. To further test the performance of the proposed auction approach, 20 instances on a large scale are generated; their scales are 100 × 10, 100 × 15, 200 × 10 and 200 × 15, and there are five different instances for each scale. The results were also obtained within 30 s, shown as Figure 10. Differently from Figure 9, the x-axis represents different instances.
From Figure 10, the proposed auction-based approach can obtain better solutions than the four compared algorithms for all new generated instances. For instances under the two scenarios, the average gaps between the results obtained by the auction-based approach and the four compared algorithms are 11.77%, 12.41%, 12.92% and 13.37%; and 12.39%, 12.86%, 13.48% and 13.03% (Table S7 of the supplementary material). This proves the effectiveness of the proposed auction-based approach for large-scale instances. SPSS Statistics was also used to analyse the results obtained by the ANOVA test, and the results are shown in Table S8 of the supplementary material. As in Tables S4 and S5, values of Sig. (two-tailed) for all new generated instances are equal to 0, i.e. smaller than 0.05, which proves once again that the auction-based approach has an absolute advantage in solving large-scale instances.

Conclusion
This study addresses the JSP with p-batch processing and a machine availability constraint. A mixedinteger nonlinear programming model has been formulated and an auction-based approach has been developed. In this approach, the problem is solved using auctions to form batches and allocate resources. A local search operator is applied to optimize the obtained feasible solutions. Numerical experiments using enlarged benchmark instances were conducted to test the proposed approach and compare it to existing algorithms. The results demonstrate the effectiveness, stability and feasibility of the auction-based approach. In particular, the proposed approach is shown to have an absolute advantage in terms of solving instances at large scales.
In future study, continuous casting and hot-rolling in continuous casting stages can be considered, as a procedure before the heat treatment stage. In military enterprises, the procedure of continuous casting is more stringent, reflecting that the difference in carbon content should be smaller during the process of molten steel mixing, which makes the optimization more complex. As mentioned in Section 1, the slab usually needs to go through the hot-rolling stage and the heat treatment stage successively in military enterprises. Since the optimization of the procedure of hot-rolling is a serial batch problem, the proposed problem would be a serial-parallel cooperative batch scheduling problem, which would be a realistic and challenging task to solve.