Abstract
Automatic design optimization is highly sensitive to problem formulation. The choice of objective function, constraints and design parameters can dramatically impact the computational cost of optimization and the quality of the resulting design. The best formulation varies from one application to another. A design engineer will usually not know the best formulation in advance. We have therefore developed a system that supports interactive formulation, testing and reformulation of design optimization strategies. Our system includes an executable, second-order data-flow language for representing optimization strategies. The language allows an engineer to define multiple stages of optimization, and to specify the design parameters, constraints and objectives to be handled at each stage. We have also developed a set of transformations that reformulate strategies represented in our language. The transformations can approximate objective and constraint functions, define new constraints, and re-parameterize or change the dimension of the search space, among other things. The system is applicable to design problems in which the artifact is governed by algebraic or ordinary differential equations. We have tested the system on problems of racing yacht and jet engine nozzle design. We report experimental results demonstrating that our reformulation techniques can significantly improve the performance of automatic design optimization.