Constraint-based university exam scheduler using genetic selection, crossover, mutation, and fitness optimization