Bid construction scheme based on local search to solve serial–parallel cooperative batch scheduling problems

This study addresses cooperative batch scheduling problems based on both serial batch (s-batch) scheduling and parallel batch (p-batch) scheduling. A mixed-integer linear programming model was formulated to describe such problems and a bid construction scheme (BCS) was developed to solve them. In s-batch and p-batch scheduling, the sheet strips function as both bidders and auctioned resources, with different sheet strips forming different batches over multiple rounds of auctioning. Then, a local search operator is applied to optimize the feasible solutions. Numerical experiments were conducted on a series of randomly generated and real-world instances. The results obtained by the proposed BCS were compared with those obtained by four combinations of existing algorithms and analysed by SPSS. The proposed scheme was able to identify feasible solutions quickly and efficiently, proving its the effectiveness, stability, practicality, and suitability for addressing cooperative batch scheduling problems, especially those corresponding to large-scale instances.


Introduction
Batch scheduling problems (BSPs) are typical scheduling problems encountered in a wide variety of fields, especially those related to manufacturing (Zhao et al. 2020). The method for solving BSPs can be primarily divided into two steps: the organization of jobs into batches and the processing of these batches by batch processing machines (BPMs). Batch processing methods can be classified into two categories: serial batch (s-batch) scheduling, which processes the constituent jobs of each batch sequentially, and parallel batch (p-batch) scheduling, which processes the constituent jobs of each batch concurrently (Chung, Gupta, and Qiu 2019).
The present study addresses BSPs in steel manufacturing. General steel manufacturing comprises steel production, continuous casting, hot rolling and heat treatment stages in sequence (Zhang, Che, et al. 2018). After being processed during the hot rolling stage, steel slabs are usually maintained at a high temperature for a protracted period. If they are immediately transferred to the heat treatment stage at this point, it can reduce the significant amount of energy typically required for preheating, thereby substantially reducing production costs. The hot rolling and heat treatment procedures are generally treated as an s-batch scheduling problem (s-BSP) and a p-batch scheduling problem (p-BSP), respectively (Chung, Liao, and Lin 2012;Huang et al. 2017).
This study proposes a solution to the BSP, where steel sheet strips are required to be processed by hot milling followed by heat treatment, and considers this to be a serial-parallel cooperative BSP. A mixed-integer linear programming (MILP) model was developed to reflect batch forming and resource allocation, and an effective method was established to solve the proposed problem, which consists of two stages: a bid construction scheme (BCS) and a local search operator. In the BCS, to obtain feasible solutions with high quality, the slabs act as both bidders and auctioned resources according to the relationship between supply and demand. Then, the local search operator optimizes the feasible solutions. A series of experiments was conducted to evaluate the proposed BCS and four combinations of existing scheduling algorithms, by testing randomly generated and real-world instances, and analysing the obtained results using SPSS software. The results indicate that the proposed scheduling method based on the BCS and local search operator is effective, stable and practical, making it suitable for solving cooperative BSPs, especially at a large scale.
The remainder of this article is arranged as follows. The relevant literature on s-BSPs, p-BSPs and the application of auction algorithms in production scheduling is reviewed in Section 2. The assumptions of the proposed problem and the formulation of the MILP model are presented in Section 3. The bid construction procedure during the s-batch and p-batch stages is described in Section 4, followed by a description of the local search operator used to optimize the feasible solutions. The results of numerical experiments comparing the proposed BCS to four combinations of existing algorithms are presented in Section 5. Finally, the conclusions of this study are summarized in Section 6.

