# SDPpack: A package for semidefinite-quadratic-linear programming (SQLP)

Background Semidefinite Programming (SDP) is an extension to linear programming, where the goal is to minimize a linear objective function of a symmetric matrix subject to linear constraints on the matrix, and a cone constraint that requires the matrix to lie in the cone of positive semidefinite matrices. SDP has applications ranging from control theory to combinatorial optimization and optimal design of mechanical structures. Several exciting theoretical advances have been made in this field in the last five years or so. To learn more about SDP, check out the NEOS blurb and our collection of SDP resources, which includes links to other pages on SDP, a partial list of researchers, related meetings and conferences, journals, newsgroups, and FAQ's.

What is SDPpack? SDPpack Version 0.9 beta runs under Matlab 5.0. This version extends the previous release for semidefinite programming (SDP) to mixed semidefinite-quadratic-linear programs (SQLP), i.e. linear optimization problems over a product of semidefinite cones, quadratic cones and the nonnegative orthant. Together, these cones make up all possible homogeneous self-dual cones over the reals. The main routine implements a primal-dual Mehrotra predictor-corrector scheme based on the XZ+ZX search direction.

The latest release of SDPpack is Version 0.9 beta.

This page contains links to the complete distribution, binaries for some platforms, user guide, and a suite of test problems. Download the version you want from the tables below.

 Version 0.9 BETA Solves SQLP's over the non-negative orthant, the semidefinite cone and the quadratic cone with a primal-dual interior-point predictor-corrector method using the XZ+ZX search direction. Includes routines to solve special types of semidefinite programs such as diagonally constrained and Lovasz theta function problems, using the XZ method. Works within the Matlab (Version 5.0) environment (optionally needs a C compiler to build MEX files for improved performance). Authors Farid Alizadeh, Jean-Pierre A. Haeberly, Madhu V. Nayakkankuppam, Michael L. Overton and Stefan Schmieta Release date June 26, 1997. See also the change log file. Distribution Complete UNIX distribution (sdppack.tar.gz) (does not contain MEX files) Complete Windows NT / 95 distribution (sdppack.zip) (includes compiled .dll files) Complete MacOS (PowerPC) distribution (sdppack.sea.hqx) (self-extracting archive includes compiled .mex files) Benchmarks Sparc Ultra II User Guide HTML, DVI and PostScript MEX binaries AIX (RS6000) IRIX 6.2 (R10000/8000) IRIX 6.3 (R5000) IRIX 5.3 (R4400/4000) SunOS 4.1.4 (Sparc) SunOS 5.5.1 (Sparc) Windows NT / 95 (x86) Test problems LMI, Truss, and Steiner tree problems

 Version 0.8 BETA Solves semidefinite programs with a primal-dual interior-point predictor-corrector method using the XZ+ZX search direction. Includes routines to solve diagonally constrained and Lovasz theta function problems, using the XZ method. Works within the Matlab (Version 4.2c.1 or better) environment (optionally needs a C compiler to build MEX files for improved performance). Authors Farid Alizadeh, Jean-Pierre A. Haeberly, Madhu V. Nayakkankuppam and Michael L. Overton Release date March 28, 1997. See also the change log file. Distribution Complete UNIX distribution (sdppack.tar.gz) (does not contain MEX files) Complete Windows NT / 95 distribution (sdppack.zip) (contains compiled .dll files) Benchmarks IRIX 6.2 (R10000) User Guide HTML, DVI and PostScript MEX binaries IRIX 6.2 (R10000/R8000) IRIX 5.3 (R4000/R4400) AIX (RS6000) SunOS 4.1.4 (Sparc) Sun OS 5.5.1 (Sparc) Windows NT / 95 (x86) Test problems LMI and Truss problems

Feedback and Bug Reports: The authors would like to hear your feedback and suggestions via email. The authors also welcome contributions of difficult test problems from application areas. If you are sending test problems, please formulate them as described in the SDPpack user manual and send us either mat files or ASCII files in the format described in the SDPpack user manual. A single data file may be emailed directly, but multiple files must be archived, compressed, encoded and emailed as a single file (avoid MIME encoding, please). If you are sending a bug report via email, please be sure to include the version, your platform and the exact data which causes the bug to show up. You can also use our Bug Report Submission Form.

Coming soon : A stand-alone, fast C version based on LAPACK, coming soon to a web site near you!

Copyright © 1997. All rights are reserved by the authors; restrictions in the copyright notice in each release also apply. SDPpack is software provided on an "as is" basis -- no warranties, express or implied. In particular, the authors make no representation about the merchantability of this software or its fitness for any specific purpose. For research and noncommercial use:

• this software is available free of charge;
• permission is granted to modify this software provided every distribution or copy of the modified software contains a clear record of the modifications;
• permission is granted to use, copy or distribute this software or modifications theoreof free of charge, provided the copyright message in each release is preserved in each copy or distribution;
• any publication resulting from research that made use of this software should cite this package.

Last revised July 29, 1997.