Similar Items: A Water Flow-Like Algorithm for the Travelling Salesman Problem