There are three types of constraints. Nomological constraints are nonnegotiable constraints that must be satisfied because they are dictated by natural law. The other two types of constraints are definitional or constitutive constraints of the design problem whereas the nomological constraints aren't. Hard constraints must be satisfied in order for the design artifact to qualify as a solution . Thus, nomological constraints are hard, too.
Soft constraint can be more or less satisfied and are the same as optimisation criteria .
They often work against each other leading to the necessity of tradeoffs . Ill-defined problems have rarely a clearly best solution . This constraints are often contradictory in the sense than improving the solution along one dimension makes it worse along another one. What makes things worse that these constraints can normally not be combined to create an aggregate constraint but they have to be traded off without knowing exactly what the relative importance is. This is especially important for comparing and evaluating alternatives .