Package org.jacop.search.sgmpcs
Class SGMPCSearch
java.lang.Object
org.jacop.search.sgmpcs.SGMPCSearch
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.10
-
Field Summary
FieldsModifier and TypeFieldDescriptionCost variable.int
int
int
int[][]
(package private) int
static final int
(package private) int
(package private) int
(package private) double
Parameters.static final int
(package private) static final double
(package private) boolean
(package private) ImproveSolution
<IntVar> (package private) int
(package private) long
(package private) int[]
(package private) Function
<Integer, Comparator<int[]>> (package private) int
(package private) long
(package private) boolean
IntVar[]
Variables for search. -
Constructor Summary
ConstructorsConstructorDescriptionSGMPCSearch
(Store store, IntVar[] vars, IntVar cost) SGMPCSearch
(Store store, IntVar[] vars, IntVar cost, ImproveSolution<IntVar> search) -
Method Summary
Modifier and TypeMethodDescription(package private) int
void
int
getLuby
(int i) (package private) boolean
int
lastCost()
int[]
void
printSolution
(int[] solution) (package private) void
replaceEliteSolution
(int n, int[] solution, int searchCost) boolean
search()
void
setEliteSize
(int e) void
setEliteSolutions
(int[][] solutions) void
setFailStrategy
(int strategy) void
setInitialSolutionsSize
(int eInit) void
setPrintInfo
(boolean print) void
setProbability
(double p) void
setTimeOut
(long t) (package private) boolean
(package private) void
updateFailLimit
(boolean fail) (package private) int
-
Field Details
-
store
-
trace
boolean trace -
printInfo
boolean printInfo -
searchStartTime
long searchStartTime -
vars
Variables for search. -
cost
Cost variable. -
searchCost
int searchCost -
p
double pParameters. -
e
public int e -
eInit
public int eInit -
l
int l -
luby
public static final int luby- See Also:
-
poly
public static final int poly- See Also:
-
strategy
int strategy -
precision
static final double precision- See Also:
-
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
Function<Integer,Comparator<int[]>> solutionComparator
-
-
Constructor Details
-
SGMPCSearch
-
SGMPCSearch
-
-
Method Details
-
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()
-