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)