IPC 2020

The 2020 IPC for Hierarchical Planning

Due to the COVID-19 pandemic, the IPC 2020 has been postponed. The new deadlines are listed below.

ICAPS 2020 will host the 2020 IPC for Hierarchical Planning - as proposed in the following paper. It will be the first IPC solely dedicated to Hierarchical Planning and HTN Planning in particular.

The 2020 IPC for Hierarchical Planning will feature three tracks:

  • total-order, non-recursive
  • total-order, recursive
  • partial-order, recursive

All tracks share common restrictions on the input:

  • All preconditions and effects contain only literals, negated literals, conjunctions, and universal quantifiers (forall),
  • all actions have unit-cost, and
  • methods may contain preconditions (but no other state constraints).

Input Language

The competition will use domains and problems formulated in HDDL. Its syntax and semantics are explained in a recent paper. In addition we have made some minor changes and guarantees for the IPC. You can find details in the following document. For convenience, we will provide an automated translation of HDDL into (J)SHOP2 syntax. Note that there are domains which can be expressed in HDDL, but for which there is no equivalent SHOP2 model. The issue lies in the restrictions SHOP2 puts on the allowed ordering. If you want to participate and need any other input format, please contact us as soon as possible s.t. we can assist you as best as possible.

A set of sample problems is available at the status website of the IPC.

  • totally-ordered as HDDL
  • partially-ordered as HDDL
  • totally-ordered as SHOP2
  • partially-ordered as SHOP2

The rover domain is non-recursive, while transport is recursive. If you have any issues with or questions about these sample, please contact us!

The SHOP2-variants of the instances were generated automatically. The code for this translation is part of the pandaPI planning system, more specifically its parser. Its code is available on github.

Output Format

The output format supported by our plan validator is descried in this pdf. The validator's code is available on github.

Mauricio Cecilio Magnaguagno kindly created a tool for visualising the output format.

Evaluation and Technical Specification

To evaluate planners, we will use the agile metric used in the last IPC, i.e. a planner is regarded better wrt that metric if it finds any solution to the problem faster. The score of a planner on a solved task is 1 if the task was solved within 1 second and 0 if the task was not solved within the resource limits. If the task was solved in t seconds (1 \leq t \leq T) with a timelimit of T seconds then its score is min{1, 1 - log(t)/log(T)}. The score of a planner is the sum of its scores for all tasks.

All tracks will share the following techical specifications:

  • 1 CPU core
  • 8 GB memory limit
  • 30 min time limit
  • If an invalid plan is returned, all tasks in the domain are counted as unsolved.
  • If that happens in more than one domain, the entry is disqualified.

For the specification of the tracks we mean with

  • total-order: A domain is totally ordered iff the subtasks in all methods and in the initial task network form a sequence, i.e. the declared ordering arranges the tasks in a sequence.
  • partial-order: A domain is totally ordered iff the subtasks in all methods and in the initial task network may have any order that can be specified in HDDL.
  • non-recursive: A domain is non-recursive if there is a total order on its lifted tasks (primitive and abstract) such that for every method that decomposes an abstract task A, the tasks in the methods' task network occur after A in the total order.
  • recursive: A domain that is not non-recursive
  • STRIPS actions: We consider an action to be STRIPS, if both its preconditions and effects are lists of literals. I.e. preconditions and effects do not contain quantors, disjunctions, or conditional effects. However negative preconditions are allowed.
  • Method precondition: A list of literals that may be associated with a method. A method may only be applied if its method precondition holds. For totally-ordered HTN planning problems, the precondition has to hold in the state in which the first action (that originates via further decompositions from the method's subtasks) is executed. For partially-ordered HTN planning problems, the precondition has to hold in some state before the first action (that originates via further decompositions from the methods' subtasks) is executed, but after the state resulting from the last necessarily preceding tasks for the tasks contained in the method.

Planner Submission

As in other IPC parts, the competitors must submit the source code of their planners that will be run by the organizers on the actual competition domains/problems, unknown to the competitors until this time. This way no fine-tuning of the planners will be possible.

Bug Fix Policy

In some cases, we will offer the opportunity to fix bugs that arise during the evaluation period, but any changes after the submission deadline will be strictly limited to bugfixes only. We will use a diff tool to check that patches don't contain new features or parameter tuning, and will reject patches that don't look like minimal changes to fix bugs. It is your responsibility to provide patches that are easy to verify with a diff tool. We reserve the right to reject changes for which the only-bugfixes rule is unnecessarily hard to check (e.g. because you reformatted the whole code).

IPC Proceedings

All competitors must submit a 2-page short paper describing their planners. After the competition we encourage the participants to analyze the results of their planner and submit an extended version of their paper (max. 4 pages). An important requirement for IPC 2020 competitors is to give the organizers the right to post their paper and the source code of their planners on the IPC 2020 website.


Call for interest September 30th
Announcement of Tracks October 18th
Demo domains and problems are available (including a (J)SHOP2 translator) October 22nd
Output-format specification end of January
Initial submission of planners June 9th
Deadline for domain submissions June 9th
Final submission of planners August 9th
Submission of 2-page planner abstracts August 30th
Presentation of Results Community Session, ICAPS 2020,
October 29th, 8PM CEST
Submission of 4-page planner abstracts tba, after ICAPS
Submission of domain description papers November 15th


Note that we also have a mailing list for everyone who is interested in hierarchical planning (including non-standard HTN planning), so this list is independent of this IPC endeavor. If you want to join this moderated, SPAM-free list, please write an email to Pascal Bercher.