« 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) |
= |
|
(28) |
gk(t) |
= |
|
|
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 »