metaheurustics-rs
A comprehensive Rust library for metaheuristic optimization algorithms, providing efficient implementations of various optimization techniques
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
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
Metadata Files
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 functionsexamples/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
- Website: https://www.linkedin.com/in/arya--shah/
- Twitter: aryashah2k
- Repositories: 96
- Profile: https://github.com/aryashah2k
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
Top Committers
| Name | 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
- Documentation: https://docs.rs/metaheurustics-rs/
- License: MIT
-
Latest release: 0.2.0
published about 1 year ago