Approximation Algorithm for Scheduling Parallel Machines with Machine Eligibility Restrictions and special jobs

This paper addresses the scheduling problem of parallel machines with machine eligibility restrictions and special jobs with the objective of minimizing the makespan. Each job can only be assigned to a specific subset of the machines. And the processing times of jobs are restricted to one of two values, 1 andε. A semi-matching model G=[J∪M,E,W] is presented to formulate this scheduling problem. We propose an approximation algorithm, which is composed of two steps, that is, initial solution construction and initial solution improvement. The initial solution construction algorithm is developed to build a feasible solution by performing a simple greedy heuristic method. The initial solution is used as a starting point by the improvement algorithm. The main idea of the improvement algorithm is to construct alternating tree, then to find the optimal alternating path for each vertex in M iteratively. In order to improve efficiency, the length of each path in alternating tree is limited to 4 at most.


Introduction
We consider a special case of parallel machine scheduling problem with machine eligibility restrictions and special jobs.Each job can only be assigned to a specific subset of the machines.And the processing times of jobs are restricted to one of two values, 1 andε.The objective is to minimize the makespan.
Most parallel machine scheduling problems are NP-hard.Due to the problem complexity, the development of approximation algorithms has received increasing attention in recent years.DAMODARAN [1] addresses parallel batch processing machines with unequal job ready times, and a simulated annealing algorithm is presented.WANG [2] presents a hybrid differential evolution algorithm for parallel machine scheduling with splitting jobs to minimizing the makespan.TAN [3] presents a SPT (shortest processing time ) algorithm for two parallel machines scheduling problem with given unavailable periods.Whenever a machine becomes idle, the SPT algorithm assigns the job with shortest processing time on that machine.TAN prove that the SPT algorithm is 3/2-approximate.LIU [4] deals with a parallel machines scheduling problem with linear increasing processing time, and propose a LS (list scheduling) algorithm.Liu prove that the LS algorithm is 1 ( 1) where b max is the maximum deteriorating rate of job.
In this paper, a semi-matching model G=[J∪M,E,W] is presented to formulate the studied problem into an optimal semi-matching searching problem.We propose an approximation algorithm, which is composed of two steps, that is, initial solution construction and initial solution improvement.The remainder of this paper is organized as follows.In section 2, a formal definition and the semi-matching model for the scheduling problem under studied are presented.In section 3, the initial solution construction algorithm based on heuristics is described in detail.The improvement algorithm is presented in section 4.This paper concludes with section 5.

Problem Definition and Semi-matching Model
The problem studied in this paper can be formally described as follows.We are given m (m≥1) parallel machines M ={ M 1 , M 2 , M 3 ,......, M m } and n jobs J ={ J 1 , J 2 , J 3 ,......, J n }.Machine eligibility restrictions are considered, which imply that any job J n can only be assigned to one of the machine in a certain subset of M. And the processing times of jobs are restricted to one of two values, 1 andε.We select the minimization of makespan as the optimization criterion.
In this paper, the semi-matching theory is adopt to model the studied problem.Let G = [J∪M, E,W] be a weighted bipartite graph, where J and M are two disjoint sets of vertices, and E J M   is a set of edges.For convenience, a vertex of J and a vertex of M are called J-vertex and M-vertex respectively.Each J-vertex represents a job, and each M-vertex represents a machine.If an edge e ij  E connects J i  J to M j  M, whose weight is W(e ij ), it means that M j can process J i , and the weight of edge e ij represents the time needed by M j to finish J i .
A set F E  is a semi-matching if each J-vertex is incident with exact one edge in F [5] .Obviously, a semi-matching F corresponds to a assignment of jobs to machines.If F is a load balanced semi-matching, we can minimize the completion time.As shown in Fig. 1(a), we represent the 3 parallel machines and 5 jobs as the vertices of a weighted bipartite graph.Fig. 1(b) is a semi-matching of the graph shown in Fig. 1(a).Fig. 1.A example of a weighted bipartite graph and one of its semi-matchings Given a edge e ij  F, let J i and M j be two endpoints of e ij .We say that e ij is a matched edge, J i and M j are matched vertices with respect to F, and J i is a neighbor of M j , respectively.Let N(J i ) denote the set of neighbors of vertex J i  J. Similarly, N(M j ) is defined for a vertex M j  M. Given a semi-matching F, the load on vertex M j  M is defined as the sum of weights of the edges that are incident with M j , denoted by ( ) The goal of this paper is to find a semi-matching with balanced load on M-vertices.The objective used in this paper is to minimize the maximum load of V-vertices, which can be expressed as min(max{ ( )})

Initial Solution Construction Algorithm based on Heuristics
Here, we present our initial solution construction algorithm based on heuristics.

