1. A computer readable media having instructions stored thereon that, when executed by a processor, causes the processor to function as a dynamic constraint solver for solving a constraint satisfaction problem model that comprises a plurality of ports, the instructions comprising: defining a hierarchical union that comprises all problems in a lower port that is in a problem under another port in the model; generating a constraint that computes a cardinality of the hierarchical union; determining an included set and an excluded set for the hierarchical union; and propagating the included set and excluded set to participating ports of the hierarchical union.