|
OMTPlan: Optimal Planning Modulo Theories
|
Functions | |
| def | utils.getDomainName (task_filename) |
| Tries to find PDDL domain file when only problem file is supplied. More... | |
| def | utils.getValFromModel (assignment) |
| Extracts values from Z3 model making sure types are properly converted. More... | |
| def | utils.varNameFromNFluent (fluent) |
| Returns variable name used for encoding numeric fluents in SMT. More... | |
| def | utils.varNameFromBFluent (fluent) |
| Returns variable name used for encoding boolean fluents in SMT. More... | |
| def | utils.isBoolFluent (fluent) |
| Checks if fluent is propositional. More... | |
| def | utils.isNumFluent (fluent) |
| Checks if fluent is numeric. More... | |
| def | utils.inorderTraversal (encoder, nax, numeric_variables) |
| Traverses the parsed domain as returned by TFD parser: More... | |
| def | utils.inorderTraversalFC (encoder, condition, numeric_variables) |
| Inorder traversal for Comparison axioms – see "Using the Context-enhanced Additive Heuristic for Temporal and Numeric Planning", Eyerich et al. More... | |
| def | utils.extractVariables (encoder, nax, variables) |
| Extracts variables contained in PDDL numeric expressions. More... | |
| def | utils.extractVariablesFC (encoder, condition) |
| Extracts variables contained in PDDL comparison axioms. More... | |
| def | utils.parseMetric (encoder) |
| Extracts variables appearing in PDDL metric. More... | |
| def | utils.buildMetricExpr (encoder) |
| Builds Z3 expression of PDDL metric. More... | |
| def | utils.printSMTFormula (formula, problem_name) |
| Prints SMT planning formula in SMT-LIB syntax. More... | |
| def | utils.printOMTFormula (formula, problem_name) |
| Prints OMT planning formula in SMT-LIB syntax. More... | |
| def utils.buildMetricExpr | ( | encoder | ) |
Builds Z3 expression of PDDL metric.
| encoder | encoder object. |
| def utils.extractVariables | ( | encoder, | |
| nax, | |||
| variables | |||
| ) |
Extracts variables contained in PDDL numeric expressions.
| encoder. | |
| nax | numeric axioms returned by TFD. |
| variables | dictionary containing Z3 variables. |
| def utils.extractVariablesFC | ( | encoder, | |
| condition | |||
| ) |
Extracts variables contained in PDDL comparison axioms.
| encoder. | |
| condition | PDDL comparison axiom. |
| def utils.getDomainName | ( | task_filename | ) |
Tries to find PDDL domain file when only problem file is supplied.
| task_filename | path to PDDL problem file. |
| def utils.getValFromModel | ( | assignment | ) |
Extracts values from Z3 model making sure types are properly converted.
| assigment | variable assignment with Z3 type. |
| def utils.inorderTraversal | ( | encoder, | |
| nax, | |||
| numeric_variables | |||
| ) |
Traverses the parsed domain as returned by TFD parser:
See "Using the Context-enhanced Additive Heuristic for Temporal and Numeric Planning", Eyerich et al.
| encode | object. |
| nax | numeric axioms returned by parser. |
| numeric_variables | Z3 numeric variables. |
| def utils.inorderTraversalFC | ( | encoder, | |
| condition, | |||
| numeric_variables | |||
| ) |
Inorder traversal for Comparison axioms – see "Using the Context-enhanced Additive Heuristic for Temporal and Numeric Planning", Eyerich et al.
Internally relies on inorderTraversal().
| encoder | |
| codnition | numeric PDDL condition. |
| numeric_variables | dictionary with Z3 variables |
| def utils.isBoolFluent | ( | fluent | ) |
Checks if fluent is propositional.
| fluent | PDDL fluent. |
| def utils.isNumFluent | ( | fluent | ) |
Checks if fluent is numeric.
| fluent | PDDL fluent. |
| def utils.parseMetric | ( | encoder | ) |
Extracts variables appearing in PDDL metric.
| encoder. |
| def utils.printOMTFormula | ( | formula, | |
| problem_name | |||
| ) |
Prints OMT planning formula in SMT-LIB syntax.
| formula | |
| problem_name |
| def utils.printSMTFormula | ( | formula, | |
| problem_name | |||
| ) |
Prints SMT planning formula in SMT-LIB syntax.
| formula | |
| problem_name |
| def utils.varNameFromBFluent | ( | fluent | ) |
Returns variable name used for encoding boolean fluents in SMT.
| fluent | Propositional PDDL fluent. |
| def utils.varNameFromNFluent | ( | fluent | ) |
Returns variable name used for encoding numeric fluents in SMT.
| fluent | Numeric PDDL fluent |
1.8.11