Abstract
In this paper, we present a twophase augmented Lagrangian method, called QSDPNAL, for solving convex quadratic semidefinite programming (QSDP) problems with constraints consisting of a large number of linear equality and inequality constraints, a simple convex polyhedral set constraint, and a positive semidefinite cone constraint. A first order algorithm which relies on the inexact Schur complement based decomposition technique is developed in QSDPNALPhase I with the aim of solving a QSDP problem to moderate accuracy or using it to generate a reasonably good initial point for the second phase. In QSDPNALPhase II, we design an augmented Lagrangian method (ALM) wherein the inner subproblem in each iteration is solved via inexact semismooth Newton based algorithms. Simple and implementable stopping criteria are designed for the ALM. Moreover, under mild conditions, we are able to establish the rate of convergence of the proposed algorithm and prove the R(super)linear convergence of the KKT residual. In the implementation of QSDPNAL, we also develop efficient techniques for solving large scale linear systems of equations under certain subspace constraints. More specifically, simpler and yet better conditioned linear systems are carefully designed to replace the original linear systems and novel shadow sequences are constructed to alleviate the numerical difficulties brought about by the crucial subspace constraints. Extensive numerical results for various large scale QSDPs show that our twophase algorithm is highly efficient and robust in obtaining accurate solutions. The software reviewed as part of this submission was given the DOI (Digital Object Identifier) https://doi.org/10.5281/zenodo.1206980.
Similar content being viewed by others
Notes
In this case, the optimal solution set to (P) is necessarily a singleton though (D) may have multiple solutions.
References
Alfakih, A.Y., Khandani, A., Wolkowicz, H.: Solving Euclidean distance matrix completion problems via semidefinite programming. Comput. Optim. Appl. 12, 13–30 (1999)
Bauschke, H.H., Borwein, J.M., Li, W.: Strong conical hull intersection property, bounded linear regularity, Jameson’s property (G), and error bounds in convex optimization. Math. Program. 86, 135–160 (1999)
Biswas, P., Liang, T.C., Toh, K.C., Wang, T.C., Ye, Y.: Semidefinite programming approaches for sensor network localization with noisy distance measurements. IEEE Trans. Autom. Sci. Eng. 3, 360–371 (2006)
Bonnans, J.F., Shapiro, A.: Perturbation Analysis of Optimization Problems. Springer, New York (2000)
Burkard, R.E., Karisch, S.E., Rendl, F.: QAPLIB—a quadratic assignment problem library. J. Global Optim. 10, 391–403 (1997)
Chen, L., Sun, D.F., Toh, K.C.: An efficient inexact symmetric Gauss–Seidel based majorized ADMM for highdimensional convex composite conic programming. Math. Program. 161, 237–270 (2017)
Cui, Y., Sun, D.F., Toh, K.C.: On the asymptotic superlinear convergence of the augmented Lagrangian method for semidefinite programming with multiple solutions, arXiv:1610.00875 (2016)
Clarke, F.: Optimization and Nonsmooth Analysis. Wiley, New York (1983)
Facchinei, F., Pang, J.S.: FiniteDimensional Variational Inequalities and Complementarity Problems. Springer, New York (2003)
Han, D., Sun, D., Zhang, L.: Linear rate convergence of the alternating direction method of multipliers for convex composite programming. Math. Oper. Res. (2017). https://doi.org/10.1287/moor.2017.0875
Higham, N.J.: Computing the nearest correlation matrix—a problem from finance. IMA J. Numer. Anal. 22, 329–343 (2002)
HiriartUrruty, J.B., Strodiot, J.J., Nguyen, V.H.: Generalized Hessian matrix and secondorder optimality conditions for problems with \({C}^{1,1}\) data. Appl. Math. Optim. 11, 43–56 (1984)
Jiang, K., Sun, D.F., Toh, K.C.: An inexact accelerated proximal gradient method for large scale linearly constrained convex SDP. SIAM J. Optim. 22, 1042–1064 (2012)
Jiang, K., Sun, D.F., Toh, K.C.: A partial proximal point algorithm for nuclear norm regularized matrix least squares problems. Math. Program. Comput. 6, 281–325 (2014)
Krislock, N., Lang, J., Varah, J., Pai, D.K., Seidel, H.P.: Local compliance estimation via positive semidefinite constrained least squares. IEEE Trans. Robot. 20, 1007–1011 (2004)
Li, L., Toh, K.C.: An inexact interior point method for l1regularized sparse covariance selection. Math. Program. Comput. 2, 291–315 (2010)
Li, X.D.: A TwoPhase Augmented Lagrangian Method for Convex Composite Quadratic Programming, PhD thesis, Department of Mathematics, National University of Singapore (2015)
Li, X.D., Sun, D.F., Toh, K.C.: A Schur complement based semiproximal ADMM for convex quadratic conic programming and extensions. Math. Program. 155, 333–373 (2016)
Nie, J.W., Yuan, Y.X.: A predictorcorrector algorithm for QSDP combining Dikintype and Newton centering steps. Ann. Oper. Res. 103, 115–133 (2001)
Pang, J.S., Sun, D.F., Sun, J.: Semismooth homeomorphisms and strong stability of semidefinite and Lorentz complementarity problems. Math. Oper. Res. 28, 39–63 (2003)
Povh, J., Rendl, F.: Copositive and semidefinite relaxations of the quadratic assignment problem. Discrete Optim. 6, 231–241 (2009)
Qi, H.D.: Local duality of nonlinear semidefinite programming. Math. Oper. Res. 34, 124–141 (2009)
Qi, H.D., Sun, D.F.: A quadratically convergent Newton method for computing the nearest correlation matrix. SIAM J. Matrix Anal. Appl. 28, 360–385 (2006)
Rockafellar, R.T.: Conjugate Duality and Optimization, CBMSNSF Regional Conf. Ser. Appl. Math. vol. 16. SIAM, Philadelphia (1974)
Rockafellar, R.T.: Monotone operators and the proximal point algorithm. SIAM J. Control Optim. 14, 877–898 (1976)
Rockafellar, R.T.: Augmented Lagrangians and applications of the proximal point algorithm in convex programming. Math. Oper. Res. 1, 97–116 (1976)
Sun, D.F., Sun, J.: Semismooth matrixvalued functions. Math. Oper. Res. 27, 150–169 (2002)
Sun, D.F., Toh, K.C., Yang, L.: A convergent 3block semiproximal alternating direction method of multipliers for conic programming with 4type constraints. SIAM J. Optim. 25, 882–915 (2015)
Sun, D.F., Toh, K.C., Yang, L.: An efficient inexact ABCD method for least squares semidefinite programming. SIAM J. Optim. 26, 1072–1100 (2016)
Sun, J., Zhang, S.: A modified alternating direction method for convex quadratically constrained quadratic semidefinite programs. Eur. J. Oper. Res. 207, 1210–1220 (2010)
Toh, K.C.: An inexact primaldual path following algorithm for convex quadratic SDP. Math. Program. 112, 221–254 (2008)
Toh, K.C., Tütüncü, R., Todd, M.: Inexact primaldual pathfollowing algorithms for a special class of convex quadratic SDP and related problems. Pac. J. Optim. 3, 135–164 (2007)
Yang, L., Sun, D.F., Toh, K.C.: SDPNAL+: a majorized semismooth NewtonCG augmented Lagrangian method for semidefinite programming with nonnegative constraints. Math. Program. Comput. 7, 331–366 (2015)
Zhao, X.Y.: A Semismooth NewtonCG Augmented Lagrangian Method for Large Scale Linear and Convex Quadratic SDPs, PhD thesis, Department of Mathematics, National University of Singapore (2009)
Zhao, X.Y., Sun, D.F., Toh, K.C.: A NewtonCG augmented Lagrangian method for semidefinite programming. SIAM J. Optim. 20, 1737–1765 (2010)
Author information
Authors and Affiliations
Corresponding author
Additional information
An earlier version of this paper was made available in arXiv as arXiv:1512.08872. The software that was reviewed as part of this submission has been issued the Digital Object Identifier https://doi.org/10.5281/zenodo.1206980.
D. Sun: On leave from Department of Mathematics, National University of Singapore. This author’s research is partially supported by a startup research grant from the Hong Kong Polytechnic University.
K.C. Toh: This author’s research is supported in part by the Ministry of Education, Singapore, Academic Research Fund under Grant R146000256114.
Appendix
Appendix
Along with the paper, we provide a Matlab implementation of our algorithm. The software package has been issued the Digital Object Identifier https://doi.org/10.5281/zenodo.1206980. Here, as a short users’ guide, we present some general description of the structure of our software.
Installation Qsdpnal is a Matlab software package developed under Matlab version 8.0 or above. It includes some C subroutines written to carry out certain operations for which Matlab is not efficient at. These subroutines are called within Matlab via the Mex interface. The user can simply follow the steps below to install Qsdpnal within Matlab:
 (a):

