BayesOpt
bo_branin_mcmc.cpp
1 /*
2 -------------------------------------------------------------------------
3  This file is part of BayesOpt, an efficient C++ library for
4  Bayesian optimization.
5 
6  Copyright (C) 2011-2015 Ruben Martinez-Cantin <rmcantin@unizar.es>
7 
8  BayesOpt is free software: you can redistribute it and/or modify it
9  under the terms of the GNU Affero General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  BayesOpt is distributed in the hope that it will be useful, but
14  WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU Affero General Public License for more details.
17 
18  You should have received a copy of the GNU Affero General Public License
19  along with BayesOpt. If not, see <http://www.gnu.org/licenses/>.
20 ------------------------------------------------------------------------
21 */
22 
23 #include "testfunctions.hpp"
24 #include "param_loader.hpp"
25 
26 int main(int nargs, char *args[])
27 {
29  if(nargs > 1){
30  if(!bayesopt::utils::ParamLoader::load(args[1], par)){
31  std::cout << "ERROR: provided file \"" << args[1] << "\" does not exist" << std::endl;
32  return -1;
33  }
34  }
35  else{
36  par = initialize_parameters_to_default();
37  par.n_iterations = 100;
38  par.n_init_samples = 2;
39  par.n_iter_relearn = 1;
40  par.random_seed = 0;
41  par.noise = 1e-10;
42 
43  par.l_type = L_MCMC;
44  par.sc_type = SC_MAP;
45  par.verbose_level = 1;
46  //bayesopt::utils::ParamLoader::save("bo_branin_mcmc.txt", par);
47  }
48 
49 
50  BraninNormalized branin(par);
51  vectord result(2);
52 
53  branin.optimize(result);
54  std::cout << "Result: " << result << "->"
55  << branin.evaluateSample(result) << std::endl;
56  branin.printOptimal();
57 
58  return 0;
59 }
learning_type l_type
Type of learning for the kernel params.
Definition: parameters.hpp:96
size_t n_init_samples
Number of samples before optimization.
Definition: parameters.hpp:68
size_t n_iterations
Maximum BayesOpt evaluations (budget)
Definition: parameters.hpp:66
int verbose_level
Neg-Error,0-Warning,1-Info,2-Debug -> stdout 3-Error,4-Warning,5-Info,>5-Debug -> logfile...
Definition: parameters.hpp:76
double noise
Variance of observation noise (and nugget)
Definition: parameters.hpp:88
score_type sc_type
Score type for kernel hyperparameters (ML,MAP,etc)
Definition: parameters.hpp:95
Allows to load parameters from file.
int random_seed
>=0 -> Fixed seed, <0 -> Time based (variable).
Definition: parameters.hpp:74
size_t n_iter_relearn
Number of samples before relearn kernel.
Definition: parameters.hpp:69