The infamous Traveling Salesman problem solved by different algorithms (Dynamic Programming, Backtracking & Branch and Bound)