# TOMLAB  
# REGISTER (TOMLAB)
# LOGIN  
# myTOMLAB
TOMLAB LOGO

« Previous « Start » Next »

25  GP Problem

Geometric programming problems are a set of special problems normally solved with TOMLAB /GP. The optimum is commonly non-differentiable. Problems are modeled on the primal form, but the dual is entered and solved.

The primal geometric programming problem is defined as:

 
(GP) VGP:= minimize  g0(t)  
    subject to gk(t) ≤ 1, k = 1,2,…, p
      ti > 0, i = 1,2,…, m
        (27)
where
g0(t) =
n0
Σ
j=1
cj t1a1j ... tmamj  
    (28)
gk(t) =
nk
Σ
j= nk−1 +1
cj t1a1j ... tmamj,   k = 1,2,…, p.  
    (29)
Given exponents aij for the ith variable in the jth product term, i=1,…, m and j=1,…,np, are arbitrary real constants and term coefficients cj are positive.

Example problem:

(P1) min   5x1 + 50000x1−1 + 20x2 + 72000x2−1 + 10x3 + 144000x3−1
 
  subject to 4x1−1 + 32x2−1 + 120x3−1 <= 1
 
    x ≥ 0


The following file defines and solves the problem in TOMLAB.

File: tomlab/quickguide/gpQG.m

Open the file for viewing, and execute gpQG in Matlab.
% gpQG is a small example problem for defining and solving
% geometric programming problems using the TOMLAB format.

nterm = [6;3];
coef = [.5e1;.5e5;.2e2;.72e5;.1e2;.144e6;.4e1;.32e2;.12e3];
A = sparse([ 1  -1  0   0  0  0 -1  0  0;...
             0   0  1  -1  0  0  0 -1  0;...
             0   0  0   0  1 -1  0  0 -1])';

Name  = 'GP Example';  % File gpQG.m

% Assign routine for defining a GP problem.
Prob = gpAssign(nterm, coef, A, Name);

% Calling driver routine tomRun to run the solver.
% The 1 sets the print level after optimization.

Result = tomRun('GP', Prob, 1);

« Previous « Start » Next »