/// <summary> /// Creates new instance of SequentialOrderingProblem class /// </summary> /// <param name="name">problem name</param> /// <param name="comment">comment on problem from the author</param> /// <param name="nodeProvider">provider of nodes</param> /// <param name="edgeProvider">provider of edges</param> /// <param name="edgeWeightsProvider">provider of edge weights</param> /// <param name="fixedEdgesProvider">provider of fixed edges</param> public SequentialOrderingProblem(string name, string comment, INodeProvider nodeProvider, IEdgeProvider edgeProvider, IEdgeWeightsProvider edgeWeightsProvider, IFixedEdgesProvider fixedEdgesProvider) : base(name, comment, ProblemType.SOP, nodeProvider, edgeProvider, edgeWeightsProvider, fixedEdgesProvider) { }
/// <summary> /// Creates new instance of HamiltonianCycleProblem class /// </summary> /// <param name="name">problem name</param> /// <param name="comment">comment on problem from the author</param> /// <param name="nodeProvider">provider of nodes</param> /// <param name="edgeProvider">provider of edges</param> /// <param name="edgeWeightsProvider">provider of edge weights</param> /// <param name="fixedEdgesProvider">provider of fixed edges</param> public HamiltonianCycleProblem(string name, string comment, INodeProvider nodeProvider, IEdgeProvider edgeProvider, IEdgeWeightsProvider edgeWeightsProvider, IFixedEdgesProvider fixedEdgesProvider) : base(name, comment, ProblemType.HCP, nodeProvider, edgeProvider, edgeWeightsProvider, fixedEdgesProvider) { }
/// <summary> /// Creates new instance of TravelingSalesmanProblem class /// </summary> /// <param name="name">problem name</param> /// <param name="comment">comment on problem from the author</param> /// <param name="type">TSP or ATSP</param> /// <param name="nodeProvider">provider of nodes</param> /// <param name="edgeProvider">provider of edges</param> /// <param name="edgeWeightsProvider">provider of edge weights</param> /// <param name="fixedEdgesProvider">provider of fixed edges</param> public TravelingSalesmanProblem(string name, string comment, ProblemType type, INodeProvider nodeProvider, IEdgeProvider edgeProvider, IEdgeWeightsProvider edgeWeightsProvider, IFixedEdgesProvider fixedEdgesProvider) : base(name, comment, type, nodeProvider, edgeProvider, edgeWeightsProvider, fixedEdgesProvider) { }
/// <summary> /// Creates new instance of CapacitatedVehicleRoutingProblem class /// </summary> /// <param name="name">problem name</param> /// <param name="comment">comment on problem from the author</param> /// <param name="nodeProvider">provider of nodes</param> /// <param name="edgeProvider">provider of edges</param> /// <param name="edgeWeightsProvider">provider of edge weights</param> /// <param name="fixedEdgesProvider">provider of fixed edges</param> /// <param name="depotsProvider">provider of depot nodes</param> /// <param name="demandProvider">provider of demands on nodes</param> public CapacitatedVehicleRoutingProblem(string name, string comment, INodeProvider nodeProvider, IEdgeProvider edgeProvider, IEdgeWeightsProvider edgeWeightsProvider, IFixedEdgesProvider fixedEdgesProvider, IDepotsProvider depotsProvider, IDemandProvider demandProvider) : base(name, comment, ProblemType.CVRP, nodeProvider, edgeProvider, edgeWeightsProvider, fixedEdgesProvider) { if (depotsProvider == null) { throw new ArgumentNullException("depotsProvider"); } if (demandProvider == null) { throw new ArgumentNullException("demandProvider"); } DepotsProvider = depotsProvider; DemandProvider = demandProvider; }
/// <summary> /// Creates new instance of ProblemBase class /// </summary> /// <param name="name">Problem name</param> /// <param name="comment">Comment on problem</param> /// <param name="type">The problem type (TSP, ATSP, etc)</param> /// <param name="nodeProvider">Provider of graph nodes</param> /// <param name="edgeProvider">Provider of graph edges</param> /// <param name="edgeWeightsProvider">Provider of edge weights</param> /// <param name="fixedEdgesProvider">Provider of solution fixed edges</param> protected ProblemBase(string name, string comment, ProblemType type, INodeProvider nodeProvider, IEdgeProvider edgeProvider, IEdgeWeightsProvider edgeWeightsProvider, IFixedEdgesProvider fixedEdgesProvider) { if (nodeProvider == null) { throw new ArgumentNullException("nodeProvider"); } if (edgeProvider == null) { throw new ArgumentNullException("edgeProvider"); } if (edgeWeightsProvider == null) { throw new ArgumentNullException("edgeWeightsProvider"); } if (fixedEdgesProvider == null) { throw new ArgumentNullException("fixedEdgesProvider"); } Name = name; Comment = comment; Type = type; NodeProvider = nodeProvider; EdgeProvider = edgeProvider; EdgeWeightsProvider = edgeWeightsProvider; FixedEdgesProvider = fixedEdgesProvider; }