genopt {BurStMisc} | R Documentation |
Genetic Optimization
Description
Approximately minimizes the value of a function using a simple heuristic optimizer that uses a combination of genetic and simulated annealing optimization.
Usage
genopt(fun, population, lower = -Inf, upper = Inf,
scale = dcontrol["eps"], add.args = NULL,
control = genopt.control(...), ...)
Arguments
fun |
function that returns a numerical value. |
population |
a matrix or a list. If a matrix, then the rows correspond to the parameters and the columns are different parameter vectors. If a list, then it should have a component named "population" and
optionally a component named "objective" – in particular, it can
be the result of a call to |
lower |
vector giving the lower bound for parameter values. This is replicated to be as long as the number of parameters. |
upper |
vector giving the upper bound for parameter values. This is replicated to be as long as the number of parameters. |
scale |
vector of scales to use when doing local search with a solution. This is replicated to be as long as the number of parameters. |
add.args |
list of additional arguments to |
control |
an object like the output of |
... |
arguments for |
Details
There is a summary
method for class genopt
which
shows the call, a summary of the set of objectives found, and the
best solution (set of parameters).
Value
a list of class genopt
with the following components:
population |
a matrix of the same size as the input population matrix, but generally with different values in it. |
objective |
a vector with length equal to the number of columns of |
funevals |
the number of function evaluations performed.
If |
random.seed |
the random seed at the start of the call – given so that you can reproduce the computations. |
call |
an image of the call that created this object. |
References
The original version of this function appeared in "S Poetry".
See Also
genopt.control
, summary.genopt
.
Examples
# two parameters, population size 5
go1 <- genopt(function(x, other) sum(x, other),
population=matrix(rexp(10), nrow=2, ncol=5),
lower=0, add.arg=list(other=3), trace=FALSE)
summary(go1)
go2 <- genopt(function(x, other) sum(x, other), population=go1,
lower=0, add.arg=list(other=3), trace=FALSE)