Package org.jacop.search.sgmpcs
Class SGMPCSearch
- java.lang.Object
-
- org.jacop.search.sgmpcs.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.7
-
-
Field Summary
Fields Modifier and Type Field Description IntVar
cost
Cost variableint
costPosition
int
e
int
eInit
int[][]
elite
(package private) int
l
static int
luby
(package private) int
lubyIndex
(package private) int
numberConsecutiveFails
(package private) double
p
Parametersstatic int
poly
(package private) static double
precision
(package private) boolean
printInfo
(package private) ImproveSolution<IntVar>
search
(package private) int
searchCost
(package private) long
searchStartTime
(package private) int[]
solution
(package private) java.util.function.Function<java.lang.Integer,java.util.Comparator<int[]>>
solutionComparator
Store
store
(package private) int
strategy
(package private) long
timeOut
(package private) boolean
trace
IntVar[]
vars
Variables 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) int
bestCostSolution()
void
findEliteSolutions()
int
getLuby(int i)
(package private) boolean
improveSolution()
int
lastCost()
int[]
lastSolution()
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
terminationCriteria()
(package private) void
updateFailLimit(boolean fail)
(package private) int
worstCostSolution()
-
-
-
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()
-
-