extern crate ggq;
use ggq::{SimEnv, SimParams};
fn main() {
let params = SimParams {
mean_inter_arrival_time: 10.0,
mean_service_time: 8.0,
};
let max_time = 10000.0;
let n_rep = 1000;
let mut sum_w_q = 0.0;
let mut sum_w_s = 0.0;
for r in 1..=n_rep {
let mut env = SimEnv::new(¶ms);
env.simulate(max_time);
sum_w_q += env.get_metrics().mean_waiting_time.unwrap();
sum_w_s += env.get_metrics().mean_cycle_time.unwrap();
println!(
"Rep {r:5} ... E[W_q] = {:2.4}, E[W_s] = {:2.4}",
env.get_metrics().mean_waiting_time.unwrap(),
env.get_metrics().mean_cycle_time.unwrap()
)
}
println!(
"Average waiting time: {:2.2}\nAverage sojourn time: {:2.2}",
sum_w_q / n_rep as f64,
sum_w_s / n_rep as f64
);
}