Text this: Maintaining diversity for genetic algorithm : a case of timetabling problem.