Discrete OptimizationScheduling incompatible tasks on two machines
Introduction
In classical machine scheduling, a typical restriction on the structure of a feasible schedule is that two or more operations of the same job cannot be processed at the same time on different machines, while the simultaneous processing of distinct jobs, each on its own machine, is allowed. However, there are situations in which some of the jobs are incompatible, and only compatible jobs can be processed in parallel, i.e., assigned to different machines and scheduled to be processed during a common time slot. So far, scheduling problems with incompatible jobs have been insufficiently studied.
In this paper we address a very basic scheduling problem with incompatible jobs. The processing environment consists of two machines. The machines are parallel and dedicated, that means that for each machine we know in advance the jobs to be processed there. To stress that each job is processed on one machine only, i.e., a job consists of only one operation, in this paper we refer to it as task. For each task we know its duration. In all scheduling models discussed in this paper the objective is to minimize the makespan , the maximum completion time. In this paper, we assume that each task is incompatible with at most two tasks on the other machine, and incompatible tasks cannot be processed simultaneously, i.e., in a feasible schedule the time slots reserved for their processing are not allowed to have a common subinterval. Extending standard three-field scheduling notation we denote this problem by . Here we write “” in the first field to point out that there are two parallel dedicated machines; we write “” in the middle field to indicate that the incompatibility relation is given by a bipartite incompatibility graph in which the set of tasks on each machine is represented as one of the parts of the set of vertices, and any two vertices of different parts are connected with an edge if the corresponding tasks are incompatible; the third field indicates the objective function to be minimized.
Two parallel dedicated machines can be seen as two single machines; however, the situation becomes different if some additional constraints are introduced. For instance, Kellerer and Strusevich, 2003a, Kellerer and Strusevich, 2003b, Kellerer and Strusevich, 2008 study parallel dedicated machine scheduling problems under various types of resource constraints. The incompatibility relation is an example of another additional constraint.
Problem is related to various scheduling models with batching and job incompatibility. In scheduling with batching it is required to split the jobs into batches and then find a feasible schedule of these batches that minimizes a certain objective function. A popular type of batching is related to scheduling models with batch availability, see the survey by Potts and Kovalyov (2000). In scheduling with batch availability, all jobs in a batch complete simultaneously. Two rules that define the processing time of a batch are distinguished: (i) in the case of sequential batch processing, also known as “sum-batch”, the processing time of a batch on machine is equal to the total processing times of its jobs, see Glass et al. (2001); (ii) in the case of simultaneous batch processing, also known as “max-batch”, the processing time of a batch on machine is equal to the largest processing time of its jobs, see Potts et al. (2001).
Boudhar and Finke, 2000, Boudhar, 2003 study the complexity of single machine max-batch scheduling problems for various compatibility graphs, in which tasks are represented as vertices and any two compatible tasks are connected by an edge; in particular, it is shown that the problem to minimize the makespan, reduces to the maximum weight matching problem if each batch consists of at most two compatible tasks.
On the other hand, de Werra et al., 2005, Demange et al., 2007 consider similar scheduling problems with incompatibility graphs and show that they are related to finding special colorings in these graphs. In particular, if the maximum vertex degree in the incompatibility graph is 2, the corresponding coloring can be found in polynomial time.
The model considered in this paper has been motivated by the following version of the two-machine open shop scheduling problem. Suppose that each of the given jobs has to be processed on two processing machines. The jobs are grouped in pairs on each machine. Such a group is called a batch. The processing time of each batch on each machine is known in advance. The batches need not be consistent, i.e., any job can be in a batch with one job on one machine and with another job on the other machine. For an individual job, the order of passing the machines is not given in advance and is immaterial, similarly to the classical open shop scheduling model. A machine processes at most one batch at a time with no preemption. We assume batch availability, i.e., the processing of a job on a machine is completed (and the job becomes available for further processing, if required) when the whole batch is completed. Two batches on different machines cannot be processed simultaneously if they have a common job. The objective is to minimize the makespan, i.e., the maximum completion time. We denote our problem by .
Problem can be viewed as the scheduling stage of the two-machine open shop max-batch problem to minimize the makespan, provided that on each machine a batch may contain at most two jobs. The complexity of the latter problem is open, see Potts et al. (2001). On the other hand, if on one machine the jobs are processed individually, and on the other machine in batches of at most jobs, the corresponding problem is polynomially solvable, see Potts et al. (2001).
Problem is also of interest in its own right, and has applications, e.g., to human resource management. Below we present an example that demonstrates how our problem is relevant to an advanced approach to software development, known as eXtreme Programming (XP); see Beck (2004). One of the components of the XP concept is Pair Programming presented, e.g., in Williams and Kessler (2002). According to the Pair Programming paradigm, two programmers should work together at one computer in all stages of the development of a software product. As a rule, the use of Pair Programming leads to a better quality of software. In our example, we also feature another software development technique, called Version Control, that is especially important for large projects with input from many independent developers; see Collins-Sussman et al. (2004). In Version Control, the system of sharing information is employed that prevents multiple users from overwriting the changes done by the others to the central data repository.
Suppose each programmer is assigned to a pair (as recommended by the Pair Programming concept) to work on one project related to data repository A and to a pair, possibly with a different partner, to work on a project related to data repository B. The version control system requires that only one pair may have access to a particular data repository at a time. We obtain problem , provided that the goal is to minimize the time by which all projects are finished. We can also see this as problem , with tasks assigned to machine A (pairs working with repository A) and to machine B (pairs working with repository B). Each employee belongs to two pairs, one on each machine, and the corresponding tasks, one on A and the other on B, are incompatible, so that must be scheduled in disjoint time slots.
The main result of this paper is an algorithm that finds an optimal schedule for problem . The running time of the algorithm is linear in the number of tasks. As can be seen from the remainder of this paper, problem possesses nice combinatorial properties, and scheduling incompatible tasks raises essentially new issues of feasibility that do not occur in classical scheduling.
The remainder of this paper is organized as follows. Section 2 presents a formal statement of problem , the structure of the incompatibility graph, lower bounds on the makespan and the relations with the classical two-machine open shop problem. The sections that follow describe algorithmic procedures that handle the problem under certain conditions; it will be premature to discuss the content of these sections here. The general algorithm is given in Section 8. Concluding remarks can be found in Section 9.
Section snippets
Preliminaries
We start with a formal description of problem and introduce an important concept of the main cycle. The rest of the paper essentially deals with the combinatorial structure of the main cycle and with various ways of scheduling its tasks.
In problem , we are given two machines, A and B. The machines are dedicated, i.e., the tasks assigned to each machine are known in advance. Machine A processes the tasks of set , while machine B processes the tasks
Main cycle: finding suitable numbering
Consider the tasks of the main cycle with vertices. We may assume that and ; otherwise, an appropriate renumbering can be performed. Imagine that the graph is drawn as a necklace, i.e., its vertices are placed along a circumference. Since is bipartite, its vertices alternate, i.e., a vertex that represents a task on one machine is adjacent to two vertices each representing a task on the other machine.
Take an arbitrary vertex that corresponds to
Scheduling with suitable numbering
Suppose that a suitable numbering π of the tasks of the main cycle is found, and the corresponding schedule is constructed. It is convenient to view the tasks of the main cycle arranged as a π-necklace. Recall that in schedule the tasks are processed on machine A in the order and on machine B in the order , where is the total number of tasks in the main cycle; see Fig. 3 with .
In schedule there exists a B-critical task that is
Scheduling with no suitable numbering: short task
In this and the subsequent sections, we study the case that no suitable numbering of the tasks of the main cycle is found by Procedure DΠ described in Section 3.
As above, assume that the main cycle is represented as a φ-necklace associated with a certain numbering φ; see (6) and Fig. 2.
Recall that Procedure DΠ fails to find a suitable numbering if in the digraph D built for the φ-necklace there is no arc going from a plus-vertex to a minus-vertex, i.e., digraph D is either a circuit with the
Scheduling with no suitable numbering: at least four long tasks on machine B
In this section, we present an algorithm for finding an overall optimal schedule, provided that no suitable numbering of the tasks of the main cycle is found, and no task of set related to a minus-circuit of digraph D is short. We concentrate on the situation that there are at least four tasks on each machine in the main cycle. The case that there are exactly three tasks on each machine requires a set of non-trivial lower bounds on the optimal makespan and is studied in the next section.
Let
Scheduling with no suitable numbering: three long tasks on machine B
In this section, we consider the situation that the main cycle is based on the set of six tasks, i.e., there are exactly three tasks on each machine. We only need to consider the situation that digraph D is an oriented triangle with the minus-vertices only, and each task on machine B is long.
The six tasks of the main cycle related to a φ-necklaceSince each task on machine B is long, we obtain that
Main algorithm
In this section, we bring together all algorithms and the procedure presented above and describe a general algorithm that finds an optimal solution to problem .
Algorithm Final
- 1.
Given an instance of the problem, create the bipartite graph and identify its connected components . Associate each component with a composite job with the processing times and on machines A and B, respectively, as described in Section 2.
Conclusion
In this paper, we present a linear-time algorithm for scheduling tasks on two machines to minimize the makespan, provided that the incompatible tasks cannot be run in parallel. It is assumed that a special incompatibility relation, motivated by inconsistent batching jobs into pairs on two machines, is defined over the set of tasks. We present combinatorial properties of optimal schedules, derive lower bounds on the optimal makespan, some of which are non-trivial, see Theorem 6. The paper can be
Acknowledgement
This research was supported by INTAS (Project 03-51-5501).
References (14)
- et al.
A hypocoloring model for batch scheduling
Discrete Applied Mathematics
(2005) - et al.
Scheduling parallel dedicated machines under a single non-shared resource
European Journal of Operational Research
(2003) - et al.
Scheduling problems for parallel dedicated machines under multiple resource constraints
Discrete Applied Mathematics
(2003) - et al.
Scheduling with batching
European Journal of Operational Research
(2000) Extreme Programming Explained: Embrace Change
(2004)Dynamic scheduling on a single batch processing machine with split compatibility graphs
Journal of Mathematical Modelling and Algorithms
(2003)- et al.
Scheduling on a batch machine with job compatibilities
Belgian Journal of Operations Research
(2000)
Cited by (4)
Complexity and approximation of open shop scheduling to minimize the makespan: A review of models and approaches
2022, Computers and Operations ResearchA combinatorial Benders decomposition algorithm for parallel machine scheduling with working-time restrictions
2021, European Journal of Operational ResearchCitation Excerpt :In addition, Grigoriev, Sviridenko, and Uetz (2007) proposed approximation algorithms for an unrelated parallel dedicated machine scheduling problem, in which the processing time of jobs can be reduced by utilizing a discrete renewable resource. More recently, Lushchakova and Strusevich (2010) proposed a linear-time algorithm for the problem of scheduling incompatible tasks on two machines. However, according to our literature review, no work has been done on scheduling problems with parallel dedicated machines subject to working-time constraints.
Makespan minimisation for a parallel machine scheduling problem with preemption and job incompatibility
2017, International Journal of Production ResearchTwo-dedicated-machine scheduling problem with precedence relations to minimize makespan
2014, Optimization Letters