-
-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathtest_OptimizerChain.R
More file actions
61 lines (56 loc) · 3.28 KB
/
test_OptimizerChain.R
File metadata and controls
61 lines (56 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
test_that("OptimizerBatchChain", {
z = test_optimizer_1d("chain", term_evals = 20L,
optimizers = list(opt("random_search"), opt("grid_search")),
terminators = list(trm("evals", n_evals = 10L), trm("evals", n_evals = 10L)))
expect_class(z$optimizer, "OptimizerBatchChain")
expect_output(print(z$optimizer), "OptimizerBatchChain")
expect_identical(z$instance$archive$data[.optimizer_id == "OptimizerBatchRandomSearch"]$batch_nr, 1:10)
expect_identical(z$instance$archive$data[.optimizer_id == "OptimizerBatchGridSearch"]$batch_nr, 11:20)
z = test_optimizer_2d("chain", term_evals = 20L,
optimizers = list(opt("random_search"), opt("grid_search")),
terminators = list(trm("evals", n_evals = 10L), trm("evals", n_evals = 10L)))
expect_class(z$optimizer, "OptimizerBatchChain")
expect_output(print(z$optimizer), "OptimizerBatchChain")
expect_identical(z$instance$archive$data[.optimizer_id == "OptimizerBatchRandomSearch"]$batch_nr, 1:10)
expect_identical(z$instance$archive$data[.optimizer_id == "OptimizerBatchGridSearch"]$batch_nr, 11:20)
z = test_optimizer_2d("chain", term_evals = 20L,
optimizers = list(opt("random_search", batch_size = 10L), opt("grid_search", batch_size = 10L)),
terminators = list(trm("evals", n_evals = 10L), trm("evals", n_evals = 10L)))
expect_class(z$optimizer, "OptimizerBatchChain")
expect_output(print(z$optimizer), "OptimizerBatchChain")
expect_identical(unique(z$instance$archive$data[.optimizer_id == "OptimizerBatchRandomSearch"]$batch_nr), 1L)
expect_identical(unique(z$instance$archive$data[.optimizer_id == "OptimizerBatchGridSearch"]$batch_nr), 2L)
z = test_optimizer_dependencies("chain", term_evals = 20L,
optimizers = list(opt("random_search"), opt("grid_search")),
terminators = list(trm("evals", n_evals = 10L), trm("evals", n_evals = 10L)))
expect_class(z$optimizer, "OptimizerBatchChain")
expect_output(print(z$optimizer), "OptimizerBatchChain")
expect_identical(z$instance$archive$data[.optimizer_id == "OptimizerBatchRandomSearch"]$batch_nr, 1:10)
expect_identical(z$instance$archive$data[.optimizer_id == "OptimizerBatchGridSearch"]$batch_nr, 11:20)
# random restarts
terminator = trm("none")
instance = OptimInstanceBatchSingleCrit$new(
objective = OBJ_1D,
search_space = PS_1D,
terminator = terminator
)
z = test_optimizer(
instance = instance,
key = "chain",
optimizers = list(opt("gensa"), opt("gensa")),
terminators = list(trm("evals", n_evals = 10L), trm("evals", n_evals = 10L)),
real_evals = 20L
)
expect_identical(unique(z$instance$archive$data$.optimizer_id), c("OptimizerBatchGenSA", "OptimizerBatchGenSA_1"))
# packages, properties, param_set, etc.
optimizer = OptimizerBatchChain$new(optimizers = list(opt("random_search"), opt("gensa")))
expect_set_equal(optimizer$packages, c("bbotk", "GenSA"))
expect_identical(optimizer$properties, "single-crit")
expect_identical(optimizer$param_classes, "ParamDbl")
expect_set_equal(
optimizer$param_set$ids(),
c("OptimizerBatchRandomSearch.batch_size", "OptimizerBatchGenSA.smooth", "OptimizerBatchGenSA.temperature",
"OptimizerBatchGenSA.visiting.param", "OptimizerBatchGenSA.acceptance.param", "OptimizerBatchGenSA.simple.function",
"OptimizerBatchGenSA.verbose", "OptimizerBatchGenSA.trace.mat")
)
})