I’ve run an optimization using the norm function in the constraints. I set the dimension of my unknown variables to be 1632, and it returns a vector of 1632 in the end. But in the command window, it shows “Calling SDPT3 4.0: 1650 variables, 119 equality constraints”. I’ve tried different solvers and they all give unmatched dimensions, though with different numbers. And when the norm function is removed, the problem is gone. Why is that?
My code looks like:
cvx_clear
cvx_begin
variable theta(1632)
dual variables lambdaEq lambdaEq2 lambdaIneq
maximize( A * theta )
subject to
lambdaEq: norm(B * theta - p)<=0.001;
lambdaEq2: one * theta == ones(K*dim_x,1);
lambdaIneq: theta >= zer;
cvx_end
Calling SDPT3 4.0: 1650 variables, 119 equality constraints
num. of constraints = 119
dim. of socp var = 17, num. of socp blk = 1
dim. of linear var = 1633
…
Thanks for your help!