Skip to main content
Log in

Approximation algorithms for the graph balancing problem with two speeds and two job lengths

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

Abstract

Consider a set of n jobs and m uniform parallel machines, where each job has a length \(p_j \in {\mathbb {Q}}^+\) and each machine has a speed \(s_i \in {\mathbb {Q}}^+\). The goal of the graph balancing problem with speeds is to schedule each job j non-preemptively on one of a subset \({\mathcal {M}}_j\) of at most 2 machines so that the makespan is minimized. This is a \(\textsf {NP}\)-hard special case of the makespan minimization problem on unrelated parallel machines, where for the latter a longstanding open problem is to find an approximation algorithm with approximation ratio better than 2. Our main contribution is an approximation algorithm for the graph balancing problem with two speeds and two job lengths with approximation ratio \((\sqrt{65}+7)/8 \approx 1.88278\). In addition, we consider when every \({\mathcal {M}}_j\) has no cardinality constraints, this is the restricted assignment problem in the uniform parallel machine setting. We present a simple \((2-\alpha /\beta )\)-approximation algorithm in this case when every job has one of two job lengths \(p_j \in \{\alpha , \beta \}\) where \(\alpha < \beta \).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  • Asahiro Y, Jansson J, Miyano E, Ono H, Zenmyo K (2011) Approximation algorithms for the graph orientation minimizing the maximum weighted outdegree. J Comb Optim 22(1):78–96

    Article  MathSciNet  MATH  Google Scholar 

  • Chakrabarty D, Shiragur K (2016) Graph balancing with two edge types. arXiv preprint arXiv:1604.06918

  • Chakrabarty D, Khanna S, Li S (2015) On (1, \(\varepsilon \))-restricted assignment makespan minimization. In: Proceedings of the twenty-sixth annual ACM-SIAM symposium on discrete algorithms, SIAM, pp 1087–1101

  • Ebenlendr T, Krčál M, Sgall J (2008) Graph balancing: a special case of scheduling unrelated parallel machines. In: Proceedings of the nineteenth annual ACM–SIAM symposium on discrete algorithms (SODA), pp 483–490

  • Ebenlendr T, Krčál M, Sgall J (2014) Graph balancing: a special case of scheduling unrelated parallel machines. Algorithmica 68(1):62–80

    Article  MathSciNet  MATH  Google Scholar 

  • Gairing M, Monien B, Woclaw A (2007) A faster combinatorial approximation algorithm for scheduling unrelated parallel machines. Theor Comput Sci 380(1):87–99

    Article  MathSciNet  MATH  Google Scholar 

  • Graham R, Lawler E, Lenstra J, Rinnooy K (1979) Optimization and approximation in deterministic sequencing and scheduling: a survey. Ann Discret Math 5:287–326

    Article  MathSciNet  MATH  Google Scholar 

  • Huang C, Ott S (2016) A combinatorial approximation algorithm for graph balancing with light hyper edges. In: 24th Annual European symposium on algorithms (ESA 2016), Leibniz international proceedings in informatics (LIPIcs), vol 57, pp 49:1–49:15

  • Jansen K, Rohwedder L (2017a) On the configuration-LP of the restricted assignment problem. In: Proceedings of the twenty-eighth annual ACM-SIAM symposium on discrete algorithms, SIAM, pp 2670–2678

  • Jansen K, Rohwedder L (2017b) A quasi-polynomial approximation for the restricted assignment problem. In: International conference on integer programming and combinatorial optimization, Springer, pp 305–316

  • Jansen K, Land K, Maack M (2016) Estimating the makespan of the two-valued restricted assignment problem. In: LIPIcs-Leibniz international proceedings in informatics, Schloss Dagstuhl–Leibniz–Zentrum fuer Informatik, vol 53

  • Kolliopoulos S, Moysoglou Y (2013) The 2-valued case of makespan minimization with assignment constraints. Inf Process Lett 113(1):39–43

    Article  MathSciNet  MATH  Google Scholar 

  • Lenstra J, Shmoys D, Tardos E (1990) Approximation algorithms for scheduling unrelated parallel machines. Math Program 46(1–3):259–271

    Article  MathSciNet  MATH  Google Scholar 

  • Lin Y, Li W (2004) Parallel machine scheduling of machine-dependent jobs with unit-length. Eur J Oper Res 156(1):261–266

    Article  MathSciNet  MATH  Google Scholar 

  • Page D, Solis-Oba R (2016) A 3/2-approximation algorithm for the graph balancing problem with two weights. Algorithms 9(2):38

    Article  MathSciNet  Google Scholar 

  • Shchepin E, Vakhania N (2005) An optimal rounding gives a better approximation for scheduling unrelated machines. Oper Res Lett 33:127–133

    Article  MathSciNet  MATH  Google Scholar 

  • Shmoys D, Tardos É (1993) An approximation algorithm for the generalized assignment problem. Math Program 62(1–3):461–474

    Article  MathSciNet  MATH  Google Scholar 

  • Svensson O (2011) Santa Claus schedules jobs on unrelated machines. In: STOC’11 Proceedings of the 43rd ACM symposium on theory of computing, ACM, New York, pp 617–626

  • Verschae J, Wiese A (2014) On the configuration-LP for scheduling on unrelated machines. J Sched 17(4):371–383

    Article  MathSciNet  MATH  Google Scholar 

  • Wang C, Sitters R (2016) On some special cases of the restricted assignment problem. Inf Proces Lett 116(11):723–728

    Article  MathSciNet  MATH  Google Scholar 

  • Williamson D, Shmoys D (2011) The design of approximation algorithms. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

