174 research outputs found
OSQP: An Operator Splitting Solver for Quadratic Programs
We present a general-purpose solver for convex quadratic programs based on
the alternating direction method of multipliers, employing a novel operator
splitting technique that requires the solution of a quasi-definite linear
system with the same coefficient matrix at almost every iteration. Our
algorithm is very robust, placing no requirements on the problem data such as
positive definiteness of the objective function or linear independence of the
constraint functions. It can be configured to be division-free once an initial
matrix factorization is carried out, making it suitable for real-time
applications in embedded systems. In addition, our technique is the first
operator splitting method for quadratic programs able to reliably detect primal
and dual infeasible problems from the algorithm iterates. The method also
supports factorization caching and warm starting, making it particularly
efficient when solving parametrized problems arising in finance, control, and
machine learning. Our open-source C implementation OSQP has a small footprint,
is library-free, and has been extensively tested on many problem instances from
a wide variety of application areas. It is typically ten times faster than
competing interior-point methods, and sometimes much more when factorization
caching or warm start is used. OSQP has already shown a large impact with tens
of thousands of users both in academia and in large corporations
Bad semidefinite programs: they all look the same
Conic linear programs, among them semidefinite programs, often behave
pathologically: the optimal values of the primal and dual programs may differ,
and may not be attained. We present a novel analysis of these pathological
behaviors. We call a conic linear system {\em badly behaved} if the
value of is finite but the dual program has no
solution with the same value for {\em some} We describe simple and
intuitive geometric characterizations of badly behaved conic linear systems.
Our main motivation is the striking similarity of badly behaved semidefinite
systems in the literature; we characterize such systems by certain {\em
excluded matrices}, which are easy to spot in all published examples.
We show how to transform semidefinite systems into a canonical form, which
allows us to easily verify whether they are badly behaved. We prove several
other structural results about badly behaved semidefinite systems; for example,
we show that they are in in the real number model of computing.
As a byproduct, we prove that all linear maps that act on symmetric matrices
can be brought into a canonical form; this canonical form allows us to easily
check whether the image of the semidefinite cone under the given linear map is
closed.Comment: For some reason, the intended changes between versions 4 and 5 did
not take effect, so versions 4 and 5 are the same. So version 6 is the final
version. The only difference between version 4 and version 6 is that 2 typos
were fixed: in the last displayed formula on page 6, "7" was replaced by "1";
and in the 4th displayed formula on page 12 "A_1 - A_2 - A_3" was replaced by
"A_3 - A_2 - A_1
Exact duality in semidefinite programming based on elementary reformulations
In semidefinite programming (SDP), unlike in linear programming, Farkas'
lemma may fail to prove infeasibility. Here we obtain an exact, short
certificate of infeasibility in SDP by an elementary approach: we reformulate
any semidefinite system of the form Ai*X = bi (i=1,...,m) (P) X >= 0 using only
elementary row operations, and rotations. When (P) is infeasible, the
reformulated system is trivially infeasible. When (P) is feasible, the
reformulated system has strong duality with its Lagrange dual for all objective
functions.
As a corollary, we obtain algorithms to generate the constraints of {\em all}
infeasible SDPs and the constraints of {\em all} feasible SDPs with a fixed
rank maximal solution.Comment: To appear, SIAM Journal on Optimizatio
- …