Skip to content

Commit

Permalink
Updated README
Browse files Browse the repository at this point in the history
  • Loading branch information
alvalentini committed Nov 23, 2023
1 parent 4d179b5 commit de4e418
Showing 1 changed file with 58 additions and 10 deletions.
68 changes: 58 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,66 @@
# Integration of Tamer with the Unified Planning Library
This is the integrator for [Tamer](https://tamer.fbk.eu/), a temporal planner that supports temporal action-based problems.
# Tamer integration for unified-planning
[Tamer](https://tamer.fbk.eu/) is an application-oriented planner for the ANML planning specification language.
The objective of Tamer is to provide functionalities to model, solve and analyze planning problems in practice, with advanced temporal features.


## Tamer engine

The Tamer engine supports **action-based planning**, with the following features:

- **classical**: basic action models with symbolic state variables
- **numeric**: support numeric planning over *integer* and *real* state variables.
- **temporal**: durative actions, intermediate conditions and effects, timed initial literals, timed goals. Support continuous time semantics.


Provided engines:

- **tamer**:
- **oneshot planning**: Will return the first plan found, regardless of its quality.
- **plan validation**: Will analyze a plan and return if the plan is valid or not.

## Installation
You can install this engine as an extra requirement of the `unified-planning` package: `pip install unified-planning[tamer]`.
The installation has been tested on the latest versions of ubuntu, windows and macos.

## Default configuration
An heuristic search algorithm described in this [paper](https://ojs.aaai.org//index.php/AAAI/article/view/6553).
The Tamer integration for unified-planning uses an heuristic search algorithm to solve the planning problem.
More specifically, the default search is a Weighted A* Search, with **weight** equals to **0.8** and **hadd** as **heuristic**.

The custom parameters are:
- **weight**: a float between **0.0** and **1.0**,
- **heuristic**: a string between **hadd**, **hlandmarks**, **hmax**, **hff** and **blind**.

## Installation

To automatically get a version that works with your version of the unified planning framework, you can list it as a solver in the pip installation of ```unified_planning```:

```
pip install unified-planning[tamer]
```

If you need several solvers, you can list them all within the brackets.

You can also install the Tamer integration separately (in case the current version of unified_planning does not include Tamer or you want to add it later to your unified planning installation). With

```
pip install up-tamer
```

you get the latest version. If you need an older version, you can install it with:

```
pip install up-tamer==<version number>
```

If you need the latest pre-release version, you can install it with:

## Planning approaches of UP supported
Temporal planning.
```
pip install --pre up-tamer
```
or if you already have a version installed:
```
pip install --pre --upgrade up-tamer
```

## Operative modes of UP currently supported
Oneshot planning, plan validation.
## References
- [Alessandro Valentini, Andrea Micheli and Alessandro Cimatti. *Temporal Planning with Intermediate Conditions and Effects*. In AAAI 2020.](https://ojs.aaai.org//index.php/AAAI/article/view/6553)

## Acknowledgments
<img src="https://www.aiplan4eu-project.eu/wp-content/uploads/2021/07/euflag.png" width="60" height="40">
Expand Down

0 comments on commit de4e418

Please sign in to comment.