Issue176

Title Better than optimal plans?
Priority urgent Status resolved
Superseder Nosy List erez, malte
Assigned To Keywords
Optional summary

Created on 2011-01-02.12:55:48 by erez, last changed by malte.

Files
File name Uploaded Type Edit Remove
validate malte, 2011-01-02.13:07:52 application/octet-stream
Messages
msg990 (view) Author: malte Date: 2011-01-03.19:45:16
This is the same as issue178.
msg980 (view) Author: erez Date: 2011-01-02.13:58:48
That's exactly it - some preferred operator is not applicable.
It seems to happen even if I use preferred operators of only hlm or hff, so I 
would guess it's something in the Exploration class.

The verbose output of validate follows:
Type-checking initialize
...action passes type checking.
Type-checking endcap-move-letter
...action passes type checking.
Type-checking htmoverblack-move-letter
...action passes type checking.
Type-checking colorcontainer-toime-letter
...action passes type checking.
Type-checking colorcontainer-fromime-letter
...action passes type checking.
Type-checking colorprinter-simplex-letter
...action passes type checking.
Type-checking colorprinter-simplexmono-letter
...action passes type checking.
Type-checking colorfeeder-feed-letter
...action passes type checking.
Type-checking blackfeeder-feed-letter
...action passes type checking.
Type-checking down-movetop-letter
...action passes type checking.
Type-checking down-movebottom-letter
...action passes type checking.
Type-checking down-movedown-letter
...action passes type checking.
Type-checking htmovercolor-move-letter
...action passes type checking.
Type-checking blackcontainer-toime-letter
...action passes type checking.
Type-checking blackcontainer-fromime-letter
...action passes type checking.
Type-checking blackprinter-simplex-letter
...action passes type checking.
Type-checking blackprinter-simplexandinvert-letter
...action passes type checking.
Type-checking up-movetop-letter
...action passes type checking.
Type-checking up-moveup-letter
...action passes type checking.
Type-checking finisher1-passthrough-letter
...action passes type checking.
Type-checking finisher1-stack-letter
...action passes type checking.
Type-checking finisher2-passthrough-letter
...action passes type checking.
Type-checking finisher2-stack-letter
...action passes type checking.
Checking plan: sas_plan
Plan to validate:

Plan size: 9
1:
(initialize)
 
2:
(blackfeeder-feed-letter sheet1)
 
3:
(blackcontainer-toime-letter sheet1)
 
4:
(blackprinter-simplex-letter sheet1 front image-1)
 
5:
(blackcontainer-fromime-letter sheet1)
 
6:
(endcap-move-letter sheet1)
 
7:
(htmoverblack-move-letter sheet1)
 
8:
(down-movedown-letter sheet1)
 
9:
(finisher1-stack-letter sheet1 dummy-sheet)
 

Plan Validation details
-----------------------

Checking next happening (time 1)
Deleting (uninitialized)
Adding (available endcap-rsrc)
Adding (available htmoverblack-rsrc)
Adding (available colorcontainer-rsrc)
Adding (available colorprinter-rsrc)
Adding (available colorfeeder-rsrc)
Adding (available blackfeeder-rsrc)
Adding (available down-rsrc)
Adding (available htmovercolor-rsrc)
Adding (available blackcontainer-rsrc)
Adding (available blackprinter-rsrc)
Adding (available up-rsrc)
Adding (available finisher1-rsrc)
Adding (available finisher2-rsrc)

Checking next happening (time 2)
WARNING: (blackfeeder-feed-letter sheet1) adds and deletes the literal 
(available blackfeeder-rsrc)
Deleting (available blackfeeder-rsrc)
Deleting (location sheet1 some_feeder_tray)
Adding (location sheet1 blackcontainer_entry-blackfeeder_exit)
Adding (sideup sheet1 front)
Adding (available blackfeeder-rsrc)
Updating (total-cost) (0) by 8000 increase

Checking next happening (time 3)
WARNING: (blackcontainer-toime-letter sheet1) adds and deletes the literal 
(available blackcontainer-rsrc)
Deleting (available blackcontainer-rsrc)
Deleting (location sheet1 blackcontainer_entry-blackfeeder_exit)
Adding (location sheet1 blackcontainer_exittoime-blackprinter_entry)
Adding (available blackcontainer-rsrc)
Updating (total-cost) (8000) by 2000 increase

Checking next happening (time 4)
WARNING: (blackprinter-simplex-letter sheet1 front image-1) adds and deletes the 
literal (available blackprinter-rsrc)
Deleting (available blackprinter-rsrc)
Deleting (location sheet1 blackcontainer_exittoime-blackprinter_entry)
Deleting (notprintedwith sheet1 front black)
Adding (location sheet1 blackprinter_exit-blackcontainer_entryfromime)
Adding (hasimage sheet1 front image-1)
Adding (available blackprinter-rsrc)
Updating (total-cost) (10000) by 113013 increase

