Constraint-Based Methods For Automated Computational Design Synthesis Of Solution Spaces