Avoid bad parameters in Global Sensitivity Analysis (Morris)


I’m using DiffEqSensitivity to perform a Global Sensitivity Analysis using the Morris method (similar to the first example here: Global Sensitivity Analysis · DifferentialEquations.jl but with a DDEProblem). The model has about 40 parameters and everything works well most of the time, but on occasion it will try a combination of parameters that makes the solver stall (dt drops to ~1e-14) and it eventually throws a Warning: Interrupted. Larger maxiters is needed. This is fine, it has probably just created a problem that is excessively stiff or something, but these bad parameter combinations take a lot of time. Is there some standard (or otherwise) way of avoiding bad parameters? Analagous to throwing an infinite loss during parameter estimation or something similar?

Currently, I’ve set dtmin = 1e-10 which then throws a dt <= dtmin. Aborting... warning whenever the problem arises, and then continues with the next iteration. This quickly passes by the bad parameter combination, but I don’t know if it affects the result or what exactly is happening when I try this “fix”. e.g., does it ignore that iteration and try another parameter combination, or does the erroneous result get recorded and make its way into the final result? Any suggestions would be very welcome.