Skip to main content

A collection of global optimization algorithms implemented in C++ and linked with Python.

Project description

Global Optimization Benchmark (GLOBe)

CI CI PyPI version Code style: black

GLOBe Logo

GLOBe is a collection of global optimization algorithms implemented in C++ and linked with Python. It also includes a set of analytical benchmark functions and a random function generator (PyGKLS) to test the performance of these algorithms.

Algorithms

Documentation

The documentation is available at gaetanserre.fr/GLOBe.

Installation (Python ≥ 3.10)

Install the package via pip from PyPI:

pip install globe-opti

Alternatively, download the corresponding wheel file from the releases and install it with pip:

pip install globe-opti-<version>-<architecture>.whl

Build from source

Make sure you have CMake (≥ 3.28), a c++ compiler, and the eigen3 library installed. Then clone the repository and run:

pip install . -v

It should build the C++ extensions and install the package. You can also build the documentation with:

cd docs
pip install -r requirements.txt
make html

Usage

This package can be used to design a complete benchmarking framework for global optimization algorithms, testing multiple algorithms on a set of benchmark functions. See test_globe.py for an example of how to use it.

The global optimization algorithms can also be used independently. For example, to run the AdaLIPO+ algorithm on a benchmark function:

from globe.optimizers import AdaLIPO_P
from globe import create_bounds

f = lambda x: x.T @ x

opt = AdaLIPO_P(create_bounds(2, -5, 5), 300)
res = opt.minimize(f)
print(f"Optimal point: {res[0]}, Optimal value: {res[1]}")

See test_optimizers.py for more examples of how to use the algorithms.

Contributing

Contributions are welcome! Please see the CONTRIBUTING file for guidelines.

References

License

This is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

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

globe_opti-0.0.10.tar.gz (83.9 kB view details)

Uploaded Source

Built Distributions

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

globe_opti-0.0.10-cp314-cp314-win_amd64.whl (872.9 kB view details)

Uploaded CPython 3.14Windows x86-64

globe_opti-0.0.10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

globe_opti-0.0.10-cp314-cp314-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

globe_opti-0.0.10-cp313-cp313-win_amd64.whl (857.4 kB view details)

Uploaded CPython 3.13Windows x86-64

globe_opti-0.0.10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

globe_opti-0.0.10-cp313-cp313-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

globe_opti-0.0.10-cp312-cp312-win_amd64.whl (858.1 kB view details)

Uploaded CPython 3.12Windows x86-64

globe_opti-0.0.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

globe_opti-0.0.10-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

globe_opti-0.0.10-cp311-cp311-win_amd64.whl (859.7 kB view details)

Uploaded CPython 3.11Windows x86-64

globe_opti-0.0.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

globe_opti-0.0.10-cp311-cp311-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

globe_opti-0.0.10-cp310-cp310-win_amd64.whl (860.0 kB view details)

Uploaded CPython 3.10Windows x86-64

globe_opti-0.0.10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

globe_opti-0.0.10-cp310-cp310-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file globe_opti-0.0.10.tar.gz.

File metadata

  • Download URL: globe_opti-0.0.10.tar.gz
  • Upload date:
  • Size: 83.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for globe_opti-0.0.10.tar.gz
