Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gloss_opt-0.1.0.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gloss_opt-0.1.0-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

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

Hashes for gloss_opt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7c15c29003b9262e116c7a1f5a7baf3eef02223a96195f94f388bbd674e16059
MD5 3984d686e062e6aa7b922ea9c2cb3752
BLAKE2b-256 3d19cfbfb07e97a43a94204f51c280b505834188d22671551adc82f582a4f3d4

See more details on using hashes here.

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

Hashes for gloss_opt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01863b8ae56f33314f0370bb9790f0f0596d1be719c6476ff3f2568ae3cf3a40
MD5 4e41ab79785951ef218e445d5879a4cd
BLAKE2b-256 dc84930c99a08ed68e8bf83946e0df2b91bf554e587238dcc5e1f2fa3d7aa6bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page