This repository contains the python implementation for MESMO from the Neurips 2019 paper "Max-value Entropy Search for Multi-ObjectiveBayesian Optimization".
This code is implemented in Python and requires the following dependencies:
sobol_seq– for generating Sobol sequencesplatypus– for multi-objective evolutionary algorithmsscikit-learn– specificallysklearn.gaussian_processfor GP modelingpygmo– for parallel optimization algorithms
You can install the required packages using:
pip install sobol_seq platypus-opt scikit-learn pygmopython main.py <function_names> <d> <seed> <initial_number> <total_iterations> <sample_number>Here's an example command you could run from bash:
python main.py branin,Currin 2 0 5 100 10Explanation of arguments:
function_names: names of the benchmark functions separated by a commad: number of input dimensionsseed: random seedinitial_number: number of initial of evaluationstotal_iterations: number of BO iterationssample_number: number of samples to use for entropy estimation
If you use this code please cite our papers:
@inproceedings{belakaria2019max,
title={Max-value entropy search for multi-objective bayesian optimization},
author={Belakaria, Syrine and Deshwal, Aryan},
booktitle={International Conference on Neural Information Processing Systems (NeurIPS)},
year={2019}
}
@article{belakaria2021output,
title={Output Space Entropy Search Framework for Multi-Objective Bayesian Optimization},
author={Belakaria, Syrine and Deshwal, Aryan and Doppa, Janardhan Rao},
journal={Journal of Artificial Intelligence Research},
volume={72},
pages={667-715},
year={2021}
}