metaheurustics-rs

A comprehensive Rust library for metaheuristic optimization algorithms, providing efficient implementations of various optimization techniques

https://github.com/aryashah2k/metaheurustics

Science Score: 54.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
  • Committers with academic emails
    1 of 1 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

A comprehensive Rust library for metaheuristic optimization algorithms, providing efficient implementations of various optimization techniques

Basic Info
  • Host: GitHub
  • Owner: aryashah2k
  • License: mit
  • Language: Rust
  • Default Branch: main
  • Size: 66.4 KB
Statistics
  • Stars: 31
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

MetaheuRUSTics

A comprehensive collection of metaheuristic optimization algorithms implemented in Rust. This library provides efficient implementations of popular optimization algorithms along with visualization tools.

Features

  • Multiple optimization algorithms:

    • Particle Swarm Optimization (PSO)
    • Differential Evolution (DE)
    • Genetic Algorithm (GA)
    • Simulated Annealing (SA)
    • Adaptive Chaotic Grey Wolf Optimizer (ACGWO)
    • Artificial Bee Colony Optimization (ABCO)
    • Grey Wolf Optimizer (GWO)
    • Firefly Algorithm (FA)
  • Test functions for benchmarking:

    • Sphere Function
    • Ackley Function
    • Rosenbrock Function
    • Rastrigin Function
    • Beale Function
    • Griewank Function
  • Visualization tools:

    • Surface plots
    • Contour plots
    • Convergence plots

Installation

Add this to your Cargo.toml:

toml [dependencies] metaheurustics = "0.2.0"

Quick Start

Here's a simple example using PSO to optimize the Sphere function:

```rust use metaheurustics::prelude::*; use metaheurustics::algorithm::pso::{PSO, PSOParams}; use metaheurustics::test_function::Sphere;

fn main() { let sphere = Sphere::new(); let psoparams = PSOParams::default(); let pso = PSO::new(&sphere, psoparams);

let result = pso.optimize();
println!("Best solution: {:?}", result.best_solution);
println!("Best fitness: {}", result.best_fitness);

} ```

Examples

Check out the examples directory for more detailed usage:

  • examples/plot_all.rs: Demonstrates visualization of all algorithms on different test functions
  • examples/simple_optimization.rs: Shows basic usage of each optimization algorithm

Documentation

For detailed documentation, visit docs.rs/metaheurustics

Benchmarks

The library includes comprehensive benchmarks comparing the performance of different algorithms on various test functions. Run the benchmarks using:

bash cargo bench

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Owner

  • Name: Arya Shah
  • Login: aryashah2k
  • Kind: user
  • Location: Mumbai, India
  • Company: IIT Gandhinagar

Artificial Intelligence Engineer & Researcher

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
preferred-citation:
  type: github-repository
  authors:
  - family-names: "Shah"
    given-names: "Arya Shah"
    orcid: "https://orcid.org/0000-0002-2649-1835"
  title: "MetaheuRUSTics: A comprehensive collection of metaheuristic optimization algorithms implemented in Rust"
  year: 2025
  url: "https://github.com/aryashah2k/metaheuRUSTics"

GitHub Events

Total
  • Issues event: 2
  • Watch event: 31
  • Issue comment event: 1
  • Push event: 11
  • Create event: 2
Last Year
  • Issues event: 2
  • Watch event: 31
  • Issue comment event: 1
  • Push event: 11
  • Create event: 2

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 12
  • Total Committers: 1
  • Avg Commits per committer: 12.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 12
  • Committers: 1
  • Avg Commits per committer: 12.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
aryashah2k a****2@n****n 12
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: 11 days
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 11 days
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ethankess (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cargo 1,400 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
crates.io: metaheurustics-rs

A comprehensive collection of metaheuristic optimization algorithms implemented in Rust

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,400 Total
Rankings
Dependent repos count: 24.1%
Dependent packages count: 32.0%
Average: 50.5%
Downloads: 95.4%
Maintainers (1)
Last synced: 7 months ago