Discrete Optimization
Scheduling incompatible tasks on two machines

https://doi.org/10.1016/j.ejor.2009.01.029Get rights and content

Abstract

The paper studies the problem of scheduling tasks on two machines to minimize the makespan. The tasks are assigned to the machine in advance. An incompatibility relation is defined over the tasks which forbids any two incompatible tasks to be processed at the same time. The problem can serve as a mathematical model for some batching problems in which the jobs are grouped in pairs on two machines. A linear-time algorithm is presented.

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 Cmax, 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 PD2|incomp2|Cmax. Here we write “PD2” in the first field to point out that there are two parallel dedicated machines; we write “incomp2” 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 PD2|incomp2|Cmax 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 O2|pairs|Cmax.

Problem O2|pairs|Cmax 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 k2 jobs, the corresponding problem is polynomially solvable, see Potts et al. (2001).

Problem O2|pairs|Cmax 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 O2|pairs|Cmax, provided that the goal is to minimize the time by which all projects are finished. We can also see this as problem PD2|incomp2|Cmax, 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 PD2|incomp2|Cmax. The running time of the algorithm is linear in the number of tasks. As can be seen from the remainder of this paper, problem PD2|incomp2|Cmax 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 PD2|incomp2|Cmax, 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 PD2|incomp2|Cmax 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 PD2|incomp2|Cmax, 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 NA={J1,J2,,Jn}, while machine B processes the tasks

Main cycle: finding suitable numbering

Consider the tasks of the main cycle G1 with 2v6 vertices. We may assume that NA1={J1,J3,,J2v-1} and NB1={I2,I4,,I2v}; otherwise, an appropriate renumbering can be performed. Imagine that the graph G1 is drawn as a necklace, i.e., its vertices are placed along a circumference. Since G1 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 Sπ is constructed. It is convenient to view the tasks of the main cycle arranged as a π-necklace. Recall that in schedule Sπ the tasks are processed on machine A in the order Jπ(1),Jπ(3),,Jπ(2v-1) and on machine B in the order Iπ(2v),Iπ(2),Iπ(4),,Iπ(2v-2), where 2v is the total number of tasks in the main cycle; see Fig. 3 with φ=π.

In schedule Sπ 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 NB1 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 φ-necklaceJφ(1)Iφ(2)Jφ(3)Iφ(4)Jφ(5)Iφ(6)Jφ(1).Since each task on machine B is long, we obtain thataφ(1)bφ(4),aφ(3)bφ(6);aφ(5)bφ(2).

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 PD2|incomp2|Cmax.

Algorithm Final

  • 1.

    Given an instance of the problem, create the bipartite graph G=(NA,NB;E) and identify its connected components Gf=(NAf,NBf;Ef),f=1,,g. Associate each component Gf with a composite job Hf with the processing times a(Hf)=a(NAf) and b(Hf)=b(NBf) 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)

There are more references available in the full text version of this article.

Cited by (4)

  • A combinatorial Benders decomposition algorithm for parallel machine scheduling with working-time restrictions

    2021, European Journal of Operational Research
    Citation 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.

View full text