Class MultiStartAlgorithmBuilder<S extends Solution<S,I>,I extends Instance>

java.lang.Object
es.urjc.etsii.grafo.algorithms.multistart.MultiStartAlgorithmBuilder<S,I>
Type Parameters:
S - type of the solution of the problem
I - type of the instance of the problem

public class MultiStartAlgorithmBuilder<S extends Solution<S,I>,I extends Instance> extends Object
Multi-start algorithm builder based on Java Builder Pattern
  • Constructor Details

    • MultiStartAlgorithmBuilder

      public MultiStartAlgorithmBuilder()
  • Method Details

    • withAlgorithmName

      public MultiStartAlgorithmBuilder<S,I> withAlgorithmName(String name)

      withAlgorithmName.

      Parameters:
      name - name of the algorithm
      Returns:
      MultiStartAlgorithmBuilder
    • withObjective

      public MultiStartAlgorithmBuilder<S,I> withObjective(Objective<?,S,I> objective)
    • withMaxIterations

      public MultiStartAlgorithmBuilder<S,I> withMaxIterations(int maxIterations)

      withMaxIterations.

      Parameters:
      maxIterations - maximum number of iteration of the algorithm
      Returns:
      MultiStartAlgorithmBuilder
    • withMinIterations

      public MultiStartAlgorithmBuilder<S,I> withMinIterations(int minIterations)

      withMinIterations.

      Parameters:
      minIterations - minimum number of iterations of the algorithm
      Returns:
      MultiStartAlgorithmBuilder
    • withMaxIterationsWithoutImproving

      public MultiStartAlgorithmBuilder<S,I> withMaxIterationsWithoutImproving(int maxIterationsWithoutImproving)

      withMaxIterationsWithoutImproving.

      Parameters:
      maxIterationsWithoutImproving - maximum number of iterations without improving
      Returns:
      MultiStartAlgorithmBuilder
    • build

      public MultiStartAlgorithm<S,I> build(Algorithm<S,I> algorithm)
      build a multistart algorithm with the current configuration
      Parameters:
      algorithm - algorithm
      Returns:
      the multistart algorithm