cGOP, constrained global optimization

The version of the cGOP package available under the above URL is a beta-test version, and can be used to solve problems with an objective function of the form a^Tx+b^Ty+x^TAy+f_1(x)+f_2(y) with convex f_1, f_2, and linear constraints. A future version for more general constraints is promised.

From: Vishy Visweswaran 
Subject: cGOP - A New Package for Global Optimization
Date: Wed, 20 Mar 1996 20:23:59 -0500 (EST)


We are pleased to announce the availability of cGOP, a new software
package for solving structured global optimization problems. A description
of the package follows, along with instructions on how to retrieve, install
and use the package. 

Dr. V. Visweswaran                   (Email:
Professor C. A. Floudas              (Email:
Computer-Aided Systems Laboratory    (WWW:
Department of Chemical Engineering
Princeton, NJ 08544


cGOP is a package for rigorously solving nonconvex optimization
problems to epsilon-global optimality. The package implements the GOP
algorithm (Floudas and Visweswaran, 1993) which is a primal-dual
decomposition algorithm applicable to general constrained biconvex
problems, using a set of C subroutines to solve these problems
using decomposition and branch-and-bound techniques. It also
incorporates several improvements made to the original GOP algorithm
to reduce the computational complexity (Visweswaran and Floudas,
1993) as well as new formulations that permit implicit
solutions of some of the subproblems encountered during the
algorithmic steps (Visweswaran and Floudas, 1996).  The algorithms
use local optimization solvers (currently MINOS 5.4 and CPLEX 3.0)
to solve linear, mixed-integer linear and convex subproblems.  This
version of the cGOP package is a beta-test version, and can be used
to solve problems with linear constraints. Problems can be specified
using data files written in a high-level parsed language that
permits their solution without re-compilation, and also using
fixed-format data files. In addition, the package can be used via
calls to C subroutines.  cGOP has been in use at the Computer-Aided
Systems Laboratory in Princeton University for the last two years,
and has been used to solve problems involving several hundred
variables and constraints. Currently, versions are available for
Hewlett-Packard, Silicon Graphics and IBM RS6000 machine architectures.

This is a beta-test version of the software, and is being released
for use by academic researchers. A full version with the ability
to solve nonlinearly constrained problems will be made available
in the future.  Commercial sites wishing to use this product should
contact one of the authors directly.


The cGOP package is available through anonymous FTP from To retrieve the current version, perform the
following steps:

(1) Login in via anonymous ftp to, using the
    user name "anonymous" and giving your email address as the password.
    The package is located in "pub/cGOP", and has three components - 
    (a) cGOP.tar.Z, which contains the main libraries and examples,
    (b), which contains documentation for cGOP, and
    (c), documentation for cparse, a high level parser that
        can be used to enter the problems for cGOP in an easy format.
    Make sure to set file type to binary before retrieving the files.

    Below, we show a sample session of using anonymous ftp:

    unix> ftp
    Name:      anonymous
    Password:  yourname@yourmachine.yourdomain
    ftp> cd pub/cGOP
	ftp> type binary
    ftp> get cGOP.tar.Z
    ftp> get
    ftp> get
    ftp> quit

(2) Select a directory where you want to store the distribution. Go to
    that directory, then:

    prompt> uncompress cGOP.tar.Z
    prompt> tar -xf cGOP.tar

    This will create a subdirectory called "Gop" under the current directory,
    and put the distribution there.

(3) Uncompress and print out the manuals, and These
    contain full instructions for installing and using cGOP and the parser.

(4) Look at the directories "cparse", "examples" and "callable". These
    contain example files that show how cGOP can be used through data files
    or using calls to C subroutines.

(5) If you do retrieve the package, please send us an e-mail at with a brief description of the machine 
    you intend to run it on. This will help us to keep you informed of 
    updates, bug fixes etc.
If you have any difficulty getting the files, please send us an e-mail 
at and we will be happy to assist you in obtaining
the software.