control.san: Auxiliary for Controlling SAN

View source: R/control.san.R

control.sanR Documentation

Auxiliary for Controlling SAN


Auxiliary function as user interface for fine-tuning simulated annealing algorithm.


  SAN.maxit = 4,
  SAN.tau = 1,
  SAN.invcov = NULL,
  SAN.invcov.diag = FALSE,
  SAN.nsteps.alloc = function(nsim) 2^seq_len(nsim),
  SAN.nsteps = 2^19,
  SAN.samplesize = 2^12,
  SAN.prop = trim_env(~sparse),
  SAN.prop.weights = "default",
  SAN.prop.args = list(),
  SAN.packagenames = c(),
  SAN.ignore.finite.offsets = TRUE,
  term.options = list(),
  seed = NULL,
  parallel = 0,
  parallel.type = NULL,
  parallel.version.check = TRUE,
  parallel.inherit.MT = FALSE



Number of temperature levels to use.


Tuning parameter, specifying the temperature of the process during the penultimate iteration. (During the last iteration, the temperature is set to 0, resulting in a greedy search, and during the previous iterations, the temperature is set to ⁠SAN.tau*(iterations left after this one)⁠.


Initial inverse covariance matrix used to calculate Mahalanobis distance in determining how far a proposed MCMC move is from the target.stats vector. If NULL, initially set to the identity matrix. In either case, during subsequent runs, it is estimated empirically.


Whether to only use the diagonal of the covariance matrix. It seems to work better in practice.


Either a numeric vector or a function of the number of runs giving a sequence of relative lengths of simulated annealing runs.


Number of MCMC proposals for all the annealing runs combined.


Number of realisations' statistics to obtain for tuning purposes.


Specifies the proposal (directly) and/or a series of "hints" about the structure of the model being sampled. The specification is in the form of a one-sided formula with hints separated by + operations. If the LHS exists and is a string, the proposal to be used is selected directly.

A common and default "hint" is ~sparse, indicating that the network is sparse and that the sample should put roughly equal weight on selecting a dyad with or without a tie as a candidate for toggling.


Specifies the proposal distribution used in the SAN Metropolis-Hastings algorithm. Possible choices depending on selected reference and constraints arguments of the ergm() function, but often include "TNT" and "random", and the "default" is to use the one with the highest priority available.


An alternative, direct way of specifying additional arguments to proposal.


Names of packages in which to look for change statistic functions in addition to those autodetected. This argument should not be needed outside of very strange setups.


Whether SAN should ignore (treat as 0) finite offsets.


A list of additional arguments to be passed to term initializers. See ? term.options.


Seed value (integer) for the random number generator. See set.seed.


Number of threads in which to run the sampling. Defaults to 0 (no parallelism). See the entry on parallel processing for details and troubleshooting.


API to use for parallel processing. Supported values are "MPI" and "PSOCK". Defaults to using the parallel package with PSOCK clusters. See ergm-parallel


Logical: If TRUE, check that the version of ergm running on the slave nodes is the same as that running on the master node.


Logical: If TRUE, slave nodes and processes inherit the set.MT_terms() setting.


This function is only used within a call to the san function. See the usage section in san for details.


A list with arguments as components.

See Also


ergm documentation built on May 31, 2023, 8:04 p.m.