1. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, causes the processor to solve a constraint satisfaction problem (CSP), the solving the CSP comprising: receiving a first user decision, wherein the first user decision comprises a selection of a value for a variable of the CSP; propagating the first user decision over a CSP network, wherein the propagating is performed before receiving another user decision subsequent to the first user decision; determining a conflict based on the propagation, wherein the conflict prevents the CSP from being solved; and resolving the conflict by interactively allowing a user to cancel the first user decision or drop one or more previous user decisions and displaying the one or more previous user decisions out of the previous user decisions that would resolve the conflict when dropped, the displaying comprising separately identifying the one or more previous user decisions out of all other previous user decisions as user decisions that will resolve the conflict when dropped.