Skip to main content

Global Optimization Benchmark (GOB)

CI CI PyPI version Code style: black

GOB Logo

GOB 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/GOB.

Installation (Python ≥ 3.10)

Install the package via pip from PyPI:

pip install gob

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

pip install gob-<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_gob.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 gob.optimizers import AdaLIPO_P
from gob 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 project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0). See the LICENSE file for details.

Metadata

Release files for gob 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gob 0.0.7
File Size Uploaded
gob-0.0.7.tar.gz 75.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for gob 0.0.7
File
gob-0.0.7-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
gob-0.0.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
gob-0.0.7-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
gob-0.0.7-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
gob-0.0.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
gob-0.0.7-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
gob-0.0.7-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
gob-0.0.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
gob-0.0.7-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
gob-0.0.7-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
gob-0.0.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
gob-0.0.7-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
gob-0.0.7-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
gob-0.0.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
gob-0.0.7-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 92.3 MB

Release files / gob-0.0.7.tar.gz

Download URL gob-0.0.7.tar.gz
Size 75.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5c7b25db06ffed4ac70afb402195a502150e779cbc06d431888a60c403fe28e6
BLAKE2b-256 checksum
How to use checksums
383b0c2f1b9c9b63b146c8fbf1e942e93ac573c292153ef9deb683e2528e57f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp314-cp314-win_amd64.whl

Download URL gob-0.0.7-cp314-cp314-win_amd64.whl
Size 5.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
c7e8ec5d44f638364b8f97f60f773f5eed9e60f2c8f64a17eaa0be3125ca655f
BLAKE2b-256 checksum
How to use checksums
688e207964e0b9d4ff1fc2872e4e27227d538ad8f236c3c1fd087049654663d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL gob-0.0.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.7 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5239e6052f2c926bb12d968cac091bb07b8586e408f90ba9f8a705cd5c583694
BLAKE2b-256 checksum
How to use checksums
8caa5a0d9b4566d626323238d3b0fab9a0a17a2e47050807be93625b7f16368c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp314-cp314-macosx_11_0_arm64.whl

Download URL gob-0.0.7-cp314-cp314-macosx_11_0_arm64.whl
Size 6.4 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9274c8c694e89a7382cca64f0d1ec7810e7ae0040bf68a72f1b579e314064caf
BLAKE2b-256 checksum
How to use checksums
e2f81d59cae63e64290f38ff7f8933a5346bd8e88a977427432fc5a65317603c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp313-cp313-win_amd64.whl

Download URL gob-0.0.7-cp313-cp313-win_amd64.whl
Size 5.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
cf266e5c63d333065b0a7b1e61d2b6797629cd7b6a9282b6e889bcc03ac0f7d1
BLAKE2b-256 checksum
How to use checksums
ca65e09e216baec7d2e643c1e3a219622d8fe71284ab983a90ef9fa2f4e35604
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL gob-0.0.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.7 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2484f2dd27f89e3df2c795301c0583808848181b3648e9c8e5c4a9194bd28d0c
BLAKE2b-256 checksum
How to use checksums
ee6fb93c3b026446a7895c50c115be15de0972cff8651050c7cfc73d8b52bb51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp313-cp313-macosx_11_0_arm64.whl

Download URL gob-0.0.7-cp313-cp313-macosx_11_0_arm64.whl
Size 6.4 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fa50c04b0b6490378dbf78720eea673c5276ded948cd18ac00848aeed4cd23a8
BLAKE2b-256 checksum
How to use checksums
79929261b1a854d6de65210ff4b6010af00fdb06be71d391089ba28b46639a62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp312-cp312-win_amd64.whl

Download URL gob-0.0.7-cp312-cp312-win_amd64.whl
Size 5.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
633785deaa15a64b192c689c7a09dccff8e865a1290594b26cac492cbb1e3e36
BLAKE2b-256 checksum
How to use checksums
767a5c8298dc75048e1c13b36673daf0cd7b8cac4d474c01689e9788f3c2bb50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL gob-0.0.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.7 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b56df6a43bd4a614927e52214adf27a5ca26c2910201b448e225139bc0b4952a
BLAKE2b-256 checksum
How to use checksums
d25f06a347e0d6364dd428f612a7b5974bf8c144c5e4d46fb47fb8e8c4a2067a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp312-cp312-macosx_11_0_arm64.whl

Download URL gob-0.0.7-cp312-cp312-macosx_11_0_arm64.whl
Size 6.4 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c6820afd7545586be9e867bb763dc403227e2892b526f16df6de57a1914596ce
BLAKE2b-256 checksum
How to use checksums
b3ee71311131375df915312f0af4ab33c612c3e30a8f97fbab05f7a54bbe0f5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp311-cp311-win_amd64.whl

Download URL gob-0.0.7-cp311-cp311-win_amd64.whl
Size 5.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1e49dd97dccd4dfb0cfc61574799c823652bc292c5dc5218a5e89e92c3419f32
BLAKE2b-256 checksum
How to use checksums
c5a6d38852564b5482fa419c256e40a98c5c4eb6a606d32563c4dbe48a38c4da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL gob-0.0.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.7 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
393ae05e55470db3e2cf73316982f41ac122029cfc66053d228a30f4aef43952
BLAKE2b-256 checksum
How to use checksums
b57abc6606f90f981d09e0f345e05c99f968436165681f66a061736f49b235b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp311-cp311-macosx_11_0_arm64.whl

Download URL gob-0.0.7-cp311-cp311-macosx_11_0_arm64.whl
Size 6.4 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ee78c6e7542547cd06195ec164355a875106601379b3c82d307640e771dee39c
BLAKE2b-256 checksum
How to use checksums
f5398126633531884db01db07da83b20898fe372d2dfe37193ec8eee28f6593a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp310-cp310-win_amd64.whl

Download URL gob-0.0.7-cp310-cp310-win_amd64.whl
Size 5.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
63cd9047cb9c28a607f60c9450c0703c46cdb14f1edf2d22e29fb8323b155b1c
BLAKE2b-256 checksum
How to use checksums
29e6094c74f9168faff944daa66354f69cd62bab9c542d1106b9dfed78226f7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL gob-0.0.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.7 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
087096a0e20d18bbac43a73c30515fe9400193ee4adf7663601e128e618bfbdf
BLAKE2b-256 checksum
How to use checksums
d75ee7ed41e76a91ccfb26493e2c8dd284617da7a094c855926c725dc034fa44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / gob-0.0.7-cp310-cp310-macosx_11_0_arm64.whl

Download URL gob-0.0.7-cp310-cp310-macosx_11_0_arm64.whl
Size 6.4 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ad623652225092d355a85c8d120eb2ab238f91391848fad13e62ab57edc51126
BLAKE2b-256 checksum
How to use checksums
dcd4f98a13f051e6d0388ae34f29666e0c2fb969a26d084d5f2db3b391686666
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

0.0.7 This release

16 release files

0.0.6

13 release files

0.0.5

13 release files

0.0.4

13 release files

0.0.3

13 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page