Skip to main content

COO Algorithm — Canine Olfactory Optimization (COO). Surrogate-assisted, pack-based black-box optimizer.

Project description

coo — Canine Olfactory Optimization (COO)

COO (Canine Olfactory Optimization) is an adaptive, surrogate-assisted, multi-pack black-box optimizer inspired by olfactory search behaviors. It is intended for expensive, noisy, multimodal continuous optimization and hyperparameter tuning.

This repository contains:

  • coo.py — the COO optimizer implementation
  • examples/ — example scripts (ANN tuning)
  • tests/ — smoke tests
  • docs/ — mathematical explanation and pseudocode

Features

  • Multi-pack population (clusters) for structured exploration
  • Lightweight surrogate ensemble (RF/GBM/GP/LGBM) with uncertainty-based selection
  • Olfactory map: coarse grid memory guiding attraction between promising regions
  • Gradient refinement (finite-difference) on top candidates
  • Caching of evaluations to avoid repeated expensive function calls

Quick usage

from coo import COO
# define bounds as list of (low, high)
bounds = [(-5, -1), (1, 3), (8, 64), (-6, -1), (16, 64), (0, 2)]
opt = COO(bounds=bounds, n_packs=4, init_pack_size=12, max_iterations=100, surrogate_enabled=True)
best_x, best_f, hist, diag, best_pos_hist = opt.optimize(lambda x: -objective(x))
# note: this implementation treats objectives as maximization; to minimize, pass -objective(x)

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

coo_algorithm-1.1.1.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

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

coo_algorithm-1.1.1-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file coo_algorithm-1.1.1.tar.gz.

File metadata

  • Download URL: coo_algorithm-1.1.1.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for coo_algorithm-1.1.1.tar.gz
Algorithm Hash digest
SHA256 a2ba8c853919a118aa4480b0f766caccaa1a4bd7be6d24dc8922e6cbae618e26
MD5 f374ce19c2dec13ba0259803f8932aa3
BLAKE2b-256 9cb192a7eb0694634f0847b25b35a009c5d7a52a70d3bda5e4fff34bce89dfbf

See more details on using hashes here.

File details

Details for the file coo_algorithm-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: coo_algorithm-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for coo_algorithm-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8940db2e048a56b2b83fc2910a741c46a50411f930e5c8fa982c90403e92ca8
MD5 bc2e4c6dc5545699f18d9b9eb55e45ab
BLAKE2b-256 d1a607b8aa40b7abf6ae548bc8839672e2ca156185496ebdaa7f427f392bf621

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