OvercomingTrade-off is a flexible framework that implements a clustering-based multi-objective Bayesian optimization (MOBO) workflow for batch multi-objective optimization. This framework integrates AI-driven decision-making to overcome traditional performance trade-offs. Its effectiveness was validated through the multi-property optimization of an Ir-Ru-based ternary catalyst system.
- Clustering-based selection strategy directs sampling toward diverse, Pareto-optimal regions in the composition space.
- Automated batch synthesis data handling with built-in activity and stability metrics.
- Bayesian optimization backbone (BoTorch/PyTorch) with q-NEHVI and related acquisition functions.
- Hypervolume growth comparison against the conventional q-NEHVI method (Figure 2), highlighting improved exploration efficiency.
- Validated on Ir-Ru-x ternary catalyst systems for simultaneous optimization of activity, stability, and cost.
Clustering_MOBO/
├── BaseModel/ # optimization and sampling code
│ ├── ClusteringBasedMultiobjectiveClass.py
│ ├── crowding_sample_logei.py
│ ├── crowding_transform.py
│ ├── discrete_optimizer.py
│ ├── discrete_sampler.py
│ ├── input_data.py
│ └── cluster/ # clustering outputs
├── candidate/ # saved candidate tensors
├── Figure/ # visualization assets
├── result/ # evaluation outputs and data
│ ├── Data/ # experimental JSON files
│ ├── IrRuCo_pt/ # result tensors by system
│ ├── IrRuFe_pt/
│ └── IrRuNi_pt/
├── botorch_env.yml
├── requirements.txt
└── README.md
- Step 1 – Prepare or load input data in the
result/directory. - Step 2 – Execute optimization routines found in
BaseModel/(e.g.python discrete_optimizer.py). - Step 3 – Inspect outputs under
candidate/(selected candidates can be forwarded to the next experimental iteration).
See the in-code docstrings for parameter details and extension points.
Python 3.10 is required. Install dependencies via conda or pip:
conda env create -f botorch_env.yml
conda activate botorch_env
# or
pip install -r requirements.txtRecommended packages include torch, gpytorch, numpy, pandas, and matplotlib.
This repository is intended for academic and research use only.
For questions, please contact:
Daeho Kim – Korea Institute of Science and Technology / Korea University
📧 Email: r4576@kist.re.kr