In der Implementierung von YACS wird jedem primitiven Constraint-Ausdruck eine Lösungsstrategie zugewiesen, die für die Auswertung des jeweiligen Constraints zuständig ist. Dies führt zur Bildung von Teilproblemen bzw. Constraint-(Teil-)Netzen, die durch die Klasse ConstraintNet repräsentiert werden (siehe Abbildung 7.7).
Die Instanzen der Klasse ConstraintNet werden vom YCM erzeugt und verwaltet. Für jede vom StrategyReader gelieferte Strategie wird ein Constraint-Netz generiert und mit der entsprechenden Strategie belegt. Jedem Teilproblem bzw. jedem Constraint-Netz ist anschließend anhand der jeweils vorhandenen Strategie bekannt, welche Constraint-Solver in welcher Phase einzusetzen sind.
Um Ergebnisse von Suchalgorithmen speichern zu können, ist jedem Constraint-Netz eine Instanz der Klasse Solutions zugeordnet. Innerhalb dieser Container-Klasse können durch Constraint-Solver Lösungsobjekte, namentlich Instanzen der Klasse Solution, abgelegt werden (siehe Abbildung 7.7).