Skip to main content
Log in

A multilevel bilinear programming algorithm for the vertex separator problem

  • Published:
Computational Optimization and Applications Aims and scope Submit manuscript

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.

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

  1. 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

  2. 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)

  3. 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)

  4. 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)

    Google Scholar 

  5. Bui, T., Jones, C.: Finding good approximate vertex and edge partitions is NP-hard. Inf. Process. Lett. 42, 153–159 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. Chen, J., Safro, I.: Algebraic distance on graphs. SIAM J. Sci. Comput. 33, 3468–3490 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  9. Davis, T.A.: Direct Methods for Sparse Linear Systems. SIAM, Philadelphia (2006)

    Book  MATH  Google Scholar 

  10. Davis, T.A.: University of Florida sparse matrix collection. ACM Trans. Math. Softw. 38, 1–25 (2011)

    MathSciNet  MATH  Google Scholar 

  11. Davis, T.A., Hager, W.W., Hungerford, J.T.: The separable convex quadratic knapsack problem. ACM Trans. Math. Softw. 42, 1–25 (2016)

    Article  MATH  Google Scholar 

  12. Evrendilek, C.: Vertex separators for partitioning a graph. Sensors 8, 635–657 (2008)

    Article  Google Scholar 

  13. Feige, U., Hajiaghayi, M., Lee, J.: Improved approximation algorithms for vertex separators. SIAM J. Comput. 38, 629–657 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  14. 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)

  15. Fukuyama, J.: NP-completeness of the planar separator problems. J. Graph Algorithms Appl. 10(2), 317–328 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  16. George, A., Liu, J.W.H.: Computer Solution of Large Sparse Positive Definite Systems. Prentice-Hall, Englewood Cliffs (1981)

    MATH  Google Scholar 

  17. Gilbert, J.R., Zmijewski, E.: A parallel graph partitioning algorithm for a message-passing multiprocessor. Intl. J. Parallel Program. 16, 498–513 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  18. Hager, W.W., Hungerford, J.T.: Optimality conditions for maximizing a function over a polyhedron. Math. Program. 145, 179–198 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  19. Hager, W.W., Hungerford, J.T.: Continuous quadratic programming formulations of optimization problems on graphs. Eur. J. Oper. Res. 240, 328–337 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  20. Hendrickson, B., Leland, R.: A multilevel algorithm for partitioning graphs. In: Proceedings of Supercomputing ’95. IEEE (1995)

  21. 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)

  22. http://snap.stanford.edu/data/

  23. Karypis, G., Kumar, V.: METIS: unstructured graph partitioning and sparse matrix ordering system. Technical Report, Department of Computer Science, University of Minnesota (1995)

  24. Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20, 359–392 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  25. 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)

    Article  MathSciNet  MATH  Google Scholar 

  26. Kernighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. Bell Syst. Tech. J. 49, 291–307 (1970)

    Article  MATH  Google Scholar 

  27. 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)

  28. Konno, H.: A cutting plane algorithm for solving bilinear programs. Math. Program. 11, 14–27 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  29. 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)

  30. 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)

  31. Litsas, C., Pagourtzis, A., Panagiotakos, G., Sakavalas, D.: On the resilience and uniqueness of CPA for secure broadcast. In: IACR Cryptology ePrint Archive (2013)

  32. Miller, G., Teng, S.H., Thurston, W., Vavasis, S.: Geometric separators for finite element meshes. SIAM J. Sci. Comput. 19, 364–386 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  33. Nocedal, J., Wright, S.J.: Numerical Optimization, 2nd edn. Springer, New York (2006)

    MATH  Google Scholar 

  34. Pothen, A., Simon, H.D., Liou, K.: Partitioning sparse matrices with eigenvectors of graphs. SIAM J. Matrix Anal. Appl. 11(3), 430–452 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  35. Rendl, F., Sotirov, R.: The min-cut and vertex separator problem. Comput. Optim. Appl. (2017). doi:10.1007/s10589-017-9943-4

  36. Ron, D., Safro, I., Brandt, A.: Relaxation-based coarsening and multiscale graph organization. Multiscale Model. Simul. 9(1), 407–423 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  37. Safro, I., Sanders, P., Schulz, C.: Advanced coarsening schemes for graph partitioning. ACM J. Exp. Algorithm. 19(2), Article 2.2 (2014)

  38. Safro, I., Ron, D., Brandt, A.: Graph minimum linear arrangement by multilevel weighted edge contractions. J. Algorithms 60, 24–41 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  39. Ullman, J.: Computational Aspects of VLSI. Computer Science Press, Rockville (1984)

    MATH  Google Scholar 

  40. Vanderbei, R.J.: Linear Programming: Foundations and Extensions, 4th edn. Springer, Berlin (2014)

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to James T. Hungerford.

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

$$\begin{aligned} \overline{\mathcal{{N}}}_{\le k} (\mathcal{{Z}}) := \{i\in \mathcal{{V}}\;:\; |\overline{\mathcal{{N}}}(i)\cap \mathcal{{Z}}| \le k\}\;. \end{aligned}$$

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,

