An improved discrete bat algorithm for symmetric and asymmetric Traveling Salesman Problems. (February 2016)