Abstract

We consider the Vector Scheduling problem, a natural generalization of the classical makespan minimization problem to multiple resources. Here, we are given n jobs, represented as d-dimensional vectors in [0,1]^d, and m identical machines, and the goal is to assign the jobs to machines such that the maximum load of each machine over all the coordinates is at most 1. For fixed d, the problem admits an approximation scheme, and the best known running time is n^{f(epsilon ,d)} where f(epsilon ,d) = (1/epsilon )^{tilde{O}(d)} (tilde{O} suppresses polylogarithmic terms in d). In particular, the dependence on d is double exponential. In this paper we show that a double exponential dependence on d is necessary, and give an improved algorithm with essentially optimal running time. Specifically, we let exp (x) denote 2^x and show that: (1) For any epsilon <1, there is no (1+epsilon )-approximation with running time exp left( o(lfloor 1/epsilon rfloor ^{d/3})right) unless the Exponential Time Hypothesis fails. (2) No (1+epsilon )-approximation with running time exp left( lfloor 1/epsilon rfloor ^{o(d)}right) exists, unless NP has subexponential time algorithms. (3) Similar lower bounds also hold even if epsilon m extra machines are allowed (i.e. with resource augmentation), for sufficiently small epsilon >0. (4) We complement these lower bounds with a (1+epsilon )-approximation that runs in time exp left( (1/epsilon )^{O(d log log d)}right) + nd. This gives the first efficient approximation scheme (EPTAS) for the problem.

Highlights

  • We consider the Vector Scheduling problem defined as follows

  • The input consists of a collection J of n jobs p1, . . . , pn, viewed as d-dimensional vectors from [0, 1]d, and m identical machines

  • A natural question is whether there exists an approximation scheme for Vector Scheduling with a single exponential running time in 1/ and d, e.g. exp(poly(1/, d))

Read more

Summary

Introduction

We consider the Vector Scheduling problem defined as follows. The input consists of a collection J of n jobs p1, . . . , pn, viewed as d-dimensional vectors from [0, 1]d , and m identical machines. The maximum load on any machine in any coordinate is at most 1. Vector Scheduling is the natural multi-dimensional generalization of the classic Multiprocessor Scheduling problem ( known as makespan minimization, P||Cmax, or load balancing). In the latter problem, the goal is to assign n jobs with arbitrary processing times to m machines in order to minimize the maximum sum of processing times (load) over all the machines. Note that the assumption that the maximum load of a machine in any coordinate is 1 is without loss of generality, as the different coordinates can be scaled independently. We say that an algorithm is an α-approximation for some α > 1 if it finds an assignment with load at most α, whenever there exists a feasible schedule with load at most 1

Previous Work
Our Contribution
Techniques
Preliminaries
Lower Bounds on the Running Time
The Construction
The Formal Reduction
Proof of the Reduction
Lower Bound Assuming NP has no Subexponential Time Algorithms
Lower Bound with Resource Augmentation
Linear Time Approximation Algorithm
Preprocessing
The Mixed-Integer Linear Program
Randomized Algorithm
Deterministic Algorithm

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.