Auction-based approach for a flexible job-shop scheduling problem with multiple process plans

ABSTRACT This study addresses the flexible job-shop scheduling problem with multiple process plans with the objective of minimizing the overall makespan. A nonlinear programming model is formulated to allocate machines and schedule jobs. An auction-based approach is proposed to address the integrated production route selection and resource allocation problem and focus on improving resource utilization and productive efficiency to reduce the makespan. The approach consists of an auction for process plans and an auction for machines. The auctions are evaluated to select a more suitable route for production and allocate resources to a more desirable job. Numerical experiments are conducted by testing new large benchmark instances. A comparison of Lingo and other existing algorithms demonstrates the effectiveness and stability of the proposed auction-based approach. Furthermore, SPSS is used to prove that the proposed method exhibits an absolute advantage, particularly for medium-scale or large-scale instances.


Introduction
The job-shop problem (JSP) is a well-known scheduling problem (Tang et al. 2010;Zhang, Gao, and Shi 2011;Nouiri et al. 2018;Li and Gao 2016;Kaplanoğlu 2016;Zhang, Yang, and Zhou 2016;Cruz-Chávez, Martínez-Rangel, and Cruz-Rosales 2017;Kim, Park, and Lee 2017;Gao et al. 2018a). In the classical JSP, a specific route is defined for each job through machines (Zeng, Tang, and Yan 2014). The classical JSP assumes that only a machine and a feasible process plan are available for each operation (Zeng, Tang, and Yan 2015). With increases in the diversity and complexity of operations, operations are processed on more than one machine and alternative process plans exist for a job. Hence, the JSP is extended to the flexible job-shop scheduling problem (FJSP) (Tang, Zeng, and Pan 2016). The FJSP with a single process plan (FJSP-SPP) indicates that each job exhibits only one process plan. The FJSP-SPP consists of two subproblems, namely, the selection of machines and the determination of the sequence of operations on each machine, and these are two of the most significant activities in a manufacturing system (Geyik and Dosdoğru 2013;Li, Pan, and Duan 2016;Zheng and Li 2018;Duan et al. 2018). Chaudhry and Khan (2016) described the progress in research on the FJSP-SPP and presented the main solution methods proposed since 1990. Nouri, Belkahla Driss, and Ghédira (2016a) performed a state-of-the-art review of the research on the FJSP-SPP by considering transportation resources and proposed new standards for categorization. Zhang, Gao, and Shi (2011) and Li and Gao (2016) proposed effective genetic algorithms (GAs) for solving the FJSP-SPP to minimize the makespan. Nouiri et al. (2018), Nouri, Belkahla Driss, and Ghédira (2015) and Cruz-Chávez, Martínez-Rangel, and Cruz-Rosales (2017) addressed the same problem as Zhang, Gao, and Shi (2011) and proposed a particle swarm optimization (PSO) algorithm, a hybridization of two metaheuristics within a holonic multi-agent model and a simulated annealing algorithm (SA), respectively. Ennigrou and Ghédira (2008), Xiong and Fu (2012) and Xiong and Fu (2018) proposed a multi-agent approach to solve the FJSP-SPP based on new local diversification techniques, the human immune system and humoral immunity, respectively. Gao et al. (2016a) proposed an improved artificial bee colony (ABC) algorithm to solve the FJSP-SPP with fuzzy processing time. Subsequently, Gao et al. (2016b) extended the problem by considering new job insertion and proposed a twostage ABC algorithm to solve the problem. Nouri, Belkahla Driss, and Ghédira (2016b) proposed hybrid metaheuristics according to the clustered holonic multi-agent model to solve the FJSP-SPP with transportation times and several robots. Nouri, Belkahla Driss, and Ghédira (2017) improved this method and successfully obtained new upper bounds. Marzouki, Belkahla Driss, and Ghédira (2018) extended the algorithm proposed by Nouri, Belkahla Driss, and Ghédira (2016b) with tabu search (TS) to solve the FJSP-SPP. To address the multi-objective FJSP-SPP, Kaplanoğlu (2016) presented dispatching rules discovered through an SA optimization algorithm. Gao et al. (2018b) focused on a flexible job-shop rescheduling problem with new job insertion that considered bi-objective minimization including instability, makespan, total flow time, machine workload and total machine workload. Zheng and Li (2018) and Duan et al. (2018) discussed an invasive weed optimization (IWO) algorithm and a novel teaching-learning-based optimization (TLBO) algorithm, respectively, which can also be used to solve the FJSP-SPP. Compared with the FJSP-SPP, the FJSP with multiple process plans (FJSP-MPP) indicates that each job exhibits more than one process plan, and the problem is more complicated. The FJSP-MPP specifies alternative operations, their sequence and alternative machines for each operation. In contrast to a single process plan (which only addresses alternative machines for each operation), multiple process plans simultaneously include alternative operations (operations of flexibility) and alternative machines for each operation (routing flexibility) (Doh et al. 2013).
A process plan must be selected for each job based on the FJSP-SPP to obtain a scheduling scheme for the FJSP-MPP. Based on existing research, the FJSP-MPP is classified into two categories based on the mode used to determine a process plan. The first mode corresponds to the operation-byoperation approach, in which a process plan is determined as time progresses in scheduling. For each job, it is necessary to determine the process plan for the next operation when the current operation is completed. The second mode corresponds to the job-by-job approach, in which the process plan for each job is determined before scheduling (Kim, Park, and Ko 2003). The problem proposed in this study uses the second approach, and this is significant in modern industry. Production safety is a priority in certain fields, such as metallurgy and the chemical industry, and the process plans for jobs or tasks must be stated in advance. Otherwise, scheduling can experience problems that can lead to large losses in terms of production and time.
Most of the previous studies on the FJSP-MPP solve the problem by utilizing the first approach, and only a small number of studies focus on the second approach (Geyik and Dosdoğru 2013). Kim, Park, and Ko (2003) proposed an artificial intelligence search technique known as the symbiotic evolutionary algorithm to address the integrated problem of process planning and scheduling in flexible job-shop manufacturing systems. Özgüven, Özbakır, and Yavuz (2010) developed mixed-integer linear programming models for the FJSP-SPP and FJSP-MPP. Doh et al. (2013) suggested a practical priority scheduling approach using a combination of operation/machine selection and job sequencing rules to address the FJSP-MPP. Geyik and Dosdoğru (2013) proposed a GA approach for the FJSP-MPP to determine the optimal process plan for each job and the optimal machine for each operation in a dynamic environment. Haddadzade, Razfar, and Zarandi (2014) constructed a mathematical model for the FJSP-MPP and proposed a hybrid algorithm consisting of SA and TS. Zhao et al. (2018) constructed a mathematical model for the multi-objective job-shop scheduling problem with alternative process plans and unrelated parallel machines, and proposed a two-generation (father and children) Pareto ant colony optimization (ACO) algorithm to generate a feasible scheduling solution. However, the core idea in the aforementioned methods involves using crossover, mutation or a combination of common scheduling rules, such as first-in, first-out and shortest job processing time, and they are lacking in terms of optimization based on the essential features of problems.
In the FJSP-MPP, the key element involves effectively evaluating machine resources. Equipment resources must be assessed effectively to allocate resources to each job and select a process plan in a reasonable manner. Thus, the determination of the optimal scheduling scheme is required. As previously mentioned, the evaluation of machine resources directly affects the result of the final scheduling scheme. The auction theory is applied to address the issue for common optimization algorithms such as the GA, differential evolution algorithm and PSO, which lack mature solution mechanisms. Since the 1980s, several researchers have successfully applied the auction theory to solve scheduling problems in the manufacturing area, particularly in the past two decades (Siwamogsatham and Saygin 2004;Adhau, Mittal, and Mittal 2012;Tang, Zeng, and Pan 2016). In the present study, an auction can evaluate a plan that is more suitable for a process and estimate the degree of demand for machine resources through prices. Given that the supply-demand relationship changes with time, price can indicate the urgency of the requirement of operations and provide guidelines to auctioneers in terms of allocating resources to operations based on the maximization of profits and resource utilization. Therefore, the auction theory can be efficiently applied to the FJSP-MPP. An auction-based approach evaluates resources at different time points, and the prices of bidders reflect the degree of demand for the resources (Tang, Zeng, and Pan 2016). Therefore, the resources are allocated to the bidder with the most urgent requirement via the auction. The auction theory has been successfully applied to manufacturing by several researchers (Tang, Zeng, and Pan 2016). Siwamogsatham and Saygin (2004) presented an auction-based algorithm for the real-time scheduling of a flexible manufacturing system with alternative routings. Adhau, Mittal, and Mittal (2012) applied an auction-based negotiation approach for use in a novel distributed multi-agent system to resolve resource conflicts and allocate multiple different types of shared resources among multiple competing projects. Tang, Zeng, and Pan (2016) presented an auction-based heuristic approach to solve a multiple-cell partscheduling problem with flexible processing routes that focused on cooperation between different cells.
Currently, studies do not apply the auction theory to the FJSP-MPP. In the FJSP-MPP, each job can act as a bidder, each machine can act as an auctioneer and a processing resource, and the time slots on machines are treated as goods. The use of an auction can improve resource utilization. The contributions of the present study are as follows: (1) an integer nonlinear programming (INLP) model is proposed to formulate the FJSP-MPP; and (2) an auction-based approach is designed to address the integrated production route selection and resource allocation problem, with a focus on effectively evaluating the aforementioned machine resources to improve utilization and productive efficiency to reduce the makespan. The approach consists of an auction for process plans and an auction for machines. The evaluation in the auction is used to reflect the degree of demand for a resource based on price. A resource is allocated to the job that offers the highest cost and urgently requires the resource. Numerical experiments are conducted by testing new large benchmark instances to demonstrate the effectiveness of the proposed auction-based approach compared with Lingo and other existing algorithms. SPSS evaluation indicates that the proposed method exhibits an absolute advantage, particularly for medium-scale or large-scale instances.
The rest of this article is organized as follows. Section 2 provides the description and assumptions of the FJSP-MPP and describes the problem using an INLP mathematical model. Section 3 introduces the auction procedure for process plans. Section 4 describes the auction procedure for machines. Section 5 summarizes the auction-based approach. Section 6 presents the experimental tests and computational results and demonstrates the effectiveness of the proposed auction-based approach. Section 7 presents the conclusions of the study.

