1
$\begingroup$

I am trying to do a quadratic programming. I have an affinity matrix A, and I have to maximize certain function x'Ax. This is basically related to feature matching i.e matching points to labels

This is basically related to establish a connection between dominant sets in a weighted graph and local maximizers of the quadratic function

$maximize(f({x} = x^{T}A{x})$

subject to

$x \epsilon\Delta, \Delta:\sum_{j}x_j=1$

To solve this problem I found a method called replicator equation given by Pavan and Pelillo IEEE PAMI 2007

Once an initialization x(1) is given, the discrete replicator equation can be used to obtain a local solution $x^{*}$

$x_i(t+1) = x_i(t+1) \frac{(Ax(t))_i}{x(t)^TAx(t)}$

I get the right results when I use the replicator equation. However, when I try to solve it using matlab's quadprog function like this

X=quadprog(-A,[],[],[],Aeq,Beq,s);

I don't get the right values. Suppose I want to match 7 points with 7 labels, I define my affinity matrix and then use the above. However, using replicator equation I get the right results. But using just quadprog doesn't give me the right results. Any suggestions?

1 Answers 1

1

Do you require that the weights to be nonnegative? If so, you should also specify that in the function call. Without specification, the minimum (respectively, maximum) given by Matlab would be lower (resp. higher) than the true value.

  • 0
    Yeah, I have define that constraint in s2012-12-07