Skip to main content

Optimization algorithm combining genetic algorithms and multi-armed bandits for stochastic problems

Project description

EvoBandits

EvoBandits is a cutting-edge optimization algorithm that merges genetic algorithms and multi-armed bandit strategies to efficiently solve stochastic problems.

Build & Test


EvoBandits (Evolutionary Multi-Armed Bandits) is an innovative optimization algorithm designed to tackle stochastic problems with high efficiency. By combining genetic algorithms with multi-armed bandit mechanisms, EvoBandits offers a unique, reinforcement learning-based approach to solving complex, large-scale optimization issues. Whether you're working in operations research, machine learning, or data science, EvoBandits provides a robust, scalable solution for optimizing your stochastic models.

Usage

To install EvoBandits, add the following to your Cargo.toml file:

pip install evobandits
from evobandits import EvoBandits

def test_function(number: list) -> float:
    # your function here

if __name__ == '__main__':
    bounds = [(-5, 10), (-5, 10)]
    evobandits = EvoBandits(test_function, bounds)
    evaluation_budget = 10000
    result = evobandits.optimize(evaluation_budget)
    print(result)

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you want to change.

License

tbd

Credit

Deniz Preil wrote the initial EvoBandits code, which Timo Kühne and Jonathan Laib rewrote.

Citing EvoBandits

If you use EvoBandits in your research, please cite the following paper:

Preil, D., & Krapp, M. (2024). Genetic Multi-Armed Bandits: A Reinforcement Learning Inspired Approach for Simulation Optimization. IEEE Transactions on Evolutionary Computation.

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

evobandits-0.0.3.tar.gz (77.3 kB view details)

Uploaded Source

Built Distributions

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

