### 1 unstable release

0.1.0 | Apr 30, 2022 |
---|

#**14** in #scheduling

**MIT**license

10KB

151 lines

# Moore Hodgson in Rust

An implementation of the Moore-Hudgson algorithm within

rust.`no_std`

The Moore-Hudgson algorithm is a scheduling algorithm that minimizes the amount of late jobs.

It provides a single function

, that performs the algorithm.`moore_hodgson`

## 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.