Disciplined convex programming error: Cannot perform the operation norm( {convex}, 1 )

Hello, I’m just getting started with the cvx toolbox in few days, can you help me? I want to optimize this formula:

I write code with matlab,but an error has occurred,I can’t solve this problem.
The Code:
Vmax = 50;
***Vmin = 3; ***
amax = 10;
delta = 10;


VI = [10,0];

cvx_solver mosek

variable yita
variable t

minimize yita

subject to
*** norm(2*(qF-qI) * inv_pos(t)-2VI,1)<=yita;**
*** tmin<=t<=tmax;***

Matlab tell me that it’s a DCP error,But I don’t know how to correct it.

Would you like to show the correct Code?Thank you very much

It could work in one dimension if you had enough control over the ranges and signs of different expressions to be able to omit the norm, but it is not convex in full generality without such restrictions.

If q,v are to be higher-dimensional then it looks completely nonconvex.

Following up on @Michal_Adamaszek 's post, please read

thank you so much,I figure out a new code,but I don’t know it is rigth or false.
I use: pos(2*(qF-qI) * inv_pos(t)-2 * VI)<=yita
instead of: norm(2*(qF-qI) * inv_pos(t)-2VI,1)<=yita
Is it right?
Thank you again.

Your constraint is non-convex. Your attempts at convex alchemy are doomed to failure. If you find a formulation CVX accepts, that means it does not correctly implement the constraint. If you “correctly” formulate in a way which would be correct other than violating CVX’s DCP rules, then it will violate CVX’s DCP rules.

Please re-read the link posted above.

1 Like

thank you,I will read the post again