1. A system of scheduling a set of workers, each worker associated with one of a set of flexibility classifications, the set including a flex-time classification, comprising: a processor comprising: logic configured to generate a set of shift instances to cover forecasted demand over a planning period; logic configured to produce a set of staff mix enumerations to cover the shift instances, the set of enumerations varying from a first enumeration including zero workers of at least one non-flex-time classification and a first computed number of workers of the flex-time classification, to a last enumeration including a maximum number of workers of the at least one non-flex-time classification and a last computed number of workers of the flex-time classification; and logic configured to assign the shift instances to the set of workers by iterating through the each of the workers to assign at least a portion of the shift instances to a selected one of the workers, such that total hours assigned to the selected worker depends on a per-interval maximum number and a per-interval minimum number of hours associated with the classification of the selected worker.