Class RandomizableNeighborhood<M extends Move<S,I>,S extends Solution<S,I>,I extends Instance>

java.lang.Object
es.urjc.etsii.grafo.solution.neighborhood.Neighborhood<M,S,I>
es.urjc.etsii.grafo.solution.neighborhood.RandomizableNeighborhood<M,S,I>
Type Parameters:
S - Solution class
I - Instance class
Direct Known Subclasses:
Neighborhood.EmptyNeighborhood, TestNeighborhood

public abstract class RandomizableNeighborhood<M extends Move<S,I>,S extends Solution<S,I>,I extends Instance> extends Neighborhood<M,S,I>
Neighborhood that is able to generate random movements under demand
  • Constructor Details

    • RandomizableNeighborhood

      public RandomizableNeighborhood()
  • Method Details

    • getRandomMove

      public abstract Optional<M> getRandomMove(S solution)
      Pick a random move within the neighborhood
      Parameters:
      solution - Solution used to generate the neighborhood
      Returns:
      a random move, if there is at least one valid move