The convex-concave optimization algorithm

advertisement
The convex-concave optimization
algorithm
Prof. Etienne de Klerk
Subject
The convex-concave algorithm is a particularly simple technique for nonlinear optimization. The
basic idea is to write each nonlinear function as the sum of a convex and concave function, and then
linearize the concave function at a fixed point. In this way one may solve a sequence of convex
optimization problems to obtain an approximate solution of the original problem. An easy introduction
to the topic is the paper:
“Variations and Extension of the Convex-Concave Procedure”, available at
http://web.stanford.edu/~boyd/papers/pdf/cvx_ccv.pdf
Objective
Implement and evaluate the convex-concave algorithm on practical nonlinear optimization problems,
for example portfolio optimization problems and pooling problems (used in oil refinery and
wastewater management).
Procedure
1.
2.
3.
4.
5.
Study the literature to understand the ideas behind the algorithm as well as the limitations.
Implement the algorithm in Matlab or some other platform (like AIMMS).
Test your implementation on an applied nonlinear optimization problem of your choice.
Compare your results to results obtained from other methods.
If time allows, consider different ways of decomposing the nonlinear functions, as detailed in
the recent paper:
“DC Decomposition of Nonconvex Polynomials with Algebraic Techniques”, available at
http://arxiv.org/pdf/1510.01518.pdf
Learning goals
•
•
•
Practice the computer implementation of algorithms.
Learn about basic techniques for nonlinear optimization, particularly the convex-concave
procedure.
Learn to analyze results for your chosen test problems critically in terms of correctness and
usefulness.
Download