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?


closed as off-topic by Scott Morrison Sep 3 '13 at 0:20

  • This question does not appear to be about research level mathematics within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\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