Abstract
The Vertex Separator Problem for a graph is to find the smallest collection of vertices whose removal breaks the graph into two disconnected subsets that satisfy specified size constraints. The Vertex Separator Problem was formulated in the paper 10.1016/j.ejor.2014.05.042 as a continuous (non-concave/non-convex) bilinear quadratic program. In this paper, we develop a more general continuous bilinear program which incorporates vertex weights, and which applies to the coarse graphs that are generated in a multilevel compression of the original Vertex Separator Problem. We develop a method for improving upon a given vertex separator by applying a Mountain Climbing Algorithm to the bilinear program using an incidence vector for the separator as a starting guess. Sufficient conditions are developed under which the algorithm can improve upon the starting guess after at most two iterations. The refinement algorithm is augmented with a perturbation technique to enable escapes from local optima and is embedded in a multilevel framework for solving large scale instances of the problem. The multilevel algorithm is shown through computational experiments to perform particularly well on communication and collaboration networks.
Similar content being viewed by others
References
Acer, S., Kayaaslan, E., Aykanat, C.: A recursive bipartitioning algorithm for permuting sparse square matrices into block diagonal form with overlap. SIAM J. Sci. Comput. 35(1), C99–C121 (2013). doi:10.1137/120861242
Ashcraft, C.C., Liu, J.W.H.: A partition improvement algorithm for generalized nested dissection. Technical Report BCSTECH-94-020, Boeing Computer Services, Seattle, WA (1994)
Benlic, U., Hao, J.: Breakout local search for the vertex separator problem. In: Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence (2013)
Brandt, A., Ron, D.: Chapter 1: Multigrid solvers and multilevel optimization strategies. In: Cong, J., Shinnerl, J.R. (eds.) Multilevel Optimization and VLSICAD. Kluwer, Alphen (2003)
Bui, T., Jones, C.: Finding good approximate vertex and edge partitions is NP-hard. Inf. Process. Lett. 42, 153–159 (1992)
Buluç, A., Meyerhenke, H., Safro, I., Sanders, P., Schulz, C.: Recent advances in graph partitioning. In: Kliemann, L., Sanders, P. (eds.) Algorithm Engineering: Selected Results and Surveys, pp. 117–158. Springer, Berlin (2016)
Burmester, M., Desmedt, Y., Wang, Y.: Using approximation hardness to achieve dependable computation. In: Luby, M., Rolim, J., Serna, M. (eds.) Randomization and Approximation Techniques in Computer Science, vol. 1518, pp. 172–186. Springer, Berlin (1998). doi:10.1007/3-540-49543-6_15. Lecture Notes in Computer Science
Chen, J., Safro, I.: Algebraic distance on graphs. SIAM J. Sci. Comput. 33, 3468–3490 (2011)
Davis, T.A.: Direct Methods for Sparse Linear Systems. SIAM, Philadelphia (2006)
Davis, T.A.: University of Florida sparse matrix collection. ACM Trans. Math. Softw. 38, 1–25 (2011)
Davis, T.A., Hager, W.W., Hungerford, J.T.: The separable convex quadratic knapsack problem. ACM Trans. Math. Softw. 42, 1–25 (2016)
Evrendilek, C.: Vertex separators for partitioning a graph. Sensors 8, 635–657 (2008)
Feige, U., Hajiaghayi, M., Lee, J.: Improved approximation algorithms for vertex separators. SIAM J. Comput. 38, 629–657 (2008)
Fiduccia, C.M., Mattheyses, R.M.: A linear-time heuristic for improving network partitions. In: Proceedings of 19th Design Automation Conference, pp. 175–181. Las Vegas, NV (1982)
Fukuyama, J.: NP-completeness of the planar separator problems. J. Graph Algorithms Appl. 10(2), 317–328 (2006)
George, A., Liu, J.W.H.: Computer Solution of Large Sparse Positive Definite Systems. Prentice-Hall, Englewood Cliffs (1981)
Gilbert, J.R., Zmijewski, E.: A parallel graph partitioning algorithm for a message-passing multiprocessor. Intl. J. Parallel Program. 16, 498–513 (1987)
Hager, W.W., Hungerford, J.T.: Optimality conditions for maximizing a function over a polyhedron. Math. Program. 145, 179–198 (2014)
Hager, W.W., Hungerford, J.T.: Continuous quadratic programming formulations of optimization problems on graphs. Eur. J. Oper. Res. 240, 328–337 (2015)
Hendrickson, B., Leland, R.: A multilevel algorithm for partitioning graphs. In: Proceedings of Supercomputing ’95. IEEE (1995)
Hendrickson, B., Rothberg, E.: Effective sparse matrix ordering: just around the bend. In: Proceedings of 8th SIAM Conference on Parallel Processing for Scientific Computing (1997)
Karypis, G., Kumar, V.: METIS: unstructured graph partitioning and sparse matrix ordering system. Technical Report, Department of Computer Science, University of Minnesota (1995)
Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20, 359–392 (1998)
Kayaaslan, E., Pinar, A., Catalyürek, U., Aykanat, C.: Partitioning hypergraphs in scientific computing applications through vertex separators. SIAM J. Sci. Comput. 34(2), A970–A992 (2012)
Kernighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. Bell Syst. Tech. J. 49, 291–307 (1970)
Kim, D., Frye, G.R., Kwon, S.S., Chang, H.J., Tokuta, A.O.: On combinatoric approach to circumvent internet censorship using decoy routers. In: Military Communications Conference, 2013. MILCOM 2013., pp. 1–6. IEEE (2013)
Konno, H.: A cutting plane algorithm for solving bilinear programs. Math. Program. 11, 14–27 (1976)
Leiserson, C., Lewis, J.: Orderings for parallel sparse symmetric factorization. In: Third SIAM Conference on Parallel Processing for Scientific Computing, pp. 27–31. SIAM Publications (1987)
Leiserson, C.: Area-efficient graph layout (for VLSI). In: Proceedings of 21st Annual Symposium on the Foundations of Computer Science, pp. 270–281. IEEE (1980)
Litsas, C., Pagourtzis, A., Panagiotakos, G., Sakavalas, D.: On the resilience and uniqueness of CPA for secure broadcast. In: IACR Cryptology ePrint Archive (2013)
Miller, G., Teng, S.H., Thurston, W., Vavasis, S.: Geometric separators for finite element meshes. SIAM J. Sci. Comput. 19, 364–386 (1998)
Nocedal, J., Wright, S.J.: Numerical Optimization, 2nd edn. Springer, New York (2006)
Pothen, A., Simon, H.D., Liou, K.: Partitioning sparse matrices with eigenvectors of graphs. SIAM J. Matrix Anal. Appl. 11(3), 430–452 (1990)
Rendl, F., Sotirov, R.: The min-cut and vertex separator problem. Comput. Optim. Appl. (2017). doi:10.1007/s10589-017-9943-4
Ron, D., Safro, I., Brandt, A.: Relaxation-based coarsening and multiscale graph organization. Multiscale Model. Simul. 9(1), 407–423 (2011)
Safro, I., Sanders, P., Schulz, C.: Advanced coarsening schemes for graph partitioning. ACM J. Exp. Algorithm. 19(2), Article 2.2 (2014)
Safro, I., Ron, D., Brandt, A.: Graph minimum linear arrangement by multilevel weighted edge contractions. J. Algorithms 60, 24–41 (2006)
Ullman, J.: Computational Aspects of VLSI. Computer Science Press, Rockville (1984)
Vanderbei, R.J.: Linear Programming: Foundations and Extensions, 4th edn. Springer, Berlin (2014)
Author information
Authors and Affiliations
Corresponding author
Additional information
September 1st, 2017. The research was supported by the Office of Naval Research under Grants N00014-11-1-0068 and N00014-15-1-2048 and by the National Science Foundation under Grants 1522629 and 1522751. Part of the research was performed while the second author was a Givens Associate at Argonne National Laboratory.
Appendix
Appendix
In this section, we analyze cases where MCA is guaranteed to strictly improve the current vertex separator. For any \(k\in \mathbb {B}\) and any \(\mathcal{{Z}}\subseteq \mathcal{{V}}\) we define the set \(\overline{\mathcal{{N}}}_{\le k} (\mathcal{{Z}})\) by
For simplicity, we denote \(\overline{\mathcal{{N}}}_{\le 0} (\mathcal{{Z}})\) by \(\overline{\mathcal{{N}}}_0 (\mathcal{{Z}}) = \mathcal{{V}}\backslash \overline{\mathcal{{N}}} (\mathcal{{Z}})\).
Observation 81
Let \(\mathcal{{A}},\mathcal{{B}}\subseteq \mathcal{{V}}\), \(\mathbf{{x}} := \mathrm{supp}^{-1}{(\mathcal{{A}})}\), and \(\mathbf{{y}} := \mathrm{supp}^{-1}{(\mathcal{{B}})}\). Then,
Observation 82
Let \(\mathcal{{Z}}\subseteq \mathcal{{V}}\). Then
Observation 83
Let \(\mathcal{{X}},\mathcal{{Y}}\subseteq \mathcal{{V}}\) be such that \(\mathcal{{X}}\subseteq \mathcal{{Y}}\). Then for any \(k \ge 0\),
Throughout this section, we consider the special case where \(u_a,\ell _a, u_b,\ell _b\in \mathbb {Z}\), \(c_i = \gamma > 0\;\forall \;i\in \mathcal{{V}}\), and \(\mathbf{{w}} = \mathbf{{1}}\), in which case the extreme points of (14) are binary (see [19, Lemma 3.3]).
Proposition 4
Let \(\mathcal{{A}},\mathcal{{B}}\subseteq \mathcal{{V}}\) be such that \(\mathbf{{x}} := \mathrm{supp}^{-1}{(\mathcal{{A}})}\in \mathcal{{P}}_a\) and \(\mathbf{{y}} := \mathrm{supp}^{-1}{(\mathcal{{B}})}\in \mathcal{{P}}_b\). Suppose that \(|\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})|\ge \ell _b\) and let \(\mathbf{{y}}^*\in \mathcal{{P}}_b\cap \mathbb {B}^n\) and \(\mathcal{{B}}^* := \mathrm{supp}{(\mathbf{{y}}^*)}\). Then \(\mathbf{{y}}^*\) is an optimal solution to the problem
if and only if one of the following conditions holds:
-
(M1)
\(\overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \subseteq \mathcal{{B}}^* \subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\),
-
(M2)
\(\mathcal{{B}}^* \subset \overline{\mathcal{{N}}}_0 (\mathcal{{A}})\) and \(|\mathcal{{B}}^*| = u_b\).
Proof
First of all, since \(f(\mathbf{{x}}, \mathbf{{y}})\) is linear in \(\mathbf{{y}}\) when \(\mathbf{{x}}\) is fixed, (23) has an optimal solution lying at an extreme point of the set \(\mathcal{{P}}_b\) (see, for instance Chapter 2 of [40]); that is, at a point \(\mathbf{{y}}\) for which there are n linearly independent constraints in \(\mathcal{{P}}_b\) which are active. If all n of these constraints are of the form \(\mathbf{{0}} \le \mathbf{{y}}\) or \(\mathbf{{y}} \le \mathbf{{1}}\), then \(\mathbf{{y}}\) is binary. Otherwise, \(\mathbf{{y}}\) has at least \(n - 1\) binary components and the constraint \(\mathbf{{1}}^\mathsf{T}\mathbf{{y}}\) is active at either the lower or upper bound; that is, \(\mathbf{{1}}^\mathsf{T}\mathbf{{y}} = u_b\) or \(\mathbf{{1}}^\mathsf{T}\mathbf{{y}} = \ell _b\). But since \(u_b,\ell _b\in \mathbb {Z}\) and \(n - 1\) components of \(\mathbf{{y}}\) are binary, in fact we must have that every component of \(\mathbf{{y}}\) is binary. Thus, (23) has an optimal solution which is binary.
Next, note that by computation we have that for any \(\tilde{\mathbf{{y}}}\in \mathcal{{P}}_b\cap \mathbb {B}^n\)
where \(\tilde{\mathcal{{B}}} := \mathrm{supp}{(\tilde{\mathbf{{y}}})}\), (24) follows from the assumption on \(\mathbf{{c}}\), (25) follows from Observation 81, (26) is due to the definition of \(\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\), and (28) and (29) follow from the definition of \(\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\) (which implies in particular that the terms in the final summation of (28) are negative, when they exist). The remainder of the proof is split into two cases.
Case 1 \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| > u_b\). In this case, first observe that there does not exist a point \(\tilde{\mathbf{{y}}}\in \mathcal{{P}}_b\cap \mathbb {B}^n\) such that \(\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\subseteq \tilde{\mathcal{{B}}} \subseteq \overline{\mathcal{{N}}}_{\le 1}(\mathcal{{A}})\), since otherwise \(\mathbf{{1}}^\mathsf{T}\tilde{\mathbf{{y}}} = |\tilde{\mathcal{{B}}}| \ge |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| > u_b\), contradicting \(\tilde{\mathbf{{y}}}\in \mathcal{{P}}_b\). So, we claim that a point \(\mathbf{{y}}^*\in \mathcal{{P}}_b\cap \mathbb {B}^n\) is an optimal solution to (23) if and only if (M2) holds. To see this, observe that if \(\mathbf{{y}}^*\in \mathcal{{P}}_b\cap \mathbb {B}^n\) satisfies (M2) (with \(\mathcal{{B}}^* = \mathrm{supp}{(\mathbf{{y}}^*)}\)), then by (28) we have
where (30) and (31) follow from the fact that \(\mathcal{{B}}^*\subset \overline{\mathcal{{N}}}_0 (\mathcal{{A}})\subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\) (by (M2)), and (32) follows from (M2). Next, if \(\tilde{\mathbf{{y}}}\in \mathcal{{P}}_b\cap \mathbb {B}^n\) is a vector which does not satisfy (M2) (with \(\mathcal{{B}}^*\) replaced by \(\tilde{\mathcal{{B}}}\)), observe that we cannot have \(\tilde{\mathcal{{B}}} = \overline{\mathcal{{N}}}_0 (\mathcal{{A}})\), since this case would fall under (M1), and we have already established that no points in \(\mathcal{{P}}_b\cap \mathbb {B}^n\) satisfying (M1) exist. Hence, either \(\tilde{\mathcal{{B}}}\backslash \overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \ne \emptyset \) or \(|\tilde{\mathcal{{B}}}| < u_b\) (note that we cannot have \(|\tilde{\mathcal{{B}}}| > u_b\), since this would contradict \(\tilde{\mathbf{{y}}} = \mathrm{supp}^{-1}{(\tilde{\mathcal{{B}}})}\in \mathcal{{P}}_b\)); and in both cases it follows that \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \tilde{\mathcal{{B}}}| < u_b\) (in the first case \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \tilde{\mathcal{{B}}}| < |\tilde{\mathcal{{B}}}| \le u_b\) and in the second case \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \tilde{\mathcal{{B}}}| \le |\tilde{\mathcal{{B}}}| < u_b\)). Hence, by (29) and (32) we have
Hence, for any \(\mathbf{{y}}^*,\tilde{\mathbf{{y}}}\in \mathcal{{P}}_b\cap \mathbb {B}^n\) such that \(\mathbf{{y}}^*\) satisfies (M2) and \(\tilde{\mathbf{{y}}}\) does not satisfy (M2), we have \(f (\mathbf{{x}},\tilde{\mathbf{{y}}}) < f (\mathbf{{x}}, \mathbf{{y}}^*) = (|\mathcal{{A}}| + u_b)\gamma \). Moreover, by our assumption \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| > u_b\), a point \(\mathbf{{y}}^*\in \mathcal{{P}}_b\cap \mathbb {B}^n\) satisfying (M2) exists (let \(\mathbf{{y}}^*\) by any binary point such that \(\mathrm{supp}{(\mathbf{{y}}^*)}\) is a subset of \(\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\) of cardinality \(u_b\)). Hence, the binary optimal solutions to (23) are precisely the points \(\mathbf{{y}}^*\in \mathcal{{P}}_b\cap \mathbb {B}^n\) satisfying (M2). This completes the proof of Case 1.
Case 2 \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| \le u_b\). In this case, we first note that there does not exist a \(\tilde{\mathbf{{y}}}\in \mathcal{{P}}_b\cap \mathbb {B}^n\) satisfying (M2), since otherwise \(|\tilde{\mathcal{{B}}}| < |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| \le u_b = |\tilde{\mathcal{{B}}}|\), a contradiction (note that here we use the assumption that \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})|\le u_b\)). So, we claim that a point \(\mathbf{{y}}^*\in \mathcal{{P}}_b\cap \mathbb {B}^n\) is an optimal solution to (23) if and only if (M1) holds. To see this, observe that if \(\mathbf{{y}}^*\) is a point in \(\mathcal{{P}}_b\cap \mathbb {B}^n\) satisfying (M1), then we have from (28) that
where (35) and (36) follow from the fact that \(\mathcal{{B}}^*\subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\) and \(\overline{\mathcal{{N}}}_{0} (\mathcal{{A}})\subseteq \mathcal{{B}}^*\), respectively. Next, if \(\tilde{\mathbf{{y}}}\in \mathcal{{P}}_b\cap \mathbb {B}^n\) is a point which does not satisfy (M1), then either \(\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\backslash \tilde{\mathcal{{B}}} \ne \emptyset \) or \(\tilde{\mathcal{{B}}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}) \ne \emptyset \). In the first case, we have \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \tilde{\mathcal{{B}}}| < |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})|\); in the second case, the inequality (29) holds strictly (since the terms appearing in the last summation in (28) are all negative) and we have trivially that \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \tilde{\mathcal{{B}}}| \le |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})|\). And so in either case by (28) and (29) we have that
Hence, for any \(\mathbf{{y}}^*,\tilde{\mathbf{{y}}}\in \mathcal{{P}}_b\cap \mathbb {B}^n\) such that \(\mathbf{{y}}^*\) satisfies (M1) and \(\tilde{\mathbf{{y}}}\) does not satisfy (M1), we have that \(f (\mathbf{{x}},\tilde{\mathbf{{y}}}) < f (\mathbf{{x}}, \mathbf{{y}}^*) = \gamma (|\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})|)\). Moreover, since \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| \le u_b\) (the assumption associated with Case 2) and \(|\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})| \ge \ell _b\) (the supposition in the statement of the proposition), a point \(\mathbf{{y}}^*\in \mathcal{{P}}_b\cap \mathbb {B}^n\) satisfying (M1) exists (construct \(\mathrm{supp}{(\mathbf{{y}}^*)}\), for example, by starting with \(\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\) and gradually adding elements from \(\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\backslash \overline{\mathcal{{N}}}_0 (\mathcal{{A}})\) until the set has cardinality \(u_b\)). Hence, the binary optimal solutions to (23) are precisely the points \(\mathbf{{y}}^*\in \mathcal{{P}}_b\cap \mathbb {B}^n\) satisfying (M1). This completes the proof. \(\square \)
The following corollary, obtained by taking the contrapositive of Proposition 4, gives necessary and sufficient conditions for being able to improve upon a given separator by solving (23) (or the analogous program in \(\mathbf{{x}}\)).
Corollary 1
Let \(\mathcal{{A}},\mathcal{{B}}\subseteq \mathcal{{V}}\) be such that \(\mathbf{{x}} := \mathrm{supp}^{-1}{(\mathcal{{A}})}\in \mathcal{{P}}_a\) and \(\mathbf{{y}} := \mathrm{supp}^{-1}{(\mathcal{{B}})} \in \mathcal{{P}}_b\).
-
1.
Suppose that \(|\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})|\ge \ell _b\). Then \(\exists \;\hat{\mathbf{{y}}}\in \mathcal{{P}}_b\) such that
$$\begin{aligned} f (\mathbf{{x}}, \hat{\mathbf{{y}}}) > f (\mathbf{{x}}, \mathbf{{y}}) \end{aligned}$$if and only if one of the following conditions holds:
-
(J1)
\(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}| < \min \;\{u_b,|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})|\}\),
-
(J2)
\(\mathcal{{B}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}) \ne \emptyset \).
-
(J1)
-
2.
Suppose that \(|\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{B}})|\ge \ell _a\). Then \(\exists \;\hat{\mathbf{{x}}}\in \mathcal{{P}}_a\) such that
$$\begin{aligned} f (\hat{\mathbf{{x}}}, \mathbf{{y}}) > f (\mathbf{{x}}, \mathbf{{y}}) \end{aligned}$$if and only if one of the following conditions holds:
-
(L1)
\(|\overline{\mathcal{{N}}}_0 (\mathcal{{B}})\cap \mathcal{{A}}| < \min \;\{u_a,|\overline{\mathcal{{N}}}_0 (\mathcal{{B}})|\}\),
-
(L2)
\(\mathcal{{A}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{B}}) \ne \emptyset \).
-
(L1)
Proof
We only prove Part 1, since Part 2 will follow by symmetry. By Proposition 4, we need only show that the negation of [(M1) or (M2)] (with \(\mathcal{{B}}^*\) replaced by \(\mathcal{{B}}\)) holds if and only if [(J1) or (J2)] holds.
To see the forward direction, suppose that neither (M1) nor (M2) holds. Since (M1) does not hold, we have that either \(\mathcal{{B}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}) \ne \emptyset \) or \(\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\backslash \mathcal{{B}}\ne \emptyset \). In the first case, (J2) holds and we are done. In the second case, we have
Moreover, since (M2) does not hold, we have that either \(\mathcal{{B}}\backslash \overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \ne \emptyset \) (note that we cannot have \(\mathcal{{B}} = \overline{\mathcal{{N}}}_0 (\mathcal{{A}})\), since this would imply that (M1) holds, a contradiction) or \(|\mathcal{{B}}| < u_b\). In the first case, \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}| < |\mathcal{{B}}| \le u_b\), while in the second case \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \cap \mathcal{{B}}| \le |\mathcal{{B}}| < u_b\). Hence, in either case we have
Combining (38) with (39) we have that (J1) holds. This completes the proof of the forward direction.
To prove the backwards direction, we will prove the contrapositive; that is, we will prove that if either (M1) or (M2) holds, then neither (J1) nor (J2) holds. First, suppose that (M1) holds. Then, \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}| = |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| \ge \min \;\{u_b,|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})|\}\), and so (J1) does not hold. Moreover, since by (M1) \(\mathcal{{B}}\subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\), we have that \(\mathcal{{B}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}) = \emptyset \), implying that (J2) does not hold. Next, suppose instead that (M2) holds. Then, \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}| = |\mathcal{{B}}| = u_b \ge \min \;\{u_b, |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})|\}\), implying that (J1) does not hold. To see that (J2) does not hold, we need only observe that \(\mathcal{{B}}\subset \overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\), and so \(\mathcal{{B}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}) = \emptyset \). This completes the proof of the backwards direction. \(\square \)
Corollary 1 may be applied recursively (first to \(\mathcal{{B}}\), then to \(\mathcal{{A}}\), etc.) in order to develop necessary and sufficient conditions for improvement between any two consecutive iterates in an entire sequence \(\{(\mathcal{{A}}^k, \mathcal{{B}}^k)\}_{k \ge 0}\) (where \(\mathcal{{A}}^k = \mathcal{{A}}^{k - 1}\) when \(k\ge 1\) is odd and \(\mathcal{{B}}^k = \mathcal{{B}}^{k - 1}\) when \(k\ge 2\) is even), all stated in terms of the initial sets \(\mathcal{{A}}^0 = \mathcal{{A}}\) and \(\mathcal{{B}}^0 = \mathcal{{B}}\). In the next proposition, we employ Corollary 1 to derive sufficient conditions for improvement after two iterations of this process. To save space, we only state the conditions for the case where \(\mathcal{{B}}\) is refined first. It is clear that by symmetry, an analogous set of conditions applies to the case where \(\mathcal{{A}}\) is refined first.
Proposition 5
Let \(\mathcal{{A}},\mathcal{{B}}\subseteq \mathcal{{V}}\) be such that \(\mathbf{{x}} := \mathrm{supp}^{-1}{(\mathcal{{A}})}\in \mathcal{{P}}_a\) and \(\mathbf{{y}} := \mathrm{supp}^{-1}{(\mathcal{{B}})} \in \mathcal{{P}}_b\). Suppose that \(|\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})|\ge \ell _b\), \(|\overline{\mathcal{{N}}}_{\le 1} (\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}))| \ge \ell _a\), and that one of the following conditions holds:
-
(J3)
\(|\mathcal{{A}}| < u_a\), \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| \le u_b\), and
$$\begin{aligned} \exists \; i\in \mathcal{{V}}\backslash \mathcal{{A}}\;\;\text{ such } \text{ that }\;\; \overline{\mathcal{{N}}} (i)\subseteq \overline{\mathcal{{N}}} (\mathcal{{A}})\;\;\text{ and }\;\; |\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\backslash \overline{\mathcal{{N}}} (i)|\ge \ell _b\;, \end{aligned}$$ -
(J4)
\(\ell _b\le |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| + 2\le u_b\) and
$$\begin{aligned} \exists \; i\in \mathcal{{A}}, \;j\in \mathcal{{V}}\backslash \mathcal{{A}}\;\;\text{ such } \text{ that }\;\; \mathcal{{N}}(i)\cap \mathcal{{A}}=\emptyset \;\;\text{ and }\;\;\mathcal{{N}}(j)\cap \mathcal{{A}}=\{i\}\;, \end{aligned}$$ -
(J5)
\(\ell _b \le |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| + 2\le u_b\) and
$$\begin{aligned} \exists \; i \in \mathcal{{A}},\; j\ne k\in \mathcal{{V}}\backslash \mathcal{{A}}\;\;\text{ such } \text{ that }\;\; \mathcal{{N}}(j)\cap \mathcal{{A}} = \mathcal{{N}} (k)\cap \mathcal{{A}} = \{i\}\;. \end{aligned}$$
Then \(\exists \; \hat{\mathbf{{y}}}\in \mathcal{{P}}_b\cap \mathbb {B}^n\) such that for some \(\hat{\mathbf{{x}}}\in \mathcal{{P}}_a\)
Proof
We split the proof into three cases, depending on the particular condition which holds.
Case (J3) Suppose that (J3) holds. By Observation 82, \(\overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\) and by (J3) we have \(\overline{\mathcal{{N}}}_0 (\mathcal{{A}}) = \mathcal{{V}}\backslash \overline{\mathcal{{N}}} (\mathcal{{A}}) \subseteq \mathcal{{V}}\backslash \overline{\mathcal{{N}}} (i)\). Hence,
Moreover, (J3) states that
Hence, combining (40) and (41), \(\exists \;\hat{\mathcal{{B}}}\subseteq \mathcal{{V}}\) such that
By (42) the point \(\hat{\mathbf{{y}}} := \mathrm{supp}^{-1}{(\hat{\mathcal{{B}}})}\) lies in \(\mathcal{{P}}_b\cap \mathbb {B}^n\) and \(\hat{\mathcal{{B}}}\) satisfies (M1). Hence, Proposition 4 implies that \(\hat{\mathbf{{y}}}\) is optimal in (23), and thus
which proves the first half of the statement in the proposition.
Next, observe that since by (J3) we have \(i\in \mathcal{{V}}\backslash \mathcal{{A}}\) and since by (42) we have \(\overline{\mathcal{{N}}} (i)\cap \hat{\mathcal{{B}}} = \emptyset \), it follows that \(i\in \overline{\mathcal{{N}}}_0 (\hat{\mathcal{{B}}})\backslash \mathcal{{A}}\), and hence \(\overline{\mathcal{{N}}}_0 (\hat{\mathcal{{B}}})\cap \mathcal{{A}} \subset \overline{\mathcal{{N}}}_0 (\hat{\mathcal{{B}}})\), implying \(|\overline{\mathcal{{N}}}_0 (\hat{\mathcal{{B}}}) \cap \mathcal{{A}}| < |\overline{\mathcal{{N}}}_0 (\hat{\mathcal{{B}}})|\). In addition, \(|\overline{\mathcal{{N}}}_0 (\hat{\mathcal{{B}}}) \cap \mathcal{{A}}| \le |\mathcal{{A}}| < u_a\), by (J3). Hence,
that is, \(\hat{\mathcal{{B}}}\) satisfies (L1) (with \(\mathcal{{B}}\) replaced by \(\hat{\mathcal{{B}}}\)). And since by (42) \(\hat{\mathcal{{B}}}\subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\) we have from Observation 81 that \(\overline{\mathcal{{N}}}_{\le 1} (\hat{\mathcal{{B}}}) \supseteq \overline{\mathcal{{N}}}_{\le 1} (\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}))\), and hence \(|\overline{\mathcal{{N}}}_{\le 1} (\hat{\mathcal{{B}}})| \ge |\overline{\mathcal{{N}}}_{\le 1} (\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}))| \ge \ell _a\), where the final inequality here follows from the supposition in the statement of the proposition. So, \(\hat{\mathcal{{B}}}\) satisfies the assumptions of Part 2 of Corollary 1, in addition to (L1). Hence, \(\exists \;\hat{\mathbf{{x}}}\in \mathcal{{P}}_a\) such that \(f (\hat{\mathbf{{x}}}, \hat{\mathbf{{y}}}) > f (\mathbf{{x}}, \hat{\mathbf{{y}}})\). This completes the proof in the case where (J3) holds.
Case (J4) Suppose that (J4) holds. First, note that by the assumption on i and j, we have
Hence, \(|\overline{\mathcal{{N}}} (i)\cap \mathcal{{A}}| = |\overline{\mathcal{{N}}} (j)\cap \mathcal{{A}}| = 1\); that is, \(\{i,j\}\subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\backslash \overline{\mathcal{{N}}}_0 (\mathcal{{A}})\). Hence, letting
we have
so that \(\hat{\mathcal{{B}}}\) satisfies (M1) (with \(\mathcal{{B}}^*\) replaced by \(\hat{\mathcal{{B}}}\)). Moreover, since \(|\hat{\mathcal{{B}}}| = |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| + 2\), by (J4) we have that
So by (45) we have \(\hat{\mathbf{{y}}} := \mathrm{supp}^{-1}{(\hat{\mathcal{{B}}})}\in \mathcal{{P}}_b\) and by (44) \(\hat{\mathcal{{B}}}\) satisfies (M1). Hence, by Proposition 4, \(\hat{\mathbf{{y}}}\) is an optimal solution to (23) and therefore satisfies (43). This proves the first half of the statement in the proposition.
Next, observe that \(\overline{\mathcal{{N}}} (i) \cap \hat{\mathcal{{B}}} \supseteq \{i,j\}\), so that \(|\overline{\mathcal{{N}}} (i) \cap \hat{\mathcal{{B}}}| \ge 2\); that is, \(i\in \mathcal{{A}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\hat{\mathcal{{B}}})\), implying that \(\hat{\mathcal{{B}}}\) satisfies (L2) (with \(\mathcal{{B}}\) replaced by \(\hat{\mathcal{{B}}}\)). And since \(\hat{\mathcal{{B}}}\subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\) by (44), Observation 81 again implies that \(\overline{\mathcal{{N}}}_{\le 1} (\hat{\mathcal{{B}}}) \supseteq \overline{\mathcal{{N}}}_{\le 1} (\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}))\), so that \(|\overline{\mathcal{{N}}}_{\le 1} (\hat{\mathcal{{B}}})| \ge |\overline{\mathcal{{N}}}_{\le 1} (\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}))| \ge \ell _a\). Thus, \(\hat{\mathcal{{B}}}\) satisfies the assumptions of Part 2 of Corollary 1, in addition to (L2). Therefore \(\exists \;\hat{\mathbf{{x}}}\in \mathcal{{P}}_a\) such that \(f (\hat{\mathbf{{x}}}, \hat{\mathbf{{y}}}) > f (\mathbf{{x}}, \hat{\mathbf{{y}}})\). This completes the proof in the case where (J4) holds.
Case (J5) Suppose that (J5) holds. First, note that by the assumption on i, j, and k we have
Hence, \(|\overline{\mathcal{{N}}} (j)\cap \mathcal{{A}}| = |\overline{\mathcal{{N}}} (k)\cap \mathcal{{A}}| = 1\); that is, \(\{j,k\}\subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\backslash \overline{\mathcal{{N}}}_0 (\mathcal{{A}})\). Letting,
the proof that \(\hat{\mathbf{{y}}} := \mathrm{supp}^{-1}{(\hat{\mathcal{{B}}})}\) lies in \(\mathcal{{P}}_b\cap \mathbb {B}^n\) and satisfies (43) is identical to the proof used in Case (J4).
Next, observe that \(\overline{\mathcal{{N}}} (i) \cap \hat{\mathcal{{B}}} \supseteq \{j,k\}\), so that \(|\overline{\mathcal{{N}}} (i) \cap \hat{\mathcal{{B}}}| \ge 2\); that is, \(i\in \mathcal{{A}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\hat{\mathcal{{B}}})\), implying that \(\hat{\mathcal{{B}}}\) satisfies (L2) (with \(\mathcal{{B}}\) replaced by \(\hat{\mathcal{{B}}}\)). The remainder of the proof is identical to Case (J4). \(\square \)
Remark 2
It can be shown that whenever the assumptions of (J4) or (J5) hold, any point \(\overline{\mathbf{{y}}}\in \mathcal{{P}}_b\cap \mathbb {B}^n\) satisfying \(\mathrm{supp}{(\hat{\mathbf{{y}}})} \subseteq \mathrm{supp}{(\overline{\mathbf{{y}}})}\subseteq \overline{\mathcal{{N}}}_{\le 1}(\mathcal{{A}})\) will also satisfy
for some \(\hat{\mathbf{{x}}}\in \mathcal{{P}}_a\). Hence, in order to take advantage of improvement opportunities of the form (J4) or (J5), it is sufficient to take \(\hat{\mathbf{{y}}}\in \mathcal{{P}}_b\cap \mathbb {B}^n\) such that \(\hat{\mathcal{{B}}} =\) supp\((\hat{\mathbf{{y}}})\) is maximal while satisfying \(\{i,j\}\cup \overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \subseteq \hat{\mathcal{{B}}}\subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\) (in the case of (J4)) or \(\{j,k\}\cup \overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \subseteq \hat{\mathcal{{B}}}\subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\) (in the case of (J5)). Since in practice there may be many vertices i, j, and k satisfying either (J4) or (J5) for a given partition, a pair of vectors \((\hat{\mathbf{{x}}}, \hat{\mathbf{{y}}})\) improving the partition is often not difficult to find.
Rights and permissions
About this article
Cite this article
Hager, W.W., Hungerford, J.T. & Safro, I. A multilevel bilinear programming algorithm for the vertex separator problem. Comput Optim Appl 69, 189–223 (2018). https://doi.org/10.1007/s10589-017-9945-2
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10589-017-9945-2
Keywords
- Vertex separator
- Continuous formulation
- Graph partitioning
- Multilevel
- Weighted edge contractions
- Multilevel algorithm