Exemplo n.º 1
0
 /// <summary>
 /// Creates a new VNS solver.
 /// </summary>
 /// <param name="generator">The solver that generates initial solutions.</param>
 /// <param name="perturber">The perturber that varies neighbourhood.</param>
 /// <param name="localSearch">The local search that improves solutions.</param>
 public VNSSolver(ISolver <TWeight, TProblem, TObjective, TSolution, TFitness> generator, IPerturber <TWeight, TProblem, TObjective, TSolution, TFitness> perturber,
                  IOperator <TWeight, TProblem, TObjective, TSolution, TFitness> localSearch)
 {
     _generator   = generator;
     _perturber   = perturber;
     _localSearch = localSearch;
 }
Exemplo n.º 2
0
 /// <summary>
 /// Creates a new VNS solver.
 /// </summary>
 /// <param name="generator">The solver that generates initial solutions.</param>
 /// <param name="perturber">The perturber that varies neighbourhood.</param>
 /// <param name="localSearch">The local search that improves solutions.</param>
 /// <param name="stopCondition">The stop condition to control the number of iterations.</param>
 public VNSSolver(ISolver <TWeight, TProblem, TObjective, TSolution, TFitness> generator, IPerturber <TWeight, TProblem, TObjective, TSolution, TFitness> perturber,
                  IOperator <TWeight, TProblem, TObjective, TSolution, TFitness> localSearch, SolverDelegates.StopConditionWithLevelDelegate <TProblem, TObjective, TSolution> stopCondition)
 {
     _generator     = generator;
     _perturber     = perturber;
     _localSearch   = localSearch;
     _stopCondition = stopCondition;
 }