Package org.jacop.search.sgmpcs
Class SGMPCSearch
- java.lang.Object
-
- org.jacop.search.sgmpcs.SGMPCSearch
-
public class SGMPCSearch extends java.lang.ObjectSGMPCSearch - 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 Summary
Fields Modifier and Type Field Description IntVarcostCost variableintcostPositioninteinteInitint[][]elite(package private) intlstatic intluby(package private) intlubyIndex(package private) intnumberConsecutiveFails(package private) doublepParametersstatic intpoly(package private) static doubleprecision(package private) booleanprintInfo(package private) ImproveSolution<IntVar>search(package private) intsearchCost(package private) longsearchStartTime(package private) int[]solution(package private) java.util.function.Function<java.lang.Integer,java.util.Comparator<int[]>>solutionComparatorStorestore(package private) intstrategy(package private) longtimeOut(package private) booleantraceIntVar[]varsVariables for search
-
Constructor Summary
Constructors Constructor Description SGMPCSearch(Store store, IntVar[] vars, IntVar cost)SGMPCSearch(Store store, IntVar[] vars, IntVar cost, ImproveSolution<IntVar> search)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) intbestCostSolution()voidfindEliteSolutions()intgetLuby(int i)(package private) booleanimproveSolution()intlastCost()int[]lastSolution()voidprintSolution(int[] solution)(package private) voidreplaceEliteSolution(int n, int[] solution, int searchCost)booleansearch()voidsetEliteSize(int e)voidsetEliteSolutions(int[][] solutions)voidsetFailStrategy(int strategy)voidsetInitialSolutionsSize(int eInit)voidsetPrintInfo(boolean print)voidsetProbability(double p)voidsetTimeOut(long t)(package private) booleanterminationCriteria()(package private) voidupdateFailLimit(boolean fail)(package private) intworstCostSolution()
-
-
-
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
-
luby
public static final int luby
- See Also:
- Constant Field Values
-
poly
public static final int poly
- See Also:
- Constant Field Values
-
strategy
int strategy
-
precision
static final double precision
- See Also:
- Constant Field Values
-
elite
public int[][] elite
-
numberConsecutiveFails
int numberConsecutiveFails
-
lubyIndex
int lubyIndex
-
solution
int[] solution
-
timeOut
long timeOut
-
search
ImproveSolution<IntVar> search
-
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()
-
-