1. A non-transitory computer readable medium 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, the instructions comprising: receiving a request for a current solving session to recreate a first solving session for the model, wherein the model comprises at least one problem comprising at least one non-structural variable and a port, and at least one sub-problem coupled to the problem via the port and comprising at least one non-structural variable; collecting a deferred port list comprising one or more ports in the model that need a sub-problem and that generated inferred sub-problems in the first solving session; creating one or more runtime constraints for the model; for each of the created runtime constraints, propagating the constraint and determining if the propagation generates a conflict; and if the propagation generates a conflict, dismissing the constraint and reverting the model to a state before the constraint was propagated; wherein the current solving session is resumed by a user after the first solving session has been stopped, and the model may have changed from the first solving session to when the current solving session is resumed.