Multiple solutions using fsolve and fmincon

I used four known parameters (origional parameters) and performed some calculations using fsolve and fmincon to fit the data (final data set) and it works very well. Then, I came across the data (final data set) where I don't know the origional parameters but know the final data set. I tried to optimize the origional parameters using fmincon so that I can get unique solution but unsuccessful.
I am getting different answers if I provide different inital guess. Please assist me if I can solve this problem.

4 commentaires

Star Strider
Star Strider le 24 Juin 2020
Nonlinear parameter estimation (that soulnds like what you are doing) is very sensitive to the initial parameter estimates. The best way I have found to deal with this problem is to use the ga (genetic algorithm) function to search the entire parameter space for the best set of parameters. The default options may work in your situation, however it may be necessary to create your own InitialPopulationMatrix to determine them most efficiently. (The ga function requires the Global Optimization Toolbox.)
Usman Hamid
Usman Hamid le 25 Juin 2020
Thank you for the response. I faced some problem while implementing the genatic algorithm becuase some functions had fsolve and fmincon to optimize other variables. So, I replaced fsolve and fmincon with genatic algorithm. At least, it stopped showing the errors but started giving me this message on command windows.
Optimization terminated: average change in the fitness value less than options.FunctionTolerance.
Any suggestion to explore the idea further?
Optimization terminated: average change in the fitness value less than options.FunctionTolerance.
There can be more than one reason to get that message, but the major reason is that it is unable to find a nearby location with lower value -- that is, that it has found a local minima (that might or might not be a global minima.)
You can set the Display option to 'none' to supress the message.
Be sure to check the exit flag.
Usman Hamid
Usman Hamid le 26 Juin 2020
Thank you for the response. ga model was taking too long to optimize the one variable at one point. It was helpfull to figure out the problem and resolve the error.

Connectez-vous pour commenter.

Réponses (0)

Commenté :

le 26 Juin 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by