Hi, everyone. I am working on using the cvx for maximizing the problem. The objective function is convex and the constraints are also convex, but it doesn’t work in Matlab.
cvx_solver mosek
cvx_begin
variable t1
variable t2
variable p1
variable p2
maximize log(0.5*exp(t1))+log(0.3*exp(t2))-0.1*(exp(p1)+exp(p2))
subject to
exp(t1)>=4
log(0.5*exp(-p1)+0.21*exp(p2-p1))+log(2^exp(t1)-1)<=0
log(0.3*exp(-p2)+0.31*exp(p1-p2))+log(2^exp(t2)-1)<=0
exp(p1)<=3
exp(p2)<=3
cvx_end
but it shows:
Disciplined convex programming error:
Illegal operation: log( {convex} ).
error Untitled2 (line 12)
log(0.5exp(-p1)+0.21exp(p2-p1))+log(2^exp(t1)-1)<=0
It seems like cvx doesn’t accept log(2^exp(t1)-1). Is there any form to approximate it. or some other way out for this problem?
Thank you for your help.