Abstract
The generalized windows scheduling problem for n jobs on multiple machines is defined as follows: Given is a sequence, I =\ang(w1, l1),(w2, l2),...,(wn, ln) of n pairs of positive integers that are associated with the jobs 1,2,...,n, respectively. The processing length of job i is li slots (a slot is the processing time of one length unit). The goal is to repeatedly and non-preemptively schedule all the jobs on the fewest possible parallel machines such that the gap (window) between two consecutive executions of the first slot of job i is at most wi slots. This problem arises in push broadcast systems in which data is transmitted on parallel channels.The problem is NP-hard even for unit-length jobs and a (1+Σ)-approximation algorithm is known for this case by approximating the natural lower bound W(I)=Σ=1n (1/Wi). The techniques used for approximating unit-length jobs cannot be applied for arbitrary-length jobs mainly because the optimal number of machines might be arbitrarily larger than the generalized lower bound W(I)=Σ=1n (li/wi).Our main result is an 8-approximation algorithm for the generalized problem using new methods, different from those used for the unit-length case. We also present an algorithm that uses 2(1+Σ)W(I)+ log wmax machines and a greedy algorithm that is based on a new tree representation of schedules. The greedy algorithm is optimal for some special and simulations show that it performs very well in practice.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have