evobandits

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

https://github.com/evobandits/evobandits

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.5%) to scientific vocabulary

Keywords

optimization reinforcement-learning
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
Statistics
  • Stars: 7
  • Watchers: 3
  • Forks: 1
  • Open Issues: 16
  • Releases: 6
Topics
optimization reinforcement-learning
Created over 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Codeowners Security

README.md

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 efficiently. EvoBandits offers a reinforcement learning-based approach to solving complex, large-scale optimization issues by combining genetic algorithms with multi-armed bandit mechanisms. 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:

bash pip install evobandits

```python from evobandits import GMAB

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

if name == 'main': bounds = [(-5, 10), (-5, 10)] algorithm = GMAB(testfunction, bounds) ntrials = 10000 result = algorithm.optimize(n_trials) print(result) ```

Contributing

Pull requests are welcome. For major changes, please open a discussion first to talk about what you'd like to change.

License

EvoBandits is licensed under the Apache-2.0 license (LICENSE or https://opensource.org/licenses/apache-2-0).

Credit

Deniz Preil wrote the initial EvoBandits prototype in C++, which Timo Kühne and Jonathan Laib rewrote. Timo Kühne ported to Rust, which is now the backend. Felix Würmseher added the Python frontend.

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.

Owner

  • Name: EvoBandits
  • Login: EvoBandits
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Preil"
  given-names: "Deniz"
  orcid: "https://orcid.org/0000-0001-7928-7267"
- family-names: "Krapp"
  given-names: "Michael"
  orcid: "https://orcid.org/0009-0001-3003-6747"
title: "Genetic Multi-Armed Bandits: A Reinforcement Learning Inspired Approach for Simulation Optimization"
version: 0.1
url: "https://github.com/EvoBandits/EvoBandits"
preferred-citation:
  type: article
  authors:
  - family-names: "Preil"
    given-names: "Deniz"
    orcid: "https://orcid.org/0000-0001-7928-7267"
  - family-names: "Krapp"
    given-names: "Michael"
    orcid: "https://orcid.org/0009-0001-3003-6747"
  journal: "IEEE Transactions on Evolutionary Computation"
  title: "Genetic Multi-Armed Bandits: A Reinforcement Learning Inspired Approach for Simulation Optimization."
  year: 2024

GitHub Events

Total
  • Create event: 60
  • Issues event: 37
  • Release event: 7
  • Watch event: 3
  • Delete event: 41
  • Issue comment event: 28
  • Push event: 226
  • Pull request review comment event: 53
  • Pull request review event: 101
  • Pull request event: 69
Last Year
  • Create event: 60
  • Issues event: 37
  • Release event: 7
  • Watch event: 3
  • Delete event: 41
  • Issue comment event: 28
  • Push event: 226
  • Pull request review comment event: 53
  • Pull request review event: 101
  • Pull request event: 69

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 28
  • Total pull requests: 96
  • Average time to close issues: 21 days
  • Average time to close pull requests: 4 days
  • Total issue authors: 2
  • Total pull request authors: 4
  • Average comments per issue: 0.71
  • Average comments per pull request: 0.36
  • Merged pull requests: 80
  • Bot issues: 0
  • Bot pull requests: 7
Past Year
  • Issues: 28
  • Pull requests: 96
  • Average time to close issues: 21 days
  • Average time to close pull requests: 4 days
  • Issue authors: 2
  • Pull request authors: 4
  • Average comments per issue: 0.71
  • Average comments per pull request: 0.36
  • Merged pull requests: 80
  • Bot issues: 0
  • Bot pull requests: 7
Top Authors
Issue Authors
  • fwuermseher (20)
  • tnkuehne (8)
Pull Request Authors
  • fwuermseher (45)
  • tnkuehne (42)
  • dependabot[bot] (7)
  • jonathanlaib (2)
Top Labels
Issue Labels
python (7) enhancement (7) rust (5) bug (3) documentation (2) question (1) dependencies (1)
Pull Request Labels
rust (11) bug (7) dependencies (7) python (6) enhancement (5) documentation (4)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 349 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 6
  • Total maintainers: 3
pypi.org: evobandits

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

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 349 Last month
Rankings
Dependent packages count: 9.2%
Average: 30.6%
Dependent repos count: 52.0%
Maintainers (3)
Last synced: 6 months ago

Dependencies

.github/workflows/rust.yml actions
  • actions/checkout v3 composite
Cargo.toml cargo
.github/workflows/python.yml actions
  • PyO3/maturin-action v1 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
  • uraimo/run-on-arch-action v2 composite
gmab/Cargo.toml cargo
pygmab/Cargo.toml cargo
pygmab/pyproject.toml pypi
  • scikit-learn *