unzip QSDPNAL+v0.1.zip;
 (b):

run Matlab in the directory QSDPNAL+v0.1;
After that, to see whether you have installed Qsdpnal correctly, try the following steps:
In the above, startup.m sets up the paths for Qsdpnal in Matlab and qsdpdemo.m is a demo file illustrating how to solve a QSDP problem (31) in Qsdpnal.
Copyright Qsdpnal: A Matlab software for convex quadratic semidefinite programming with inequality, equality and bound constraints, is copyrighted in 2016 by Xudong Li, Defeng Sun and KimChuan Toh. The software Qsdpnal is distributed under the GNU General Public License 2.0. You can redistribute it and/or modify it under the terms of the GNU General Public License 2.0 as published by the Free Software Foundation Inc., 51 Franklin Street, Fifth Floor, Boston, MA 021101301, USA. For commercial applications that may be incompatible with this license, please contact the authors to discuss alternatives. This software is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.
Main function and data structure Qsdpnal is an extension of the solvers Sdpnal [34] and Sdpnal+ [33]. The internal implementation of Qsdpnal thus follows in part the data structures and design framework of the above two solvers. A casual user does not need to understand the internal implementation of Qsdpnal.
In the Qsdpnal solver, the main routine is qsdpnal.m, whose calling syntax is as follows:
Input arguments

