Minimizing concave function


(Mohammad) #1

Hi,

How to minimize a concave function in CVX? Is it possible to maximize its convex counterpart?

Thanks.


(Erling D.Andersen) #2

CVX applies to convex problems. Minimizing a concave function is nonconvex or?


(Mohammad) #3

Thank you so much for your reply.

I am going to solve the following nonlinear constraint optimization problem using MATLAB. I was wondering if you could please help me how to do that,

minimize -trace(W^-1)
subject to
(A-B1k)W+W(A-B1k)ā€™=-B2B2ā€™;
sqrt(trace(Cā€™WC)) <= 1;
max(eig(A-B1k)) <= -1;
A, B1 and B2 are known matrices and k is the unknown 2
2 matrix. (W is also a 2*2 matrix). Either fmincon or CVX would be find to use.

I wrote the following code but got error,

function [c,ceq] = constr(k)
c(1) = (A-B1*k)*W+W*(A-B1*k)'+B2*B2';
c(2) = sqrt(trace(C'*W*C))-1;
c(3) = max(eig(A - B1*k))+1;
ceq = [];
end
clc
clear
close all
A = [-1 0
     0 -2];
B1 = eye(2);
B2 = eye(2);
C = eye(2);
g2 = 3; g3 = -1;
x0=[1;1];
A=[];
b=[];
Aeq=[];
beq=[];
lb=[];
ub=[];
nonlcon = @constr;
fun = @(k)(-trace(inv(W)));
k = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

Thanks a lot.


(Mark L. Stone) #4

fmincon is outside the scope of this forum. You can try asking for help on that at https://www.mathworks.com/matlabcentral/answers/index?s_tid=mlc_an_ask .