SearcharxivSearch

arXiv subjects

Daniel Porumbel

Publications and source records attributed to Daniel Porumbel.

2 recordsLinked to original sources

Semidefinite Programming by Projective Cutting Planes

Seeking tighter relaxations of combinatorial optimization problems, semidefinite programming is a generalization of linear programming that offers better bounds and is still polynomially solvable. Yet, in practice, a semidefinite program is still significantly harder to solve than a similar-size Linear Program (LP). It is well-known that a semidefinite program can be written as an LP with infinitely-many cuts that could be solved by repeated separation in a Cutting-Planes scheme; this approach is likely to end up in failure. We proposed in [Projective Cutting-Planes, Daniel Porumbel, Siam Journal on Optimization, 2020] the Projective Cutting-Planes method that upgrades t he well-known separation sub-problem to the projection sub-problem: given a feasible $y$ inside a polytope $P$ and a direction $d$, find the maximum $t^*$ so that $y+t^*d\in P$. Using this new sub-problem, one can generate a sequence of both inner and outer solutions that converge to the optimum over $P$. This paper shows that the projection sub-problem can be solved very efficiently in a semidefinite programming context, enabling the resulting method to compete very well with state-of-the-art semidefinite optimization software (refined over decades). Results suggest it may the fastest method for matrix sizes larger than $2000\times 2000$.

math.OC

Demystifying the characterization of SDP matrices in mathematical programming

This manuscript was written because I found no other introduction to SDP programming that targets the same audience. A first difference compared to other existing introductions to SDP is that this work comes out of a mind that was itself struggling to understand. This may seem to be only a weakness, but, paradoxically, it is both a weakness and a strength. First, I did not try to overpower the reader, but I tried to minimize the distance between the author and the reader as much as possible, even hoping to achieve a small level of mutual empathy. This enabled me avoid a quite common pitfall: many long-acknowledged experts tend to forget the difficulties of beginners. Other experts try to make all proofs as short as possible and to dismiss as unimportant certain key results they have seen thousands of time in their career. I also avoided this, even if I did shorten a few proofs when I revised this manuscript two years after it was first written. However, I also kept certain proofs that seem longer than necessary because I feel they offer more insight; an important goal is to capture the "spirit" of each proven result instead of reducing it to a flow of formulae. The very first key step towards mastering SDP programming is to get full insight into the eigen-decomposition of real symmetric matrices. It is enough to see the way many other introductions to SDP programming address this eigen-decomposition to understand that their target audience is different from mine. They often list the eigen-decomposition without proof, while I give two proofs to really familiarize the reader with it.

math.OC