Next Article in Journal
Evaluation of Elastic Filament Velocimetry (EFV) Sensor in Ventilation Systems: An Experimental Study
Previous Article in Journal
Trade Union Members’ Experiences and Attitudes towards Working from Home during the Pandemic
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Mathematical Modeling and A Novel Heuristic Method for Flexible Job-Shop Batch Scheduling Problem with Incompatible Jobs

1
School of Traffic & Transportation Engineering, Central South University, Changsha 410075, China
2
School of Engineering, Deakin University, Geelong, VIC 3216, Australia
3
Hubei Provincial Key Laboratory for Operation and Control of Cascaded Hydropower Station, China Three Gorges University, Yichang 443002, China
4
College of Electrical Engineering and New Energy, China Three Gorges University, Yichang 443002, China
*
Author to whom correspondence should be addressed.
Sustainability 2023, 15(3), 1954; https://doi.org/10.3390/su15031954
Submission received: 5 November 2022 / Revised: 12 January 2023 / Accepted: 17 January 2023 / Published: 19 January 2023

Abstract

:
This paper investigates a novel flexible job-shop scheduling problem, where the machines have batch-processing capacity, but incompatible jobs cannot be processed in a batch (FJSPBI) simultaneously. This problem has wide applications in discrete manufacturing, especially in chemical and steel casting industries. For the first time, in this study, a 3-indexed mixed-integer linear programming (MILP) model is proposed, which can be efficiently and optimally solved by commercial solvers for small-scale problems. In addition, an improved large neighborhood search (LNS) algorithmic framework with an optimal insertion and tabu-based components (LNSIT) is proposed, which can achieve high-quality solutions for a large-scale FJSPBI in a reasonable time. A perturbation strategy and an optimal insertion strategy are then additionally embedded to improve the exploitation and exploration ability of the algorithm. The proposed model and algorithm are tested on numerous existing benchmark instances without the incompatibility characteristics, and on newly generated instances of the FJSPBI. The experimental results indicate the effectiveness of the proposed MILP model and the algorithm, including the proposed strategies, and the optimal insertion strategy can significantly reduce the computational burden of the LNS algorithm. The comparison results further verify that the proposed LNSIT can directly solve the specific flexible job-shop batch scheduling problem without incompatibility, with better results than existing methods, especially for large-scale instances. Additionally, the impacts of a wide range of characteristics, including batch capacity, incompatibility rate, instance scale, and machine processing rate, on the performance of the LNSIT and the scheduling results are analyzed and presented.

1. Introduction

1.1. Job-Shop Scheduling Problem

Job-shop scheduling problem (JSP) is the core of production management to realize artificial intelligence, automation, and information in manufacturing. Effective scheduling is vital to improve the efficiency of production assignment, and, thus, JSP has a strong and extensive engineering practical application in the pharmaceutical industry [1] and in consumer electronics manufacturing [2]. JSP was derived from the parallel-machine scheduling problem (PMSP) and is one of the most important scheduling problems in real-world manufacturing systems, where each job consists of a sequence of operations, and each operation needs to be processed on a given machine. Due to its high complexity and NP-hard nature, JSP has attracted great research attention. Zhang et al. [3] classified JSP models into five categories according to their complexity and components’ properties, which are known as the basic, multi-machine, multi-resource, multi-plant, and smart factory types. Regarding the approaches for solving the JSP, many researchers have attempted to develop efficient algorithms to obtain optimal solutions for large-scale cases. In terms of the exact methods, Carlier and Pinson [4] presented a branch-and-bound method to optimally solve the instance with 10 machines and 10 jobs that was proposed by Fisher [5] 20 years ago. Lawrence [6] proposed 40 benchmark instances of JSP with up to 15 jobs and 10 machines. AitZai et al. [7] proposed a modified branch-and-bound method with a new branch strategy to solve the instances in [6] as well, and they obtained the optimal solutions for instances with up to 6 jobs and 10 machines. Their numerical results indicated that the method has great advantages and is promising for solving small- and medium-scale JSPs. Other scholars have also presented other exact methods, such as dynamic programming (DP) [8] and Lagrange relaxation (LR) [9], for solving JSPs.
Due to the fact that exact algorithms can be challenging to apply when solving large-scale JSPs, scholars have paid more attention to devising new heuristics. Kurdi [10] proposed an improved genetic algorithm (GA) for solving a JSP, where different sub-populations have different evolutionary methods, so that the individuals with the worst environmental adaptability could be exchanged to diversify the search process. To integrate the advantages of various algorithms, some researchers hybridized several algorithms to construct more effective hybrid algorithms to solve JSPs, such as the hybrid GA [11] and the hybrid tabu search-path relinking algorithm [12]. In some cases, there are certain objectives and constraints that are considered in terms of preference, and researchers have found different methods to somehow satisfy them. For example, Vela et al. [13] analyzed a JSP with flexible due dates and proposed a hybrid GA and the tabu search algorithm to efficiently solve the JSP with up to 20 jobs and 15 machines. Huang and Yu [14] studied a multi-objective JSP for minimizing a weighted sum of makespan, tardiness, and lot-splitting cost, which has managed to efficiently solve instances with up to 100 jobs and 10 machines.

1.2. Flexible Job-Shop Scheduling Problem

An investigation on customization in healthcare, mobility, retail, and home and city environments of 3000 consumers shows that nearly all consumers expect some level of customization in their products, and 83% of consumers expect their products to be completely customized [15]. In reality, machines may be unavailable for processing jobs when a breakdown happens, which undermines flexible production. Flexible JSP (FJSP) is a variation of JSP that can overcome this drawback, which allows each operation to be processed by any machine out of a given set of candidate machines. The framework for solving FJSP can be classified into two branches. In the first branch, the FJSP is decomposed into two sub-problems, i.e., allocating jobs to machines and optimizing the sequence of jobs on each machine, and the whole problem is solved by the interactions between the algorithms for each sub-problem [16]. The second approach is more common, which treats the FJSP as a multiple traveling salesman problem (TSP) where jobs and machines are mapped to cities and salesmen, respectively. As such, neighborhood search algorithms and evolutionary algorithms are widely applied in the FJSP. For example, two TS algorithms [17] and an improved quantum cat swarm optimization (QCSO) algorithm [18] have been adopted and adapted to solve the FJSP. There are many extensions of FJSP, such as the distributed flexible job-shop scheduling problem (DFJSP) [19] and the energy-efficient FJSP [20].

1.3. Batch Scheduling

Batch scheduling stems from large-scale integrated circuit manufacturing in semiconductor production, which is widely applied in diverse areas such as semiconductor manufacturing, aircraft manufacturing, shoe manufacturing, and healthcare [21]. A batch processing machine processes several jobs simultaneously as a batch to improve machine utilization and reduce processing time. In order to maximize the efficiency in the manufacturing system with batch processing ability, batch scheduling has been extensively investigated. Damodaran and Vélez-Gallego [22] presented a method to calculate the lower bound of the identical parallel-machine batch scheduling problem (PBMP) with preemptions and non-identical job sizes by separating each job as a set of jobs with unit size. Muter [23] obtained the upper and lower bounds of the PBMP via a column generation algorithm. There are many heuristic algorithms for solving PBMP. Chang et al. [24] proposed a simulated annealing (SA) algorithm to solve the PBMP with identical job sizes. Jia and Leung [25] proposed an ant-colony-optimization-based metaheuristic to solve the same problem with non-identical job sizes to minimize the makespan. Jia et al. [26] extended the research in [25] by considering identical machine capacities, non-identical job sizes, and different weights of jobs. Shahvari and Logendran [27] proposed an enhanced TS algorithm with diversification strategies for solving the PBMP.
Most existing studies focus on batch processing in a parallel-machine scheduling environment. Only a few studies have considered batch processing in a flexible job-shop scheduling environment. Ham [28] studied a flexible job-shop scheduling problem with parallel batch processing machine and compatible job families (FJSPBC), where a 4-indexed MILP model was proposed, which could optimally solve FJSPBCs using Gurobi. For these instances, the maximum number of jobs multiplied by the number of operations is 96. Subsequently, Ham and Cakici [29] proposed a 3-indexed model for the same problem, which was experimentally proven to be more efficient through a set of instances. However, the lack of correctness and comprehensiveness in the constraints of the 3-indexed model undermines its efficacy. For example, the 3-indexed model cannot ensure that the start time of an operation of a job is later than or the same as the completion time of its direct precedent operation when job operations are processed on different machines. In addition, the 3-indexed model cannot obtain the optimal solution for the FJSPBC when the operations of different jobs with different indexes (e.g., operation 1 of job 1 and operation 2 of job 2) need to be processed in the same batch. Moreover, the two models proposed in Ham [28] and Ham and Cakici [29] can only solve the problem where each job has the same number of operations, since there are no parameters or variables defining the operations belonging to each job.

1.4. Batch Scheduling Considering Incompatible Jobs

