1. A method to schedule execution of a plurality of batch jobs by a computer system, the method comprising: reading one or more constraints that constrain the execution of the plurality of batch jobs by the computer system, including constraints from a service level agreement specifying irregular run frequencies for the plurality of batch jobs, and an expected number of operations per time period on the computer system; defining, for each batch job of the plurality of batch jobs, multiple batch jobs with regular run frequencies that together perform all of the operations of the batch job; grouping the batch jobs with regular run frequencies into at least one run frequency that includes at least one batch job with a regular run frequency; setting the at least one run frequency to a first run frequency; computing an average number of operations per time period generated by the at least one batch job in the first run frequency on the computer system during an average duration of the at least one batch job based on a total number of operations generated by the at least one batch job; computing a worst-case number of operations per time period generated by the at least one batch job in the first run frequency on the computer system by multiplying the at least one batch job's average number of operations per time period by a factor that transforms the average number of operations per time period into a greatest number of operations per time period experienced during an execution of the at least one batch job; and determining an optimized start time that meets the one or more constraints, for the at least one batch job in the first run frequency, based on adding the at least one batch job's worst-case number of operations per time period to the expected number of operations per time period on the computer system at a proposed start time and comparing this value to a maximum number of operation per time period of the computer system.