Problem description and assumptions
In the present study, the FJSP-MPP consists of several jobs and machines. Each job exhibits a list of (more than one) process plans. Each operation in a process plan is processed on a machine. The operations of each job processed on the same type of machine require the same amount of time, and the times are fixed in advance. Each machine can perform only one operation at a time. Prior to scheduling, it is necessary to determine the process plan for each job and the machine for each operation. The objective of the proposed FJSP-MPP is to obtain a scheduling scheme with the minimum makespan. Table 1 shows a simple instance used to illustrate the problem. Table 1 contains three jobs, and each job includes three process plans. Each process plan contains the type of machines required and the corresponding processing time. For example, the first plan of job 1 is 'O 11 -M 1 , O 12 -M 2 , O 13 -M 3 /7-15-12'. This indicates that in its first process plan, job 1 includes three operations that must be processed on three types of machines; the machines types are 1, 2 and 3 and their processing times are 7, 15 and 12, respectively.

Indices
i Set of jobs j Set of operations m Set of machines (k ∈ M) p Index for process routes of job i,p ∈ P i , where P i denotes the set of process routes for job i

Parameters
O ipj jth operation of job i in process plan p t ipj Processing time of the jth operation of job i in process plan p α ipjk = 1, if operation O ipj can be processed on machine k 0, otherwise

