Class CarSequencing


  • public class CarSequencing
    extends ExampleFD
    It is program to model and solve simple problems of car sequencing problem (CSPLIB-p1).
    Version:
    4.8
    • Field Detail

      • noCar

        public int noCar
        It specifies number of cars.
      • noOption

        public int noOption
        It specifies the no of options in the car sequencing problem.
      • noClass

        public int noClass
        It specifies the number of different car classes.
      • maxNoOfCarsPerOption

        public int[] maxNoOfCarsPerOption
        For a given sequence length then can be different maximum number of cars with a given option.
      • blockSizePerOption

        public int[] blockSizePerOption
        The sequence length for which the maximum number restriction is specified.
      • noOfCarsPerClass

        public int[] noOfCarsPerClass
        It specifies how many cars of each option should be produced.
      • required

        public boolean[][] required
        It specifies if the given class (the first dimension) requires given option (the second dimension).
      • slideDecomposition

        public boolean slideDecomposition
        It specifies if the slide based decomposition of the regular constraint should be applied. This decomposition uses ternary extensional support constraints. It achieves GAC if FSM is deterministic.
      • regular

        public boolean regular
        It specifies if the regular constraint should be used.
      • extensionalMDD

        public boolean extensionalMDD
        It specifies if one extensional constraint based on MDD created from FSM should be used. The translation process works if FSM is deterministic.
    • Constructor Detail

      • CarSequencing

        public CarSequencing()
    • Method Detail

      • problem

        public static java.lang.String[] problem()
        A simple car sequencing problem.
        Returns:
        problem description.
      • readFromArray

        public static void readFromArray​(java.lang.String[] description,
                                         CarSequencing example)
        It transforms string representation of the problem into an array of ints representation. It stores the whole description in the internal attributes.
        Parameters:
        description - array of strings representing the problem.
        example - example in which the passed instance is stored.
      • toStringArray

        public static java.lang.String[] toStringArray​(CarSequencing example)
        It creates a String representation of the problem being supplied.
        Parameters:
        example - example in which the passed instance is stored.
        Returns:
        the string representation of the problem instance.
      • model

        public void model()
        Description copied from class: ExampleFD
        It specifies a standard way of modeling the problem.
        Specified by:
        model in class ExampleFD
      • createFSM

        public static FSM createFSM​(int count,
                                    IntervalDomain yes,
                                    IntervalDomain no)
        Parameters:
        count - The number of times a value from yes domain needs to be encountered.
        yes - the values which are counted.
        no - the values which are not counted.
        Returns:
        FSM for simple count constraint.
      • readFile

        public static java.lang.String[] readFile​(java.lang.String file)
        It reads the problem description from the file and returns string representation of the problem.
        Parameters:
        file - the file containing the problem description.
        Returns:
        the problem description
      • main

        public static void main​(java.lang.String[] args)
        It executes the program to solve car sequencing problem.
        Parameters:
        args - parameters (none)
      • test

        public static void test​(java.lang.String[] args)
        It executes the program to solve car sequencing problem.
        Parameters:
        args - parameters (none)