COLIN is a PDDL planner capable of reasoning with COntinuous LINear numeric change. It uses a combination of forwards-search and linear programming to allow it to effectively reason about what actions to apply and when to apply them, given the relationship between time and numbers.

Click here to download the sources of the JAIR 2012 Release of COLIN.

## Domains

This page contains the new benchmarks introduced in the paper. Some are modified versions of standard IPC benchmarks, whilst others are new encodings of other problems.

### Rovers Continuous

*Linear Continuous Numeric Effects and Computed Durational Inequalities*

Evaluation Domain and Problem Files

This is a continuous version of the well-known Rovers domain that was introduced in IPC3, adding several features:

- The navigate action is modified so that instead of decreasing the energy of the rover by 8 units at the end of a navigate action (fixed duration 5) the energy of the rover is decreased continuously throughout the duration of the action at a rate of 8/5 units per-second.
- The recharge action is modified such that its duration constraint states that the action cannot exceed (80 - current charge) / recharge rate; that is, assuming the rover has the capacity to hold 80 units of charge, the refuel action must not occur for a length of time above that needed to fully recharge the rover. Further the increase in the rover's charge at the end of the action is dependent on the duration of the recharge action (and the recharge rate). The effect of this is that the planner can chose for the rover to charge as little or as much as required.
- An additional action journey-recharge is added, this allows the rover to recharge whilst navigating: as real rovers do on the surface of Mars. The energy of the rover increases continuously over time at a specified recharge rate.
- The rover is required to film all of its journeys as it traverses the surface: this requires the use of a camera which drains energy at a rate of 0.5 units per-second.

The problems in this archive, and used in our experiments, are the standard IPC3 rovers time collection but the domain is modified to have continuous effects. Alternatively these single rover problems can be used: they are generated with the same parameters to the IPC 3 generator as the standard benchmarks except that only one rover is allowed.

### Satellite Cooled

*Linear Continuous Numeric Effects and Durational Inequalities*

Evaluation domain and problem files

This is an extension of the Time variant of the Satellite domain from IPC 2002. Our continuous domain variant results from three main changes to the domain model:

- Power consumption is represented by a numeric fluent rather than a proposition allowing for parallel usage of power, and consumption of different amounts of power for different activities
- Instruments can be operated in one of two modes: cooled, or uncooled. In cooled mode, active sensor cooling is used to reduce sensor noise, enabling images to be taken in less time. This cooling, however, requires additional energy.
- A sunrise action models the charging of the satellite via its solar panels increasing the power availability over time, activities can only take place when sufficient power is available.

The problem files are slightly modified versions of the IPC competition problems, updated to include the necessary information about power requirements.

### AUV

*Linear Continuous Numeric Effects and Computed Durational Inequalities*

Evaluation Domain and Problem Files (including problem generator)

The AUV domain is concerned with the operations of co-operating Autonomous Underwater Vehicles (AUVs). AUVs move between waypoints underwater and perform science gathering operations: water sampling and photography. The latter is the most interesting as it requires coordination between multiple AUVs: one AUV must shine a torch to illuminate the object, whilst the other photographs it. As in the Satellite and Rovers domains, the AUVs have finite battery power and the power usage by actions is continuous throughout their execution. Another interesting use of continuous effects in this domain is the modelling of drift (how far the AUV has moved off course due to current) this updates continuously but can be reset to zero through the application of a localise action.

### Airplane Landing

*Linear Continuous Numeric Effects, Durational Inequalities, Temporal Conditional Effects and Optimisation*

Evaluation Domain and Problem Files (Edinburgh Airport)

This is the airplane landing problem first described by Kim Larssen at ICAPS 2005. The planner must schedule the landing of several aeroplanes at an airport. Each plane has a target landing time, but can land early or late; the penalty for doing so being defined by a continuous linear function. The late penalty function can be different to the early penalty function reflecting the fact that the cost of the two possibilities is different, and further can be different for each plane. The domain uses temporal conditional effects to control the penalty application: conditioning on a the value of a variable at the end of the action and updating the cost at the end of an action by some function of the action's duration.

Note that the domain formulation enclosed uses ADL, with a conditional effect that the penalty incurred is governed by one function if the landing was early, or another is the landing is late. However, as the special *?duration* variable can only appear in the (:duration ...) section of an action definition (according to the PDDL semantics), as a workaround the condition is written in terms of a variable *fake-duration*, which after parsing can be internally converted into *?duration*. The result is that because of a slight diversion from PDDL semantics the plan validator will not report accurate plan costs for this domain.

### Airport Fuel Loss

*Linear Continuous Numeric Effects, Durational Inequalities, Optimisation*

Evaluation Domain and Problem Files

Larger Domain and Problem Files (not used in the paper)

The Airport domain was introduced in IPC 2004 by Jörg Hoffmann and Sebastian Trüg. It concerned with coordinating airport ground traffic: moving planes from gates to runways, and eventually to take-off, whilst respecting physical separation safety constraints. We add to this domain the metric to minimise the total amount of fuel burnt between the engines of each aircraft starting up and when it eventually takes off. To model this we make use of envelope actions that must start before the engines of a plane can start-up and cannot finish until the plane has started the take-off action. This action increases the variable fuel-loss linearly over time according to the number of engines the plane has. We use the standard problem sets from the competition, adding any changes needed to support the modifications made.

### Café

*Durational Inequalities and Optimisation*

Evaluation Domain and Problem Files (Delivery Window Metric)

Evaluation Domain and Problem Files (Heat Loss Metric)

The café domain, first described by Keith Halsey, models the preparation (cooking) and delivery of orders to a customer. The goals are specified as items of food or drink that the customers have ordered. Two variants of the café domain were used in our experiments. In the first the objective is to minimise the sum of the time taken to deliver all ordered items (delivery window). The second minimises heat loss that has occurred, that is the sum of the time between the completion of the preparation of orders and the time they arrive at the tables.

### Other Domains - Linear Generator Domain

*Linear Continuous Numeric Effects*

PDDL Domain Description

Example Problem File

This is a linear version of the generator problem first described by Howey and Long in 2003. A generator must run for 100 seconds. The generator is powered by a fuel tank, which is initally filled to its 90-unit capacity, and consumes fuel at a rate of 1 unit per second. The fuel tank can be refilled, the action to do this is named refuel and increases the fuel level in the tank at a rate of 2 units per second for a duration of 10 seconds. This problem is interesting because the time at which the refuel action must be applied within the generate action is critical: the fuel level in the tank must not exceed the capacity of the tank so the planner must realise that the refuel action must be delayed at least ten seconds after the start of the generate action, but must also occur at least 10 seconds before the end of the generate action to prevent the fuel level falling below zero.

## Publications

**"COLIN: Planning with Continuous Linear Numeric Change." **A. J. Coles, A. I. Coles, M. Fox and D. Long. *Journal of Artificial Intelligence Research*. vol. 44. February 2012. pp. 1--96. Download From JAIR

**"Temporal Planning in Domains with Linear Processes." **A. J. Coles, A. I. Coles, M. Fox, and D. Long. *Proceedings of IJCAI 2009*. July 2009. Download PDF (BibTeX)