Class SGMPCSearch


  • public class SGMPCSearch
    extends java.lang.Object
    SGMPCSearch - implements Solution-Guided Multi-Point Constructive Search. This search starts with several elite solutions and tries to impove (minimizing cost variable) them by doing either search assuming an elite solution or staring with an empty solution.

    This implementation is based on paper "Solution-guided Multi-point Constructive Search for Job Shop Scheduling" by J. Christopher Beck, Journal of Artificial Intelligence Research 29 (2007) 49–77.

    Version:
    4.8
    • Field Detail

      • store

        public Store store
      • trace

        boolean trace
      • printInfo

        boolean printInfo
      • searchStartTime

        long searchStartTime
      • vars

        public IntVar[] vars
        Variables for search
      • cost

        public IntVar cost
        Cost variable
      • searchCost

        int searchCost
      • p

        double p
        Parameters
      • e

        public int e
      • eInit

        public int eInit
      • l

        int l
      • strategy

        int strategy
      • elite

        public int[][] elite
      • numberConsecutiveFails

        int numberConsecutiveFails
      • lubyIndex

        int lubyIndex
      • solution

        int[] solution
      • timeOut

        long timeOut
      • costPosition

        public int costPosition
      • solutionComparator

        java.util.function.Function<java.lang.Integer,​java.util.Comparator<int[]>> solutionComparator
    • Method Detail

      • search

        public boolean search()
      • findEliteSolutions

        public void findEliteSolutions()
      • improveSolution

        boolean improveSolution()
      • terminationCriteria

        boolean terminationCriteria()
      • setTimeOut

        public void setTimeOut​(long t)
      • updateFailLimit

        void updateFailLimit​(boolean fail)
      • getLuby

        public int getLuby​(int i)
      • bestCostSolution

        int bestCostSolution()
      • worstCostSolution

        int worstCostSolution()
      • setEliteSolutions

        public void setEliteSolutions​(int[][] solutions)
      • replaceEliteSolution

        void replaceEliteSolution​(int n,
                                  int[] solution,
                                  int searchCost)
      • setProbability

        public void setProbability​(double p)
      • setEliteSize

        public void setEliteSize​(int e)
      • setInitialSolutionsSize

        public void setInitialSolutionsSize​(int eInit)
      • setFailStrategy

        public void setFailStrategy​(int strategy)
      • setPrintInfo

        public void setPrintInfo​(boolean print)
      • printSolution

        public void printSolution​(int[] solution)
      • lastSolution

        public int[] lastSolution()
      • lastCost

        public int lastCost()