/// <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)
 {
 }
示例#2
0
 /// <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)
 {
 }
示例#3
0
 /// <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 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 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;
        }
示例#9
0
        /// <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;
        }
示例#10
0
        /// <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;
        }