Next Article in Journal
Continuous Recognition of Teachers’ Hand Signals for Students with Attention Deficits
Next Article in Special Issue
An Improved Negotiation-Based Approach for Collecting and Sorting Operations in Waste Management and Recycling
Previous Article in Journal
A Sparsity-Invariant Model via Unifying Depth Prediction and Completion
Previous Article in Special Issue
Simulation of Calibrated Complex Synthetic Population Data with XGBoost
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Mixed Graph Colouring as Scheduling a Partially Ordered Set of Interruptible Multi-Processor Tasks with Integer Due Dates

by
Evangelina I. Mihova
1 and
Yuri N. Sotskov
2,*
1
Mathematical Institute, Faculty of Mathematics, Computer Science and Statistics, Ludwig-Maximilians-Universitat Munich, Geschwister-Scholl-Platz, 1, 80539 Munich, Germany
2
United Institute of Informatics Problems, National Academy of Sciences, 6 Surganov Street, 220012 Minsk, Belarus
*
Author to whom correspondence should be addressed.
Algorithms 2024, 17(7), 299; https://doi.org/10.3390/a17070299
Submission received: 16 May 2024 / Revised: 20 June 2024 / Accepted: 1 July 2024 / Published: 6 July 2024
(This article belongs to the Special Issue 2024 and 2025 Selected Papers from Algorithms Editorial Board Members)

Abstract

:
We investigate relationships between scheduling problems with the bottleneck objective functions (minimising makespan or maximal lateness) and problems of optimal colourings of the mixed graphs. The investigated scheduling problems have integer durations of the multi-processor tasks (operations), integer release dates and integer due dates of the given jobs. In the studied scheduling problems, it is required to find an optimal schedule for processing the partially ordered operations, given that operation interruptions are allowed and indicated subsets of the unit-time operations must be processed simultaneously. First, we show that the input data for any considered scheduling problem can be completely determined by the corresponding mixed graph. Second, we prove that solvable scheduling problems can be reduced to problems of finding optimal colourings of corresponding mixed graphs. Third, finding an optimal colouring of the mixed graph is equivalent to the considered scheduling problem determined by the same mixed graph. Finally, due to the proven equivalence of the considered optimisation problems, most of the results that were proven for the optimal colourings of mixed graphs generate similar results for considered scheduling problems, and vice versa.

1. Introduction

For optimal production planning and scheduling, it is required to construct an optimal schedule for processing a set of tasks (jobs) using existing equipment (processors). Optimisation of a schedule is a key factor in improving efficiency, as it allows a scheduler to reduce production costs, the time of the execution of incoming customer orders and the timely supply of production processes with raw materials and other components that are required for the manufacture of final products. Practical production scheduling (planning) problems are diverse in terms of conditions, restrictions and the objectives to be achieved by optimal schedules. To solve a large number of scheduling problems, special models and algorithms have been developed that take into account the specific conditions and objectives of concrete production planning. An extension of the application areas of scheduling algorithms can be based on a generalisation of scheduling models for complicated multi-stage systems in order to present different problem sets and to develop universal methods for constructing optimal schedules on the basis of the generalised scheduling models.
It is well known that the construction of the makespan-optimal schedule for fulfilling operations of equal duration reduces the construction of the optimal colouring of vertices of the graph. If it is required to consider precedence constraints specified on the operation set and the impossibility of processing two or more tasks simultaneously on the same processor, then, to determine the makespan-optimal schedule for fulfilling the unit-time operations, one can use the optimal colouring of the mixed graph [1,2].
In this paper, we focus on scheduling problems with integer operation durations and job release dates to minimize the makespan C max or maximal lateness L max of the given jobs with integer due dates.
Let G = ( V , A , E ) be a mixed graph with the set V = { v 1 , v 2 , , v | V | } of vertices, the set A of arcs and the set E of edges. Each arc determines an ordered pair of vertices from the set V . Each edge determines an unordered pair of vertices. The mixed graph G considered in this paper does not contain loops, multiple arcs and multiple edges. For the empty set of arcs, we obtain the graph G = ( V , , E ) . For the empty set of edges, we obtain the directed graph G = ( V , A , ) (the digraph for short).
In [3], a colouring of the mixed graph was defined.
Definition 1 
([3]). A function  c : V { 1 , 2 , , t }  is called a colouring  c ( G )  of a mixed graph  G = ( V , A , E )  if the inequalities  c ( v i ) c ( v j )  hold for all arcs  ( v i , v j ) A  and the relations  c ( v p ) c ( v q )  hold for all edges  [ v p , v q ] E . A colouring  c ( G )  is optimal if this colouring uses a minimal number  χ ( G )  of colours  c ( v i ) { 1 , 2 , , t } . The minimal number  χ ( G )  is called a chromatic number of the mixed graph  G .
If the equality A = holds, then the colouring c ( G ) is an ordinary colouring of the graph G = ( V , , E ) . The mixed graph ( V , A , E ) with the non-empty set of arcs and the non-empty set of edges may not be colourable [3].
Theorem 1 
([3]). A colouring  c ( G )  of vertices of mixed graph  G = ( V , A , E )  exists if and only if the directed graph  ( V , A , )  has no circuit containing the adjacent vertices in the graph  ( V , , E ) .
Finding an optimal colouring of the vertices of the mixed graph G = ( V , A , E ) is an NP-hard problem, even if A = ; see [4]. The NP-hardness of the optimisation problem means that it is unlikely that there exists a polynomial algorithm for solving this problem, since there is a polynomial reduction to this problem from a huge number of NP-hard problems, while there is no polynomial algorithm for each of them yet.
In [1,2], it is proven that a job-shop problem with equal (unit) durations of operations with the objective of minimising a schedule length (i.e., makespan) reduces to a problem of finding the optimal colouring of the mixed graph G = ( V , A , E ) .
In this paper, we show that finding the optimal colouring c ( G ) reduces to the problem of constructing a schedule that minimizes a maximal lateness for processing multi-processor tasks with integer durations, integer due dates and allowed operation interruptions. The converse is also proven. Processing a multi-processor task requires several dedicated processors; see Chapter 10 of the monograph [5]. Moreover, two types of precedence constraints can be specified for the multi-processor tasks, and the unit-time operations of the indicated subset must be processed simultaneously.
The remaining part of this paper is organised as follows. The settings of considered scheduling problems, preliminary results and notation are given in Section 2. Related papers are cited, where it has been shown that the problem of finding an optimal colouring of the mixed graph reduces to finding a makespan-optimal schedule for partially ordered operations with unit processing times. Scheduling problems are discussed in increasing order of their complexity. Section 3 demonstrates that the problem of optimal colouring of the mixed graph reduces to finding a makespan-optimal schedule of the multi-processor tasks with equal durations. In Section 4, we discuss scheduling problems of minimising maximal lateness of completing jobs with respect to integer due dates. New results are proven, demonstrated, and discussed in Section 4, Section 5, Section 6, Section 7 and Section 8. The possibility of interruptions processing integer-time tasks is studied in Section 5. A theorem is proven on the reduction of the optimal colouring c ( G ) to the scheduling problems with a minimisation of the makespan for the interrupted integer–time tasks with integer release dates of the jobs. An illustrative example of the studied scheduling problem is solved in Section 6. Section 7 includes a theorem on the equivalence of scheduling problems with a maximal lateness objective and the problem of finding optimal colourings of the mixed graphs. Due to the proven equivalence of the problems of constructing optimal schedules and mixed graph colouring problems, many claims that have been proven for scheduling problems can be applied to the problems of optimal mixed graph colourings, and vice versa. In Section 8, we discuss new findings and their potential implications. Section 9 contains concluding remarks and promising future research directions. The new theorems and most of the theorems presented in the survey section are demonstrated in the numerical examples in the main text and in Appendix A and Appendix B.

2. Related Works, Definitions, and Preliminaries

In the following, terminology from [5] is used for scheduling problems and terminology from [6,7] is used for graph theory. To classify scheduling problems, a three-field notation α | β | γ [5] is used, where α determines the processing system, field β determines the characteristics of the jobs, and field γ an objective function.

2.1. Minimum Length Unit-Time Job-Shop Problems

We begin by examining the unit-time scheduling problem J | t i j = 1 | C max of constructing a makespan-optimal schedule for fulfilling the set J = { J 1 , J 2 , , J | J | } of the given jobs by the dedicated processors M = { M 1 , M 2 , , M | M | } . The execution of the job J i J entails the execution of the ordered set Q ( i ) = { Q i 1 , Q i 2 , , Q i , | Q ( i ) | } of operations with unit (equal) durations t i j = 1 in the strict linear order ( Q i 1 , Q i 2 , , Q i , | Q ( i ) | ) on the corresponding processors from the set M . The operation Q i j Q ( i ) is performed by the processor M μ ( i j ) M .
This processing system is called a job-shop, denoted α = J in the three-field notation J | t i j = 1 | C max used for this problem. The notation C max is used to specify the optimality criterion of minimising the makespan C max = max { C i : J i J } (the schedule length) in the desired optimal schedule, where C i denotes the completion time of the job J i J . All jobs in the set J = { J 1 , J 2 , , J | J | } are ready for processing from the same release date r = 0 . Interruptions are not allowed during the execution of an operation Q i j Q ( i ) with J i J . A schedule S for processing the job set J = { J 1 , J 2 , , J | J | } is determined either by the start times S ( Q i j ) 0 = t or by the completion times C ( Q i j ) = S ( Q i j ) + t i j of the operations Q i j Q : = i = 1 | J | Q ( i ) . The length (makespan) of the schedule S is equal to C max ( S ) = max { C ( Q i j ) : Q i j Q } .
Let the subset Q k of the set Q consist of operations to be fulfilled by the processor M k M . Given that every pair of operations within the set Q k must not be executed simultaneously, any schedule that exists for a job-shop problem J | t i j = 1 | C max determines | M | strict linear orders of the operations Q k fulfilled by the processors M k M . An optimal schedule for the problem J | t i j = 1 | C max .
S = ( C ( Q 1 , 1 ) , C ( Q 1 , 2 ) , , C ( Q 1 , | Q ( 1 ) | ) , C ( Q 2 , 1 ) , C ( Q 2 , 2 ) , , C ( Q 2 , | Q ( 2 ) | ) , ,
C ( Q | J | , 1 ) , C ( Q | J | , 2 ) , , C ( Q | J | , | Q ( | J | ) | ) )
has the minimum length C max ( S ) among all schedules that exist for this problem.
The objective function for each regular criterion is a non-decreasing function of the arguments C i : = C ( Q i , | Q ( i ) | ) , where J i J . When solving the scheduling problem α | β | γ with a regular criterion γ , the optimal schedule can be found within the set of semiactive schedules [5].
Definition 2 
([5])The schedule S for the problem  α | β | γ  is semiactive, if the execution of every operation cannot be processed earlier without violating the operation order in schedule S or another operation is processed later than in this schedule.

2.2. Optimal Strict Colourings of Mixed Graphs and Equivalent Unit-Time Job-Shop Problems

