We have implemented the constraint formulation by Rankooh and Rintanen. In order
to distinguish the existing formulation by Imai and Fukunaga from the one
implemented here, we added the initials of the authors, that is IF and RR, to
file names, class names, and also to the command line interface. This means that
the call for accessing the Imai and Fukunaga formulation changes from
`delete_relaxation_constraints(...)` to `delete_relaxation_if_constraints(...)`.
As described in the paper, the RR constraints are split into two sets. The first
set is always active and encodes a causal partial function. The second ensures
that the induced causal relation graph is acyclic. Rankooh and Rintanen describe
two methods for constructing the latter set of constraints: time labels or
vertex elimination. We implement the parameter `acyclicity_type` that switches
over using no acyclicity constraints, the time label based constraints, or the
vertex elimination approach. Additionally one can choose to force integer
variables or work with the linear relaxation via the `use_integer_vars`
parameter.
The configurations of the RR constraints are directly comparable to the IF
constraints. For example, using integer variables and acyclicity constraints
computes h^+ for both IF and RR. The following experiment shows that both
acyclicity versions of RR improve upon IF in terms of memory and time:
https://ai.dmi.unibas.ch/_experiments/ai/downward/issue1134/data/experiments-issue1134-v1-eval/h_plus_report.html
When considering the LP-relaxation, both acyclicity configurations of RR result
in higher initial h values and lower numbers of expansions. This dominance holds
true for all instances.
https://ai.dmi.unibas.ch/_experiments/ai/downward/issue1134/data/experiments-issue1134-v1-eval/lp_relaxation_report.html
(We encountered one exception in p11-airport3-p1.pddl, where IF returned a
higher initial h value, but Florian traced the unexpected behavior back to a
rounding error in the operator-counting heuristic. This became the separate
issue1141.)
Finally, we can also drop the acyclicity constraints entirely. Doing so together
with integer values gives identical initial h values and expansion numbers for
IF and RR, with improved time/memory performance for RR. Additionally using the
LP-relaxation leads to RR dominating in terms of heuristic quality and achieving
better coverage.
https://ai.dmi.unibas.ch/_experiments/ai/downward/issue1134/data/experiments-issue1134-v1-eval/cycle_and_both_relax_report.html
|