- Previous Article
- Next Article
- Table of Contents
Computers & Chemical Engineering, Vol.23, No.6, 807-819, 1999
Obtaining sensitivity information in dynamic optimization problems solved by the sequential approach
An alternative way of obtaining sensitivity information when using the sequential algorithm for solving dynamic optimization problems has been tried out. The results show that the pursued approach has at least the same efficiency as the other available methods, yet is much simpler to use, and demands no symbolic differentiations or other manipulations of the equations. A non linear programming (NLP) solver is used to solve the parameter optimization problem obtained after discretization of the controls. All modern NLP solvers need accurate gradient information in order to function efficiently and reliably. Of the three ways available for obtaining this sensitivity information (sensitivity equations, perturbations and adjoins equations), perturbations are investigated in this work. It has been found that when obtaining sensitivity information through a forward difference, the N perturbed trajectories are nearly identical to the nominal. Therefore all N + 1 trajectories are integrated simultaneously in a special purpose DAK solver, reusing the nominal Jacobian in the N perturbed trajectories, and saving the calculation time needed to decide steplengths, number of iterations and other administrative overheads. This speeds up calculation, and at the same time gets a more accurate estimate of the gradient. The method is theoretically as accurate as the sensitivity equation approach, without the need of an recalculated Jacobian at each timestep. This gives beneficial speed properties. The approach has been implemented in a modified version of the general purpose DAK solver DASSL, the new code is called the differential algebraic solver with sensitivity calculations by perturbations or DASSP. The DASSP code was compared to DASSL and DASAC, a code based on sensitivity equations. The codes were tried out on three test cases; two reactor problems, and a phase equilibria problem.