Download references

Acknowledgements

We would like to thank Marten Maack for his comments on our paper. In addition, we would like to acknowledge and thank the anonymous reviewers for their criticisms.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel R. Page.

Additional information

Daniel R. Page is supported by an Ontario Graduate Scholarship. Roberto Solis-Oba was partially supported by the Natural Sciences and Engineering Research Council of Canada, Grant 04667-2015 RGPIN.

Appendices

Appendix A. Additional proofs for Sect. 5

Here we will provide proofs for results presented in the paper that may be considered minor extensions of previously established results by Ebenlendr et al. (2014).

Proof of Lemma 4

We prove each property separately. Consider any feasible solution \(\mathbf{x}\) of AGB-LP2 for weighted multigraph \(G'\).

  1. 1.

    We must show that the tree constraint (Tree T) is satisfied for any big tree \(T \in T_B\) in \(G'\). Pick any big tree \(T = (V_T,E_T) \in T_B\), and let r be the number of vertices in T. Every edge in \(e \in T\) satisfies constraint (Edge e) including any twin edges incident on auxiliary nodes. At most one big edge can be oriented towards any internal vertex of T, so all the internal vertices v of T must satisfy constraint (Star v). To obtain the fractional values at the leaf pairs of T, sum the \(r-1\) (Edge e) constraints for the edges of T, then subtract the sum of the \(r-|L(T)|\) (Star v) constraints over the internal vertices of T. That is,

    $$\begin{aligned} \sum _{(v,e) \in L(T)}{x_{ev}} = \sum _{e \in E_T, v \in e}{x_{ev}} - \sum _{\begin{array}{c} v \in V_T | \\ deg_T(v) > 1 \end{array}}{\sum _{\begin{array}{c} e \in E_T | \\ v \in e \end{array}}{x_{ev}}}. \end{aligned}$$
    (7)

    As each (Edge e) constraint sums to 1, then

    $$\begin{aligned} \sum _{e \in E_T, v \in e}{x_{ev}} = r-1, \end{aligned}$$

    and since each (Star v) constraint sums to at most 1,

    $$\begin{aligned} \sum _{\begin{array}{c} v \in V_T | \\ deg_T(v) > 1 \end{array}}{\sum _{\begin{array}{c} e \in E_T | \\ v \in e \end{array}}{x_{ev}}} \le r - |L(T)|. \end{aligned}$$

    Hence,

    $$\begin{aligned} \sum _{e \in E_T, v \in e}{x_{ev}} - \sum _{\begin{array}{c} v \in V_T | \\ deg_T(v) > 1 \end{array}}{\sum _{\begin{array}{c} e \in E_T | \\ v \in e \end{array}}{x_{ev}}} \ge |L(T)| - 1, \end{aligned}$$

    and by (7),

    $$\begin{aligned} \sum _{(v,e) \in L(T)}{x_{ev}} \ge |L(T)| - 1 . \end{aligned}$$
    (8)

    Recall that the largest weight in T is no more than \(\kappa _T >0\), so

    $$\begin{aligned} \sum _{(v,e) \in L(T)}{p_e x_{ev}} = \sum _{(v,e) \in L(T)}{\kappa _T x_{ev}} - \sum _{(v,e) \in L(T)}{(\kappa _T-p_e)x_{ev}}. \end{aligned}$$
    (9)

    By inequality (8) and \(x_{ev} \le 1\) for all \(e \in E_T\) and \(v \in e\),

    $$\begin{aligned}&\quad \sum _{(v,e) \in L(T)}{\kappa _T x_{ev}} - \sum _{(v,e) \in L(T)}{(\kappa _T-p_e)x_{ev}}\nonumber \\&\quad \qquad \ge \kappa _T(|L(T)| - 1) - \sum _{(v,e) \in L(T)}{(\kappa _T- p_e)}\nonumber \\&\quad \qquad = \sum _{(v,e) \in L(T)}{p_e} - \kappa _T. \end{aligned}$$
    (10)

    Therefore, by (9) and (10) the tree constraint is satisfied for any big tree \(T \in T_B\).

  2. 2.

    Assume H contains a cycle C with r edges and there is an edge \(e' \notin C\), \(e' \in H\) incident to some vertex \(v' \in C\), where the other endpoint of \(e'\) may or may not be in C. By taking the sum of all the (Edge e) constants for all \(e \in C\), we obtain

    $$\begin{aligned} \sum _{e \in C}{\sum _{v \in e}{x_{ev}}} = r. \end{aligned}$$
    (11)

    Next, by adding the (Star v) constraints for all the vertices v in C, we get

    $$\begin{aligned} \sum _{v \in C}{\sum _{\begin{array}{c} e | v \in e \\ p_e/s_v > 1/2 \end{array}}{x_{ev}}} \le r. \end{aligned}$$
    (12)

    Observe that the edge \(e'\) is in H and \(e'\) is attached to a vertex \(v'\) in C. Then \(x_{e'v'} > 0\), and by applying (11) and (12),

    $$\begin{aligned} r \ge \sum _{v \in C}{\sum _{\begin{array}{c} e | v \in e \\ p_e/s_v> 1/2 \end{array}}{x_{ev}}} \ge x_{e'v'} + \sum _{e \in C}{\sum _{v \in e}{x_{ev}}} > \sum _{e \in C}{\sum _{v \in e}{x_{ev}}} = r. \end{aligned}$$

    Therefore, by contradiction, H is a disjoint union of trees and simple cycles. \(\square \)

Proof of Lemma 6

First we prove the claim for leaf assignments and tree assignments, then we will consider rotations. Assume the tree constraints and auxiliary constraints of AGB-LP1 are satisfied before a leaf assignment or tree assignment occurs.

  1. 1.

    The auxiliary constraints are never violated by a leaf assignment or tree assignment. Consider any pair of twin edges of some auxiliary node w in \(G'_\mathbf{x}\). Either operation will orient both twin edges in the same direction and will be removed from \(G'_\mathbf{x}\), so these auxiliary constraints are not relevant anymore.

  2. 2.

    After any leaf assignment or tree assignment, for any big tree \(T \in T_B\) in \(G'_\mathbf{x}\), the constraint (Tree T) is never violated. First consider when a leaf assignment occurs; this will orient a leaf edge towards a leaf vertex. Note that if this leaf edge is a twin edge, its associated twin edge also gets directed towards the leaf. After the algorithm removes these edges, the tree constraints for any \(T \in T_B\) in \(G'_\mathbf{x}\) are still satisfied as the tree constraints were satisfied before the leaf assignment.

    Next, consider when a tree assignment occurs. Let \(T'\) be the maximal big tree built by the tree assignment. By the maximality of \(T'\), observe that the big edges incident on vertices in \(T'\) are only directed toward vertices in \(T'\) by the tree assignment. All the big edges in \(T'\) are oriented then are removed from \(G'_\mathbf{x}\). Therefore, since the tree constraints were satisfied before the tree assignment, the tree constraints for any \(T \in T_B\) in \(G'_\mathbf{x}\) are not violated after the tree assignment.

Assuming the constraints of AGB-LP1 are preserved before a rotation, we show that after a rotation all the constraints of AGB-LP1 still are satisfied. A rotation begins by picking an arbitrary vertex in \(G'\) then performs a walk appending edges until a simple cycle C is found, where big edges are picked over small edges. Then, algorithm Rotate is applied which sets \(x_{eu} = x_{eu} - \delta /p_e\) and \(x_{ev} = x_{ev} + \delta /p_e\) for each \(e \in C\) if C is directed from u to v, where \(\delta := \min _{e=(u,v) \in C}{(p_e x_{eu})}\).

Pick any edge \(e=\{u,v\} \in E'\) in C. Since \(x_{eu} + x_{ev} = (x_{eu} - \delta /p_e) + (x_{ev} + \delta /p_e)\), constraint (Edge e) is satisfied for every \(e \in C\). Also, it is not hard to see that every \(x_{ev} \ge 0\). Now we check the constraint (Load v) for each vertex \(v \in V\) in the cycle C in \(G'\). Pick a vertex \(v \in V\) in C, and check the load contributed to v by its incident edges \(e',e'' \in C\). The load on v after a rotation is

$$\begin{aligned} {q_v \over s_v} + \sum _{e | v \in e}{{p_e x_{ev} \over s_v}} + {p_{e'}({\delta \over p_{e'}}) \over s_v} - {p_{e''}({\delta \over p_{e''}}) \over s_v}= {q_v \over s_v} + \sum _{e | v \in e}{{p_e x_{ev} \over s_v}}. \end{aligned}$$

Let us check the auxiliary constraints of AGB-LP1. Consider any edge \(e=\{u,v\}\) in G where \(s_u \ne s_v\). Then for e, there is an auxiliary node \(w_{uv}\) in \(G'\) with twin edges \(e'=\{u,w_{uv}\}\) and \(e''=\{w_{uv},v\}\). The orientation of both twin edges \(e'\) and \(e''\) is determined by four variables \(x_{e'u}\), \(x_{e'w_{uv}}\), \(x_{e''w_{uv}}\), and \(x_{e''v}\) in AGB-LP1. If a twin edge is included in C, both twin edges must be in C as auxiliary nodes have degree 2. After a rotation, \(x_{e'u}=x_{e'u} - {\delta /p_e}, x_{e'w_{uv}} = x_{e'w_{uv}} + { \delta /p_e}, x_{e''w_{uv}} = x_{e''w_{uv}} - {\delta /p_e}, x_{e''v}=x_{e''v} + {\delta /p_e}\). Therefore, \(x_{e'u} = x_{e''w_{uv}}\) and \(x_{e'w_{uv}} = x_{e''v}\).

Finally we prove that the tree constraint is not violated after a rotation. Our argument is based on the one given for this property in Theorem 1 of Ebenlendr et al. (2014). Pick any big tree \(T \in T_B\) in \(G'_\mathbf{x}\). We show that the tree constraint is not violated for T. First, observe that if \((v,e) \in L(T)\), the value of \(x_{ev}\) changes if and only if e is in C. So if C changes the values of any variables corresponding to the endpoints of internal vertices in T, then they do not affect the tree constraint for T. Next, if a cycle C is directed towards v, the value of \(x_{ev}\) increases by \(\delta \), which is not an issue. But, when C is directed away from v, the rotation decreases the value of \(x_{ev}\) by \(\delta \), which is problematic as it decreases \(\sum _{(v,e) \in L(T)}{p_e x_{ev}}\) by \(\delta \) if C does not include another leaf of T. We will be extend T to a tree \(T'\) we define later and show that the tree constraint holds after a rotation for both T and \(T'\).

For a vertex \(t \in C\), let \(e_t\) be the edge directed away from t in C. Let W be the set of vertices \(t \in T \cap C\) where \(e_t\) is not in T and t is not a leaf of T. Then, let \(T' = T \cup \{ e_t \ | \ t \in W\}\). We show that any \(e_t \in T' \setminus T\) is a big edge. A rotation is applied if there are no leaf pairs in \(G'_\mathbf{x}\), so every vertex in \(G'_\mathbf{x}\) has degree at least 2. Since t is not a leaf in T, there is another big edge belonging to some big tree in \(T_B \setminus T\) as big edges are taken in priority over small edges in \(G'_\mathbf{x}\) and there are at least two big edges incident to t where no more than one is already part of the path that includes t. Hence, \(e_t\) is big.

By Lemma 4, the connected components of big edges in \(G'_\mathbf{x}\) are either trees or cycles. If T is a part of a connected component of big edges that is a cycle, then \(W = \varnothing \), because the algorithm will follow the cycle of the connected component of big edges through T. This implies \(T'\) is a connected subgraph of a big tree in \(T_B\) when \(T' \ne T\), where each \(e_t\) is an edge connected to a leaf of \(T'\). By the definition of \(e_t\), edge \(e_t\) is directed towards a leaf vertex added in \(T'\) in C. Observe that all the leaves in T are also leaves of \(T'\), and the value \(\kappa _{T}\) for tree \(T'\) is the same for T. So by how \(T'\) is built, the number of leaf pairs directed towards a leaf in \(T'\) in C is at least the number of leaf pairs directed away from a leaf in \(T'\). Hence the tree constraint for \(T'\) is preserved, and

$$\begin{aligned} \sum _{(v,e) \in L(T')}{p_e x_{ev}} \ge \sum _{(v,e) \in L(T')}{p_e} - \kappa _T. \end{aligned}$$

Rewrite both sides of this inequality as

$$\begin{aligned} \sum _{(v,e) \in L(T)}{p_e x_{ev}} + \sum _{(v,e) \in L(T') \setminus L(T)}{p_e x_{ev}} \ge \sum _{(v,e) \in L(T)}{p_e} + \sum _{(v,e) \in L(T') \setminus L(T)}{p_e} - \kappa _T. \end{aligned}$$

As each \(p_e x_{ev} \le p_e\) and the increase of \(\delta \) is directed towards the leaves of \(L(T') \setminus L(T)\); subtract these terms, and we get

$$\begin{aligned} \sum _{(v,e) \in L(T)}{p_e x_{ev}} \ge \sum _{(v,e) \in L(T)}{p_e} - \kappa _T. \end{aligned}$$

Therefore, all the constraints of AGB-LP1 are preserved after a rotation. \(\square \)

Appendix B. Integrality gaps for linear programs

In this section, we discuss integrality gaps for AGB-LP1 and AGB-LP2. While there are integrality gap results for the unrelated graph balancing problem and the graph balancing problem with speeds (Ebenlendr et al. 2014; Verschae and Wiese 2014), present integrality gap results do not cover the case when there are only two speeds. In this section we show the linear programs we introduced in this paper have integrality gaps at least 5 / 3 and 7 / 4 when there are two weights and three weights, respectively; we use an instance similar to the one derived for LP2 in Ebenlendr et al. (2014).

Theorem 3

For the graph balancing problem with two speeds and two weights, the integrality gap of AGB-LP1 is at least 5 / 3.

Fig. 4
figure 4

Multigraph \(G'\). Solid lines represent edges with weight \(1-\epsilon \), the dashed lines are edges with weight 1 / 3, and the black vertices are auxiliary nodes. The lightly-shaded vertices u and \(u'\) have speed \(2-3\epsilon \), and all others have speed 1. The auxiliary nodes have dedicated load 0, and every other vertex has dedicated load 1 / 3

Proof

Let \(0 < \epsilon \le 1/3\). Build the weighted multigraph \(G'\) shown in Fig. 4 with two speeds \(s_2 = 2-3\epsilon \) and \(s_1=1\). Let \(L>1\), and the distance from each vertex \(a_i\) to vertex \(b_i\) is \(2L+1\). Note that \(G'\) is comprised of three vertex-disjoint paths of equal but odd length connected at two vertices, u and \(u'\), such that the middle edge of each path is small.

First we show that there is a valid solution for AGB-LP1 assuming the three paths connected to u and \(u'\) in \(G'\) are of sufficient length. Let \(c = (2-3\epsilon )/(6-6\epsilon )\). For each big edge \(e'\) incident on u or \(u'\), set \(x_{e'u} = c\) and \(x_{e'u'} = c\), and then for each auxiliary node w adjacent to u and \(u'\), set \(x_{e'w} = (1-c)\). To preserve the auxiliary constraints, for each twin edge \(e''=\{w,a_i\}\) or \(e''=\{w,b_i\}\), \(i=1,2,3\), set \(x_{e''w}=c\) and \(x_{e''z}=(1-c)\). Next, consider the remaining edges and vertices in each of the three vertex-disjoint paths. Let \(e_m=\{l_0,r_0\}\) be the middle edge in one of these paths, say \(P_i\); as mentioned above, \(e_m\) has weight 1 / 3. Let \(d \ge 0\), and let \(l_d\) and \(r_d\) be vertices that are d vertices away from \(l_0\) and \(r_0\), respectively and let \(e_{l_d}=\{{l_{d+1}},{l_{d}}\}\) and \(e_{r_d}=\{{r_{d}},{r_{d+1}}\}\). Since in \(P_i\) the distance from \(a_i\) to \(b_i\) is \(2L+1\) then \(l_L=a_i\) and \(r_L=b_i\). Assign \(x_{e_m l_0} = 1/2\) and \(x_{e_m r_0}=1/2\), and then set \(x_{e_{l_0} l_0} = (1/2)/(1-\epsilon )\) and \(x_{e_{r_0} r_0} = (1/2)/(1-\epsilon )\). Now, for each \(d=0,\ldots ,L-1\), assign

$$\begin{aligned} x_{e_{l_{d} l_{d+1}}} = (1 - x_{e_{l_{d}} l_{d}}), \ x_{e_{l_{d+1} l_{d+1}}} = \min \Bigg \{1,\frac{1 - (p_{e_{l_{d}}}x_{e_{l_{d} l_{d+1}}} + \frac{1}{3})}{p_{e_{l_{d+1}}}}\Bigg \}, \end{aligned}$$

and set

$$\begin{aligned} x_{e_{r_{d} r_{d+1}}} = (1 - x_{e_{r_{d}} r_{d}}), \ x_{e_{r_{d+1} r_{d+1}}} = \min \Bigg \{1,\frac{1 - (p_{e_{r_{d}}}x_{e_{r_{d} r_{d+1}}} + \frac{1}{3})}{p_{e_{r_{d+1}}}}\Bigg \}. \end{aligned}$$

Observe that the big edges \(e_{l_0}\) and \(e_{r_0}\) are each oriented by more than half toward \(l_0\) and \(r_0\) respectively as \(\epsilon > 0\). This “frees” an extra \(\epsilon \) amount of load on both \(l_1\) and \(r_1\), which permits small edges \(e_{l_1}\) and \(e_{r_1}\) to be fractionally oriented an additional \(3\epsilon \) than \(e_m\) (with \(l_0\) and \(r_0\)) toward \(l_1\) and \(r_1\). Likewise, since an additional \(\epsilon \) amount of load was contributed by small edges \(e_{l_1}\) and \(e_{r_1}\), again, the big edges \(e_{l_2}\) and \(e_{r_2}\) are mostly oriented toward \(l_2\) and \(r_2\), which leaves an additional \(2\epsilon \) of load free on \(l_3\) and \(r_3\) for small edges; this allows for small edges \(e_{l_3}\) and \(e_{r_3}\) to be fractionally oriented by \(1/2 + 6\epsilon \) toward \(l_3\) and \(r_3\), respectively. Furthermore, each small edge \(e_{l_d}\) has \(x_{e_{l_d} l_d} = 1/2 + \lceil d/2 \rceil (3\epsilon )\), which holds similarly for \(e_{r_d}\). Thus, if L is sufficiently large so that \(\lceil (L-1)/2\rceil (3\epsilon ) \ge 1/2\), the small edges \(e_{l_{L-1}}\) and \(e_{r_{L-1}}\) incident on \(a_i\) and \(b_i\) are oriented away from vertices \(l_{L}\) and \(r_{L}\) and toward \(l_{L-1}\) and \(r_{L-1}\), respectively.

Clearly all the edge constraints are satisfied. Let us check the load constraints associated with each vertex. First, the load of either u or \(u'\) is

$$\begin{aligned} {{1 \over 3} \over 2-3\epsilon } + {3c(1-\epsilon ) \over 2-3\epsilon } = {1 \over 6-9\epsilon } + {3(2-3\epsilon )(1-\epsilon ) \over (6-6\epsilon )(2-3\epsilon )} = {1 \over 6-9\epsilon } + {3(1-\epsilon ) \over 6(1 - \epsilon )} \le {1 \over 2} + {1 \over 2} = 1. \end{aligned}$$

Next, the vertices \(a_i\), \(b_i\), \(i=1,2,3\) each have load

$$\begin{aligned} {1 \over 3} + (1-\epsilon )(1-c) = {1 \over 3} + (1-\epsilon )\Big (1 - {2-3\epsilon \over 6-6\epsilon }\Big ) = {1 \over 3} + {(1-\epsilon )(4-3\epsilon ) \over 6(1-\epsilon )} = {1 \over 3} + {4-3\epsilon \over 6} < 1. \end{aligned}$$

It is not hard to see from the way the variables are assigned for the edges incident on the remaining vertices of the three paths that their loads are each at most 1.

Consider now any big tree \(T \in T_B\). Notice that every big edge in T has weight \(1-\epsilon =\kappa _T\). First, if u or \(u'\) is a leaf in T, then there is only one other leaf in T and that leaf is incident on a twin edge and so

$$\begin{aligned} \sum _{(v,e) \in L(T)}{p_e x_{ev}} = c(1-\epsilon ) + (1-c)(1-\epsilon ) = 1-\epsilon = \sum _{(v,e) \in L(T)}{p_e} - \kappa _T. \end{aligned}$$

If a big tree consists of a single big edge along one of the three paths, because the edge constraints hold, the tree constraints for any such big tree are satisfied. Otherwise, the leaves are either auxiliary nodes or vertices that are neither u or \(u'\) but are adjacent to auxiliary nodes. Let the number of leaves in a big tree T be k. As the degree of any vertex in T is at most 3, \(k \le 3\). As \((k(2-3\epsilon ))/(6-6\epsilon ) < 1\) for \(0 \le k \le 3\), then

$$\begin{aligned} \sum _{(v,e) \in L(T)}{p_e x_{ev}}= & {} (1-\epsilon )\Big (k(1-c)\Big ) = (1-\epsilon )\Bigg (k - {k(2 - 3\epsilon ) \over 6-6\epsilon }\Bigg )\\&\quad > (1-\epsilon )(k - 1) = \sum _{(v,e) \in L(T)}{p_e} - \kappa _T. \end{aligned}$$

Thus, all the constraints of AGB-LP1 are satisfied, so the makespan of this solution is at most 1.

Now we determine the optimal integral solution to AGB-LP1. Due to the tree constraints and the auxiliary constraints, at most one big twin edge can be oriented toward u and \(u'\), so the loads of u and \(u'\) are at most \((1/3)/(2-3\epsilon ) + (1-\epsilon )/(2-3\epsilon ) \le 1\). Along the three paths from \(a_i\) to \(b_i\), \(i=1,2,3\), observe that at least one vertex in one of the three paths must have at least two edges oriented towards it. The speed of any of these vertices is 1, so the makespan is \((1 - \epsilon ) + 1/3 + 1/3 = 5/3 - \epsilon \). Therefore, if we take \(\epsilon \rightarrow 0\), AGB-LP1 has integrality gap at least 5 / 3 for the graph balancing problem with two speeds and two weights. \(\square \)

In the above proof it is not hard to see that the star constraint of AGB-LP2 is also satisfied, so our example above works also for AGB-LP2.

Corollary 1

For the graph balancing problem with two speeds and two weights, the integrality gap of AGB-LP2 is at least 5 / 3.

To close this section, we consider AGB-LP1 and AGB-LP2 for the graph balancing problem with two speeds and three weights. Build the same weighted multigraph \(G'\) we did in Theorem 3 with the following modifications. First, the dedicated loads of all the vertices except the auxiliary nodes are 1 / 4, and all auxiliary nodes have no dedicated load. Next, the edges with weight \(1-\epsilon \) now have weight 1, and the edges with weight 1 / 3 have weight \(1/2-\epsilon \). Finally, set the speeds \(s_2=2-\epsilon \) and \(s_1=1\). An argument similar to the one given above can be used to show the integrality gap is at least 7 / 4. Note that the instance in this situation extends the one by Ebenlendr et al. (2014) for the graph balancing with one speed so that it has two speeds and three weights.

Theorem 4

For the graph balancing problem with two speeds and three weights, the integrality gap of AGB-LP1 is at least 7 / 4.

Corollary 2

For the graph balancing problem with two speeds and three weights, the integrality gap of AGB-LP2 is at least 7 / 4.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Page, D.R., Solis-Oba, R. Approximation algorithms for the graph balancing problem with two speeds and two job lengths. J Comb Optim 37, 1045–1070 (2019). https://doi.org/10.1007/s10878-018-0339-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10878-018-0339-x

Keywords

Mathematics Subject Classification

Navigation