In this study, we extend the research in Ham and Cakici [29] by proposing a new 3-indexed MILP model for the FJSPBC to overcome the drawbacks of the models proposed in previous studies. Meanwhile, we adapt the model to accommodate a more generalized scenario by considering incompatible jobs under the batch processing environment (i.e., FJSPBI). In fact, job processing generally has different procedural requirements, and incompatible jobs commonly occur in batch scheduling problems [30,31,32]. Solving this problem has wide applicability in industrial settings, such as in chemical processing and heat treatment facilities in steel casting industries. The FJSPBI is a problem extended from the FJSP, with more batch capacity and incompatibility constraints. When the batch capacity and the number of job family both equal to one, the FJSPBI can be transformed to the FJSP. In addition, a heuristic algorithm known as LNSIT is proposed in this study to efficiently solve large-scale FJSPBIs. To verify the efficacy of the proposed model and approach, numerical experiments are performed on a wide range of FJSPBC and FJSPBI instances with different problem characteristics.

1.5. Contribution of This Work

The main contributions of this work are threefold: (i) The FJSPBI is studied for the first time, which is extended from the FJSP. A 3-indexed MILP model is proposed, which can optimally solve small-scale FJSPBCs and FJSPBIs. (ii) A LNSIT heuristic incorporating an optimal insertion and tabu-based strategy with a large neighborhood search algorithm is established, which can efficiently solve large-scale FJSPBCs and FJSPBIs. (iii) The impacts of different characteristics, such as batch capacity, incompatibility rate, and machine processing rate, on the performance of the MILP-based and heuristic algorithms are analyzed and concluded.
The remainder of this paper is organized as follows: Section 2 details the FJSPBI problem and proposes a 3-indexed MILP model. A perturbation-based LNSIT for solving the FJSPBI is proposed and explained in Section 3. In Section 4, many FJSPBI instances with various characteristics are generated and solved by the proposed method, with the numerical results presented and analyzed. Finally, Section 5 concludes the paper with a discussion on future research direction.

2. MILP Model of the FJSPBI

2.1. Problem Description

In the FJSPBI shown in Figure 1, we are given a set of machines M (mM), jobs J (jJ) and job families I (iI), where each job has a set of operations Oj (jJ) that have to be processed successively on one machine out of a subset of candidate machines. Each machine is associated with a capacity Φm (mM), where operations of different jobs can be processed simultaneously in a batch as long as the following two conditions are satisfied: (i) the total size of the batch does not exceed the capacity of the machine, and (ii) the operations in the same batch belong to the same job family. Since different operations may need different processing times, the processing time of a batch is determined by the longest processing time of operations in the batch. The FJSPBI of interest aims to achieve an optimal schedule that minimizes the maximum completion time over all operations (i.e., makespan), while satisfying all operational constraints.
In Figure 1, J i j o p t represents the operation o of job j that belongs to job family i with a processing time of t. Figure 1a illustrates a feasible solution, and Figure 1b illustrates an infeasible solution where (i) incompatible jobs cannot be processed in the same batch, (ii) the size of a batch cannot exceed the capacity of the machine that processes it, and (iii) the operations of a job must be processed in the correct order. The sets, parameters, and variables used for the model are defined in Table 1.

2.2. MILP Model of the FJSPBI

Objective (1) minimizes the makespan.
min   C m a x
Constraint (2) ensures that each operation has to be assigned to a batch.
b B X j o b = 1 , j J , o O j
Constraint (3) ensures that jobs belonging to different families cannot be processed in the same batch.
Z j i b + Z j i b 1 , j , j J , j j , i , i I , i i , b B
Constraint (4) ensures that only when there is a batch b processed on a given machine m that a job can be processed in the batch.
m M Y b m X j o b , j J , o O , b B
Constraint (5) ensures that the number of operations processed in batch b on machine   m does not exceed the capacity of the machine.
j J o O X j o b Φ m + ( 1 Y b m ) l , b B , m M
Constraint (6) ensures that X j o b and Y b m   cannot both be 1, which ensures that job j can only be processed on one machine out of a subset of candidate machines.
X j o b + Y b m   1 , j J , o O ,   b B ,   m M \ M j o
Constraint (7) defines the processing time of batch b on machine m , which is determined by the maximum processing time of jobs in the batch.
P b p j o m ( 2 X j o b Y b m ) l , j J , o O , b B , m M
Constraints (8)–(11) determine the start time and completion time of batch b . Constraints (8) and (9) ensure that the start time of each operation is the same as the start time of the batch that processes it.
S b H j o + ( 1 X j o b ) l , j J , b B , o O
S b H j o ( 1 X j o b ) l , j J , b B , o O
Similarly, Constraints (10) and (11) ensure that the completion time of each operation is equal to the completion time of the batch that processes it.
C b U j o + ( 1 X j o b ) l ,   j J ,   b B , o O
C b U j o ( 1 X j o b ) l , j J , b B , o O
Constraint (12) ensures precedence relationship between operations of the same job.
H j o U j o 1 , j J , o O , o > 1
Constraint (13) ensures that the completion time of batch b is equal to the sum of the start time and the processing time of the batch.
C b P b = S b , b B
Constraint (14) ensures precedence relationship between batches on the same machine.
C b S b + ( 2 Y b m Y b m ) l , m M , b , b B , b < b
Constraint (15) ensures that if an operation o of a job j   is processed in batch b , then job j belonging to family i is processed in batch b .
Z j i b X j o b , j J , o O , i I , b B
Constraint (16) ensures that the start time of an operation o of a job j is at least the total minimum processing time of the precedent operations of the job. It is valid for tightening the feasible region of the problem and can reduce solution time.
H j o k < o min p j o m , j J , k , o O , o > 0 , m M
Constraint (17) guarantees the makespan of batch b must be shorter than the maximum makespan.
C m a x C b ,   b B
The constraints for boundaries and the types of variables are formulated as follows:
X j o b 0 , 1 , j J , o O , b B
Y b m 0 , 1 , b B , m M
Z j i b 0 , 1 , j J , i I ,   b B
0 H j o ,   U j o , S b , C b , P b C m a x ,   j J , o O , b B

3. Solution Method for the FJSPBI

The generality of MILP solution methods is limited, and heuristics can help tackle instances with large sizes. This study proposes an improved large neighborhood search algorithmic framework with optimal insertion and tabu-based components (LNSIT) as a heuristic for solving the FJSPBI. The framework for solving the FJSP can be separated into two branches, where the approaches in the second branch mentioned above treat the FJSP as a multiple TSP domain. Recent research results have shown that neighborhood-search-based algorithms have advantages in solving multiple TSPs [33]. The LNS algorithm has been proven to have significant advantages in solving discrete combinatorial optimization problems [34,35]. The LNS algorithmic framework is presented due to its mechanism of large neighborhood reconstruction and strong ability in global search [36]. This study adopts the LNS framework and improves its performance by incorporating optimal insertion and TS strategies according to the characteristics of the FJSPBI. The LNSIT searches for an optimal solution structure (i.e., solution of the main assignment problem), where the Bellman–Ford algorithm [37] and the LNSIT algorithm are called for, and the feasibility of job batch incompatibility is checked during the objective function evaluation. The computational complexity of the Bellman–Ford algorithm is O(VA), where V and A denote the number of vertices and arcs, respectively. In the FJSPBI, V denotes the number of batches in the solution structure, and A describes the precedence relations between these batches. In the worst-case scenario where each operation of a job is assigned to a single batch, the number of batches equals the number of all operations. Let E be the total number of operations of jobs, then the number of arcs is bounded by O(E). As such, the highest possible computational complexity of the Bellman–Ford algorithm in the solution approach is O( E 2 ). The computational complexity of the proposed LNSIT depends on the removal and insertion operators. For the removal operator, the worst computational complexity of the worst removal operator is O(ElogE). For the insertion operator, the worst-case computational complexity of the deep greedy insertion operator is O( E 3 ). Therefore, the worst-case computational complexity of the solution approach is O( E 5 ).
There are 3 jobs and 2 machines, each job with 2 operations. Figure 2a shows the processing time of operation o of job j belonging to family i on machine m . After each operation is assigned to a machine, the initial solution is obtained. In Figure 2b, J 222 p 21 and J 112 p 64 are processed in the same batch, and the batch is removed, as shown in Figure 2c. Then, J 222 p 21 and J 112 p 64 are reinserted to other existing batches or a new batch, and a new solution can be obtained, as shown in Figure 2d. The next iteration is implemented in the same manner.

3.1. Framework of the Proposed LNSIT for the FJSPBI

Denote M and M as the set of machines of the FJSPBI and the total number of machines, respectively. Let B m and | B m | be the set of batches and the total number of batches processed on a given machine m , respectively. The solution structure of the FJSPBI is defined as follows:
S = N 1 1 N 1 B 1 N M 1 N M B M  
where N m b = o O j ,   j J | X j o b = 1 ,   m M , b B m } represents a subset of operations that are assigned to batch b of machine m . Thus, the aim of solving the FJSPBI is to find the optimal solution structure. It can be proven that the optimal start time of each batch can be obtained as long as the optimal solution structure S of Equation (22) is obtained, and, thus, the makespan can be obtained. We also need to estimate the merit of the solution structure (i.e., calculate the objective function value), which can be converted to the shortest path problem and solved by the Bellman–Ford algorithm (see Section 3.5). Based on the above analysis, the idea of the proposed method is to present an algorithm to search for the optimal solution structure S . The LNS algorithm will deal with redundant calculations and cause large computational burden because all feasible positions are checked and considered when inserting operations using this algorithm. In our LNSIT algorithm framework, the infeasible positions to insert are identified when the constraints are violated. In order to avoid repetitive searching, a tabu-based worst removal operator is proposed, which prevents the undesirable removal of operations from the tabu list within a Tabu period ( T P ). An optimal insertion-based deep greedy insertion operator is also proposed to accelerate solving the search process of the algorithm. In addition, a perturbation mechanism is embedded to insert operations to their optimal insertion positions, to diversify the solutions, and to escape the local optimum. This paper draws on the exponential Monte Carlo acceptance criterion, which is similar to the simulated annealing acceptance criterion that was proposed by [38] to accept a new solution. The difference is that the former generates a random number R N < exp   ( A P   ( O b ( X ) O b ( X ))) in [0, 1], where A P is a constant and O b ( X ) denotes the objective value of solution X . The framework of LNSIT for solving the FJSPBI is described in Algorithm 1.
Algorithm 1 LNSIT for FJSPBI
Input: FJSPBI instances and parameters
Output: Optimal solution S
1: Create initial solution S 0 ,   let S = S 0 ; current solution   S = S 0 , initial tabu-related iteration of each operation   I o = 0
2: while the maximum number of iterations is not met do
3: Implement the tabu-based worst removal operator R i on S   and obtain a partial solution S
4: Implement the optimal insertion-based deep greedy repair operator R i + on S   and obtain a new solution S
5: if O b S < O b S do
6:   S = S
7:  if O b   S < O b ( S ) do
8:    S = S
9:  end if
10:  else
11:  Add the removed operations to tabu list with a probability of ρ 1
12:   I o = I o + 1
13:  if I o > T P do
14:   Remove operation o from the tabu list
15:  end if
16: end if
17: Present the exponential Monte Carlo acceptance criterion
18: end while

3.2. Initial Solution Construction

Each operation is assigned as an individual batch to a machine. Specifically, each operation is assigned to a candidate machine that can process this operation, while balancing the workload between different machines. The procedure for constructing an initial solution structure is listed as follows:
Step 1: Shuffle the jobs randomly and assign the first operation in front of the sequence to a machine that can process it. Assign the first operation of the first job to a machine so it can process the operation.
Step 2: Repeat Step 1. Ensure that the machine is not the one previously assigned if there is more than one machine that can process the current operation.
Step 3: Repeat Step 2, and an initial solution is obtained until all operations are assigned to one machine out of a subset of candidate machines.
This initial solution construction method guarantees the feasibility of a solution and ensures all operations are assigned. It increases the randomness of solutions as well as balances the workload among all machines.

3.3. Tabu-Based Worst Removal Operator

The worst removal operator was first proposed in [39], which removes the operation node that contributes most to the objective of the current solution. Let S _ o be the partial solution without operation o , and   O b S and O b S _ o be the objective values of solutions S and S _ o , respectively. For each operation, the difference D f ( S , o ) = O b S O b S _ o is calculated and operation o that leads to the largest difference is removed. Then, the difference of each remaining operation is calculated based on the new structure. This procedure is repeated until a certain number of operations are removed.
To enhance the efficiency of the removal operator, a tabu-based strategy is incorporated into the worst removal operator. Specifically, if a removed operation is reinserted and it leads to a worse solution than the current one, the removed operation is put into the tabu list with a probability ρ 1 , which is forbidden to be removed again within the predetermined T P . The procedure of the tabu-based worst removal is described in Algorithm 2, where ω   is the number of operations that need to be removed.
Algorithm 2 Tabu-based worst removal
Input: Current solution S ,   tabu list R o ,   constant ω
Output: Set of operations needs to be removed   R o
1: while o is in R o \ R o   do
2: if the number of operations R o < ω do
3:  For all o O , sort D f ( S , o ) = O b S O b S _ o by descending order
4:  Remove operator o = argmin o O \ R o D f ( S , o ) ,   R o = R o o
5: end if
6: end while

3.4. Deep Greedy Insertion Operator

Ropke and Pisinger [39] proposed the deep greedy insertion operator, which aims to insert the operations in R o into their best positions in a certain order. Firstly, for each operation in R o , the objective value is calculated when the operation is inserted into an available position, and then the operations are sorted in ascending order according to their smallest objective value corresponding to their best insertion position. Subsequently, the operation in front of the sequence is inserted into its best insertion position. This process is repeated until all the operations in R o   are inserted. The deep greedy insertion operator calls for the objective value evaluation algorithm for each operation position assignment, which can be very time consuming especially for large-scale problems.
For this reason, an optimal insertion strategy is proposed here to significantly reduce the computational burden without diminishing its functionality. The basic idea is to consider a subset of positions rather than all possible positions, where the subset can be proven to always contain the best insertion position rather than all feasible positions. In addition, the traditional deep greedy insertion operator inserts operations to their best positions during the whole search, which is not conducive to exploration ability and may cause a premature convergence of the algorithm. Therefore, a perturbation mechanism is incorporated into the greedy insertion, and the enhanced deep greedy insertion operator is described in Algorithm 3.
The solution structure is denoted as S + o after the insertion of operator o ; p o l represents the l t h position where operation o can be inserted; and set P includes the subset positions. Symbol O b ( S + o , p o l ) is the objective value after operation o is inserted in the l t h position, and O b 1 ( S + o , p o 1 ) , O b 2 ( S + o , p o 2 ) , …, denote the ordered objective values.
Algorithm 3 Optimal insertion-based deep greedy insertion
Input: Set of removed operations   R o , current solution structure S , and corresponding objective O b S  
Output: Solution structure with the operation inserted and corresponding objective value O b ( S + o , p o l )
1: while the number of operations | R o | < ω and   R o do
2: Present the optimal insertion strategy
3: for o R o and p o l P do
4:  Insert each operation o to each p l m and calculate O b ( S + o , p o l )
5:  For all o O , sort difference of objective D f ( S , o ) = O b ( S + o , p o l ) O b S   by ascending order
6:  Choose operator o = argmin o R o D f ( S , o )
7: Insert the operator o = argmin o R o O b l ( S + o , p o 1 ) ,     R o = R o \ o and calculate O b ( S + o , p o l )
8:  end for
9: end while

3.4.1. Optimal Insertion Strategy

