| edaCriticalPopSize {copulaedas} | R Documentation |
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 |
|
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
|
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. |
Details
This function determines the minimum population size required by the EDA to
reach the value fEval of the objective function in successRuns
runs out 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.
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.
References
Gonzalez-Fernandez Y, Soto M (2014). copulaedas: An R Package for Estimation of Distribution Algorithms Based on Copulas. Journal of Statistical Software, 58(9), 1-34. http://www.jstatsoft.org/v58/i09/.
Pelikan M (2005). Hierarchical Bayesian Optimization Algorithm. Toward a New Generation of Evolutionary Algorithms. Springer-Verlag.
See Also
Examples
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)