1. A method of controlling a process, comprising: running an optimizer that uses an objective function to develop a solution defining a set of target values; determining if the solution is feasible with respect to a set of process variable constraints; if the solution is not feasible; (1) redefining the process variable constraints for at least one process variable to define a new upper and lower process variable constraint limit for the one process variable; (2) developing a new objective function by adding a penalty variable to the objective function for the one process variable, wherein the penalty variable penalizes the objective function based on the amount by which the one process variable differs from one of the new process variable constraint limits for the one process variable; and (3) rerunning the optimizer with the new objective function to develop a new solution defining a new set of target values with the new process variable constraint limits for the one process variable; providing the target values or the new target values to a controller; and running the controller using the target values or the new target values to develop a set of control signals for controlling the process.