The optimal insertion strategy is inspired by the research on the FJSP in [17], which presented a local search algorithm for the FJSP. In their study, a local neighborhood solution was generated by removing one operation and inserting it into the resulting partial solution, wherein the best position with a minimum increment of the objective value was selected to generate a promising neighborhood solution. An optimal insertion strategy was proposed, which enables the algorithm to identify a subset of positions rather than all candidate positions in the partial solution for obtaining the best position. To achieve this, they proved that the subset positions are feasible positions for the removed operation to be inserted to achieve a feasible neighborhood solution, and the subset of positions contains the best position. This strategy helps the local search algorithm reduce its computational burden without degrading the quality of solutions.
This optimal insertion strategy is extended in our study. Two differences are considered before applying the strategy, which are distinguished by the properties of the problems and the algorithms presented in [17] and this study. Specifically, the local search algorithm only removes and reinserts one operation to generate a neighborhood solution, while the LNSIT removes and reinserts more than one operation to reconstruct a solution. Moreover, the batching ability was not considered in the FJSP in [17], which means a removed operation can only be reinserted to the positions in front of or after another operation. In contrast, the batching processing ability considered in the FJSPBI allows a removed operation to be reinserted to all positions in an existing batch. In the following sections, we will show how the optimal insertion strategy can be applied to the LNSIT for reconstructing the solutions of the FJSPBI in the specific case when a removed operation is reinserted into the partial solution structure to generate a new batch. Following this, the repair operator only identifies the positions if a removed operation can be inserted into an existing batch without violating the capacity of the machine and a subset of positions, where a removed operation can be inserted to generate a new batch. Therefore, the computational burden of the LNSIT algorithm can be reduced significantly since the objective evaluation algorithm is only called for a subset of insertion positions when implementing the repair operator.
As mentioned before, in the graph representing the solution structure of the FJSPBI, let nodes represent batches (rather than operations) and arcs represent precedence relationship of batches. Let G be the corresponding solution graph and G v be the graph obtained from G after removing operation v . Let ξ be a set of all batches, i.e.,   ξ = B i j | i B , j M . A neighborhood solution ( m , S ) of the problem is defined for each batch b B i j , each machine m b on which b is processed without preemption, and each start time S b . Two virtual nodes 0 and ∗ represent the start and end periods, respectively. The weight of each node is the processing time P b , μ b   of corresponding batch b on machine m b , and P 0 = P = 0   is defined. Precedence relations are incorporated in the solution graph by means of precedence arcs; an arc is represented as ( B i j ,   B i + 1 j ), where i B   and j M . For each batch b B , we introduce dummy arcs (0,   b ) and ( b ,   ). A machine arc ( b , d ) indicates that batch b is a direct predecessor of batch d processed on the same machine. Accordingly, the graph is defined as G ( ς , τ ), ς = ξ 0 , , and τ   is composed of machine arcs, precedence arcs, and dummy arcs.
The start time S b   of batch b is l ( 0 , b ) in the graph, and the P b , μ b is denoted as P b in the following for brevity. We define the length of a path ( b 1 , b 2 , , b q ) as the sum of processing time from batch b 2 to batch   b q 1 . The virtual node 0 represents the start time S b = 0 , and each arc ( b , d ) τ represents the constraint of the form S d S b + P b . The length of the longest path from point 0 to point is the makespan, and the path is referred to as a critical path. A solution is not feasible if the solution graph contains a cycle. A solution graph not containing a cycle cannot guarantee the feasibility of the solution, since the incompatibility and batch capacity should also be considered. All those constraints are considered in the insertion operational process. We define the tail time t b   as the length of the longest path from batch b to batch , i.e., t b = l ( b , ). If and only if batch b satisfies S b + P b + t b = C m a x , the batch is called the critical path.
For every operation x in figure G v , let s x   and t x be the start time and the tail time of an operation x . We also define a start time ( s w ), a tail time ( t w ), and a processing time ( p w ) for each operation w in G v , which are equal to the start time, the tail time, and the processing time of the batch that processes this operation. Let P J v   ( S J v )   denote the direct operation that precedes (follows) the removed operation v of the same job. In graph G v , we have   s v = s P J v + p P J v   and t v = t S J v + p S J v . If v is the first (last) operation, let P J v = 0   ( S J v =   ). Since removing operation v will not change the start time of its preceding operations and the tail time of its following operations, we have s P J v = s P J v , t S J v = t S J v . Let Q m be the set of all batches processed by machine m in figure G v , which is sorted by the ascending order of start time.
The optimal insertion strategy and proof in [17] can be extended to our study. It can be proven that the set of solutions obtained by inserting operation v after all the batches of L m \ R m and before all the batches of R m \ L m (defined as set F v m ) are feasible. In addition, it can be proven that the insertions on machine m other than the ones in F v m cannot contribute to a solution with a better makespan. The details of the proof are presented in the following. We define R m = ( x Q m | s x + p x > s v ) and   L m = ( x Q m | p x + t x > t v ).
1. R m = ( x Q m | s x + p x > s v ): According to the definition of R m , there is no path from any operation x R m to v in G v . If x is an operation of Q m \ R m , then s x + p x s v . Since s v s v and p v > 0 , then s x < s v + p v . Therefore, there does not exist any path from v to any operation of Q m \ R m in G (and hence in G v ).
2. L m = ( x Q m | p x + t x > t v ): Similarly, there is no path from v to any operation x L m in G v . If x is an operation of Q m \ L m , then p x + t x t v . Since t v t v and p v > 0 , then t x < p v + t v . Hence, there is no path from any operation of Q m \ L m to v in G (and hence in G v ).
It follows that the subset position set Θ v m   can be defined as the set of positions after all the operations of R m \ L m and before all the operations of L m \ R m . We now prove that Θ v m is a set of feasible positions. There are two cases for L m R m :
1. L m R m : For each operation x of L m R m , there is no path from v to x and from x to v . Hence, each k -insertion of v in L m R m delivers a feasible solution.
2. L m R m = : For each operation x of Q m \ L m R m , there is no path from v to x and from x to v in G v . Therefore, any k -insertion of v after each operation of L m and before each operation of R m delivers a feasible solution.
A k -insertion is called the best k -insertion if the resulting solution structure has the minimal objective value which is equal to or smaller than the objective values of all other solution structures. The subset position set Θ v m contains the best position of k -insertion of operation v .

3.4.2. Search Perturbation

Ropke and Pisinger [39] first considered inserting a perturbation strategy by proposing a disturbance factor to the objective function for increasing randomness in each iteration to improve the local exploitation ability of the algorithm. Different from the perturbation strategy presented in [39], where a disturbance factor is introduced in each iteration, this paper considers the performance in a certain number of iterations to dynamically decide whether to consider disturbances to balance the exploration and exploitation performances of the algorithm. Specifically, when the optimal solution is not updated within the number of iterations I 1 , the disturbance factor is triggered. The optimal solution is not updated within the number of iterations I 2 when the disturbance factor is removed. This improves the effectiveness and diversity of the algorithm when searching for neighborhood solutions to improve the performance of the algorithm. Among them, disturbance value N is randomly generated in an interval M N , M N to obtain the processing time C = max 0 , C + N required to insert an operation. The maximum absolute disturbance value M N = φ M X where φ is a constant in (0, 1], and M X is the maximum processing time of all operations over all capable machines.

3.5. Objective Evaluation

It is useful to represent the problem by a disjunctive graph to calculate the objective function value, since searching the optimal start time of each batch can be converted to a shortest path problem with negative weights and solved by the Bellman–Ford algorithm. The objective value of each solution structure can be calculated via a graph G = ( V ,   ψ ) inspired by [40], which is defined as follows: V   = B 0 ,   , where B is a node set containing all batches, and point 0 and point   represent the virtual start and end batch, respectively.   ψ = A ,   E , A = b ,   d | b ,   d B ,   b d 0 ,   d | d B ,   b B :   b d { b ,   | b B ,   d   B :   b d } ,   and E = b ,   d | b ,   d B m ,   b < d represents a set of arcs between the preceding and the following batches processed on a machine. Each node d B m , m M in the graph G has a weight ( λ d ) that is equal to the processing time of the batch that processes the operation, and we define λ 0 = λ = 0 . Each node d B m , m M is associated with a start time S d , and the arc b ,   d B can be deemed as representing the constraint of the form S d S b + λ d . If we set the length of an arc b ,   d B as λ b , determining the optimal start time of each batch d B 0 ,   means to find the longest path from node 0 to node d . Figure 3 represents a solution for an FJSPBI with 3 jobs, 3 machines, and 3 operations (denoted as 3/3/3). The objective value of the FJSPBI is determined by the length of the longest path in the graph. The weight of each node represents the processing time of each batch. The situations can be classified into two categories: (i) only a single operation in a batch is removed, and (ii) one of the operations in the same batch is removed. For the first category, if a single operation o in a batch is removed, the corresponding batch will not exist and the arcs that are directly connected to it will be removed. Then, the node (batch) which contains the direct preceding operation of operation o will be connected with the node that contains the direct successor. For the second category, removing an operator will not contribute to a deletion of the node, while the arcs in the graph will change according to the precedence relationships between operations. In the single-batch scheduling scenario, the optimal start time of each batch only relates to the start time of the previous batch processed in the same machine and the operations’ start time. In contrast, an operation’s start time is affected by the batch’s start time that processes the previous operation of the same job. As such, the start time of a batch influences the preceding batch processed by the same machine and the batches that are assigned with the previous operations of the corresponding jobs.

4. Computational Experiments

4.1. Instances and Parameters

To assess the quality of the model and the algorithm, several experiments are performed on many instances (i.e., FJSPBC and FJSPBI instances). In order to identify the influence of different problem characteristics on the results of the instances, we generate new instances in two classes. In Class 1, there are 20 small-scale instances as proposed by [41], which are named as F_ instances and are shown in Table 2. In addition, referring to the generation criterion in [42], we generated 9 medium- and large-scale instances, which are named NI_ instances with different number of jobs ( n j ) and machines ( n m ) ( n j and n m are 5 or 10), and the number of operations per job ( n o ) are randomly generated in the range of [1, 10], [5, 10], and [10, 15]. For each size, the processing time of operation   o on m are randomly generated in the range of [10, 100]. The set of machines M o capable of processing operation o is constructed by letting the machine be M o with probability ρ 2 .
As shown in Table 3, n j and n m of NI_01–NI_06 are both 5, and n o is randomly generated ranging from 1 to 10 ([1, 10]), while their probability ρ 2 is set as 0.2 and 0.8, respectively. Three replicates for each combination are generated, and six instances are obtained. In contrast, the probability ρ 2 of NI_07–NI_09 is all set to 0.8, and they differ in the values of n j , n m , and n o .
Under this configuration, we assume that the two different Φ m as 1 (odd)–2 (even) and 2 (odd)–4 (even) numbered machines have a capacity of 1 (2), or otherwise 2 (4); we refer to the capacity of the machine as 1–2 (2–4), engendering 20 sets of F_ instances and 9 sets of NI_ instances, which are named NI_01–NI_09. For simple expression, instances NI_01–NI_06 with n j × n o 50 are named medium-scale instances, and others are large-scale instances.
In Class 2, we generate the instances based on the sets of F_ and NI_ instances by randomly classifying the jobs into different job families, so that there are 152 instances in the two classes when considering different batch capacities and job families.
By applying the trial-and-error approach, the chosen parameters of NI_ instances are presented in Table 4, where n i is the number of job families. Parameter T P = max ( n o ), and the removal of the upper bound is randomly selected as in [15,25]. The scale and the number of job families of instances are represented by “scale” and n i , respectively. The parameter φ   = 0.3, I 1   = 50, I 2   = 5, the minimum number of removal operations M N R   = 4, A P   = 0.1, and the removed operation is input into the tabu list with a probability of ρ 1   = 0.5, and the number of iterations M I = 30,000.
All experiments were coded in the C program and run on an Intel Core i7–10700 processor of 3.80 GHz with 64 GB of memory running 64-bit Windows 10, and a 64-bit version of Gurobi 9.0.3 with an academic license. The 3-indexed MILP model was coded in Gurobi, and all experimental instances with the LNSIT and MILP model were solved within a one-hour time limit. The experimental instances can be downloaded via https://github.com/booksilence/FJSPBI–instances (accessed on 19 December 2022).

