Problema do caixeiro viajante utilizando backtraking, programação dinâmica e branch and bound implementado em python