A general automated method for synthesizing the design of both the
topology and parameter values for controllers is described. The automated
method automatically makes decisions concerning the total number of
signal processing blocks to be employed in the controller, the type of
each signal processing block, the topological interconnections between
the signal processing blocks, the values of all parameters for the signal
processing blocks, and the existence, if any, of internal feedback
between the signal processing blocks within the controller. The general
automated method can simultaneously optimize prespecified performance
metrics (such as minimizing the time required to bring the plant outputs
to the desired values as measured by the integral of the time-weighted
absolute error or the integral of the squared error), satisfy time-domain
constraints (such as overshoot, disturbance rejection, limits on control
variables, and limits on state variables), and satisfy frequency domain
constraints (bandwidth).