[Project IFT702] / Planning for Scientific Conference with Metric-FF

The first planner we tried is Metric-FF. This planner is not designed for time planning. But, since it supports numerics (PDDL 2.1 level 2), it's possible to add a variable currenttime (function is the term used in PDDL specifications) to simulate time.

Sources of Metric-FF is available at : http://www.informatik.uni-freiburg.de/~hoffmann/metric-ff.html

Download and Compile Metric-FF

tar xvfz Metric-FF.tgz
cd Metric-FF
make

Run Metric-FF with Scientific Conference

  1. Generate a problem file (or use an existing available on our PDDL domain page)
  2. Run the planner
[PATH_TO_METRIC-FF]/ff -o ScientificConf.pddl -f test1.fct
  1. Execute the result in the simulator

Results

Test Case
Goals / Plan
Time to generate
test1.fct : planner has to do full navigation. GOTO are possible only between visibles and near waypoints.

Goals:
  • (presentation-done pressession1 StandRoom_2)
File : test1.fct
with EHC*

non-solvable in raisonnable resources (memory)
5 min
520MB allowed
File : test1.fct
without EHC*

0: GOTO STARTPLACE REGISTRATION
1: REGISTER REGISTRATION
2: GOTO REGISTRATION FRONTROOM_1
3: GOTO FRONTROOM_1 FRONTROOM_2
4: GOTO FRONTROOM_2 STANDROOM_2
5: WAIT-PRES-SESSION PRESSESSION1
6: MAKE-PRESENTATION STANDROOM_2 PRESSESSION1


0.42 s
Generaly Enforced Hill-Climbing (EHC) should improve planning result. In above case, we get totally the opposite. We belive that it because the planner has no heuristic for navigation. So, EHC lost its time...

test1_nav.fct : this is the same problem as test1.fct except that here, the planner don't have to do full navigation. GOTO are possible for every pair of waypoints.
File : test1_nav.fct
with EHC*


0: GOTO STARTPLACE REGISTRATION
1: REGISTER REGISTRATION
2: GOTO REGISTRATION STANDROOM_2
3: WAIT-PRES-SESSION PRESSESSION1
4: MAKE-PRESENTATION STANDROOM_2 PRESSESSION1


0.52 s
File : test1_nav.fct
without EHC*

0: GOTO STARTPLACE REGISTRATION
1: REGISTER REGISTRATION
2: GOTO REGISTRATION STANDROOM_2
3: WAIT-PRES-SESSION PRESSESSION1
4: MAKE-PRESENTATION STANDROOM_2 PRESSESSION1
5.32 s
This test seems to be better. Both plans are the same. If we compare with test1.fct, we remark that the plan are equivalents. {GOTO REGISTRATION STANDROOM_2} can be discomposed in {GOTO REGISTRATION FRONTROOM_1, GOTO FRONTROOM_1 FRONTROOM_2, GOTO FRONTROOM_2 STANDROOM_2}.
Goals :
  • (presentation-done pressession0 StandRoom_1)
  • (assisted-to-pres pressession1 SeatsRoom_3)
  • (assisted-to-pres pressession5 SeatsRoom_1)
File : test2.fct
with EHC

 0: GOTO STARTPLACE WP_0
 1: GOTO WP_0 FRONTROOM_1
 2: GOTO FRONTROOM_1 REGISTRATION
 3: REGISTER REGISTRATION
 4: GOTO REGISTRATION FRONTROOM_1
 5: GOTO FRONTROOM_1 STANDROOM_1
 6: WAIT-PRES-SESSION PRESSESSION0
 7: MAKE-PRESENTATION STANDROOM_1 PRESSESSION0
 8: GOTO STANDROOM_1 FRONTROOM_1
 9: GOTO FRONTROOM_1 FRONTROOM_2
10: GOTO FRONTROOM_2 FRONTROOM_3
11: GOTO FRONTROOM_3 SEATSROOM_3
12: WAIT-PRES-SESSION PRESSESSION1
13: ASSIST-PRESENTATION SEATSROOM_3 PRESSESSION1
14: GOTO SEATSROOM_3 FRONTROOM_3
15: GOTO FRONTROOM_3 FRONTROOM_2
16: GOTO FRONTROOM_2 FRONTROOM_1
17: GOTO FRONTROOM_1 SEATSROOM_1
18: WAIT-PRES-SESSION PRESSESSION5
19: ASSIST-PRESENTATION SEATSROOM_1 PRESSESSION5
26.40 s
File : test2.fct
without EHC

 0: GOTO STARTPLACE REGISTRATION

 1: REGISTER REGISTRATION
 2: GOTO REGISTRATION FRONTROOM_1
 3: GOTO FRONTROOM_1 STANDROOM_1
 4: WAIT-PRES-SESSION PRESSESSION0
 5: MAKE-PRESENTATION STANDROOM_1 PRESSESSION0
 6: GOTO STANDROOM_1 FRONTROOM_1
 7: GOTO FRONTROOM_1 FRONTROOM_2
 8: GOTO FRONTROOM_2 FRONTROOM_3
 9: GOTO FRONTROOM_3 SEATSROOM_3
10: WAIT-PRES-SESSION PRESSESSION1
11: ASSIST-PRESENTATION SEATSROOM_3 PRESSESSION1
12: GOTO SEATSROOM_3 FRONTROOM_3
13: GOTO FRONTROOM_3 FRONTROOM_2
14: GOTO FRONTROOM_2 FRONTROOM_1
15: GOTO FRONTROOM_1 SEATSROOM_1
16: WAIT-PRES-SESSION PRESSESSION5
17: ASSIST-PRESENTATION SEATSROOM_1 PRESSESSION5

