Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Use GlobalSearch with another local solver.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I would like to use GlobalSearch with a local solver I wrote myself and not with fmincon. Is there a way to do that? Could I somehow shade fmincon with my solver? Do you know of another (free and if possible open source) solver where I could use my own local solver?
To be more specific about my problem: I want to solve a magnitude least square problem (this is the name used in the MRI-community, is there another name for it?), i.e. I want to find min_x |abs(Ax)-b|^2_2 where A is a complex matrix, x a complex vector and b a real vector. The size of this variables are in my case approximately size(A)=(5000 30), size(x)=(30 1) and size(b)=(30 1).
For local optimization it is faster to use the variable exchange methode (<http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-64.pdf>) than using fmincon: Variable exchange methode means solving instead min_x,z sum_{i=1}^m|A_i x-b_i z_i|^2 where z is a variable containing phases by solving alterantely for x (which is a linear least square problem) and adapting the phase z.
My current strategie is to do first a global search using "GlobalSearch" and putting some additional constraints on x (which I found prevent the solver to fall in local minima) and use the result as a starting point for a local search with the Variable exchange methode. In 90% of the cases this works OK and needs about 10 min. The output of GlobalSearch tells me that quite often the local solver has not converged. At the moment I am playing around with the options for fmincon. But I would like to test if GlobalSearch would not run faster, using the variable exchange methode instead of fmincon.
Thanks in advance for your help.
0 Kommentare
Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!