Last modified: December 2013

Jump to: Description · Example · Bugs · See Also

AHELP for CIAO 4.11 Sherpa v1


Context: methods


Monte Carlo optimization method


The Sherpa Monte Carlo optimization method, an implementation of the differential evolution algorithm.

The "forward-fitting" algorithm employed by the Sherpa software package is a standard technique used to model X-ray data. A statistic, usually an assumed weighted chi2 or Poisson likelihood (e.g. Cash), is minimized in the fitting process to obtain a set of the best model parameters. Astronomical models often have complex forms with many parameters that can be correlated (e.g. an absorbed power-law); minimization is not trivial in such a setting, as the statistical parameter space becomes multimodal, and finding the global minimum is difficult. Therefore several optimization algorithms have been developed for Sherpa which target a wide range of minimization problems. One of these is a global search Monte-Carlo method, which has been implemented following a differential evolution algorithm presented by Storn and Price (1997).

Differential Evolution

When using the Sherpa 'moncar' method, 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. For more details see:

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.


Method Options


sherpa> set_method("moncar")
sherpa> get_method_name()

Set the optimization method and then confirm the new value.


See the bugs pages on the Sherpa website for an up-to-date listing of known bugs.

See Also

gridsearch, levmar, list_iter_methods, list_methods, neldermead, set_method, set_method_opt