Issue1134

Title Implement delete-relaxation operator counting constraints by Rankooh and Rintanen
Priority feature Status resolved
Superseder Nosy List florian, jendrik, malte, remo, simon
Assigned To Keywords
Optional summary
The constraints are described in the following paper: 
https://ojs.aaai.org/index.php/ICAPS/article/view/19787/19546

Created on 2024-01-29.17:05:56 by remo, last changed by florian.

Summary
The constraints are described in the following paper: 
https://ojs.aaai.org/index.php/ICAPS/article/view/19787/19546
Messages
msg11614 (view) Author: florian Date: 2024-07-09.01:46:41
Yes, Tatsuya and Alex discuss the version without acyclicity constraints. It's called LP_tr(Pi^+) in their work. I'm not sure whether anyone looked closely at the connection to the flow heuristics yet.

Regarding the last paragraph, I think Remo meant that the MIP heuristic values of IF without acyclicity constraints match the MIP heuristic values of RR without acyclicity constraints. This was not related to h^+. Comparing configurations with acyclicity constraints to versions without them shows a clear difference. For example, here is the plot for RR:

https://ai.dmi.unibas.ch/_visualizer/?c=eJyFkEtuwzAMRK9iaF1LdlI0aM7RvcDErE1AlgyK_qRB7l6qAZpm1S3fg2ZGV4NRmDD7QFnMsTJVc2h2b--HXVMz-5gieoqCPXItPGP1zBdkwc1joJEiCKX4ZJuXymwgmnCaBcvzFEkIgh_8AuEuXP4TJk6T5pSWnxR-rEFkykfngGw3kp0jnSDb8-A8burSqLOyUtelNa7AnaOcZ2zb_avrQMD90epfVC9tjRrrHolWgO32VWowTonl4zKVBns96Pisi0uf1jZFOc9Z0uj1L_xKMSu53h5n6HvGHiTxndy-AW80hUE%3D

As for comparing to h^+, we tested this for the IF constraints when we implemented them (the MIP of IF constraints with acyclicity constraints matches h^+). So now showing that the MIP of RR constraints with acyclicity constraints matches the corresponding IF configuration is enough to show equivalence of the full configuration to h^+.

We already merged this issue since we wanted to close it before the sprint. If there is something left to be done, we can reopen it of course, but I'll mark it as resolved now.
msg11609 (view) Author: malte Date: 2024-07-05.17:16:24
Great! If I understand correctly, the intention is to merge all configurations, including the ones where the acyclicity constraints are dropped. Is this correct?

Is this variant discussed in either the RR or IF paper? Extensions that go beyond the original paper might warrant a bit more explanation/discussion in the user documentation. (I did not check if this is already the case.) In particular, I think dropping acyclicity intuitively gets us closer to flow-heuristic-style constraints, which opens up questions regarding what the precise connections/differences are.

From your last paragraph, with integer variables we do get h^+ without any acyclicity constraints, in all cases where we have data? That is a bit surprising. A possible explanation could be a survivor bias -- the cases where the acyclicity constraints would improve the IP heuristic are too hard to solve for the IP solver.

It's not critical to look into these things more deeply in order to merge the issue, but also if you notice things like these I think it's generally a good idea to at least think about them a little bit -- using the terminology of Erez's DC/WEEP talks not waste the opportunity to make a serendipitous discovery.
msg11608 (view) Author: remo Date: 2024-07-05.16:38:47
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
msg11540 (view) Author: remo Date: 2024-01-29.17:05:56
We are working on this in the context of the January 2024 Sprint.
History
Date User Action Args
2024-07-09 01:46:41floriansetstatus: in-progress -> resolved
messages: + msg11614
2024-07-05 17:16:24maltesetmessages: + msg11609
2024-07-05 16:38:47remosetmessages: + msg11608
2024-01-29 17:05:56remocreate