GLOSS: Global-Local-Unexplored Sampling Strategy for batch surrogate optimization in vast chemical search spaces
Project description
GLOSS
Global–Local–Unexplored Sampling Strategy — a multi-strategy batch recommender for surrogate-based optimization in vast chemical search spaces.
Overview
GLOSS decomposes each $q$-point batch across three complementary streams that share a single surrogate model:
- Global — UCB-driven exploitation
- Local — BallTree refinement around the current best (with an $\mathcal{O}(K)$ top-$K$ truncation that keeps it practical on $n=10^5$–$10^6$ candidate pools)
- Unexplored — maximizes geometric distance to observed points; uses no surrogate signal, providing robustness against an overfit surrogate
Install
git clone https://github.com/zbc0315/gloss.git
cd gloss
pip install -e .
Python 3.9+ required. Dependencies are pinned in requirements.txt.
Quick start
from gloss import GLOSS
g = GLOSS(
space={"candidates": candidates},
direction="maximize",
ratio={"global_best": 4, "local_best": 2, "unexplored": 2},
)
batch = g.recommend(X_obs, y_obs, n_points=8)
Reproducing the benchmark
python -m benchmarks.bench_main --study all
Benchmark covers Buchwald–Hartwig ($n=3{,}955$), QM9 HOMO–LUMO gap ($n=100{,}000$), and an Arrhenius-2D virtual surface, comparing GLOSS against UCB-BO, BO(EI), GA, and Random across 5 seeds.
License
MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gloss_opt-0.1.0.tar.gz.
File metadata
- Download URL: gloss_opt-0.1.0.tar.gz
- Upload date:
- Size: 25.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c15c29003b9262e116c7a1f5a7baf3eef02223a96195f94f388bbd674e16059
|
|
| MD5 |
3984d686e062e6aa7b922ea9c2cb3752
|
|
| BLAKE2b-256 |
3d19cfbfb07e97a43a94204f51c280b505834188d22671551adc82f582a4f3d4
|
File details
Details for the file gloss_opt-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gloss_opt-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01863b8ae56f33314f0370bb9790f0f0596d1be719c6476ff3f2568ae3cf3a40
|
|
| MD5 |
4e41ab79785951ef218e445d5879a4cd
|
|
| BLAKE2b-256 |
dc84930c99a08ed68e8bf83946e0df2b91bf554e587238dcc5e1f2fa3d7aa6bc
|