A comparative study of teaching-learning-self-study algorithms on benchmark function optimization