PID Design by Convex-Concave Optimization

This paper describes how PID controllers can be designed by optimizing
performance subject to robustness constraints. The optimization problem is
solved using convex-concave programming. The method admits general process
descriptions in terms of frequency response data and it can cope with many
different constraints. Examples are presented and some pitfalls in optimization
are discussed.