Integer nonlinear programming model
The proposed model is based on Doh et al. (2013). Equation (1) is the objective function. The aim is to schedule all operations to minimize the makespan. Equation (2) indicates that each job must and can only select one process plan. Equation (3) indicates that an operation must and can only be processed by one machine. Equation (4) shows that when a processing operation starts, it is not interrupted until it is finished. Equation (5) implies that the next operation can start only after the previous operation finishes. Equation (6) ensures that no machine can simultaneously process two or more operations.

Auction for process plan
In this study, the FJSP-MPP is solved using the second (i.e. job-by-job) approach described in Section 1. Thus, the process plan for each job must be determined and fixed before scheduling. The auction procedure for a process plan is illustrated for the example shown in Table 1. The process plan for each job is determined individually. In this instance, each job includes three process plans, and thus, the number of combinations is 27. For example, a combination of process plans is selected for jobs 1, 2 and 3, which select their first plan as 1-2-3, 2-1-3 and 2-3-1, respectively. First, a sequence is randomly selected to process the jobs, and the sequence 1, 2, 3 is assigned. The first two jobs in the sequence are considered. When the processing begins, job 2 bids for time slot 0-5 on machine 2. During the time slot, no other bidders (jobs) are required to process on machine 2, and thus This concept can prevent bidders from not participating in an auction on purpose. The total finishing times of the two schemes are 48 and 54, and thus, the latter scheme exhibits a punishment value. The punishment value corresponds to the length of time delay multiplied by the punishment value of unit time. The punishment value of unit time is defined as the average price of the bidding time slot. For time slot 0-12, the average price is (2 * 10 + 3 * 2)/12 = 2.17 and the punishment value corresponds to (54 -48) * 2.17 = 13.02. The total value of each scheme is the difference between bidding price and the punishment value (if it exists). In addition, the total bidding prices of the two schemes are 28 and 9.98, and the scheme with the higher price is selected.  Figure 1.
After the processing of the first two jobs is completed, the remaining jobs in the given sequence are individually allocated to the process. In the example, job 3 is processed. According to the existing allocation that implies that the scheduling in Figure 1 is not changed, job 3 would be allocated to process as quickly as possible. The obtained scheduling scheme is shown in Figure 2. The makespan is 47. Then, the model attempts to reschedule the current job (job 3) based on the scheduling scheme shown in Figure 1. The current job can also bid for machine resources, which must be reasonably allocated to the process. Inserting the operation of the current job into the existing operations processed on the machine is attempted based on the starting and finishing processing times. In the first operation of job 3, O 31 must be processed on machine 3. Based on the scheduling scheme in Figure 1, O 31 is inserted at time points 0, 5 and 7. If O 31 is inserted at time point 0, then the sequence of operations processed on machine 2 is O 31 , O 21 and O 12 , and the finishing processing times for O 32 , O 22 and O 13 are 18, 23 and 43, respectively, corresponding to a total finishing time of 84. The finishing time is less than that in Figure 2, which corresponds to 89. Therefore, the new insertion is treated as     a valuable scheme, and the remaining operations are continuously processed as shown in Figure 1. The obtained scheduling scheme is shown in Figure 3. The makespan is 43. Similarly, if O 31 is inserted at time point 5, the obtained scheduling scheme is shown in Figure 4. The makespan is 41.
When O 31 is inserted at time point 7, the obtained scheduling scheme is not better than that shown in Figure 4. Subsequently, each scheme is evaluated according to the total flow time of all operations, such as the schemes shown in Figures 2, 3 and 4. As shown in Table 2, the starting time of each operation of three different schemes for each combination is recorded. The processing time of each operation is selected and fixed, and thus, the minimization of the total flow time is reflected in the starting processing time of all operations. The scheme with the lowest sum of the starting processing times of all operations is selected as the current process plan combination according to the given sequence.
It requires considerable time to evaluate all process plan combinations as the number of jobs increases. Thus, parameter GENNO is defined in this study as follows: after GENNO repetitions of a process plan combination, an optimal process plan exists and cannot be changed. The current existing optimal process plan is treated as a valuable process plan combination with high quality.

