This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).

In the pursuit of finding subclasses of the makespan minimization problem on unrelated parallel machines that have approximation algorithms with approximation ratio better than 2, the graph balancing problem has been of current interest. In the graph balancing problem each job can be non-preemptively scheduled on one of at most two machines with the same processing time on either machine. Recently, Ebenlendr, Krčál, and Sgall (Algorithmica 2014,

Let

Let

The graph balancing problem is a special case of the makespan minimization problem on unrelated parallel machines (

Recently, Ebenlendr

Most recently, Kolliopoulos and Moysoglou [

To conclude this section, we outline the remainder of this paper. In

Similar to the algorithm by Lenstra

The remainder of this section gives Lemmas 1–4 which provide the subroutines used by our algorithm, then in Theorem 5 we prove our algorithm is a

Multigraph

An orientation

Divide edge weights and vertex dedicated loads by

Since

Multigraph

An orientation

Find a cycle

Mark the vertices in

Orient all the edges in

Multigraph

Next, we consider the case handled in Step 5.1 of the algorithm, namely when

If

We build a flow network

Before we proceed to describe the algorithm, we show that this network has the following property: if

Multigraph

An orientation

Build the flow network

Compute an integral maximum flow

Construct bipartite graph

Compute a matching on

The time complexity of algorithm BigSmall_

If

If

Since

Consider the orientation produced by the algorithm. If vertex

First, let

Second, the capacity from any vertex node

Hence, the load of a vertex

Next, we cover the case when

We consider two cases:

From this point forward, assume

We modify the algorithm from Lemma 2 as follows. We refer the reader to BigSmall_

Consider the load of a vertex

Let

Let

Therefore, the load of

For the final case in Step 5 of our algorithm, we apply a variant of the algorithm by Ebenlendr

Let

As shorthand, if

Solve LP1 to obtain a fractional solution

The algorithm then considers fractionally oriented edges in

Finally, if no vertex

The rounding performed by a leaf assignment increases the load of a vertex

Now we show how to modify this algorithm for our problem.

We make the following modifications to the algorithm in [

Use the algorithm of Ebenlendr

We can extend the arguments by Ebenlendr

The load of

If

If

For any tree

For completeness we sketch a proof that the above conditions hold throughout the rounding procedure. At the beginning of the algorithm, after the modified LP1 is solved, all the conditions above are satisfied and the load of each vertex is at most 1. Next, we show conditions (1)–(4) are preserved for any vertex that changes its load during the rounding procedure.

If

If

Therefore, by condition (1), the load of a vertex is at most

Finally we prove our algorithm is indeed a

Recall that in Step 1, algorithm GB2W scales the edge weights and vertex dedicated loads by

The binary search then is guaranteed to find a value

We have presented a 3/2-approximation algorithm for the graph balancing problem with two weights, which meets the best-known inapproximability bound 3/2. We hope our result further motivates other researchers to investigate the 3/2 to 2 inapproximability-to-approximation gap for the makespan minimization problem on unrelated parallel machines.

The second author was partially supported by the Natural Sciences and Engineering Research Council of Canada, grant 04667-2015 RGPIN.

The results in this paper were developed by both authors. Daniel Page prepared the manuscript, and Roberto Solis-Oba commented and contributed to the preparation of the final manuscript.

The authors declare no conflict of interest.

The flow network

The modified flow network constructed for the case when