1.97 s
Plans are not the same. EHC give a longer plan (more steps). But, it is surprising to see that EHC is slower than without EHC.
test2_nav.fct : the same test except that planner don't have to plan full navigation
File : test2_nav.fct
with EHC
 0: GOTO STARTPLACE REGISTRATION
 1: REGISTER REGISTRATION
 2: GOTO REGISTRATION STANDROOM_1
 3: WAIT-PRES-SESSION PRESSESSION0
 4: MAKE-PRESENTATION STANDROOM_1 PRESSESSION0
 5: GOTO STANDROOM_1 SEATSROOM_3
 6: WAIT-PRES-SESSION PRESSESSION1
 7: ASSIST-PRESENTATION SEATSROOM_3 PRESSESSION1
 8: GOTO SEATSROOM_3 SEATSROOM_1
 9: WAIT-PRES-SESSION PRESSESSION5
10: ASSIST-PRESENTATION SEATSROOM_1 PRESSESSION5

11.87 s
File : test2_nav.fct
without EHC
 0: GOTO STARTPLACE REGISTRATION
 1: REGISTER REGISTRATION
 2: GOTO REGISTRATION STANDROOM_1
 3: WAIT-PRES-SESSION PRESSESSION0
 4: MAKE-PRESENTATION STANDROOM_1 PRESSESSION0
 5: GOTO STANDROOM_1 SEATSROOM_3
 6: WAIT-PRES-SESSION PRESSESSION1
 7: ASSIST-PRESENTATION SEATSROOM_3 PRESSESSION1
 8: GOTO SEATSROOM_3 SEATSROOM_1
 9: WAIT-PRES-SESSION PRESSESSION5
10: ASSIST-PRESENTATION SEATSROOM_1 PRESSESSION5
7.97 s

test3_nav.fct

Goals :
  • (presentation-done pressession0 StandRoom_2)
  • (assisted-to-pres pressession1 SeatsRoom_1)
  • (assisted-to-pres pressession2 SeatsRoom_1)
  • (poster-done postersession1 P3)
  • (picture-taken-poster postersession1 P10)
with EHC
 0: GOTO STARTPLACE REGISTRATION
 1: REGISTER REGISTRATION
 2: GOTO REGISTRATION STANDROOM_2
 3: WAIT-PRES-SESSION PRESSESSION0
 4: MAKE-PRESENTATION STANDROOM_2 PRESSESSION0
 5: GOTO STANDROOM_2 SEATSROOM_1
 6: WAIT-PRES-SESSION PRESSESSION1
 7: ASSIST-PRESENTATION SEATSROOM_1 PRESSESSION1
 8: WAIT-POST-SESSION POSTERSESSION0
 9: ASSIST-PRESENTATION SEATSROOM_1 PRESSESSION2
10: GOTO SEATSROOM_1 P10
11: WAIT-POST-SESSION POSTERSESSION1
12: TAKE-PICTURE-POSTER P10 POSTERSESSION1
13: GOTO P10 P3
14: FIX-POSTER P3 POSTERSESSION1
15: WAIT-PRES-SESSION PRESSESSION6
16: REMOVE-POSTER P3 POSTERSESSION1

29.79 s
without EHC
 0: GOTO STARTPLACE REGISTRATION
 1: REGISTER REGISTRATION
 2: GOTO REGISTRATION STANDROOM_2
 3: WAIT-PRES-SESSION PRESSESSION0
 4: MAKE-PRESENTATION STANDROOM_2 PRESSESSION0
 5: GOTO STANDROOM_2 SEATSROOM_1
 6: WAIT-PRES-SESSION PRESSESSION1
 7: ASSIST-PRESENTATION SEATSROOM_1 PRESSESSION1
 8: WAIT-POST-SESSION POSTERSESSION0
 9: ASSIST-PRESENTATION SEATSROOM_1 PRESSESSION2
10: GOTO SEATSROOM_1 P3
11: WAIT-POST-SESSION POSTERSESSION1
12: FIX-POSTER P3 POSTERSESSION1
13: GOTO P3 P10
14: WAIT-PRES-SESSION PRESSESSION6
15: TAKE-PICTURE-POSTER P10 POSTERSESSION1
16: GOTO P10 P3
17: REMOVE-POSTER P3 POSTERSESSION1

28.16 s

test4_nav.fct

Goals :
  • (presentation-done pressession0 StandRoom_3)
  • (assisted-to-pres pressession2 SeatsRoom_1)
  • (assisted-to-pres pressession4 SeatsRoom_2)
  • (assisted-to-pres pressession5 SeatsRoom_1)
  • (poster-done postersession0 P3)
  • (picture-taken-poster postersession1 P4)
  • (picture-taken-poster postersession1 P14)
with EHC
non-solvable in raisonnable resources (memory)
without EHC
non-solvable in raisonnable resources (memory)

test5_nav.fct
Goals :
  • (presentation-done pressession0 StandRoom_1)
  • (assisted-to-pres pressession1 SeatsRoom_1)
  • (assisted-to-pres pressession2 SeatsRoom_2)
  • (assisted-to-pres pressession3 SeatsRoom_2)
  • (assisted-to-pres pressession4 SeatsRoom_3)
  • (assisted-to-pres pressession5 SeatsRoom_3)
  • (assisted-to-pres pressession6 SeatsRoom_3)
  • (poster-done postersession0 P4)
  • (picture-taken-poster postersession0 P2)
  • (picture-taken-poster postersession0 P13)
  • (picture-taken-poster postersession1 P3)
  • (picture-taken-poster postersession1 P20)
with EHC

non-solvable in raisonnable resources (memory)
without EHC
non-solvable in raisonnable resources (memory)

* EHC : Enforced Hill-Climbing (find a solution faster)