Learn R Programming

copulaedas (version 1.2.1)

edaCriticalPopSize: Critical Population Size

Description

Determine the critical population size using a bisection method.

Usage

edaCriticalPopSize(eda, f, lower, upper, fEval, fEvalTol,
    totalRuns = 30, successRuns = totalRuns, lowerPop = 2, 
    upperPop = NA, stopPercent = 10, verbose = FALSE)

Arguments

eda
EDA instance.
f
Objective function.
lower
Lower bounds of the variables of the objective function.
upper
Upper bounds of the variables of the objective function.
fEval
Optimum value of the objective function.
fEvalTol
A run is considered successful if the difference between fEval and the best found solution is less than fEvalTol.
totalRuns
Total number of runs.
successRuns
Required number of successfully runs.
lowerPop
Lower bound of the initial interval for the population.
upperPop
Upper bound of the initial interval for the population.
stopPercent
Stop percent.
verbose
Print progress information.

Value

  • Either NULL if the critical population size was not determined or an EDAResults instance with the results of the runs of the EDA using the critical population size.

Details

This function determines the minimum population size required by the EDA to reach the value fEval of the objective function in successRuns runs of a total of totalRuns independent runs (critical population size).

The population size is determined using a bisection method starting with the interval delimited by lowerPop and upperPop. The bisection procedure stops when the estimated population size is less than stopPercent percent away from the critical population size. If either lowerPop or upperPop is not specified, the algorithm will determine an initial interval based on the value of the popSize parameter and then continue using the bisection method.

See (Pelikan 2005) for a pseudocode of a similar algorithm.

References

Gonz�lez-Fern�ndez Y and Soto M (2012). copulaedas: An R Package for Estimation of Distribution Algorithms Based on Copulas. Preprint http://arxiv.org/abs/1209.5429{arXiv:1209.5429 [cs.NE]}.

Pelikan M (2005). Hierarchical Bayesian Optimization Algorithm. Toward a New Generation of Evolutionary Algorithms. Springer-Verlag.

See Also

EDA, edaRun.

Examples

Run this code
setMethod("edaReport", "EDA", edaReportDisabled)
setMethod("edaTerminate", "EDA", 
    edaTerminateCombined(edaTerminateEval,
        edaTerminateMaxEvals))

UMDA <- CEDA(copula = "indep", margin = "norm",
    fEval = 0, fEvalTol = 1e-03, maxEvals = 10000)
UMDA@name <- "Univariate Marginal Distribution Algorithm"

results <- edaCriticalPopSize(UMDA, fSphere, rep(-600, 10),
    rep(600, 10), 0, 1e-03, totalRuns = 30, successRuns = 30,
    lowerPop = 50, upperPop = 100, verbose = TRUE)

show(results)
summary(results)

Run the code above in your browser using DataLab