/// <summary> /// Overloaded constructor /// </summary> /// <param name="objective">A tour length objectiveulator object</param> /// <param name="initialSolution">An initial solution</param> /// <param name="swapPattern">A method for swapping the order of cities</param> public SteepestDecent(IObjectiveFunction objective, List<int> initialSolution, ICitySwapPattern swapMethod) { this.objective = objective; this.solution = initialSolution; this.currentTourLength = objective.Value(initialSolution); this.swapPattern = swapMethod; }
/// <summary> /// Constructor /// </summary> /// <param name="objective">A tour length objectiveulator object</param> /// <param name="initialSolution">An initial solution</param> public OrdinaryDecent(IObjectiveFunction objective, List<int> initialSolution) { this.objective = objective; this.solution = initialSolution; this.currentTourLength = objective.Value(initialSolution); this.swapPattern = new TwoCitySwapPattern(initialSolution); }