Article

Mathematical Programming

, Volume 62, Issue 1, pp 461-474

First online:

An approximation algorithm for the generalized assignment problem

  • David B. ShmoysAffiliated withSchool of Operations Research and Engineering, Cornell University
  • , Éva TardosAffiliated withSchool of Operations Research and Engineering, Cornell University

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access

Abstract

The generalized assignment problem can be viewed as the following problem of scheduling parallel machines with costs. Each job is to be processed by exactly one machine; processing jobj on machinei requires timep ij and incurs a cost ofc ij ; each machinei is available forT i time units, and the objective is to minimize the total cost incurred. Our main result is as follows. There is a polynomial-time algorithm that, given a valueC, either proves that no feasible schedule of costC exists, or else finds a schedule of cost at mostC where each machinei is used for at most 2T i time units.

We also extend this result to a variant of the problem where, instead of a fixed processing timep ij , there is a range of possible processing times for each machine—job pair, and the cost linearly increases as the processing time decreases. We show that these results imply a polynomial-time 2-approximation algorithm to minimize a weighted sum of the cost and the makespan, i.e., the maximum job completion time. We also consider the objective of minimizing the mean job completion time. We show that there is a polynomial-time algorithm that, given valuesM andT, either proves that no schedule of mean job completion timeM and makespanT exists, or else finds a schedule of mean job completion time at mostM and makespan at most 2T.

Key words

Approximation algorithms generalized assignment problem scheduling unrelated parallel machines