public static GrafoTsp LerTsp(string caminhoArquivo) { var arquivo = File.ReadAllLines(caminhoArquivo); var retorno = new GrafoTsp(arquivo.Length); foreach (var linha in arquivo) { try { var split = linha.Trim().Split(' '); var ponto = new Ponto(Convert.ToDouble(split[1]), Convert.ToDouble(split[2])); var vertice = new VerticeTsp(Convert.ToInt32(split[0]), ponto); retorno.Vertices.Add(Convert.ToInt32(split[0]), vertice); } catch (Exception e) { throw new Exception(String.Format("Erro ao tratar linha: '{0}' . Mensagem de erro: {1}", linha, e.Message)); } } return retorno; }
public VerticeTsp(int id, Ponto ponto) { this.Id = id; this.Ponto = ponto; this.Auxiliar = true; }