#moore #scheduling #due #late #hodgson

no-std moore-hodgson

An implementation of the Moore Hodgson's Scheduling Algorithm in Rust

1 unstable release

0.1.0 Apr 30, 2022

#1428 in Algorithms

MIT license

11KB
151 lines

Moore Hodgson in Rust

License: MIT moore-hodgson on crates.io Source Code Repository

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.

No runtime deps