I am trying to implement the following optimization (from this paper) in Matlab using fmincon:

$\min_\omega\omega'\Sigma\omega$ subject to $\min_Ur_p \geq r_0$

where $\Sigma$ is a positive definite matrix and $\omega$ is a vector of weights that sum to 1. Also, we have $r_p=\alpha'\omega$ and $U$ is the circle centred at $\alpha$ with radius equal to $|\chi|\alpha$ for $\chi$ between 0 and 1.. The authors of the paper show that:

$\min_Ur_p=|\alpha||\omega|[cos(\phi)-\chi]$ where $\phi$ is the angle between the two vectors $\alpha$ and $\omega$.

Any ideas how to implement this using matlab?

  • $\begingroup$ Your constraint doesn't make sense as stated. Are you trying to say something like $$\min_{\chi\in[0,1]} |\alpha||\omega|[\cos\phi - \chi]=r_p$$ for some given $r_p$? Is $\Sigma$ positive semidefinite? Who are "the authors"? If this is a convex problem, you're probably much better off using cvx rather than fmincon. $\endgroup$ – John Gunnar Carlsson Feb 3 '13 at 3:30
  • 1
    $\begingroup$ The poster has also put this same question up on scicomp.stackexchange.com, where she's somewhat more likely to get a useful answer, provided that she can clarify the question. $\endgroup$ – Brian Borchers Feb 3 '13 at 4:19
  • $\begingroup$ Hi there, I seem to have left out a minor detail in my initial post. I have corrected this now. $\endgroup$ – Geraldine Bailey Feb 3 '13 at 12:48
  • 1
    $\begingroup$ Duplicate of scicomp.stackexchange.com/questions/5177/… $\endgroup$ – Scott Morrison Sep 3 '13 at 0:19