This paper introduces a generic framework that is designed to solve complex system design problems by means of optimization approaches. The framework design is made up of components that are responsible for distinct tasks that communicate by extension points. These extension points are for problem specification and setup, different algorithm workflows, display of plots, optimization statistics, display and export of solutions based on a specified representation, and automated performance analysis. Due to the component-based design, the framework allows the definition of customized problem representations with corresponding problem-specific algorithm operations and different solving algorithms, algorithm operations with a flexible execution order by inheritance property. The framework is tested to solve the design problem of building automation systems with different algorithms and problem-specific algorithm operations to compute optimized system designs.