Algorithm 1. initial solution construction algorithm
Step 1. Initialization: unfinished job set J w ←J, F i ←  .
Step 2. If J w ←  , output F i ; otherwise, randomly select a currently available job J x from J w .
Step 3. Select the eligibility machine M y of J x with the minimum workload.
Step 5. Delete J x from J w , go to Step 2.

Improvement Algorithm based on Alternating Path with Limited Length
For a given semi-matching F in G, edge ij e F  and ij e F  are called matched edge and unmatched edge, respectively.F-alternating path is a simple path that its edges are alternately matched and unmatched.
Let P be a F-alternating path with respect to a semi-matching F, and the edges in P are denoted by E(P).The notation F⊕E(P) is defined as the symmetric difference of sets F and E(P); i.e.F n = F⊕ E(P)=(F-E(P))∪(E(P)-F ).If the length of P is even, then F n is a new semi-matching by switching matched and unmatched edges along P.After the operation of symmetric difference, the number of edges in semi-matching does not increase or decrease, but the load distribution among M-vertices changes.F-alternating path P is called a cost-reducing path, if max{ ( )} max{ ( ) . In all alternating paths starting from M j and all related semi-matchings, the optimal semi-matching F o is a semi-matching with the smallest max{ ( ) , and the corresponding alternating path is called the optimal alternating path.
The algorithm based on alternating path is simple to implement, but it is needed to search the whole alternating tree rooted at each vertex in M to find the optimal alternation path.In theory, this kind of algorithm can yield the optimal solution.But for the large-sized problem, the running time of traversing the whole alternating tree is too costly.In the study of bipartite graph matching, it is a practical method to restrict the length of the path to reduce the size of the searching tree [6] .Therefore, we follow this principle, and our improvement algorithm only use short alternating paths and circles which contain at most 2 edges in semi-matching to decrease the maximal load of F i .
To ensure that the new semi-matching produced by the improvement algorithm is legal, all legal short alternating paths and circles are shown in Fig. 2. For convenience, the short alternating path and circle are all called short path.
The main idea of the improvement algorithm is to start with a initial solution and to decrease the maximal load of the semi-matching by a local improvement, which searches the optimal short path for every vertex M j  M iteratively.In every iteration, we first build a alternating tree by BFS discipline to find out the optimal short path, and then perform the symmetric difference operation to produce a new semi-matching with smaller maximal load.The detail of the improvement algorithm is as follows.
Algorithm 2. initial solution improvement algorithm Input: initial solution F i .Output: near-optimal solution F a .
Step 1. initialization: F a ←F i , M t ←M.
Step 2. select a vertex M j  M t , build the alternating tree T rooted at M j , where edges in F i are directed from M-vertex to J-vertex and edges not in F i are directed from J-vertex to M-vertex.
Step 3. find the optimal short path j M P .
Step 4. F a ←F a ⊕E( j M P ).
Step 5. delete M j from M t , and if t M   , goto Step 2. Otherwise, output F a .Lemma 1.Let F o be the optimal semi-matching of G = [U∪V, E,W], and F a be a near-optimal semi-matching yielded by our algorithm.The maximal loads of F o and F a are denoted by max(F o ) and max(F a ), respectively.For F a , if there is no short path that can decrease max(F a ), then: Proof.Let E a =F a -F o and E o = F o -F a be two sets of edges.Obviously, we can build short paths by selecting edges from E a and E o alternately, and F a can be improved to F o by the operation of the symmetric difference between these short paths and F a .
Let P be a short path , which consists four edges selecting from E a and E o alternately, as shown in Fig. 3.The four edges of P are denoted by e i 、e j 、e k and e l , and the edges of e i and e k belong to E a , the other two edges of e j and e l belong to E o .The M-vertices in P are denoted by M i , M j and M k , and let M j be the vertex with the maximal load in F a and F o .δ a (M j ) andδ o (M j ) represent the load on M j in F a and F o , respectively.Other notations used here include: E aj : the set of edges connecting M j in F a .E oj : the set of edges connecting M j in F o .E cj : intersection set of E aj and E oj .If P is not an optimal short path, the reason for this must be that the load on M k after switching operation exceedsδ a (M j ).Therefore, Eq.4 must hold., then Eq.( 13) is converted into Eq.6.
( ) (1 ) ( ) In F a , the load on M j can be defined as ( ) And because:  From Eq.8, we can know that the worst-case ratio of the improvement algorithm is 1   .

Summary
We have developed an approximation algorithm for the parallel machines scheduling problem with machine eligibility restrictions and special jobs, which is composed of 2 steps of initial solution construction and initial solution improvement.The initial solution is generated by a heuristic algorithm.In the improvement algorithm, we restrict the length of alternating path to 4 in order to improve the efficiency.And we prove that the worst-case ratio of the improvement algorithm is 1   .