Indexed dual variables


(Saeed) #1

In the instruction of CVX, a problem has been coded to solve multiple equalities so I coded my problem which have some lorentz cones in a for loop. However, it doesn’t work?

I have the following constraints:

for i=1:nbr

{ [ 2P(i) 2Q(i) ( l(i) - vms(i) ) ]’ , l(i) + vms(i) } lorentz(3) : y2{i}

end
where P, Q, vms, and l are optimization variables.

Running CVX for getting y2 (dual variable vector) does not give me the vector and says:

Undefined operator ‘:’ for input arguments of type ‘cvxtuple’.

  { [ 2*P(i) 2*Q(i) ( l(i) - vms(i) ) ]' , l(i) + vms(i) } <In> lorentz(3) : y2{i}

I think it is because of the fact that there are optimization variables at both sides of this inequality since when I changed my constraints to

for i=1:nbr

norm ( [ 2P(i) 2Q(i) ( l(i) - vms(i) ) ] ) - ( l(i) + vms(i) ) <= 0 : y2{i}
end
It works.
Now my question is whether there exist a way to put lorentz cones into the for loop?