$$\begin{aligned}&\mathbf{{x}}^\mathsf{T}\mathbf{{(A+I)}}\mathbf{{y}} \;=\; \sum _{i\in \mathcal{{B}}} |\overline{\mathcal{{N}}} (i) \cap \mathcal{{A}}| \;=\; \sum _{i\in \mathcal{{A}}} |\overline{\mathcal{{N}}} (i) \cap \mathcal{{B}}|\;. \end{aligned}$$

Observation 82

Let \(\mathcal{{Z}}\subseteq \mathcal{{V}}\). Then

$$\begin{aligned} \overline{\mathcal{{N}}}_0 (\mathcal{{Z}})\subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{Z}})\;. \end{aligned}$$

Observation 83

Let \(\mathcal{{X}},\mathcal{{Y}}\subseteq \mathcal{{V}}\) be such that \(\mathcal{{X}}\subseteq \mathcal{{Y}}\). Then for any \(k \ge 0\),

$$\begin{aligned} \overline{\mathcal{{N}}}_{\le k} (\mathcal{{X}})\supseteq \overline{\mathcal{{N}}}_{\le k} (\mathcal{{Y}})\;. \end{aligned}$$

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

$$\begin{aligned} \max \;\{f (\mathbf{{x}}, \tilde{\mathbf{{y}}})\;:\; \tilde{\mathbf{{y}}}\in \mathcal{{P}}_b\} \end{aligned}$$
(23)

if and only if one of the following conditions holds:

  1. (M1)

    \(\overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \subseteq \mathcal{{B}}^* \subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\),

  2. (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\)

$$\begin{aligned} \frac{1}{\gamma } f (\mathbf{{x}}, \tilde{\mathbf{{y}}})= & {} \frac{1}{\gamma } [\mathbf{{c}}^\mathsf{T}(\mathbf{{x}} + \tilde{\mathbf{{y}}}) - \gamma \mathbf{{x}}^\mathsf{T}\mathbf{{(A+I)}}\tilde{\mathbf{{y}}}]\nonumber \\= & {} \mathbf{{1}}^\mathsf{T}(\mathbf{{x}} +\tilde{\mathbf{{y}}}) - \mathbf{{x}}^\mathsf{T}\mathbf{{(A+I)}}\tilde{\mathbf{{y}}} \end{aligned}$$
(24)
$$\begin{aligned}= & {} |\mathcal{{A}}| + |\tilde{\mathcal{{B}}}| - \sum _{i\in \tilde{\mathcal{{B}}}} |\overline{\mathcal{{N}}} (i)\cap \mathcal{{A}}| \end{aligned}$$
(25)
$$\begin{aligned}= & {} |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \tilde{\mathcal{{B}}}| + |\tilde{\mathcal{{B}}}\backslash \overline{\mathcal{{N}}}_0 (\mathcal{{A}})| - \sum _{i\in \tilde{\mathcal{{B}}}\backslash \overline{\mathcal{{N}}}_0 (\mathcal{{A}})} |\overline{\mathcal{{N}}} (i)\cap \mathcal{{A}}| \qquad \end{aligned}$$
(26)
$$\begin{aligned}= & {} |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \tilde{\mathcal{{B}}}| + \sum _{i\in \tilde{\mathcal{{B}}}\backslash \overline{\mathcal{{N}}}_0 (\mathcal{{A}})} (1 - |\overline{\mathcal{{N}}} (i)\cap \mathcal{{A}}|) \end{aligned}$$
(27)
$$\begin{aligned}= & {} |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \tilde{\mathcal{{B}}}| + \sum _{i\in \tilde{\mathcal{{B}}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})} (1 - |\overline{\mathcal{{N}}} (i)\cap \mathcal{{A}}|) \end{aligned}$$
(28)
$$\begin{aligned}\le & {} |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \tilde{\mathcal{{B}}}|\;, \end{aligned}$$
(29)

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

$$\begin{aligned} \frac{1}{\gamma } f (\mathbf{{x}}, \mathbf{{y}}^*)= & {} |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}^*| + \sum _{i\in \mathcal{{B}}^*\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})} (1 - |\overline{\mathcal{{N}}} (i)\cap \mathcal{{A}}|)\nonumber \\= & {} |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}^*| \end{aligned}$$
(30)
$$\begin{aligned}= & {} |\mathcal{{A}}| + |\mathcal{{B}}^*| \end{aligned}$$
(31)
$$\begin{aligned}= & {} |\mathcal{{A}}| + u_b\;, \end{aligned}$$
(32)

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

$$\begin{aligned} \frac{1}{\gamma } f (\mathbf{{x}}, \tilde{\mathbf{{y}}}) \le |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \tilde{\mathcal{{B}}}| < |\mathcal{{A}}| + u_b = \frac{1}{\gamma } f (\mathbf{{x}}, \mathbf{{y}}^*)\;. \end{aligned}$$
(33)

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

