Constraints added.
Sub-goals added.
Potential Solutions added.
Each solution evaluated and meets goals.
Each solution checked to work for all cases.