OK, it really seems to be due to the variable order. If I change the code to
handle the first abstraction in the same way as the later ones, by
unconditionally setting "is_first = false;" before creating the
VariableOrderFinder, the performance is also terrible with just one abstraction:
./downward-1 < output --search 'astar(mas(max_states=1000,count=1))'
takes 1056.14 sec
So for whatever reason the default, level-based variable order works much better
here than the random ones that ignore variables. Interesting.
So there's nothing to fix here, but maybe it's worth investigating variable
orders a bit more in the future.
|