How to index lmi constraints?

1 view (last 30 days)
Abdul
Abdul on 22 Mar 2014
Answered: Johan Löfberg on 1 Apr 2014
Dear Sir/Madam I have a nx1 index set Code for sdpvar object K and want to constrain elements of K to be pairwise distinct. I am using yalmip with the following constaint. F =[F, implies(a1, K(i)-K(ii)<= -.5*rand(1)), implies(a2, K(i)-K(ii) >= .5*rand(1)), a1+a2==1]; where a1 and a2 are binary. I want to include this constraint inside nested loops for all pairs (i,ii) with ii>i both belonging to Code. What is the easiest way to do this preferably in a vectorized manner?

Accepted Answer

Johan Löfberg
Johan Löfberg on 1 Apr 2014
Something like this would be a complete vectorization
n = 3;
[i,ii] = find(triu(ones(n),1));
index = sub2ind([n n],i,ii)
a1 = binvar(length(i),1);
a2 = binvar(length(i),1);
K = sdpvar(n);
F = [implies(a1, K(index) <= -0.1), implies(a2, K(index) >= 0.1), a1 + a2 == 1]

More Answers (0)

Categories

Find more on Linear Matrix Inequalities in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!