Abstract
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, 68, 62–80.) presented a -approximation algorithm for the graph balancing problem. Let . In this paper we consider the graph balancing problem with two weights, where a job either takes r time units or s time units. We present a -approximation algorithm for this problem. This is an improvement over the previously best-known approximation algorithm for the problem with approximation ratio 1.652 and it matches the best known inapproximability bound for it.
1. Introduction
Let be a weighted multigraph, where V is the set of vertices, E is the set of edges, are non-negative edge weights, and are the dedicated loads. A dedicated load of vertex v is the sum of the weights of self-loops incident on v in the multigraph; we assume the self-loops are removed from G. An orientation orients each edge towards one of its endpoints. Given a weighted multigraph G, the graph balancing problem is to find an orientation γ where the maximum load of the vertices is minimized, where the load of a vertex v is defined as .
Let , where . We focus on a special case of this problem we call the graph balancing problem with two weights (GBP2W), where the edges have either weight r or s and each dedicated load is of the form for .
The graph balancing problem is a special case of the makespan minimization problem on unrelated parallel machines ( in Graham notation, see [1]). Presently, the best-known approximation algorithms for have approximation ratio 2. The first 2-approximation algorithm for was presented by Lenstra et al. [2], and in 2005 a -approximation algorithm was given by Shchepin and Vakhania [3], where m is the number of machines. These 2-approximation algorithms utilize linear programming, but it is worth noting that there is a combinatorial 2-approximation algorithm by Gairing et al. [4] that employs generalized flow networks. Finding an approximation algorithm with approximation ratio better than 2 for is an important open problem in scheduling theory, and trying to get any further insight into the problem through the study of subclasses of has been of attention lately [5,6,7,8,9,10,11,12,13].
Recently, Ebenlendr et al. [7] gave a -approximation algorithm for the graph balancing problem. In addition, Ebenlendr et al. [14] showed that for , there is no p-approximation algorithm for the graph balancing problem when the edges of the multigraph have weight or 1, unless P=NP. Note that this hardness result was also independently proven by Asahiro et al. [5,15]. This matches the inapproximability bound for the makespan minimization problem on unrelated parallel machines given by Lenstra et al. [2], so, GBP2W is worth investigating due to being one of the simplest scheduling problems presently known to share inapproximability properties with .
-approximation algorithms have been presented for some special cases of GBP2W. The graph orientation problem with two weights is a NP-hard special case of GBP2W where G is simple, and every dedicated load . In [5,15], Asahiro et al. gave two approximation algorithms that achieve the bound for variants of the graph orientation problem with two weights: one called Cycle-Canceling when and ; and another called Refined Cycle-Canceling when and . Later, Kolliopoulos and Moysoglou [9] gave a -approximation algorithm for GBP2W when and , where k is a positive integer (Theorem 4.1).
Most recently, Kolliopoulos and Moysoglou [9] presented a 1.652-approximation algorithm for GBP2W. Their approximation algorithm employs binary search, and for a given estimation of the optimal load T different approximation algorithms are used based on the values of the weights with respect to T. A core component of this approximation algorithm is a flow-network based approximation algorithm for the two-valued case of the restricted assignment problem introduced in the same paper. In this paper we present a -approximation algorithm for GBP2W. We adopt a technique of considering particular intervals for the weights during a binary search similar to that of by Kolliopoulos and Moysoglou to derive our -approximation algorithm.
To conclude this section, we outline the remainder of this paper. In Section 2, we present our contribution—a -approximation algorithm for GBP2W. After describing our algorithm, we give subroutines used by the algorithm and their correctness in Section 2.1, Section 2.2, Section 2.3 and Section 2.4, then prove our algorithm is indeed a -approximation algorithm for GBP2W in Section 2.5. In Section 3, we conclude our paper.
2. Algorithm
Similar to the algorithm by Lenstra et al. [2], our approximation algorithm uses an estimation T of the maximum load of a vertex in an optimal orientation as a parameter. The algorithm GB2W presented below as Algorithm 1 finds a solution of value at most if a solution of value at most T exists. We combine this algorithm with a binary search procedure to find the smallest value for T for which an orientation with load at most for the graph balancing problem with two weights is found: if for a given T the algorithm does not find a solution of value at most then the value of T is increased in the binary search; otherwise it is decreased. By the above property of our algorithm this smallest value of T must be less than or equal to the value of an optimum solution, hence our algorithm has approximation ratio .
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 -approximation algorithm for GBP2W. First, we present Lemma 1 which covers Step 4 of our algorithm. Note that in Step 1 the algorithm scales the weights so the estimation for the optimum load is . We define a big edge e to be an edge with weight ; otherwise, we call an edge small. Let the value for an optimum solution for the problem be denoted as . From this point forward, we assume that as edges are oriented in Steps 4–5.3, they are removed from G.
| Algorithm 1: GB2W |
|
2.1. Step 4
Lemma 1.
There is a polynomial-time algorithm for the graph balancing problem with two rational weights that either finds a solution of value at most 1 or proves that .
Proof.
Since , each edge of G is a big edge. If there is an orientation for the edges with maximal load at most 1, then at most one edge can be oriented towards a given vertex. Therefore, if any connected component of G has then there is no solution for the graph balancing problem of value at most 1. The algorithm is as follows (Big_, Algorithm 2).
| Algorithm 2: Big_ |
|
Multigraph G must have at most edges, and an optimal orientation matches each edge to a unique vertex with no dedicated load. If a solution of value at most 1 exists, it must be found in Steps 2 and 3. The above algorithm runs in time. ☐
2.2. Step 5.1
Next, we consider the case handled in Step 5.1 of the algorithm, namely when and so . In Lemma 2, we utilize the property that , which means that if , then no small edge can be oriented with a big edge towards a given vertex without causing the maximal load to be greater than 1.
Lemma 2.
For any , there is a polynomial-time algorithm for the graph balancing problem with two rational weights , where and that either finds a solution of value at most or proves that .
Proof.
If , since , for any optimal orientation either at most a big edge is oriented towards a vertex, or at most k small edges are oriented towards a vertex. This property is natural to encode into a flow network. To find an orientation for the edges of the weighted multigraph , we use a multi-level flow network similar to that in [9].
We build a flow network N as follows. First, we consider the dedicated loads of the vertices. For each vertex , define a value as follows: if , set ; otherwise there is a non-negative integer so that , assign . The flow network will have a source and sink . We will describe the network level by level. First, we have a level of nodes in the network called edge nodes. These are nodes corresponding to the edges in the multigraph. There are two types of edge nodes: big edge nodes for edges with weight s; and small edge nodes for those with weight r. From source , add an arc from to each edge node, and set its capacity to k if it is to a big edge node, and 1 otherwise. The next level consists of buffer nodes, one for each vertex. The buffer nodes are added to prevent excess flow from being contributed by the big edge nodes. While this part of the network is not important for proving this lemma, it will be vital for how we later use this network in Lemma 3. For each big edge , add arcs with capacity k from its big edge node to buffer nodes u and v. For the next level of the network, create a vertex node that will correspond to each vertex in the multigraph. For each buffer node for , add an arc from its buffer node to its vertex node with capacity k. Next, for each small edge , include arcs with capacity 1 from its small edge node to vertex nodes u and v. Finally, for each vertex , add an arc from vertex node v to sink with capacity . The resulting flow network is shown in Figure 1.
Figure 1.
The flow network N for the case when and . Shaded nodes represent big edge nodes, and each black node is a buffer node associated with one vertex node. Arcs that are unlabelled have flow capacity 1.
Before we proceed to describe the algorithm, we show that this network has the following property: if , an integral maximum flow on this network saturates all the arcs leaving source . Consider any optimal orientation . Using we construct a flow function in which every small edge node receives 1 unit of flow, and each big edge node receives k units of flow from the source . For each big edge of G with , if u is the big edge node for send k units of flow from to u, k units of flow from u to buffer node , k units of flow from buffer node to vertex node , and k units of flow from to the sink . Similarly, for each edge represented by small edge node u and , send 1 unit of flow from to u, from u to vertex node , and from to . It is not hard to see that this flow function is feasible and that no additional flow can be sent through the network.
| Algorithm 3: BigSmall_rs |
|
The time complexity of algorithm BigSmall_ (Algorithm 3) is polynomial. Now we prove that this algorithm finds an orientation with maximal load at most if . If , then as shown above, every small edge node receives 1 unit of flow from . By flow conservation, each small edge node u sends its one unit of flow to a vertex node , and the algorithm orients small edge u towards vertex . As a result, every small edge is oriented by the algorithm. What remains to be shown is that all the big edges are oriented. The orientation of each big edge is determined by the matching computed by the algorithm. We must show this matching exists. Consider any subset , and denote the neighbourhood in of this subset of nodes as . Note that . To show the above matching exists, we prove . Two key observations are that the outdegree of every edge node is 2, and every big edge node is sent at most k units of flow. Furthermore, by flow conservation every big edge node must send at most k units of flow to the buffer nodes. We have two cases:
- If k is odd, a buffer node in can receive at least units of flow from only one big edge node in because . Furthermore, since , each big edge node in has degree 1. Hence, .
- If k is even, , and a buffer node can receive units of flow from at most two big edge nodes. Partition into two disjoint sets and , where contains the buffer nodes that receive more than units of flow from a big edge node, and has the buffer nodes that receive units of flow from a big edge node. Similar to when k is odd, each big edge node in is adjacent to only one buffer node in , and so each buffer node in has degree 1 in . This leaves vertices adjacent to buffer nodes in . The indegree of each buffer node in is at least one (and no more than 2), but the outdegree of every big edge node adjacent to the buffer nodes in is exactly 2. This implies that the . Putting this together, .
Since , by Hall’s Theorem [16], a matching covering exists. Hence, the algorithm computes an orientation if and reports FAIL otherwise.
Consider the orientation produced by the algorithm. If vertex v has , then the edge from v to in N has capacity zero which implies that no edge is oriented towards v, so the load of v is . Next we check when v has .
- First, let v be a vertex with a big edge oriented towards it. Since a big edge oriented towards v implies a big edge node sends at least units of flow to the vertex node for v, at most units of flow can be additionally sent to this vertex node by small edge nodes; hence at most additional small edges are oriented towards v.
- Second, the capacity from any vertex node v to is , so any vertex that is not assigned a big edge has at most small edges oriented towards it.
Hence, the load of a vertex v is at most
2.3. Step 5.2
Next, we cover the case when and . In this case, it is possible that . If , at most one big edge can be oriented along with one small edge toward the same vertex; we exploit this property below.
Lemma 3.
For any , there is a polynomial-time algorithm for the graph balancing problem with two rational weights , where and that either finds a solution of value at most or proves that .
Proof.
We consider two cases: , and . Assuming , if either at most one big edge is oriented towards a vertex or at most k small edges are oriented towards a vertex; apply Lemma 2 to obtain an orientation where each vertex has load at most , if such an orientation exists.
From this point forward, assume . Observe that . If , an optimal orientation either has at most a big edge oriented along with a small edge towards the same vertex, or at most k small edges are oriented towards a vertex. Like Lemma 2, compute a value for the dedicated load of each . When , set . Otherwise, if set , and if not, assign where . The algorithm will build a modified version of the flow network N of Lemma 2, which we describe now. First, change the capacities on the arcs incident on the big edge nodes from k to . Second, for each , set the capacity of the arc from buffer node v to vertex node v to instead of k. Leave the capacities from the vertex nodes to the sink as . We show this flow network in Figure 2. It is straightforward to see that this modified network maintains the same property that all the arcs leaving are saturated in an integral maximum flow if .
Figure 2.
The modified flow network constructed for the case when and . Shaded nodes represent big edge nodes, and every black node is a buffer node associated with a vertex node. Assume arcs that are unlabelled have flow capacity 1.
We modify the algorithm from Lemma 2 as follows. We refer the reader to BigSmall_ (Algorithm 3). The modified flow network we described above is built for Step 1. Steps 2–3 are the same as before. In Step 4, when constructing the bipartite graph between the big edge nodes and buffer nodes, remains the same, but contains buffer nodes that receive instead at least units of flow from a big edge node and
steps 5–8 remain the same as before. Since the capacities of the arcs leaving the buffer nodes and the incoming flow to the big edge nodes are one less than in the network in Lemma 2, one can show a matching on exists if by replacing k with and switching the even and odd cases of our original argument in Lemma 2.
Consider the load of a vertex v in the orientation produced by the algorithm. Clearly any vertex v with has and . No flow is sent to these vertex nodes, so the load of these vertices is at most 1. Now, examine vertices with . If , then at most one additional small edge can be oriented towards v. Hence, the load of v when is at most since . Finally, consider when and .
- Let v be a vertex with a big edge oriented towards it. At least units of flow are sent from its big edge node to v. Then, at most small edges can be oriented along with the big edge towards v.
- Let v not have a big edge oriented towards it. At most small edges are oriented towards v.
Therefore, the load of v is at most
2.4. Step 5.3
For the final case in Step 5 of our algorithm, we apply a variant of the algorithm by Ebenlendr et al. [7]. First we give a brief explanation of their original algorithm that has approximation ratio .
Let be the set of big edges and let be the subgraph of G consisting of big edges. If , every connected component of with b vertices contains at most b edges, which implies that each component has at most one cycle. For each connected component, identify a cycle if it exists, then orient every big edge not in the cycle away from the cycle and remove each oriented edge. Add the weight of each oriented big edge to the dedicated load of the endpoint farther from the cycle. is now a disjoint union of trees and cycles.
As shorthand, if v is a vertex and e is an edge, means “v is incident to e”. For any , let
where each is called a leaf pair of T. Consider any tree . Assuming , since T has one more vertex than edges, at most one edge in the set of leaf pairs can be oriented away from its leaf. This leads to what is called the tree constraint (Tree T) in linear program 1 (LP1) shown below, which is a relaxation of an integer program formulation of the graph balancing problem. A variable is defined for each edge and endpoint v of e. If , e is oriented towards v. If , we say that e is fractionally oriented towards v.
Linear program 1 (LP1)
Solve LP1 to obtain a fractional solution . As a brief remark, there can be exponentially many trees, but there is a separation oracle that can be used to solve LP1 in polynomial time with the ellipsoid method [7]. Let . Also, let and . If a feasible solution is not found for LP1, then .
The algorithm then considers fractionally oriented edges in , and performs a rounding procedure to determine their final orientations. It is assumed that as edges are oriented, and are updated accordingly. If there is a vertex v of degree 1 in and for edge then
- Leaf assignment: if , e is oriented towards v;
- Tree assignment: if note that e then is a big edge and the connected component of containing e must be a tree T. Orient all edges in T away from v.
Finally, if no vertex v as above is found, then there must be a cycle. If so, perform a walk around the cycle changing the values of the edges in the cycle by the minimum amount δ that makes at least one of these values zero and the loads on the vertices remain unchanged. Note that when traversing to find a cycle, big edges are taken in priority over small edges. This step is called rotation. The algorithm terminates once no longer has an edge.
The rounding performed by a leaf assignment increases the load of a vertex u by at most if the edge e under consideration is big or it increases by at most if e is small. Furthermore, a tree assignment can increase the load of a vertex u by at most . A vertex u can have its load increased by either only one leaf assignment or by a tree assignment plus a leaf assignment involving a small edge. In either case the maximum load of a vertex is at most . Note that a rotation does not change loads.
Now we show how to modify this algorithm for our problem.
Lemma 4.
For every positive integer , there is a polynomial-time algorithm for the graph balancing problem with two rational weights , where and that either finds a solution of value at most or proves that .
Proof.
We make the following modifications to the algorithm in [7]. Consider any tree . Every big edge e has weight , so we simplify the tree constraint to
Also, in the rounding procedure of [7] we change the leaf assignment and tree assignment:
- New leaf assignment: if , e is oriented towards v.
- New tree assignment: if , then e is a big edge and the connected component of containing e is a tree T. Orient all edges in T away from v.
Use the algorithm of Ebenlendr et al. [7] with the above modifications. If no fractional solution is found then no orientation exists; report FAIL if this is the case. Since modifying the above threshold from to will still allow all fractionally oriented edges to be rounded, the algorithm still finds an orientation in polynomial time.
We can extend the arguments by Ebenlendr et al. [7] to show that the algorithm has approximation ratio in our case. It is not hard to modify the proof of Theorem 1 in [7] to show that the following conditions are maintained by each vertex before and after each step in the rounding procedure.
- (1)
- The load of v is at most .
- (2)
- If is incident on v, then v has load at most .
- (3)
- If is a big edge in incident on v, the load of v is at most 1.
- (4)
- For any tree T that is a subgraph of , the tree constraint (Tree T) is never violated.
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.
- Tree assignment: In a tree assignment, only vertices in the tree containing big edge for which and v is a leaf of T have their loads modified. Every vertex in T is incident with a big edge in . Hence before this step is performed, by condition (3), each one of these vertices has load at most 1. Consider vertex in T after the tree assignment has been performed. If , the load of v is decreased as big edges are oriented away from v. If , there exists a path P in T from to v. Say this path begins at edge . As P is a subtree of T, it must satisfy our tightened tree constraint of LP1 and soAll the edges in P are big, so . Hence, the load of increases by at most , and conditions (1) and (2) are satisfied for vertex . Note that since fractional edge assignments in T have been eliminated, cannot be incident on a big edge following a tree assignment. Thus, condition (3) does not apply to this case and condition is satisfied.
- Leaf assignment: In a leaf assignment, edges are oriented towards a leaf vertex. Say vertex v is a leaf. We consider two cases for edge such that : , and .If , then v is incident on a big edge and so by condition (3), the load of v is at most 1 before the leaf assignment. Since , then following the leaf assignment, the load of v is at most .If , then . By condition (2), before the leaf assignment the load of v is at most . So after the leaf assignment the load of v is at mostIn any case, after a leaf assignment v is isolated in , so conditions – are satisfied.
- Rotation: The rotation step does not change the vertex loads so conditions (1)–(3) hold. The argument showing that condition (4) holds is essentially the same as that in [7] and since it is a bit lengthy we omit it here.
Therefore, by condition (1), the load of a vertex is at most . ☐
2.5. Proof of Approximation Algorithm
Finally we prove our algorithm is indeed a -approximation algorithm for GBP2W.
Theorem 5.
There is a -approximation algorithm for the graph balancing problem with two weights.
Proof.
Recall that in Step 1, algorithm GB2W scales the edge weights and vertex dedicated loads by T, then sets . Step 3 of algorithm GB2W invokes the algorithm of Lenstra et al. [2]. This algorithm finds a fractional solution using linear programming, and then it performs a two-step rounding procedure. If the value of an optimum solution is , the first step guarantees that the load of any vertex is at most 1; the second step orients at most one more edge towards each vertex. Hence, either an orientation with maximum load is found, or and an orientation is not produced. For Steps 4 and 5 of algorithm GB2W, Lemmas 1–4 ensure that either a solution of value at most is found or . Therefore, if , Step 6 of the algorithm returns an orientation γ; otherwise it returns FAIL.
The binary search then is guaranteed to find a value and an orientation with load at most . For a weighted multigraph , since , the number of iterations of the binary search is at most and since algorithm GB2W has polynomial running time, the overall running time is also polynomial in the size of the input. ☐
3. Conclusions
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.
Acknowledgments
The second author was partially supported by the Natural Sciences and Engineering Research Council of Canada, grant 04667-2015 RGPIN.
Author Contributions
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.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Graham, R.L.; Lawler, E.L.; Lenstra, J.K.; Kan, A.R. Optimization and approximation in deterministic sequencing and scheduling: A survey. Ann. Discrete Math. 1979, 5, 287–326. [Google Scholar]
- Lenstra, J.K.; Shmoys, D.B.; Tardos, É. Approximation algorithms for scheduling unrelated parallel machines. Math. Program. 1990, 46, 259–271. [Google Scholar] [CrossRef]
- Shchepin, E.V.; Vakhania, N. An optimal rounding gives a better approximation for scheduling unrelated machines. Oper. Res. Lett. 2005, 33, 127–133. [Google Scholar] [CrossRef]
- Gairing, M.; Monien, B.; Woclaw, A. A faster combinatorial approximation algorithm for scheduling unrelated parallel machines. Theor. Comput. Sci. 2007, 380, 87–99. [Google Scholar] [CrossRef]
- Asahiro, Y.; Jansson, J.; Miyano, E.; Ono, H.; Zenmyo, K. Approximation algorithms for the graph orientation minimizing the maximum weighted outdegree. J. Comb. Optim. 2011, 22, 78–96. [Google Scholar] [CrossRef]
- Chakrabarty, D.; Khanna, S.; Li, S. On (1, ε)-restricted assignment makespan minimization. In Proceedings of the Twenty-Sixth Annual ACM-SIAM Symposium on Discrete Algorithms, San Diego, CA, USA, 4–6 January 2015; pp. 1087–1101.
- Ebenlendr, T.; Krčál, M.; Sgall, J. Graph balancing: A special case of scheduling unrelated parallel machines. Algorithmica 2014, 68, 62–80. [Google Scholar] [CrossRef]
- Kangbok, L.; Leung, J.Y.-T.; Pinedo, M. A note on graph balancing problems with restrictions. Inf. Process. Lett. 2009, 110, 24–29. [Google Scholar]
- Kolliopoulos, S.G.; Moysoglou, Y. The 2-valued case of makespan minimization with assignment constraints. Inf. Process. Lett. 2013, 113, 39–43. [Google Scholar] [CrossRef]
- Page, D.R. Approximation algorithms for subclasses of the makespan problem on unrelated parallel machines with restricted processing times. SOP Trans. Appl. Math. 2015, 2, 20–27. [Google Scholar] [CrossRef]
- Svensson, O. Santa claus schedules jobs on unrelated machines. SIAM J. Comput. 2012, 41, 1318–1341. [Google Scholar] [CrossRef]
- Vakhania, N.; Hernandez, J.A.; Werner, F. Scheduling unrelated machines with two types of jobs. Int. J. Prod. Res. 2014, 52, 3793–3801. [Google Scholar] [CrossRef]
- Verschae, J.; Wiese, A. On the configuration-LP for scheduling on unrelated machines. J. Sched. 2014, 17, 371–383. [Google Scholar] [CrossRef]
- Ebenlendr, T.; krčál, M.; Sgall, J. Graph balancing: A special case of scheduling unrelated parallel machines. In Proceedings of the Nineteenth Annual ACM-SIAM Symposium on Discrete Algorithms, San Francisco, CA, USA, 20–22 January 2008; pp. 483–490.
- Asahiro, Y.; Jansson, J.; Miyano, E.; Ono, H.; Zenmyo, K. Approximation algorithms for the graph orientation minimizing the maximum weighted outdegree. In Proceedings of the Third International Conference on Algorithmic Aspects in Information and Management, Portland, OR, USA, 6–8 June 2007; pp. 167–177.
- Hall, P. On representatives of subsets. J. London Math. Soc. 1935, 10, 26–30. [Google Scholar]
© 2016 by the authors; licensee MDPI, Basel, Switzerland. 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/).