Using NMinimize
for finding global minima, one can choose the DifferentialEvolution
method. You can find a (not so) detailed description in the link Constrained Optimization.
That being said, I would like to know if there is a simple way to implement the randomization of the value attributed to the option ScalingFactor
. Such a feature should enhance the method:
It has been found recently that selecting F from the interval [0.5, 1.0] randomly for each generation or for each difference vector, a technique called dither, improves convergence behaviour significantly (Differential Evolution Homepage)
where the F
mentioned in the quote corresponds to the value of ScalingFactor
in Mathematica.
Probably, this is my lack of knowledge on the details of Mathematica showing up, but I don't know how to tell that in each step of NMinimize
it should put RandomReal[{0.5,1.}]
in the option ScalingFactor
.
"ScalingFactor" :> RandomReal[{0.5, 1}]
which appeared to fail. So did setting the option to a list of factors. So I gave up as it probably being impossible. $\endgroup$NMinimize
, so we can sort this random value for"ScalingFactor"
each time? $\endgroup$NMinimize
and similar functions? Maybe I can't implement this specific problem that I proposed, but I feel I could learn a lot with this. $\endgroup$tutorial/ConstrainedOptimizationGlobalNumerical
-- you probably already have. That's about all I know about how to use it in Mma. What I tried were random guesses based on the description of the implementation in the tutorial. Occasionally I've gotten lucky and found an undocumented feature. Sorry I can't help further. $\endgroup$