Semidefinite programming is a subtopic of convex optimization. Convex optimization refers to minimization of a convex function subject to a set of convex constraints. Semidefinite programming involves minimization of a linear objective function over the intersection of linear constraints and the cone of positive semidefinite matrices. Clearly, semidefinite programming is a special case of convex optimization.
Many computer vision problems can be formulated as convex optimization problems. The main advantage of convex optimization is that if a local minimum exists, then it is also a global minimum. In other words, the convexity guarantees to attain the global optimum if it exists.
In a semidefinite programming problem, one minimizes a linear function subject to the constraint that an affine combination of symmetric matrices is positive semidefinite. Semidefinite programming unifies a few standard problems...
- 2.Nesterov Y, Nemirovsky A (1988) A general approach to polynomial time algorithms design for convex programming. Technical report, USSR Acad Sci, Moscow, USSRGoogle Scholar
- 6.. Grant M, Boyd S (2011) CVX: matlab software for disciplined convex programming, version 1.21. http://cvxr.com/
- 7.Löfberg J (2004) YALMIP: a toolbox for modeling and optimization in MATLAB. Proceedings of the IEEE symposium on computer-aided control system design, Taipei, TaiwanGoogle Scholar
- 9.Goemans MX, Williamson DP (1994) $.879$-approximation algorithms for max cut and max 2SAT. Proceedings of the ACM symposium on theory of computing. ACM, New York, pp 422–431Google Scholar