An important task of the supervisory control layer is to maintain optimal operation. To achieve this, we need to change control objectives when constraints become active (or inactive) as a result of disturbances. In most process plants, the supervisory layer uses classical PID-based advanced control structures, but there is no systematic way of designing such structures. Here, we propose a systematic procedure to design the supervisory control layer using single-loop classical advanced control structures, such that the process achieves steady-state optimal operation when the active constraints change. The active constraints can be on the manipulated variable (MV, input) or on the controlled variable (CV, output). In this paper, we consider all three possible cases: CV−CV switching, which involves selectors; CV−MV switching, which does not need any special structure if we pair according to the input saturation pairing rule; and MV−MV switching, which uses split range control or some similar structure. We illustrate our methodology with two case studies.