En préalable à l'allocation de ressources à un jeu d'activités candidat, le moteur réduit sa taille si le nombre d'activités primitives est supérieur à une valeur donnée. Par défaut, cette valeur est fixée dans CONTROL DIESE à l'infini, et aucune réduction n'est effectuée.
Cette borne supérieure peut être explicitement modifiée dans le code de l'application, de la manière suivante :
gActSetSizeUpperBound = 4;
Mais la manière la plus fréquente de le faire est d'utiliser l'option -ActSet dans la ligne de commande de la simulation :
./main ... -ActSet 4 ...
Cette réduction est parfois nécessaire pour éviter une explosion combinatoire des calculs, dont la complexité est exponentielle avec la taille du jeu. En effet, le jeu initial, s'il est inconsistant dans n'importe quelle situation d'allocation, est développé en un ensemble de sous-jeux possiblement consistants, auquels est appliqué, récursivement, le même algorithme d'allocation. De plus, les différentes situations d'allocations sont un "croisement" des différentes possibilités ouvertes pour chaque élément alloué dans l'activité : son objet opéré, les ressources propres de son opération, et son "performer".