Literature review
The BSP is a well-known type of scheduling problem in which jobs organized into batches must be processed, and can be categorized as an s-BSP or a p-BSP based on the employed processing mode. Because of the fundamental differences between these two types of BSP, their solution methods differ significantly. Both s-BSPs and p-BSPs have been researched extensively.
In s-BSPs, a series of slabs or sheet strips constitutes a process batch, which is called a rolling turn (Zhang, Pan, et al. 2018). Previous studies have primarily focused on the differences between adjacent slabs or sheet strips within the same rolling turn in terms of four metrics: width, gauge, hardness and temperature (Jia et al. 2013). Several studies have been conducted to identify methods capable of satisfying these constraints. However, s-BPSs applied in compact strip production only consider sheet strips with similar widths to improve the productivity of continuous casters and reduce the breakout rate (Zhang, Pan, et al. 2018). Thus, when considering s-BSPs in compact strip production, the limiting factors in traditional s-BSP, such as the constraints related to the variations in width, hardness and temperature between two slabs within the same rolling turn are no longer important. Instead, the most important constraint is that the thickness should vary smoothly between adjacent sheet strips (Pan, Gao, and Wang 2019). This study considers hot rolling scheduling as an s-BPS in compact strip production.
Previous studies have approached the solution of p-BSPs based on three primary subproblems: batch grouping, resource assignment and scheduling (Zhang, Che, et al. 2018). The fundamental elements of p-BSPs are the capacities of the BPMs and the sizes of the sheet strips (Hulett, Damodaran, and Amouie 2017), both of which have been extensively researched. Zhou et al. (2016) generalized the p-BSP by considering arbitrary job sizes, developed a MILP model to describe the problem and proposed an effective differential evolution-based hybrid algorithm to solve it. Arroyo, Leung, and Goncalves Tavares (2019) generalized the research conducted by Zhou et al. (2016) by adding non-zero release-time constraints to the p-BSP, and proposed the use of an effective iterated greedy algorithm for its solution.
To the best of the authors' knowledge, the serial-parallel cooperative BSP has yet to be extensively researched. This study therefore addresses the significant demand for methods to solve such problems by applying an auction-based approach.
The most important portion of the auction process proposed in this article is the BCS. Pricebased and performance-based bids are the most commonly used bid types for such schemes in the literature (Tang, Zeng, and Pan 2016). A price-based bid allocates production resources to jobs solely based on price, whereas a performance-based bid considers the performance requirements and status of jobs and machines in the production process in its allotment. The BCS proposed in this article utilizes performance-based bids to determine whether a job is critical at any instant, by comparing its requirements with those of other jobs, and prioritizes critical jobs during allotment accordingly. This improves scheduling efficiency, which minimizes the overall makespan. In the field of manufacturing scheduling, the auction algorithm has been successfully implemented in several studies (Tang, Zeng, and Pan 2016).  added capacity constraints to this approach to adapt it to new problems, and developed a new and improved disjunctive graph model that solved problems in combination with the auction-based algorithm.  also implemented an auction-based approach to address the flexible job-shop problem with multiple processing plans.

Description of the problem
The central problem considered in this study consists of a given set of sheet strips and BPMs. All sheet strips are required to be processed by both the s-batch and p-batch stages. During the s-batch stage, sheet strips are organized into rolling turns to be processed by s-BPMs. Following s-batch processing, the sheet strips are released and conducted to the p-batch stage, where they are organized into rolling turns to be processed by p-BPMs. To capture the processing characteristics of the rolling turns during the s-BPM and p-BPM stages, these turns are henceforth referred to as s-batches and p-batches, respectively. The processing duration of each s-batch is equal to the sum of the processing durations of all sheet strips in that batch, and the processing duration of each p-batch is equal to the longest sheet strip processing duration in that batch. Once the processing of a batch has been initiated, it cannot be interrupted until both stages are completed. The objective of this study was to obtain a scheduling scheme that minimizes the total makespan. Table 1 presents the details of a small example of the parameters involved in the proposed problem, including the unit processing durations, sizes and thicknesses of the sheet strips. For instance, the processing duration of sheet strip 1 during the s-batch stage and its thickness during the formation of the s-batches are 15 and 4, respectively, while the processing duration and size corresponding to the p-batch stage are 22 and 6, respectively.
The primary assumptions of the problem under consideration are as follows.
(1) The heating of the material during the s-batch stage is not considered because it can be easily realized (Zhang, Pan, et al. 2018). (2) During the s-batch stage, the difference in thickness between any two adjacent sheet strips within each s-batch is not greater than 1. (3) During the p-batch stage, the size of each sheet strip does not exceed the capacity of the associated BPM. (4) As this is the first attempt to address such a problem, the proposed method appropriately reduces the complexity by not considering the requirement to maintain safe ratios of different gauge (thickness) levels in each s-batch.

Mixed-integer linear programming model
The proposed MILP model is described by the following equations.
Min make span (1) Equation (1) describes the objective function of the model, which works to minimize the overall makespan.
Equation (2) ensures that each sheet strip corresponds to a unique slot in an s-batch.
Equation (3) guarantees that each slot in an s-batch can accommodate a maximum of one sheet strip.
Equation (4) ensures the absence of any interval between the slots accommodating the sheet strips in an s-batch.
Equation (5) ensures that the number of sheet strips in each s-batch cannot exceed the upper bound.
Equations (6) and (7) ensure that each batch can only be assigned to one BPM for processing during each of the two stages.
Equation (8) ensures that each sheet strip corresponds to a unique p-batch.
Equation (9) ensures that the size of each p-batch is less than the capacity of the assigned BPM.
Equations (10) and (11) depict the processing durations of the s-batches and p-batches, which are equal to the sum of processing durations of all sheet strips in a batch and the longest sheet strip processing duration in a batch, respectively.
Equations (12) and (13) depict the relationships between sequences of s-batches and p-batches, respectively, processed using the same BPM. To guarantee the uniqueness of assignment, either y bb k Equations (14) and (15) depict the relationships between the processing durations of two sheet strips processed continuously on the same BPM during the s-batch stage and the p-batch stage, respectively.
Equation (16) guarantees that the difference in thickness between any two adjacent sheet strips within an s-batch is not greater than 1.
Equation (17) indicates that the entire production of all sheet strips is processed in the p-batch stage.

Bid construction for batch formation during the s-batch stage
During the s-batch stage, all sheet strips are required to be organized into batches via auction. Each sheet strip functions as a bidder in the auction during the assignment of the other sheet strips into batches. The procedure for constructing s-batches is illustrated in this section based on the case presented in Table 1. The constraint on the difference in thickness between adjacent sheet strips is satisfied during this auction for batch formation. For instance, in the illustrative case, sheet strip 1 can bid for sheet strip 2, 3, 6 or 8 to be its adjacent strip during batch formation. The preferred bid is determined based on the s-batch processing mode, in which each sheet strip prefers an adjacent sheet strip that minimizes its s-batch processing duration, to complete the processing batch as early as possible, and enabling a quicker initiation of the p-batch stage. Furthermore, each sheet strip prefers to have adjacent sheet strips in its s-batch that have p-batch processing durations smaller than its own, owing to the high probability that they would remain in the same p-batch during the p-batch stage. Thus, during each bid for adjacent sheet strips during the formation of an s-batch, the processing durations of both the resultant s-batch and p-batch are considered. To do so, the equivalent s-batch processing duration concept is introduced to identify the preferred sheet strips for each bid. This duration consists of two parts: the identification of the s-batch processing duration of each sheet strip and the evaluation of the influence of the p-batch processing duration. If the p-batch processing duration for a sheet strip bid is larger than that of the target sheet strip, an equivalent p-batch processing duration is generated and added to the s-batch processing duration after a proportionality coefficient of 20% is applied. For example, the s-batch processing durations of sheet strips 1 and 2 are 15 and 18, respectively, and their p-batch processing durations are 22 and 13, respectively. If sheet strip 2 bids on sheet strip 1 to form an s-batch, since the p-batch processing duration of sheet strip 1 is larger than that of sheet strip 2, the equivalent s-batch processing duration of sheet strip 1 is equal to 15 + (22 − 13) × 0.2 = 16.8. All candidates corresponding to each sheet strip and the most preferred option among all sheet strips are listed in Table 2.
In Table 2, 2:18 represents the case in which sheet strip 1 is the bidding sheet strip, sheet strip 2 is the auctioned strip and the equivalent processing duration of the corresponding s-batch is 18. When a particular sheet strip is the bidder, it prefers to bid on the sheet with the lowest equivalent processing duration to ensure the earliest possible completion of its processing. Thus, according to this rule, four sheet strips-1, 2, 3 and 8-prefer to bid for sheet strip 6 as their adjacent strip during batch formation. Thus, sheet strip 6 is treated as a crucial sheet strip in batch formation. According to the data presented in Table 2, sheet strip 6 prefers to bid for sheet strip 3, and thus sheet strip 3 is placed adjacent to sheet strip 6 to form a temporary batch.
Next, the temporary batch is further updated by selecting the neighbour for sheet strip 3. Each sheet strip in the temporary batch again bids for its preferred candidate, by calculating the equivalent s-batch processing durations according to the strips that are yet to be included in the batch. The sheet strip with the highest number of bids is then selected for inclusion in the batch. In the example, both sheet strips 6 and 3 bid for sheet strip 1, which is accordingly incorporated into the temporary batch. Next, sheet strips 6, 3 and 1 choose the final strip in the batch adjacent to sheet strip 1 by calculating the equivalent s-batch processing durations considering the thickness constraints defined in the problem assumptions. Thus, sheet strip 8 is selected, thereby completing the construction of the final version of batch 1, comprising a sheet strip sequence of 6-3-1-8. Then, another s-batch is constructed based on the remaining four sheet strips: sheet strip 4 is treated as the crucial sheet strip and the sheet strip sequence 4-7-5-2 is determined to comprise the second s-batch. After the s-batches are formed, they are processed by the s-BPMs.
A flowchart of the bid construction process used to construct the s-batches is shown in Figure 1, and the procedure can be described as follows. Step 1: All sheet strips are ready to be processed during the s-batch stage. Determine the preferred bids of each sheet strip. Proceed to Step 2.
Step 2: By considering each sheet strip as a bidder, calculate the equivalent batch processing durations for each auctioned sheet strip and select the auctioned sheet strip with the smallest equivalent batch processing duration. Proceed to Step 3.
Step 3: Based on the selections of all bidders, identify the crucial sheet strip. Proceed to Step 4.
Step 4: Considering the constraint on the difference in thickness between adjacent sheet strips, select the preferred bid of the crucial sheet strip to form a temporary batch. Proceed to Step 5.
Step 5: Calculate the preferred bid of each sheet strip already in the temporary batch for those sheet strips yet to be included and select the most commonly bid sheet strip to update the temporary batch. If the updated temporary batch is a final batch, proceed to Step 6; otherwise, repeat Step 5.
Step 6: If all sheet strips have been included in s-batches, proceed to Step 7; otherwise, go back to Step 2.
Step 7: Schedule the s-batches to the BPMs according to their sequence of generation. Exit.

Bid construction for batch formation during the p-batch stage
Following the construction and processing of s-batches by s-BPMs, the sheet strips are released from the batches and transmitted to the p-batch stage. During the p-batch stage, the sheet strips are again organized into batches to be processed by the p-BPMs. As in the s-batch stage, this process is explained using the illustrative example presented in Table 1. To clearly explain the batch formation process during p-batch stage, it is assumed that the two s-batches have been simultaneously processed by two s-BPMs, and that any sheet strips in either of the s-batches can form p-batches together. In the test experiment, a unit time parameter k is introduced so that if two s-batches are completed within k, the former s-batch will wait for the latter s-batch so that they can form the p-batches together during the p-batch stage. By definition, the processing duration of a p-batch is equal to the longest processing duration among all constituent sheet strips in that batch. Thus, each sheet strip bids for the sheet strip that has a p-batch processing duration smaller than its own. Furthermore, the waiting time is an additional consideration. In the illustrative example, the processing of s-batches 1 and 2 is completed at time points 48 and 52, respectively. At time point 48, if sheet strip 6 bids for sheet strip 4 to form a batch, sheet strip 6 waits for four unit time increments, and then the processing of the p-batch is initiated at time point 52. However, at time point 52, if sheet strip 4 bids for sheet strip 6 to form the batch, no waiting time is required as sheet strip 6 is already completed. Thus, even among the same pair of sheet strips, an asymmetry is present in terms of mutual selection. As a result, inappropriate choices during batch formation may waste a large amount resources. The p-BPM resource utilization concept is accordingly proposed to evaluate the choice of sheet strips during batch formation. This concept constrains the size of a p-batch so that it cannot be larger than the capacity of the corresponding p-BPM, which is equal to 20 in this study. As mentioned previously, at time point 48, if sheet strip 6 waits for sheet strip 4 to form the batch, the processing of the batch would be completed at time point 64, resulting in an equivalent batch processing time of 16. The p-BPM resource utilization is then equal to (9 × 7 + 12 × 7) / (16 × 20) × 100 = 45.9%, where the p-batch processing durations of sheet strips 6 and 4 are 9 and 12, respectively, with both sizes equal to 7. At time point 52, if sheet strip 4 bids for sheet strip 6 to form the batch, the p-BPM resource utilization is equal to (9 × 7 + 12 × 7) / (12 × 20) × 100 = 61.3%. The resource utilizations for the bids of each sheet strip are listed in Table 3. According to the data presented in Table 3, the highest possible resource utilization is 77.4%, corresponding to the bid for sheet strip 3 by sheet strip 2. Next, the agreement of sheet strip 3 with this auction is determined. Based on Table 3, when sheet strip 3 bids for sheet strip 2, a resource utilization of 63.9% is obtained, which is the fourth highest among the bidding options. Thus, this auction is not very efficient for sheet strip 3. Indeed, if the proposed auction does not produce a result that is better than the median performance of all sheet strip 3 bids, it is rejected. Thus, in Table 3, there are seven performances for each sheet strip corresponding to different bids, and only the bids corresponding  to the three best performances are accepted for each auctioned sheet strip. As a result, the bid from sheet strip 2 is rejected by sheet strip 3. The second highest possible resource utilization of 73.7% is then selected, corresponding to the bid for sheet strip 3 by sheet strip 8. In this case, the utilization when sheet strip 8 bids on sheet strip 3 (73.2%) validates this bid, and a temporary p-batch is formed.
Next, the addition of more sheet strips to the temporary p-batch is considered. Owing to the constraint on the size of the batch, only sheet strip 7 can be added. However, if sheet strip 7 is added to the temporary p-batch, the resulting resource utilization would be 70%, which is lower than the 73.7% utilization when sheet strip 3 is bid on by sheet strip 8. Thus, no further sheet strips are added, and the final p-batch comprises solely sheet strips 3 and 8. In a similar manner, sheet strips 4 and 2 form a temporary p-batch, resulting in a total size of 15. Thus, sheet strips 5 or 7 can be added to this temporary p-batch, and based on the resultant resource utilization, sheet strip 5 is added to form a final batch with a resource utilization of 87.7%. Next, sheet strips 1 and 6 form a temporary p-batch, to which sheet strip 7 is added to form a final batch with a resource utilization of 45.6%. Thus, the eight sheet strips form three final p-batches, which are processed by p-BPMs following the sequence of their generation. The resulting scheduling scheme is shown in Figure 2. A flowchart of bid construction for p-batch formation is shown in Figure 3, and the procedure can be described as follows.
Step 1: Introduce the parameter k, which represents the interval between the finishing times of the two different s-batches. Proceed to Step 2.
Step 2: Assess the availability of sheet strips in an s-batch. If there are sheet strips ready for p-batch formation at the current instant, determine whether the processing of other s-batches will be completed within k unit time. If so, wait for the processing of the relevant s-batch to be completed and proceed to p-batch formation together. Otherwise, begin p-batch formation directly. Proceed to Step 3, or proceed to the next time point and repeat Step 2.
Step 3: Considering each sheet strip ready for p-batch formation at the present instant as bidders, calculate the resource utilization of each combination with the auctioned sheet strips. Proceed to Step 4.
Step 4: Select the combination with the highest resource utilization. For the selected combination, if the utilization for the auctioned sheet strip when combined with the bidder is greater than its median utilization, form a temporary p-batch and proceed to Step 5; otherwise, reject the selected combination and repeat Step 4.
Step 5: If one or more sheet strips can be added to the current temporary p-batch, select the sheet strip with highest resource utilization and repeat Step 5; otherwise, deem the temporary p-batch to be a final p-batch and proceed to Step 6.
Step 6: If all sheet strips have been included in p-batches, proceed to Step 7; otherwise, go back to Step 2.
Step 7: Schedule the p-batches to BPMs according to their sequence of generation. Exit.

