/// <summary> /// Create problem from list of nodes /// </summary> /// <param name="nodes">list of nodes defining TSP problem instance</param> /// <returns>Generated TSP problem</returns> public static TravelingSalesmanProblem FromNodes(List <INode> nodes) { if (nodes == null) { throw new ArgumentNullException("nodes"); } var nodeProvider = new NodeListBasedNodeProvider(nodes); var edgeProvider = new NodeBasedEdgeProvider(nodes); var edgeWeightsProvider = new FunctionBasedWeightProviderWithCaching(new Euclidean()); var fixedEdgesProvider = new EdgeListBasedFixedEdgesProvider(new EdgesCollection()); return(new TravelingSalesmanProblem(nodes.Count + " city TSP problem", "Generated", ProblemType.ATSP, nodeProvider, edgeProvider, edgeWeightsProvider, fixedEdgesProvider)); }
/// <summary> /// Create problem from list of nodes /// </summary> /// <param name="nodes">list of nodes defining TSP problem instance</param> /// <returns>Generated TSP problem</returns> public static TravelingSalesmanProblem FromNodes(List<INode> nodes) { if (nodes == null) { throw new ArgumentNullException("nodes"); } var nodeProvider = new NodeListBasedNodeProvider(nodes); var edgeProvider = new NodeBasedEdgeProvider(nodes); var edgeWeightsProvider = new FunctionBasedWeightProviderWithCaching(new Euclidean()); var fixedEdgesProvider = new EdgeListBasedFixedEdgesProvider(new EdgesCollection()); return new TravelingSalesmanProblem(nodes.Count + " city TSP problem", "Generated", ProblemType.ATSP, nodeProvider, edgeProvider, edgeWeightsProvider, fixedEdgesProvider); }