Auction for machines
After determining the process plan for each job, the auction process for machines is introduced to process the operations. The approach developed by Tang, Zeng, and Pan (2016) is applied for this purpose. Tang, Zeng, and Pan (2016) only considered the allocation of machine resources to jobs, and thus, their results are treated as the basis for the present study, even though the present study is more complicated. The call for an auction occurs before an auction starts. The auction consists of four steps, namely, bid construction, price evaluation, modification of bids and announcement of a winner. The procedure is described briefly in this article. Additional information is given in Tang, Zeng, and Pan (2016). The primary structure of the auction for machines is shown in Figure 5.

Call for auction
When an operation is ready to be processed, it informs an auctioneer to bid for a time slot. A bidder (job) sends a bid to the auctioneer (machine). If the auctioneer is not available, the bid is refused, and the bidder must resubmit the bid at the next time point when the auctioneer is available. The auction starts at this point.

Bid construction
When the auction begins, the auctioneer presents the message of the time slot that is open for bidding to all other jobs. All jobs determine whether it is necessary to submit a bid for the time slot based on their current status.

Price evaluation
Based on the submitted bids, the auctioneer determines the time point that is required for more bidders. Similarly, the auctioneer evaluates each time point in the time slot based on the degree of demand to provide a price. The basic price of each time point is considered as 1, and the price increases with the number of bidders to bid for it in a linear manner. This is similar to the method described in Section 3.

