public OnePointCrossoverStrategy(Graph graph) { if (graph == null) throw new ArgumentNullException(nameof(graph)); if (!graph.IsValid()) throw new ArgumentException("Graph is invalid!"); _graph = graph; RandomizeCrossoverPoint(); }
protected Algorithm(Graph graph, IProblem problem, Guid? id) : base(id) { if (problem == null) throw new ArgumentNullException(nameof(problem)); if (graph == null) throw new ArgumentNullException(nameof(graph)); if (!graph.IsValid()) throw new ArgumentException("Graph is invalid", nameof(graph)); Graph = graph; Problem = problem; problem.Initialize(graph); }