The following code segment generates and solves a random instance of this model:
m = 20; n = 10; p = 4; A = randn(m,n); b = randn(m,1); C = randn(p,n); d = randn(p,1); e = rand; cvx_begin variable x(n) minimize( norm( A * x - b, 2 ) ) subject to C * x == d norm( x, Inf ) <= e cvx_end
CVX also supports geometric programming (GP) through the use of a special GP mode. Geometric programs are not convex, but can be made so by applying a certain transformation. In this mode, CVX allows GPs to be constructed in their native, nonconvex form, transforms them automatically to a solvable convex form, and translates the numerical results back to the original problem.
More information about CVX can be found in the CVX Users’ Guide (pdf, 348KB).
The CVX package includes a growing library of examples to help get you started, including examples from the book Convex Optimization and from a variety of applications. You can browse through this library now — without having to download and install CVX — by clicking here.
CVX was designed designed by Michael Grant and Stephen Boyd, with input from Yinyu Ye. The original version was developed and hosted at Stanford University. Since Michael’s departure from Stanford, the software has undergone significant revision and improvement, and is now hosted at CVX Research, Michael’s professional web site.
No comments:
Post a Comment