olving timetabling problems using a cultural algorithm