4.2. Numerical Results of Instances

4.2.1. Results of the Exact Algorithm

The 3-indexed model proposed in [29] cannot solve the instances when different operations of different jobs belong to a batch, and the number of operations for jobs are different, due to the precedence relationship between batches on the same machine. Therefore, the results of the 3-indexed (TI) model in this paper are compared with the 4-indexed (FI) model proposed in [28] for the FJSPBC instances, as shown in Table 5. We define R D F T S   = (FI − TI) /   TI   × 100%, where TI and FI represent the results obtained from the 3-indexed and the 4-indexed model-based methods, respectively. Terms B 1 S and B 2 S are the best solutions obtained by LNSIT and by LNST in 20 runs. Terms A 1 S and A 2 S are the average solutions obtained by LNSIT and by LNST in 20 runs, respectively. When the capacity of machine is 1–2, the values of R D F T S   of instances F_13, F_14, F_17, and F_18 are 7.86%, –7.33%, 17.90%, and 5.11%, respectively. When the capacity of machine is 2–4, the R D F T S   of instance F_17 is –6.78%.
It can be seen from Table 5 that the TI model-based method and the FI model-based method obtain the optimal solutions for 24 instances out of the 40 instances. In addition, there are three instances where the feasible solution obtained by the TI model-based method is better than those obtained by FI model-based method, and the maximum relative deviation R D F T S reaches 17.90% in instance F_17. The average computational times for the TI and FI model-based methods to obtain a feasible solution for the set of instances F_ are 169 s and 183 s, respectively. The comparison results are shown in Figure 4, which shows the advantage of TI model-based method over the FI model-based method in solution quality and computational burden.

4.2.2. Results of the Proposed Heuristic Framework

The performance of the proposed LNSIT is compared with the MILP-based methods, as presented for the FJSPBC in Table 5, which shows that LNSIT can efficiently solve all instances in a short time. Among all instances, 24 instances can be solved to optimality within one hour by the MILP-based methods, and the LNSIT can obtain the optimal solutions as well. For the other instances, LNSIT can obtain better solutions in a shorter time. The results of the LNSIT and the LNST for solving the instances with different capacities and job families are shown in Table 5. We can see that the LNSIT and the LNST both obtain 24 optimal and 40 feasible solutions for 40 instances, respectively. In order to have a deeper insight of the optimal insertion strategy on the performance of the LNSIT, medium- and large-scale instances in NI_ are solved with these two methods.
The LNSIT and the LNST can always reach the optimum for six instances in Table 6. For the best solutions, the LNSIT obtains better solutions for five instances, compared with those obtained by the LNST. In contrast, the LNST only obtains better solutions for two instances. Overall, the comparison results indicate that the average result of the instances solved by the LNSIT is slightly better than those solved by the LNST.
The standard deviations and the average computational times of the LNSIT and the LNST for all instances are shown in Figure 5 and Figure 6, respectively. The standard deviations in 20 out of 58 instances obtained by the LNSIT and the LNST are all zero. Figure 5 indicates the good stability of the two algorithms, and it can be seen from Figure 6 that the computational time of the LNSIT is much shorter than the LNST. Indeed, the average times of the LNSIT and the LNST for solving all instances are 56 s and 165 s, respectively. Overall, the results indicate that the LNSIT is better than the LNST in terms of solution quality and computational burden for most instances. This is mainly because the LNSIT only searches for parts of the available positions, which can find the optimal insertion position in one iteration, leading to an expedited solving process. The LNSIT has more significant advantages in the required computational time, which reflects the effectiveness of the optimal insertion strategy, especially for large-scale problems.
The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Table 7 shows the results obtained by the LNSIT and TI model-based method for 152 F_ and NI_ instances while considering the incompatibility of jobs. The blank in Table 7 represents that the number of jobs is less than the number of specified job families. The jobs in instances F_01–F_02 and F_03–F_09 can only be divided into two and three job families, respectively. Symbol “–” means that a feasible solution cannot be found within an hour. Job families are recorded as 2C, 3C, and 4C when jobs are divided into two, three, and four job families, respectively. As shown in Table 7, 75 out of the 152 instances have the same objective value achieved by the LNSIT and the TI model-based method, and 50 instances have been solved with optimal solutions. For feasible solutions obtained by the two methods, the LNSIT obtains better solutions for 13 instances, compared with those obtained by the TI model-based method. In contrast, the TI model-based method only obtains better solutions for six instances. All instances can still be solved with feasible solutions by the LNSIT in a relatively short time, while the TI model-based method cannot find feasible solutions for 58 instances.
Figure 7 and Figure 8 show that the average relative deviation of the two sets of instances R D T B 1 S   = (TI − B 1 S ) /   B 1 S × 100% by the TI model-based method and the LNSIT is 41.02%. These results suggest that the performance of the LNSIT is better than the TI model-based method for a FJSP with incompatible jobs.
Figure 9 and Figure 10 show the computational times of the two methods for solving instances with different numbers of job families. In general, the computational times of the two methods for small-scale instances are comparable. The results for medium- and large-scale instances indicate that the LNSIT can achieve better results than the TI model-based method within a shorter time.
Figure 11 and Figure 12 show the standard deviations of the results for all instances obtained by the LNSIT. The standard deviations in 75 out of 152 instances and in 152 instances are 0 and 4.24, respectively, which indicates that the LNSIT has much better stability.

4.2.3. Impacts of Batch Capacity and Incompatibility Rate

(i) Two methods for solving instances of different batch capacities
In Table 5, Table 6 and Table 7, there are 105 instances when the number of job families changes from one to four. The TI model reaches the optimum for 35 instances in both scenarios, and feasible solutions can be obtained for 70 and 69 instances when the batch capacity is 1–2 and 2–4, respectively. In Figure 13, the average computational times of the optimal solution obtained by the TI model-based method are 246.6 s and 73.4 s, respectively. Additionally, in these instances, the LNSIT reaches the optimal solutions for 35 instances in both scenarios, and the average computational times of these instances are 2.9 s and 3.4 s when the capacity is 1–2 and 2–4, respectively.
In Table 5, Table 6 and Table 7, when the batch capacity increases from 1–2 to 2–4, the objective values corresponding to the optimal solutions of 3 instances drop, while the values remain unchanged for 31 instances. This is because the number of jobs that can be processed in a batch may increase or remain unchanged when the batch capacity increases, and the completion time of the batch that determines the makespan may be earlier or unchanged. For instances that can be solved to optimality, the average computational time of the two methods decreases with an increase in the capacity. This is because when the capacity is 2–4, the solution is equivalent to the lower bound of the solution when the capacity is 1–2.
(ii) Two methods for solving instances with different incompatibility rates
In Table 5, Table 6 and Table 7, when the number of job families is one, two, three, and four, the percentage of the attested optimal solutions obtained by the TI model-based method for all instances is 41.4%, 39.7%, 37.0%, and 17.5%, respectively, and the corresponding percentages of the LNSIT are the same. It indicates that the proportion of optimal solutions solved by the two methods drops as the number of job families increases. The proportion of feasible solutions solved by the TI model-based method is 77.6%, 69.0%, 63.0%, and 50.0%, respectively. The percentages of feasible solutions obtained decrease with the increase in the number of job families. For both methods with two different batch capacities, the objective values corresponding to the optimal solutions of three instances drop as the number of job families rises, and the values remain unchanged for four instances. In Figure 13, the average computational times of the optimal solutions acquired by the TI model-based method are 100.7 s, 29.3 s, 200.1 s, and 356.7 s, respectively. Meanwhile, the average computational times of the optimal solutions obtained by the LNSIT are 1.8 s, 2.8 s, 3.5 s, and 6.6 s, respectively. Generally, the FJSPBI becomes more difficult to solve as the number of job families increases.

4.2.4. The Impact of Instance Scales

In Table 7, there are 18 instances in the three sets of medium-scale instances NI_04 –NI_06 and in the three sets of large-scale instances NI_07–NI_09, with three different batch capacities and two job families. The numerical results show that the LNSIT can reach the optimum for 12 out of 18 instances, which are attested by the TI model-based method. For the other instances that cannot be solved by the TI model-based method within the time limit, the LNSIT can always achieve feasible solutions in a reasonable time. The average computational times of the optimal solution in NI_04 and NI_06 obtained by the TI model-based method and by the LNSIT are shown in Figure 14. A comparison of the computational times is presented in Figure 9 and Figure 10, which show that the average computational times of the two sets of instances NI_04 and NI_06 that can be optimally solved by the TI model-based method and the LNSIT are 311.5 s and 7.5 s, respectively. These results further confirm that the LNSIT is less affected by increased scales of instances, showing that the LNSIT is more advantageous for solving large-scale instances within a reasonable time.

4.2.5. Influence of Machine Processing Rate

