Class INeighborFactory


  • public class INeighborFactory
    extends Object
    Factory to creates INeighbor objects that configures LNS
    Author:
    Charles Prud'homme, Jean-Guillaume Fages
    • Constructor Detail

      • INeighborFactory

        public INeighborFactory()
    • Method Detail

      • blackBox

        public static INeighbor blackBox​(IntVar... vars)
        Creates a black-box LNS neighbor
        Parameters:
        vars - the pool of variables to be freezed
        Returns:
        a black-box LNS neighbor
      • random

        public static IntNeighbor random​(IntVar... vars)
        Create a random neighborhood fixing variables randomly
        Parameters:
        vars - the pool of variables to be freezed
        Returns:
        a random neighborhood fixing variables randomly
      • propagationGuided

        public static IntNeighbor propagationGuided​(IntVar... vars)
        Create a propagation guided neighborhood fixing variables based on constraint propagation Based on "Propagation-Guided LNS", Perronn Shaw and Furnon, CP2004
        Parameters:
        vars - the pool of variables to be freezed
        Returns:
        a propagation-guided neighborhood
      • reversedPropagationGuided

        public static IntNeighbor reversedPropagationGuided​(IntVar... vars)
        Create a reverse propagation guided neighborhood fixing variables based on constraint propagation
        Parameters:
        vars - the pool of variables to be freezed
        Returns:
        a reverse propagation-guided neighborhood
      • sequencer

        public static INeighbor sequencer​(INeighbor... neighbors)
        Creates a composite INeighbor grouping a set of neighbors
        Parameters:
        neighbors - a set of neighbors to be grouped
        Returns:
        a composite IntNeighbor grouping a set of neighbors
      • setVarRandom

        public static INeighbor setVarRandom​(SetVar setVar)
        Creates a random neighborhood fixing a set variable randomly
        Parameters:
        setVar - the set var to be freezed
        Returns:
        a random neighborhood fixing a set var randomly