Reinforced In-Context Black-Box Optimization
May 19, 2025 ยท View on GitHub
This repository contains the Python code for Reinforced In-Context Black-Box Optimization (RIBBO), a method to reinforce-learn a BBO algorithm from offline data in an end-to-end fashion.
Requirements
- Python == 3.10
- PyTorch == 2.0.1
- offlinerllib==0.1.1
- utilsrl==0.6.3
- google-vizier==0.1.9
- gpytorch==1.11
- botorch=0.9.4
File Structure
algorithmsdirectory is the main implement of RIBBO, BC, BC Filter, and OptFormerdata_gendirectory is the implement of behavior algorithms and data collectiondatasetsdirectory provides the interface of the offline datasetsproblemsdirectory is the implement of the benchmark problemsscriptsdirectory provides some scripts for reproduction
Usage
Run bash scripts/run_main.sh to evaluate RIBBO and other baselines
Datasets
The datasets are generated by using codes in data_gen directory. Run bash scripts/run_data_gen.sh to generate the datasets parallely.
Citation
@inproceedings{RIBBO,
author = {Lei Song, Chenxiao Gao, Ke Xue, Chenyang Wu, Dong Li, Jianye Hao, Zongzhang Zhang, Chao Qian},
title = {Reinforced In-Context Black-Box Optimization},
booktitle = {Proceedings of the 34th International Joint Conference on Artificial Intelligence (IJCAI'25)},
year = {2025},
address={Montreal, Canada}
}