Skip to main content

A package for various annealing and quenching techniques

Project description

Anneal

Anneal

Simulated-annealing components on the =eindir= typed primitives. One surface, many drivers: classical presets, Bayesian pilot+mixer, generalized =Langevin= equation (GLE) colored noise, rank-1 additive independence, quasi-Monte Carlo (QMC) polish, device/ensemble scale. All obey the same five-component algebra (Obj / Cool / Neigh / Move / Accept) and four laws.

Documentation: https://anneal.rgoswami.me . License: Massachusetts Institute of Technology (MIT). DOI: https://zenodo.org/doi/10.5281/zenodo.10672746 .

Install

pip install anneal

Full stack (pinned Rust + Python + docs):

pixi install

8-line modern example (additive independence + generalized =Langevin= equation (GLE) polish)

import numpy as np
from anneal import additive_independence, gle_langevin, qmc_polish

def rastrigin(x):
    return 10.0 * len(x) + np.sum(x*x - 10.0 * np.cos(2.0 * np.pi * x))

def grad_rastrigin(x):
    return 2.0 * x + 20.0 * np.pi * np.sin(2.0 * np.pi * x)

low = np.full(5, -5.0)
high = np.full(5, 5.0)

# Values-only rank-1 independence (no gradient)
res = additive_independence(rastrigin, low, high, max_fevals=3000, seed=7)
x0 = res["best_pos"]

# Polish with gradient (or use gle_langevin directly if grad available)
refined = qmc_polish(rastrigin, grad_rastrigin, low, high,
                     n_starts=32, max_fevals_per_start=50, seed=0, top_k=1)
print(refined["best_val"])

Full docs, tutorials (classical, Bayesian pilot+mixer with Beta trace, generalized =Langevin= equation (GLE), polish+device), algebra, how-tos, and reference at https://anneal.rgoswami.me .

Development

pixi install
pixi run -e python python-test
pixi run -e docs docs-export
pixi run -e docs docs-build

See pixi.toml and docs/export.el (modeled on rgpycrumbs/rsx-rs patterns).

License and citation

MIT (see LICENSE.txt). Citation: CITATION.cff or the Zenodo (Digital Object Identifier). The reference publication is the Institute of Industrial and Systems Engineers (IISE)/INFORMS Journal on Computing paper (typed component algebras, mechanized equivalences, Temporal Logic of Actions (Temporal Logic of Actions (=TLA+=)) spec). Reproducibility package: HaoZeke/anneal_repro.

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

anneal-0.5.0.tar.gz (3.3 MB view details)

Uploaded Source

Built Distributions

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

anneal-0.5.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (722.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

anneal-0.5.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (689.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

anneal-0.5.0-cp310-abi3-macosx_11_0_arm64.whl (645.9 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

anneal-0.5.0-cp310-abi3-macosx_10_12_x86_64.whl (669.7 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file anneal-0.5.0.tar.gz.

File metadata

  • Download URL: anneal-0.5.0.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for anneal-0.5.0.tar.gz
Algorithm Hash digest
SHA256 e150070da669a4dc3438fb77c32b9ecbb5c6d6c631ffa3694020dc1cc25096a7
MD5 5de9e9a344595f1808be55728fa08a2a
BLAKE2b-256 353159dd60913c1b59029ddbe26570ca32743cf434f41de3deee28f847c26ddf

See more details on using hashes here.

Provenance

The following attestation bundles were made for anneal-0.5.0.tar.gz:

Publisher: release.yml on HaoZeke/anneal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anneal-0.5.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anneal-0.5.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 500df986a7f4e55d7e04e26f617d2a3708ba41f82bbd0c6f23b4180a0164cfa4
MD5 9a9116586b46e491e05bd13a1a29eb54
BLAKE2b-256 703efe153dcac3579b9788f0ca1bc842a2bee55e66d7f3f658338b74dbbb805c

See more details on using hashes here.

Provenance

The following attestation bundles were made for anneal-0.5.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on HaoZeke/anneal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anneal-0.5.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for anneal-0.5.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 20f6d06bb33fc8a6c01ad8965cbbee71d3ff32f89d8f65f8f6f1189190fd6fc5
MD5 4ded5153bd9b3584848d54be9407924d
BLAKE2b-256 2133f9fd4f68fca91e820245cae6313149786dc6a26d959849fba914decf678c

See more details on using hashes here.

Provenance

The following attestation bundles were made for anneal-0.5.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on HaoZeke/anneal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anneal-0.5.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for anneal-0.5.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 025fa3b584573c9e8566e35f9a6847982b67bb82d8cdddd6f7dfc4c50e68ae81
MD5 5cafb53eec8ab3e61b25a1e536b64548
BLAKE2b-256 3c20332de0adf4dd5b810c8dfb3d89076a6a8cc369eb16a98f4761f92eabb0f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for anneal-0.5.0-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on HaoZeke/anneal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anneal-0.5.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for anneal-0.5.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e1176670cddd70a528131b8079dc00cb61a651829d414998896571b15df7ebe8
MD5 93ccc52e7c199447dfa5b37f6a8f76d7
BLAKE2b-256 80a3552b102cb2e18c7639a0a87cbe1e9acfb3af924e115d74f6c56698fd6ec7

See more details on using hashes here.

Provenance

The following attestation bundles were made for anneal-0.5.0-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on HaoZeke/anneal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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