1. Introduction
This study is concerned with a manufacturing system, namely cyclic job shop with blocking conditions. The cyclic job-shop scheduling problem is an extension of the well-known job-shop scheduling problem (JSSP) [
1,
2]. The original JSSP involves scheduling jobs, each of which consist of a number of operations, and the objective is to minimise the length of the schedule, or the
makespan. Moreover, manufacturing systems often require schedules that are cyclic in nature and leading to additional complexities [
3,
4]. Cyclic or periodic scheduling produce schedules that are executed repeatedly in exactly the same manner on one or more machines [
5]. The objective functions mainly used in cyclic scheduling are minimising
cycle time,
work-in-process, and mixes of them. The cycle time is the time period between two successive occurrences of the same operations, and the work-in-process is the number of jobs processed at the same time. The aim of cyclic scheduling in this research is to find a schedule with the minimum cycle time (common in manufacturing systems) [
6]. Within the system, a set of jobs, known as the minimal part set (MPS) (For example, if the requirements are 1000 parts of type A, 3000 parts of type B and 2000 parts of type C, the MPS can be chosen as (A, B, B, B, C, C) and we repeat the production of the same MPS 1000 times.) is executed cyclically, in order to meet production requirements [
7,
8]. Referring to parts as jobs, for each MPS, the jobs go through the machines in exactly the same pattern, and each machine thereby processes the operations in an identical way in each cycle. An alternative view is that a single MPS is sent into a production line where exactly one MPS is completed and unloaded from it. The primary performance measure is the cycle time, or equivalently its reciprocal, the throughput rate, which measures how often the MPSs are produced in a fixed time interval. The JSSP itself is known to be among the most complex combinatorial optimisation problems [
9], and the cyclic variant considered in this study incorporates further complexity.
Moreover, in several manufacturing systems, there exist production processes where no intermediate buffers exist between machines due to technical requirements or process characteristics. In the context of the JSSP, this implies that a job that completes processing on a machine has to remain on the same machine until the next machine in sequence is available for processing. Since the job cannot leave the machine that it is executing on, it effectively blocks the machine by not allowing other parts to enter it. In the literature, this is referred to as a
blocking condition, which this study is also concerned with.
Figure 1 presents an example of a blocking condition where job 1 (processing time of 30 units) needs to be processed on machine 1 followed by machine 2. We see in
Figure 1a, if machine 2 is available to load and start executing job 1 when job 1 completes, then job 1 immediately moves to machine 2. Machine 1 is now available for other incoming jobs. However, if machine 2 is busy when job 1 is ready to move (
Figure 1b), then job 1 stays on machine 1 thereby blocking it until machine 2 becomes free. Hence, machine 1 is also blocked for the time period that job 1 stays on it.
There are several well-studied scheduling problems with blocking conditions, including the manufacturing of concrete blocks [
10], scheduling in the chemical industry [
11], scheduling in the iron and steel industry [
12], industrial waste and the manufacturing of metallic parts [
13], and train scheduling [
14].
A production line, structured as a job shop requires that: the operations of each job of the MPS are assigned to the machines in advance and the routing (order of processing) of each job passing through the machines, not necessarily the same for each job, is known and fixed. The aim of the cyclic JSSP is to find the processing order in which the operations are repetitively processed on each machine a very large number of times. A sequence of the jobs, together with the starting times of all the operations, is referred to as a cyclic or periodical schedule. A regular time interval in which all the operations are repeated is referred to as the period or cycle time.
There have been numerous studies on cyclic scheduling [
15,
16,
17,
18,
19,
20]. However, there are far fewer studies on scheduling cyclic shops with blocking [
21,
22]. Hanen [
2] developed a branch-and-bound approach to deal with a generalised version of the cyclic job shop by incorporating precedence constraints. This approach was used in the context of a computer pipeline. Song and Lee [
23] investigated a scheduling problem for cyclic job shops with blocking where each machine had an input buffer of finite capacity. They developed Petri net models for the cyclic job shops with blocking. Cavory et al. [
24] presented a general approach for solving the cyclic job-shop scheduling problem, based on the coupling of a genetic algorithm and a scheduler. This scheduler utilised a Petri net model of the linear precedence constraints between cyclic tasks. The goal of this genetic algorithm was to define an order of priority for jobs on the machines, to be used by the scheduler for solving resource conflicts. Brucker and Kampmeyer [
22] described a model for cyclic machine-scheduling problems with blocking. In that study, a tabu search algorithm solved the considered problem with different neighbourhood structures. Kechadi et al. [
25] proposed a recurrent neural network approach for the cyclic JSSP that attempted to find the optimum solution by minimising the energy state of the network. They also extended the recurrent neural network technique by coupling it with the Lagrangian relaxation method.
A more general cyclic JSSP with special restrictions has rarely been encountered in the literature. Nonetheless, a few studies have indeed investigated variants of this problem [
26,
27,
28,
29,
30]. The studies by Kampmeyer [
26] and Brucker and Kampmeyer [
27] presented a mixed linear integer program for variants of the cyclic JSSP. Following this, Brucker et al. [
28] made use of the same model to solve a problem in transportation. Brucker et al. [
29] studied the cyclic JSSP with blocking and transportation and proposed a branch-and-bound method to solve the problem.
The authors wish to point out that there have been a significant number of research reports on the scheduling of blocking job shops and flow shops. Furthermore, there are studies on these problems that take into account setup times and resources such as robotics and servers. However, this study examines the cyclic aspects of the scheduling problem in job shops. The literature review presents the previous studies in this area, indicating that there are not enough studies on cyclic job-shop scheduling. The following are a few studies on cyclic scheduling in order to clarify their differences from the problems investigated in this paper. Gultekin et al. [
31] considered cyclic scheduling, which involves processing a single part type on machines arranged in a flow-line arrangement. Their study focused on the cyclic scheduling of transportation operations. Then, Ghadiri Nejad et al. [
32] studied a real-life example of the same problem with intermediate buffers and proposed a hybrid genetic algorithm for solving it. Furthermore, Foumani et al. [
33] studied stochastic optimisation of two machine robotic cells processing a single type of part. Specifically, our study focuses on the cyclic job-shop scheduling problem, in which multiple jobs are processed on a set of machines in a different order.
The aim of our study was to bridge a gap in the literature, i.e., to investigate the line of research that concerns the cyclic JSSP with blocking and sequence-dependent setups. We propose a novel mathematical modelling approach for the cyclic job-shop scheduling. To the best of the authors’ knowledge, this is the first time in the literature that the proposed model schedules all the operations in a single cycle by breaking the operations that pass the cycle reference timeline. In addition, we conduct a detailed analysis of the effects of blocking conditions and the influence of anticipatory and nonanticipatory setups on the cycle times. The anticipatory setup can begin even if the job is not yet available to be processed but the machine that it is going to be processed on is idle, whereas the nonanticipatory setup can begin only if both job and machine are available.
The paper is organised as follows.
Section 2 presents the cyclic JSSP together with an illustrative example. The mathematical notation and a formulation for the base problem without sequence-dependent setup times are introduced in
Section 3.
Section 4 discusses the extension of the problem with setup times and also provides the relevant constraints for anticipatory and nonanticipatory setups. In
Section 5, we provide details of the experiments conducted and the ensuing results.
Section 6 concludes the paper and discusses possibilities of future work.
2. Blocking Cyclic Job Shop Scheduling
In this section, we define the blocking cyclic job shop scheduling problem with sequence-dependent setups. We first introduce the terminology and notation that will be used throughout the remainder of this paper. We then discuss alternative ways of defining blocking during setups. To illustrate the problem and the differences between the two setup constraints, we provide a detailed example.
The problem can be defined as follows. Let , where J is the total number of jobs in an MPS. Each job contains a set of operations where . For each job, the sequence of operations is given in advance. Moreover, each operation is assigned to a machine M where the set of machines are . The sequence specifies the machines that the operation of job will be processed on. Thereupon, denotes that the operation would be processed on machine . Moreover, the processing time of the operation of job is given by . Each job has at most one operation on each machine. Let be the set of jobs that have an operation on machine m and if for job j.
The assumptions are as follows:
Each machine has a set of operations to execute and can execute only one operation at a time.
The operations of a job are linked by precedence constraints.
Each job has its own unique path through the machines, independently of the other jobs.
Each operation is assigned to one particular dedicated machine and executed with no interruption and without pre-emption for a fixed processing time.
There are no buffers between machines, so jobs continue to occupy a machine after the end of an operation until the next machine is available.
One job of each type has to be completed per cycle. The objective is to minimise the cycle time. Until now, this has not considered the question of setup times.
2.1. Sequence-Dependent Setup Times
In the work by Panwalkar et al. [
34] on task scheduling, it was found that 75% of problems occurring in practice required at least one setup which was dependent on the order of the execution of tasks. Moreover, in 15% of the problems, setup times between all pairs of tasks were required. In many real-world situations, such as those in the chemical, printing, pharmaceutical, and automobile industries, there may be several types of setup operations. For instance, between jobs, there can be cleaning or the changing of tools, and when considering a pair of jobs, there is a strong dependence on the preceding job. In the context of job shops, this type of setup is usually modelled as a sequence-dependent setup between jobs on the same machine.
In the literature, job-shop problems usually consist of two types of sequence-dependent setup times [
35,
36]. These are anticipatory setup times (AS) and nonanticipatory setup times (NS). For the case of AS, the setup can begin even if the job is not yet available to be processed but the machine that it is going to be processed on is idle, whereas for NS, the setup can begin only if both job and machine are available.
Due to blocking conditions often seen in limited or zero-buffered systems, we consider both types of setups separately in this research. Thereupon, in the case of AS, the setup must be done before loading the job when the corresponding machine is idle. Moreover, in the case of NS, the setup must be done only if both job and machine are available, and the job has been loaded on the machine.
Figure 2 illustrates how anticipatory and nonanticipatory setups work with a small example.
Figure 3 shows the affect of setups on the CJSS with blocking conditions. Since there are no intermediate buffers between the machines, any job that completes an operation on a machine has to remain on the machine if the subsequent machine in its processing route is busy. However, if the subsequent machine is idle, the AS can commence on this machine before the job completes its operation on the current machine. The job can immediately move to the next machine after completing its operation. However, if the subsequent machine is busy and the job has completed its operation, the current machine gets blocked until the operation on that machine completes and also for AS.
Figure 3 shows the differences of AS and NS, where AS affect the schedule by causing blocking conditions and NS occupy the machine before starting processing an operation.
To the best of the authors’ knowledge, the cyclic job-shop scheduling problem considering blocking conditions and sequence-dependent setup times at the same time have not been previously investigated in the literature.
2.2. The Cyclic JSSP—An Example
We now provide a detailed example of the cyclic JSSP and work through a solution to the problem. We consider a test case, which consists of three machines and three jobs.
Table 1 provides a breakdown of the related data including the sequence of machines that a job must be performed on and the associated processing times.
Table 2 provides the sequence-dependent setup times between the jobs on each machine. For the purposes of comparing the AS and NS, we assume the
and
are equal.
Figure 4 provides an illustration of the optimal solution found for the example above without considering setups. The start time and departure time of all operations are detailed in the figure. In addition,
Figure 5 demonstrates the three consecutive cycles of the problem instance within which the cyclic job-shop production is presented. A single MPS enters the production line in each cycle and the arrows indicate the processing route of the jobs from the same MPS. It also presents the route for each job through the cyclic schedule, which is a mapping to the classic blocking job-shop scheduling problem.
In similar fashion to the previous example,
Figure 6 and
Figure 7 show an optimal solution and three consecutive cycles, respectively, for the blocking CJSS problem with sequence-dependent anticipatory setups. The start time and departure time of all operations and sequence-dependent anticipatory setups are marked in black and are mentioned in the figure. We see three cycles associated with the optimal solution in
Figure 7.
Again,
Figure 8 and
Figure 9 show examples of the optimal solution and three consecutive cycles, respectively, for the blocking CJSS problem with sequence-dependent nonanticipatory setups. The start time and departure time of all operations and required nonanticipatory sequence-dependent setup times are marked in black and are mentioned in the figure. We see three cycles associated with the optimal solution in
Figure 9.
5. Experimental Settings and Results
In the literature, there is no benchmark dataset specifically designed for the cyclic JSS problem. Cyclic production systems have minimal part sets, which makes the problem significantly different to classic JSS. This leads to two major differences. First, the objective of the classic JSS is minimising the makespan, compared to cycle time in cyclic JSS. While both objectives have similarities, the resulting (optimal) schedules can be substantially different. Second, in the cyclic problem, there is less variety among the products but higher volumes relative to classic job shops. This leads to the size of the minimal part sets in cyclic JSS being smaller than the number of jobs in classic JSS. Due to the above reasons, for this study, we designed a number of benchmark problem instances (see
Appendix A, which provides details of the algorithm for generating the instances) motivated by practical requirements and using typical characteristics seen in JSS.
The MIPs developed in this study were programmed in Python 3.6 and all experiments were conducted on MonARCH, the campus cluster at Monash University. Each run was given four cores and a limit of 10 GB memory. The MIP models were solved using Gurobi 9.0.1 (
http://www.gurobi.com/ (accessed on 30 August 2022)). Each run was given one hour of execution time.
Table 3 shows the results of the MIP models for the blocking CJSS problem without setups, with sequence-dependent anticipatory and nonanticipatory setups. There were 16 problem instances with different combinations of machines (
K) and jobs (
J), which were generated by the method described above. The results were split in three jobs: (1) cyclic job shop without sequence-dependent setups, (2) cyclic job shop with anticipatory sequence-dependent setups, and (3) cyclic job shop with nonanticipatory sequence-dependent setups. For each MIP, the details provided include the number of constraints (
#Cons), number of variables (
#Vars), the objective value of the best feasible solution (
BF), the lower bound (
LB), the gap between the upper and lower bounds
, and the total time taken. If no feasible solution was found, the corresponding
BF and
Gap columns have a dash (-).
First, we considered cyclic JSS on its own. We see that for problems with a small number of jobs (three) the optimal solution was always found, and the time required was often quite small (under 30 s) relative to the time limit. Additionally, for a small number of machines (9, 12) and four jobs, the optimal solutions could also be found. For a larger number of jobs (five), feasible solutions were found but often with large gaps. For problems with six jobs, no feasible solutions were found irrespective of the number of machines. Nonetheless, the MIP always found lower bounds (the quality of which could not be guaranteed).
Considering cyclic JSS with anticipatory setups, we see a similar pattern. However, in this case, the problems proved more difficult to solve with one more problem not being solved (18 machines and 5 jobs) compared to Cyclic JSS. Additionally, when solutions were found, if they were not optimal, the gaps were larger. This is not surprising, since the overhead of the anticipatory setup times makes the problem more complex.
Finally, considering cyclic JSS with nonanticipatory setups, we see that it became even harder (compared to cyclic JSS and cyclic JSS with AS) to find solutions within the allowed time limits. The nonanticipatory setup required a job moving between machines to immediately leave the machine that it was currently on, and this meant that the MIP model struggled more when attempting to find a feasible solution.
In order to further understand the impact of sequence-dependent setup times, we considered a constant setup time with the following two options: (a)
MIN: use the minimum set up time in a problem instance as the standard setup time between all jobs and (b)
MAX: use the maximum set up time in a problem instance as the standard setup time between all jobs. Furthermore, to account for random effects in the data, four different datasets were generated with the same problem sizes.
Table 4 shows the results of the comparisons with these changes for five different datasets for each problem size. The first three columns show replication (
Rep), machines (
K), and jobs (
J), and the following columns are split by the best feasible solution, lower bounds, and gaps. Within each, the results are split by the type of setup, i.e., no setups (
ZS), anticipatory, and nonanticipatory. For the case with setups, the results are further split by sequence-dependent setups (
SD), standard maximum setups (
MAX), and standard minimum setups (
MIN).
The results showed, as expected, that cycle times increased with increasing amounts of setup time. Furthermore, the MIP models for which setups were used led to more instances where solutions could not be found. For example, MAX compared to ZS clearly showed two instances where solutions were not found. Interestingly, MIN was able to find two solutions where no solution was found in the case of ZS.
The differences in cycle times in the systems with sequence-dependent and standard setups demonstrated the importance of considering the sequence-dependent setups in blocking cyclic job-shop systems. Moreover, the cycle times of problems with no setups and minimum nonanticipatory setups were very similar, whereas the minimum anticipatory setups were rather different. In previous sections, we discussed that anticipatory setups could cause blocking conditions on the machines.
Table 4 demonstrates that the cycle times were smaller in the systems with nonanticipatory setups comparing to the systems with anticipatory setups. These points present the importance of anticipatory setups in blocking job-shop systems.
Figure 12 presents the performance of the proposed MIP modelling approach for CJSS and demonstrates the
Gap for different size of test instances. The plots demonstrate that the proposed approach was able to solve all the instances with a small number of jobs (solved optimally or close to optimality) and show that it was an efficient approach for cyclic production systems with fewer product varieties. Moreover, the MIP approach could find solutions for the medium-size test instances with four jobs (considering all machine) and five jobs (with 9 and 12 machines) but struggled to prove optimality. For instances with a large number of jobs and machines, the MIP approach rarely found solutions (plots on the right of the figure). The plots for the instances with five jobs indicate that the complexity of CJSS problem with maximum anticipatory setup (
Amax) was higher compared to that of the CJSS problem with maximum nonanticipatory setup (
Nmax). Overall,
Figure 12 shows that the MIP approach could be used efficiently in production systems with a lower range of product varieties.
6. Conclusions
The cyclic job-shop scheduling problem was investigated in this paper. A novel mixed-integer programming model was proposed for the problem based on the characteristics of cyclic scheduling. Thereupon, the operations were scheduled within a single cycle. The occupying machines at the start time of the cycle had an important effect on solution quality due to the characteristics of the job-shop problem. Technological manufacturing cells, such as robotic cells, were attempted in order to eliminate or decrease the number of buffers. Thereupon, manufacturing systems without buffers were encountered in real situations. This study investigated the problem where the machines had no buffers that caused the blocking conditions, which rapidly decreased the number of feasible solutions and, therefore, made it a lot harder to find those feasible solutions.
Moreover, the sequence-dependent setups were considered in this research. There were two types of setups, anticipatory and nonanticipatory, which were included before and after loading the jobs on the machines, respectively. Thereupon, the anticipatory and nonanticipatory sequence-dependent setups were investigated in this research separately. The advantages of this study and the achievements can be outlined as follows:
Previous studies on modelling the cyclic job-shop scheduling problem were based on performing operations in iterative cycles, whereas the proposed model in this research scheduled all the operations within a single cycle.
Due to the scheduling within a single cycle, the proposed model could be simply extended to different resource constrained variants.
Two kinds of sequence-dependent setups were considered based on anticipatory and nonanticipatory concepts.
The nonanticipatory setups did not affect the blocking condition as the related job did not have to wait for the previous machine because of the related setup.
The anticipatory setups directly affected the blocking conditions, as any part might need to wait on the previous machine until the related setup was completed.
As future research, the proposed model could be applied to cyclic job-shop robotic cells. Moreover, this research could be extended to manufacturing systems with servers performing the setups.
The difficulty of solving these problems with MIP solvers observed in this paper indicate that further research on exact methods is required, perhaps based on decomposition methods, in order to solve large-scale cyclic job-shop scheduling problems. Moreover, the proposed model could be applied to cyclic job-shop scheduling problems in resource-constrained systems where robotic cells and servers perform the setups.