## GGPLAB: A Simple Matlab Toolbox for Geometric Programming

### Version 1.00 (May 22, 2006)

GGPLAB is a Matlab-based toolbox for specifying and solving geometric programs (GPs) and generalized geometric programs (GGPs). It is intended to complement the survey paper A Tutorial on Geometric Programming, and the book Convex Optimization.

GGPLAB consists of

• GPCVX, a primal-dual interior-point solver for GP (in convex form) and a wrapper, GPPOSY, that accepts GPs in posynomial form.
• A library of objects, such as monomials, posynomials, and generalized posynomials, to support the specification of GPs and GGPs.
• A variety of examples.

Some caveats:

• The convex optimization toolbox CVX now supports GP. We recommend CVX for large or complex problems; we recommend GGPLAB, on the other hand, for learning the basics of GP.
• The solver GPCVX supports sparse problems, but is not designed for very large scale problems.
• Object manipulation overhead can make GGPLAB slow on larger problems.
• GGPLAB does not support dual variables. (The solver GPCVX, however, does.)
• To use GGPLAB you need Matlab 6.1 or later.

The GGPLAB toolbox includes a variety of worked-out examples to help you get started and learn about geometric programming and its applications. Some examples reproduce figures from the book Convex Optimization or referenced papers. All of these examples can also be found in the CVX library.

You can browse through the examples library now without having to download and install GGPLAB. Of course, if you wish to run any of the examples, you will have to download the GGPLAB toolbox.

GGPLAB was designed and implemented by Almir Mutapcic (object library), Kwangmoo Koh (solver), Seungjean Kim (solver), Lieven Vandenberghe (original version of solver), and Stephen Boyd (general trouble maker). Please report any bugs to almirm@gmail.com (objects) or deneb1@stanford.edu (solver).