Table of Contents
Fetching ...

A Globally Convergent Method for Computing B-stationary Points of Mathematical Programs with Equilibrium Constraints

Armin Nurkanović, Sven Leyffer

TL;DR

The paper introduces MPECopt, a two-phase algorithm for computing B-stationary points of mathematical programs with equilibrium constraints. It leverages two types of subproblems—BNLPs and LPECs—solving a finite sequence of them with a trust-region-based strategy that ensures progress toward B-stationarity, even when standard constraint qualifications fail. Convergence is proven under the MPEC-MFCQ assumption, and the method is validated on large benchmarks where MILP-based LPEC solving outperforms relaxation-based approaches. An open-source implementation demonstrates robustness and practical efficiency, highlighting notable improvements over relaxation-based and MINLP methods for medium to large-scale MPECs.

Abstract

This paper introduces a computationally efficient method that globally converges to B-stationary points of mathematical programs with equilibrium constraints (MPECs) in a finite number of iterations. B-stationarity is necessary for optimality and means that no feasible first-order direction can improve the objective. Given a feasible point of an MPEC, B-stationarity can be certified by solving a linear program with equilibrium constraints (LPCC) constructed at this point. The proposed method solves a sequence of LPCCs, which either certify B-stationarity or provide an active-set estimate for the complementarity constraints, along with nonlinear programs (NLPs) -- referred to as branch NLPs (BNLPs) -- obtained by fixing the active set in the MPEC. A BNLP is more regular than the original MPEC, easier to solve, and with the correct active set, its solution coincides with that of the MPEC. We show that, unless the current iterate is B-stationary, these combinatorial LPCCs need not be solved to optimality; for convergence, it suffices to compute a nonzero feasible point, yielding significant computational savings. The method proceeds in two phases: the first identifies a feasible BNLP or a {stationary point of a constraint infeasibility minimization problem, and the second solves a finite sequence of BNLPs until a B-stationary point of the MPEC is found. We established finite convergence under the MPEC-MFCQ. Numerical experiments and an open-source software implementation show that the proposed method is more robust and faster than relaxation-based and mixed-integer NLP approaches, even on medium to large-scale instances.

A Globally Convergent Method for Computing B-stationary Points of Mathematical Programs with Equilibrium Constraints

TL;DR

The paper introduces MPECopt, a two-phase algorithm for computing B-stationary points of mathematical programs with equilibrium constraints. It leverages two types of subproblems—BNLPs and LPECs—solving a finite sequence of them with a trust-region-based strategy that ensures progress toward B-stationarity, even when standard constraint qualifications fail. Convergence is proven under the MPEC-MFCQ assumption, and the method is validated on large benchmarks where MILP-based LPEC solving outperforms relaxation-based approaches. An open-source implementation demonstrates robustness and practical efficiency, highlighting notable improvements over relaxation-based and MINLP methods for medium to large-scale MPECs.

Abstract

This paper introduces a computationally efficient method that globally converges to B-stationary points of mathematical programs with equilibrium constraints (MPECs) in a finite number of iterations. B-stationarity is necessary for optimality and means that no feasible first-order direction can improve the objective. Given a feasible point of an MPEC, B-stationarity can be certified by solving a linear program with equilibrium constraints (LPCC) constructed at this point. The proposed method solves a sequence of LPCCs, which either certify B-stationarity or provide an active-set estimate for the complementarity constraints, along with nonlinear programs (NLPs) -- referred to as branch NLPs (BNLPs) -- obtained by fixing the active set in the MPEC. A BNLP is more regular than the original MPEC, easier to solve, and with the correct active set, its solution coincides with that of the MPEC. We show that, unless the current iterate is B-stationary, these combinatorial LPCCs need not be solved to optimality; for convergence, it suffices to compute a nonzero feasible point, yielding significant computational savings. The method proceeds in two phases: the first identifies a feasible BNLP or a {stationary point of a constraint infeasibility minimization problem, and the second solves a finite sequence of BNLPs until a B-stationary point of the MPEC is found. We established finite convergence under the MPEC-MFCQ. Numerical experiments and an open-source software implementation show that the proposed method is more robust and faster than relaxation-based and mixed-integer NLP approaches, even on medium to large-scale instances.
Paper Structure (21 sections, 13 theorems, 49 equations, 9 figures, 4 algorithms)

This paper contains 21 sections, 13 theorems, 49 equations, 9 figures, 4 algorithms.

Key Result

Theorem 2.1

(Luo1996) Let $x^*\in\Omega$ be a local minimizer of eq:mpec, then it holds that or equivalently, $d = 0$ is a global optimizer of the following optimization problem:

Figures (9)

  • Figure 1: Illustration of Example \ref{['ex:mpec_cq_fail']}. If a constraint qualification does not hold, the LPEC cannot verify geometric B-stationary.
  • Figure 2: Illustration of the MPEC \ref{['eq:global_local_mpec']}. The yellow stars denote the two stationary points. The figure illustrates the LPEC's \ref{['eq:lpec_full']} trust region, objective gradient, and optimal solution $d$ for different values of $\rho$ at different stationary points.
  • Figure 3: Illustrating of Example \ref{['ex:feasibility_lpec']}, where the LPEC \ref{['eq:lpec_full']} can correctly and wrongly identify a feasible BNLP depending on the linearization point $x^*(\tau)$. Top: the linearization point $x^*(\tau)$ is not close enough to the feasible set, so the LPEC admits an MPEC-infeasible branch. Bottom: $x^*(\tau)$ sufficiently close, so all LPEC branches are MPEC-feasible.
  • Figure 4: Illustration of the argument used the proof of Theorem \ref{['th:phase_i_feasibility']}.
  • Figure 5: Evaluating different MPEC solution methods on the MacMPEC test set in terms of finding a B-stationary point.
  • ...and 4 more figures

Theorems & Definitions (23)

  • Theorem 2.1
  • Definition 2.1: B-stationarity
  • Definition 2.2
  • Definition 2.3: Stationarity concepts for MPECs
  • Theorem 2.2
  • Remark 2.1
  • Example 3.1
  • Lemma 3.1
  • Example 3.2: Finding a better objective value
  • Lemma 3.2
  • ...and 13 more