The paper [3] introducing Definition 1 was published in Russian. In 1997, another colouring of mixed graph c < ( G ) was introduced in the paper [8], published in English.
Definition 3 
([8]). The function  c < : V { 1 , 2 , , t }  is a strict colouring  c < ( G )  of the mixed graph  G = ( V , A , E ) , if the inequalities  c < ( v i ) < c < ( v j )  hold for all arcs  ( v i , v j ) A  and the relations  c < ( v p ) c < ( v q )  hold for all edges  [ v p , v q ] E . The strict colouring  c < ( G )  is optimal, if this colouring uses a minimum number of colours  c < ( v i ) { 1 , 2 , , t } .
We can use colouring c ( G ) instead of strict colouring c < ( G ) of vertices of the mixed graph G = ( V , A , E ) provided that the following implication holds for every arc ( v i , v j ) A :
( v i , v j ) A   [ v i , v j ] E
If the mixed graph G = ( V , A , E ) includes the arc ( v i , v j ) A and the implication (2) does not hold, one can add an edge [ v i , v j ] to the mixed graph G for each such arc ( v i , v j ) A . A strict colouring c < ( G ) of the mixed graph G can be represented as a colouring c ( G ) of the mixed graph obtained by including all such edges to the mixed graph G . Thus, the following lemma is obtained.
Lemma 1. 
A strict colouring  c < ( G )  of the mixed graph  G = ( V , A , E )  can be interpreted as a special case of the colouring  c ( G ) , if the inclusion  ( v i , v j ) A  implies the inclusion  [ v i , v j ] E .
A criterion for the existence of a strict colouring of vertices of the mixed graph G = ( V , A , E ) is determined by Corollary 1 of Theorem 1.
Corollary 1 
([1]). A strict colouring  c < ( G )  exists if and only if the digraph  ( V , A , )  does not contain a circuit.
Theorem 2 was proven in [1].
Theorem 2 
([1]). The unit-time scheduling problem  J | t i j = 1 | C max  is equivalent to the problem of finding the optimal strict colouring of vertices of the mixed graph  G = ( V , A , E )  with  V = Q , provided that two conditions hold as follows:
(a) 
( Q , A , ) = i = 1 | J | ( Q i , A i , ) , where each subgraph  ( Q i , A i , )  is a path passing through the vertices  Q i  and equality  Q i Q j =  holds for indexes  i j ;
(b) 
( Q , , E ) = k = 1 | M | ( Q ( k ) , , E ( k ) ) , where each subgraph  ( Q ( k ) , , E ( k ) )  is a complete graph on the set  Q i  and equality  Q ( k ) Q ( l ) =  holds for indexes  k l .
Due to Lemma 1 and Theorem 2, one can obtain the following corollary.
Corollary 2 
([1]). The unit-time scheduling problem  J | t i j = 1 | C max  is equivalent to the problem of determining the optimal colouring of the mixed graph  G = ( V , A , E ) , where the relations
{ v 1 , v 2 , , v | V | } = V = Q = { Q 1 , 1 , Q 1 , 2 , , Q 1 , | Q 1 | , Q 2 , 1 , Q 2 , 2 , , Q 2 , | Q 2 | , , Q | J | , 1 , Q | J | , 2 , , Q | J , | Q | J | | }
hold along with the above conditions (2), (a) and (b).
To illustrate Corollary 2, we consider Example 1 of the problem J | t i j = 1 | C max , whose input data are determined by the corresponding mixed graph G .
Remark 1. 
Since all operations   Q i j Q i  in the unit-time scheduling problem  J | t i j = 1 | C max  have unit processing times, we represent each operation as a vertex in the mixed graph  G = ( V , A , E )  with indexing the vertices in the set  V  in the lexicographic order of the pairs  { i , j }  of the indexes of the corresponding operations   Q i j Q i ,  J i J . Thus, we obtain the following set  V = { v 1 , v 2 , , v | V | }  of vertices, where the equality  | V | = i = 1 | J | | Q ( i ) |  holds.
Example 1. 
The dedicated processors  M = { M 1 , M 2 , M 3 , M 4 }  must process jobs  J = { J 1 , J 2 , J 3 , J 4 , J 5 } , where processing the job  J 1 J  consists of the singleton  V ( 1 )  =   { v 1 } . The job   J 2 J  is represented as a union of the path   ( v 2 , v 3 )  in the digraph  ( V , A , )  and the chain  ( v 2 , v 3 )  in the graph  ( V , , E ) . The job  J 3 J  contains the set  V ( 3 )  =   { v 4 , v 5 , v 6 , v 7 }  of the ordered operations  ( v 4 , v 5 , v 6 , v 7 ) . The job  J 3 J  is represented as a union of the path  ( v 4 , v 5 , v 6 , v 7 )  in the digraph  ( V , A , )  and the chain  ( v 4 , v 5 , v 6 , v 7 )  in the graph  ( V , , E ) . The job  J 4 J  contains the set  V ( 4 )  =  { v 8 , v 9 , v 10 }  of the linearly ordered operations  ( v 8 , v 9 , v 10 ) . The job  J 4 J  is represented as a union of the path  ( v 8 , v 9 , v 10 )  in the directed graph  ( V , A , )  and the  ( v 8 , v 9 , v 10 )  in graph  ( V , , E ) . The job  J 5 J  contains the set  V ( 5 )  =  { v 11 , v 12 }  of the ordered operations  ( v 11 , v 12 ) . The job  J 5 J  is represented as a union of the path  ( v 11 , v 12 )  in directed graph  ( V , A , )  and the chain  ( v 11 , v 12 )  in graph  ( V , , E ) .
Let the set V 1 = { v 1 , v 5 , v 7 } be defined as a set of operations processed on the processor M 1 . The forbiddance to process the operations of the set V 1 simultaneously is determined by the clique { v 1 , v 5 , v 7 } in the graph ( V , , E ) ; see Figure 1. Let the processor M 2 have to process the operations V 2 = { v 2 , v 4 } . The forbiddance to process operations of the set V 2 simultaneously is determined by the edge [ v 2 , v 4 ] . Let the processor M 3 have to process the operations V 3 = { v 3 , v 9 , v 11 } . The forbiddance to process operations of the set V 3 simultaneously is determined by the clique { v 3 , v 9 , v 11 } . Let the processor M 4 have to process the operations V 3 = { v 9 , v 11 , v 15 } . The forbiddance to process any pair of operations of the set V 3 simultaneously is determined by the clique { v 9 , v 11 , v 15 } . Let the processor M 4 have to process the operations V 4 = { v 6 , v 8 , v 10 , v 12 } . The forbiddance to process any pair of operations of the set V 4 simultaneously is determined by the clique { v 6 , v 8 , v 10 , v 12 } .
A specific colour is used for indicating the operations V i = { v i 1 , v i 2 , , v i | V i | } V that are processed on the processor M i M ; see Figure 1. It is clear that the mixed graph depicted in Figure 1 possesses properties (1), (a) and (b), and the indexing of all vertices of the set V satisfies Remark 1. The optimal colouring of the mixed graph G is defined as follows: c ( v 1 ) = 1 ,   c ( v 2 ) = 2 ,   c ( v 3 ) = 3 ,   c ( v 4 ) = 1 ,   c ( v 5 ) = 2 ,   c ( v 6 ) = 3 ,   c ( v 7 ) = 4 ,   c ( v 8 ) = 1 ,   c ( v 9 ) = 2 ,   c ( v 10 ) = 4 ,   c ( v 11 ) = 1 and c ( v 12 ) = 2 . The optimality of the colouring c ( G ) follows from the fact that the graph ( V , , E ) contains the chain ( v 4 , v 5 , v 6 , v 7 ) with four vertices and the digraph ( V , A , ) contains the path ( v 4 , v 5 , v 6 , v 7 ) . So, the chromatic number χ ( G ) is not less than four. The optimality of the colouring c ( G ) follows also from the clique { v 6 , v 8 , v 10 , v 12 } .
Due to Corollary 2, an optimal colouring c ( G ) defines the following optimal semiactive schedule S for Example 1 with the input data shown in Figure 1:
S = ( C ( Q 1 , 1 ) = 1 , C ( Q 2 , 1 ) = 2 , ( Q 2 , 2 ) = 3 , C ( Q 3 , 1 ) = 1 , C ( Q 3 , 2 ) = 2 , C ( Q 3 , 3 ) = 3 , C ( Q 3 , 4 ) = 4 , C ( Q 4 , 1 ) = 1 , C ( Q 4 , 2 ) = 2 , C ( Q 4 , 3 ) = 4 , C ( Q 5 , 1 ) = 1 , C ( Q 5 , 2 ) = 2
Due to Corollary 2, we obtain the chromatic number χ ( G ) = 4 = C m a x ( S ) .

2.3. General Shop Minimum-Length Unit-Time Scheduling Problems

The general shop scheduling problem G c | t i j = 1 | C max is a generalisation of the job-shop scheduling problem J | t i j = 1 | C max . In the former problem G c | t i j = 1 | C max , in addition to the strict order that is determined on the set of operations Q ( i ) of the same job J i J , precedence constraints can be defined between operations of different jobs. Moreover, indicated unit-time operations must be processed simultaneously. In [9], completion-start precedence constraints and start-start precedence constraints between operations of different jobs were also considered.
The processing job J k J consists of the set V ( k ) of linearly ordered operations. The duration t i of every operation v i of the set V = k = 1 | J | V ( k ) equals one; t i = 1 . We represent the job J k J as a union of the path ( v k 1 , v k 2 , , v k r k ) in the directed graph ( V , A , ) and the chain ( v k 1 , v k 2 , , v k r k ) in the graph ( V , , E ) , which are subgraphs of the mixed graph G = ( V , A , E ) determining input data of the problem G c | t i j = 1 | C max . Thus, we obtain the vertex set V = k = 1 | J | V ( k ) of the desired mixed graph G = ( V , A , E ) , the subset E * = k = 1 | J | { [ v k 1 , v k 2 ] , [ v k 2 , v k 3 ] , , [ v k r k 1 , v k r k ] } of edges E E * and the subset A * of arcs A such that the implication (3) holds:
[ v i , v j ] E *   ( v i , v j ) A *
In the general shop unit-time scheduling problem G c | t i j = 1 | C max , along with a linear strict order given on the set V ( k ) of all operations of the job J k J , there are given precedence constraints between operations belonging to different jobs in the set J Let A \ A * denote a subset of the set A such that the implication (2) does not hold for each arc ( v i , v j ) A \ A * . In the unit-time scheduling problem G c | t i j = 1 | C max , one processor of the set M is needed to process an operation v i V = k = 1 | J | V ( k ) . Let the set V i = { v i 1 , v i 2 , , v i | V i | } V be a set of operations, which must be processed on the processor M i M . A pair of operations processed on the processor M i M cannot be processed simultaneously. Such a capacity constraint for processing operations V i V on the processor M i M is represented by the clique { v i 1 , v i 2 , , v i | V i | } in the subgraph ( V , , E \ E * ) of the desired mixed graph G = ( V , A , E ) .
The general shop unit-time scheduling problem G c | t i j = 1 | C max is to find a schedule S for processing the set V = i = 1 | M | V i = k = 1 | J | V ( k ) of partially ordered operations, whose length C max ( S ) is minimal among the lengths of all semiactive schedules existing for the general shop scheduling problem G c | t i j = 1 | C max . The input data for the general shop unit-time scheduling problem G c | t i j = 1 | C max are determined by the mixed graph G = ( V , A , E ) , where the vertex set V is a set of operations, the arc set A determines precedence constraints and the edge set E determines capacity constraints.
The union A * E * of the arc set A * and the edge set E * determines | J | subsets V ( k ) of the linearly ordered operations of the jobs J k J . The subset E \ E * of the edges determines | M | cliques { v i 1 , v i 2 , , v i | V i | } in the subgraph ( V , , E \ E * ) , where all operations { v i 1 , v i 2 , , v i | V i | } must be processed on the same processor M i M . The precedence constraints between operations belonging to different jobs are determined by the directed subgraph ( V , A \ A * , ) of the mixed graph G = ( V , A , E ) .
If the completion time c k p of the operation v k p , J k J , must precede the start time s l q of the operation v l q belonging the job J l J with k l , then the mixed graph G = ( V , A , E ) must contain both arc ( v k p , v l q ) A and edge [ v k p , v l q ] E ; see Definition 1. We denote this completion-start constraint as v k p v l q . If the constraint v p v q holds for the unit-time scheduling problem G c | t i j = 1 | C max , then the implication (1) holds for the arc ( v p , v q ) A   (the implication ( v p , v q ) A [ v p , v q ] E *   holds for the edges E * E ) . If the start time s k p of the operation v k p of the job J k J must precede the start time s l q of the operation v l q , J l J , where k l , then the desired mixed graph G = ( V , A , E ) contains arc ( v k p , v l q ) A . We denote this weak precedence constraint as follows: v k p v l q . If the precedence constraint v p v q holds for the problem G c | t i j = 1 | C max , then the implication (1) does not hold for the arc ( v p , v q ) A   .
Due to the use of weak precedence constraints, it is possible to require that a subset V ( k ) V of the unit-time operations must be processed simultaneously. To represent such a requirement, it is necessary to construct a circuit containing all vertices of the set V ( k ) . As shown in [9], the constructed mixed graph G = ( V , A , E ) completely determines the input data for a general shop unit-time problem G c | t i j = 1 | C max .
Definition 4. 
If a mixed graph  G = ( V , A , E )  completely determines the input data for the scheduling problem  α | β | γ , then this individual problem  α | β | γ  is called a scheduling problem  α | β | γ  on the mixed graph  G .
Theorem 3 was proved in [9].
Theorem 3 
([9]). A general shop unit-time problem  G c | t i j = 1 | C max  on the mixed graph  G = ( V , A , E )  reduces to the problem of determining the optimal colouring  c ( G ) .
It should be noted that there are problems in finding optimal colourings of the mixed graph that cannot be represented as a general shop unit-time scheduling problem G c | t i j = 1 | C max . In Appendix A, we solve Example A1 of the unit-time scheduling problem G c | t i j = 1 | C max to illustrate Theorem 3.

3. Colouring Vertices of Mixed Graphs and Unit-Time Scheduling Problems

In contrast to shop scheduling problems J | t i j = 1 | C max , G c | t i j = 1 | C max and other scheduling problems [5], where one machine performs each operation (task), in the multistage system, with multi-processor tasks [5,10,11], the task may require one processor or several dedicated processors during the entire time of processing this task. The tasks that require a common processor cannot be processed simultaneously.
Chapter 10 of the monograph [5] is devoted to unit-time scheduling problems G M P T | t i j = 1 | C max with multi-processor tasks. In [9], the more general unit-time scheduling problem G c M P T | t i j = 1 | C max was introduced including the unit-time scheduling problem G M P T | t i j = 1 | C max . In the unit-time scheduling problem G c M P T | t i j = 1 | C max , two types of the precedence relations v k p v l q and v k h v l g can be given in the input data. It may also be required that a set V ( k ) = { v k 1 , v k 2 , , v k | V ( k ) | } V of multi-processor tasks has to be performed simultaneously in each schedule. To present this condition, the circuit ( v k 1 , v k 2 , , v k | V ( k ) | , v k 1 ) must be included in the digraph ( V , A , ) such that the following is true:
A c = { ( v k 1 , v k 2 ) , ( v k 2 , v k 3 ) , , ( v k | V ( k ) | 1 , v k | V ( k ) | ) , ( v k | V ( k ) | , v k 1 ) } A .
We assume that the input data of the considered unit-time scheduling problem G c M P T | t i j = 1 | C max includes w subsets V ( 1 ) , V ( 2 ) , , V ( w ) of the given set V = { v 1 , v 2 , , v n } such that all tasks of the subset V ( k ) must be performed simultaneously; k { 1 , 2 , , w } . Since all unit-time tasks of the set V ( k ) = { v k 1 , v k 2 , , v k | V ( k ) | } must be fulfilled simultaneously, we obtain the following set of arcs:
A c = k = 1 w { ( v k 1 , v k 2 ) , ( v k 2 , v k 3 ) , , ( v k | V ( k ) | 1 , v k | V ( k ) | ) , ( v k | V ( k ) | , v k 1 ) } A
The example of the unit-time problem G c M P T | t i j = 1 | C max defines the mixed graph G = ( V , A , E ) with arc set A A c . Theorems 4 and 5 are proven in [9].
Theorem 4 
([9]). The unit-time problem  G c M P T | t i j = 1 | C max  on the mixed graph  G = ( V , A , E )  is solvable if and only if the directed subgraph  ( V , A , )  has no circuit containing adjacent vertices in the subgraph  ( V , , E ) .
Theorem 5 
([9]). Every solvable unit-time problem  G c M P T | t i j = 1 | C max  on the mixed graph  G = ( V , A , E )  is equivalent to the problem of finding an optimal colouring  c ( G )  of the mixed graph  G . For every colourable mixed graph  G = ( V , A , E )  there exists a unit-time problem  G c M P T | t i j = 1 | C max  determined by the same mixed graph  G , which is equivalent to finding an optimal colouring  c ( G )  of the mixed graph  G .
Theorems 4 and 5 are illustrated by solving Example A2 of the problem G c M P T | t i j = 1 | C max on the mixed graph G depicted in Figure A2; see Appendix B.

4. Minimising Maximal Lateness and Equivalent Minimising Makespan for Jobs with Integer Release Dates

The unit-time problem G c M P T | r i , t i j = 1 | C max with integer release dates r i 0 of the jobs J i J has been studied in [12]. Since release dates r i are non-negative integers and operations have unit durations, the input data of the problem G c M P T | r i , t i j = 1 | C max can be determined by the mixed graph G ; see Section 2 and Section 3.

4.1. Minimising Makespan for Unit-Time Tasks as Optimal Mixed Graph Colouring

In the problem G c M P T | r i , t i j = 1 | C max , the multi-processor task v i V is considered as a job J i . A job consisting of a single operation is referred to as a simple job in Theorem 6 which follows. Note that the first part of this theorem has been proven in [12] by generating a mixed graph G , which determines the problem G c M P T | t i j = 1 | C max to the mixed graph G = ( V , A , E ) determining the input data for the problem G c M P T | r i , t i j = 1 | C max . Due to the demonstrated correspondence of the terms used in optimal coloring c ( G ) and those used in solving a unit-time problem G c M P T | r i , t i j = 1 | C max , the following first part of Theorem 6 was proven in [12]: Any solvable unit-time problem  G c M P T | r i , t i j = 1 | C max  on the mixed graph  G = ( V , A , E )  is equivalent to the problem of finding an optimal colouring of the mixed graph  G = ( V , A , E ) .
Theorem 6. 
Any solvable unit-time problem  G c M P T | r i , t i j = 1 | C max  on the mixed graph  G  is equivalent to the problem of finding an optimal colouring of the mixed graph  G . Conversely, for any colourable mixed graph  G , there exists a unit-time problem  G c M P T | r i , t i j = 1 | C max  on the mixed graph  G , which is equivalent to the problem of finding optimal colouring  c ( G ) .
Proof of the second part of Theorem 6. 
We next prove the claim as follows: for any colorable mixed graph  G = ( V , A , E ) , there exists a unit-time problem  G c M P T | r i , t i j = 1 | C max  on the mixed graph  G , which is equivalent to the problem of finding optimal colouring  c ( G ) . Let set Ω denote a set of all circuits existing in the digraph ( V , A , ) .
We will treat two possible cases, I and II.
Case I. Let set Ω be empty; Ω = .
The unit-time scheduling problem G c M P T | r i , t i j = 1 | C max on the mixed graph G = ( V , A , E ) may be constructed based on Algorithm 1, which follows.
Case II. Let set Ω be not empty; Ω .
The mixed graph G = ( V , A , E ) is colourable. So, due to Theorem 1, each circuit ( v k 1 , v k 2 , , v k | V ( k ) | , v k 1 ) in set Ω has no vertices that are adjacent in the graph ( V , , E ) . Therefore, all tasks of the set { v k 1 , v k 2 , , v k | V ( k ) | } = V ( k ) must be processed simultaneously in the unit-time problem G c M P T | r i , t i j = 1 | C max on the mixed graph G = ( V , A , E ) with the circuit ( v k 1 , v k 2 , , v k | V ( k ) | , v k 1 ) existing in the directed subgraph ( V , A , ) . Assume that Ω = k = 1 w V ( k ) = k = 1 w { ( v k 1 , v k 2 , v k 3 , , v k | V ( k ) | 1 , v k | V ( k ) | , v k 1 ) } . We delete arcs A c determined in (4) from the mixed graph G = ( V , A , E ) and apply Algorithm 1 to the constructed mixed graph G 0 = ( V , A \ A c , E ) . Thus, we construct the unit-time problem G c M P T | r i , t i j = 1 | C max on the mixed graph G 0 = ( V , A \ A c , E ) , which is equivalent to the problem of finding the optimal coloring c ( G 0 ) . This unit-time problem G c M P T | r i , t i j = 1 | C max on the mixed graph G = ( V , A , E ) is equivalent to the problem of finding the optimal colouring c ( G ) of the mixed graph G . □
Algorithm 1: Determining the unit-time problem G c M P T | r i , t i j = 1 | C max , which is equivalent to the problem of finding an optimal colouring c ( G ) .
Input: 
A mixed graph G = ( V , A , E ) with a circuit-free digraph ( V , A , ) .
Output: 
The unit-time problem G c M P T | r i , t i j = 1 | C max on the mixed graph G = ( V , A , E ) that is equivalent to the problem of finding the optimal colouring c ( G ) .
Step 1:
Partition graph ( V , , E ) into maximal number of the connected components: ( V , , E ) = ( V 1 , , E 1 ) V m , , E m )   ( V m + 1 , , )   ( V m + r , , ) , where subgraphs ( V k , , E k ) are connected components of the graph ( V , , E ) for k { 1 , 2 , , m } , | V k | 2 , and each subgraph ( V j , , ) determines an isolated vertex for index j { m + 1 , m + 2 , , m + r } . Denote isolated vertices as follows: { v j 1 } = V j . Set M = , k = 1 , i = 0 , and l 0 = 0 .
Step 2:
IF  k = m + 1  GOTO step 5 ELSE find all maximum complete vertex-induced subgraphs ( V k 1 , , E k 1 ) , …, ( V k l k , , E k l k ) of the graph ( V k , , E k ) . Set r = 1 , i : = i + l k 1 + 1 .
Step 3:
FOR every index i , add the new processor M i to the already constructed set; M : = M { M i } . State that all tasks of the clique V k r of the graph ( V k , , E k ) will be processed on the processor M i ; V k r = V i = { v i 1 , v i 2 , , v i | V i | } , where all tasks { v i 1 , v i 2 , , v i | V i | } will be processed on the processor M i . Set i : = i + 1 .
Step 4:
IF  i = h = 0 k l h  THEN  k : = k + 1  GOTO step 2 ELSE  r : = r + 1  GOTO step 3.
Step 5:
FOR every index j { m + 1 , , m + r } , add the new processor M i + j m to the already constructed set M ; M : = M { M i + j m } . State that task v j 1 , V j = { v j 1 } , which is isolated in the graph ( V , , E ) , will be processed on processor M i + j m . Processor M i + j will process only task v j 1 . Set M : = M { M i + 1 , , M i + r } .
Step 6:
FOR every arc ( v p , v q ) A , for which the implication (2) does not hold, determine the weak precedence constraint v p v q .
Step 7:
FOR every arc ( v p , v q ) A , for which the implication (2) holds, determine the precedence constraint v p v q .
Step 8:
The unit-time problem G c M P T | r i , t i j = 1 | C max on the mixed graph G = ( V , A , E ) is constructed, where the precedence constraints on the set V are defined at steps 6 and 7. The set M of the processors is defined at steps 3 and 5.   STOP.
The above Algorithm 1 shows us how to construct the unit-time problem G c M P T | r i , t i j = 1 | C max on the mixed graph G = ( V , A , E ) , which is equivalent to the problem of finding an optimal coloring c ( G ) of the mixed graph G = ( V , A , E ) , all jobs in the set J being simple.
To illustrate Theorem 6, we solve Example 2 of the unit-time problem G c M P T | r i , t i j = 1 | C max on the mixed graph G = ( V , A , E ) depicted in Figure 2.
Example 2. 
This example is similar to Example A2 with the input data shown in Figure A2; see Appendix B. The only difference is that the input data for Example 2 include the following release dates for the jobs  { J 1 , J 2 , , J 5 } = J :  r 1 = 4 ,  r 2 = 2 ,  r 3 = 0 ,   r 4 = 1 ,  r 5 = 3 . We determine the input data for Example 2 based on a mixed graph  G * * = ( V * * , A * * , E * * )  that includes the subgraph  G = ( V , A , E )  presented in Figure 2. The release date  r 1 = 4  of the job  J 1 J  is represented by the union of path  ( v 13 , v 14 , v 15 , v 16 , v 1 )  in the directed graph  ( V * * , A * * , )  and chain  ( v 13 , v 14 , v 15 , v 16 , v 1 )  in the graph  ( V * * , , E * * ) . The release date  r 2 = 2  of the job  J 2 J  is represented by the union of path  ( v 17 , v 18 , v 2 )  in the directed graph  ( V * * , A * * , )  and chain  ( v 17 , v 18 , v 2 )  in the graph  ( V * * , , E * * ) . The release date  r 4 = 1  of the job  J 4 J  is represented by the union of arc  ( v 19 , v 8 )  in the directed graph  ( V * * , A * * , )  and edge  [ v 19 , v 8 ]  in the graph  ( V * * , , E * * ) . The release date  r 5 = 3  of the job  J 5 J  is represented by the union of path  ( v 20 , v 21 , v 22 , v 11 )  in the directed graph  ( V * * , A * * , )  and chain  ( v 20 , v 21 , v 22 , v 11 )  in the graph  ( V * * , , E * * ) .
The directed subgraph ( V * * , A * * , ) of the mixed graph G * * = ( V * * , A * * , E * * ) contains the single circuit ( v 1 , v 8 , v 3 , v 1 ) . Since this circuit has no vertices that are adjacent in the subgraph ( V * * , , E * * ) of the mixed graph G * * = ( V * * , A * * , E * * ) , there exists a semiactive schedule for Example 2 of the unit-time problem G c M P T | r i , t i j = 1 | C max on the mixed graph G * * = ( V * * , A * * , E * * ) ; see Theorem 4. One can construct the following optimal colouring of the mixed graph G * * = ( V * * , A * * , E * * ) depicted in Figure 2: c ( v 1 ) = 5   c ( v 2 ) = 3 ,   c ( v 3 ) = 5 ,   c ( v 4 ) = 6 ,   c ( v 5 ) = 7 ,   c ( v 6 ) = 8 ,   c ( v 7 ) = 9 ,   c ( v 8 ) = 5 ,   c ( v 9 ) = 6 ,   c ( v 10 ) = 8 ,   c ( v 11 ) = 4 , c ( v 12 ) = 9 , c ( v 13 ) = 1 , c ( v 14 ) = 2 , c ( v 15 ) = 3 , c ( v 16 ) = 4 , c ( v 17 ) = 1 , c ( v 18 ) = 2 , c ( v 19 ) = 1 , c ( v 20 ) = 1 , c ( v 21 ) = 2 , c ( v 22 ) = 3 .
The colouring c ( G ) with χ ( G ) = 9 is optimal for Example 2 since digraph ( V * * , A * * , ) contains a path ( v 20 , v 21 , v 22 , v 11 , v 8 , v 4 , v 5 , v 6 , v 7 ) and the graph ( V * * , , E * * ) contains a chain ( v 20 , v 21 , v 22 , v 11 , v 8 , v 4 , v 5 , v 6 , v 7 ) whose lengths are equal to 9. Because of this path and chain, the inequality χ ( G * * ) 9 holds. Based on Theorem 6, the colouring c ( G * * ) defines the following optimal semiactive schedule for Example 2:
S = ( C ( Q 1 , 1 ) = 5 , C ( Q 2 , 1 ) = 3 , C ( Q 2 , 2 ) = 5 , C ( Q 3 , 1 ) = 6 , C ( Q 3 , 2 ) = 7 , C ( Q 3 , 3 ) = 8 , C ( Q 3 , 4 ) = 9 ,
C ( Q 4 , 1 ) = 5 , C ( Q 4 , 2 ) = 6 , C ( Q 4 , 3 ) = 8 , C ( Q 5 , 1 ) = 4 , C ( Q 5 , 2 ) = 9 )
The correspondence between operations Q and vertices V is based on Remark 1. Due to Theorem 6, the following equalities hold: χ ( G * * ) = 9 = C max .

4.2. Equivalent Scheduling Problems for Minimising either Makespan or Miximal Lateness

In [12], it was proven that the scheduling problem G c M P T | r i , t i j = 1 | C max reduces to the scheduling problem G c M P T | t i j = 1 , D i | L max with the objective of minimising the maximal lateness L max = max { C i D i : J i J } , where the given due dates D i 0 are integers.
Theorem 7 
([12]). Every solvable unit-time problem  G c M P T | r i , t i j = 1 | C max  on the mixed graph  G  with integer release dates  r i 0  reduces to unit-time problem  G c M P T | t i j = 1 , D i | L max  with non-negative integer due dates, and vice versa.
For illustrating Theorem 7, we solve Example 2 of the unit-time problem G c M P T | r i , t i j = 1 | C max on the mixed graph G * * = ( V * * , A * * , E * * ) shown in Figure 2 and the following Example 3 of the unit-time problem G c M P T | t i j = 1 , D i | L max .
Example 3. 
In Example 3 of the problem  G c M P T | t i j = 1 , D i | L max  on the mixed graph  G = ( V , A , E )  depicted in Figure 3, the set of jobs  J 1 ,  J 2 ,  J 3 ,  J 4  and  J 5  are ready for processing on the processors  M = { M 1 , M 2 , , M 9 }  from a release date of zero. Each processor  M k M  must process the same subset of jobs as in Example 2. However, the orders for processing the same operations are opposite to the linear orders determined in Example 2. If the precedence constraints  v i v j  and  v p v q  are given between operations belonging to different jobs in Example 2, the inverse precedence constraints  v j v i  and  v q v p  must be given in Example 3 of the general shop scheduling problem  G c M P T | t i j = 1 , D i | L max . For Example 3, the due dates of the given jobs  J 1 , J 2 , J 3 , J 4 , J 5  are defined as follows:  D 1 = max { r j : J j J } r 1 = 4 4 = 0 ,   D 2 = 4 r 2 = 4 2 = 2 ,   D 3 = 4 r 3 = 4 0 = 4 ,   D 4 = 4 r 4 = 4 1 = 3 ,   D 5 = 4 r 5 = 4 3 = 1 .
The input data for Example 3 are given by the mixed graph G = ( V * * , A , E * * ) presented in Figure 3. The set V * * of vertices and the set E * * of edges in the mixed graph G are the same as those depicted in Figure 3 for the mixed graph G .
Compare the mixed graph depicted in Figure 3 for the problem G c M P T | t i j = 1 , D i | L max and the mixed graph G * * = ( V * * , A * * , E * * ) depicted in Figure 2 for the problem G c M P T | r i , t i j = 1 | C max . By Theorems 6 and 7, for Example 3 of the general shop unit-time scheduling problem G c M P T | t i = 1 , D i | L max on the mixed graph G = ( V * * , A , E * * ) , the optimal semiactive schedule S is determined by the optimal colouring of mixed graph G = ( V * * , A , E * * ) shown in Figure 3: c ( v 1 ) = 5   c ( v 2 ) = 7 ,   c ( v 3 ) = 5 ,   c ( v 4 ) = 4   c ( v 5 ) = 3 ,   c ( v 6 ) = 2 ,   c ( v 7 ) = 1 ,   c ( v 8 ) = 5 ,   c ( v 9 ) = 4 ,   c ( v 10 ) = 2 ,   c ( v 11 ) = 6 , c ( v 12 ) = 1 , c ( v 13 ) = 9 , c ( v 14 ) = 8 , c ( v 15 ) = 7 , c ( v 16 ) = 6 , c ( v 17 ) = 9 , c ( v 18 ) = 8 , c ( v 19 ) = 6 , c ( v 20 ) = 9 ,   c ( v 21 ) = 8 , c ( v 22 ) = 7 .
The colouring c ( G ) defines the following optimal schedule for Example 3:
S = ( C ( Q 1 , 1 ) = 5 , C ( Q 2 , 1 ) = 7 , C ( Q 2 , 2 ) = 5 , C ( Q 3 , 1 ) = 4 , C ( Q 3 , 2 ) = 3 , C ( Q 3 , 3 ) = 2 , C ( Q 3 , 4 ) = 1 ,
C ( Q 4 , 1 ) = 5 , C ( Q 4 , 2 ) = 4 , C ( Q 4 , 3 ) = 2 , C ( Q 5 , 1 ) = 6 , C ( Q 5 , 2 ) = 1 )
The optimal maximum lateness is equal to χ ( G ) max { r i : J i J } = 9 4 = 5 .

5. An Optimal Schedule of Interruptible Operations with Integer Processing Times

We investigate the scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max with integer release dates, positive integer operation durations, and allowed operation interruptions. In the three-field notation, p m t n indicates allowed preemptions of the operations and [ t i j ] ( [ r i ] , respectively) means that the operation durations (release dates of the jobs) are positive (non-negative) integers.

5.1. Partitions of the Interruptible Operations with Integer Duration into Unit-Time Operations

If interruptions of the operation are allowed, then a set of schedules is usually larger than a set of schedules of non-interruptible operations of the set Q . The larger set of schedules may complicate optimal scheduling [11]. Obviously, allowing interruptions of the operations from the set Q may decrease an optimal value of the objective function. Thus, for most scheduling problems, it is desirable to reduce the number of allowed interruptions of the operations Q without losing an optimal semiactive schedule.
Lemma 2. 
If the release dates  r i  of the jobs  J i J  are non-negative integers and the operations  Q i j Q  have positive integer durations  t i j > 0 , then there exists an optimal semiactive schedule such that interruptions in processing operations occur only at the integer times.
Proof. 
The interruption of the operation Q i j Q can reduce the value of a regular objective function in the semiactive schedule without interruptions only if the interruption is at a completion time of at least one operation Q i j Q . In fact, due to such interruption of the operation Q i j Q processed on the processor M μ ( i . j ) M , another operation Q u v Q with u i can start its processing on the same processor M μ ( i . j ) = M μ ( u , v ) , since this processor becomes free.
Since the release dates r i of the given jobs J i { J 1 , J 2 , , J | J | } are non-negative integers and operations have positive integer durations, in any semiactive schedule without operation interruptions, the realisation of each operation can be completed only at integer times. Lemma is proven. □
Due to Lemma 2, operations Q 1 , 1 Q ( 1 ) with positive integer durations can be partitioned into t 1 , 1 unit-time operations. We denote these unit-time operations as follows: { v 1 , v 2 , , v t 1 , 1 } . Let { v t 1 , 1 + 1 , v t 1 , 1 + 2 , , v t 1 , 1 + t 1 , 2 } be a set of all unit-time operations generated by similar partitioning the operation Q 1 , 2 Q ( 1 ) . Similarly, we partition operations Q ( 1 ) \ { Q 1 , 1 , Q 1 , 2 } into unit-time operations and assign sequential indexes to the generated unit-time operations.
Continuing the above partitioning procedure of operations from set Q ( 1 ) with integer durations, we generate the following set of unit-time operations:
W 1 = { v 1 , v 2 , , v | W 1 | } ,   where   | W 1 | = j = 1 | Q ( 1 ) | t 1 , j .
The generated unit-time operations will be ordered as follows: ( v 1 , v 2 , , v | W 1 | ) within any feasible schedule; see Lemma 2.
Remark 2. 
We represent all unit-time operations generated by the above partition of operations  Q  as vertices in the mixed graph  G = ( V , A , E ) . Here and elsewhere, the generated unit-time operations are linearly ordered in the ascending order of their indexes. For each job  J i J , the unit-time operations generated by the above partitioning procedure of the integer-time operations  Q ( i )  will be fulfilled in the ascending order of their indexes in any semiactive schedule.
We continue with the generated unit-time operation v | W 1 | + 1 by sequentially indexing the generated unit-time operations into which integer-time operations from set Q ( 2 ) = { Q 2 , 1 , Q 2 , 2 , , Q 2 , | Q ( 2 ) | } contained in the job J 2 J are partitioned. Thus, we obtain the following set of the unit-time operations:
W 2 = { v | W 1 | + 1 , v | W 1 | + 2 , , v | W 2 | } , where   | W 2 | = | W 1 | + j = 1 | Q ( 2 ) | t 2 , j ,
of the linearly ordered unit-time operations generated from integer-time operations of job J 2 ; see Remark 2. Using the above partitioning technique, we index the unit-time operations of the jobs in set J \ { J 1 , J 2 } in the increasing order of job indexes and indexes of all generated unit-time operations. At the end of this partitioning process, for operations with integer job durations J | J | J , the following set is obtained:
W | J | = { v | W | J | 1 + 1 , v | W | J | 1 + 2 , , , v | W | J | | } ,   where   | W | J | | = | W | J | 1 | + j = 1 | Q ( | J | ) | t | J | , j ,
of the ordered unit-time operations generated by the integer-time operations belonging to the job J | J | . All jobs from the set J will be processed based on Remark 2 applied to the set W : = i = 1 | J | W i of all generated unit-time operations. Furthermore, for each job J i J , the unit-time operations of the set W i generated by the above partitioning procedure applied to the integer-time operations of the set Q ( i ) are fulfilled in increasing order of their indexes during the realisation of each semiactive schedule.

5.2. Relationships between Scheduling Problems and Optimal Mixed Graph Colourings

We next prove Theorem 8, which generalizes Theorem 5 to the problem G c M P T | r i , [ t i j ] , p m t n | C max of constructing an optimal schedule for fulfilling jobs J i J with integer release dates r i 0 and positive durations t i j > 0 of the operations Q i j Q ( i ) Q with allowed interruptions.
Theorem 8. 
Every solvable scheduling problem  G c M P T | r i , [ t i j ] , p m t n | C max  pseudo-polynomially reduces to a problem of constructing an optimal colouring of vertices of the mixed graph  G = ( V , A , E ) . For every colourable mixed graph  G , there exists a scheduling problem  G c M P T | r i , [ t i j ] , p m t n | C max  on the mixed graph  G , which is equivalent to the problem of finding the optimal colouring  c ( G )  of vertices of the same mixed graph  G .
Proof. 
We consider arbitrary solvable scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max of constructing a makespan-optimal schedule for fulfilling jobs J = { J 1 , J 2 , , J | J | } by the available dedicated processors M = { J 1 , J 2 , , J | M } . We show how to construct the mixed graph G = ( V , A , E ) such that optimal colouring c ( G ) defines a solution to the problem G c M P T | r i , [ t i j ] , p m t n | C max .
Due to Lemma 2, there exists an optimal semiactive schedule such that interruptions in the operations (if any) occur only at the integer time moments. Thus, to construct the mixed graph G = ( V , A , E ) , we will determine a set of unit-time operations
W = { v 1 , v 2 , , v | W | } = i = 1 | J | W i
generated by the above partitioning of the integer-time operations belonging to jobs J i J = { J 1 , J 2 , , J | J | } into the unit-time tasks sequentially, as shown in Section 5.1. The Formula (5) determines the set W 1 of the unit-time tasks generated by integer-time tasks Q ( 1 ) belonging to a job J 1 .
The Formula (6) determines the set W 2 of the unit-time tasks generated by the integer-time tasks Q ( 2 ) belonging to the job J 2 .
Similar formulas for sets Q ( 3 ) , Q ( 4 ) , , Q ( | J | 1 ) of the integer-time tasks sequentially determine sets W 3 , W 4 , , W | J | 1 , respectively, of the generated unit-time tasks.
Finally, the Formula (7) determines the set W | J | of the unit-time tasks generated by the integer-time tasks Q ( | J | ) belonging to the last job J | J | J .
The above partitioning(see Section 5.1) of the integer-time tasks Q = i = 1 | J | Q ( i ) into the unit-time tasks determines a subgraph ( W , , ) with an empty set of arcs and an empty set of edges in the indicated mixed graph G = ( V , A , E ) , where W V . Based on Remark 2, every job J i J consisting of the ordered set of the integer-time tasks Q ( i ) is partitioned into the linearly ordered set of the unit-time tasks of the following form: W i = { v | W i 1 | + 1 , v | W i 1 | + 2 , , v | W i | } .
In any semiactive schedule, the unit-time tasks W i have to be executed in ascending order of indexes of the unit-time tasks v k W i ; see Remark 2. By Definition 1, the desired mixed graph G = ( V , A , E ) must contain the set of arcs A i = { ( v | W i 1 | + 1 , v | W i 1 | + 2 ) , ( v | W i 1 | + 2 , v | W i 1 | + 3 ) , , ( v | W i | 1 , v | W i | ) } and the following set of edges: E i = { [ v | W i 1 | + 1 , v | W i 1 | + 2 ] , [ v | W i 1 | + 2 , v | W i 1 | + 3 ] , , [ v | W i | 1 , v | W i | ] } .
The sets of arcs A i and edges E i will determine the linear order for the execution of the unit-time tasks from set W i when implementing any semiactive schedule for the problem G c M P T | r i , [ t i j ] , p m t n | C max ; see Remark 2.
Thus, we constructed a subgraph ( W , i = 1 | J | A i , i = 1 | J | E i ) of the desired mixed graph G = ( V , A , E ) where inclusion W V holds. For every processor M k M , set Q k of all integer-time tasks fulfilled by the processor M k defines set V k of unit-time tasks fulfilled by the processor M k . The cardinality of set V k is equal to the total processing time of the integer-time tasks for fulfilling all jobs in the set J ( k ) = : { J k 1 , J k 2 , , J | J ( k ) | } . So, the following equality holds:
| V k | = J i J ( k ) t i k
Set V k is partitioned into | J ( k ) | subsets V k j of the tasks with unit durations for fulfilling jobs J k j J ( k ) , i.e., the equality V k = V k 1 V k 2 V k | J ( k ) | holds, where V k j and V k j V k h = for each indices j h . As can be easily verified, the forbiddance to simultaneously execute every pair of the unit-time tasks of the set V k in a semiactive schedule is determined by the complete | J ( k ) | -partite subgraph ( V k , , E k ) of the mixed graph G = ( V , A , E ) with the following set { V k 1 , V k 2 , , V k | J ( k ) | } of vertices and the following edge set E k with the cardinality determined as follows:
| E k | = i = 1 | J ( k ) | 1 j = i + 1 | J ( k ) | { | V k i | × | V k j | }
Together with the precedence constraints determined above between tasks belonging to the same job J i J , the input data for the problem G c M P T | r i , [ t i j ] , p m t n | C max may include the precedence constraints defined on the set of tasks, which belong to different jobs of the set J . Let these precedence constraints be determined as follows:
R = { v k 1 v k 2 ,   v k 3 v k 4 , , v k | k | 1 v k | k | }
Moreover, the following weak precedence constraints on the set of tasks, which belong to different jobs of the set J , may also be determined:
R = { v h 1 v h 2 , v h 3 v h 4 , , v h | h | 1 v h | h | }
According to Definition 1, we introduce the precedence constraints (10) by adding the set A | J | + 1 = { ( v k 1 , v k 2 ) , ( v k 2 , v k 3 ) , , ( v k | k | 1 , v k | k | ) } of the arcs and the set E | J | + 1 = { [ v k 1 , v k 2 ] , [ v k 2 , v k 3 ] , , [ v k | k | 1 , v k | k | ] } of the edges in the mixed graph G = ( V , A , E ) .
To determine the weak precedence constraints (11), it is sufficient to add the following set A | J | + 2 = { ( v h 1 , v h 2 ) , ( v h 2 , v h 3 ) , , ( v h | h | 1 , v h | h | ) } of the arcs in the desired mixed graph G = ( V , A , E ) . Let the input data for the scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max include the subsets V ( 1 ) , V ( 2 ) , , V ( l ) of the unit-time operations from the set Q such that operations of the subset V ( g ) = { v g 1 , v g 2 , , v g | V ( g ) | } Q must be executed simultaneously in any schedule, where g { 1 , 2 , , l } . Therefore, the set of weak precedence constraints R determined in (11) must contain the following subset:
g = 1 l { v g 1 v g 2 , v g 2 v g 3 , , v g | g | 1 v g | g | , v g | g | v g 1 }
It is clear that the above constructed set A | J | + 2 of the arcs must contain the following set of the arcs: A | J | + 3 = g = 1 l { ( v g 1 , v g 2 ) , ( v g 2 , v g 3 ) , , ( v g | g | 1 , v g | g | ) , ( v g | g | , v g 1 ) } ; see Definition 1. We have constructed the arc set A o = { i = 1 | J | A i } A | J | + 1 A | J | + 2 A | J | + 3 } , the edge set E o = { i = 1 | J | E i } E | J | + 1 and the vertex set W = { v 1 , v 2 , , v | W | } = i = 1 | J | W i , where each vertex determines the unit-time operation (task) generated by the operation from the set Q with integer durations. Thus, we have constructed the mixed graph ( W , A o , E o ) , which is a subgraph of the desired mixed graph G .
The input data for the considered solvable problem G c M P T | r i , [ t i j ] , p m t n | C max include also the non-negative integer release dates r 1 , r 2 , , r | J | of the jobs J 1 , J 2 , , J | J | , respectively. Therefore, for every job J i J , the set W ( r i ) = { v i 1 0 , v i 2 0 , , v i r i 1 0 } of the vertices and the path ( v i 1 0 , v i 2 0 , , v i r i 1 0 ) , whose length is equal to r i 0 , are determined. We add all these vertices and arcs of the following paths: ( v i 1 0 , v i 2 0 , , v i r i 1 0 ) to subgraph ( W , A o , ) of mixed graph ( W , A o , E o ) .
We also add the edges of the following chains ( v i 1 0 , v i 2 0 , , v i r i 1 0 ) to subgraph ( W , , E o ) of mixed graph ( W , A o , E o ) . Let G = { V , A , E ) be a mixed graph generated by the mixed graph ( W , A o , E o ) after adding all the vertices i = 1 | J | W ( r i ) , all the arcs of paths ( v i 1 0 , v i 2 0 , , v i r i 1 0 ) and all the edges of chains ( v i 1 0 , v i 2 0 , , v i r i 1 0 ) .
Thus, we have constructed the desired mixed graph G = ( V , A , E ) . For the constructed mixed graph, the following equality V = W + i = 1 | J | W ( r i ) holds. Due to the above construction of the mixed graph, the precedence constraints defined on the set of tasks for the problem G c M P T | r i , [ t i j ] , p m t n | C max are determined by graph ( W , A o , E o ) . The prohibition of simultaneously fulfilling every pair of unit-time tasks of the set V ( k ) in any semiactive schedule is determined by the complete | J ( k ) | -partite graph ( V ( k ) , , E ( k ) ) with the vertex set { V k 1 , V k 2 , , V k | J ( k ) | } . The given release dates r 1 , r 2 , , r | J | of the given jobs J 1 , J 2 , , J | J | are defined by a subgraph ( i = 1 | J | W ( r i ) , A \ A o , E \ E o ) of the constructed mixed graph G = ( V , A , E ) .
As can be easily verified, the constructed mixed graph G = ( V , A , E ) completely defines the input data of the considered scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max . Hence, for the solvable general scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max determined on mixed graph G = ( V , A , E ) , there exists a semiactive schedule
S = ( C ( v 1 ) , C ( v 2 ) , , C ( Q | W | )
which defines the colouring c ( G ) of the constructed mixed graph G = ( V , A , E ) as follows: the equality c ( v i ) = C ( v i ) holds for every vertex v i V . It is clear that the optimal semiactive schedule S that exists for the solvable scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max on the mixed graph G = ( V , A , E ) defines the optimal colouring c ( G ) of the constructed mixed graph G = ( V , A , E ) .
Compare the form (1) of semiactive schedules existing for unit-time problems and the form (12) of semiactive schedules existing for problem G c M P T | r i , [ t i j ] , p m t n | C max with the aim to construct a makespan-optimal schedule for fulfilling jobs J i J with the positive integer processing times t i j > 0 of the operations Q i j Q , provided that operation interruptions are allowed. Along with the completion times of the given operations Q i j Q ( i ) Q , with integer processing times, the latter semiactive schedule must define the completion times of the unit-time operations generated by the above partitioning procedure of the operations Q i j Q ( i ) with integer processing times. Due to the equalities (8) and (9), the described reduction of the general scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max to the problem of finding the optimal colouring c ( G ) of the constructed mixed graph G = ( V , A , E ) is pseudo-polynomial.
The proof of the first part of Theorem 8 is completed.
It should be noted that an optimal semiactive schedule existing for the problem G c M P T | r i , [ t i j ] , p m t n | C max with positive integer durations of all given operations, integer non-negative release dates of the given jobs, and allowed operation interruptions can be obtained from the optimal semiactive schedule existing for the unit-time scheduling problem G c M P T | r i , t i j = 1 | C max , and vice versa. Indeed, if the integer-time operations Q i j Q are partitioned into the unit-time operations W based on the above partitioning procedure described in Section 5.1 (see Lemma 2 and Remark 2), the operation interruptions of the set W cannot reduce the value C max for the optimal semiactive schedule. Thus, the possibilities of interrupting the operations in the scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max can be ignored when constructing a makespan-optimal semiactive schedule that exists for the considered scheduling problem.
Hence, the problem G c M P T | r i , [ t i j ] , p m t n | C max can be solved as a special case of the unit-time scheduling problem G c M P T | r i , t i j = 1 | C max ; see Section 4.1. Therefore, the proof of the second part of Theorem 8 follows directly from the second part of Theorem 6. Theorem 8 is proved. □

6. Example 4 of General Scheduling Problem with Interruptible Operations

To illustrate Theorem 8, we describe Example 4 of solvable scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max with a set of jobs J = { J 1 , J 2 , J 3 , J 4 } , seven dedicated processors M = { M 1 , M 2 , , M 7 } , integer release dates r i 0 , integer processing times t i j > 0 of the multi-processor tasks, two types of the precedence constraints between operations, and allowed interruptions of the integer-time operations.
Example 4. 
The main part of the input data for Example 4 is presented in Table 1. Other input data for Example 4 will be determined after constructing a mixed graph with a set  W  of the vertices corresponding to unit-time operations generated by partitioning the integer-time operations  Q i j Q  based on Remark 2.
Using the constructive proof of the first part of Theorem 8, we next show how to construct the mixed graph determining the input data of Example 4. Based on Lemma 2, we first partition the integer-time operations Q 1 , j Q ( 1 ) into operations W 1 = { v 1 , v 2 , v 3 } with unit durations. Similarly, we partition the integer-time operations Q 2 , j Q ( 2 ) into operations W 2 = { v 4 , v 5 , v 6 , v 7 , v 8 , v 9 } with unit durations. Then, we partition the integer-time operations Q 3 , j Q ( 3 ) into operations W 3 = { v 10 , v 11 , v 12 , v 13 , v 14 , v 15 } with unit durations. Finally, we partition the operations Q 4 , j Q ( 4 ) of the last job into the operations W 4 = { v 16 , v 17 , v 18 , v 19 } with unit durations. As a result, we construct the following set of operations: W = { v 1 , v 2 , , v 19 } = i = 1 4 W i with unit durations generated from the integer-time operations of four given jobs J = { J 1 , J 2 , J 3 , J 4 } .
Due to Remark 2 and Definition 1, the mixed graph G = ( V , A , E ) contains a set of arcs A i and a set of edges E i that determine the linear order of the operations of the set W i in the semiactive schedule that exists for Example 4. The set of arcs A i and the set of edges E i must be constructed for each job J i { J 1 , J 2 , J 3 , J 4 } . Thus, we have constructed a subgraph ( W , i = 1 | J | A i , i = 1 | J | E i ) of mixed graph G = ( V , A , E ) with inclusion W V ; see Figure 4, where the desired mixed graph G is depicted.
For each processor M k M , the operation set Q k defines the set V k of operations with unit durations to be executed on that processor M k . The cardinality | V k | of set V k is equal to the total processing time of the integer-time operations for fulfilling a set of the jobs J ( k ) = { J k 1 , J k 2 , , J | J ( k ) | } ,   k { 1 , 2 , , 7 } . Based on the Formula (8), we calculate these cardinalities as follows:
| V 1 | = J i J ( 1 ) t i , 1 = 2 + 1 + 1 + 1 = 5 , | V 2 | = J i J ( 2 ) t i , 2 = 2 + 3 = 5 , | V 3 | = J i J ( 3 ) t i , 3 = 2 + 1 + 1 = 4 , | V 4 | = J i J ( 4 ) t i , 4 = 2 + 3 = 5 , | V 5 | = J i J ( 5 ) t i , 5 = 2 + 3 = 5 , | V 6 | = J i J ( 6 ) t i , 6 = 3 + 2 = 5 , | V 7 | = J i J ( 7 ) t i , 7 = 1 + 2 = 3 .
The prohibition of simultaneously executing each pair of unit-time operations of set V k on the processor M k in any semiactive schedule is determined by the complete | J ( k ) | -partite subgraph ( V k , , E k ) with vertex set { V k 1 , V k 2 , , V k | J ( k ) | } as | J ( k ) | parts in the | J ( k ) | -partite subgraph ( V k , , E k ) and edge set E k , k { 1 , 2 , , 7 } .
Based on the Formula (9), we calculate the cardinalities | E k | , k { 1 , 2 , 3 , 4 } , as follows:
| E 1 | = i = 1 | J ( 1 ) | 1 { j = i + 1 | J ( 1 ) | { | V 1 i | × | V 1 j | } } = { { 2 × 1 } + { 2 × 1 } + { 2 × 1 } } + { { 1 × 1 } + { 1 × 1 } } + { { 1 × 1 } } = 9 ,   | E 2 | = i = 1 | J ( 2 ) | 1 { j = i + 1 | J ( 2 ) | { | V 1 i | × | V 1 j | } } = 2 × 3 = 6 , | E 3 | = i = 1 | J ( 3 ) | 1 { j = i + 1 | J ( 3 ) | { | V 1 i | × | V 1 j | } } = { { 2 × 1 } + { 2 × 1 } } + { 1 × 1 } = 5 , | E 4 | = | E 5 | = | E 6 | = | E 2 | = 2 × 3 = 6 , | E 7 | = 1 × 2 = 2 .
It is clear that, due to the 4-partite graph ( V 1 , , E 1 ) , it is forbidden to simultaneously fulfill a pair of the operations of set V 1 on the processor M 1 . Due to the tripartite graph ( V 3 , , E 3 ) , it is forbidden to simultaneously fulfill a pair of operations from the V 3 on the processor M 3 . Due to the bipartite graph ( V 2 , , E 2 ) , it is forbidden to simultaneously fulfill a pair of the operations of set V 2 on the processor M 2 . Due to the bipartite graph ( V 4 , , E 4 ) , it is forbidden to simultaneously fulfill a pair of the operations of set V 4 on the processor M 4 . Due to the bipartite graph ( V 5 , , E 5 ) , it is forbidden to simultaneously fulfill a pair of the operations of set V 5 on the processor M 5 . Due to the bipartite graph ( V 6 , , E 6 ) , it is forbidden to simultaneously fulfill a pair of the operations of set V 6 on the processor M 6 . Due to the bipartite graph ( V 7 , , E 7 ) , it is forbidden to simultaneously fulfill a pair of the operations of set V 7 on the processor M 7 .
Let precedence constraints determined on a set of operations belonging to different jobs in Example 4 be given as follows:  R = { v 4 v 1 ,   v 9 v 3 , v 13 v 16 , } . Let the weak precedence constraints in Example 4 be given as follows:  R = { v 1 v 13 ,   v 13 v 5 , v 5 v 1 } .
To include the precedence constraints R in the input data of Example 4, we add the set of arcs A | J | + 1 = { ( v 4 , v 1 ) , ( v 9 , v 3 ) , ( v 13 , v 16 ) } and the edge set E | J | + 1 = { [ v 1 , v 4 ) , { v 3 , v 9 ] , [ v 13 , v 16 ] } to the mixed graph G = ( V , A , E ) . To include weak precedence constraints R in the input data of Example 4, we add the arc set A | J | + 2 = { ( v 1 , v 13 ) , ( v 13 , v 5 ) , ( v 5 , v 1 ) } to the mixed graph G = ( V , A , E ) . We see that set of arcs A | J | + 2 determines circuit ( v 1 , v 13 , v 5 , v 1 ) in the directed graph ( V , A , ) . Therefore, unit-time operations of set { v 1 , v 13 , v 5 } have to be simultaneously fulfilled.
Let the following release dates of the jobs  J = { J 1 , J 2 , J 3 , J 4 }  be given as a part of the input data of Example 4:  r 1 = 4 , r 2 = 3 ,  r 3 = 1 ,  r 4 = 3 .
Release date r 1 = 4 of the job J 1 J is determined by the union of path ( v 20 , v 21 , v 22 , v 23 , v 1 ) in the directed graph ( V , A , ) and chain ( v 20 , v 21 , v 22 , v 23 , v 1 ) in the subgraph ( V , , E ) of the mixed graph G = ( V , A , E ) . Release date r 2 = 3 is presented by the union of path ( v 24 , v 25 , v 26 , v 4 ) in the directed graph ( V , A , ) and chain ( v 24 , v 25 , v 26 , v 4 ) in the subgraph ( V , , E ) of the desired mixed graph G = ( V , A , E ) . Release date r 3 = 1 of the job J 3 J is presented by the union of arc ( v 27 , v 10 ) in the directed graph ( V , A , ) and edge [ v 27 , v 10 ] in the subgraph ( V , , E ) of the desired mixed graph G = ( V , A , E ) . Release date r 4 = 3 of the job J 4 J is presented by the union of path ( v 28 , v 29 , v 30 , v 16 ) in the directed graph ( V , A , ) and chain ( v 28 , v 29 , v 30 , v 16 ) in the subgraph ( V , , E ) of the desired mixed graph G = ( V , A , E ) . Now, the desired mixed graph G is constructed. Figure 4 presents the constructed mixed graph G determining the whole input data for Example 4 of the problem G c M P T | r i , [ t i j ] , p m t n | C max with four jobs J = { J 1 , J 2 , J 3 , J 4 } and seven dedicated processors M = { M 1 , M 2 , , M 7 } .
Due to Theorem 8, a solvable problem G c M P T | r i , [ t i j ] , p m t n | C max (like Example 4) reduces to determining optimal colouring c ( G ) . An existing semiactive schedule for the scheduling problem with possible interruptions of the operations is determined by set (12) of completion times of the unit-time operations of set W . The semiactive schedule is determined by the colouring c ( G ) of the mixed graph G , in which the equality c ( v i ) = C ( v i ) holds for the vertices v i W . The makespan-optimal semiactive schedule that exists for Example 4 is determined by the optimal colouring c ( G ) , where c ( v 1 ) = 5 ,   c ( v 2 ) = 10 ,   c ( v 3 ) = 11 ,   c ( v 4 ) = 4 ,   c ( v 5 ) = 5 ,   c ( v 6 ) = 6 ,   c ( v 7 ) = 7 ,   c ( v 8 ) = 8 ,   c ( v 9 ) = 9 ,   c ( v 10 ) = 2 ,   c ( v 11 ) = 3 ,   c ( v 12 ) = 4 ,   c ( v 13 ) = 5 ,   c ( v 14 ) = 6 ,   c ( v 15 ) = 7 ,   c ( v 16 ) = 7 ,   c ( v 17 ) = 8 ,   c ( v 18 ) = 9 ,   c ( v 19 ) = 10 . To show that the colouring c ( G ) is optimal, we next prove the inequality χ ( G ) 11 .
In the mixed graph G depicted in Figure 4, there is a path ( v 24 , v 25 , v 26 , v 4 , v 5 , v 6 , v 7 , v 8 , v 9 , v 3 ) in the directed subgraph ( V , A , ) and a chain ( v 24 , v 25 , v 26 , v 4 , v 5 , v 6 , v 7 , v 8 , v 9 , v 3 ) in the subgraph ( V , , E ) . Therefore, a minimal colour of the vertex v 9 is not less than 9, c ( v 9 ) 9 and the minimal colour of the vertex v 3 is not less than 10; c ( v 3 ) 10 . In mixed graph G = ( V , A , E ) , there is a path ( v 20 , v 21 , v 22 , v 23 , v 1 , v 2 , v 3 ) in the directed subgraph ( V , A , ) and a chain ( v 20 , v 21 , v 22 , v 23 , v 1 , v 2 , v 3 ) in the subgraph ( V , , E ) . Therefore, a minimal colour of the vertex v 2 is not less than 6; c ( v 2 ) 6 . However, we see that the minimal colour of the vertex v 2 cannot be equal to 6, 7, 8 and 9, because the following four inclusions hold: [ v 2 , v 6 ] E , [ v 2 , v 7 ] E , [ v 2 , v 8 ] E , [ v 2 , v 9 ] E . There is a path ( v 24 , v 25 , v 26 , v 4 , v 5 , v 6 , v 7 , v 8 , v 9 , v 3 ) in the directed subgraph ( V , A , ) and a chain ( v 24 , v 25 , v 26 , v 4 , v 5 , v 6 , v 7 , v 8 , v 9 , v 3 ) in the subgraph ( V , , E ) . Thus, a minimal possible colour of the vertex v 2 is not less than 10, i.e., the inequality c ( v 2 ) 10 holds. Hence, the minimal possible colour of the vertex v 3 is not less than 11 because of the inclusions [ v 2 , v 3 ] E and ( v 2 , v 3 ) A . The inequality χ ( G ) 11 holds, so the constructed colouring c ( G ) is optimal. We obtain the optimal semiactive schedule S = ( C ( v 1 , C ( v 2 , , C ( v | W | ) such that equality c ( v i ) = C ( v i ) holds for each vertex v i W .

7. Minimising the Schedule Length for Interruptible Integer-Time Operations with Integer Release Dates and Equivalent Minimisation of the Maximal Lateness

We next show that finding a makespan-optimal schedule for the general scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max with integer release dates and interruptible integer-time operations Q i j is similar to finding the optimal schedule for the problem G c M P T | [ t i j ] , p m t n , D i | L max with integer due dates D i 0 , J i J , and interruptible integer-time operations Q i j .
Theorem 9. 
Every solvable scheduling problem  G c M P T | r i , [ t i j ] , p m t n | C max  with integer release dates  r i 0 , J i J , and interruptible integer-time operations  Q i j ,  J i J ,  is equivalent to the solvable scheduling problem  G c M P T | [ t i j ] , p m t n , D i | L max  with integer due dates  D i 0 ,  J i J , and interruptible integer-time operations  Q i j ,  J i J .
Proof. 
The problem G c M P T | r i , [ t i j ] , p m t n | C max was considered in Theorem 8. The proof of Theorem 8 showed how to construct a mixed graph G that completely determines the input data for a solvable scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max . Since the considered scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max is solvable, this mixed graph G must be colourable according to Theorem 4 and Theorem 8. From Theorem 1 it follows that the directed graph ( V , A , ) does not have a circuit containing adjacent vertices in the graph ( V , , E ) .
For the given scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max on the above mixed graph G = ( V , A , E ) , we will show how to construct the corresponding problem G c M P T | [ t i j ] , p m t n , D i | L max , where due dates D i 0 are integer for all jobs J i J , operations Q i j have integer durations for all jobs J i J , and interruptions are allowed for all operations.
In the corresponding problem G c M P T | [ t i j ] , p m t n , D i | L max , jobs J = { J 1 , J 2 , , J | J | } have a release date of zero r i = 0 , J i J . Jobs J = { J 1 , J 2 , , J | J | } have to be processed by the same set M = { M 1 , M 2 , , M | M | } of the dedicated processors. We assume that in the general scheduling problem G c M P T | [ t i j ] , p m t n , D i | L max , each processor M i M must process the same set V i = { v i 1 , v i 2 , , v i | V i | } V of the jobs as in the general problem G c M P T | r i , [ t i j ] , p m t n | C max considered in Section 5 and Section 6.
In the corresponding problem G c M P T | [ t i j ] , p m t n , D i | L max , integer due date D i 0 is given for every job J i J as follows: D i = max { r j : J j J } r i .
Let us define a strict order ( v k | V ( k ) | , v k | V ( k ) | 1 , , v k 2 , v k 1 ) for processing the operations V ( k ) = { v k 1 , v k 2 , , v k | V ( k ) | } . It is clear that this strict order ( v k | V ( k ) | , v k | V ( k ) | 1 , , v k 2 , v k 1 ) is opposite to the strict order ( v k 1 , v k 2 , , v k | V ( k ) | ) determined for the corresponding problem G c M P T | r i , [ t i j ] , p m t n | C max for processing integer-time operations V ( k ) .
If the precedence constraints v i v j and the weak precedence constraints v p v q are defined on the set of operations belonging to different jobs in the corresponding problem G c M P T | r i , [ t i j ] , p m t n | C max , then the inverse precedence constraint v j v i and the inverse weak precedence constraints v q v p have to be given for the problem G c M P T | [ t i j ] , p m t n , D i | L max .
It follows from Theorem 8 that the optimal semiactive schedule for the roblem G c M P T | r i , [ t i j ] , p m t n | C max determined by the mixed graph G = ( V , A , E ) can be defined by the optimal colouring c ( G ) . This colouring c ( G ) also defines an optimal semiactive schedule for the problem G c M P T | [ t i j ] , p m t n , D i | L max . It is clear that the optimal maximal lateness may be determined as follows: L max = χ ( G ) max { r i : J i J } . Thus, we proved the following claim.
Every solvable scheduling problem  G c M P T | r i , [ t i j ] , p m t n | C max  with given integer release dates  r i 0 ,  J i J , and integer durations of interruptible operations  Q i j  is equivalent to the scheduling problem  G c M P T | [ t i j ] , p m t n , D i | L max  with integer due dates  D i = max { r j : J j J } r i ,  J i J , and integer durations of the interruptible operations  Q i j ,   J i J .
Obviously, the above arguments are reversible. This allows us to prove the following claim in a similar way.
Every solvable scheduling problem  G c M P T | [ t i j ] , p m t n , D i | L max  with given integer due dates  D i 0 ,  J i J , and integer durations of the interruptible operations  Q i j , is equivalent to the scheduling problem  G c M P T | r i , [ t i j ] , p m t n | C max  with given integer release dates  r i = max { D j : J j J } D i  and integer durations of the interruptible operations  Q i j ,   J i J .
Theorem 9 is proved. □
The following corollary follows directly from Theorem 8 and Theorem 9.
Corollary 3. 
If the job due dates and durations of operations  Q i j , J i J , are integers for the solvable scheduling problem  G c M P T | [ t i j ] , p m t n , D i | L max , then an semiactive optimal schedule for this problem is presentable as an optimal colouring of vertices of the mixed graph  G  that determines the input data of this scheduling problem.
To illustrate Theorem 9 and Corollary 3, we solve Example 5 of the problem G c M P T | [ t i j ] , p m t n , D i | L max with four jobs J = { J 1 , J 2 , J 3 , J 4 } , seven dedicated processors M = { M 1 , M 2 , , M 7 } , integer due dates D i 0 , integer processing times t i j > 0 of the multi-processor operations, precedence constraints between operations of different and the same jobs, and allowed interruptions of the integer-time operations.
Example 5. 
In Example 5 of the scheduling problem  G c M P T | [ t i j ] , p m t n , D i | L max  on the mixed graph  G = ( V , A , E )  depicted in Figure 5, the set of jobs  J 1 ,   J 2 ,   J 3  and  J 4  are ready for processing on set  M = { M 1 , M 2 , , M 9 }  of the dedicated processors from time zero  t = 0 . Each processor  M k M  must process the same subset of the jobs as in Example 4. However, the orders for fulfilling the same set of operations are opposite to the linear orders determined in Example 4.
While the precedence constraints v i v j and v p v q are determined between operations different jobs in Example 4, the inverse precedence constraints v j v i and v q v p are determined in Example 5 of the scheduling problem G c M P T | [ t i j ] , p m t n , D i | L max . Thus, in Example 5, the due dates of the given set of jobs J i J = { J 1 , J 2 , J 3 , J 4 } are defined as follows: D 1 = max { r j : J i J } r 1 = 4 4 = 0 ,   D 2 = 4 r 2 = 4 3 = 1 ,   D 3 = 4 r 3 = 4 1 = 3 ,   D 4 = 4 r 4 = 4 3 = 1 .
The input data for Example 5 are determined by the mixed graph G = ( V , A , E ) depicted in Figure 5. Set V of the vertices and set E of the edges in the mixed graph G are the same as those in the mixed graph G presented in Figure 4.
Compare mixed graph G depicted in Figure 5 for scheduling problem G c M P T | [ t i j ] , p m t n , D i | L max with mixed graph G for scheduling problem G c M P T | r i , [ t i j ] , p m t n | C max depicted in Figure 4. According to Theorem 9 and Corollary 3, for Example 5 of the scheduling problem G c M P T | [ t i j ] , p m t n , D i | L max on the mixed graph G = ( V , A , E ) , the optimal semiactive schedule S is determined by the following optimal colouring c ( G ) : c ( v 1 ) = 7 , c ( v 2 ) = 2 ,   c ( v 3 ) = 1 ,   c ( v 4 ) = 8 , c ( v 5 ) = 7 ,   c ( v 6 ) = 6 ,   c ( v 7 ) = 5 ,   c ( v 8 ) = 4 ,   c ( v 9 ) = 3 ,   c ( v 10 ) = 10 ,   c ( v 11 ) = 9 , c ( v 12 ) = 8 , c ( v 13 ) = 7 , c ( v 14 ) = 6 , c ( v 15 ) = 5 , c ( v 16 ) = 5 ,   c ( v 17 ) = 4 , c ( v 18 ) = 3 , c ( v 19 ) = 2 .
The colouring c ( G ) determines the optimal semiactive schedule:
C ( Q 1 , 1 ) = c ( v 3 ) = 1 , C ( Q 1 , 2 ) = c ( v 1 ) = 7 , C ( Q 2 , 1 ) = c ( v 7 ) = 5 , C ( Q 2 , 2 ) = c ( v 6 ) = 6 , C ( Q 2 , 3 ) = c ( v 4 ) = 8 , C ( Q 3 , 1 ) = c ( v 14 ) = 6 , C ( Q 3 , 2 ) = c ( v 12 ) = 8 , C ( Q 3 , 3 ) = c ( v 11 ) = 9 , C ( Q 4 , 1 ) = c ( v 17 ) = 4 , C ( Q 4 , 2 ) = c ( v 16 ) = 5 .
We compute the optimal objective value as follows:
L max = χ ( G ) max { r i : J i J } = 11 4 = 7 .

8. Discussion

This research is a continuation of the works [1,2,10,11,12,13,14,15,16,17,18,19,20,21,22], where graph colouring models and algorithms were developed for solving various scheduling problems. The developed method is based on graph-theoretic models for scheduling problems. We have studied relationships between optimal colourings of the mixed graphs and general scheduling problems G c M P T | [ t i j ] , p m t n , D i | L max and G c M P T | r i , [ t i j ] , p m t n | C max . In both investigated scheduling problems, it is necessary to construct optimal schedules for fulfilling partially ordered sets of integer-time multi-processor tasks with allowed operation interruptions. Precedence constraints of the two types of completion–start and start–start can be given on the set of integer-time operations. Furthermore, specified subsets of the operations with unit durations must be executed simultaneously.
The propositions proved in Section 4, Section 5, Section 6 and Section 7 can be used to construct mixed graphs for representing the entire input data of the numerous scheduling problems with interruptible integer-time operations. It is proven that to construct an optimal semiactive schedule for any studied scheduling problem, it is sufficient to determine the optimal colouring of the vertices of the mixed graph representing all input data of the considered scheduling problem.
It is also shown that notions of graph theory are quite sufficient for the formulation of the problems G c M P T | [ t i j ] , p m t n , D i | L max and G c M P T | r i , [ t i j ] , p m t n | C max , and a huge number of their special cases. To illustrate the obvious benefits of using graph theory terminology instead of terminology of scheduling theory, we list the scheduling terms used in Section 1, Section 2, Section 3, Section 4, Section 5, Section 6 and Section 7: processing system (multi-stage); production planning (scheduling); job-shop, general shop; equipment, machine, processor; schedule (semiactive, feasible, optimal); schedule optimality criterion (makespan, maximal lateness,; production cost); manufacture; raw material; final product; job (simple, first, second, last) task; release date (equal, integer); input data; planning horizon; schedule length; operation (multi-processor, interruptible); (allowed) interruption, preemption; machine route, (first, last) operation; operation duration (unit, integer), operation order (linear, strict); operation assignment to machine; simultaneous execution of operations; fulfill; process; ready for processing; (operation, job, task) start; (operation, job, task) completion; (operation, task) interruption, schedule (makespan, length); three-field notation; capacity constraint; (week) precedence constraints (completion-start, start-start), unit-time operation (task), integer-time (operation, job, task) operation (task) processing time (duration), production conditions (efficiency), due date (integer).
To obtain and present the same results in notions of mixed graphs, only fewer terms were used, namely: vertex (incidental, adjacent); arc, edge (multiple); graph (finite, directed, mixed, k-partite, bipartite, tripartite, complete, colourable); digraph; (vertex-induced) subgraph, clique, connected component (graph); colouring (strict, optimal); vertex colour, chromatic number; loop; path, passing; chain (length); circuit.
In Section 5 and Section 7, we proved that every solvable problem of constructing an optimal colouring of the mixed graph reduces to problems G c M P T | r i , [ t i j ] , p m t n | C max and G c M P T | [ t i j ] , p m t n , D i | L max . Thus, for many of the statements proved so far for these scheduling problems and their various special cases, there are similar statements for the problems of defining optimal colourings of the vertices of the mixed graphs.
It is shown that each solvable problem G c M P T | r i , [ t i j ] , p m t n | C max (as well as the solvable problem G c M P T | [ t i j ] , p m t n , D i | L max ) pseudo-polynomially reduces to finding the optimal colouring of a mixed graph. It is worth noting that the pseudo-polynomiality of this reduction is based on the fact that all input data for both scheduling problems are determined by mixed graphs to be coloured for solving these scheduling problems. Therefore, it is unclear and probably impossible to find a polynomial reduction of these scheduling problems to mixed graph colouring problems.
The statements proved for finding optimal colourings of the mixed graphs [6,7,15,17,23,24,25,26,27,28,29,30,31,32] could be used for finding a solution of the NP-hard scheduling problems G c M P T | r i , [ t i j ] , p m t n | C max and G c M P T | [ t i j ] , p m t n , D i | L max . To apply the developed mixed graph colouring models, methods, and algorithms, solvable scheduling problems must have positive integer processing times of the multi-processor tasks, non-negative integer release dates of all jobs for the schedule length minimisation (and non-negative integer due dates for the minimisation of the maximal lateness). It should be noted that there is no restriction on the mixed graphs for using the scheduling algorithms for constructing optimal colourings of vertices of the mixed graph.
The results presented and proved in this article can be considered as a substantiation of graph-theoretic methods for solving scheduling problems by reducing them to finding optimal colouring of mixed graphs, which determine the input data of scheduling problems. Conditions and limitations of an individual scheduling problem are determined by the corresponding mixed graph. For the individual scheduling problem, such a mixed graph is defined uniquely.
It should be noted that different scheduling problems G c M P T | r i , [ t i j ] , p m t n | C max and G c M P T | [ t i j ] , p m t n , D i | L max can be defined by the same mixed graph. Thus, the results proven for colourings of the particular mixed graph G = ( V , A , E ) are applicable, as a rule, for a whole set of the scheduling problems G c M P T | r i , [ t i j ] , p m t n | C max or problems G c M P T | [ t i j ] , p m t n , D i | L max . In particular, most results presented and proven in this paper can be used for studying colourings of the specified classes of mixed graphs, which are generated by the scheduling problems G c M P T | r i , [ t i j ] , p m t n | C max and G c M P T | [ t i j ] , p m t n , D i | L max . This can help attract graph theorists to solve the multistage scheduling problems and their numerous special cases.

9. Conclusions

This paper presents efficient reformulations of a huge number of scheduling problems into mixed graph colouring ones. Section 1, Section 2 and Section 3 provide an overview of the preliminary results used in the proofs of the new results presented in Section 4, Section 5, Section 6, Section 7 and Section 8. We studied the optimal scheduling of a partially ordered set of multi-processor tasks with allowed interruptions as optimal colourings of the vertices of the corresponding mixed graphs. We proved that the problem of optimal colouring of vertices of an arbitrary mixed graph reduces to the problem of constructing schedules that minimise a maximal lateness for processing partially ordered sets of multi-processor tasks with integer durations, integer due dates and allowed interruptions. We also proved the inverse statements that problems of constructing schedules minimising a maximal lateness for fulfilling partially ordered sets of multi-processor tasks pseudo-polynomially reduce to problems of optimally coloring the vertices of the mixed graphs, which determines all input data of the considered scheduling problems.
The established relationship between the generalisations of scheduling problems and problems of finding an optimal colouring of the vertices of mixed graphs presented in the article makes it possible to solve any solvable problems G c M P T | r i , [ t i j ] , p m t n | C max and G c M P T | [ t i j ] , p m t n , D i | L max , as well as numerous special cases of these problems in terms of graph theory, and not to use the special terms of schedule theory, which are related to the practical production planning problems. It turned out that the terms of graph theory are quite enough to formulate any problem G c M P T | r i , [ t i j ] , p m t n | C max or G c M P T | [ t i j ] , p m t n , D i | L max , and for the development of algorithms for solving problems of schedule theory as a result of the search for optimal coloring of the mixed graphs that determine the input data of scheduling problems.
The presented and generalised theorems and results (Section 1, Section 2 and Section 3) and new results proved in Section 4, Section 5, Section 6 and Section 7 allow making scheduling theory more abstract due to the possibility to use abstract models, effective methods and algorithms for optimal colouring the vertices of the mixed graphs for solving most scheduling problems with bottleneck objectives. Such investigations of the relationships between optimisation problems of scheduling theory and those of graph theory may be continued further.
Future research directions may be oriented towards developing mixed graph colouring models and algorithms suitable for solving scheduling problems with other regular optimality criteria. In particular, non-bottleneck criteria are widely used in scheduling theory [5,6,9,22,23,24,25,26]. It should be noted that both criteria considered in this paper are bottleneck criteria. We plan to study other scheduling problems that are reducible or equivalent to colouring the vertices of the corresponding mixed graphs. A promising research may be aimed to usage of the mixed graph models for developing efficient algorithms for scheduling the cloud computations. One could assume that durations of all tasks are integer and operation preemptions are allowed. Both studied objectives (schedule length and maximal lateness) may be considered for cloud computations.
We plan to study other classes of the multistage scheduling problems that are equivalent to problems of optimal colorings of vertices of the mixed graphs. We plan also to consider polynomially solvable multistage scheduling problems, which will allow us to discover polynomially solvable cases of the problem of finding optimal colourings c ( G ) of the specific mixed graphs G = ( V , A , E ) .

Author Contributions

Conceptualisation, Y.N.S.; methodology, Y.N.S.; validation, E.I.M.; formal analysis, E.I.M.; investigation, E.I.M. and Y.N.S.; data curation, E.I.M.; writing—original draft, Y.N.S.; writing—review and editing, Y.N.S.; visualisation, E.I.M. All authors have read and agreed to the published version of the manuscript.

Funding

The research of Y.S. was funded by Belarusian Republican Foundation for Fundamental Research, grant number Φ23PHΦ-017.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

Example A1. 
The individual problem  G c | t i j = 1 | C max  determined by mixed graph  G * = ( V , A * , E * )  is analogous to Example 1 of a job-shop unit-time problem  J | t i j = 1 | C max , with the exception that there are given start-start constraints and completion-start constraints on the set of operations of different jobs of set  J . All the additional constraints are determined as follows:  v 1 v 4 ;  v 4 v 3 ;  v 3 v 1 ;  v 8 v 4  and  v 12 v 9 . Thus, the appropriate mixed graph  G * = ( V , A * , E * )  has to contain an additional subset of arcs and subset set of edges defined as follows:
A * = A { ( v 1 , v 4 ) , ( v 4 , v 3 ) , ( v 3 , v 1 ) , ( v 8 , v 4 ) , ( v 12 , v 9 ) } ;   E * = E { [ v 8 , v 4 ] , [ v 12 , v 9 ] } .
Note that the operations v 1 , v 3 and v 4 have to be fulfilled simultaneously in ever schedule since circuit ( v 1 , v 4 , v 3 , v 1 ) exists in digraph ( V , , E * ) , which is a subgraph of the mixed graph G * = ( V , A * , E * ) dipicted in Figure A1. At the right side of Figure A1, the colors of coloring c ( G * ) are presented instead of the natural numbers: c ( v 1 ) = 2 ,   c ( v 2 ) = 1 ,   c ( v 3 ) = 2 ,   c ( v 4 ) = 2 ,   c ( v 5 ) = 3 ,   c ( v 6 ) = 4 ,   c ( v 7 ) = 5 ,   c ( v 8 ) = 1 ,   c ( v 9 ) = 3 ,   c ( v 10 ) = 5 ,   c ( v 11 ) = 1 , c ( v 12 ) = 2 . The colouring c ( G * ) is optimal, χ ( G * ) = 5 , since directed graph ( V , A * , ) contains path ( v 8 , v 4 , v 5 , v 6 , v 7 ) and graph ( V , , E * ) contains chain ( v 8 , v 4 , v 5 , v 6 , v 7 ) , whose lengths are equal to 5.
Figure A1. Mixed graph G * = ( V , A * , E * ) that determines Example A1 of the scheduling problem G c | t i j = 1 | C max .
Figure A1. Mixed graph G * = ( V , A * , E * ) that determines Example A1 of the scheduling problem G c | t i j = 1 | C max .
Algorithms 17 00299 g0a1
Due to these path and chain, the following inequality holds: χ ( G * ) 5 . From Theorem 3, it follows that the optimal colouring c ( G * ) defines the following schedule S that is optimal for Example A1 of the unit-time problem G c | t i j = 1 | C max , where the input data are determined by mixed graph G * depicted in Figure A1.
S = ( C ( Q 1 , 1 ) = 2 , C ( Q 2 , 1 ) = 1 , ( Q 2 , 2 ) = 2 , C ( Q 3 , 1 ) = 2 , C ( Q 3 , 2 ) = 3 , C ( Q 3 , 3 ) = 4 , C ( Q 3 , 4 ) = 5 , C ( Q 4 , 1 ) = 1 , C ( Q 4 , 2 ) = 3 , C ( Q 4 , 3 ) = 5 , C ( Q 5 , 1 ) = 1 , C ( Q 5 , 2 ) = 2 )
The correspondence of the operations Q i j Q and the vertices v k V is determined based on Remark 1. The equalities χ ( G * ) = 5 = C max hold due to Theorem 3.

Appendix B

Example A2. 
In Example A2, the set   J = { J 1 , J 2 , J 3 , J 4 , J 5 }  of jobs is the same as in Example 1 and Example A1. The set of processors is increased from four processors in Examples 1 and Example A1 to nine processors in Example A2:  M = { M 1 , M 2 , , M 9 } .
The processor M 1 processes the operations V 1 = { v 1 , v 7 } . In Figure A2, the forbiddance to process the operations from the set V 1 simultaneously on the processor M 1 is determined by the edge [ v 1 , v 7 ] in the graph ( V , , E ) . The processor M 2 processes the operations V 2 = { v 2 , v 4 } . The forbiddance to process the operations from the set V 2 simultaneously on the processor M 2 is determined by the edge [ v 2 , v 4 ] .
Similarly, the forbiddance to process operations from the set V 3 = { v 3 , v 9 } simultaneously on the processor M 3 is determined by the edge [ v 3 , v 9 ] . The forbiddance to process this pair of operations from the set V 4 = { v 6 , v 12 } simultaneously on the processor M 4 is determined by the edge [ v 6 , v 12 ] in the graph ( V , , E ) . The forbiddance to process operations from the set V 5 = { v 5 , v 11 } simultaneously on the processor M 5 is determined by the edge [ v 5 , v 11 ] . The forbiddance to process the operations from the set V 6 = { v 8 , v 12 } simultaneously on the processor M 6 is determined by the edge [ v 8 , v 12 ] . The forbiddance to process the operations from the set V 7 = { v 7 , v 10 } simultaneously on the processor M 7 is determined by the edge [ v 7 , v 10 ] . The forbiddance to process the operations from the set V 8 = { v 9 , v 11 } simultaneously is determined by the edge [ v 9 , v 11 ] . The forbiddance to process the operations from the set V 9 = { v 3 , v 4 } simultaneously on processor M 9 is determined by the edge [ v 3 , v 4 ] . The processors, which are used to process the operation v i V , are presented near the vertex v i in Figure A2. The precedence constraints established between operations of different jobs are given as follows: v 1 v 4 ; v 1 v 8 ; v 3 v 1 ; v 8 v 3 ; v 6 v 10 ; v 10 v 12 ; v 8 v 4 ; v 11 v 8 . These precedence constraints are represented by seven arcs { ( v 1 , v 4 ) ,   ( v 1 , v 8 ) ,   ( v 3 , v 1 ) ,   ( v 8 , v 3 ) , ( v 6 , v 10 ) ,   ( v 10 , v 12 ) , ( v 8 , v 4 ) } A and two edges { [ v 4 , v 8 ] , [ v 8 , v 11 ] } E .
The digraph ( V , A , ) has one circuit ( v 1 , v 8 , v 3 , v 1 ) and this circuit has no adjacent vertices in the graph ( V , , E ) . Since the digraph ( V , A , ) has no circuit with adjacent vertices in the graph ( V , , E ) , there exists a schedule for Example A2 of the general unit-time problem G c M P T | t i = 1 | C max that is completely determined by the mixed graph G ; see Theorem 4. We construct the following colouring c ( G ) of the mixed graph G = ( V , A , E ) : c ( v 1 ) = 2 ,   c ( v 2 ) = 1 ,   c ( v 3 ) = 2 ,   c ( v 4 ) = 3 ,   c ( v 5 ) = 4 ,   c ( v 6 ) = 5 ,   c ( v 7 ) = 6 ,   c ( v 8 ) = 2 ,   c ( v 9 ) = 3 ,   c ( v 10 ) = 5 ,   c ( v 11 ) = 1 , c ( v 12 ) = 6 . The colouring c ( G ) is optimal, χ ( G ) = 6 , since the directed graph ( V , A , ) contains the path ( v 11 , v 8 , v 4 , v 5 , v 6 , v 7 ) and the subgraph ( V , , E ) of the mixed graph G contains the chain ( v 11 , v 8 , v 4 , v 5 , v 6 , v 7 ) , whose lengths are equal to 6. Because of this path and chain, the inequality χ ( G ) 6 holds. By Theorem 5, the optimal colouring c ( G ) defines the optimal semiactive schedule (1) for Example A2 of the unit-time problem G c | t i j = 1 | C max , whose input data is determined by the mixed graph G depicted in Figure A2. Based on Remark 1 about the correspondence of operations Q i j Q and vertices v k V , we obtain the following makespan-optimal semiactive schedule:
S = ( C ( Q 1 , 1 ) = 2 , C ( Q 2 , 1 ) = 1 , ( Q 2 , 2 ) = 2 , C ( Q 3 , 1 ) = 3 , C ( Q 3 , 2 ) = 4 , C ( Q 3 , 3 ) = 5 , C ( Q 3 , 4 ) = 6 ,
C ( Q 4 , 1 ) = 2 , C ( Q 4 , 2 ) = 3 , C ( Q 4 , 3 ) = 5 , C ( Q 5 , 1 ) = 1 , C ( Q 5 , 2 ) = 6 )
Figure A2. Mixed graph G = ( V , A , E ) that defines the input data for Example A2.
Figure A2. Mixed graph G = ( V , A , E ) that defines the input data for Example A2.
Algorithms 17 00299 g0a2
By Theorem 5, the equality χ ( G ) = 6 = C max ( S ) must hold.
Note that Theorem 5 is only valid for colourable mixed graphs. For example, if the precedence constraint v 12 v 9 is added to the input data of Example A2, we obtain the following mixed graph: G + = ( V , A { ( v 12 , v 9 ) } , E ) . The obtained mixed graph becomes un-colourable due to the existence of a circuit ( v 12 , v 9 , v 10 , v 12 ) such that the vertices v 9 and v 10 are adjacent in the graph ( V , , E ) , which is a subgraph of the mixed graph G + = ( V , A { ( v 12 , v 9 ) } , E ) ; see Theorem 1. Therefore, the modified Example A2 (with the additional precedence constraint v 12 v 9 ) has no feasible schedule due to Theorem 4.

References

  1. Sotskov, Y.N.; Dolgui, A.; Werner, F. Mixed graph coloring for unit-time job-shop scheduling. Int. J. Math. Algorithms 2001, 2, 289–323. [Google Scholar]
  2. Sotskov, Y.N.; Tanaev, V.S.; Werner, F. Scheduling problems and mixed graph colorings. Optimization 2002, 51, 597–624. [Google Scholar]
  3. Sotskov, Y.N.; Tanaev, V.S. A chromatic polynomial of a mixed graph. Vestsi Akad. Navuk BSSR Ser. Fiz. Mat. Navuk 1976, 6, 20–23. (In Russian) [Google Scholar]
  4. Karp, R.M. Reducibility among combinatorial problems. In Complexity of Computer Computations; Miller, R.E., Thatcher, J.W., Eds.; Plenum Press: New York, NY, USA, 1972; pp. 85–103. [Google Scholar]
  5. Brucker, P. Scheduling Algorithms; Springer: Berlin, Germany, 1995. [Google Scholar]
  6. Harary, F. Graph Theory; Reading; Addison-Wesley: Boston, MA, USA, 1969. [Google Scholar]
  7. Thulasiraman, K.; Swamy, M.N.S. Graphs: Theory and Algorithms; John Wiley & Sons, Inc.: Toronto, ON, Canada, 1992. [Google Scholar]
  8. Hansen, P.; Kuplinsky, J.; de Werra, D. Mixed graph colorings. Math. Methods Oper. Res. 1997, 45, 145–160. [Google Scholar] [CrossRef]
  9. Sotskov, Y.N. Mixed graph colouring as scheduling multi-processor tasks with equal processing times. J. Belarusian State Univ. Math. Inform. 2021, 2, 67–81. [Google Scholar] [CrossRef]
  10. Giaro, K.; Kubale, M.; Obszarski, P. A graph coloring approach to scheduling of multiprocessor tasks on dedicated machines with availability constraints. Discret. Appl. Math. 2009, 157, 3625–3630. [Google Scholar] [CrossRef]
  11. Hoogeveen, J.A.; Lenstra, J.K.; Veltman, B. Preemptive scheduling in a two-stage multiprocessor flow shop is NP-hard. Eur. J. Oper. Res. 1996, 89, 172–175. [Google Scholar] [CrossRef]
  12. Sotskov, Y.N.; Mihova, E.I. Scheduling multiprocessor tasks with equal processing times as a mixed graph coloring problem. Algorithms 2021, 14, 246. [Google Scholar] [CrossRef]
  13. De Werra, D. Restricted coloring models for timetabling. Discret. Math. 1997, 165/166, 161–170. [Google Scholar] [CrossRef]
  14. De Werra, D. On a multiconstrained model for chromatic scheduling. Discret. Appl. Math. 1999, 94, 171–180. [Google Scholar] [CrossRef]
  15. Damaschke, P. Parameterized mixed graph coloring. J. Comb. Optim. 2019, 38, 326–374. [Google Scholar] [CrossRef]
  16. Kouider, A.; Ait Haddadne, H.; Ourari, S.; Oulamara, A. Mixed graph coloring for unit-time scheduling. Int. J. Prod. Res. 2017, 55, 1720–1729. [Google Scholar] [CrossRef]
  17. Kouider, A.; Ait Haddadene, H.; Oulamara, A. On minimization of memory usage in branch-and-bound algorithm for the mixed graph coloring: Application to the unit-time job shop scheduling. Comput. Oper. Res. 2019, 4967, 1001–1008. [Google Scholar]
  18. Kouider, A.; Ait Haddadne, H. A bi-objective branch-and-bound algorithm for the unit-time job shop scheduling: A mixed graph coloring approach. Comput. Oper. Res. 2021, 132, 105319. [Google Scholar] [CrossRef]
  19. Baaziz, A.; Haddadene, H.A.; Oulamara, A.; Kouider, A. Scheduling preemptive jobs on parallel machines with a conflict graph: A graph multi-colouring approach. Int. J. Math. Oper. Res. 2023, 25, 47–67. [Google Scholar] [CrossRef]
  20. Beck, M.; Blado, D.; Crawford, J.; Jean-Louis, T.; Young, M. On weak chromatic polynomials of mixed graphs. Graphs Comb. 2015, 31, 91–98. [Google Scholar] [CrossRef]
  21. Niu, D.; Liu, B.; Zhang, H.; Yin, M. Improving local search for the weighted sum coloring problem using the branch-and-bound algorithm. Knowl. Based Syst. 2022, 246, 108703. [Google Scholar] [CrossRef]
  22. Jacqueline, O.; Alden, M.; Golshan, M.; Seyedamirabbas, M. Graph-based modeling in shop scheduling problems: Review and extensions. Appl. Sci. 2021, 11, 4741. [Google Scholar] [CrossRef]
  23. Liang, P.; Fu, Y.; Gao, K. Multi-product disassembly line balancing optimization method for high disassembly profit and low energy consumption with noise pollution constraints. Eng. Appl. Artif. Intell. 2024, 130, 107721. [Google Scholar] [CrossRef]
  24. Fu, Y.; Zhou, M.; Guo, X.; Qi, L.; Gao, K.; Albeshri, A. A multiobjective scheduling of energy-efficient stochastic hybrid open shop with brain storm optimization and simulation evaluation. IEEE Trans. Syst. Man Cybern. Syst. 2024, 54, 4260–4272. [Google Scholar] [CrossRef]
  25. Fu, Y.; Ma, X.; Gao, K.; Li, Z.; Dong, Y. Multi-objective home health care routing and scheduling with sharing service via a problem-specific knowledge-based artificial bee colony algorithm. IEEE Trans. Intell. Transp. Syst. 2024, 25, 1706–1719. [Google Scholar] [CrossRef]
  26. Ma, X.; Fu, Y.; Gao, K.; Zhu, L.; Sadollah, A. A multi-objective scheduling and routing problem for home health care services via brain storm optimization. Complex Syst. Model. Simul. 2023, 3, 32–46. [Google Scholar] [CrossRef]
  27. Andrade, E.; Bonifácio, A.E.; Robbiano, M.; Rodríguez, J.; Tapia, K. Some families of integral mixed graphs. Linear Algebra Appl. 2022, 641, 48–66. [Google Scholar] [CrossRef]
  28. Mostafaie, T.; Modarres Khiyabani, F.; Navimipour, N.J. A systematic study on meta-heuristic approaches for solving the graph coloring problem. Comput. Oper. Res. 2020, 120, 104850. [Google Scholar] [CrossRef]
  29. Balakrishnan, S.; Suresh, T.; Marappan, R.; Venkatesan, R.; Sabri, A. New hybrid decentralized evolutionary approach for DIMACS challenge graph coloring & wireless network instances. Int. J. Cogn. Comput. Eng. 2023, 4, 259–265. [Google Scholar]
  30. Astuti, W.; Adiwijaya. Graph coloring based on evolutionary algorithms to support data hiding scheme on medical images. Procedia Comput. Sci. 2015, 74, 173–177. [Google Scholar] [CrossRef]
  31. Agrawal, J.; Agrawal, S. Acceleration based particle swarm optimization for graph coloring problem. Procedia Comput. Sci. 2015, 60, 714–721. [Google Scholar] [CrossRef]
  32. Assi, M.; Halawi, B.; Haraty, R.A. Genetic algorithm analysis using the graph coloring method for solving the university timetable problem. Procedia Comput. Sci. 2018, 126, 899–906. [Google Scholar] [CrossRef]
Figure 1. Mixed graph G that determines input data for Example 1.
Figure 1. Mixed graph G that determines input data for Example 1.
Algorithms 17 00299 g001
Figure 2. Mixed graph G * * = ( V * * , A * * , E * * ) determining input data for Example 2.
Figure 2. Mixed graph G * * = ( V * * , A * * , E * * ) determining input data for Example 2.
Algorithms 17 00299 g002
Figure 3. The colouring c ( G ) determining the optimal semiactive schedule for the unit-time problem G c M P T | t i j = 1 , D i | L max .
Figure 3. The colouring c ( G ) determining the optimal semiactive schedule for the unit-time problem G c M P T | t i j = 1 , D i | L max .
Algorithms 17 00299 g003
Figure 4. The mixed graph defining input data for Example 4 of the problem G c M P T | r i , [ t i j ] , p m t n | C max .
Figure 4. The mixed graph defining input data for Example 4 of the problem G c M P T | r i , [ t i j ] , p m t n | C max .
Algorithms 17 00299 g004
Figure 5. Mixed graph G = ( V , A , E ) determining Example 5 of the problem G c M P T | [ t i j ] , p m t n , D i | L max .
Figure 5. Mixed graph G = ( V , A , E ) determining Example 5 of the problem G c M P T | [ t i j ] , p m t n , D i | L max .
Algorithms 17 00299 g005
Table 1. A main part of the input data for Example 4.
Table 1. A main part of the input data for Example 4.
Operations Q 1 , j of the job J 1 Q 1 , 1 Q 1 , 2 --
Processors M μ ( 1 , j ) M 1 , M 2 M 7 --
Duration t 1 , j of operation Q 1 , j 21--
Operations Q 2 , j of the job J 2 Q 2 , 1 Q 2 , 2 Q 2 , 3 -
Processors M μ ( 2 , j ) M 3 , M 7 M 1 M 2 , M 6 -
Duration t 2 , j of operation Q 2 , j 213-
Operations Q 3 , j of the job J 3 Q 3 , 1 Q 3 , 2 Q 3 , 3 Q 3 , 4
Processors M μ ( 2 , j ) M 3 M 1 M 4 M 5 , M 6
Duration t 3 , j of operation Q 3 , j 1122
Operations Q 4 , j of the job J 4 Q 4 , 1 Q 4 , 2 --
Processors M μ ( 4 , j ) M 1 , M 3 M 4 , M 5 --
Duration t 4 , j of operation Q 4 , j 13--
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Mihova, E.I.; Sotskov, Y.N. Mixed Graph Colouring as Scheduling a Partially Ordered Set of Interruptible Multi-Processor Tasks with Integer Due Dates. Algorithms 2024, 17, 299. https://doi.org/10.3390/a17070299

AMA Style

Mihova EI, Sotskov YN. Mixed Graph Colouring as Scheduling a Partially Ordered Set of Interruptible Multi-Processor Tasks with Integer Due Dates. Algorithms. 2024; 17(7):299. https://doi.org/10.3390/a17070299

Chicago/Turabian Style

Mihova, Evangelina I., and Yuri N. Sotskov. 2024. "Mixed Graph Colouring as Scheduling a Partially Ordered Set of Interruptible Multi-Processor Tasks with Integer Due Dates" Algorithms 17, no. 7: 299. https://doi.org/10.3390/a17070299

APA Style

Mihova, E. I., & Sotskov, Y. N. (2024). Mixed Graph Colouring as Scheduling a Partially Ordered Set of Interruptible Multi-Processor Tasks with Integer Due Dates. Algorithms, 17(7), 299. https://doi.org/10.3390/a17070299

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

Article Metrics

Back to TopTop