Skip to content

Commit 3c93199

Browse files
committed
fix seeding mechanism (fixes #181)
1 parent fd9cfd5 commit 3c93199

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

R/OptState.R

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ makeOptState = function(opt.problem, loop = 0L, tasks = NULL, models = NULL,
6666
opt.state$loop.starttime = loop.starttime
6767
opt.state$time.used = time.used
6868

69-
opt.state$random.seed = .Random.seed
69+
opt.state$random.seed = getRandomSeed()
7070
opt.state$time.created = time.created
7171
class(opt.state) = append(class(opt.state), "OptState")
7272
opt.state
@@ -103,7 +103,9 @@ loadOptState.OptProblem = function(obj) {
103103
}
104104

105105
loadOptState.character = function(obj) {
106-
load2(file = obj, "opt.state")
106+
opt.state = load2(file = obj, "opt.state")
107+
set.seed(getOptStateRandomSeed(opt.state))
108+
return(opt.state)
107109
}
108110

109111
# If we already have a mbo result we will return it, otherwise it will be generated and stored in the opt.result

R/OptState_setter.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ setOptStateModels = function(opt.state, models) {
55
}
66

77
setOptStateRandomSeed = function(opt.state) {
8-
opt.state$random.seed = .Random.seed
8+
opt.state$random.seed = getRandomSeed()
99
invisible()
1010
}
1111

R/utils.R

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,9 @@ combWithSum = function(n, k) {
2929
getFileBackupName = function(fn) {
3030
file.path(dirname(fn), sprintf(".~%s", basename(fn)))
3131
}
32+
33+
getRandomSeed = function() {
34+
if (!exists(".Random.seed", .GlobalEnv))
35+
set.seed(NULL)
36+
get(".Random.seed", .GlobalEnv)
37+
}

0 commit comments

Comments
 (0)