Approximation Algorithms for Scheduling with Class Constraints

09/26/2019
by   Klaus Jansen, et al.
0

Assigning jobs onto identical machines with the objective to minimize the maximal load is one of the most basic problems in combinatorial optimization. Motivated by product planing and data placement, we study a natural extension called Class Constrainted Scheduling (CCS). In this problem, each job additionally belongs to a class and each machine can only schedule jobs from at most c different classes. Even though this problem is closely related to the Class Constraint Bin Packing, the Class Constraint Knapsack and the Cardinality Constraint variants, CCS lacks results regarding approximation algorithms, even though it is also well-known to be NP-hard. We fill this gap by analyzing the problem considering three different ways to feasibly allot the jobs: The splittable case, where we can split and allot the jobs arbitrarily; the preemptive case, where jobs pieces belonging to the same job are not allowed to be scheduled in parallel; and finally the non-preemptive case, where no splitting is allowed at all. For each case we introduce the first PTAS where neither c nor the number of all classes have to be a constant. In order to achieve this goal, we give new insights about the structure of optimal solutions. This allows us to preprocess the instance appropriately and by additionally grouping variables to set up a configuration Integer Linear Program (ILP) with N-fold structure. This N-fold structure allows us to solve the ILP efficiently. Further we developed the first simple approximation algorithms with a constant approximation ratio running in strongly polynomial time. The splittable and the preemptive case admit algorithms with ratio 2 and a running time of O(n^2 log(n)). The algorithm for the non-preemptive case has a ratio of 7/3 and a running time of O(n^2 log^2(n)). All results even hold if the number of machines cannot be bounded by a polynomial in n.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset