An optimization-based decoupling controller design approach is porposed for linear time-invariant multivariable systems. The formulation of the optimization program is based on the description of all decoupling controllers and all achievable decoupled I/O maps. By considering only decoupling controllers, the design of MIMO feedback systems is simplified: the controller design for an n-input n-output system is reduced to n SISO controller design problems. As a consequence most design specifications for the MIMO system can be given in terms of specifications on the n uncoupled SISO channels. In the proposed approach, engineering level design specifications in both time-domain and frequency-domain are considered, and the design problem is formulated as a semi-infinite optimization problem with inequality constraints and functional inequality constraints. The proposed design approach is implemented as an interactive computer-aided design package cadec for use under MATLAB. Two illustrative design examples are given.