Optimization Problem with Inverse Matrix
Ältere Kommentare anzeigen
Hi,
I have a problem on maximizing a function of an inverse of a matrix which entries contain the maximization variable.
As an example, suppose that I want to maximize a'*inv(M(x))*a with respect to x, where a is nx1, and M(x) is an nxn matrix with elements as a function of x.
The optimization algorithm might lead M(x) to be singular, i.e. inv(M(x)) is not defined at all x. The optimization then stops.
So I am wondering if there is any optimization algorithm to solve such problem.
Thank you very much.
Antworten (1)
John D'Errico
am 15 Nov. 2020
0 Stimmen
Of course, the simple answer to this question is you are trying to use the wrong algorithm.
If you want to find the vector a, such that a'*inv(M(x))*a is maximized, then you want to work with the eigenvectors of the matrix M. That is, the vector you want to find is simply the eigenvector corresponding to the SMALLEST eigenvalue of M. If M is singular, then ANY eigenvector that lives in the nullspace of M will suffice. (In case there are multiple effectively zero eigenvalues.)
But there is no optimization needed.
Kategorien
Mehr zu Choose a Solver finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!