In at least some embodiments, a method comprises computing an initial schedule of jobs to be run on a computing system using a mathematical program and monitoring the computing system. The method also comprises, based on the monitoring, determining, using the mathematical program used to compute the initial schedule, whether the initial schedule should be re-computed.