samyama-optimization

Crates.iosamyama-optimization
lib.rssamyama-optimization
version0.3.1
created_at2026-01-16 06:41:01.527507+00
updated_at2026-01-22 05:02:40.609969+00
descriptionHigh-performance metaheuristic optimization algorithms (Jaya, Rao, TLBO, BMR, BWR, QOJaya, ITLBO) in Rust.
homepage
repositoryhttps://github.com/VaidhyaMegha/optimization_algorithms
max_upload_size
id2048016
size63,069
Sandeep Kunkunuru (sandeepkunkunuru)

documentation

README

Samyama Optimization Engine (Rust)

A high-performance library implementing metaphor-less metaheuristic optimization algorithms.

Algorithms

  • Jaya: Parameter-less optimization (Toward best, away from worst).
  • Rao (1, 2, 3): Metaphor-less algorithms using best, worst, and mean solutions.
  • TLBO: Teaching-Learning-Based Optimization.
  • BMR: Best-Mean-Random.
  • BWR: Best-Worst-Random.

Features

  • Parallel Evaluation: Automatic multi-threaded fitness calculation via rayon.
  • Zero-Copy: Minimal overhead when operating on large vectors.
  • Python Bindings: Easy integration with Python data science stacks.

Usage (Rust)

use samyama_optimization::algorithms::*;
use samyama_optimization::common::*;
use ndarray::array;

let problem = SimpleProblem {
    objective_func: |x| x.iter().map(|&v| v * v).sum(),
    dim: 2,
    lower: array![-10.0, -10.0],
    upper: array![10.0, 10.0],
};

let solver = JayaSolver::new(SolverConfig::default());
let result = solver.solve(&problem);
println!("Best: {:?}", result.best_variables);

Usage (Python)

import samyama_optimization as so
import numpy as np

def sphere(x):
    return np.sum(x**2)

res = so.solve_jaya(sphere, np.array([-10, -10]), np.array([10, 10]))
print(f"Best fitness: {res.best_fitness}")
Commit count: 47

cargo fmt