A problem is understood by solving it, not by pondering it. The basic problem solving process is a linear, hierarchical process. Each step is a result of the previous step and a precursor to the next step. The application of this process is straightforward in a wealth of problems commonly encountered. Problems exist for which a solution cannot be obtained.
Many unsolved problems remain.
Problems exist in which constraints, the conditions to be satisfied, change during the problem solving process. The problem solving process then becomes nonlinear. In such situations the solution is frequently approximated and the solution changed as the constraints change. More complex problems arise when some of the constraints are inconsistent, even mutually contradictory. Solutions in such cases fall short of being ideal.