Function hercules::local_search::particle_swarm_search
source ยท pub fn particle_swarm_search<T: Algorithm>(
qubo: &Qubo,
num_particles: usize,
max_steps: usize,
prng: &mut PRNG<T>
) -> Array1<usize>
Expand description
Performs a particle swarm search on a QUBO.
Example:
use hercules::qubo::Qubo;
use smolprng::{PRNG, JsfLarge};
use hercules::{initial_points, utils};
use hercules::local_search;
// generate a random QUBO
let mut prng = PRNG {
generator: JsfLarge::default(),
};
let p = Qubo::make_random_qubo(10, &mut prng, 0.5);
// perform particle swarm with 150 particles for 1000 iterations
let x_sol = local_search::particle_swarm_search(&p, 150, 1000, &mut prng);