Gary Curtis put this together. As a result, non-deterministic is used to describe a computation which results in many solutions, requiring a decision to select one over another. An example of a deterministic calculation is the number of copies that will be generated for a pattern. A condition that must be enforced. If a constraint is violated then the solution is no good.
Constraints are either satisfied or violated.
An example of a constraint is that activities requiring visibility cannot be scheduled in occultation. A feature to evaluate for a solution. Criteria express preferences with respect to solutions and do not have the binary nature of constraints. An example criterion might be a preference to maximize the ratio of science time to overhead time. The higher this ratio is, the better the solution.