The paper[1] is a joint work by David Shmoys and Eva Tardos.
The generalized assignment problem can be viewed as the following problem of scheduling unrelated parallel machine with costs.
Each of independent jobs (denoted ) have to be processed by exactly one of unrelated parallel machines (denoted ). Unrelated implies same job might take different amount of processing time on different machines. Job takes time units when processed by machine and incurs a cost . Given and , we wish to decide if there exists a schedule with total cost at most such that for each machine its load, the total processing time required for the jobs assigned to it is at most . By scaling the processing times, we can assume, without loss of generality, that the machine load bounds satisfy . ``In other words, generalized assignment problem is to find a schedule of minimum cost subject to the constraint that the makespan, that the maximum machine load is at most ".
The work of Shmoys with Lenstra and Tardos cited here[2]
gives a 2 approximation algorithm for the unit cost case. The algorithm is based on a clever design of linear program using parametric pruning and then rounding an extreme point solution of the linear program deterministically. Algorithm for the
generalized assignment problem is based on a similar LP through parametric pruning and then using a new rounding technique on a carefully designed bipartite graph. We now state the LP formulation and briefly describe the rounding technique.
We guess the optimum value of makespan and write the following LP. This technique is known as parametric pruning.
;
- ;
- ;
- ;
- ;
The obtained LP solution is then rounded to an integral solution as follows. A weighted bipartite graph
is constructed. One side of the bipartite graph contains the job nodes, , and the other side contains several copies of each machine node,
, where . To construct the edges to machine nodes corresponding to say machine , first jobs are arranged in decreasing order of processing time . For simplicity, suppose, . Now find the minimum index , such that
. Include in all the edges with nonzero and set their weights to . Create the edge and set its weight to . This ensures that the total weight of the edges incident on the vertex is at most 1. If , then create an edge with weight . Continue with assigning edges to in a similar way.
In the bipartite graph thus created, each job node in has a total edge weight of 1 incident on it, and each machine node in has edges with total weight at most 1 incident on it. Thus the vector is an instance of a fractional matching on and thus it can be rounded to obtain an integral matching of same cost.
Now considering the ordering of processing times of the jobs on the machines nodes during construction of and using an easy charging argument, the following theorem can be proved:
Theorem: If has a feasible solution then a schedule can be constructed with makespan
and cost .
Since , a 2 approximation is obtained.