Algorithm Hash digest
SHA256 de6636d2443e7a99977f482474b69a59a7755ba30c22a8b05e5a4ad9240a8445
MD5 91b0c48a9ddbda4fdb6f9bb39c03ecee
BLAKE2b-256 b5244b9500515632014ffe9bb7d32ddd5323ae48223e3098c9400afe2e06ff42

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: globe_opti-0.0.10-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 872.9 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for globe_opti-0.0.10-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 bf70378f4fe73cb842bcdf1f3fe883615c600311447d9f1c573a2b11bd5ef9c6
MD5 0a4ed5671eea16dd8fe2f6b493c4ebce
BLAKE2b-256 678ebfaa2f147d6ea1f659a8ab02a1e788caf948c1fcc575969e600660f6fdd5

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for globe_opti-0.0.10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c3fd136f55dc2ac7e822dd49940a7954d7692f009248d29e66dda6cf4924ecd8
MD5 16375aa67076136827e782287500dcbe
BLAKE2b-256 f93effee8cfd3fe55c08b0eb00920666f6451a5b112298b4f1e2e27d476f9edb

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for globe_opti-0.0.10-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7337bccfda521ef1fa6a1cc7084207eb105bd96795e8a49deb06653224e3e8da
MD5 aeeeb6ea0fc2566a3aa4d4bc7e6e3fcf
BLAKE2b-256 46c0b0890ceaf8d59d10fc6129f1a96253d429782144b6353a1e8aefcd61e2f9

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: globe_opti-0.0.10-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 857.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for globe_opti-0.0.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8466e6f827eb13251e3261a76e88289a919010f0a3c91cbcfd7fdb2d25b71c2b
MD5 f4624fb937f4a7a42e1480ba50604442
BLAKE2b-256 b68719c2315b00c6badd13e657f9bcf4588f6ae3bde6299b798450c073b705fb

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for globe_opti-0.0.10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 92c98cc2563725230ff0691be7b498c5123ecb5dd909bdc3f072003c19286453
MD5 3da15242a56262407c64dc8960ccea01
BLAKE2b-256 b28240a87b00d281f39fa274157be04d2dde8f1be30174cd7edcdae55ebe031d

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for globe_opti-0.0.10-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2cedb9ac29a89afce7e09e97b6de6734ae5328242c6ea2a66d9e6dc1dfb5cd48
MD5 a2cfbbe7632bb7be143189f3be091460
BLAKE2b-256 2f9c4cc3342934642c2f31bba0538c94a6e9c5e75e7069c7d71b717ed9117737

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: globe_opti-0.0.10-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 858.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for globe_opti-0.0.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b10791c299d274fff202d6f376bd656f95b409161215d26cd535462bd7a06d26
MD5 bee207f8e7ae29d19509b1a97b1608ab
BLAKE2b-256 e679d2075334074e5ee21724c6b67b3bb0b09be87a25496bf95e0f4df872b1e4

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for globe_opti-0.0.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0a840b012d0d6adf67d245bba3e9f6bdf33c8d4333571b3df2dc18a56db2a97d
MD5 5826ffd59f0db11af280cba6781aa964
BLAKE2b-256 d5df63e4fc29ca370097c7a3938e986682c794242f16798b6046971a9607a5e1

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for globe_opti-0.0.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e16de3dd9cc9ac82b89d40a6ca70b64a69ec55517a163e4d187df81f295102d6
MD5 71fbde82b4f41c45803c38bcfa03e1ea
BLAKE2b-256 e6be369ef35addaefff783546042469b0849f2faaf13d1a54f3c6866e917082f

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: globe_opti-0.0.10-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 859.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for globe_opti-0.0.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 21f6d62ea5f3879e435ec603bff459271c39dc11183820a62f9024b5c805c0c4
MD5 8d407ba5cd11e2665105a166eeb1e91d
BLAKE2b-256 a9e07b049de70b31de72588dc2ca48b1645c665f26f44bf5c45309f0811bfd09

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for globe_opti-0.0.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b5a3f864d901f13a01670e8fd4bd69fa2ecd4c8637534557935b3922630009d0
MD5 8f47bdd2e19bf009ffac507661340c55
BLAKE2b-256 67a064367f5bcaf550b5e2a3c7e07fcb1b4f3034a6c9aab9608ddc09e8e43a9a

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for globe_opti-0.0.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7bb064e170f44bbac0932d55004e4cc4feaf1c1294533dcf72625efe17a6f76f
MD5 678dcc6d28962001173e460f39326b0a
BLAKE2b-256 85a3528654c53efdc34302bcbb66a3ec3e36c0ff976017996becab3de58f896f

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: globe_opti-0.0.10-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 860.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for globe_opti-0.0.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a7f26af7b56bdebcaf4b1e9c619ba19759c521c5ed767446575a1b4933bd2ace
MD5 e1b37159cdc43bf4deac7ae8442a4bee
BLAKE2b-256 b2d2a3cb3eb8f3d2510daba0b4c8c3bea1f05754a0a4ea8b78f0410f5cf7524b

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for globe_opti-0.0.10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8d8f2b3f5e5ce5d166c80aee2388f96325fc064ee94085b82fc6d588ec959c7d
MD5 1e723c3513087de1cd17cfdec5a23d52
BLAKE2b-256 72c212479dda4fbc5306a8e3f3bd0a31ba8f1252eccd916fc45046866f8f45ad

See more details on using hashes here.

File details

Details for the file globe_opti-0.0.10-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for globe_opti-0.0.10-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fd719c66d03b7e07b69d30643c5c2e18facb2e5f5a364a36e3bb9bbc2699e053
MD5 ceb7495452d50464cc9e334f073df3bf
BLAKE2b-256 ce1d53c4989c84a2e984e1b6c5e0eab1c04a7d7487198338dfe03f19de8b0f56

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