blk: a cell array describing the conic structure of the QSDP problem.

Q, AEt, bE, C, AIt, bI: data of QSDP problem (31). If the linear map \(\mathcal{A}_I\) is not present, one can set AIt = [], bI = [].

options: a structure array of parameters.
Output arguments The names chosen for the output arguments explain their contents. The argument X is a solution to problem (31) up to the desired accuracy tolerance. The argument info is a structure array which records various performance measures of the solver. For example
correspond to the measures \(\eta _Z\), \(\eta _{I_1}\), \(\eta _{I_2}\) and \(\eta _{I_3}\) defined in (35), respectively. The argument runhist is a structure array which records the history of various performance measures during the course of running qsdpnal. For example,
record the primal and dual objective values, primal and dual infeasibilities at each iteration, respectively.
Data structure The format of the input data in Qsdpnal is similar to those in Sdpnal [34] and Sdpnal+ [33]. For problem (31), we set
where \({\bar{n}} = n(n+1)/2\) and the selfadjoint linear operator \(\mathcal{Q}\) is stored as a function handle which takes any matrix \(X\in \mathcal{S}^n\) as input and output the matrix \(\mathcal{Q}X\in \mathcal{S}^n\). For the sake of computational efficiency, following the same approach used in Sdpnal [34] and Sdpnal+ [33], we store the linear map \(\mathcal{A}_E\) in vectorized form as a single \({\bar{n}}\times m_E\) matrix AEt. The same procedure also applies to the linear operator \(\mathcal{A}_I\), i.e., AIt is stored in the same format as AEt. The data of the simple nonempty closed convex polyhedral set \(\mathcal{K}\) is encoded in the argument options. For example, if \(\mathcal{K}=\{ X\in \mathcal{S}^n\mid L\le X \le U\}\) with \(L,U\in S^n\) being given matrices, we set
The default is options.L = [], options.U = []. If \(\mathcal{K}= \{X\in \mathcal{S}^n\mid X\ge 0\}\), then one can simply set options.nonnegative = 1.
Apart from the information of \(\mathcal{K}\), various other parameters used in our solver qsdpnal.m are set in the structure array options. We list here the important parameters which the user is likely to reset.

options.stoptol: accuracy tolerance to terminate the algorithm, default is \(10^{6}\).

options.maxiter: maximum number of iterations allowed, default is 5000.

options.sGSstoptol: accuracy tolerance to use for QsdpnalPhase I (SCB_qsdp.m) when generating a starting point for the algorithm in the second phase of qsdpnal.m (default = \(10^{4}\)).

options.sGSmaxiter: maximum number of QsdpnalPhase I iterations allowed for generating a starting point (default = 1500).
Examples Next, we present two examples of using Qsdpnal for solving two QSDP problems in detail. The segment below illustrates how one can solve the instance be250.2 of QSDPBIQ problems.
The next example is using qsdpnal.m to solve the instance chr15c of QSDPQAP problems.
In the above codes, randQXfun generates the selfadjoint positive semidefinite linear operator \(\mathcal{Q}\) in (37) with randomly generated matrices \(A,B\in \mathcal{S}^n_+\).
Rights and permissions
About this article
Cite this article
Li, X., Sun, D. & Toh, KC. QSDPNAL: a twophase augmented Lagrangian method for convex quadratic semidefinite programming. Math. Prog. Comp. 10, 703–743 (2018). https://doi.org/10.1007/s1253201801376
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s1253201801376
Keywords
 Quadratic semidefinite programming
 Schur complement
 Augmented Lagrangian
 Inexact semismooth Newton method