In Table 7, there are 18 instances in the three sets of instances NI_02, NI_03, and NI_05 with n j / n m / n o = 5/5/10, considering different batch capacities and numbers of job families, and the probability ρ 2 that the machines can process each operation is 0.2, 0.2, and 0.8, respectively. Table 7 shows that the LNSIT obtains 18 feasible solutions in the three sets of instances which cannot be solved by the TI model-based method within the time limit. A comparison of the computational times of the TI model-based method and the LNSIT is presented in Figure 9 and Figure 10, which show that the average computational time of the LNSIT for those instances whose machine processing rate is 0.2 (two sets of instances NI_02 and NI_03) and 0.8 (set of instances NI_05) is 10.1 s and 47.0 s, respectively. The comparison results indicate that the computational time of the LNSIT increases with an increase in ρ 2 . It can be attributed to the fact that there are more capable machines, which increases the solution space.
The results indicate that the number of optimal and feasible solutions obtained by the two methods increases or remains with an increase in   ρ 2 . However, the computational time of the TI model-based method is unchanged because it cannot obtain feasible solutions for large-scale instances within the time limit.

5. Conclusions

This paper studied the flexible job-shop batch scheduling problem with incompatible jobs. A 3-indexed model is proposed to optimally solve the problem, and a perturbation-based LNSIT is embedded for solving large-scale FJSPBI problems effectively. The tabu-based worst removal operator is proposed to improve the performance of the algorithm and the optimal insertion-based deep greedy repair operator is incorporated to speed up the solving process. The perturbation mechanism diversifies the insertion positions. Numerous FJSPBC and FJSPBI instances were generated to test the proposed model and algorithm, and the results were compared with existing methods.
The results indicate that the 3-indexed model-based method can optimally solve small-scale instances of FJSPBC and FJSPBI in a short time, while it is difficult to obtain optimal or feasible solutions within an hour for medium- and large-scale instances. In contrast, the LNSIT can obtain high-quality solutions of different scales of instances in a reasonable time. The comparison between the LNSIT and the LNST indicates that the optimal insertion strategy proposed in this paper can greatly reduce computational time without damaging the overall solution quality. By analyzing the influence of problem characteristics on the efficiency of the algorithms, we can conclude that the numbers of optimal solutions obtained by the LNSIT and the TI model-based method increases with an increase in batch capacities. The number of optimal solutions decreases and the optimal objective value decreases or remains the same with an increase in the number of job families. For instance, when the optimal solution is obtained, the average computational times of the LNSIT and the TI model-based method decrease with an increase in instance scale. The efficacy of solving the FJSPBI by the two methods is mostly affected by the batch capacity, the incompatibility rate, and the instance scale. When other problem characteristics are the same, the LNSIT and the TI model-based method are mainly affected by the machine processing rate and the instance scale, respectively. In general, the standard deviation of the LNSIT is small, and its average computational times are much shorter than those of the TI model-based method. Therefore, the proposed LNSIT is more efficient in solving problems with a larger batch capacity, a larger scale of instances, and a higher machine processing rate.
In the future, strategies such as column generation can be designed to speed up the solving process of the exact algorithms. Different sizes of jobs and release times of jobs can be considered, and random programming and robust optimization models can be constructed to tackle uncertainties in the problem.

Author Contributions

Conceptualization, B.J. and S.Z.; Methodology, B.J. and S.Z.; Software, B.J.; Validation, B.J., S.Z. and B.Z.; Formal analysis, B.J. and B.Z.; Investigation, B.J. and S.Z.; Resources, B.J.; Data curation, B.J. and S.Z.; Writing—original draft, B.J. and S.Z.; Writing—review and editing, B.J., S.S.Y. and B.Z.; Visualization, S.Z.; Supervision, B.J. and S.S.Y.; Project administration, B.J.; Funding acquisition, B.J. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Hubei Provincial Key Laboratory for Operation and Control of Cascaded Hydropower Station, grant number 2022KJX02; the Central South University, grant number 202045007; and the National Natural Science Foundation of China, grant number 62003091.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Full instances can be downloaded via https://github.com/booksilence/FJSPBI–instances (accessed on 19 December 2022).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Raaymakers, W.H.M.; Hoogeveen, J.A. Scheduling multipurpose batch process industries with no–wait restrictions by simulated annealing. Eur. J. Oper. Res. 2000, 126, 131–151. [Google Scholar] [CrossRef]
  2. Joo, B.J.; Shim, S.-O.; Chua, T.J.; Cai, T.X. Multi-level job scheduling under processing time uncertainty. Comput. Ind. Eng. 2018, 120, 480–487. [Google Scholar] [CrossRef]
  3. Zhang, J.; Ding, G.; Zou, Y.; Qin, S.; Fu, J. Review of job shop scheduling research and its new perspectives under Industry 4.0. J. Intell. Manuf. 2017, 30, 1809–1830. [Google Scholar] [CrossRef]
  4. Carlier, J.; Pinson, E. An Algorithm for Solving the Job-Shop Problem. Manag. Sci. 1989, 35, 164–176. [Google Scholar] [CrossRef]
  5. Fisher, H.; Thompson, G.L. Probabilistic learning combinations of local job-shop scheduling rules. In Industrial Scheduling, 1st ed.; Muth, J.F., Thompson, G.L., Eds.; Prentice-Hall: Englewood Cliffs, NJ, USA, 1963; pp. 225–251. [Google Scholar]
  6. Lawrence, S. Resouce constrained project scheduling: An experimental investigation of heuristic scheduling techniques. In Supplement to Resource Constrained Project Scheduling; Carnegie Mellon University, GSIA: Pittsburgh, PA, USA, 1984. [Google Scholar]
  7. AitZai, A.; Benmedjdoub, B.; Boudhar, M. Branch–and–bound and PSO algorithms for no–wait job shop scheduling. J. Intell. Manuf. 2016, 27, 679–688. [Google Scholar] [CrossRef]
  8. Ozolins, A. Bounded dynamic programming algorithm for the job shop problem with sequence dependent setup times. Oper. Res. 2020, 20, 1701–1728. [Google Scholar] [CrossRef]
  9. Baptiste, P.; Flamini, M.; Sourd, F. Lagrangian bounds for just–in–time job–shop scheduling. Comput. Oper. Res. 2008, 35, 906–915. [Google Scholar] [CrossRef] [Green Version]
  10. Kurdi, M. An effective new island model genetic algorithm for job shop scheduling problem. Comput. Oper. Res. 2016, 67, 132–142. [Google Scholar] [CrossRef]
  11. Eshim, S.E.; Hamed, M.M. Extended Hybrid Genetic Algorithm for Solving Job Shop Scheduling Problem. Int. J. Sci. Eng. Appl. 2021, 10, 017–020. [Google Scholar] [CrossRef]
  12. Peng, B.; Lü, Z.; Cheng, T. A tabu search/path relinking algorithm to solve the job shop scheduling problem. Comput. Oper. Res. 2015, 53, 154–164. [Google Scholar] [CrossRef]
  13. Vela, C.R.; Afsar, S.; Palacios, J.J.; González-Rodríguez, I.; Puente, J. Evolutionary tabu search for flexible due-date satisfaction in fuzzy job shop scheduling. Comput. Oper. Res. 2020, 119, 104931. [Google Scholar] [CrossRef]
  14. Huang, R.-H.; Yu, T.-H. An effective ant colony optimization algorithm for multi-objective job-shop scheduling with equal-size lot-splitting. Appl. Soft Comput. 2017, 57, 642–656. [Google Scholar] [CrossRef]
  15. Vinoski, J. New Research Shows Consumers Already Expect Mass Personalization. Time to Get Ready! Available online: https://www.forbes.com/sites/jimvinoski/2020/01/20/new–research–shows–consumers–already–expect–mass–personalization–time–to–get–ready/?sh=6c77e8f5223e (accessed on 20 January 2020).
  16. Brandimarte, P. Routing and scheduling in a flexible job shop by tabu search. Ann. Oper. Res. 1993, 41, 157–183. [Google Scholar] [CrossRef]
  17. Mastrolilli, M.; Gambardella L, M. Effective neighbourhood functions for the flexible job shop problem. J. Sched. 2000, 3, 3–20. [Google Scholar] [CrossRef]
  18. Song, H.; Liu, P. A Study on the Optimal Flexible Job-Shop Scheduling with Sequence-Dependent Setup Time Based on a Hybrid Algorithm of Improved Quantum Cat Swarm Optimization. Sustainability 2022, 14, 9547. [Google Scholar] [CrossRef]
  19. Zhang, S.; Hou, T.; Qu, Q.; Glowacz, A.; Alqhtani, S.M.; Irfan, M.; Królczyk, G.; Li, Z. An Improved Mayfly Method to Solve Distributed Flexible Job Shop Scheduling Problem under Dual Resource Constraints. Sustainability 2022, 14, 12120. [Google Scholar] [CrossRef]
  20. Fernandes, J.M.R.C.; Homayouni, S.M.; Fontes, D.B.M.M. Energy-Efficient Scheduling in Job Shop Manufacturing Systems: A Literature Review. Sustainability 2022, 14, 6264. [Google Scholar] [CrossRef]
  21. Fowler, J.W.; Mönch, L. A survey of scheduling with parallel batch (p-batch) processing. Eur. J. Oper. Res. 2021, 298, 1–24. [Google Scholar] [CrossRef]
  22. Damodaran, P.; Vélez-Gallego, M.C. A simulated annealing algorithm to minimize makespan of parallel batch processing machines with unequal job ready times. Expert Syst. Appl. 2012, 39, 1451–1458. [Google Scholar] [CrossRef]
  23. Muter, I. Exact algorithms to minimize makespan on single and parallel batch processing machines. Eur. J. Oper. Res. 2020, 285, 470–483. [Google Scholar] [CrossRef]
  24. Chang, P.-Y.; Melouk, S. Minimizing makespan on parallel batch processing machines. Int. J. Prod. Res. 2004, 42, 4211–4220. [Google Scholar] [CrossRef]
  25. Jia, Z.-H.; Leung, J.Y.-T. A meta-heuristic to minimize makespan for parallel batch machines with arbitrary job sizes. Eur. J. Oper. Res. 2015, 240, 649–665. [Google Scholar] [CrossRef]
  26. Jia, Z.-H.; Zhang, H.; Long, W.-T.; Leung, J.Y.-T.; Li, K.; Li, W. A meta-heuristic for minimizing total weighted flow time on parallel batch machines. Comput. Ind. Eng. 2018, 125, 298–308. [Google Scholar] [CrossRef]
  27. Shahvari, O.; Logendran, R. An Enhanced tabu search algorithm to minimize a bi-criteria objective in batching and scheduling problems on unrelated-parallel machines with desired lower bounds on batch sizes. Comput. Oper. Res. 2017, 77, 154–176. [Google Scholar] [CrossRef]
  28. Ham, A. Flexible job shop scheduling problem for parallel batch processing machine with compatible job families. Appl. Math. Model. 2017, 45, 551–562. [Google Scholar] [CrossRef]
  29. Ham, A.M.; Cakici, E. Flexible job shop scheduling problem with parallel batch processing machines: MIP and CP approaches. Comput. Ind. Eng. 2016, 102, 160–165. [Google Scholar] [CrossRef]
  30. Jia, Z.-H.; Wang, C.; Leung, J.Y.-T. An ACO algorithm for makespan minimization in parallel batch machines with non-identical job sizes and incompatible job families. Appl. Soft Comput. 2016, 38, 395–404. [Google Scholar] [CrossRef]
  31. Li, X.; Li, Y.; Huang, Y. Heuristics and lower bound for minimizing maximum lateness on a batch processing machine with incompatible job families. Comput. Oper. Res. 2019, 106, 91–101. [Google Scholar] [CrossRef]
  32. Gahm, C.; Wahl, S.; Tuma, A. Scheduling parallel serial-batch processing machines with incompatible job families, sequence-dependent setup times and arbitrary sizes. Int. J. Prod. Res. 2022, 60, 5131–5154. [Google Scholar] [CrossRef]
  33. Wu, Y.; Weise, T.; Chiong, R. Local search for the traveling salesman problem: A comparative study. In Proceedings of the 2015 IEEE 14th International Conference on Cognitive Informatics & Cognitive Computing (ICCI* CC), Beijing, China, 14 July 2015; pp. 213–220. [Google Scholar] [CrossRef]
  34. Tang, M.; Ji, B.; Fang, X.; Yu, S.S. Discretization-Strategy-Based Solution for Berth Allocation and Quay Crane Assignment Problem. J. Mar. Sci. Eng. 2022, 10, 495. [Google Scholar] [CrossRef]
  35. Ji, B.; Yuan, X.; Yuan, Y.; Lei, X.; Iu, H.H.C. An Adaptive Large Neighborhood Search for Solving Generalized Lock Scheduling Problem: Comparative Study With Exact Methods. IEEE Trans. Intell. Transp. Syst. 2019, 21, 3344–3356. [Google Scholar] [CrossRef]
  36. Shaw, P. A new local search algorithm providing high quality solutions to vehicle routing problems. In APES Group, Dept of Computer Science; University of Strathclyde: Glasgow, UK, 1997; p. 46. [Google Scholar]
  37. Schambers, A.; Eavis-O’Quinn, M.; Roberge, V.; Tarbouchi, M. Route planning for electric vehicle efficiency using the Bellman–Ford algorithm on an embedded GPU. In Proceedings of the 2018 4th International Conference on Optimization and Applications, Mohammedia, Morocco, 26–27 April; 2018; pp. 1–6. [Google Scholar]
  38. Ayob, M.; Kendall, G. A monte carlo hyper–heuristic to optimise component placement sequencing for multi head placement machine. In Proceedings of the international conference on intelligent technologies, Chiang Mai, Thailand, 12–15 October 2003. [Google Scholar]
  39. Ropke, S.; Pisinger, D. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transp. Sci. 2006, 40, 455–472. [Google Scholar] [CrossRef] [Green Version]
  40. van Laarhoven, P.J.M.; Aarts, E.H.L.; Lenstra, J.K. Job Shop Scheduling by Simulated Annealing. Oper. Res. 1992, 40, 113–125. [Google Scholar] [CrossRef] [Green Version]
  41. Fattahi, P.; Mehrabad, M.S.; Jolai, F. Mathematical modeling and heuristic approaches to flexible job shop scheduling problems. J. Intell. Manuf. 2007, 18, 331–342. [Google Scholar] [CrossRef]
  42. Dauzère-Pérès, S.; Paulli, J. An integrated approach for modeling and solving the general multiprocessor job-shop scheduling problem using tabu search. Ann. Oper. Res. 1997, 70, 281–306. [Google Scholar] [CrossRef]
