How to dismiss incompatible maneuvers?

 

First has to be defined what is meant by incompatible maneuvers. Two maneuvers are incompatible if they use antagonistic resources. The resources are defined by one parameter (speed, heading, etc) and how to modify it (increase, decrease, keep the same value). Two antagonistic resources have the same parameter, but two different ways to modify it. For instance, “increasing speed” and “maintaining speed” are antagonistic.

 

Each basic maneuver resulting from the trees evaluation has its set of resources and a priority. The algorithm that defines the compatible basic maneuvers set that will finally be processed is a recursive algorithm:

 

First it searches for the basic maneuvers that are compatible with the highest priority one.

Then the algorithm is restarted with this new set of basic maneuvers.

 

This algorithm computes the set of the highest priority compatible basic maneuvers.

 

The following graph shows a sample: