You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-*Operation modes*: Oneshot planning, Anytime planning, Plan validation
13
+
The Aries solver supports **action-based planning**, **hierarchical planning** and **scheduling**, with the following features:
14
+
15
+
-**classical**: basic action models with symbolic state variables
16
+
-**numeric**: support simple numeric planning over *integer* state variables.
17
+
-**temporal**: durative actions, intermediate conditions and effects, timed initial literals, timed goals. Support continuous and discrete time semantics.
18
+
-**optimization**: support for optimizing plans for metrics: `plan-length`, `makespan`, `action-costs`
19
+
20
+
21
+
Provided engines:
22
+
23
+
-**aries**:
24
+
-**oneshot**: Will return the first plan found, regardless of its quality.
25
+
-**anytime**: Will return a stream of plan of increasing quality until it finds a provably optimal plan (or runs out of time).
26
+
-**aries-opt**:
27
+
-**oneshot**: Will return a provably optimal plan. Note that this may never happen for cases where the plan-space is not bounded (action-based planning and recursive HTN planning).
28
+
29
+
Note that if you are interested in plan quality, you should consider the `anytime` operation mode of `aries`. This mode will return solutions of increasing quality as they are discovered. On the other end, `aries-opt` will only give you the best solution *once it has shown that no better solutions exist*, which may take a very long additional time (or never happen).
30
+
31
+
32
+
### Limitations
33
+
34
+
- The focus of Aries is on temporal hierarchical planning and scheduling. While it can in theory solve non-hierarchical (action-based) problems, very little attention as been paid to this setting and it is unlikely to exhibit good performance on non trivial problems.
35
+
- Unlike most solvers, Aries searches in plan-space which is not bounded for action-based planning and recursive HTN planning. As a consequence, in these two settings, Aries will not give you an optimality proof or a proof of unsolvability as it will never exhaust its search space.
36
+
- Numeric planning in Aries is limited to integers. This is rarely limiting as most fixed precision numerals can be scaled to an integer value. However, note that a problem parsed from PDDL will always be considered to have real-valued state variables (even if only integers are used for it) and thus will be detected as not supported.
37
+
38
+
## Aries validator
39
+
40
+
Another engine provided in the `up-aries` package is `aries-val`, a plan validator that covers most features of the UP (far beyond what is support by the aries solver).
41
+
42
+
Its implementation is mostly independent of the Aries solver.
15
43
16
44
17
45
## Installation
18
46
19
-
For each aries release, pre-built binaries are available on PyPI and can be installed with: `pip install up-aries`.
47
+
For each release of Aries, pre-built binaries are available on PyPI and can be installed with:
48
+
49
+
pip install up-aries
50
+
51
+
You can force an upgrade to the latest released version with:
52
+
53
+
pip install --upgrade up-aries
20
54
21
55
[Development builds](https://github.com/plaans/aries/releases/tag/latest) are provided for the HEAD of the master branch and can be installed with:
A boolean environment variable `UP_ARIES_DEV` allows to automatically recompile Aries from the sources.
64
+
The plugin is developed within the main repository of Aries and is meant to co-evolve with it.
65
+
66
+
If the environment variable `UP_ARIES_DEV` is set to `true`, the plugin will automatically build the `aries` binary from source and use the resulting binary directly.
67
+
68
+
The [`dev.env`](../dev.env) file is used to set up a development environment by 1) setting the `UP_ARIES_DEV` environment variable, 2) setting the python path to use the local `up-aries` module and the local [`unified-planning`](../deps/unified-planning) version from the git submodule:
69
+
70
+
source dev.env # assuming bash is used as the shell
71
+
72
+
73
+
74
+
## References
31
75
76
+
-[Arthur Bit-Monnot. *Experimenting with Lifted Plan-Space Planning as Scheduling: Aries in the 2023 IPC*. Proceedings of the 2023 International Planning Competition (IPC), 2023.](https://hal.science/hal-04174737v1/document)
77
+
- High-level overview of the Aries planner, at the time of its participation in the 2023 IPC
78
+
-[Arthur Bit-Monnot. *Enhancing Hybrid CP-SAT Search for Disjunctive Scheduling*, European Conference on Artificial Intelligence (ECAI), 2023.](https://hal.science/hal-04174800v1/document)
79
+
- Presentation of the combinatorial solver used as a backend
80
+
-[Roland Godet, Arthur Bit-Monnot. *Chronicles for Representing Hierarchical Planning Problems with Time*. ICAPS Hierarchical Planning Workshop (HPlan), Jun 2022](https://hal.science/hal-03690713v1/document)
81
+
- Overview of the encoding used to compile planning problems as CSPs.
0 commit comments