$$\begin{aligned} \frac{1}{\gamma } f (\mathbf{{x}}, \mathbf{{y}}^*)= & {} |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}^*| + \sum _{i\in \mathcal{{B}}^*\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})} (1 - |\overline{\mathcal{{N}}} (i) \cap \mathcal{{A}}|) \end{aligned}$$
(34)
$$\begin{aligned}= & {} |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}^*| \end{aligned}$$
(35)
$$\begin{aligned}= & {} |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})|\;, \end{aligned}$$
(36)

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

$$\begin{aligned} \frac{1}{\gamma } f (\mathbf{{x}}, \tilde{\mathbf{{y}}})< & {} |\mathcal{{A}}| + |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| = \frac{1}{\gamma } f (\mathbf{{x}}, \mathbf{{y}}^*)\;. \end{aligned}$$
(37)

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. 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:

    1. (J1)

      \(|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}| < \min \;\{u_b,|\overline{\mathcal{{N}}}_0 (\mathcal{{A}})|\}\),

    2. (J2)

      \(\mathcal{{B}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}) \ne \emptyset \).

  2. 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:

    1. (L1)

      \(|\overline{\mathcal{{N}}}_0 (\mathcal{{B}})\cap \mathcal{{A}}| < \min \;\{u_a,|\overline{\mathcal{{N}}}_0 (\mathcal{{B}})|\}\),

    2. (L2)

      \(\mathcal{{A}}\backslash \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{B}}) \ne \emptyset \).

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

$$\begin{aligned} |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}| < |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})|\;. \end{aligned}$$
(38)

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

$$\begin{aligned} |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cap \mathcal{{B}}| < u_b\;. \end{aligned}$$
(39)

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:

  1. (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}$$
  2. (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}$$
  3. (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\)

$$\begin{aligned} f (\hat{\mathbf{{x}}}, \hat{\mathbf{{y}}}) > f (\mathbf{{x}}, \hat{\mathbf{{y}}}) = \max \;\{f (\mathbf{{x}},\tilde{\mathbf{{y}}})\;:\;\tilde{\mathbf{{y}}}\in \mathcal{{P}}_b\} \ge f (\mathbf{{x}}, \mathbf{{y}})\;. \end{aligned}$$

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,

$$\begin{aligned} \overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}}) \backslash \overline{\mathcal{{N}}} (i)\;. \end{aligned}$$
(40)

Moreover, (J3) states that

$$\begin{aligned} |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| \le u_b\quad \text{ and }\quad |\overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\backslash \overline{\mathcal{{N}}} (i)| \ge \ell _b\;. \end{aligned}$$
(41)

Hence, combining (40) and (41), \(\exists \;\hat{\mathcal{{B}}}\subseteq \mathcal{{V}}\) such that

$$\begin{aligned} \overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \subseteq \hat{\mathcal{{B}}} \subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\backslash \overline{\mathcal{{N}}}(i)\quad \text{ and }\quad \ell _b \le |\hat{\mathcal{{B}}}| \le u_b\;. \end{aligned}$$
(42)

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

$$\begin{aligned} f (\mathbf{{x}}, \hat{\mathbf{{y}}}) \ge f (\mathbf{{x}}, \mathbf{{y}})\;, \end{aligned}$$
(43)

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,

$$\begin{aligned} |\overline{\mathcal{{N}}}_0 (\hat{\mathcal{{B}}})\cap \mathcal{{A}}| < \min \;\{u_a,|\overline{\mathcal{{N}}}_0 (\mathcal{{B}})|\}\;; \end{aligned}$$

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

$$\begin{aligned} \overline{\mathcal{{N}}} (i) \cap \mathcal{{A}} = \overline{\mathcal{{N}}} (j)\cap \mathcal{{A}} = \{i\}\;. \end{aligned}$$

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

$$\begin{aligned} \hat{\mathcal{{B}}} := \overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cup \{i,j\}\;, \end{aligned}$$

we have

$$\begin{aligned} \overline{\mathcal{{N}}}_0 (\mathcal{{A}}) \subseteq \hat{\mathcal{{B}}} \subseteq \overline{\mathcal{{N}}}_{\le 1} (\mathcal{{A}})\;, \end{aligned}$$
(44)

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

$$\begin{aligned} \ell _b \le |\hat{\mathcal{{B}}}| = |\overline{\mathcal{{N}}}_0 (\mathcal{{A}})| + 2 \le u_b\;. \end{aligned}$$
(45)

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

$$\begin{aligned} \overline{\mathcal{{N}}} (j) \cap \mathcal{{A}} = \overline{\mathcal{{N}}} (k)\cap \mathcal{{A}} = \{i\}\;. \end{aligned}$$

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,

$$\begin{aligned} \hat{\mathcal{{B}}} := \overline{\mathcal{{N}}}_0 (\mathcal{{A}})\cup \{j,k\}\;, \end{aligned}$$

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

$$\begin{aligned} f (\hat{\mathbf{{x}}}, \overline{\mathbf{{y}}}) > f (\mathbf{{x}}, \overline{\mathbf{{y}}}) \ge f (\mathbf{{x}}, \mathbf{{y}})\; \end{aligned}$$

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10589-017-9945-2

Keywords

Mathematics Subject Classification

Navigation