Skip to content

Commit

Permalink
fix #59
Browse files Browse the repository at this point in the history
  • Loading branch information
jakobbossek committed Feb 18, 2015
1 parent 68caecd commit fdf2325
Show file tree
Hide file tree
Showing 10 changed files with 95 additions and 13 deletions.
2 changes: 1 addition & 1 deletion R/ecr.R
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ ecr = function(objective.fun, control) {
best = getBestIndividual(population)
opt.path = addBestToOptPath(opt.path, par.set, best, population$fitness, iter)

stop.object = doTerminate(control$stoppingConditions)
stop.object = doTerminate(control$stopping.conditions)
if (length(stop.object) > 0L) {
break
}
Expand Down
6 changes: 3 additions & 3 deletions R/ecrControl.R
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
#' help pages for the recombination operators for the needed values.
#' @param monitor [\code{function}]\cr
#' Monitoring function. Default is \code{consoleMonitor}.
#' @param stoppingConditions [\code{list}]\cr
#' @param stopping.conditions [\code{list}]\cr
#' List of functions of type \code{ecr_stoppingCondition}.
#' @return
#' S3 object of type \code{ecr_control}.
Expand All @@ -67,7 +67,7 @@ ecr.control = function(
mutator.control = list(),
recombinator.control = list(),
monitor = makeConsoleMonitor(),
stoppingConditions = list()) {
stopping.conditions = list()) {
assertCount(population.size, positive = TRUE, na.ok = FALSE)
assertCount(offspring.size, positive = TRUE, na.ok = FALSE)
mating.pool.size = convertInteger(mating.pool.size)
Expand Down Expand Up @@ -151,7 +151,7 @@ ecr.control = function(
recombinator.control = recombinator.control,
save.population.at = save.population.at,
target.name = target.name,
stoppingConditions = stoppingConditions,
stopping.conditions = stopping.conditions,
monitor = monitor),
class = "ecr_control")
}
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ control = ecr.control(
n.params = 1L,
mutator = list(gaussMutator),
mutator.control = list(mutator.gauss.sd = 0.005),
stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = 50L))
stopping.conditions = list(makeMaximumIterationsStoppingCondition(max.iter = 50L))
```

Now lets start the optimization process and print the result object, which contains the optimization trace, the best parameters, the best fitness value and some additional information.
Expand Down
2 changes: 1 addition & 1 deletion inst/examples/1plus1_GA_example.R
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ control = ecr.control(
recombinator = crossoverRecombinator,
# see the literature on 1+1 GA for this parameter recommendation
mutator.control = list(mutator.flip.prob = 1 / n.params),
stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = 500L))
stopping.conditions = list(makeMaximumIterationsStoppingCondition(max.iter = 500L))
)
print(control)

Expand Down
2 changes: 1 addition & 1 deletion inst/examples/soobench_example.R
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ control = ecr.control(
n.params = 1L,
mutator.control = list(mutator.gauss.sd = 0.005),
monitor = myMonitor,
stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = 25L))
stopping.conditions = list(makeMaximumIterationsStoppingCondition(max.iter = 25L))
)

# do the evolutionary magic
Expand Down
2 changes: 1 addition & 1 deletion inst/examples/tspmeta_example.R
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ control = ecr.control(
generator = makePermutationGenerator(),
mutator = list(swapMutator),
recombinator = nullRecombinator,
stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = 200L))
stopping.conditions = list(makeMaximumIterationsStoppingCondition(max.iter = 200L))
)
print(control)

Expand Down
4 changes: 2 additions & 2 deletions man/ecr.control.Rd
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ecr.control(population.size, offspring.size,
generator = makeUniformGenerator(), mutator = list(gaussMutator),
recombinator = intermediateRecombinator, mutator.control = list(),
recombinator.control = list(), monitor = makeConsoleMonitor(),
stoppingConditions = list())
stopping.conditions = list())
}
\arguments{
\item{population.size}{[\code{integer(1)}]\cr
Expand Down Expand Up @@ -72,7 +72,7 @@ help pages for the recombination operators for the needed values.}
\item{monitor}{[\code{function}]\cr
Monitoring function. Default is \code{consoleMonitor}.}

\item{stoppingConditions}{[\code{list}]\cr
\item{stopping.conditions}{[\code{list}]\cr
List of functions of type \code{ecr_stoppingCondition}.}
}
\value{
Expand Down
82 changes: 82 additions & 0 deletions tests/testthat/Find Results
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
Searching 69 files for "stoppingConditions"

/Users/jboss/repositories/git/ecr/README.md:
40 mutator = list(gaussMutator),
41 mutator.control = list(mutator.gauss.sd = 0.005),
42: stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = 50L))
43 ```
44

