11.6.2.4. Initialising several chains
As already explained in [Bla17], initialising multiple chains can help assess the convergence of MCMC algorithms more reliably. Since these algorithms are inherently sequential (each state of the chain depending on the previous one), running several chains in parallel also makes it possible to exploit modern computational power more effectively. At present, this parallelization is not yet implemented—the chains are still computed sequentially—but it will be supported in a future release.
If you wish to initialise multiple chains, this should be done using the following prototype:
void setMultistart(int nb_multistart);
The method takes a single integer argument that specifies the number of chains to be initialised.
Warning
As explained, this method duplicates the file of the initial chain to prepare several
chains, preserving the properties that have already been defined. For this reason, it should
be performed immediately after selecting the MCMC algorithm, to ensure that all chains
use the same algorithm. If the default algorithm is used, this step should be done after
creating the TMCMC object and assigning its likelihood.