Package org.jacop.fz
Class Solve
- java.lang.Object
-
- org.jacop.fz.Solve
-
- All Implemented Interfaces:
ParserTreeConstants
public class Solve extends java.lang.Object implements ParserTreeConstants
The parser part responsible for parsing the solve part of the flatzinc file, building a related search and executing it.Current implementation runs also final search on all variables to ensure that they are ground.
- Version:
- 4.8
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classSolve.CostListener<T extends Var>static classSolve.PrecisionSetting
-
Field Summary
Fields Modifier and Type Field Description (package private) VarcostVariable(package private) booleandebug(package private) booleandefaultSearch(package private) Tablesdictionary(package private) FailConstraintsStatisticsfailStatistics(package private) DepthFirstSearch<Var>[]final_search(package private) Search<Var>final_search_seq(package private) intFinalNumberSolutions(package private) VarflatzincCost(package private) DepthFirstSearch<Var>flatzincDFS(package private) SelectChoicePoint<Var>flatzincVariableSelection(package private) booleanheuristicSeqSearch(package private) intinitNumberConstraints(package private) longinitTime(package private) DepthFirstSearch<Var>labeljava.lang.StringBufferlastSolution(package private) java.util.ArrayList<Search<Var>>list_seq_searches(package private) booleanminimize(package private) booleanoptimization(package private) Optionsoptions(package private) static java.lang.Stringp(package private) booleanprint_search_info(package private) CalculatorrestartCalculator(package private) booleanResult(package private) RestartSearch<Var>rs(package private) SatTranslationsat(package private) longsearchTime(package private) SearchItemsi(package private) booleansingleSearch(package private) intsolveKind(package private) longstartCPU(package private) Storestore(package private) Timertimer(package private) SelectChoicePoint<Var>variable_selection-
Fields inherited from interface org.jacop.fz.ParserTreeConstants
JJTANNEXPR, JJTANNOTATION, JJTARRAYLITERAL, JJTBOOLTIEXPRTAIL, JJTCONSTELEM, JJTCONSTRAINT, JJTCONSTRAINTITEMS, JJTFLOATTIEXPRTAIL, JJTINTFLATEXPR, JJTINTLITERALS, JJTINTTIEXPRTAIL, JJTMODEL, JJTMODELEND, jjtNodeName, JJTSCALARFLATEXPR, JJTSETLITERAL, JJTSETTIEXPRTAIL, JJTSOLVEEXPR, JJTSOLVEITEM, JJTSOLVEKIND, JJTVARDECLITEM, JJTVARDECLITEMS, JJTVARIABLEEXPR, JJTVOID
-
-
Constructor Summary
Constructors Constructor Description Solve(Store store, SatTranslation sat)It creates a parser for the solve part of the flatzinc file.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) booleananyTimeOutOccured(java.util.ArrayList<Search<Var>> list_seq_searches)(package private) voidcredit_search(DepthFirstSearch<Var> label, int creditValue, int bbsValue)(package private) DepthFirstSearch<Var>float_search(SearchItem si)(package private) IntVargetCost(ASTSolveExpr node)(package private) FloatVargetCostFloat(ASTSolveExpr node)(package private) doublegetInitTime_ms()(package private) intgetKind(java.lang.String k)(package private) DepthFirstSearch<Var>getLastSearch(DepthFirstSearch<Var> s)SearchItemgetSearch()(package private) doublegetSearchTime_ms()intgetSolveKind()(package private) voidhelperSolutionPrinter(java.lang.String lastSolution)(package private) DepthFirstSearch<Var>int_search(SearchItem si)(package private) voidlds_search(DepthFirstSearch<Var> label, int lds_value)(package private) java.util.ArrayList<SearchItem>parseSearchAnnotations(java.util.ArrayList<SearchItem> search_seq)(package private) voidpose(Constraint c)(package private) voidprintSearch(DepthFirstSearch<Var> s)(package private) voidprintSolution()voidprintStatistics(boolean interrupted, boolean result)(package private) voidprintStatisticsForSeqSearch(boolean interrupted, boolean result)(package private) voidprintStatisticsForSingleSearch(boolean interrupted, boolean result)voidprintStatisticsIterrupt()(package private) DepthFirstSearch<Var>priority_search(SearchItem si)(package private) voidrun_sequence_search(int solveKind, SimpleNode kind, SearchItem si)(package private) voidrun_single_search(int solveKind, SimpleNode kind, SearchItem si)voidsearch(ASTSolveItem node, Tables table, Options opt)It parses the solve part.(package private) voidsearchForAll(DepthFirstSearch<Var> label)(package private) DepthFirstSearch<Var>set_search(SearchItem si)(package private) DepthFirstSearch<Var>[]setSubSearchForAll(DepthFirstSearch<Var> label, Options opt)voidsolveModel(SimpleNode astTree, Tables table, Options opt)(package private) voidstartTimer()voidstatistics(boolean result)(package private) DepthFirstSearch<Var>sub_search(SearchItem si, DepthFirstSearch<Var> l, boolean master)
-
-
-
Field Detail
-
dictionary
Tables dictionary
-
options
Options options
-
store
Store store
-
initNumberConstraints
int initNumberConstraints
-
timer
Timer timer
-
startCPU
long startCPU
-
initTime
long initTime
-
searchTime
long searchTime
-
variable_selection
SelectChoicePoint<Var> variable_selection
-
debug
boolean debug
-
print_search_info
boolean print_search_info
-
heuristicSeqSearch
boolean heuristicSeqSearch
-
costVariable
Var costVariable
-
restartCalculator
Calculator restartCalculator
-
rs
RestartSearch<Var> rs
-
singleSearch
boolean singleSearch
-
Result
boolean Result
-
optimization
boolean optimization
-
minimize
boolean minimize
-
si
SearchItem si
-
defaultSearch
boolean defaultSearch
-
label
DepthFirstSearch<Var> label
-
final_search
DepthFirstSearch<Var>[] final_search
-
flatzincDFS
DepthFirstSearch<Var> flatzincDFS
-
flatzincVariableSelection
SelectChoicePoint<Var> flatzincVariableSelection
-
flatzincCost
Var flatzincCost
-
solveKind
int solveKind
-
sat
SatTranslation sat
-
lastSolution
public java.lang.StringBuffer lastSolution
-
failStatistics
FailConstraintsStatistics failStatistics
-
FinalNumberSolutions
int FinalNumberSolutions
-
p
static final java.lang.String p
-
-
Constructor Detail
-
Solve
public Solve(Store store, SatTranslation sat)
It creates a parser for the solve part of the flatzinc file.- Parameters:
store- the constraint store within which context the search will take place.sat- sat translation used
-
-
Method Detail
-
solveModel
public void solveModel(SimpleNode astTree, Tables table, Options opt)
-
search
public void search(ASTSolveItem node, Tables table, Options opt)
It parses the solve part.- Parameters:
node- the current parsing node.table- the table containing all the various variable definitions encoutered thus far.opt- option specifies to flatzinc parser in respect to search (e.g. all solutions).
-
parseSearchAnnotations
java.util.ArrayList<SearchItem> parseSearchAnnotations(java.util.ArrayList<SearchItem> search_seq)
-
run_single_search
void run_single_search(int solveKind, SimpleNode kind, SearchItem si)
-
searchForAll
void searchForAll(DepthFirstSearch<Var> label)
-
statistics
public void statistics(boolean result)
-
printStatisticsIterrupt
public void printStatisticsIterrupt()
-
printStatistics
public void printStatistics(boolean interrupted, boolean result)
-
printStatisticsForSingleSearch
void printStatisticsForSingleSearch(boolean interrupted, boolean result)
-
setSubSearchForAll
DepthFirstSearch<Var>[] setSubSearchForAll(DepthFirstSearch<Var> label, Options opt)
-
run_sequence_search
void run_sequence_search(int solveKind, SimpleNode kind, SearchItem si)
-
getLastSearch
DepthFirstSearch<Var> getLastSearch(DepthFirstSearch<Var> s)
-
printStatisticsForSeqSearch
void printStatisticsForSeqSearch(boolean interrupted, boolean result)
-
getSearchTime_ms
double getSearchTime_ms()
-
getInitTime_ms
double getInitTime_ms()
-
sub_search
DepthFirstSearch<Var> sub_search(SearchItem si, DepthFirstSearch<Var> l, boolean master)
-
int_search
DepthFirstSearch<Var> int_search(SearchItem si)
-
set_search
DepthFirstSearch<Var> set_search(SearchItem si)
-
float_search
DepthFirstSearch<Var> float_search(SearchItem si)
-
priority_search
DepthFirstSearch<Var> priority_search(SearchItem si)
-
printSolution
void printSolution()
-
getKind
int getKind(java.lang.String k)
-
getCost
IntVar getCost(ASTSolveExpr node)
-
getCostFloat
FloatVar getCostFloat(ASTSolveExpr node)
-
pose
void pose(Constraint c)
-
lds_search
void lds_search(DepthFirstSearch<Var> label, int lds_value)
-
credit_search
void credit_search(DepthFirstSearch<Var> label, int creditValue, int bbsValue)
-
printSearch
void printSearch(DepthFirstSearch<Var> s)
-
getSearch
public SearchItem getSearch()
-
getSolveKind
public int getSolveKind()
-
helperSolutionPrinter
void helperSolutionPrinter(java.lang.String lastSolution)
-
startTimer
void startTimer()
-
-