## Abstract

We consider the following fundamental scheduling problem. The input to the problem consists of n jobs and k machines. Each of the jobs is associated with a release time, a deadline, a weight, and a processing time on each of the machines. The goal is to find a nonpreemptive schedule that maximizes the weight of jobs that meet their respective deadlines. We give constant factor approximation algorithms for four variants of the problem, depending on the type of the machines (identical vs. unrelated) and the weight of the jobs (identical vs. arbitrary). All these variants are known to be NP-hard, and the two variants involving unrelated machines are also MAX-SNP hard. The specific results obtained are as follows: • For identical job weights and unrelated machines: a greedy 2-approximation algorithm. • For identical job weights and k identical machines: the same greedy algorithm achieves a tight (1+1/k)^{k}/(1+1/k)^{k}-1 approximation factor. • For arbitrary job weights and a single machine: an LP formulation achieves a 2-approximation for polynomially bounded integral input and a 3-approximation for arbitrary input. For unrelated machines, the factors are 3 and 4, respectively. • For arbitrary job weights and k identical machines: the LP-based algorithm applied repeatedly achieves a (1+1/k)^{k}/(1+1/k)^{k}-1 approximation factor for polynomially bounded integral input and a (1+1/2k)^{k}/(1+1/2k)^{k}-1 approximation factor for arbitrary input. • For arbitrary job weights and unrelated machines: & combinatorial (3 + 2√2 ≈ 5.828)-approximation algorithm.

Original language | English (US) |
---|---|

Pages (from-to) | 331-352 |

Number of pages | 22 |

Journal | SIAM Journal on Computing |

Volume | 31 |

Issue number | 2 |

DOIs | |

State | Published - 2001 |

Externally published | Yes |

## All Science Journal Classification (ASJC) codes

- Computer Science(all)
- Mathematics(all)

## Keywords

- Approximation algorithms
- Multiple machines scheduling
- Parallel machines scheduling
- Real-time scheduling
- Scheduling
- Throughput