Modification of bids
The auctioneer presents the price of each time point to all bidders, and the bidders modify and resubmit their bids based on the given price. The total price consists of two components, namely, processing cost, which is the sum of the prices of the time points in the bids, and the bonus value for the auctioneer. The bonus value is calculated according to a given reference matrix, which includes the starting processing time for each operation. During the auction, if the starting time of the bid is earlier than that given in the reference matrix, the bonus value can press bidders to perform maximally to complete production tasks, and this favours the minimization of the makespan.

Announcement of a winner
After the modified bids are submitted to the auctioneer, the auctioneer determines whether or not to announce a winner. The status of the time slot of the auctioneer is updated, and the auction ends.

Proposed auction-based approach
Based on the aforementioned description, the proposed method of solving the FJSP-MPP is divided into two main stages, comprising seven steps. The first stage obtains the process plan of each job through an auction-based approach. The second stage continues allocating machine resources to jobs for scheduling. The detailed flowchart of the method is shown in Figure 6. The steps are as follows: Step 1: Auction initialization. Set the maximum iteration GENNO and GENNO1, Iter = 1, Iter1 = 1.
Step 2: Assign a sequence to process jobs, list all process plan combinations, go to Step 3; Step 3: Auction the current process plan combination, obtain the total flow time, go to Step 4; Step 4: Determine the value of the current process plan combination. If the current process plan combination can update the best process plan combination, Iter = 1, update the best process plan combination, go back to Step 3, and evaluate the next process plan combination; else, if Iter > GENNO, go to Step 5; otherwise, Iter = Iter + 1, go back to Step 3 to evaluate the next process plan combination; Step 5: Based on the obtained process plan, auction machines for scheduling each job, go to Step 6; Step 6: When all jobs finish processing, remark on the currently obtained scheduling scheme. If Iter1 > GENNO1, go to Step 7; else, Iter1 = Iter1 + 1, go back to Step 5 to reschedule all jobs; Step 7: Select the scheduling scheme with the minimum makespan in GENNO1 as the optimal makespan of scheduling for all jobs. Exit.

Example and simulation results
Experiments are conducted to test the proposed approach using well-known benchmarks. The benchmarks are obtained by following standard job-shop benchmark problems la01-40 documented by Lawrence (1984), orb01-10 by Applegate and Cook (1991) and swv01-10 by Storer, Wu, and Vaccari (1992).
The proposed auction-based approach is coded in C# and run on a personal computer with an Intel ® Core TM 2 Quad 2.66 GHz CPU with 2 GB RAM.

