Semidefinite proramming

June 30, 2019 — July 24, 2023

“The most generalised version of convex programming”.


Figure 1

1 Intros

(Freund 2004; Vandenberghe and Boyd 1996)

Convex Optimization and Euclidean Distance Geometry 2ε by Jon Dattoro.

2 Tools

Handy tool for some problems:

  • GENO (Soeren Laue, Mitterreiter, and Giesen 2019; Sören Laue, Blacher, and Giesen 2022)

    GENO provides optimization solvers for everyone. You can enter your optimization problem in an easy-to-read modeling language in the code editor below. Python code is then generated automatically that can solve this class of optimization problems on the CPU or on the GPU. The automatically generated solvers are often as fast as handwritten, specialized solvers…

    The GENO solver combines an Augmented Lagrangian approach with a limited memory quasi-Newton method (L-BFGS-B) that can handle also bound constraints on the variables. Quasi-Newton methods are very efficient for problems involving thousands of optimization variables. The GENO solver is then instantiated by the automatically generated methods for computing function values and gradients that are provided by this website to solve the specified class of optimization problems. This approach is very well suited for optimization problems originating from classical machine learning problems.

3 References

Freund. 2004. Introduction to Semidefinite Programming.”
Laue, Sören, Blacher, and Giesen. 2022. Optimization for Classical Machine Learning Problems on the GPU.” In Proceedings of the AAAI Conference on Artificial Intelligence.
Laue, Soeren, Mitterreiter, and Giesen. 2019. GENO – GENeric Optimization for Classical Machine Learning.” In Advances in Neural Information Processing Systems.
Vandenberghe, and Boyd. 1996. Semidefinite Programming.” SIAM Review.