Hello everyone... If you'd like to take a look at my code/data I have it attatched here, but certainly not necessary.
For a little bit of background, I am using NLS functions in matlab, namely solvers lsqnonlin and fmincon, in combination with multistart and globalSearch (my models with nonlinear constraints), to fit a data set to hyper-elastic constitutive models. These are models that range from 1 to 6 parameters that I am solving for.
My optimizations are working perfectly, the only slight problem is sensitivity to the initial guess. I figured that the use of MultiStart/GlobalSearch would help to decrease this sensitivity tenfold, which it does, but does not completely eliminate the problem at hand. I was wondering if you all had any ideas on how I could completely eliminate sensitivity to initial guess (running all possible starting points, although not possible, is the only solution that comes to my mind). As of now I am using default settings in both MultiStart and GlobalSearch, and even fmincon and lsqnonlin(using ub,lb, and nonclon in some models), perhaps I could tweak these settings? Essentially my question is how can I maximize the chances that I am finding the global minimum rather than a number of local minima.
In summary, what do you all think I could implement in order to make sensitivty to initial guess as small as possible.
(Another idea of mine, I have noticed that plugging in previously calculated answers for the initial guess leads to decreasing fvals in consecutive trials so, perhaps running a for loop that swaps the calculated answer to the initial guess)
Let me know what you all think of this.... not looking for anything specific but simply a discussion about the topic or references to learn more.
I appreciate all the help, and enjoy the weekend!