📄 geometricex.m
字号:
clc
echo on
%*********************************************************
%
% Geomtric programming
%
%*********************************************************
%
% Geometric programming is optimization involving nonlinear
% terms with non-integer and negative powers.
%
% MOSEK can be used to solve a special class of this, so
% called posynomial geometric programming where all coefficients
% in the objective function and the constraints are positive, and
% the decision variables are constrained to be non-negative)
pause
% To define these problems, we first note that we can define
% variables with negative and non-integer powers
%
% (note, only scalar unit sdpvar variables can be raised to negative
% and non-integer powers. Hence (1+x)^pi is not a valid command)
x = sdpvar(1,1);
degree(x^pi)
pause
% The following example is taken from the MOSEK manual
% (note, non-negativity does not need to be specified)
t1 = sdpvar(1,1);
t2 = sdpvar(1,1);
t3 = sdpvar(1,1);
obj = (40*t1^-1*t2^-0.5*t3^-1)+(20*t1*t3)+(40*t1*t2*t3);
F = set((1/3)*t1^-2*t2^-2+(4/3)*t2^0.5*t3^-1 < 1);
pause
% Standard call to solve problem
solvesdp(F,obj)
pause
echo off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -