This repository contains the research and code (Lisp) from my bachelor thesis. (2020-2021)
Title: "HTN planning under resource and time constraints in hybrid mines"
(The thesis is written in German)
If you work with HTN planning and the SHOP3 planner, this repository is for you and might serve as idea impulses and template. This repostiory contains older code from 2020 and is not maintained. SHOP3 is still the actual version, but has been maintained frequently since then, meaning there is no guarantee that the code still works, although I hope I can give you some input ideas for your research and implementation.
Hierarchical task network (HTN) planning is an approach for automated planning in which the dependency among actions can be given in the form of hierarchically structured networks. HTN planning is subject to planning and logical programming. The actions in HTN planning (compared with classical planning in AI) are decomposed into any number of smaller actions. The very low level actions/tasks are called atoms. In an HTN planner a problem needs to be defined, i.e. a planning domain that consists of an enviromnent, objects and a set of actions. Then the HTN planner searches for a plan until a goal state is reached (termination condition). For example, a very simple plan would be move X from A to B. Depending on how you describe the problem, the HTN planner can also search all combinations/solutions of actions within a range of input variables defined in the domain description. In this thesis the objective is to combinatorial solve a queuing system based on heuristics and several constrains. The constrains include time (duration) and resources (e.g. energy consumption, traveled distance, number of vehicles).
The research utilizes the HTN planner SHOP3: https://github.com/shop-planner/shop3
SHOP3 documentation: https://shop-planner.github.io