1. A non-transitory computer readable medium embodying instructions executable by a processor to perform a method of generating a feasible schedule for n jobs given a duration and a revisit time for each job, comprising: receiving input data describing the n jobs, the duration, and the revisit time for each of the n jobs; determining from the input data that a round robin schedule is not possible and performing steps for determining a feasible schedule, wherein determining the feasible schedule comprises, calculating a theoretical probability for each of the n jobs, wherein the theoretical probability is a probability that a job will be performed next; calculating an actual probability for each of the n jobs wherein the actual probability is a relative amount of time that each job is performed; creating a potential schedule for the n jobs based on the theoretical probabilities and the actual probabilities; searching for the feasible schedule of the n jobs from the potential schedule of the n jobs; and outputting the feasible schedule wherein the n jobs are scheduled according to the feasible schedule.