The RealTimeScheduling package (created by yours truly 😁) gives some nice structures for representing real-time tasks and task systems, as well as tools for common computations on those like schedulability tests and even scheduler simulation. In the interest of code reuse, it would be nice to use that package throughout this one.
A little care here could let us substitute other schedulability tests, for instance, so we could consider non-optimal schedulers such as fixed priority. A little more care and we might even be able to add support for non-control tasks, whose periods can't be changed by the optimization procedure.