HTTPS SSH
This is the code for the paper

Hernández-Lobato J. M., Hoffman M. W. and Ghahramani Z.
Predictive Entropy Search for Efficient Global Optimization of Black-box
Functions, In NIPS, 2014.

-------------------------------------------------------------------------------

IMPORTANT NOTE:

The code here implements the method predictive entropy
search (PES) for finding the global MINIMUM of the objective function.
Note that the paper above describes the implementation of the method
PES for finding the gobal MAXIMUM.

-------------------------------------------------------------------------------

The folder sourceFiles contains matlab scripts and c code to reproduce
the results for the method Predictive Entropy Search in the optimization
of the Branin-Hoo function, as described in the above reference.

To run the code you may need to compile into mex files the c files

sourceFiles/chol2invchol.c

sourceFiles/computeCovMatrix.c

sourceFiles/computeGradientNewColumnCovMatrix.c

sourceFiles/computeNewColumnCovMatrix.c

For this, you may need to install the GNU scientific library. In ubuntu,
you can do that by typing 

$ sudo apt-get install libgsl0ldbl

You may also need to install the Blas library. In ubuntu, you can do that
by typing 

$ sudo apt-get install libblas3gf libblas-doc libblas-dev

To compile the c files in the folder sourceFiles, type

$ cd sourceFiles; matlab

And then in matlab type

mex chol2invchol.c -lgsl -lblas

mex computeCovMatrix.c -lgsl -lblas

mex computeGradientNewColumnCovMatrix.c -lgsl -lblas

mex computeNewColumnCovMatrix.c -lgsl -lblas

-------------------------------------------------------------------------------

You will need access to gpstuff software package for matlab. Download the zip
file for gpstuff matlab version 4.4 from 

http://becs.aalto.fi/en/research/bayes/gpstuff/older.html

and decompress it in the folder

GPstuff-4.4

The root folder for the Predictive Entropy Search code should then contain
the folders and files

GPstuff-4.4

simulation1

sourceFiles

README

LICENSE

-------------------------------------------------------------------------------

We now describe how you can run a realization of the experiment for the 
Branin-Hoo function. In the paper, the left plot in Figure 3 shows a summary
of 250 realizations of this experiment. To run a realization of the experiment
go to the folder simulation1 and then run the script experiment.sh, that is,

$ cd simulation1

$ ./experiment.sh

This will perform 30 sequential evaluations of the Branin-Hoo function using
the method PES for searching the global maximum of the function. The first 3
evaluations are obtained by using latin hyper cube sampling. The results of
the search are stored in the folder 

simulation1/results

There will be three files in that folder:

Xsamples.txt

Ysamples.txt

guesses.txt

The file Xsamples.txt contains the locations at which the objective function
is evaluated. The file Ysamples.txt contains the noisy function values
obtained during the evaluation. The file guesses.txt contains the
recommendations given by the method for the location of the global optimum.