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

page 1

page 2

page 3

page 4

research
10/02/2018

Near-Linear Approximation Algorithms for Scheduling Problems with Batch Setup Times

We investigate the scheduling of n jobs divided into c classes/batches o...
research
09/27/2018

Scheduling on (Un-)Related Machines with Setup Times

We consider a natural generalization of scheduling n jobs on m parallel ...
research
04/01/2020

Scheduling Parallel-Task Jobs Subject to Packing and Placement Constraints

Motivated by modern parallel computing applications, we consider the pro...
research
02/09/2019

Linear Time Algorithms for Multiple Cluster Scheduling and Multiple Strip Packing

We study the Multiple Cluster Scheduling problem and the Multiple Strip ...
research
02/27/2019

On the extension complexity of scheduling

Linear programming is a powerful method in combinatorial optimization wi...
research
04/02/2020

Towards PTAS for Precedence Constrained Scheduling via Combinatorial Algorithms

We study the classic problem of scheduling n precedence constrained unit...
research
09/24/2019

A common approximation framework for the early work, the late work, and resource leveling problems with unit time jobs

We study the approximability of two related machine scheduling problems....

Please sign up or login with your details

Forgot password? Click here to reset