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
- A library of objects, such as monomials, posynomials, and
generalized posynomials, to support the specification of GPs and
- A variety of examples.
- 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
- GGPLAB does not support dual variables. (The solver GPCVX,
- 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
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
Koh (solver), Seungjean Kim (solver),
Vandenberghe (original version of solver), and Stephen Boyd (general trouble
maker). Please report any bugs to email@example.com (objects) or
GGPLAB is distributed under the GNU General Public
The user guides are included in the toolbox, so you don't have to
download them separately.
Boyd's research group page.