22#include <libcmaes/cmaes.h> 
   23#include <libcmaes/surrogatestrategy.h> 
   24#include <libcmaes/opti_err.h> 
   25#include <libcmaes/surrogates/rankingsvm.hpp> 
   27#ifndef RSVMSURROGATESTRATEGY_H 
   28#define RSVMSURROGATESTRATEGY_H 
   34  void to_mat_vec(std::vector<Candidate> &cp,
 
   35          dMat &x, dVec &fvalues,
 
   39      std::sort(cp.begin(),cp.end(),
 
   40        [](Candidate 
const &c1, Candidate 
const &c2){return c1.get_fvalue() > c2.get_fvalue();}); 
 
   41    x = dMat(cp.at(0).get_x_size(),cp.size());
 
   42    fvalues = dVec(cp.size());
 
   43    for (
int i=0;i<(int)cp.size();i++)
 
   45    x.col(i) = cp.at(i).get_x_dvec().transpose();
 
   46    fvalues(i) = cp.at(i).get_fvalue();
 
   50  template <
class TGenoPheno> 
using eostrat = ESOStrategy<CMAParameters<TGenoPheno>,CMASolutions,CMAStopCriteria<TGenoPheno> >;
 
   52  template<
template <
class U, 
class V> 
class TStrategy, 
class TCovarianceUpdate=CovarianceUpdate,
class TGenoPheno=GenoPheno<NoBoundStrategy>>
 
   60      this->
_train = [
this](
const std::vector<Candidate> &
c, 
const dMat &cov)
 
   66    std::vector<Candidate> 
cp = 
c;
 
   74      this->
_predict = [
this](std::vector<Candidate> &
c, 
const dMat &cov)
 
   76    dMat 
x_test(
c.at(0).get_x_size(),
c.size());
 
   77    for (
int i=0;
i<(
int)
c.size();
i++)
 
   78      x_test.col(
i) = 
c.at(
i).get_x_dvec().transpose();
 
   82    std::vector<Candidate> 
tset = this->
_tset;
 
   89      for (
int i=0;
i<(
int)
c.size();
i++)
 
   90        c.at(
i).set_fvalue(
fit(
i));
 
 
void train(dMat &x, const int &niter, const dMat &covinv, const dVec &xmean)
trains a ranker from a set of points
Definition rankingsvm.hpp:142
void predict(dVec &fit, dMat &x_test, dMat &x_train, const dMat &covinv, const dVec &xmean)
predicts a ranking from a learnt ranker
Definition rankingsvm.hpp:180
bool _encode
Definition rankingsvm.hpp:346
ACM Surrogate strategy for CMA-ES, follows: 'Surrogate-Assisted Evolutionary Algorithms',...
Definition surrogatestrategy.h:295
dVec xmean() const
returns current distribution's mean in parameter space
Definition cmasolutions.h:354
CMASolutions & get_solutions()
returns reference to current solution object
Definition esostrategy.h:193
an optimizer main class.
Definition esoptimizer.h:72
Definition rsvm_surr_strategy.hpp:54
int _rsvm_iter
Definition rsvm_surr_strategy.hpp:98
std::vector< Candidate > _tset
Definition surrogatestrategy.h:198
SurrFunc _predict
Definition surrogatestrategy.h:200
CSurrFunc _train
Definition surrogatestrategy.h:199
linear scaling of the parameter space to achieve similar sensitivity across all components.
Definition acovarianceupdate.h:30