BIE::TemperedDifferentialEvolution Class Reference
Implements the Differential Evolution (DE) algorithm (see
DifferentialEvolution) including Tempered Transistion steps every
tfreq steps (see
TemperedSimulation).
More...
#include <TemperedDifferentialEvolution.h>
List of all members.
|
Public Member Functions |
| | TemperedDifferentialEvolution (int max, int ndim, int number, string deinit, int minmc_p, double maxT, BaseDataTree *d, Model *m, Integration *i, Converge *c, MixturePrior *mp, LikelihoodComputation *l, MCAlgorithm *mca, Simulation *last=0) |
| | Constructor for top level invocation.
|
|
void | SetTempFreq (int n) |
| | Change tempering frequency for mixing (default: 11).
|
|
void | SetEquilSteps (int n) |
| | Set number of DE steps at each temperature level (default: 10).
|
|
void | SetTpow (double x) |
| | Set the scale factor $T^{tpow}$ for proposal function.
|
|
void | SetMinMC (int n) |
| | Set the minimum number of temperature states.
|
|
virtual void | PrintStepDiagnostic () |
| | override of Simulation method to provide diagnostics specific to TemperedDifferentialEvolution
|
Static Public Attributes |
|
static int | Ninter |
| | Number of mixing steps between tempering (default 10).
|
|
static double | tpow |
| | Scale factor $T^{tpow}$ for proposal function.
|
|
static int | minmc |
| | Minimum number of temperature states.
|
|
static unsigned | tfreq |
| | Frequency in steps for a tempered step (default: 11).
|
Protected Member Functions |
|
virtual void | MCMethod () |
| | Run the entire Monte Carlo algorithm (including tempering).
|
|
virtual void | OneDifferentialEvolutionStep () |
| | Take a single DE step only.
|
|
virtual void | PowerUP (int) |
| | Heat chains to temperature level k.
|
|
virtual void | PowerDOWN (int) |
| | Cool chains to temperature level k.
|
Protected Attributes |
|
vector< double > | up |
| | The log prob of the state moving UP the temperature ladder.
|
|
vector< double > | down |
| | The log prob of the state moving DOWN the temperature ladder.
|
|
vector< double > | beta |
| | The 1/KT values for the temperature ladder.
|
|
vector< double > | factor |
| | The multiplicative width factors for the ladder.
|
|
int | curswp |
| | The number of swapped states on the current step.
|
|
int | curtry |
| | The number of swap attempts on the current step.
|
|
int | totswp |
| | The cumulative number of swapped states (since last query).
|
|
int | tottry |
| | The cmulative number of swap attempts (since last query).
|
|
double | MaxT |
| | The maximum tempering temperature.
|
|
vector< unsigned long > | mstat0 |
| | Tally of proposals for each temperature level.
|
|
vector< unsigned long > | stat0T |
|
vector< unsigned long > | mstat1 |
| | Tally of accepted proposals for each level.
|
|
vector< unsigned long > | stat1T |
|
bool | tstat |
| | Tempered statistics counter active.
|
Friends |
|
class | boost::serialization::access |
Detailed Description
Implements the Differential Evolution (DE) algorithm (see
DifferentialEvolution) including Tempered Transistion steps every
tfreq steps (see
TemperedSimulation).
- Temperature levels
- The temperature levels
are defined by:
or
and the Metropolis-Hastings width is multiplied by the factor
where
is the paramater tpow.
- Paremeters
- Parameters:
-
| Ninter | is the number of mixing steps between tempering steps (default: 10) |
| tfreq | is the number steps between tempered transition states (default: 11) |
| tpow | is the scale factor $T^{tpow}$ for proposal function (default: 0.5, exact for a Gaussian) |
| minmc | is the minimum number of temperature levels. If not overriddednm explicitly, the constructor will set number of levels so that there are the square root of the parameter rank per logarithmic interval in temperature. (default: 4) |
Constructor & Destructor Documentation
| BIE::TemperedDifferentialEvolution::TemperedDifferentialEvolution |
( |
int |
max, |
|
|
int |
ndim, |
|
|
int |
number, |
|
|
string |
deinit, |
|
|
int |
minmc_p, |
|
|
double |
maxT, |
|
|
BaseDataTree * |
d, |
|
|
Model * |
m, |
|
|
Integration * |
i, |
|
|
Converge * |
c, |
|
|
MixturePrior * |
mp, |
|
|
LikelihoodComputation * |
l, |
|
|
MCAlgorithm * |
mca, |
|
|
Simulation * |
last = 0 | |
|
) |
| | |
Constructor for top level invocation.
Initial constuctor Multiple-level constuctor
The documentation for this class was generated from the following file: