From Dynamic Optimization

Main: Dynamic Control Objectives

The dynamic control objective function is a mathematical statement that is minimized or maximized to find a best solution among all possible feasible solutions for a controller. The form of this objective function is critical to give desirable solutions for driving a system to a desirable state or along a desired trajectory. Common objective statements relate to economic, safety, operability, environmental, or related objectives.

MPC Objective Exercise (Python and MATLAB)

Two common objective functions are shown below as squared error and l1-norm forms1.

Squared Error Objective

The squared error objective is the most common form used in the literature. It penalizes deviation of the current measured value of the controlled variable from the desired target value.

l1-norm Objective

The l1-norm objective is the absolute value of the difference between the current measured value of the controlled variable and the desired target value. The absolute value operator (abs(x)) does not have a continuous first and second derivative at x=0 (see absolute value function alternatives). Slack variables give the same absolute value function but with continuous first and second derivatives.


In formulating an objective function and model equations follow the following tips for improved convergence.

  1. Rearrange to equation in residual form to:
    1. Avoid divide by zero
    2. Minimize use of functions like sqrt, log, exp, etc.
    3. Have continuous first and second derivatives
    4. Fit the equation into a linear or quadratic form
  2. Bounds
    1. Include variable bounds to exclude infeasible solutions
    2. Variable bounds to avoid regions of strong nonlinearity
    3. Caution: watch for infeasible solutions
  3. Scaling:
    1. Scale absolute value of variables to 1e-3 to 1e3
    2. Scale absolute value of equation residuals to 1e-3 to 1e3
    3. Better that 1st derivative values are closer to 1.0
  4. Good initial conditions:
    1. Starting near a solution can improve convergence
    2. Try multiple initial conditions to verify global solution (non-convex problems)
    3. Explicitly calculate intermediate values
  5. Check iteration summary for improved convergence

Reactor Tuning Example


  1. Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014. Article
Retrieved from
Page last modified on February 18, 2017, at 03:51 PM