Figure 1. (a) A feasible solution of FJSPBI and (b) an infeasible solution of FJSPBI.
Figure 1. (a) A feasible solution of FJSPBI and (b) an infeasible solution of FJSPBI.
Sustainability 15 01954 g001
Figure 2. An illustrative numerical example to describe the solution approach. (a) shows the processing time of operations. In (b), J 222 p 21 and J 112 p 64 are processed in the same batch, and the batch is removed, as shown in (c). Then, J 222 p 21 and J 112 p 64 are reinserted as shown in (d).
Figure 2. An illustrative numerical example to describe the solution approach. (a) shows the processing time of operations. In (b), J 222 p 21 and J 112 p 64 are processed in the same batch, and the batch is removed, as shown in (c). Then, J 222 p 21 and J 112 p 64 are reinserted as shown in (d).
Sustainability 15 01954 g002
Figure 3. An illustration of a 3/3/3 FJSPBI graph.
Figure 3. An illustration of a 3/3/3 FJSPBI graph.
Sustainability 15 01954 g003
Figure 4. Computational times for the set of instances F_ using the FI and TI model-based methods with batch capacities of (a) 1–2 and (b) 2–4. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) denotes the number of machines ( n m ) in the set of F_ instance’s configuration.
Figure 4. Computational times for the set of instances F_ using the FI and TI model-based methods with batch capacities of (a) 1–2 and (b) 2–4. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) denotes the number of machines ( n m ) in the set of F_ instance’s configuration.
Sustainability 15 01954 g004
Figure 5. Standard deviations of the instances solved by the heuristics with two types of batch capacities. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Figure 5. Standard deviations of the instances solved by the heuristics with two types of batch capacities. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Sustainability 15 01954 g005
Figure 6. Computational times of the instances solved by the heuristics with two types of batch capacities.
Figure 6. Computational times of the instances solved by the heuristics with two types of batch capacities.
Sustainability 15 01954 g006
Figure 7. Relative deviations of the average solutions obtained by the TI model-based method and the LNSIT for two sets of instances F_ and NI_ when the batch capacity is 1–2. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Figure 7. Relative deviations of the average solutions obtained by the TI model-based method and the LNSIT for two sets of instances F_ and NI_ when the batch capacity is 1–2. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Sustainability 15 01954 g007
Figure 8. Relative deviations of the average solutions obtained by the TI model-based method and the LNSIT for two sets of instances F_ and NI_ when the batch capacity is 2–4. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Figure 8. Relative deviations of the average solutions obtained by the TI model-based method and the LNSIT for two sets of instances F_ and NI_ when the batch capacity is 2–4. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Sustainability 15 01954 g008
Figure 9. Average computational times of the two methods for solving the two sets of instances F_ and NI_ with incompatible jobs when the batch capacity is 1–2. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Figure 9. Average computational times of the two methods for solving the two sets of instances F_ and NI_ with incompatible jobs when the batch capacity is 1–2. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Sustainability 15 01954 g009
Figure 10. Average computational times of the two methods for solving the two sets of instances F_ and NI_ with incompatible jobs when the batch capacity is 2–4. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Figure 10. Average computational times of the two methods for solving the two sets of instances F_ and NI_ with incompatible jobs when the batch capacity is 2–4. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Sustainability 15 01954 g010
Figure 11. Standard deviations of the solutions obtained by the LNSIT for solving the two sets of instances F_ and NI_ with incompatible jobs when the batch capacity is 1–2. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the numbers of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Figure 11. Standard deviations of the solutions obtained by the LNSIT for solving the two sets of instances F_ and NI_ with incompatible jobs when the batch capacity is 1–2. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the numbers of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Sustainability 15 01954 g011
Figure 12. Standard deviations of the solutions obtained by the LNSIT for solving the two sets of instances F_ and NI_ with incompatible jobs when the batch capacity is 2–4. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Figure 12. Standard deviations of the solutions obtained by the LNSIT for solving the two sets of instances F_ and NI_ with incompatible jobs when the batch capacity is 2–4. The numbers on the x-axis denote the scale of n j × n o , while F_ ( n m ) and NI_ ( n m ) denote the number of machines ( n m ) in the set of F_ instance’s and the set of NI_ instance’s configurations, respectively.
Sustainability 15 01954 g012
Figure 13. Average computational times of the optimal solutions in all instances obtained by the TI model-based method and by the LNSIT with different batch capacities and different numbers of job families.
Figure 13. Average computational times of the optimal solutions in all instances obtained by the TI model-based method and by the LNSIT with different batch capacities and different numbers of job families.
Sustainability 15 01954 g013
Figure 14. Average computational times of the optimal solutions in NI_04 and NI_06 using the TI model-based method and by the LNSIT with different numbers of job families when the batch capacity is (a) 1–2 and (b) 2–4. The numbers on the x-axis denote the scale of n j × n o , while NI_ ( n m ) denotes the number of machines ( n m ) in the set of NI_ instance’s configuration.
Figure 14. Average computational times of the optimal solutions in NI_04 and NI_06 using the TI model-based method and by the LNSIT with different numbers of job families when the batch capacity is (a) 1–2 and (b) 2–4. The numbers on the x-axis denote the scale of n j × n o , while NI_ ( n m ) denotes the number of machines ( n m ) in the set of NI_ instance’s configuration.
Sustainability 15 01954 g014
Table 1. The meaning of sets, parameters and variables.
Table 1. The meaning of sets, parameters and variables.
Sets and ParametersMeaning
J:Set of jobs.
O:Set of operations.
Oj:Set of operations of job j.
I:Set of job families.
M:Set of machines.
Mjo:Set of machines capable of processing operation o of job j.
B:Set of batches. The number of batches is defined as the number of jobs multiplied by the number of operations.
pjom:Processing time of operation o of job j on machine m.
Φ m :Processing capacity of machine   m .
l :Max ( j J o O p j o m ,   m M ).
VariablesMeaning
X j o b :Binary variable, X j o b = 1 if operation o of job j is processed in batch b , and 0 otherwise.
Y b m :Binary variable, Y b m = 1 if batch b is processed on machine m , and 0 otherwise.
Z j i b :Binary variable, Z j i b = 1 if job j belonging to family i is processed in batch b , and 0 otherwise.
H j o :Start time of operation o of job j .
U j o :Completion time of operation o of job j .
S b :Start time of batch b .
C b :Completion time of batch b .
P b :Processing time of batch b .
C m a x :Makespan.
Table 2. Information of F_ instances.
Table 2. Information of F_ instances.
Instance n j n m n o Instance n j n m n o  
F_01222F_11536
F_02222F_12537
F_03322F_13637
F_04322F_14737
F_05322F_15737
F_06332F_16837
F_07335F_17847
F_08334F_18948
F_09333F_191148
F_10435F_20124 8
Table 3. Information of NI_ instances.
Table 3. Information of NI_ instances.
Instance n j n m n o ρ 2
NI_01–NI_0655[1, 10]0.2, 0.8
NI_0755[10, 15]0.8
NI_08105[5, 10]0.8
NI_091010[10, 15]0.8
Table 4. Parameters of LNSIT for NI_ Instances.
Table 4. Parameters of LNSIT for NI_ Instances.
Instance n i Scale ρ 2 Φ m
NI_012, 3, 45/5/90.21–2, 2–4
NI_022, 3, 45/5/100.21–2, 2–4
NI_032, 3, 45/5/100.21–2, 2–4
NI_042, 3, 45/5/90.81–2, 2–4
NI_052, 3, 45/5/100.81–2, 2–4
NI_062, 3, 45/5/60.81–2, 2–4
NI_072, 3, 45/5/150.81–2, 2–4
NI_082, 3, 410/5/100.81–2, 2–4
NI_092, 3, 410/10/150.81–2, 2–4
Table 5. Results of the FJSPBC solved by the MILP model-based methods and the two heuristics. The results in bold and “–” indicate that optimal solutions have been obtained and no feasible solutions have been obtained within the time limit, respectively. The results are italicized when R D F T S is not 0.
Table 5. Results of the FJSPBC solved by the MILP model-based methods and the two heuristics. The results in bold and “–” indicate that optimal solutions have been obtained and no feasible solutions have been obtained within the time limit, respectively. The results are italicized when R D F T S is not 0.
Instance
Φ m is 1 2
Φ m is 2 4
TI FI [28]
B 1 S
A 1 S
B 2 S
A 2 S
TIFI [28]
B 1 S
A 1 S
B 2 S
A 2 S
F_01666666666666666666666666
F_02107107107107107107107107107107107107
F_03208208208208208208208208208208208208
F_04272272272272272272272272272272272272
F_05100100100100100100100100100100100100
F_06320320320320320320310310310310310310
F_07397397397397397397397397397397397397
F_08216216216216216216216216216216216216
F_09210210210210210210210210210210210210
F_10516516516516516516486486486486486486
F_11410410410419410410403403403403403403
F_12410410410410410410396396396396396396
F_13420453420420420420397397397397397397
F_14546506503503503503496496496496496496
F_15488488488488488488426426426426426426
F_16614614614614614614614614614614614614
F_17827975789789789789914852764764764764
F_18841884787789784788764764764764764
F_19843865843849764764764764
F_20100510249941001944954944947
Table 6. Results of the instances solved by the heuristics with different batch capacities and job families. The results in bold and “–“ indicate that optimal solutions have been obtained and no feasible solution have been obtained within the time limit, respectively.
Table 6. Results of the instances solved by the heuristics with different batch capacities and job families. The results in bold and “–“ indicate that optimal solutions have been obtained and no feasible solution have been obtained within the time limit, respectively.
Instance Φ m   is   1 2 Φ m   is   2 4
TI A 1 S A 2 S B 1 S B 2 S TI A 1 S A 2 S B 1 S B 2 S
NI_01531531531531531510510510510510
NI_02714710685688625619618618
NI_03665559559559559582556556556556
NI_04285285285285285285285285285285
NI_05924317320310313783310310308308
NI_06218218218218218218218218218218
NI_07418417415413417415410411
NI_08539550523524491502476486
NI_09348346342339340341334334
Table 7. Solutions obtained by the LNSIT and the TI model-based method for both sets of instances F_ and NI_ with incompatible jobs (Instance denotes as Ins in Table 7). The results in bold and “–“ indicate that optimal solutions have been obtained and no feasible solution have been obtained within the time limit, respectively.
Table 7. Solutions obtained by the LNSIT and the TI model-based method for both sets of instances F_ and NI_ with incompatible jobs (Instance denotes as Ins in Table 7). The results in bold and “–“ indicate that optimal solutions have been obtained and no feasible solution have been obtained within the time limit, respectively.
InsScale2 Job Families3 Job Families4 Job Families
Φ m   is   1 2 Φ m   is   2 4 Φ m   is   1 2 Φ m   is   2 4 Φ m   is   1 2 Φ m   is   2 4
TI B 1 S TI B 1 S TI B 1 S TI B 1 S TI B 1 S TI B 1 S
F_012/2/266666666
F_022/2/2107107107107
F_033/2/2208208208208221221221221
F_043/2/2277277277277355355355355
F_053/2/2107107100100119119119119
F_063/2/3320320310310320320320320
F_073/5/3397397397397397397397397
F_083/4/3216216216216253253253253
F_093/3/3210210210210210210210210
F_104/5/3516516516516516516516516516516516516
F_115/6/3415425415415453460420420465465465465
F_125/7/3419419419419419419419419446446423423
F_136/7/3460460446454457457413420459466468459
F_147/7/3527527503503568527517503561554503527
F_157/7/3514514484484513513469469519514483473
F_168/7/3615614614614614614614614634614614614
F_178/7/4814808784936809789871809
F_189/8/4827799789834819827830
F_1911/8/49108229969911004986
F_2012/8/4110210201149107211711118
NI_015/5/9535531531531571531531531531531531
NI_025/5/10685660694650694694
NI_035/5/10559556559559559556
NI_045/5/9285285285285285285285285285285285285
NI_055/5/10310315317311313313
NI_065/5/6218218218218218218218218218218218218
NI_075/5/15414413413415415414
NI_0810/5/10519513542524543538
NI_0910/10/15340333341339339337
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Ji, B.; Zhang, S.; Yu, S.S.; Zhang, B. Mathematical Modeling and A Novel Heuristic Method for Flexible Job-Shop Batch Scheduling Problem with Incompatible Jobs. Sustainability 2023, 15, 1954. https://doi.org/10.3390/su15031954

AMA Style

Ji B, Zhang S, Yu SS, Zhang B. Mathematical Modeling and A Novel Heuristic Method for Flexible Job-Shop Batch Scheduling Problem with Incompatible Jobs. Sustainability. 2023; 15(3):1954. https://doi.org/10.3390/su15031954

Chicago/Turabian Style

Ji, Bin, Shujing Zhang, Samson S. Yu, and Binqiao Zhang. 2023. "Mathematical Modeling and A Novel Heuristic Method for Flexible Job-Shop Batch Scheduling Problem with Incompatible Jobs" Sustainability 15, no. 3: 1954. https://doi.org/10.3390/su15031954

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop