On The Capacitated Scheduling Problem with Conflict Jobs Minh Hoàng Hà and Duy Manh Vu Trung Thanh Nguyen Yakov Zinder ORLab, Faculty of Information Technology School of Mathematical and Physical Sciences Department of Informatics Haiphong University University of Technology Sydney VNU University of Engineering and Technology Haiphong, Vietnam Sydney, Australia Hanoi, Vietnam ttnguyen.cs@gmail.com yakov.zinder@uts.edu.au minhhoang.ha@vnu.edu.vn manhvdm@gmail.com Abstract—The paper is concerned with scheduling jobs on parallel identical machines under the restrictions imposed by a conflict graph The nodes of this conflict graph represent jobs and each edge indicates that the jobs associated with the nodes, incident to this edge, can not be processed concurrently The jobs have a common due date and each job has the associated weight The goal is to maximise the total weight of jobs which completion times not exceed the due date The considered scheduling model was motivated by the problem arising in the telecommunication industry The paper identifies polynomially solvable and NP-hard particular cases and presents two mixed integer linear programming formulations together with their comparison by means of computational experiments Index Terms—Scheduling, conflict jobs, complexity, mixed integer linear programming, approximation algorithms I I NTRODUCTION Consider a set of n jobs J = {1, , n} which are to be processed on m > parallel identical machines Each job j ∈ J requires pj units of processing time, can be assigned for processing to only one of the machines and must be processed by this machine without preemptions, i.e once a machine starts processing a job it continues this processing without interruptions until its completion A schedule σ specifies for each job j its starting time Sj (σ) Since the preemptions are not allowed, the completion time of job j in this schedule is Cj (σ) = Sj (σ) + pj Any two jobs j and g, assigned for processing to the same machine, must satisfy one of the following inequalities: either Sj (σ) ≥ Cg (σ) or Sg (σ) ≥ Cj (σ) The restriction on what jobs can be processed in parallel when are assigned to different machines is given by a conflict graph G(J, E), where the set of nodes is the set of jobs and each edge [j, g] designates that j and g can not be processed concurrently In other words, if [j, g] ∈ E, then in each schedule σ, either Sj (σ) ≥ Cg (σ) or Sg (σ) ≥ Cj (σ) even if j and g are assigned to different machines 978-1-7281-3003-3/19/$31.00 ©2019 IEEE The jobs have the common due date T and each job j has the associated weight wj The goal is to construct a schedule with the largest value of F (σ) = Uj (Cj (σ)), (1) j∈J where Uj (t) = wj if t ≤ T otherwise In what follows, if it is clear what schedule is considered, instead of the notation Sj (σ), Cj (σ) will be used Sj , Cj The considered scheduling problem has been motivated by a joint project with a mobile network operator This operator needs to run various computer programs, which are referred to as Change Requests The company has a team of technicians Each of these technicians can execute at most one Change Request at a time on her/his computer without interruption These Change Requests adjust configuration or some parameters of the network and each affects a pre-determined group of mobile subscribers The Change Requests have different priorities (which can be modelled by associating with each Change Request a certain nonnegative weight) Any two Change Requests that affect two parts of the network which have common elements cannot be executed concurrently The programs must be run only during the working hours So, it may be not possible to execute all the programs during one shift The scheduling model with parallel identical machines and a conflict graph has many other applications and has been intensively studied Most of these publications are concerned with the makespan objective function Cmax (σ) = maxj∈J Cj (σ) To the best of authors’ knowledge, none of these publications considered the objective function (1) Since the makespan minimisation problem is NP-hard even if there are only two machines and no conflict graph [1], the major efforts have been focused on determining the borderline separating the NP-hard cases and the cases for which polynomial-time algorithms are known as well as on constructing approximation algorithms and the analysis of their performance The considered particular cases were specified by restrictions on the jobs’ processing times, the number of machines, and the conflict graph Thus, for the case of general conflict graph, [2] proves that if m ≥ 3, then the problem is NP-hard in the strong sense even when pj = for all j ∈ J Jobs j with pj = are commonly referred to in the literature on scheduling as the unit execution time (UET) jobs In contrast to the case of m ≥ 3, the problem with UET jobs is polynomially solvable for m = by constructing a maximum matching in the complement to the conflict graph [2] Furthermore, if m = 2, then the makespan minimisation problem is polynomially solvable if pj ∈ {1, 2}, for all j ∈ J, [3] The makespan minimisation problem with UET jobs has been also considered in [4], [5], [6], [7], [8] As has been proven in [4], this problem is NP-hard for the bipartite graphs, cographs, and for the interval graphs This problem is also NP-hard for permutation graphs [8] and for complements comparability graphs [6] In contrast, the existence of polynomial-time algorithms for the makespan minimisation problem with UET jobs has been proven for trees [2] and for split graphs [6] and [4] An approximation algorithm with a performance guarantee can be found in [3] together with the references to other similar results The remainder of this paper is organized as follows Section II presents some NP-hardness results together with particular cases for which can be proven the existence of a polynomialtime algorithms Two mixed integer linear programs are proposed in Section IV Their testing and comparison by means of computational experiments can be found in Section V Section VI presents conclusions and suggests the directions of further research II C OMPUTATIONAL C OMPLEXITY In this section we focus on the approximability of the CSPCJ problem We first give a formal definition of an approximation algorithm for a maximization problem Definition 1: Let M be a maximization problem and α ∈ (0, 1] be a real value, an α-approximation algorithm A for M is a polynomial-time algorithm that for every input x of M produces a solution A(x) whose value is at least α · OP T (x), where OP T (x) is the optimal value for x We now prove the first hardness of approximation result for the CSPCJ problem It turns out that if we allow the number of machines to be arbitrary large, CSPCJ is even hard to solve approximately Theorem 1: Unless P = NP, there is no n1− approximation algorithm for the scheduling problem, for any fixed constant > 0, even when all the jobs have same weight and length Proof We use a gap-preserving reduction [9] from the NP-complete problem M AXIMUM I NDEPENDENT S ET (MIS), which asks, given an (undirected) graph G = (V, E), to find a subset V ⊆ V of maximal size such that no two vertices in V are adjacent It is well-known that MIS does not admit a n1− -approximation algorithm, unless P = NP [10] Let G = (V, E) be a problem instance of MIS, we create a corresponding instance I of the scheduling problem as follows There is n = |V | identical machines and n identical jobs, each corresponds to a vertex in V Two jobs i, j are in conflict if and only if they are connected by an edge in E We prove that any independent set V of size n of G will yield a job schedule of size n to the instance I, and vice-versa Indeed, let V be an independent set of size n , then by allocating n jobs corresponding to vertices in V to arbitrary n machines (one to each single machine), we obtain a schedule S of size exactly n Therefore, the inapproximability of MIS will immediately transfer to our scheduling problem, and the theorem is complete ❑ By a greedy algorithm one can prove that the CSPCJ problem can be approximated to within a factor of O(1/m) Due to the space constraint we omit the proof here and leave it to a full version of the paper Theorem 2: If There is a O(1/m)-approximation algorithm for the CSPCJ problem with unit-length jobs III S OLVABLE C ASES In the following, we will show that the problem CSPCJ with three machines is tractable if all the jobs have same weight and unit length Theorem 3: Suppose that all the jobs have the same weight and length The CSPCJ problem can be solved in polynomial time if there are only two machines Proof The idea is to show the equivalence between the CSPCJ problem and the maximum matching problem on general graph for which there is already a polynomial-time algorithm with running time O(|V |2 · |E|) (see Edmonds’ ¯ = (V, E) ¯ be the comblossom algorithm [11]) Indeed, let G ¯ plement1 of the graph G = (V, E), in which an edge (i, j) ∈ E indicates the non-conflict between these two vertices i and j Now, suppose that π is an optimal assignment of jobs to machines in which i1 , i2 , , ik are the jobs processed in this order by the machine 1, and j1 , j2 , , jl are the jobs processed in this order by the machine 2, where k, l are the positive integers such that max{k, l} ≤ T Without loss of generality, one can assume that there is an index such that the first jobs ir , jr are non-conflict for all r ≤ , and ir , js are in conflict for all r, s ≥ (see the example below where the value of is 8) Then M = {(i1 , j1 ), , (i , j )} forms ¯ It is easy to see that M must be a matching on the graph G ¯ If not, there exists a matching a maximum matching on G M with |M | > |M|, and M induces a partial assignment of jobs to machines By adding greedily remaining jobs to machines we obtain an assignment of size greater than k + l, which contradicts the optimality of π Hence, solving CSPCJ is equivalent to finding a maximum matching on the complement of the graph G ❑ A special case is when the processing times are taken from the domain {1, 2}, and it remains open whether the problem can be solved efficiently in this case Note that some articles call this graph G ¯ agreement graph and use it instead of G Machine Machine i1 i2 i8 j1 j2 j8 i10 i9 j9 j10 T = 10 Figure 1: An example of an optimal assignment of jobs to machines The jobs (i1 , j1 ), (i2 , j2 ), , (i8 , j8 ) are pair-wise non-conflict, while the remaining jobs i9 , i10 , j9 , j10 conflict with each other Conjecture 1: The CSPCJ problem can be solved in polynomial time if there are only two machines with processing times pj ∈ {1, 2} IV M ATHEMATICAL P ROGRAMMING F ORMULATIONS A First formulation Let K = {1, 2, , |K|} be the set of positions that a job can be processed on a machine The cardinality of this set |K| can be estimated by T /tmin where tmin = mini∈J pi The formulation denoted by F1 and uses the following variables: • xijk : binary variables set to if job i is done by machine j at k th position • ti : starting time of job i th • zjk : the completion time of a job at k position by machine j • yk : binary variables (k = (i, j) ∈ C) used to handle conflict constraint It is set to if i is finished before starting time of j, and set to 0, otherwise The problem can be formulated as: processed on no more than one machine at only one position while constraints (5) make sure that each machine can at most once job at one position Constraints (6) indicate a job must be complete after its precedence Constraints (7) and (8) express the relationship among z-variables and the others Conflict constraints are satisfied by constraints (9) and (10) Finally, Constraints (11)-(14) define variables’ domain In this formulation, B is a very large number and can be estimated by the summation of the capacity and the execution time of all jobs which have a conflict with other jobs The number of variables in F1 is O(|J|.|M |.|K|+|C|), and that of constraints is O(|J|.|M |.|K| + |C|) B Second formulation We now present the second MIP model that is denoted by F2 for the problem It uses three types of variables as follows: • • • xij : binary variables equal to if job i is done by machine j ti : starting time of job i yij : binary variables equal to if job i is completed before starting time of job j The problem can be stated as: (2) xijk ) ∀i ∈ J (3) s.t ti + pi ≤ T +B(1 − s.t ti + pi ≤ T + B(1− j∈M k∈K xijk ≤ ∀i ∈ J (4) ∀j ∈ M, k ∈ K (5) ∀j ∈ M, k ∈ K, k > (6) ti + pi ≤ zjk + B(1 − xijk ) ∀i ∈ J, j ∈ M, k ∈ K (7) ti ≥ zj(k−1) − B(1 − xijk ) ∀i ∈ J, j ∈ M, k ∈ K (8) i∈J zj(k−1) ≤ zjk ti + pi ≤ tj + Byk ∀k = (i, j) ∈ C (9) tj + pj ≤ ti + B(1 − yk ) ∀k = (i, j) ∈ C (10) xijk ∈ {0, 1} yk ∈ {0, 1} ti ∈ R+ zjk ∈ R+ ∀i ∈ J, j ∈ M, k ∈ K (11) ∀k = (i, j) ∈ C (12) i∈J (13) j ∈ M, k ∈ K (14) Objective function (2) is to maximize the number of complete jobs with priorities as highest as possible Constraints (3) ensure the machine’s capacity when they enforce every job must be finished before T Constraints (4) imply each job is (16) ∀i ∈ J (17) j∈M yij + yji ≥ xim + xjm − yij + yji ≥ j∈M k∈K xijk ≤ xij ) ∀i ∈ J j∈M ti + pi ≤ tj + B(1−yij ) ∀i, j ∈ J, i = j i∈J j∈M k∈K (15) i∈J j∈M xij ≤ qi xijk (F1) Maximize qi xij (F2) Maximize xij ∈ {0, 1} ti ∈ R + yij ∈ {0, 1} (18) ∀i, j ∈ J, i = j, m ∈ M (19) ∀(i, j) ∈ C (20) ∀i ∈ J, j ∈ M (21) ∀i ∈ J (22) ∀i, j ∈ J (23) Similarly to (F1), constraints (16) imply capacity requirements Constraints (17) ensure that each job is processed on no more than one machine Constraints (18) express the relationship between variables t and y Constraints (19) say that if two jobs i and j are processed on the same machine, one job must be completed before starting time of another They are used to avoid the overlap among jobs processed on the same machine Conflict constraints are assured by constraints (20) Constraints (21)-(23) define variables’ domain Similarly to F1, B in Constraints (17) and (19) is a very large number and can be estimated by the summation of the capacity and the execution time of all jobs which have a conflict with other jobs The number of variables in the formulation (F2) is O(|J|2 + |M |.|J|), while the number of constraints is O(|J|2 |M | + |C|) V E XPERIMENTAL R ESULTS In this section, we discuss our computational experiments with the models of Sections IV The mixed integer programming models are implemented with C++ and solved using CPLEX 12.8 with default settings All experiments are done on a server with an Intel® Xeon® E5620 2.40 Ghz processor, running Windows with 1.5-GHz Ram and 1-hour running time limits for each instance We randomly generate instances with following parameters: • The number of jobs n is set to {12, 16} • The number of machines m is set to {2, 4} • The capacity of each machine T is set to {15, 30, 60} • The priority of each jobs is set to a random integer from to • Two jobs are randomly considered conflict such that the number of conflict pairs is equal to r.n where r ∈ {0.2, 0.5, 1} • The processing time of each job is a random integer from T /4 to T /2 (setting 1) or from to T /2 (setting 2) Totally, we have 72 instances, each is denoted by Cn-mr-T -s where n, m, T and r are self-defined while s ∈ {1, 2} implies the setting related to the generation of jobs’ processing time For example, C12-2-0.2-15-1 represents an instance with 12 jobs, machines, the ratio of the number of conflict pairs over the number of jobs equal to 0.2, the capacity set to 15, and the first setting of processing times Tables I and II report the results on the instances with 12 and 16 jobs, respectively For each model (F1 or F2), from left to right, the columns present the number of unscheduled jobs Nu , objective value Obj, gap, and running time of each model For F1, we additionally report the maximum number of possible positions K on each machine Some runs which not reach the time limit of 3600 seconds and nevertheless have not obtained the optimal solution raise an “out of memory” exception In two columns "Gap" and "T ime", the numbers in bold represent the better formulation The obtained results show that both formulations can solve optimally instances up to 16 jobs and machines Our main observation is that F1 can dominate F2 only on the instances with the first setting of the processing time while on the second setting F2 performs better Over 72 instances, F1 can solve 42 instances while F2 can solve 55 instances successfully F1 can handle 11 instances that F2 cannot All of these 11 instances are generated with the first setting of the processing time This can be explained by the fact that in this setting, the number of possible positions on a machine K is relatively small (only or 4) leading to less number of variables in the formulation F1 The results also show that the instances become harder when the number of jobs increases But the hardness of the instances does not necessarily depend on the number of machines The instances with machines are successfully solved more than ones with machines And finally, we observe that the instances tend to be easier if more jobs are done in the solution (See columns Nu in Tables I and II) Instance C12-2-0.2-15-1 C12-2-0.2-15-2 C12-2-0.2-30-1 C12-2-0.2-30-2 C12-2-0.2-60-1 C12-2-0.2-60-2 C12-2-0.5-15-1 C12-2-0.5-15-2 C12-2-0.5-30-1 C12-2-0.5-30-2 C12-2-0.5-60-1 C12-2-0.5-60-2 C12-2-1.0-15-1 C12-2-1.0-15-2 C12-2-1.0-30-1 C12-2-1.0-30-2 C12-2-1.0-60-1 C12-2-1.0-60-2 C12-4-0.2-15-1 C12-4-0.2-15-2 C12-4-0.2-30-1 C12-4-0.2-30-2 C12-4-0.2-60-1 C12-4-0.2-60-2 C12-4-0.5-15-1 C12-4-0.5-15-2 C12-4-0.5-30-1 C12-4-0.5-30-2 C12-4-0.5-60-1 C12-4-0.5-60-2 C12-4-1.0-15-1 C12-4-1.0-15-2 C12-4-1.0-30-1 C12-4-1.0-30-2 C12-4-1.0-60-1 C12-4-1.0-60-2 K 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 Nu 7 6 6 6 0 2 0 1 0 Obj 26 35 24 27 20 38 23 29 23 23 24 40 25 39 27 24 26 35 37 36 38 34 33 36 37 38 30 38 37 31 41 36 30 33 31 24 F1 Gap 20 22.22 2.63 27.57 73.91 2.5 2.56 36.24 5.71 0 0 9.09 0 2.63 0 2.70 0 0 0 T ime 0.02 3057.97 0.20 3600.00 1.08 3600.01 0.01 3600.02 0.06 3600.00 48.62 3600.01 0.01 3600.02 0.02 3600.01 29.36 3600.01 0.03 0.34 182.62 0.13 3600.01 0.19 0.07 3600.00 37.39 0.21 3600.01 0.13 0.14 0.94 17.98 0.53 52.68 1.57 Nu 7 6 6 6 0 2 0 1 0 F2 Obj Gap T ime 26 2478.93 35 66.05 24 122.69 27 21.01 20 42.21 38 23.72 23 1189.53 29 19.29 23 19.72 23 86.33 24 38.29 40 56.31 25 1062.62 39 509.22 27 504.24 24 778.14 26 6.26 35 15.27 37 0.06 36 0.06 38 131.51 34 0.07 33 71.06 36 0.10 37 0.09 38 42.00 30 8.62 38 0.09 37 20.29 31 0.10 41 0.09 36 0.13 30 1.92 33 0.13 31 3.65 24 0.73 Table I: Detailed results on the instances with 12 jobs VI C ONCLUSION AND D ISCUSSION We have studied in this paper an interesting variant of the scheduling problem when some conflicting jobs cannot be scheduled concurrently on different machines, and the available capacity on each machine is limited The objective here is not to minimize the makespan, but to maximize the total weights of finished jobs To the best of our knowledge, this is the first time such a scheduling problem has been studied We have shown the first hardness results as well as the approximability and the solvability of the problem for some classes of special conflict graphs At the heart of our contribution, we introduce the two mixed integer linear programming models to formulate the problem and develop first exact methods The computational results on randomly generated instances show that our exact methods based on two models can solve instances with 16 jobs to optimality And we recommend to use the first formulation (F1) when the number of possible jobs that can be done on a machine is no greater than For other cases, the second formulation (F2) is recommended Our work raises many interesting open questions for future works and we would like to mention below some of them Instance C16-2-0.2-15-1 C16-2-0.2-15-2 C16-2-0.2-30-1 C16-2-0.2-30-2 C16-2-0.2-60-1 C16-2-0.2-60-2 C16-2-0.5-15-1 C16-2-0.5-15-2 C16-2-0.5-30-1 C16-2-0.5-30-2 C16-2-0.5-60-1 C16-2-0.5-60-2 C16-2-1.0-15-1 C16-2-1.0-15-2 C16-2-1.0-30-1 C16-2-1.0-30-2 C16-2-1.0-60-1 C16-2-1.0-60-2 C16-4-0.2-15-1 C16-4-0.2-15-2 C16-4-0.2-30-1 C16-4-0.2-30-2 C16-4-0.2-60-1 C16-4-0.2-60-2 C16-4-0.5-15-1 C16-4-0.5-15-2 C16-4-0.5-30-1 C16-4-0.5-30-2 C16-4-0.5-60-1 C16-4-0.5-60-2 C16-4-1.0-15-1 C16-4-1.0-15-2 C16-4-1.0-30-1 C16-4-1.0-30-2 C16-4-1.0-60-1 C16-4-1.0-60-2 K 15 15 16 15 16 16 15 16 15 16 16 15 15 12 15 16 16 Nu 10 10 10 10 10 10 10 10 10 4 5 4 Obj 24 35 28 39 22 36 23 38 27 39 25 37 27 39 27 26 30 36 44 45 40 45 33 51 46 49 51 38 42 47 42 57 42 46 44 47 F1 Gap 57.14 20.51 25.00 26.32 15.38 24.32 28.21 61.54 19.44 2.22 6.67 21.21 1.96 6.12 7.89 26.12 4.26 0 0 9.05 T ime 0.01 3600.01 0.02 3451.76 89.62 2886.27 0.01 3600.01 0.02 3584.62 168.87 3599.99 0.01 3600.02 0.03 3600.01 690.11 3496.38 0.05 3600.02 0.06 3600.02 1799.79 3600.01 0.05 3600.01 368.24 3600.01 3600.01 3600.01 0.09 0.52 0.14 0.56 3600.01 1.19 Nu 10 10 11 10 10 10 10 10 10 4 5 4 Obj 24 35 28 39 22 36 23 38 27 39 25 37 27 39 27 26 30 36 44 45 40 45 33 51 46 49 51 38 42 47 42 57 42 46 44 47 F2 Gap 82.47 31.43 50 7.69 8.33 78.09 7.89 14.81 0 44.44 23.08 58.72 19.23 0 11.37 2.22 15 4.44 15.15 10.87 2.04 5.88 7.89 0 9.52 0 0 T ime 3599.99 3600.01 3600.01 3600.01 1506.69 3600.01 3600.00 3600.01 3600.01 2018.24 2438.46 126.64 3600.00 3600.01 3600.01 3600.02 1563.72 3087.46 3600.00 3600.00 3600.01 3600.01 3599.99 1409.63 3600.00 3600.02 3600.01 3599.99 2745.56 143.96 3600.00 0.24 3568.83 0.20 242.86 0.23 Table II: Detailed results on the instances with 16 jobs 1) Is it possible to have a polynomial-time algorithm for the case of two machines with processing time pj ∈ {1, 2, 3}? 2) Is the CSPCJ problem with two machines and p ∈ {1, 2, 3} is NP-hard for arbitrary bipartite agreement graphs? 3) Is CSPCJ NP-hard for the case of two machines with processing time pj ∈ {1, 2, 3, 4}? 4) How is it hard to approximate the CSPCJ problem when the processing times are in {1, 2, 3, 4}? 5) Is it possible to apply two proposed models to formulate the problem with the objective function minimizing the makespan? ACKNOWLEDGMENT This work has been supported by VNU University of Engineering and Technology under project number CN18.17 The manuscript of the paper was finished during the research stay of the first and last authors at the Vietnamese Institute for Advanced Studies in Mathematics (VIASM) We would like to express our sincere thanks to the institution for their kind hospitality and support R EFERENCES [1] M Garey and D Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness W H Freeman and Company, 1979 [2] B S Baker and E G C Jr., “Mutual exclusion scheduling,” Theor Comput Sci., vol 162, no 2, pp 225–243, 1996 [3] G Even, M M Halldórsson, L Kaplan, and D Ron, “Scheduling with conflicts: online and offline algorithms,” J Scheduling, vol 12, no 2, pp 199–224, 2009 [4] H L Bodlaender and K Jansen, “Restrictions of graph partition problems part I,” Theor Comput Sci., vol 148, no 1, pp 93–109, 1995 [5] F Gardi, “Mutual exclusion scheduling with interval graphs or related classes, part I,” Discrete Applied Mathematics, vol 157, no 1, pp 19– 35, 2009 [6] Z Lonc, “On complexity of some chain and antichain partition problems,” in Proceedings of the 17th International Workshop, ser WG ’91 London, UK: Springer-Verlag, 1992, pp 97–104 [7] H L Bodlaender and K Jansen, “On the complexity of scheduling incompatible jobs with unit-times,” in Mathematical Foundations of Computer Science 1993, 18th International Symposium, MFCS’93, Gdansk, Poland, August 30 - September 3, 1993, Proceedings, 1993, pp 291–300 [8] K Jansen, “The mutual exclusion scheduling problem for permutation and comparability graphs,” Inf Comput., vol 180, no 2, pp 71–81, 2003 [9] V Vazirani, Approximation Algorithms, 2nd ed Springer-Verlag, 2003 [10] J Håstad, “Clique is hard to approximate within n1− ,” in 37th Annual Symposium on Foundations of Computer Science, FOCS ’96, Burlington, Vermont, USA, 14-16 October, 1996, 1996, pp 627–636 [11] J Edmonds, “Paths, trees, and flowers,” Can J Math., vol 17, pp 449–467, 1965 ... in Section V Section VI presents conclusions and suggests the directions of further research II C OMPUTATIONAL C OMPLEXITY In this section we focus on the approximability of the CSPCJ problem. .. estimated by the summation of the capacity and the execution time of all jobs which have a conflict with other jobs The number of variables in the formulation (F2) is O(|J|2 + |M |.|J|), while the number.. .The considered particular cases were specified by restrictions on the jobs’ processing times, the number of machines, and the conflict graph Thus, for the case of general conflict graph,