A Design Methodology for a CSP-Based Optimization Approach