Preference-based planning

In many problem domains, a task can be accomplished by various sequences of actions (also known as plans).

Preference-based planners take these preferences into account when producing a plan for a given problem.

For example, when planning a journey from home to school, the user may prefer to buy a cup of coffee along the way.

As this example shows, a preference is evaluated with regard to all states of a plan (if semantically required).

For this purpose, PDDL 3.0 includes an expression called is-violated which is equal to "the number of distinct preferences with the given name that are not satisfied in the plan".