Skip to content

Commit abfb729

Browse files
authored
Merge pull request #49 from IOHprofiler/refactoring_restarting
fix x0 and restart crit
2 parents 2ac476e + 702401f commit abfb729

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
lines changed

modcma/c_maes/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
Population,
1313
Parameters,
1414
ModularCMAES,
15+
center,
1516
es
1617
)
1718

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
with open("README.md", "r", encoding="Latin-1") as fh:
1212
long_description = fh.read()
1313

14-
__version__ = "1.0.12"
14+
__version__ = "1.0.13"
1515

1616
ext = Pybind11Extension(
1717
"modcma.c_maes.cmaescpp",

src/center_placement.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ namespace center
55
{
66
void X0::operator()(parameters::Parameters &p)
77
{
8-
p.adaptation->m = p.settings.x0.value_or(Vector::Zero(p.settings.dim));
8+
const auto default_x0 = (p.settings.lb + p.settings.ub) / 2.0;
9+
10+
p.adaptation->m = p.settings.x0.value_or(default_x0);
911
}
1012

1113
void Uniform::operator()(parameters::Parameters &p)

src/restart_criteria.cpp

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@ namespace restart
6868
met = time_since_restart > n_bin and recent_improvement == 0;
6969
}
7070

71-
void MaxSigma::update(const parameters::Parameters& p)
71+
void MaxSigma::update(const parameters::Parameters &p)
7272
{
7373
met = p.mutation->sigma > tolerance;
7474
}
7575

76-
void MinSigma::update(const parameters::Parameters& p)
76+
void MinSigma::update(const parameters::Parameters &p)
7777
{
7878
met = p.mutation->sigma < tolerance;
7979
}
@@ -191,10 +191,9 @@ namespace restart
191191

192192
Criteria Criteria::get(const parameters::Modules modules)
193193
{
194-
vCriteria criteria {
195-
std::make_shared<restart::UnableToAdapt>()
196-
};
197-
194+
vCriteria criteria{
195+
std::make_shared<restart::UnableToAdapt>()};
196+
198197
if (modules.restart_strategy >= parameters::RestartStrategyType::RESTART)
199198
{
200199
criteria.push_back(std::make_shared<restart::MinSigma>());
@@ -205,15 +204,15 @@ namespace restart
205204
criteria.push_back(std::make_shared<restart::Stagnation>());
206205
criteria.push_back(std::make_shared<restart::MinDSigma>());
207206
criteria.push_back(std::make_shared<restart::MaxDSigma>());
208-
}
209207

210-
if (modules.matrix_adaptation == parameters::MatrixAdaptationType::COVARIANCE ||
211-
modules.matrix_adaptation == parameters::MatrixAdaptationType::SEPERABLE)
212-
{
213-
criteria.push_back(std::make_shared<restart::TolX>());
214-
criteria.push_back(std::make_shared<restart::ConditionC>());
215-
criteria.push_back(std::make_shared<restart::NoEffectAxis>());
216-
criteria.push_back(std::make_shared<restart::NoEffectCoord>());
208+
if (modules.matrix_adaptation == parameters::MatrixAdaptationType::COVARIANCE ||
209+
modules.matrix_adaptation == parameters::MatrixAdaptationType::SEPERABLE)
210+
{
211+
criteria.push_back(std::make_shared<restart::TolX>());
212+
criteria.push_back(std::make_shared<restart::ConditionC>());
213+
criteria.push_back(std::make_shared<restart::NoEffectAxis>());
214+
criteria.push_back(std::make_shared<restart::NoEffectCoord>());
215+
}
217216
}
218217
return Criteria(criteria);
219218
}

0 commit comments

Comments
 (0)