I have a really tricky optimization problem to run in Matlab, and I hope somebody could help.
I have a NxN matrix M (which is symmetric and dense, it is a correlation matrix if this helps) which is uncertain but bounded (Mmin < M < Mmax), and I know the bounds.
I have to consider the last n eigenvalues (so, having all the N eigenvalues of the matrix, I discard the (N-n) bigger ones).
What I need is to run two constrained optimization problems to find the two sets of this n eigenvalues within all the possible matrices M, Mmin < M < Mmax, which respectively, maximize and minimize the values of all the n eigenvalues (i.e. the set of n eigenvalues, discarding the N-n bigger ones, for which each eigenvalue is as large/small as possible). I know that this can be done with some special kind of genetic algorithm considering that the eigenvalues are real.
The problem is that my matrix is something like 2000x2000 and I discard the 4 biggest eigenvalues, so I would like to build some kind of computationally efficient code.
Any suggestions on how to make this would be really appreciated. Thanks in advance
J.