/Users/jboss/repositories/git/ecr/test_specific.R:
26 recombinator = crossoverRecombinator,
27 generator = makeBinaryGenerator(),
28: stoppingConditions = list(
29 makeMaximumTimeStoppingCondition(max.time = 1),
30 makeMaximumIterationsStoppingCondition(max.iter = 100L)

/Users/jboss/repositories/git/ecr/inst/examples/1plus1_GA_example.R:
45 # see the literature on 1+1 GA for this parameter recommendation
46 mutator.control = list(mutator.flip.prob = 1 / n.params),
47: stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = 500L))
48 )
49 print(control)

/Users/jboss/repositories/git/ecr/inst/examples/soobench_example.R:
54 mutator.control = list(mutator.gauss.sd = 0.005),
55 monitor = myMonitor,
56: stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = 25L))
57 )
58

/Users/jboss/repositories/git/ecr/inst/examples/tspmeta_example.R:
40 mutator = list(swapMutator),
41 recombinator = nullRecombinator,
42: stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = 200L))
43 )
44 print(control)

/Users/jboss/repositories/git/ecr/R/ecr.R:
86 opt.path = addBestToOptPath(opt.path, par.set, best, population$fitness, iter)
87
88: stop.object = doTerminate(control$stoppingConditions)
89 if (length(stop.object) > 0L) {
90 break

/Users/jboss/repositories/git/ecr/R/ecrControl.R:
46 #' @param monitor [\code{function}]\cr
47 #' Monitoring function. Default is \code{consoleMonitor}.
48: #' @param stoppingConditions [\code{list}]\cr
49 #' List of functions of type \code{ecr_stoppingCondition}.
50 #' @return
..
68 recombinator.control = list(),
69 monitor = makeConsoleMonitor(),
70: stoppingConditions = list()) {
71 assertCount(population.size, positive = TRUE, na.ok = FALSE)
72 assertCount(offspring.size, positive = TRUE, na.ok = FALSE)
..
152 save.population.at = save.population.at,
153 target.name = target.name,
154: stoppingConditions = stoppingConditions,
155 monitor = monitor),
156 class = "ecr_control")

/Users/jboss/repositories/git/ecr/tests/testthat/test_ecr.R:
25 representation = "float",
26 monitor = makeNullMonitor(),
27: stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = max.iter))
28 )
29 }

/Users/jboss/repositories/git/ecr/tests/testthat/test_stoppingConditions.R:
23
24 # check for max time budget
25: control$stoppingConditions = list(makeMaximumTimeStoppingCondition(max.time = 2))
26 expect_true(grepl("Time limit", ecr(obj.fn, control)$message))
27
28 # check for max iterations
29: control$stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = 10L))
30 expect_true(grepl("iterations", ecr(obj.fn, control)$message))
31 })

13 matches across 9 files
2 changes: 1 addition & 1 deletion tests/testthat/test_ecr.R
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ test_that("ecr works with simple soo function", {
n.params = 2L,
representation = "float",
monitor = makeNullMonitor(),
stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = max.iter))
stopping.conditions = list(makeMaximumIterationsStoppingCondition(max.iter = max.iter))
)
}

Expand Down
4 changes: 2 additions & 2 deletions tests/testthat/test_stoppingConditions.R
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ test_that("stopping conditions work", {
)

# check for max time budget
control$stoppingConditions = list(makeMaximumTimeStoppingCondition(max.time = 2))
control$stopping.conditions = list(makeMaximumTimeStoppingCondition(max.time = 2))
expect_true(grepl("Time limit", ecr(obj.fn, control)$message))

# check for max iterations
control$stoppingConditions = list(makeMaximumIterationsStoppingCondition(max.iter = 10L))
control$stopping.conditions = list(makeMaximumIterationsStoppingCondition(max.iter = 10L))
expect_true(grepl("iterations", ecr(obj.fn, control)$message))
})

0 comments on commit fdf2325

Please sign in to comment.