English

Scheduling on uniform and unrelated machines with bipartite incompatibility graphs

Data Structures and Algorithms 2021-06-29 v1 Computational Complexity

Abstract

In this paper the problem of scheduling of jobs on parallel machines under incompatibility relation is considered. In this model a binary relation between jobs is given and no two jobs that are in the relation can be scheduled on the same machine. In particular, we consider job scheduling under incompatibility relation forming bipartite graphs, under makespan optimality criterion, on uniform and unrelated machines. We show that no algorithm can achieve a good approximation ratio for uniform machines, even for a case of unit time jobs, under PNPP \neq NP. We also provide an approximation algorithm that achieves the best possible approximation ratio, even for the case of jobs of arbitrary lengths pjp_j, under the same assumption. Precisely, we present an O(n1/2ϵ)O(n^{1/2-\epsilon}) inapproximability bound, for any ϵ>0\epsilon > 0; and psum\sqrt{p_{sum}}-approximation algorithm, respectively. To enrich the analysis, bipartite graphs generated randomly according to Gilbert's model Gn,n,p(n)\mathcal{G}_{n,n,p(n)} are considered. For a broad class of p(n)p(n) functions we show that there exists an algorithm producing a schedule with makespan almost surely at most twice the optimum. Due to our knowledge, this is the first study of randomly generated graphs in the context of scheduling in the considered model. For unrelated machines, an FPTAS for R2G=bipartiteCmaxR2|G = bipartite|C_{\max} is provided. We also show that there is no algorithm of approximation ratio O(nbpmax1ϵ)O(n^bp_{\max}^{1-\epsilon}), even for RmG=bipartiteCmaxRm|G = bipartite|C_{max} for m3m \ge 3 and any ϵ>0\epsilon > 0, b>0b > 0, unless P=NPP = NP.

Keywords

Cite

@article{arxiv.2106.14354,
  title  = {Scheduling on uniform and unrelated machines with bipartite incompatibility graphs},
  author = {Tytus Pikies and Hanna Furmańczyk},
  journal= {arXiv preprint arXiv:2106.14354},
  year   = {2021}
}