Optimizing the feasible solutions
The set of feasible solutions obtained once the s-batches and p-batches have been constructed must then be optimized. During optimization, an attempt is made to further improve the resource utilization during the p-batch, to increase production efficiency, which is a benefit derived from minimizing the makespan. First, the p-batch that exhibits the lowest resource utilization is determined for each feasible solution. For the scheme shown in Figure 2, the resource utilizations of p-batches 1, 2 and 3 are observed to be 73.7%, 87.7% and 45.6%, respectively. In this case, the two p-batches with the lowest resource utilizations are selected and reformed in an attempt to decrease the processing duration of one of the selected p-batches. Here, p-batches 1 and 3 consist of sheet strips 3 and 8 and sheet strips 1, 6 and 7, respectively. Among these five sheet strips, the p-batch processing duration of sheet strip 1 is the largest at 22, and thus an attempt is made to decrease the processing duration of p-batch 3. As the processing duration of p-batch 3 is determined by that of sheet strip 3, one sheet strip from p-batch 1 with a p-batch processing duration less than that of sheet strip 3 is switched in p-batch 3. In the illustrative example, sheet strip 6 replaces sheet strip 3 in p-batch 3, sheet strip 3 is moved to p-batch 1, and the two p-batches are reformed accordingly. The reformed p-batches 1 and 3 consist of sheet strips 6 and 8 and sheet strips 1, 3 and 7, respectively, with p-batch processing durations of 15 and 22, respectively. It is evident that the reformed scheme, shown in Figure 4, represents a better solution.
A flowchart of the proposed BCS with a local search operator is shown in Figure 5, and the procedure can be described as follows.
Step 1: Introduce the initialization parameters: k in the p-batch stage, with maximum iterations given by GENNO, GENNO1 and Iter1 = 1. Proceed to Step 2.  Step 2: If the sheet strips are ready to be processed, enter the s-batch stage to form batches and process them using s-BPM. Then, release the strips and initiate the p-batch stage. Proceed to Step 3.
Step 3: Assess the status of the sheet strips in the p-batch stage. If sheet strips are available for p-batch formation at the current time point, proceed to Step 4; otherwise, proceed to the next time point and repeat Step 3.
Step 4: Organize the sheet strips into p-batches. If all sheet strips have been included in p-batches, proceed to Step 5; otherwise, proceed to the next time point and go back to Step 3.
Step 5: Process all p-batches by p-BPM. Proceed to Step 6.
Step 6: Optimize the obtained feasible solution. Select the two p-batches with the lowest resource utilizations, and exchange a pair of sheet strips between them to decrease the processing duration of one of the p-batches. Proceed to Step 7.
Step 7: Reschedule all sheet strips according to the reformed s-batches and p-batches. If Iter > GENNO, proceed to Step 8; otherwise, Iter = Iter + 1. If the new solution represents a better solution, update the original feasible solution and go back to Step 6; otherwise, mark the two currently selected p-batches so that they will not appear in next selection and go back to Step 6.
Step 8: Identify the best solution and set its makespan to be the final makespan in Iter1, where Iter1 = Iter1 + 1. If Iter1 > GENNO1, proceed to Step 9; else reschedule all jobs and go back to Step 2.
Step 9: Select the minimum final makespan in GENNO1 to be the optimal makespan of the scheduling scheme. Exit.

Experiments and results
The proposed BCS was evaluated and its results were compared with those of the existing algorithms using several testing instances. Owing to the unavailability of common benchmark instances for the problem considered in this article, randomly generated instances at different scales were used instead. The detailed data for these instances are listed in the supplementary materials. The proposed BCS and existing algorithms were coded in C# and run on a personal computer with Intel ® Core TM i7 3.7 GHz CPU and 16 GB of RAM.
In these experiments, the values of GENNO and GENNO1 were set to 100 and 300, respectively. During the s-batch stage, the maximum number of sheet strips within the same s-batch was set to 30; during the p-batch stage, the capacity of each BPM was taken to be 50, and one BPM was used in each of the two stages. The value of the parameter k during the p-batch stage, which represents the maximum permissible time interval between the finishing times of different s-batches, was ascertained by considering testing instances of varying scales, and selecting the instance corresponding to the best performance. The obtained results are presented in Table 4 in the supplementary materials, in which the first column represents the scales of the instances (400 × 20 corresponds to a case with 400 sheet strips of 20 different thicknesses) and the columns labelled 50, 100, 200, 250 and 500 represent the time intervals k, corresponding to 2, 4, 8, 10 and 20 times the maximum batch processing duration of a sheet strip, respectively. Owing to limited space, the detailed results for Tables 4-7, and the detailed data for Figure 6-8, are listed in the supplementary materials. It is evident from Table 4 that the use of k = 200 corresponds to the most suitable performance, especially at medium and large scales. Thus, a k value of 200 was selected for these experiments.
The performance of the proposed BCS was evaluated by comparison with four combinations of existing algorithms for each testing instance. Owing to the unavailability of copious studies on this problem, existing algorithms commonly used to solve s-BSPs and p-BSPs were selected and combined: the novel approach (NA) (Pan et al. 2017) and hybrid variable neighbourhood search (HVNS) (Zhang, Pan, et al. 2018) were used to solve the s-BSPs, and particle swarm optimization (PSO) (Hulett, Damodaran, and Amouie 2017) and the iterated greedy algorithm (IG) (Arroyo, Leung, and Goncalves Tavares 2019) were used to solve the p-BSPs. The instances were also evaluated using the CPLEX optimizer according to the proposed MILP model. For each algorithm and CPLEX, the  results were obtained within 30 s to 6 h of running, as detailed in Table 5 in the supplementary materials.
In Table 5, the columns BCS, NA + PSO, NA + IG, HVNS + PSO, HVNS + IG and CPLEX represent the best solutions obtained by the proposed BCS, the four possible combinations of the existing algorithms defined above and CPLEX, respectively. Furthermore, the deviations between As is evident in Table 5, the proposed BCS obtained superior solutions to those provided by the four combinations of existing algorithms in all instances. The average deviations corresponding to the NA + PSO, NA + IG, HVNS + PSO and HVNS + IG algorithms were 6.33%, 7%, 7.23% and 6.84%, respectively, demonstrating the effectiveness of the proposed approach. Furthermore, it can be observed that CPLEX was unable to obtain high-quality solutions, demonstrating the complexity of the proposed problem.
To analyse the speed of convergence and stability of the proposed BCS, the three largest scale instances in Table 5 were selected, each with 2000 sheet strips. The evaluation time of each instance was extended to 120 s, and the results were calculated every 10 s after the initial 30 s until the end of calculation. The obtained results for the BCS algorithm and the four combinations of existing algorithms are shown in Figure 6, in which it can be observed that the proposed BCS algorithm obtained better solutions with a faster convergence rate, proving its accuracy, efficiency and stability.
Next, SPSS was applied to analyse the significance of the differences between the results obtained by the various evaluated methods via independent-sample t-tests, using a two-tailed notability analysis conducted under a default confidence interval of 95%. The results are provided in Table 6 in the supplementary materials; the data in the BCS column serve as the benchmark, and the data in columns NA + PSO, NA + IG, HVNS + PSO and HVNS + IG are the evaluated comparisons. In Table 6, values less than 0.05 indicate significant differences between the benchmark and comparison groups. The table therefore indicates that the proposed BCS exhibits an absolute advantage in solving the considered problem, especially at large scales. This establishes the practicality of the proposed approach.
Each instance was then evaluated 10 times to verify the stability of the proposed BCS. The best and worst solutions corresponding to each instance are presented in Table 7 in the supplementary materials. The deviation between these solutions was calculated by: The average deviation between repeated evaluations shown in Table 7 is 4.12, proving the stability of the proposed BCS. Finally, the worst-case performance ratio was analysed to further evaluate the proposed BCS algorithm. As the proposed problem is a two-stage BSP, it is difficult to analyse theoretically. Therefore, the worst-case performance ratio was analysed using numerical experiments. For each case in Table 5, the parameter GENNO1 was increased to 600, and the best and worst solutions were analysed to determine the worst-case performance ratio, which was calculated by: Worst -case performance ratio = Worst Best The resulting worst-cast performance ratios are shown in Figure 7. Note that the worst-case solutions in Table 7 were obtained using the best solution under the repeated evaluation of the same case, which is different from the scenario evaluated in Figure 7. To obtain the results shown in Figure 7, each case was tested just one time, and the worst case was selected from among all obtained feasible solutions. It can be observed in Figure 7 that when the number of instances is large ( ≥ 1000), the worst-case performance ratio values are distributed in the interval (1.14, 1.20). Thus, 1.20 can serve as a reference value for the worst-case performance ratio of the proposed BCS.
Finally, 36 real-world instances from Pan et al. (2017) were selected to compare the results of the proposed BCS with those of the four combinations of existing algorithms. For each algorithm, the results were obtained within 30 s. The results are shown for instances with various scales from 200 to 300 in Figure 8, which indicates that for all scales and numbers of different thicknesses, the proposed BCS algorithm provides superior solutions to the four combinations of existing algorithms, demonstrating its efficiency.

Conclusions
In this study, a cooperative BSP comprising s-BPSs and p-BPSs was described using a MILP model, and a BCS with a local search operator was developed to solve it. During the auction in the BCS, each sheet strip acts as both bidder and auctioned resource to establish the demand relationship, so that batch forming can be achieved by auction rounds. The local search operator is then used to optimize the feasible solutions obtained through the BCS. A series of experiments was conducted by generating random instances to compare the performance of the proposed approach with those of four combinations of existing algorithms. The obtained solutions were then analysed using SPSS. The results of this comparison established the effectiveness, practicability and stability of the proposed BCS, which was shown to be especially suitable for large-scale instances. The proposed BCS was also demonstrated to be accurate by evaluating a set of real-world cases. In future research, the requirement to provide safe ratios of different gauges (thicknesses) in each s-batch should be considered, as mentioned in Section 3, to more faithfully reflect the actual production scenario.