Setting parameters
Each instance is characterized by the following parameters: scales of test instances, number of processing routes for each job, number of initial feasible solutions, number of iterations used to determine the quality of a process plan combination (GENNO) and number of iterations used to optimize each feasible solution (GENNO1) for each solution. These parameters are set as follows: Scales of test instances: 10 × 5, 15 × 5, 20 × 5, 10 × 10, 15 × 10, 20 × 10, 30 × 10, 15 × 15; 10 × 5 implies that 10 jobs exist, and each job should be processed on five different types of machine Each job only includes one process plan for the instances in la01-40, orb01-10 and swv01-10. To obtain the test problems with jobs that consist of multiple (three) process plans, three benchmark problems are integrated into a new type known as 'Group' for the benchmark problems at each scale. For example, benchmark problems la01-05 exhibit the same scale. The new test problem, 'Group01', consists of la01, 02 and 03, and similarly, 'Group05', consists of la05, 01 and 02. Two scenarios are proposed with respect to the new test problems. Scenario 1 only includes one machine of each type, and Scenario 2 includes multiple copies of a machine type. The allocation of machines for all instances in Scenario 2 is listed in Table 3, which shows the number of each machine type, where 'Type' denotes the number of different types of machine. First, Lingo is used to solve the new test problems. For the small-scale problem that corresponds to a scale of 10 × 5, Lingo obtains feasible solutions after a run time of 6 h, as shown in Table 4. For medium-scale and large-scale problems, a feasible solution is not obtained even after a run time of 12 h. Lingo does not obtain a high-quality solution even after performing the calculation for a long period, and thus, Lingo is potentially not suitable for solving the FJSP-MPP. Furthermore, this demonstrates the complexity of the problem.
Next, the effectiveness of the proposed algorithm is proved from the perspective of a hypothesis test. The independent sample t-test is performed as shown in Table 5, and the results obtained by the proposed algorithm are considered as a basic sample that corresponds to the data in the ABA column. The data in the GA, TS, ABC, PSO, SA, ACO, TLBO and IWO columns are treated as compared samples. It is determined whether a significant difference exists between the basic sample and a compared sample based on the value of significance (two-tailed). The results of the statistical analysis for the two scenarios are shown in Table 6. The default confidence interval is 95%.
As shown in Table 6, the value of significance (two-tailed) is lower than the significance level of 0.05 for both scenarios for medium-scale and large-scale instances. This indicates that the basic sample and compared samples exhibit significant differences, thereby proving that the proposed method exhibits an absolute advantage, particularly for medium-scale and large-scale instances. This also proves the effectiveness of the proposed auction-based approach.
To further analyse the stability of the proposed auction-based approach, each new test problem is solved 10 times under the two scenarios and the worst and best solutions are obtained ( Table 7). The deviation shows the percentage deviation between the worst solution and best solution obtained by the proposed auction-based approach in each test instance. It is calculated as follows: As listed in Table 7, the average deviations for the two scenarios are 3.19% and 3.01%. Thus, the proposed auction-based approach is relatively stable and sufficient for solving the FJSP-MPP.

Conclusion
The present study addressed the FJSP-MPP with the objective of minimizing the process makespan. An INLP model was proposed, and an auction-based approach was applied to solve the problem. Computational results were presented for a set of test instances by combining benchmark tests into a new test. Based on the percentage deviation between the results obtained by the proposed approach and eight other algorithms, and the percentage deviation between the best and worst solutions obtained by the proposed approach, it was demonstrated that the proposed approach is effective, stable and a suitable method for solving the FJSP-MPP. As mentioned in Section 1, transportation is an important element in the FJSP-MPP. There is a paucity of studies on the FJSP-MPP that consider transportation irrespective of the mode used to determine process plans. The existing studies on the FJSP-SPP with transportation can be divided into the following types based on transportation resources, with a progressive relationship: (1) transportation resources are sufficient and only transferring time is considered; (2) transportation resources are limited, e.g. the number of robots or automated guided vehicles (AGVs) is limited and the capacity of each AGV is 1; and (3) transportation resources are limited, as described in condition (2) and the capacity of each AGV exceeds 1. In future work on the FJSP-MPP, the transportation element can be considered, involving an in-depth step-by-step exploration by following the aforementioned progressive route based on the results of the present study.