private static double TspCanonicalDistance(string problemName, int nrNodes)
 {
     var tspLib = new TspLib95(RootDir);
     tspLib.LoadTSP(problemName);
     var problem = tspLib.GetItemByName(problemName, ProblemType.TSP).Problem;
     var nodes = Enumerable.Range(1, nrNodes);
     var tour = new Tour(problemName, "", nodes.Count(), nodes);
     return problem.TourDistance(tour);
 }
Пример #2
0
 public void Constructor_DimensionIsZero_NodeCountTakenAsDimension()
 {
     Tour tour = new Tour("name", "comment", 0, new[] { 1, 2, 3 });
     Assert.IsNotNull(tour);
     Assert.AreEqual("name", tour.Name);
     Assert.AreEqual("comment", tour.Comment);
     Assert.AreEqual(3, tour.Dimension);
     Assert.AreEqual(3, tour.Nodes.Count);
     Assert.AreEqual(1, tour.Nodes[0]);
     Assert.AreEqual(2, tour.Nodes[1]);
     Assert.AreEqual(3, tour.Nodes[2]);
 }
Пример #3
0
 public void Constructor_InitilizesTourProperly()
 {
     Tour tour = new Tour("name", "comment", 3, new[] { 1, 2, 3 });
     Assert.IsNotNull(tour);
     Assert.AreEqual("name", tour.Name);
     Assert.AreEqual("comment", tour.Comment);
     Assert.AreEqual(3, tour.Dimension);
     Assert.AreEqual(3, tour.Nodes.Count);
     Assert.AreEqual(1, tour.Nodes[0]);
     Assert.AreEqual(2, tour.Nodes[1]);
     Assert.AreEqual(3, tour.Nodes[2]);
 }
Пример #4
0
 public void Constructor_OnNullNodeArgument_ThrowsException()
 {
     Tour tour = new Tour("name", "comment", 3, null);
     Assert.Fail();
 }
Пример #5
0
 public void Constructor_DimensionIsNegative_ExcptionThrown()
 {
     Tour tour = new Tour("name", "comment", -1, new[] { 1, 2, 3 });
     Assert.Fail();
 }
Пример #6
0
 public void Constructor_OnNullNameArgument_ThrowsException()
 {
     Tour tour = new Tour(null, "comment", 3, new[] { 1, 2, 3 });
     Assert.Fail();
 }