Abstract
In this work, we study the multiresource flexible job-shop scheduling problem (MRFJSSP), which relaxes the standard “simultaneous occupation” policy described in the literature. This policy implies that a job operation starts only when all its assigned necessary resources are available and releases them simultaneously. In contrast, our approach assumes that a job operation begins simultaneously across all assigned resources, although these resources may not be occupied for the same duration. This variant (which we will call “early resource release”) was first formally proposed in the scheduling literature more than twenty years ago, but to the best of our knowledge, it has not been empirically tested. Thus, to tackle this problem, we formulate a constraint programming (CP) model adopting a multi-mode resource-constrained project scheduling problem (MMRCPSP) representation. We tested our approach on 65 instances of the MRFJSSP where the precedence relationships between operations of a given job follow a linear order. We prove optimality in 44 instances with an average optimality gap of 9.37%. Additionally, we contributed eight new lower bounds for the same set of instances in the literature when considering the simultaneous occupation policy.
Keywords:
scheduling; job shop; flexible job-shop; multiresource; constraint programming; multi-mode resource-constrained project scheduling MSC:
68M20; 68W40; 90B35
1. Introduction
The job-shop scheduling problem (JSSP) has been one of the most widely studied problems in workshop scheduling research over the past decades. It is characterized by the need to sequence job tasks (operations) for completion using limited, renewable resources, such as machines or workers. In a JSSP environment, tasks must be performed in a given order and processed on a specific machine. The most common regular goal is to minimize the makespan (), that is, the total time required to complete a set of jobs or tasks from start to finish. The JSSP under makespan minimization can be represented as according to the well-known three-field notation introduced by [1].
A well-known extension of the JSSP is the flexible job-shop scheduling problem (FJSSP). Unlike a JSSP, in an FJSSP, each operation has a subset of machines on which it can be processed, adding an assignment layer to the scheduling problem. Indeed, as mass customization and automation advance, the FJSSP is no longer considered merely an extension of the JSSP but has emerged as a standalone shop-scheduling problem. In this context, various variants of the FJSSP have been introduced successively. We refer the reader to [2] for a comprehensive review of the literature related to the FJSSP in the last decades.
This paper focuses on a specific under-studied extension of the FJSSP that accounts for the use of multiple necessary resources, such as machines and human labor, for specific tasks. This problem, known as the multiresource flexible job-shop scheduling problem (MRFJSSP), frequently appears in practical applications. The potential applications of the MRFJSSP are broad and evident, in both manufacturing and the service industry, where alternative resources are available to process certain work operations and are additionally required simultaneously at the start of the operation. In this context, a common assumption for the MRFJSSP is that an operation starts simultaneously on all the resources assigned to it and that these resources are occupied for the same duration. This policy is referred to as “simultaneous occupation” by [3]. However, in practice, an operation may not finish simultaneously on all its assigned resources, as explicitly recognized more than 20 years ago by [4]. An illustrative example of this scenario can be found in an aircraft engine production line, where the assembly of certain subcomponents requires the concurrent use of multiple resources (both human and machine, such as skilled workers, tools, and cranes) that may differ in their operating rates and participation times. Additional potential applications of the MRFJSSP are presented in Section 2.
Thus, in this work, we propose an approach to handle the non-simultaneous use of resources for the first time. Here, even though we assume that a job operation starts simultaneously on all assigned resources, such resources are not necessarily occupied for the same time. That is, a resource that completes its task (often human) can be released early without waiting for the other resources assigned to the same operation to finish. A priori, this policy could improve the utilization of bottleneck resources, enhancing the overall efficiency of the production process. Hereafter, we refer to this variant as the MRFJSSP with early resource release.
To address this problem, we extend the constraint programming (CP) formulation of the multi-mode resource-constrained project scheduling problem (MMRCPSP) proposed in [5] for the FJSSP, incorporating the necessary constraints to execute the MRFJSSP with early resource release. This novel CP formulation for the MRFJSSP with early resource release incorporates dummy operations to model the problem’s multi-resource characteristics. Then, we test our approach using 65 available instances used in [3], in which the precedence relationships between operations of a given job follow a linear order. Finally, we compare our results with those reported in [3] and with our own implementation of the MRFJSSP using the simultaneous occupation scheme. In this way, our objective is to gain insight into the impact of relaxing the simultaneous-occupation policy in favor of one that permits early resource release.
All in all, the scientific contributions of this article can be summarized as follows:
- We propose a CP formulation, based on the MMRCPSP, to address the MRFJSSP with early resource release, a variant that more accurately reflects most industrial applications.
- Using this approach, we derive eight new lower bounds for the MRFJSSP under the standard simultaneous resource occupancy assumption.
- We show that the proposed formulation can be adapted to the classical MRFJSSP with simultaneous occupation.
- Computational experiments for both variants demonstrate the competitiveness of our method with respect to the best bounds reported in the literature.
The remainder of the paper is structured as follows. Section 2 presents an in-depth study of the state-of-the-art extensions of multiple resource FJSSP, as well as the motivation underlying this research. Section 3 presents the problem definition, our CP formulation for the MRFJSSP with early resource release, an illustrative small-sized instance, and an extension of our proposed formulation to tackle the case of simultaneous occupation. The experimental setup, computational results, a sensitivity analysis of the results for different time limits, and some concluding remarks are provided in Section 4. Finally, conclusions and future work are presented in Section 5.
2. Literature Review
In the JSSP, we are given n jobs and m machines. Each job j consists of a set of operations , each performed on one of the m machines. The operations of a job j must be performed sequentially in a predefined order (a fixed route), and pre-emption is not allowed (an operation cannot be interrupted once started). The route that each job follows through the machines may differ.
In terms of complexity, ref. [6] demonstrated that the minimum-makespan scheduling problem for an m-machine JSSP is NP-complete for . In this context, the JSSP is recognized as one of the most challenging combinatorial problems and has been the subject of research for decades. Despite this, many classical instances remain open, meaning that their optimality has not yet been proven (see [7]).
A highly relevant extension to the classical JSSP is the FJSSP, which allows an operation to be assigned to different resources. This problem has been studied since the last century, with pioneering works including [8,9]. This extension introduces flexibility into the predefined route, allowing each operation to be processed on any machine within a subset of the available resources, thereby expanding the allocation possibilities. Extensions of the FJSP are critical in several real-world applications. In [10,11], the Dynamic Flexible Job-Shop Scheduling Problem (DFJSP) is presented in relevant scenarios nowadays. Ref. [10] studies its application to a dynamic scheduling problem in a job shop robotic cell. In their study, Fatemi-Anaraki et al. consider that multiple robotic arms are responsible for material handling. Intermediate buffers are positioned between pairs of consecutive robots. The dynamic nature arises from the arrival of new jobs at unpredictable times, necessitating the rescheduling of the current state. Ref. [11] presents a genetic algorithm coupled with simulated annealing and variable neighborhood search to address dynamic scenarios involving single-machine breakdowns, single-job arrivals, multiple-machine breakdowns, and multiple-job arrivals. We encourage the reader to consult [2] for a comprehensive survey of the FJSSP and their variants.
Over the past decades, various models and extensions of the JSSP and FJSSP have been applied across industrial sectors where efficient resource management is critical. We have focused our analysis on variants that implement simultaneous occupation but could also incorporate an early resource release policy. In this regard, we have mainly considered applications related to the Multi-Resource Flexible and the Dual-Resource Constrained Flexible extensions. In these variants, each operation may require a set of resources. In most industrial settings, some of these resources can be released early, potentially enabling more efficient solutions. We have also identified industrial applications of these variants.
In this context, the MRFJSSP was first introduced in [12]. The authors considered three extensions: (1) a resource may be selected from a given set, (2) a nonlinear (a job operation may have more than one predecessor or more than one successor) routing of operations, and (3) operations may need several resources at the same time to be performed (multiresource). The authors introduce a new version of the problem, extend the disjunctive graph representation, and propose a tabu search approach that uses a well-defined exploration neighborhood. Simultaneous occupancy policy is implemented here.
In [13], the authors propose the Multiresource Shop Scheduling with Resource Flexibility and Blocking (MRSSRFB). In their extension, operations can be performed in different modes and require different sets of resources depending on the selected mode. Moreover, blocking constraints require holding resources used for an operation until resources needed for the next operation of the same job are available. An explicit simultaneous occupation extension is defined in this version of the problem. A shortest-path approach and a greedy heuristic are employed to schedule sets of jobs, which are then optimized using a tabu search algorithm to solve instances with up to 20 jobs and 10 machines. Applications of this problem extension can be found in shipbuilding manufacturing [14], systems that require highly coordinated manufacturing, food canning operations, and several metal processing production lines [15].
Dual-resource constraints have also been extensively studied in the literature [16]. In these extensions, two resources are required for operations: machines and workers. The Dual-Resource Constrained Flexible Job Shop Problem (DRCFJSP) was first proposed in [17]. Since its introduction, most of their approaches have considered machine and worker flexibility. In these studies, each machine must be operated by a specific worker, selected from the pool. The processing time for each operation performed by a worker on a machine is fixed according to the operation time [16]. In these studies, decisions are related to workers operating tasks in machines, but not the time workers are effectively required [18].
There are interesting applications of these DRCFJSP that involve specific considerations regarding resource-occupancy time requirements. For example, in [19], the authors propose planning medical exams that account for the assignment of material and human resources across different locations, considering a given horizon. In this case, transportation times for human resources are considered, but they should still be available throughout the entire exam.
In [20], the Multi-resource Partial-Ordering Flexible Job-shop Scheduling problem (MRPOFJSP) was introduced. In this extension, the partially ordered features imply that some operations of a job can be executed in any order. This scenario could be considered for the natural incorporation of early release occupancy protocols.
More recently, in [21], the FJSSP with arbitrary precedence graphs was studied. A mixed-integer linear programming (MILP) model, a CP model, and an evolutionary algorithm (EA) are proposed to solve large-scale problems. Moreover, in [3], the MRFJSSP with arbitrary precedence graphs was studied. A MILP model and a CP model are formulated and used for computational experiments. Again, the decisions in their formulation concern the allocation of resources to operations. Different resource release times are not accounted for. In [22], authors propose the MRFJSSP with Partially Necessary Resources (MRFJSSPwPNR) that explicitly divides operations into sub-operations according to the resources they require. The approach is though for industrial environments where sub-operations such as setup, processing, and cleanup can be clearly separated. These sub-operations are considered different explicit sequential operations.
In [5], a CP model is developed for the Multi-Mode Resource-Constrained Project Scheduling Problem (MMRCPSP), allowing the resolution of the FJSSP under the makespan minimization criterion for both linear and non-linear routes.
Table 1 summarizes the main extensions considered in the literature. We list some relevant references for each variant, the problem acronym, the solution approaches, the objective optimized, the multi-resource treatment, and the policy implemented. First, with respect to the Multi-resource treatment, in the MRFJSSP proposal, it is assumed that all resources are utilized throughout the entire operation time. In [12,23], the general formulation is solved, while ref. [24] considers tri-resource constraints of fixture-pallet-machine, and ref. [25] studies scenarios with reconfigurable machine tools assisted by auxiliary modules. In all studies, the simultaneous occupancy is assumed. In the DRCFJSP versions, it is explicitly indicated that the time workers are required to be in machines corresponds to the operation times, i.e., considering simultaneity. In [26] different workers using machines can be considered, while ref. [27] explicitly considers workers boredom to schedule their labors and ref. [28] consider workers experience. In the MRSSRFB, there is explicit resource blocking that implies longer occupation times. In this case, extended simultaneous occupancy is applied. In the MRPOFJSP, again, it is assumed that all resources are utilized for the full operating time; however, early resource release could have a greater impact, given the flexibility of task orders. Only simultaneous occupation has been considered. Lastly, in the MRFJSSPwPNR, operations are divided into subtasks to more precisely estimate occupation times. However, these subtasks are still treated under a simultaneous-occupation policy.
Table 1.
Multi-resource and time occupation policy summary. MRFJSSP: Multiresource flexible job-shop scheduling problem, MRSSRFB: Multiresource shop scheduling with resource flexibility and blocking, DRCFJSP: Dual-resource constrained flexible job shop problem, MRPOFJSP: Multi-resource partial-ordering flexible job-shop scheduling problem, MRFJSSPwPNR: MRFJSSP with partially necessary resources. SO: Simultaneous occupation, E-SO: Explicit simultaneous occupation.
Research Motivation
As previously established, under the simultaneous occupation policy, the MRFJSSP assumes that an operation begins when all assigned necessary resources are available and then releases them simultaneously. This means that the processing time of an operation equals the longest processing time across all allocated resources. However, this is not always the practice case, where a resource (often human) might be released and start another operation before the operation is complete [4]. This is especially evident when a resource that can be released early is a bottleneck.
Thus, the motivation for this research study stems from relaxing the common assumption of simultaneous occupation proposed in the literature for more than two decades, but, to the best of our knowledge, has not yet been empirically studied. In the following, we assume that a job operation starts simultaneously on all assigned resources, even though these resources may not be occupied for the same timeframe. Indeed, we firmly believe that this scenario is more common in productive environments than its counterpart, which assumes simultaneous resource occupation.
Finally, we decided to approach this problem using the CP paradigm, given the method’s competitiveness in tackling a wide range of scheduling problems (see [29]) and its ability to provide lower bounds that can serve as a basis for future research.
3. A CP Formulation for the MRFJSSP with Early Resource Release
We split this section into four parts. First, in Section 3.1, we formally define the MRFJSSP adopting the nomenclature of the MMRCPSP. Second, in Section 3.2, we adapt a CP formulation for the FJSSP from [5] to tackle the MRFJSSP with early resource release, incorporating new constraints. Third, in Section 3.3, we describe the procedure used to represent an MRFJSSP instance from [12] under the assumption of early resource release. For clarity, we illustrate our description with a small example. Finally, for benchmark purposes, in Section 3.4, we adapt the formulation of Section 3.2 to tackle the MRFJSSP under the simultaneous occupation policy.
3.1. Problem Definition
We now proceed to define the MRFJSSP with linear precedence constraints using the nomenclature of the well-known MMRCPSP. Here, we can omit the definition of the job set, as representing the problem’s characteristics in terms of operations or tasks is sufficient.
Thus, the MRFJSSP can be described as follows: Let be a set of the original tasks and be a set of renewable resources or machines. A renewable resource (a resource with limited capacity per unit of time that becomes available again after use) can only perform one operation at a time, and pre-emption is not allowed. Each task requires necessary resources to be performed. Then, for every , if , we add dummy tasks that are grouped into the set , so that corresponds to the total number of tasks (originals and dummies) that must be scheduled, that is . Dummy tasks are created to differentiate the use of resources for each task. The idea is that dummy tasks associated with each task begin processing simultaneously but can finish as soon as the need for the resource ends. For example, given an original task that involves the use of resources or machines. For this original task, dummy tasks will form the set and will be added to the set T to be scheduled by the model. Different times are associated with each of these resource utilization, even when they work together to perform a unique original task. The set of tasks T reflects the full set of tasks-resources and allows us to start all the use of resources at the same time, and also end tasks, and liberate resources as soon as they end.
Every task must be performed in exactly one necessary resource that belongs to one of the optional modes or available resources. The processing time of a scheduled task in mode m is . In an MRFJSSP with linear precedence constraints, each task has at most one (original task) predecessor and one (original task) successor. Finally, task and its associated must start processing simultaneously on all assigned resources, sharing the same set of predecessors and successors. However, we relax the assumption that these assigned resources are occupied for the same duration. This is what we refer to as early resource release.
It is worth noting that in the classical MRFJSSP definition, which assumes n jobs with o operations per job, the total number of tasks (operations), N, is . However, in the more general case where the number of operations per job varies, N is given by , where represents the number of operations in job j.
3.2. CP Formulation
Now we proceed to describe the elements of the proposed CP model. This model extends an MMRCPSP formulation previously proposed by [5] for the FJSSP. This extension is necessary because the new problem requires modeling its multi-resource characteristics and enforcing the simultaneous start of the resources selected to perform a given task. Next, the nomenclature of the IBM ILOG CP Optimizer is used.
- Indices, Sets and Parameters:
- t: Index for tasks (operations);
- r: Index for renewable resources (machines);
- N: Number of original tasks;
- : Number of tasks (originals + dummies);
- : Number of renewable resources;
- : Set of originals tasks ;
- T: Set of tasks ;
- : Set of dummy tasks associated with task t;
- R: Set of renewable resources ;
- : Availability of the resource .
- Tuples:
- : A tuple with the following fields: {id: identifier of the task, succs: set of immediately successors of the task};
- : A tuple with the following fields: {taskId: identifier of the task, id: identifier to determine the mode type, pt: processing time for the mode, : number of resources that belong to the set R used per time period during the execution of the mode}.
- Tuplesets:
- : A tupleset that stores instances of the Task tuple;
- : A tupleset that stores instances of the Mode tuple.
- Decision Variables:
- : Interval variable between the start and the end of the Tasks t;
- : An optional interval variable of size if is performed under .
- Cumul function expression:
A cumul expression is a built-in function available in the Optimization Programming Language (OPL), part of the IBM ILOG CPLEX software package, that can be used to model and track cumulative resource consumption. This feature is handy in the context of the MRFJSSP, as it prevents overlapping tasks on a resource, since each machine can process only one task at a time. Thus, we define the following function:
where tracks the cumulative consumption over time of the resource through the sum of individual contributions of the optional interval variables .
- Constraint Programming formulation:
The objective function in Equation (1) is used to minimize the makespan , which is calculated by the expression endOf() that corresponds to the task that finishes last. Constraints in Equation (2) guarantee that renewable resource availability is respected. In the context of the MRFJSSP, this ensures that each renewable resource (machine) does not perform multiple tasks simultaneously (or equivalently, there is only one machine of each type r, that is, .). Constraints in Equation (3) ensure that each task is executed in exactly one mode. Equations (4) impose the precedence relationships between operations (route conditions). Finally, the constraints in Equation (5) ensure that every dummy task must start at the same time as its associated original task.
3.3. Instance Representation
In the following, we illustrate our procedure for building an instance data-file for the CP formulation proposed in Section 3.2. Specifically, we use the MRFJSSP instance named from [12], which considers linear precedence constraints. This instance consists of jobs, resources, and operations (original tasks) per job. For brevity, we focus our example only on the ten tasks belonging to Job 1 (see Figure 1).
Figure 1.
A graphical representation of the precedence constraints for the operations of Job 1 in instance with early resource release. Nodes with a subscript greater than or equal to 101 highlighted in light blue (e.g., and ) represent dummy activities added to model early resource release. The number in parentheses within each node represents the number of modes in which the activity can be executed.
As established in Section 3.1 and Section 3.2, to model the MRFJSSP with early resource release, we turn to dummy operations. In this context, the first operation of Job 1 () requires two resources (). Therefore, we split it into two tasks (it is worth noting that when (for example, in Figure 1), , and consequently, no dummy tasks are required for these operations.): (the original task) and (a dummy task) so that . Note that we start listing the subscript of dummy tasks from because, in the benchmark dataset, each job has the same number of operations. Additionally, and must start simultaneously, that is, . In other words, the distance between the start of interval variable and the start of interval variable must be equal to zero. Lastly, and share the same set of predecessors (none, as they are the first operations of Job 1) and successors ( and ).
Next, the must be performed by one of 8 possible resources () while must be performed by one of 5 possible resources () (the characteristic of resource flexibility in the problem, that is, ). Specifically, for exactly one machine must be selected from the following set as the first resource: with the subsequent processing times (sorted in the same order as the machines): . Thus, can be processed on machine 17 with a processing time of 19, or on machine 20 with a processing time of 35, and so on. Analogously, for exactly one machine must be selected from the following set as the second resource: with the subsequent processing times (sorted in the same order as the machines): .
Note that the sets from which a resource can be selected to operate an original task and their associated dummy tasks are not necessarily disjoint (i.e., a resource may belong to several sets). In our example, machine 20 belongs to both set and , that is, , hence and are not disjoint sets. Recall that a resource cannot be assigned to more than one operation at the same time, which is enforced by constraint (2). Therefore, if machine 20 is selected to perform , it cannot simultaneously be assigned to (and vice versa). It is also possible that machine 20 is not selected for either of these two tasks.
In Figure 1, the dashed arcs represent the precedence relations between the operations of Job 1. In this way, as soon as and are finished, (the second original operation) and (their respective dummy operation) can start their executions. Then, can be performed by one of the 4 () possible resources and can be performed by one of the 5 () resources. In fact, since , it is only necessary to add one dummy task () related to the original task (). Again, a resource r can process at most one operation at a time, because .
All in all, considering the example of Figure 1 with , , , , , and , the constraint set (5) produces the following conditions enforcing the simultaneous start of the operations in Job 1:
- ;
- ;
- ;
- ;
- ;
- .
3.4. CP Formulation for the MRFJSSP with Simultaneous Occupation
The CP formulation proposed in Section 3.2 for the MRFJSSP with early resource release can be adapted to tackle the problem under the simultaneous occupation policy. Although this particular variant of the problem is not the primary focus of the present work, we consider its incorporation necessary to test the behavior of the makespan under both scenarios (simultaneous occupancy and early release), in addition to providing a point of comparison for the results previously reported by [3] for the MRFJSSP with simultaneous occupation.
For this purpose, we detail below the necessary modifications to our original CP formulation, complementing its presentation with the support of the illustrative example presented in Figure 1:
- Additional Decision Variables:
- : Auxiliary interval variable associated with the original if ;
- : Optional interval variable associated with . indicates if is performed under ;
- : Optional interval variables associated with and their respective elements in set . indicates if is performed under .
These additional decision variables allow us to model the full interval duration of each operation that requires two or more resources simultaneously, thereby keeping resources that are released early blocked until the completion of the process in the selected resource with the largest processing time.
Back to our example in Figure 1, an auxiliary variable is added for each to the extent that . Consequently we define , , , , , and for the operations of Job 1 in instance mjs37. These auxiliary variables model the entire duration of the intervals associated with – (), – (), – (), – (), – (), and – (). Additionally, we added the optional interval variables , , , , , and , to represent the time interval that elapses between the end of and the end of (), the end of and the end of (), and so on. Finally, variables are defined to model the time that elapses between the completion of a dummy task and its respective auxiliary variable. Thus, represents the time interval between the completion of and the end of , for the time interval between the completion of and the end of , and so on.
- Additional Constraints:
Below, we present the additional sets of constraints that allow modeling the simultaneous occupation variant of the MRFJSSP.
Constraint (6) imposes that the auxiliary variable spans all present intervals in the set of dummy tasks that belong to the non-empty set . Hence, at least one of these intervals must support the start (respectively, the end) of . In the example of Figure 1, for , spans and , i.e., .
Constraint (7) requires that the start time of matches the end time of their related original (e.g., and ). Additionally, Constraint (8) requires that and end at the same time (e.g., and ).
Similarly, Constraint (9) enforces that begins immediately after the dummy ends (i.e., ), while Constraint (10) ensures that and conclude simultaneously (i.e., ).
In Figure 2, we illustrate how these constraints interact for an excerpt of the schedule of Job 1 in the instance shown in Figure 1. For example, assume that begins on machine 17 at time zero (using mode 1), with a processing time of 19 time units. Simultaneously, starts processing on machine 10 (due to Constraint (5)) using mode 4, with a processing time of 12 time units. In this case, the interval variable is active since the completion of (Constraint (9)) until the completion of (Constraint (10)), effectively locking machine 10 during these 7 time units. For the same example, if the selected modes for and complete simultaneously, both and have zero duration. Conversely, if completes before , is activated, and the interval representing has zero length.
Figure 2.
An example illustrating the activation of the optional interval variable , which occurs because completes before . Observe that, in this case, the interval variable has zero duration.
Constraint (11) ensures that the interval variable uses the same mode m (and hence the same resource) as the one selected for the original . Similarly, Constraint (12) ensures that is assigned the same mode m as its corresponding dummy .
- Cumul Function Expression:
Finally, the definition of the cumul function expression from Section 3.2 must be updated to account for machine usage during the execution of the optional interval variables and when they have positive values. This effect is illustrated by the shaded bars in the Gantt Chart shown in Figure 3.
Figure 3.
A Gantt Chart for an optimal solution of instance with “simultaneous occupation” and . The shaded boxes represent time intervals during which a machine cannot be occupied until another resource, selected to perform the job operation, has completed its task.
4. Computational Results
This section provides and examines the results of the computational experiments conducted in this paper.
4.1. Experimental Setup
All experiments were performed on an AMD Ryzen 7-7730U CPU at 2.0 GHz with 8 cores (16 workers in parallel) and 16 GB of RAM, running at 3200 MHz. IBM ILOG CP Optimizer 22.1.1 was used to solve the CP formulations presented in Section 3.2 and Section 3.4 under the default Auto-search strategy, that is, the decision of choosing the search type for a worker is automatically made by the solver.
Problem instances are well-known case studies from the literature. In all these cases, the time each resource is required for each operation is explicitly defined. We have considered that these times are required at the start of the operation, and hence, resources can be released once the time has passed.
Each instance is solved once. Finally, we established a time limit of three hours (10,800 s) to solve each instance, the same as [3]. These results are presented in Section 4.2. Nevertheless, in Section 4.3, we analyze the performance of our CP approach for different time limits, in order to evaluate whether significant improvements in results are achieved as computational time increases. Finally, in Section 4.4 we implemented the method proposed by [7] to evaluate whether it is possible to increase the lower bound values obtained in our experiments and thereby obtain a more accurate estimate of the optimality gap.
4.2. Results
Table 2 summarizes the numerical results for 65 instances of the MRFJSSP with linear precedence constraints (it is worth noting that the original set comprised 70 instances. However, five of them (, , , , and ) were excluded from the experiments due to data consistency issues. See [3].). These test instances can be obtained from the work of [12]. The first multicolumn contains the characteristics of each instance: name, number of original operations, number of resources, the maximum number of resources required per operation (MR), the maximum number of possible resources that can be selected as a required resource (MF), and whether the sets of resources are disjoint or not. The second multicolumn provides the results of [3] under the assumption of simultaneous occupation and includes the lower bound (LB), the (or equivalently, the upper bound (UB)), the optimality gap (), and the total computational time in seconds. The third multicolumn presents the same information as the previous one, but for our implementation of the MRFJSSP under simultaneous occupation, as formulated in Section 3.4. Finally, the last multicolumn presents the results of the CP formulation described in Section 3.2, which assumes early resource release. All instances have 10 jobs, and the number of operations is divided equally among these jobs (i.e., 10 operations per job for instances with 100 operations and 15 operations per job for instances with 150 operations). Finally, the optimal values of are highlighted in bold, whereas the new valid best lower bounds and upper bounds for the MRFJSSP with simultaneous occupation are highlighted in red and blue, respectively.
Table 2.
Results on the MRFJSSP benchmark set of [12] with linear precedence constraints for both constraint policies: simultaneous occupation (SO) and early resource release (ERR).
Before analyzing the results in detail, it is essential to note that our findings for the MRFJSSP with early resource release cannot be directly compared with those reported by [3]. This is not only because different software and hardware conditions were used (and, importantly, the CP formulations differ), but also because different assumptions were made about resource release. However, since the MRFJSSP with early resource release is a more relaxed version of the same problem under “simultaneous occupation”, any LB obtained in our experiments is also valid for this latter case. Additionally, we find it helpful to compare the results between the two scenarios to understand how much the makespan can be reduced by relaxing the simultaneous occupation assumption. That said, we now proceed to analyze the results, together with discussing some related managerial insights:
- It appears that the most challenging instances in the simultaneous occupation scenario remain difficult even under the assumption of early resource release. However, in our experiments (last set of columns), we successfully solved instances ranging from to and to optimality.
- For the 38 instances where both approaches reach an optimal solution ( to , to , and to ), the average was reduced by 1.76%. Notably, the optimal value is identical in 18 of these instances.
- The reduction in was more significant for instances to , averaging 5.83%. In contrast, instances to showed the smallest reduction in , averaging just 0.10%. In light of the results, it appears that as the maximum number of possible resources that can be selected as required resources increases (e.g., ), the percentage difference in between the two approaches decreases. In our view, this represents an important managerial insight, as increasing the scheduling possibilities of an operation should lead to smaller differences (in terms of the achieved makespan) between the two approaches. Similarly, as flexibility decreases, early resource release is expected to have a greater effect on reducing the schedule makespan.
- For the fifteen instances in which we provided new lower bounds under the “simultaneous occupation” policy (here indicated in red), the average increase in the lower bound was approximately 1.10%.
- Our implementation of the MRFJSSP with simultaneous occupation proves competitive with the results reported in [3], contributing 9 new LB and 19 new UB to the literature, with an average makespan reduction of 2.17% in these instances.
- The number of operations per instance ( equal to 100 or 150) does not seem to have a major influence on the results. Moreover, the characteristics of the instances, specifically whether the sets of necessary resources are disjoint, do not appear to have a significant influence either.
- The hardest instances in terms of the average optimality gap (from to ) share three common characteristics: the number of resources (), the maximum number of resources required per operation (), and the maximum number of possible resources that can be selected as a required resource (). However, in our experiments, we solved all instances with to optimality, except for , which, in any case, has a relatively low optimality gap. This finding suggests that increasing the and/or does not necessarily imply that the instance becomes more complex. Furthermore, a low quotient q between and appears to be a reasonable predictor of the hardness of an MRFJSSP instance ( or 6). We believe that this last result is also relevant for decision-making, for example, having a low q ratio should be a strong incentive both for the early release of resources (as an operational policy that aims to decrease the length of the schedule) and for seeking the incorporation of new multipurpose renewable resources that can be used in alternative ways to process the operations of the works.
Finally, we are interested in examining the Gantt chart for two optimal solutions (one for each scenario: simultaneous occupation and early resource release) for the instance previously used as an example in Figure 1. In this context, Figure 3 provides a Gantt chart for an optimal solution of instance with simultaneous occupation constraints and . The shaded boxes represent time intervals during which a resource (machine) cannot be occupied until another resource, selected to perform the job operation, finishes. For example, the first operation of Job 1 () (see Figure 1), needs two resources: and . The operation is performed in mode 1 (on machine 17 with a processing time of 19), while the operation is performed in mode 4 (on machine 10 with a processing time of 12). Both operations start at time zero, but machine 10 cannot be occupied immediately after completing (it must wait until is finished). See Figure 2.
In contrast, Figure 4 provides a Gantt chart for an optimal solution of instance with early resource release constraints and . It can be seen that and are performed in the same modes as in Figure 3, and, as before, both operations start simultaneously at time zero. However, as soon as machine 10 finishes , the resource is released and can begin a new operation (in this case, the first operation of Job 5).
Figure 4.
A Gantt Chart for an optimal solution of instance with early resource release constraints and . Here, a job operation begins simultaneously on all allocated resources, although these resources may not be occupied for the same duration.
4.3. Sensitivity Analysis for Different Time Limits
According to the analysis in Section 4, 21 out of 65 instances could not be solved to optimality within the 10,800-s time limit, with an average optimality gap of 29.00%. In this section, we analyze the impact of extending the time limit to 21,600 and 32,400 s, which correspond to twice and three times the original limit, respectively. This sensitivity analysis is motivated primarily by the optimality gaps observed in some instances, which may initially appear relatively large. The results of these experiments are detailed in Table 3. In bold, we highlight the changes in both lower and upper bounds for the makespan.
Table 3.
Results on the MRFJSSP benchmark set of [12] with linear precedence constraints and early resource release for different time limits. The makespans of instances for which increasing the computational time led to improved values are highlighted in bold.
In this context, the improvements resulting from increased computational time are modest. The lower bounds remain unchanged, and the average optimality gap is reduced to 28.78% and 28.70% when the time limit is extended to 21,600 s and 32,400 s, respectively. A reduction in the upper bound was achieved in only 10 instances. These results suggest that further improvements in upper bounds are likely to be relatively marginal, and that the most significant opportunity for reducing the optimality gap lies in improving the current lower bounds. In this regard, a lower-bound augmentation procedure such as the one proposed by [7] for the JSSP under makespan minimization could represent a promising direction for future work.
4.4. Lower Bound Analysis
In this section, we consider the 21 instances of the MRFJSSP with early resource release for which, according to Table 2, optimality could not be demonstrated within the execution time limit. The average optimality gap for these instances is 29.00%. Notably, as shown in Section 4.3, allocating additional computational time yields only modest improvements, reducing the average gap to 28.70% when the time limit is tripled. Consequently, it is reasonable to assume that further reductions in the optimality gap for these instances primarily require increasing the current lower bound. To this end, we implemented the method proposed by [7] for the JSSP. This method consists of two phases: in the first phase, a relaxation of the original problem is solved; in the second phase, this relaxation is iteratively tightened until a time limit is reached or no further improvements are obtained. For these computational tests, we allocated 10,800 s per instance. The results are reported in Table 4.
Table 4.
Results of the lower-bounding procedure proposed by [7] for the 21 MRFJSSP instances with early resource release for which, according to Table 2, optimality could not be demonstrated.
According to Table 4, the lower bound increased significantly for all evaluated instances. Based on these results, the effective optimality gap for this subset of instances is reduced to 19.11%. Naturally, these results can still be improved as computational time increases. This indicates that the makespan achieved in our experiments is competitive and that the primary challenge in reducing the optimality gap is to increase the lower bound.
5. Conclusions
In this paper, we propose a constraint programming (CP) formulation for the multi-mode resource-constrained project scheduling problem (MMRCPSP) to address the multiresource flexible job-shop scheduling problem (MRFJSSP), in which the operations of a given job follow a linear precedence order. Our focus is on relaxing the simultaneous occupation policy, which assumes that a job operation starts only when all its assigned resources are available and releases them simultaneously. Instead, we assume that a job operation begins simultaneously across all allocated resources, even if these resources may not be occupied for the same duration. The results validated our CP approach, as we achieved optimality in 44 of 65 instances, with an average relative optimality gap of 9.37%.
Additionally, we extended our formulation to the case of simultaneous resource occupation to compare the results with those previously reported by [3] for this scenario. In this context, we observed that there are significant incentives to implement the early resource release policy, especially in industrial applications where flexibility is relatively low, that is, when there is a relatively small number of renewable resources available to process the operations of a job.
Several extensions of this study could be explored in future research, motivated by the limitations of this article. For example, the MRFJSSP with early resource release and arbitrary precedence graphs is a natural extension for future study. Additionally, it is worth studying the standard extension of replicating identical machines in parallel to increase overall production capacity, balance stage capacities, and/or reduce the impact of bottlenecks on shop floor operations (see [30]). Furthermore, extending the computational experiments to include metaheuristic approaches represents a promising avenue for future research, given their demonstrated competitiveness in solving various scheduling problems. Naturally, these extensions are not exclusive and can be studied together.
Author Contributions
Conceptualization, F.Y. and E.M.; methodology, F.Y., E.M., M.R. and N.C.; software, F.Y., E.M., M.R. and N.C.; validation, F.Y., E.M., M.R. and N.C.; formal analysis, F.Y. and E.M.; investigation, F.Y., E.M., M.R. and N.C.; resources, F.Y.; data curation, F.Y.; writing—original draft preparation, F.Y. and E.M.; writing—review and editing, F.Y. and E.M.; visualization, F.Y. and E.M.; supervision, F.Y. and E.M.; project administration, F.Y.; funding acquisition, F.Y. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by Dirección General de Investigación of the Universidad Andrés Bello (DGI-UNAB) grant number DI-07-25/REG.
Data Availability Statement
The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.
Acknowledgments
The authors would like to thank the editor and anonymous reviewers for their valuable comments.
Conflicts of Interest
The authors declare no conflicts of interest.
References
- Graham, R.L.; Lawler, E.L.; Lenstra, J.K.; Kan, A.H. Optimization and approximation in deterministic sequencing and scheduling: A survey. Ann. Discret. Math. 1979, 5, 287–326. [Google Scholar] [CrossRef]
- Dauzère-Pérès, S.; Ding, J.; Shen, L.; Tamssaouet, K. The flexible job shop scheduling problem: A review. Eur. J. Oper. Res. 2024, 314, 409–432. [Google Scholar] [CrossRef]
- Kasapidis, G.A.; Dauzère-Pérès, S.; Paraskevopoulos, D.C.; Repoussis, P.P.; Tarantilis, C.D. On the multiresource flexible job-shop scheduling problem with arbitrary precedence graphs. Prod. Oper. Manag. 2023, 32, 2322–2330. [Google Scholar] [CrossRef]
- Dauzère-Pérès, S.; Pavageau, C. Extensions of an integrated approach for multi-resource shop scheduling. IEEE Trans. Syst. Man, Cybern. Part C (Appl. Rev.) 2003, 33, 207–213. [Google Scholar] [CrossRef]
- Yuraszeck, F.; Montero, E.; Canut-De-Bon, D.; Cuneo, N.; Rojel, M. A Constraint Programming Formulation of the Multi-Mode Resource-Constrained Project Scheduling Problem for the Flexible Job Shop Scheduling Problem. IEEE Access 2023, 11, 144928–144938. [Google Scholar] [CrossRef]
- Garey, M.; Johnson, D.; Sethi, R. The Complexity of Flowshop and Jobshop Scheduling. Math. Oper. Res. 1976, 1, 117–129. [Google Scholar] [CrossRef]
- Yuraszeck, F.; Mejía, G.; Rossit, D.A.; Lüer-Villagra, A. A constraint programming-based lower bounding procedure for the job shop scheduling problem. Comput. Oper. Res. 2025, 177, 106964. [Google Scholar] [CrossRef]
- Browne, J.J.; Dubois, D.; Rathmill, K.; Sethi, S.; Stecke, K. Classification of flexible manufacturing systems. FMS Mag. 1984, 2, 114–117. [Google Scholar]
- Brucker, P.; Schlie, R. Job-shop scheduling with multi-purpose machines. Computing 1990, 45, 369–375. [Google Scholar] [CrossRef]
- Fatemi-Anaraki, S.; Tavakkoli-Moghaddam, R.; Foumani, M.; Vahedi-Nouri, B. Scheduling of Multi-Robot Job Shop Systems in Dynamic Environments: Mixed-Integer Linear Programming and Constraint Programming Approaches. Omega 2023, 115, 102770. [Google Scholar] [CrossRef]
- Fuladi, S.K.; Kim, C.S. Dynamic Events in the Flexible Job-Shop Scheduling Problem: Rescheduling with a Hybrid Metaheuristic Algorithm. Algorithms 2024, 17, 142. [Google Scholar] [CrossRef]
- Dauzère-Pérès, S.; Roux, W.; Lasserre, J.B. Multi-resource shop scheduling with resource flexibility. Eur. J. Oper. Res. 1998, 107, 289–305. [Google Scholar] [CrossRef]
- Mati, Y.; Xie, X. Multiresource Shop Scheduling With Resource Flexibility and Blocking. IEEE Trans. Autom. Sci. Eng. 2011, 8, 175–189. [Google Scholar] [CrossRef]
- Pernas-Álvarez, J.; Becerra, J.A.; Crespo-Pereira, D. A constraint programming-based decomposition strategy for the block assembly scheduling problem in shipbuilding. Int. J. Prod. Res. 2025, 63, 7617–7636. [Google Scholar] [CrossRef]
- Hall, N.G.; Sriskandarajah, C. A Survey of Machine Scheduling Problems with Blocking and No-Wait in Process. Oper. Res. 1996, 44, 510–525. [Google Scholar] [CrossRef]
- Dhiflaoui, M.; Nouri, H.E.; Driss, O.B. Dual-Resource Constraints in Classical and Flexible Job Shop Problems: A State-of-the-Art Review. Procedia Comput. Sci. 2018, 126, 1507–1515. [Google Scholar] [CrossRef]
- Sun, Z.; Zhu, J. Intelligent optimization for job shop scheduling of dual-resources. J. Southeast Univ. Nat. Sci. Ed. 2005, 35, 376–381. [Google Scholar]
- Gong, G.; Deng, Q.; Gong, X.; Liu, W.; Ren, Q. A new double flexible job-shop scheduling problem integrating processing time, green production, and human factor indicators. J. Clean. Prod. 2018, 174, 560–576. [Google Scholar] [CrossRef]
- Gourgand, M.; Grangeon, N.; Klement, N. Activities planning and resources assignment on distinct places: A mathematical model. RAIRO-Oper. Res.-Rech. Opér. 2015, 49, 79–98. [Google Scholar] [CrossRef]
- Francescutto, G.; Schekotihin, K.; El-Kholany, M.M.S. Solving a Multi-resource Partial-Ordering Flexible Variant of the Job-Shop Scheduling Problem with Hybrid ASP. In Proceedings of the Logics in Artificial Intelligence; Faber, W., Friedrich, G., Gebser, M., Morak, M., Eds.; Springer: Cham, Switzerland, 2021; pp. 313–328. [Google Scholar] [CrossRef]
- Kasapidis, G.A.; Paraskevopoulos, D.C.; Repoussis, P.P.; Tarantilis, C.D. Flexible Job Shop Scheduling Problems with Arbitrary Precedence Graphs. Prod. Oper. Manag. 2021, 30, 4044–4068. [Google Scholar] [CrossRef]
- Perrachon, Q.; Olteanu, A.L.; Sevaux, M.; Fréchengues, S.; Kerviche, J.F. Industrial multi-resource flexible job shop scheduling with partially necessary resources. Eur. J. Oper. Res. 2025, 320, 309–327. [Google Scholar] [CrossRef]
- Gao, L.; Pan, Q.K. A shuffled multi-swarm micro-migrating birds optimizer for a multi-resource-constrained flexible job shop scheduling problem. Inf. Sci. 2016, 372, 655–676. [Google Scholar] [CrossRef]
- Liu, M.; Lv, J.; Du, S.; Deng, Y.; Shen, X.; Zhou, Y. Multi-resource constrained flexible job shop scheduling problem with fixture-pallet combinatorial optimisation. Comput. Ind. Eng. 2024, 188, 109903. [Google Scholar] [CrossRef]
- Li, Y.; Wu, W.; Guo, J.; Liu, J.; Wang, L.; Liu, Z. Adaptive collaborative evolution-based estimation of distribution algorithm for multi-resource constrained flexible job shop scheduling problem with reconfigurable machine tool. Comput. Ind. Eng. 2026, 212, 111710. [Google Scholar] [CrossRef]
- Zhang, S.; Du, H.; Borucki, S.; Jin, S.; Hou, T.; Li, Z. Dual Resource Constrained Flexible Job Shop Scheduling Based on Improved Quantum Genetic Algorithm. Machines 2021, 9, 108. [Google Scholar] [CrossRef]
- Shi, J.; Chen, M.; Ma, Y.; Qiao, F. A new boredom-aware dual-resource constrained flexible job shop scheduling problem using a two-stage multi-objective particle swarm optimization algorithm. Inf. Sci. 2023, 643, 119141. [Google Scholar] [CrossRef]
- Wang, C.; Fan, D.; Liu, Y.; Ren, S.; Wang, J. Dual-resource flexible job shop scheduling considering worker proficiency differences. Comput. Oper. Res. 2025, 184, 107216. [Google Scholar] [CrossRef]
- Naderi, B.; Ruiz, R.; Roshanaei, V. Mixed-integer programming vs. constraint programming for shop scheduling problems: New results and outlook. INFORMS J. Comput. 2023, 35, 817–843. [Google Scholar] [CrossRef]
- Yuraszeck, F.; Mejía, G.; Lüer-Villagra, A. An adapted constraint-programming formulation of the resource-constrained project scheduling problem applied to the identical parallel machines group shop and mixed shop scheduling problems. Int. Trans. Oper. Res. 2024, 32, 1422–1441. [Google Scholar] [CrossRef]
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. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.



