MonCar¶
-
class
sherpa.optmethods.
MonCar
(name='moncar')[source] [edit on github]¶ Bases:
sherpa.optmethods.OptMethod
Monte Carlo optimization method.
This is an implementation of the differential-evolution algorithm from Storn and Price (1997) [1]. A population of fixed size - which contains n-dimensional vectors, where n is the number of free parameters - is randomly initialized. At each iteration, a new n-dimensional vector is generated by combining vectors from the pool of population, the resulting trial vector is selected if it lowers the objective function.
-
ftol
¶ The function tolerance to terminate the search for the minimum; the default is sqrt(DBL_EPSILON) ~ 1.19209289551e-07, where DBL_EPSILON is the smallest number x such that 1.0 != 1.0 + x.
Type: number
-
maxfev
¶ The maximum number of function evaluations; the default value of None means to use 8192 * n, where n is the number of free parameters.
Type: int or None
-
verbose
¶ The amount of information to print during the fit. The default is 0, which means no output.
Type: int
-
seed
¶ The seed for the random number generator.
Type: int
-
population_size
¶ The population of potential solutions is allowed to evolve to search for the minimum of the fit statistics. The trial solution is randomly chosen from a combination from the current population, and it is only accepted if it lowers the statistics. A value of None means to use a value 16 * n, where n is the number of free parameters.
Type: int or None
-
xprob
¶ The crossover probability should be within the range [0.5,1.0]; default value is 0.9. A high value for the crossover probability should result in a faster convergence rate; conversely, a lower value should make the differential evolution method more robust.
Type: num
-
weighting_factor
¶ The weighting factor should be within the range [0.5, 1.0]; default is 0.8. Differential evolution is more sensitive to the weighting_factor then the xprob parameter. A lower value for the weighting_factor, coupled with an increase in the population_size, gives a more robust search at the cost of efficiency.
Type: num
References
[1] Storn, R. and Price, K. “Differential Evolution: A Simple and Efficient Adaptive Scheme for Global Optimization over Continuous Spaces.” J. Global Optimization 11, 341-359, 1997. http://www.icsi.berkeley.edu/~storn/code.html Attributes Summary
default_config
The default settings for the optimiser. Methods Summary
fit
(statfunc, pars, parmins, parmaxes[, …])Run the optimiser. Attributes Documentation
-
default_config
¶ The default settings for the optimiser.
Methods Documentation
-
fit
(statfunc, pars, parmins, parmaxes, statargs=(), statkwargs={}) [edit on github]¶ Run the optimiser.
Parameters: - statfunc (function) – Given a list of parameter values as the first argument and,
as the remaining positional arguments,
statargs
andstatkwargs
as keyword arguments, return the statistic value. - pars (sequence) – The start position of the model parameter values.
- parmins (sequence) – The minimum allowed values for each model parameter. This
must match the length of
pars
. - parmaxes (sequence) – The maximum allowed values for each model parameter. This
must match the length of
pars
. - statargs (optional) – Additional positional arguments to send to
statfunc
. - statkwargs (optional) – Additional keyword arguments to send to
statfunc
.
Returns: newpars – The model parameters after the optimiser has run.
Return type: tuple
- statfunc (function) – Given a list of parameter values as the first argument and,
as the remaining positional arguments,
-