1 unstable release
0.1.0 | Apr 30, 2022 |
---|
#1548 in Algorithms
11KB
151 lines
Moore Hodgson in Rust
An implementation of the Moore-Hudgson algorithm within no_std
rust.
The Moore-Hudgson algorithm is a scheduling algorithm that minimizes the amount of late jobs.
It provides a single function moore_hodgson
, that performs the algorithm.
Examples
use moore_hodgson::moore_hodgson;
let mut jobs = [
("ApplyForJob", 6, 5), // Due after 6 time units, takes 5 time units
("FileTaxes", 7, 1), // Due after 7 time units, takes 1 time unit
("BuyPresentForMom", 4, 1), // Due after 4 time units, takes 1 time unit
("SolveUrgentProblem", 6, 4), // Due after 6 time units, takes 4 time units
("ApplyForLoan", 8, 3), // Due after 8 time units, takes 3 time units
];
let nr_of_on_time_jobs = moore_hodgson(&mut jobs);
assert_eq!(nr_of_on_time_jobs, 3);
// jobs = [
// (BuyPresentForMom, 4, 1),
// (ApplyForJob, 6, 5),
// (FileTaxes, 7, 1),
// (ApplyForLoan, 8, 3),
// (SolveUrgentProblem, 6, 4),
// ]
License
Licensed under a MIT license.