evobandits-0.0.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (321.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

evobandits-0.0.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (326.7 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

evobandits-0.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (322.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

evobandits-0.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (327.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

evobandits-0.0.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (327.0 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

evobandits-0.0.3-cp313-cp313-win_amd64.whl (175.3 kB view details)

Uploaded CPython 3.13Windows x86-64

evobandits-0.0.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (320.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

evobandits-0.0.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (326.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

evobandits-0.0.3-cp313-cp313-macosx_11_0_arm64.whl (286.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

evobandits-0.0.3-cp313-cp313-macosx_10_12_x86_64.whl (288.6 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

evobandits-0.0.3-cp312-cp312-win_amd64.whl (175.4 kB view details)

Uploaded CPython 3.12Windows x86-64

evobandits-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (320.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

evobandits-0.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (326.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

evobandits-0.0.3-cp312-cp312-macosx_11_0_arm64.whl (287.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

evobandits-0.0.3-cp312-cp312-macosx_10_12_x86_64.whl (288.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

evobandits-0.0.3-cp311-cp311-win_amd64.whl (175.3 kB view details)

Uploaded CPython 3.11Windows x86-64

evobandits-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (321.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

evobandits-0.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (327.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

evobandits-0.0.3-cp311-cp311-macosx_11_0_arm64.whl (289.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

evobandits-0.0.3-cp311-cp311-macosx_10_12_x86_64.whl (291.2 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

evobandits-0.0.3-cp310-cp310-win_amd64.whl (175.6 kB view details)

Uploaded CPython 3.10Windows x86-64

evobandits-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (321.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

evobandits-0.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (330.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file evobandits-0.0.3.tar.gz.

File metadata

  • Download URL: evobandits-0.0.3.tar.gz
  • Upload date:
  • Size: 77.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.8.3

File hashes

Hashes for evobandits-0.0.3.tar.gz
Algorithm Hash digest
SHA256 54c585181db71191bbb10fb3c03c3b95c452b1a469975f2c6f3cba2bfbf413ae
MD5 6405231f7b02b0f5e515e87cf764808d
BLAKE2b-256 fa31f8d2f565c03c1e55195e5149725c55d3664d8d29e4a673f63cfa6b59ccf5

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21d45e767e24ef76da802b577fe162a09f72ece6c453a1ddc224c36250d54f5b
MD5 a98b6323776e500ee93fa4a79c1d47f1
BLAKE2b-256 001e98ce666ea18f0c6cab77c9abe358741f0249101390d1b51888af6ec3a16b

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b904293d5d7397b8444cc9381bdfa5925270ef8a841f7360b467e59dc4e11162
MD5 44a4f6bca169f722592c9855fa4a827b
BLAKE2b-256 4c5b3b4afa588146e2bbda80e4d672c2d10e74c0e80180a710ef6ef6e9a0fd9c

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3413118ae927ec3a6efd217b35611d31eb3d430e59d0ad29188f1bbc4b39c685
MD5 cfe1d94b3b7a1665a193bb27fa9a763e
BLAKE2b-256 0569779a429f8cf36d28a485b63c1b33b9ac138684a7e96703654ecf701c7522

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 722b94953f3ffb5fa8cfb8325e094e37ae1e468c97ad6c32426b6121bcde58d9
MD5 94ef0f9e964329dca206c972fc2b21b9
BLAKE2b-256 66e295e4030c79b497fb8ed52efacd8f3098914d0252033103f1d46482735533

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e02a65fcbbabf1f31dcc021aef184f7670f918de3daaa1cc3ff99baff62052d7
MD5 90e1f15fef6f0c48897076f96b4f6326
BLAKE2b-256 6bd9d888057fc2340029ad3f5a19cea994c5856471be1360054241dcfd3808a4

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1bdf2bd17fb8a8984507ad944eecc96bd875bf05a32fbdaa34533be8aa10be0c
MD5 9eb74617b54460c04bb8ec1a176eabe2
BLAKE2b-256 5c4b7f76dde3e07b3db5f4ced294cea811d3a8e5b0a6b6a96fbaf816c4813c27

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e0b07b2fd0f66b31b170f254ebc311087afdadc432d90990d77b5f363ef20ef
MD5 8aa7234e4c21e26d19e0a5270b1df294
BLAKE2b-256 559c7b3ce005c55f8ea86bd5113949d3fc9726661be5dd5c19cd1b4e44fe306a

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d78f7ca7c0b63d46a59af55532f7d6f2db479d79b4b48d0381e8e91df5c268f5
MD5 1caebeb172e86ba6f5362ef8e3da9cb2
BLAKE2b-256 94b38e6b78af6906a7753f7e1f769b6591604ca3e94324dc9714050151837542

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6fd2f9b92eea281195abd71041a087cf75d41f7a57ef7e254ed11807d18d112d
MD5 1150029c1fa9d61f5cc401017c217890
BLAKE2b-256 9682b5160b36b8ea4ca0906746dcd1282a1913e928e3bcd5c92ebc9a607cad5c

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e53b5a6997d5752c2accbf8a2f6bc8162e9ed93481c1077cc6dc58e7b22cf35a
MD5 68ad9dfc8dfff9d838a86a6dda65d14f
BLAKE2b-256 8cd35fe2937bebff10b8e4262b17b9c4640490944a9dec8c59dbabbe96d80b6f

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 567f3191b19ef1a680ecfee000455689527f14b209443b0691d177352e8cecf0
MD5 db2dfdc94c3f57c96030d9ff4db2390f
BLAKE2b-256 073f95780f06a4b5564f8d877042acaf29988785538e3ad0b2520eda6404067c

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa8f5c6fd4e61b8833e91e8d0c7e9e262616c0b75c33987a922e1c3fdd7784f7
MD5 cf0789d21cf9ed952f214df8bf3b9807
BLAKE2b-256 03a7fab0a1271b5d93d8d7c76e1e8dd32052c1fc90362fedd3c0111430a5256e

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6e4c756ed5e975a38afe0108651a2f40cafcb4294ca2c18907bef919d26597ca
MD5 f2c1dbcd11aea745685a3766d337618d
BLAKE2b-256 ae9832f4861e0c4523927529e20186157b142baf6e58fbd250081a730c9fcb98

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c98ba9fa8afadedbbbc035e513c47e549fbbd1374b33e3d4fa3a5c92f19b19c4
MD5 30710be508f526e6891ca42d721951ae
BLAKE2b-256 a65db6058a8d1b54820ddfbc535eb8fb0b236b5c735ad41a3d54ea1c480bc814

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 649c4d6021d07fb5cf51380e592cb30e2a3f65fb4dc6c52655ffffd69af4d5e8
MD5 26f951cb5a4382651707e46ec4df9789
BLAKE2b-256 de7f1aca1b27837f0fcb8f4f898bc87d0d631f28f5104b37a65d9faa92be8970

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 435c8ce94f9607aa15912b464e5c6c19bf3f2a6e74c45073ff6fe65fc92ff08f
MD5 9daad7a9f80fa835201918f708d8278e
BLAKE2b-256 7327c8ca7fb0488db33c1727a43e3587fad471475af3c1ea5e990d4daef2efee

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9785a55ab13747953b1fa92ed2d809093240dd989cb4e25d73121193606b7d90
MD5 faa908c84d0b14c2a19f2a4d029f0aee
BLAKE2b-256 e4de0c2dd3765f4d5c0b646e91ed0d5396d3b96769db5d63cc720fec77e311c9

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3116f99e723852c8decfe42d84d0f1a7490bedba79c4331390900f8dcf9b0ae2
MD5 45708226c997433023177ced76dc5ecd
BLAKE2b-256 94db513d2a46ede9fe70d3676efbb1f54c5b155b1faa8a4014f5d02feea9cc14

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9661780678a60dc9be8e0e81c1ce884ea1edd443dcc0545bffa29928a897a648
MD5 bf18728f6ca63b5be0dec9f9fc083480
BLAKE2b-256 513ad9e619eb9af72cef46aeecd2ce361dcd65b1f8f6c2d6ca5b94ce14a1f1c5

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 42a8c8539bbed7c3b3bf9b773553cea35e510d75900e5afaa7136e5289aa8dc7
MD5 506f85ad8e0f80edaa8ca50262a808c9
BLAKE2b-256 e7b52e9651d0a88f30e748832868f24bffb803a7f958af11adc09ae93366a387

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 058ed1c73a7db9213f940a478ebea63bbad04b79453b271331de618758fad537
MD5 1cd45d988d3a451372807f562c793aa4
BLAKE2b-256 2e6b920464563e4597f27faf5d4f25aae7b31a88ad7f71068ed07307ffc45ede

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d17a25c73a1e4ec6e515e20ae5792057b539aa8fe6b56d7bf0eefaa8fe83916f
MD5 fc5ebd2d5a63c85d3283b1c7b09d4aa1
BLAKE2b-256 529249398002cd0a474c90b5496c05abd7605f9439a63a7f19cffa1294d65769

See more details on using hashes here.

File details

Details for the file evobandits-0.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for evobandits-0.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1fd4960520285a83cb11535f6d1786fa5006e89c39098466dcbf2a9dd1d5efc0
MD5 1cea038a6742233ac2547b7b63249b38
BLAKE2b-256 fc881a4e2e3f2d17300277020cb5056d3a670d922ca5841b9cb2e0b5bd12eba4

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