James B. Rawlings Research Group
John W. Eaton
B.S. Ch.E., Oregon State University, 1985 Ph.D., University of Texas at Austin, 1992
jwe[AT]bevo[DOT]che[DOT]wisc[DOT]edu


Octave is an interactive language for numerical computing that is
mostly compatible with MATLAB. Originally intended to be
companion software for an undergraduatelevel textbook on chemical
reactor design being written by James B. Rawlings and John G. Ekerdt
at the University of Texas, it has become much more than just another
courseware package with limited utility beyond the classroom. It is
currently in use by thousands of people at educational, commercial,
and government sites worldwide.
The Octave interpreter is written in a mixture of C and C++, but
most of the numerical methods are handled by standard Fortran
libraries such as the BLAS, LAPACK, MINPACK, QUADPACK, ODEPACK, and DASSL. To smoothly interface
with the interpreter, the numerical libraries have been packaged in a
library of C++ classes.
Though Octave is compatible with MATLAB in many ways, it is
not intended to be a clone. Octave adds many interesting
new features and extends the language in fundamentally new ways.
Because Octave is available in source form, anyone can experiment with
adding new features or modifying the language.
In a relatively short period of time, Octave has become a quite
capable system for solving many numerical problems, but it is still
far from complete. Some longterm goals include adding a programmable
graphical user interface, improving the overall efficiency
of the language, and automatic generation of C++ code.
Everyone is encouraged to share Octave with others under the terms of
the GNU General Public License (GPL)
as published by the Free Software Foundation (FSF).
The complete source code for Octave and more information about this
project is available on the web at www.octave.org.
 1

John W. Eaton and James B. Rawlings.
Ten years of Octave  recent developments and plans for the
future.
In Kurt Hornik and Fritz Leisch, editors, Proceedings of the 3rd
International Workshop on Distributed Statistical Computing, Vienna,
Austria, March 2003.
 2

John W. Eaton.
GNU Octave Manual.
Network Theory Limited, 2002.
 3

James B. Rawlings, Babatunde A. Ogunnaike, and John W. Eaton, editors.
Chemical Process Control CPC VI, Austin, TX, 2002. CACHE.
 4

John W. Eaton.
Octave: Past, present and
future.
In Kurt Hornik and Fritz Leisch, editors, Proceedings of the 2nd
International Workshop on Distributed Statistical Computing, March 1517,
2001, Technische Universität Wien, Vienna, Austria, 2001.
ISSN 1609395X.
 5

James B. Rawlings and John W. Eaton, editors.
Chemical Engineering Faculty Directory (19951996), volume 44.
AIChE, New York, 1995.
 6

John W. Eaton and James B. Rawlings.
Octavea high level interactive language for numerical
computations.
CACHE News, 40:1118, Spring 1995.
 7

Edward S. Meadows, Michael A. Henson, John W. Eaton, and James B. Rawlings.
Receding horizon control and discontinuous state
feedback stabilization.
Int. J. Control, 62(5):12171229, 1995.
 8

John W. Eaton, James B. Rawlings, and Lyle H. Ungar.
Stability of neural net based model predictive control.
In Proceedings of the 1994 American Control Conference, pages
24812485, 1994.
 9

John W. Eaton and James B. Rawlings.
Model predictive control of chemical
processes.
Chem. Eng. Sci., 47(4):705720, 1992.
 10

John W. Eaton.
Finite Horizon Predictive Control of
Chemical Processes.
PhD thesis, The University of Texas at Austin, March 1992.
 11

James B. Rawlings, Walter R. Witkowski, and John W. Eaton.
Modelling and control of
crystallizers.
Powder Tech., 69(1):39, 1992.
 12

John W. Eaton and James B. Rawlings.
Model predictive control of chemical processes.
In Proceedings of the 1991 American Control Conference, pages
17901795, 1991.
 13

John W. Eaton and James B. Rawlings.
Feedback control of chemical processes using
online optimization
techniques.
Comput. Chem. Eng., 14(4/5):469479, 1990.
 14

James B. Rawlings and John W. Eaton.
Optimal control and model identification applied to the Shell
standard control problem.
In David M. Prett, Carlos E. Garcí, and Brian L. Ramaker,
editors, The Second Shell Process Control Workshop, pages 209240.
Butterworths, 1990.
 15

John W. Eaton and James B. Rawlings.
Feedback control of chemical processes using online optimization
techniques.
Annual AIChE Meeting, Washington, D.C., November 1988.
 16

James B. Rawlings, Walter R. Witkowski, and John W. Eaton.
Control issues arising in population balance models.
In Proceedings of the 1989 American Control Conference, pages
677682, 1989.
 17

John W. Eaton, James B. Rawlings, and Thomas F. Edgar.
Modelpredictive control and sensitivity analysis for constrained
nonlinear processes.
In T. J. McAvoy, Y. Arkun, and E. Zafiriou, editors, Proceedings
of the 1988 IFAC Workshop on Model Based Process Control, pages 129135,
Oxford, 1989. Pergamon Press.
Finite Horizon Predictive Control of Chemical Processes
This dissertation presents a strategy for modelpredictive
control of processes modelled by nonlinear differentialalgebraic
equations. This strategy makes use of a repeated optimization of an
openloop performance objective over a finite time horizon. The
manipulated variable profile determined from the solution of the
openloop optimization is implemented until a plant measurement
becomes available.
Two nonlinear programming approaches for solving the openloop optimal
control problem are examined in detail, and example problems are
solved using both methods. The first approach eliminates the dynamic
constraints by solving them as a subproblem. The second second
approach uses orthogonal collocation on finite elements to convert the
differential equations to algebraic constraints that are solved
directly by standard nonlinear programming software.
Feedback is incorporated into the algorithm by using the measurement
to update the optimization problem for the next time step. Several
methods for updating the optimization problem are discussed, including
resetting the model's states to measured or estimated values,
estimating model parameters, or inferring output disturbances.
University of Wisconsin
Department of Chemical Engineering
Madison WI 53706