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.9.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.9-cp314-cp314-win_amd64.whl (894.5 kB view details)

Uploaded CPython 3.14Windows x86-64

globe_opti-0.0.9-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.9-cp314-cp314-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

globe_opti-0.0.9-cp313-cp313-win_amd64.whl (878.5 kB view details)

Uploaded CPython 3.13Windows x86-64

globe_opti-0.0.9-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.9-cp313-cp313-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

globe_opti-0.0.9-cp312-cp312-win_amd64.whl (879.5 kB view details)

Uploaded CPython 3.12Windows x86-64

globe_opti-0.0.9-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.9-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

globe_opti-0.0.9-cp311-cp311-win_amd64.whl (877.9 kB view details)

Uploaded CPython 3.11Windows x86-64

globe_opti-0.0.9-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.9-cp311-cp311-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

globe_opti-0.0.9-cp310-cp310-win_amd64.whl (878.1 kB view details)

Uploaded CPython 3.10Windows x86-64

globe_opti-0.0.9-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.9-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.9.tar.gz.

File metadata

  • Download URL: globe_opti-0.0.9.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.9.tar.gz
Algorithm Hash digest
SHA256 11895b555cae1f4ade653ea12ff6d219078abe2c05d97be606488ad51b8c6f72
MD5 1c7fcb36f981603d98ab6be7c6caa61e
BLAKE2b-256 9c4212862db21737ddd964313a89c233ad4252ebaafc5becff1953b145d26c41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: globe_opti-0.0.9-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 894.5 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.9-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9d9ddd96aed0391a0b0dd2bc80985c44e1bbecea5eb18fd1c014c2329c20bb71
MD5 dcf0c62601bfd18e3d027810dd46b2b6
BLAKE2b-256 e74291c6a3d32c9541381d24b18fedfebe67db167039b9648e25baf240d6a943

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 55257357e6887fbf787b19ca8c7f7cc88293dc852801e4b63539cc4c03cefacd
MD5 0eea0dcf00304cb29325e966aa69d6e4
BLAKE2b-256 e113d7d9dfad6f91f8ece074a931f622c201be146cab03fdeb3dacd4a8422601

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.9-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c03fcb4dba9ad1efbb81844c001669d800a0d67d80be4dbd3e72dc4456cad8e9
MD5 86aa5fadd8c50338733fd2aa2194fd62
BLAKE2b-256 2d4bd9c2a334edde76e72a0627e013b5e81b65568bf503af010ce47a2082d5d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: globe_opti-0.0.9-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 878.5 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.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4b6972d33f137be382695633b8ac1fe498bfe83f589426bbea3db721fabcdd91
MD5 f5771d3a5a84b133f8ae77ddfc14d1e9
BLAKE2b-256 2216d0bea2b1ee7539ba9a8168fcb0686619a4ac07214cab86d0095d6e0edd8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b2a3bc3cec26e573e7688ec37e4bde36c3e1c160b7ea371ca337b0fa05563f7b
MD5 78326c7e44d9000944ed88c26d8e1ab1
BLAKE2b-256 2d1a659e0149abbf3594e0c9f62a68aaa5c5f967f17e153ce0336a46fcb5dd9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c584dfeb79cca88bc869cd5b40073ab38eff58c89e226df765904aaee2336fd7
MD5 2987084eff9d15db65c18e3a9a9d3da6
BLAKE2b-256 b5be2aafc321b7fb51b7ac887b5a358b305aea3e3dd02e6cc7bbc25576bb7185

See more details on using hashes here.

File details

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

File metadata

  • Download URL: globe_opti-0.0.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 879.5 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.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3bae009629eff14951c463474cd6a144e480666dd6906dba0fafa57911bb2886
MD5 eb619ae2429a3b5dc91a1faa0e89c8f7
BLAKE2b-256 eececab77738db98c400aa2d2d62c7da104da1712c935329342376b752fbd930

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 dd075b92e01860b191b7246923e83afc888ea62fe2c957bb14a275f3a6862096
MD5 e8015fabad275b55c77a62c4988079a0
BLAKE2b-256 fb216afd90b637ead74640582687537a45367f48b4480fa64b3b493c8b6fc540

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 598949183e15160bd81ff59a5a9e650be92b3a278af957f0a6ed194a836deaaf
MD5 b37fe5f4d83e85d4dafff336f553daf2
BLAKE2b-256 859ba6e938bb79d47a9291c6b8d634b95f9f7402863d7d1ff8c558fb13dcdd59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: globe_opti-0.0.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 877.9 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.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 efd96f7a7dbf668262ba15679291132689d66ee37a6b6bb8054ea02bdee31c36
MD5 4fd2cfdc1b6967bace68cd29349f6887
BLAKE2b-256 31606e788664427416ab0d02280071b10dc7917d85b0a5e09f780546d99a033d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ae184942c932dc8508c7dc4a07b48c3a9134cf09a4184acfcd26e58b4ff23b32
MD5 5eb2302ce2e4e6759ea0a1aabcdca353
BLAKE2b-256 764afe2c26f795003f89f7d902b196340eccddca933c92f7d1d74a0321018e4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68fc2ee165c5691fa29b05373646c6e6fc3e9168097e498d66d5e730da6adb18
MD5 bbdcc89d9848f4fe36e76eaf82d3355a
BLAKE2b-256 b0a035dfcb4a00249e180505df11c78cb1bdc487ba5ecb3d7cae257b5c3bba26

See more details on using hashes here.

File details

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

File metadata

  • Download URL: globe_opti-0.0.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 878.1 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.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b7f3965b4f8bbf52e0d88886e9080fbdc1fb322f954cfdbf2091b38617a22050
MD5 e5d0b047acfb7a6442672cd00814cb69
BLAKE2b-256 73fa50d6e8e12e3e32dbb25c613eea69e19184a5c568da02f31069b1de99aade

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e4af1f35187b839f68cd90fecaa1b86a2959c2af8130f233f600b3b7dda9af10
MD5 3b4c00ec5b9a586675ec25240227258d
BLAKE2b-256 ab580d9cc7eac3dcc2b6b4a756620773323fd8567f07d897e1fbf052fc77e811

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 87026169dd12fe2bb1ce23258e22dd28d8d0cb0f9e449e7c21447517ccdaf624
MD5 e87f93b261b8f4a3016f9f8abe65a11e
BLAKE2b-256 9c72167d03ff825f72036e43aa40204180908ef54023ee794439a4459feeb89b

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