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: return 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.8.tar.gz (82.4 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.8-cp314-cp314-win_amd64.whl (883.8 kB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

globe_opti-0.0.8-cp313-cp313-win_amd64.whl (868.7 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

globe_opti-0.0.8-cp312-cp312-win_amd64.whl (868.9 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

globe_opti-0.0.8-cp311-cp311-win_amd64.whl (867.8 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

globe_opti-0.0.8-cp310-cp310-win_amd64.whl (868.3 kB view details)

Uploaded CPython 3.10Windows x86-64

globe_opti-0.0.8-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.8-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.8.tar.gz.

File metadata

  • Download URL: globe_opti-0.0.8.tar.gz
  • Upload date:
  • Size: 82.4 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.8.tar.gz
Algorithm Hash digest
SHA256 e53abe5400587102a4f14c001d85fbb53a2dc9d3942f9a1c431044bf64465441
MD5 be94c594661b55f9c8459aec8ce0b7a4
BLAKE2b-256 97b41a070d5771cf7ffea8127411f2789c884ff6796d01cd6ef879e7f4ed3939

See more details on using hashes here.

File details

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

File metadata

  • Download URL: globe_opti-0.0.8-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 883.8 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.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ea1cb2db64bdf2458a488e45127e71af53a67e82e451232b8dd17b0dfab0e59e
MD5 299a232dffd33c0ffe9b99add0d18706
BLAKE2b-256 a3f508aaa16adebb743e897dde3fd8ed23d12e7a9f0a12f3e1adf461432aab8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fba166a18402b7126743b8fc4810efa6cededb2e4dd4833e9a8f5aee401cf76a
MD5 89aca793c61f9377cebebaba3444e718
BLAKE2b-256 c5a64a9b487421858812029d063310e30a99a0e79643f8df1195630d592f2923

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.8-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63f42eca05ce165d640af8980906f7fd03157f86b7d5395536fa278f46c0fbbb
MD5 2dd72419a003aa5f593ec9dd4b362621
BLAKE2b-256 b6dc0e020460886ee8ce9afac9d22fe203f44ebf406a0bf3c8a97d05d964fdbd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: globe_opti-0.0.8-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 868.7 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.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 300deda70afeaaede34fc96b38018934de1dbf6845168ab941a6b633e1a0872d
MD5 6c79daa3518bb4e4f411ed868040b181
BLAKE2b-256 f4ec0c508626dbf9f45e89ec5a11aad8299574184a4e1c8e5cf978b2d89feba7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 160a2294682908463cddd8232c0553d27a45eb2d6108f70ada5a8f52db555f5f
MD5 c031ac34f7b9fbe2711dff86b8b9ac6f
BLAKE2b-256 397c84092b21369831b7e52cb5ae9325a9998a4d21a3031e0a92705d6612fc14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81636ce076d92a2a03bc5ac566824ac97146537ad1d83cef0aa50a735e79839c
MD5 f7dbef4a142c9908293c6bad455ec535
BLAKE2b-256 cc24905a378c37760c77bf397d6c54c61cf4c105a6823ebc798c4024b2fbfab9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: globe_opti-0.0.8-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 868.9 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.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dd0eb1d9821f19fef211450fdf90f641f16d2ad839dea3ce5e4f76a26445cb3e
MD5 ebcf1139c292624374fb0a8494423bee
BLAKE2b-256 a493739aaa74abfa3d5c8bd444602475a81f1592106c49596529c0ff1db5b121

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ddcaf61b0cf64bb9610a99b1cd3f5ff87c42d8e8732f187c53fc542ee1e06634
MD5 0ace4c56b78f80653480e0e3363e7c17
BLAKE2b-256 327e04fa41cc19fae633246486d83c6e8e35e52d14ae21effe17068e82b2cb9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6dd3ed9f0b8f878d94f58a0c5108b35103df93e67ba4d3cb6e5884360eca7fbf
MD5 47e8e0bbfd2bf8f61eb4b2e571f473bf
BLAKE2b-256 4352a28f70b2d1b55ea9f8e523ea19b873067fcbedb2b8968943285a181f82fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: globe_opti-0.0.8-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 867.8 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.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d06bd86c46b2a9d160160309225e46e65fa1047c22b73bcba65be5613ecf40f6
MD5 e54ba1566d8cae4351ab13072a4e91d5
BLAKE2b-256 a2b3290e7c7a2cefbb8ba0cf4e4c8beabeb59cae8eb20155a08217c57b1fdb45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f71e0252463cecda7e1416b4830dc4bb59c6985cbd42bce4a2b5efb9d06975a3
MD5 032be795ed7c8f95efb1fa107b35d429
BLAKE2b-256 29a6924603a4a3ccf27cddd67260ada53150cafb8f7ab8c1b0b91bdfd2aeb6ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 645760ec86eff3fede477dfb5a5b4ae0245d8c8afe4ed5630b4e33b2f5e8d6a3
MD5 2dfabf56df59ac6d1d2da8cedfcff5e1
BLAKE2b-256 fb8d91c27bc9afb6052906152796fe35b57f91574213ea5664502d431212fb72

See more details on using hashes here.

File details

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

File metadata

  • Download URL: globe_opti-0.0.8-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 868.3 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.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 09d3f860792b0b0aadcec5305b5cb7bc34e4288bec81502f7becaca63842c2c5
MD5 55f7b43a710aa684f7686303870525d9
BLAKE2b-256 246a2ae6a0d45df237b60eb6f9d970dc90abd4a447882dd1a5e4e80961ed44b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e86bf7be619676851db5cc4a4f92bf778f72129423c17e43ff2723792d5f0a1c
MD5 63e9c053ee621b9a1b156a4bf26e7dcd
BLAKE2b-256 fba27f9fb9c87c3fb8eb0b50088543ab695081643f76a2c0080e684d45608445

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for globe_opti-0.0.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6791b845c8793b0d4670bea78f6b729dd1031a695b767acdb9249190427f1f60
MD5 42c7bf320d47150df0aa7a29277ae560
BLAKE2b-256 2388b4b253cc91da82caeadc8d9d9bec9d7c28b5a025b391281fafcbfea72f70

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