Generalized Geometric Programming

版本 1.0.0.0 (4.4 KB) 作者: dhanaa
Generalized Geometric Programming Solver
162.0 次下载
更新时间 2017/5/23

查看许可证

Generalized Geometric Programming (GGP) Solver for Matlab users
For original paper, please refer to http://maranas.che.psu.edu/pub/1997/Maranas_and_Floudas,_Computers_and_Chem._Eng.,_1997.pdf

GGP here means the coefficient before monomials can be negative, which makes the GP non-convex. The definition of GGP here is different from that in other sources like Boyd's toolbox.

Take a simple example. The following problem is non-convex in terms of x,y:

min x

subject to

0.25 * x + 0.5 * y - (1/16) * x^2 - (1/16)*y^2 -1 <= 0

(1/14) * x^2 + (1/14) * y^2 + 1 -(3/7) * x - (3/7) * y <=0

1 <= x <= 5.5

1 <= y <= 5.5
To use the solver, we have to transform the problem:

% use vector to represent monomial
% use struct to represent each line (including objective function)
We express objective function as:

obj.positive = [1 1 0];
obj.negative = 0;
We express constraint 1 as:

con1.positive = [0.25 1 0; 0.5 0 1];
con1.negative = [1/16 2 0; 1/16 0 2; 1 0 0];
We express constraint 2 as:

con2.positive = [1/14 2 0; 1/14 0 2; 1 0 0];
con2.negative = [3/7 1 0; 3/7 0 1];
We stack all constraint inequalities:

constraint = [con1, con2]; % stack all constraints
We need some global upper and lower bounds for variables:

lowerbound = [1, 1]; % global bounds for variables
upperbound = [5.5, 5.5];
We also tell the Solver the number of unknowns

N = 2; % number of variables
Lastly, we can call the solver:

[obj, var] = GGPSolver(N, obj,constraint,lowerbound,upperbound);

引用格式

dhanaa (2026). Generalized Geometric Programming (https://ww2.mathworks.cn/matlabcentral/fileexchange/63067-generalized-geometric-programming), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R2014a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Global or Multiple Starting Point Search 的更多信息
版本 已发布 发行说明
1.0.0.0