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.7
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
Solve.CostListener<T extends Var>
static class
Solve.PrecisionSetting
-
Field Summary
Fields Modifier and Type Field Description (package private) Var
costVariable
(package private) boolean
debug
(package private) boolean
defaultSearch
(package private) Tables
dictionary
(package private) FailConstraintsStatistics
failStatistics
(package private) DepthFirstSearch<Var>[]
final_search
(package private) Search<Var>
final_search_seq
(package private) int
FinalNumberSolutions
(package private) Var
flatzincCost
(package private) DepthFirstSearch<Var>
flatzincDFS
(package private) SelectChoicePoint<Var>
flatzincVariableSelection
(package private) boolean
heuristicSeqSearch
(package private) int
initNumberConstraints
(package private) long
initTime
(package private) DepthFirstSearch<Var>
label
java.lang.StringBuffer
lastSolution
(package private) java.util.ArrayList<Search<Var>>
list_seq_searches
(package private) boolean
minimize
(package private) boolean
optimization
(package private) Options
options
(package private) static java.lang.String
p
(package private) boolean
print_search_info
(package private) Calculator
restartCalculator
(package private) boolean
Result
(package private) RestartSearch<Var>
rs
(package private) SatTranslation
sat
(package private) long
searchTime
(package private) SearchItem
si
(package private) boolean
singleSearch
(package private) int
solveKind
(package private) long
startCPU
(package private) Store
store
(package private) Timer
timer
(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) boolean
anyTimeOutOccured(java.util.ArrayList<Search<Var>> list_seq_searches)
(package private) void
credit_search(DepthFirstSearch<Var> label, int creditValue, int bbsValue)
(package private) DepthFirstSearch<Var>
float_search(SearchItem si)
(package private) IntVar
getCost(ASTSolveExpr node)
(package private) FloatVar
getCostFloat(ASTSolveExpr node)
(package private) double
getInitTime_ms()
(package private) int
getKind(java.lang.String k)
(package private) DepthFirstSearch<Var>
getLastSearch(DepthFirstSearch<Var> s)
SearchItem
getSearch()
(package private) double
getSearchTime_ms()
int
getSolveKind()
(package private) void
helperSolutionPrinter(java.lang.String lastSolution)
(package private) DepthFirstSearch<Var>
int_search(SearchItem si)
(package private) void
lds_search(DepthFirstSearch<Var> label, int lds_value)
(package private) java.util.ArrayList<SearchItem>
parseSearchAnnotations(java.util.ArrayList<SearchItem> search_seq)
(package private) void
pose(Constraint c)
(package private) void
printSearch(DepthFirstSearch<Var> s)
(package private) void
printSolution()
void
printStatistics(boolean interrupted, boolean result)
(package private) void
printStatisticsForSeqSearch(boolean interrupted, boolean result)
(package private) void
printStatisticsForSingleSearch(boolean interrupted, boolean result)
void
printStatisticsIterrupt()
(package private) DepthFirstSearch<Var>
priority_search(SearchItem si)
(package private) void
run_sequence_search(int solveKind, SimpleNode kind, SearchItem si)
(package private) void
run_single_search(int solveKind, SimpleNode kind, SearchItem si)
void
search(ASTSolveItem node, Tables table, Options opt)
It parses the solve part.(package private) DepthFirstSearch<Var>
set_search(SearchItem si)
(package private) DepthFirstSearch<Var>[]
setSubSearchForAll(DepthFirstSearch<Var> label, Options opt)
void
solveModel(SimpleNode astTree, Tables table, Options opt)
(package private) void
startTimer()
void
statistics(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)
-
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()
-
-