Function simple_optimization::random_search [−][src]
pub fn random_search<const N: usize>(
iterations: usize,
ranges: [Range<f64>; N],
f: fn(_: &[f64; N]) -> f64,
polling: Option<u64>
) -> [f64; N]
Expand description
Random search
Randomly pick parameters for simple_function
in the ranges 0..1
, 1..2
, and 3..4
and return the parameters which produce the minimum result from simple_function
out of 10,000 samples.
And every 10ms print progress.
use simple_optimization::random_search; fn simple_function(list: &[f64; 3]) -> f64 { list.iter().sum() } let best = random_search( 10000, [0f64..1f64,1f64..2f64,3f64..4f64], simple_function, Some(10) ); assert!(best[0] < 0.1 && best[1] < 1.1 && best[2] < 3.1)