Checking next happening (time 5)
WARNING: (blackcontainer-fromime-letter sheet1) adds and deletes the literal 
(available blackcontainer-rsrc)
Deleting (available blackcontainer-rsrc)
Deleting (location sheet1 blackprinter_exit-blackcontainer_entryfromime)
Adding (location sheet1 endcap_entry-blackcontainer_exit)
Adding (available blackcontainer-rsrc)
Updating (total-cost) (123013) by 2000 increase

Checking next happening (time 6)
WARNING: (endcap-move-letter sheet1) adds and deletes the literal (available 
endcap-rsrc)
Deleting (available endcap-rsrc)
Deleting (location sheet1 endcap_entry-blackcontainer_exit)
Adding (location sheet1 htmoverblack_entry-endcap_exit)
Adding (available endcap-rsrc)
Updating (total-cost) (125013) by 2000 increase

Checking next happening (time 7)
WARNING: (htmoverblack-move-letter sheet1) adds and deletes the literal 
(available htmoverblack-rsrc)
Deleting (available htmoverblack-rsrc)
Deleting (location sheet1 htmoverblack_entry-endcap_exit)
Adding (location sheet1 htmoverblack_exit-down_topentry)
Adding (available htmoverblack-rsrc)
Updating (total-cost) (127013) by 17999 increase

Checking next happening (time 8)
WARNING: (down-movedown-letter sheet1) adds and deletes the literal (available 
down-rsrc)
Deleting (available down-rsrc)
Deleting (location sheet1 htmoverblack_exit-down_topentry)
Adding (location sheet1 colorcontainer_entry-down_bottomexit)
Adding (available down-rsrc)
Updating (total-cost) (145012) by 9999 increase

Checking next happening (time 9)
Plan failed because of unsatisfied precondition in:
(finisher1-stack-letter sheet1 dummy-sheet)

Plan failed to execute

Plan Repair Advice:

(finisher1-stack-letter sheet1 dummy-sheet) has an unsatisfied precondition at 
time 9
(Set (location sheet1 finisher1_entry-up_topexit) to true)


Failed plans:
 sas_plan
msg979 (view) Author: malte Date: 2011-01-02.13:46:39
Try verbose mode for VAL to see where it breaks down.

I think that the most likely possibility is that something is marked as
preferred that isn't actually applicable. Try running with downward-debug, I
think it has a check for that (if not, add one).

If that doesn't help, maybe try valgrind.
msg978 (view) Author: erez Date: 2011-01-02.13:41:16
I got:
Plan failed to execute

Any ideas?
msg977 (view) Author: malte Date: 2011-01-02.13:07:52
Try renaming "validate" to "validate-orig" and using the attached wrapper script
to validate the plan (validate-orig must be in the PATH or you need to adjust
the script).
msg976 (view) Author: erez Date: 2011-01-02.12:55:48
In parcprinter:p01, when I run blind search, I get a plan with cost 169009, 
which is the same as the optimal plan found in the IPC-2008 results.
However, when I run the following:
./downward --heuristic 
"hlm,hff=lm_ff_syn(lm_rhw(reasonable_orders=true,cost_type=1,lm_cost_type=1))" -
-search "lazy_wastar(hff,hlm,preferred=(hff,hlm),w=5,bound=169009)" < output

I get a better plan, with cost 163011. The actual plan is:

blackfeeder-feed-letter sheet1 (8000)
blackcontainer-toime-letter sheet1 (2000)
blackprinter-simplex-letter sheet1 front image-1 (113013)
blackcontainer-fromime-letter sheet1 (2000)
endcap-move-letter sheet1 (2000)
htmoverblack-move-letter sheet1 (17999)
down-movedown-letter sheet1 (9999)
finisher1-stack-letter sheet1 dummy-sheet (8000)

This happens on the latest code from downward-ipc (before the changes I made to 
the search code for adjusted action cost).
I tried to run VAL on the plan, but got a SEGFAULT.
History
Date User Action Args
2011-01-03 19:45:23maltesetstatus: chatting -> resolved
2011-01-03 19:45:17maltesetstatus: resolved -> chatting
messages: + msg990
2011-01-03 16:00:27erezsetstatus: chatting -> resolved
2011-01-02 13:58:49erezsetmessages: + msg980
2011-01-02 13:46:39maltesetmessages: + msg979
2011-01-02 13:41:16erezsetmessages: + msg978
2011-01-02 13:07:52maltesetfiles: + validate
messages: + msg977
2011-01-02 12:55:48erezcreate