EXPERIMENTAL STUDIES IN OPTIMAL COMPUTER
CONTROL OF A CONTINUOUS DISTILLATION COLUMN
By
ROBERT CARL ESCHENBACHER
A DISSERTATION PRESENTED TO THE GRADUATE COUNCIL OF
THE UNIVERSITY OF FLORIDA
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE
DEGREE OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1970
A CKN OWL EDGIMENTS
The author wishes to thank Dr. F. P. May, chairman of his
supervisory committee, for his helpful advice and personal interest;
Drs. M. Tyner, M. E. Thomas and R. G. Selfridge for serving on his
supervisory committee; Drs. A. W. Westerberg and H. E. Schweyer for
their interest and help for the duration of this work; and Mr. D. H.
Pike for his discussions and assistance in accomplishing the research.
The author wishes to acknowledge the financial support of the
Rinker Materials Corporation of West FPai Beach, Florida, the
University of Florida, and the National Science Foundation during the
author's undergraduate and graduate tenure at the University of
Florida.
'1Thanks go to the University of Flurida Computing Center and
its personnel who aided this project with time and advice whenever
needed.
Special thanks go to Messrs. Jack Kalway, Myron Jcnes, and
Tracy Lambert for their :ssjstance throughout ethe author's tenure,
and especially on this project, and to u!rs. Karen Wjalker for her
/
firstrcae tVypig oF tbe r.'_iija, ipt.
Deep, p.risonal r:a,.::S go' o to the l.:hor's fr.ily, especially
his faithful wife, Virginia, whio continually scrificed during the
graduate program.
TABLE OF COhl .i ;
ACKNOWLEDGMENTS ...............................................
LIST OF TABLES................................................
LIST OF FIGURES.............................................. ..
LIST OF SYMBOLS ...............................................
ABSTRACT......................................................
CHAPTERS:
I. PROBLEM DEFINITION, LITERATURE DISCUSSION...........
II. HARDWARESOFTWARE SYSTEM, DISTILLATION COLUMN AND
COMPUTER LINKUP .....................................
A. General Interface for Process Systems
Instrumentation ............................. ..
B. GIPSI Software.................................
C. Distillation Column: Design and Control........
III. THE OPTIMAL CONTROL PROBLEM........................
A. Derivation of the Performance Index.............
B. Derivation of a Suitable Constraint Set........
C. Obtaining the Optimal Control Law..............
IV. EXPERIMENTAL TECHNIQUE..............................
A. Building and Debugging the System:
Distillation Column, AnalogDigital Interface
Software Package...............................
B. Collecting Data for the Linear Model............
C. Obtaining the Optimal Control Law...............
D. OnLine Computer Control Runs ..................
V. RESULTS, CONCLUSIONS, RECOMMENDATIONS ...............
Page
ii
V
vi
ix
xii
1
9
9
13
17
27
27
30
40
44
44
46
47
48
50
TABLE OF CONTENTS (Continued)
Page
A. Results......................................... 50
B. Conclusions ..................................... 68
C. Recommendations ................................. 71
APPENDICES:.................................................... 74
A. Basic Data for Linear Model Derivation .............. 75
B. User Software........................................ 90
C. Matrix Multipliers for the Optimal Control Law....... 105
D. Data............................................... .. 114
LITERATURE CITED............................................... 129
BIOGRAPHICAL SKETCH ......................................... .. 130
LIST OF TABLES
Table Page
2.1 Column Variables Read by Computer...................... 17
2.2 Maximum Column Variable Operating Capability........ 19
3.1 Performance Index Cost Coefficients, A and B.......... 29
i
3.2 Time Constants T. for Equation (3.8) for all State
Variables.. ............................ 34
i i
3.3 Constants K. and K. for.Equation (3.8) for all
1j 2j
State Variables....................................... 34
3.4 Computed Values of i./. +i At, 'K. and K............ 37
i i lj 2j............
4.1 Control and Load Variable.............................. 46
4.2 Load Variable Upset Pattern........................... 48
5.1 Nois e Levels of Column Variables.................... 52
5.2 Maximum Values of Performance Index Per Stage......... 59
5.3 Corltrol and Load Variable Deviations for I1l Percent
Controller Set Point Deviations....................... 67
C.1 High Control Costs ................................... 106
C.2 Equal Costs ........................................... 108
C.3 Low Control Ccsts...................................... 110
C.4 Extra Low Control Costs............................. .... 112
LIST OF FIGURES
Figure Page
2.1 GIPSI: General Interface for Process Systems
Instrumentation, Front Layout ........................ 14
2.2 Execution and Delay Phases of Software Package........ 18
2.3 Typic'.l Computer Control Loop Showing Alternate
Configuration......................................... 21
2.4 Contro.l Scheme, Feed System.......................... 23
2.5 Total Column Control Scheme........................... 25
2.6 ComputerColumn Connections........................... 26
3.1 TimeDynamic Programming Stage Relationships ......... 39
5.1 Perforo;ance Index Values for Various Control Cases
for Cast Case One........ ..... ..................... 53
5.2 Performuance Index Values for Various Control Cases
for Cost Case Two.................................... 54
5.3 Performance Index Values for Various Control Cases
for Cast Case Three.................................. 55
5.4 Perform:ance Index Values for Various Control Cases
for Cost Case Four ................................... 56
5.5 Control Variable, Steam, for Composition Control and
All Optimal Control Cost Cases....................... 61
5.6 Control Variable, Reflux, for Cost Cases One, Two,
Three................................................ 62
5.7 Control Variable, Reflux, for Cost Case Four and
Composition Control.................................. 63
A.1 Top CoGmposition: ColumnModel Response to Step
Change in Feed Rate.................................. 78
A.2 Bottom Composition: ColumnModel Response to Step
Change in Feed Rate.................................. 79
A.3 Top Flow Rate: ColumnModel Response to Step
Change in Feed Rate .................................. 80
LIST OF FIGURES (Continued)
Figure Page
A.4 Top Flow Rate: ColumnModel Response to Step
Change in Feed Composition ........................... 80
A.5 Top Composition: ColumnModel Response to Step
Change in Feed Composition.......................... 81
A.6 Bottom Composition: ColumnModel Response to
Step Change in Feed Composition...................... 81
A.7 Top Composition: ColumnModel Response to Step
Change in Steam Rate ................................. 82
A.8 Bottom Composition: ColumnModel Response to Step
Change in Steam Rate ................................. 82
A.9 Top Flow Rate: ColumnModel Response to Step
Change in Steam Rate................................. 83
A.10 Top Composition: ColumnModel Response to Step
Change in Reflux Rate ................................ 84
A.11 Bottom Composition: ColumnModel Response to Step
Change in Reflux Rate ................................ 85
A.12 Top Flow Rate: ColumnModel Response to Step
Change in Reflux Rate................................ 86
A.13 Top Composition: ColumnModel Response to
Simultaneous Step Changes............................ 87
A.14 Bottom Composition: ColumnModel Response to
Simultaneous Step Changes............................ 88
A.15 Top Flow Rate: ColumnModel Response to
Simultaneous Step Changes............................ 89
D.1 Load Variables for Two Cost Cases to Illustrate
Effect of Filters and Noise.......................... 115
D.2 State Variable Response for Cost Case One for
Optimal Control...................................... 116
D.3 State Variable Response for Cost Case Two for
Optimal Control...................................... 117
D.4 State Variable Response for Cost Case Three for
Optimal Control...................................... 118
LIST OF FIGURES (Continued)
Figure Page
D.5 State Variable Response for Cost Case Four for
Optimal Control...................................... 119
D.6 State Variable Response for Composition Control...... 120
D.7 State Variable Response for Uncontrolled Case......... 121
D.8 Control Variable Response for Cost Case Four for
Optimal Control. Try at Reproduction................ 122
D.9 Control Variable Response for Cost Case Four for
Optimal Control. Try at Reproduction................ 123
D.10 Load and Control Variable Response for No Upset,
Optimal Control Noise Level Test for Cost Case One... 124
D.11 Stage Variable Response for No Upset, Optimal Control
Noise Level Test for Cost Case One.................... 125
D.12 Comparison of Performance Index Values of Runs for
Reproduction for Cost Case Two....................... 126
D.13 Comparison of Load and Control Variables of Runs
for Reproduction for Cost Case Two ................... 127
D.14 Comparison of State Variables of Runs for
Reproduction for Cost Case Two ....................... 128
viii
LIST OF SYMBOLS
Capital Letters
A Matrix of state variable quadratic cost coefficients
B Matrix of control variable quadratic cost coefficients
B Bottom product flow rate, !bm/hr
C Vector of state variable linear cost coefficients
D Vector of control variable linear cost coefficients
D Top product flow rate, Ibm/hr
E Matrix of coefficients for previous state variables in
linear model
F Vector of load variables
F Load variable, feed rate, lbm/hr
G Matrix of coefficients for present load variables in linear
model
H Matrix of coefficients for previous load variables in linear
model
J_ Matrix of coefficients for present control variables in
linear model
I 2Matrix of coefficients for previous control variables in
linear model
N Number of stages in the dynamic programming solution
R Concrol variable, reflux rate, ibIi/ihr
S Control variable, steam rate, ibm/hr
U Vector of control variables
X Vector of state variables
XB Bottom composition
XD Top composition
XF Feed cor)po:ition
Small Letters
d Derivative operator
m Present time stage in linear model
n Previous stage in dynamic programming solution
s Laplacian operator
t Time
Subscripts
D
F
i
j
R
S
XB
XD
XF
1
2
Variable with this subscript represents top rate
Variable with this subscript represents feed rate
Denotes variables in an array
Denotes variables in an array
VariabLe with this subscript represents reflux ra
Variable with this subscript represents steam rat
Variable with this subscript represents bottom cor
Variable with this subscript represents top compo
Variable with this subscript represents feed comp
Signifies particular constant
Signifies particular constant
te
e
position
sition
position
Superscripts
D Variable with this ui~rc.L.pi ieresents top product rate
i Denotes variable in an array
T Denotes transpose of a vector
XB Variable with this ;superscript represents bottom composition
XD Variable with this superscript reprne~ets top composition
ss Steady state
Subscripted and Superscripted Letters
I. Represents control and load variables in li
derivation
i
K Denotes particular constant in linear model
i
K Denotes particular constant in linear model
2j
i i i
K j Constant as a function of K j and K2j in li
Sl i i
K Constant as a function of K and K in li
2j 1n 2l
1
P Represents linearconstant multiplier in op
near model
near model
near model
timal control
law
2
P Represent state variable multiplier in optimal control law
P Represents control variable multiplier in optimal control
law
4
P. Represents load variable multipliers for present, past, and
future values
X. State variable
1
Greek Letters
a Constant to insure convergence in dynamic program solution
A Represents a deviation quantity. For time this is t2tl.
For variables this is actual value steadystate value.
T Time constant in linear model
Y Summation
Abstract of Dissertation Presented to the Graduate Council
in Partial Fulfillment of the Requirements for the Degree of
Doctor of Philosophy
EXPERIMENTAL STUDIES IN OPTIMAL COMPUTER CONTROL
OF A CONTINUOUS DISTILLATION COLUMN
By
Robert Carl Fschenbacher
August, 1970
Chairman: Dr. Frank P. May
Major Department: Chemical Engineering
A continuous distillation column and an analogdigital inter
r e o cere
face for connecting process variables to an IBM 360/65 computer were
built, and a general software pac!agc for data logging and realtime
computer control was writte; and debugged.
A dynamic programming problem with a quadratic performance
index and a constraint cst consisting of a linear first order distilla
tion column model was proposed and solved by an inductive method, by
hand, to obtain a solution. The analytic solution was run on the
IEM 3'60/65 C'uter. eff14ia to Jcbt;in a set of s'a.e irvrii7 t
steadystate matrix rtipli.ir fror eich of four cost coefficient cases.
When online control was instituted, these multipliers were multiplied
by the present stai:e nd co ntro!l C .i 1 abls and by the present and
futui.e :psets to give lan op.',,~I.a output at e~ach stage.
i luine optimal conmpuLter coT:rtrol w;s investigated for the four
sets oif cost L oeffi.ci .its ;in the p rfo i ranca index, int3i xa ng fo:'i high
state vari .ble c':: i high 'cl'oitro] vaJriable co:ts. An iJpsiet pTL ttcrn
consisting of pulses in feed rate and feed composition constituted the
load variable changes on the system. The system state variables were
top and bottom product composition and flow rates, and the control
variables were steam and reflux flow rates.
The same upset pattern was made for column control configurations
of (a) no control (uncontrolled column response), (b) dual composition
control where top and bottom product compositions were maintained
constant by manipulating reflux and steam rates, respectively, and
(c) optimal computer control.
Noise in the system proved to be a major problem which made it
difficult to interpret some results and make reproducible runs. This
problem must be dealt with more effectively in any future work.
Despite the noise problem, it was demonstrated that the optimal
control scheme, when used with the known upset pattern of pulses,
produced bjit.er control than either composition control or uncontrolled
operation when i;easared by the specified quadratic performance index.
It was found that by manipulatingg cost coefficients in the performance
index, one could cause the control to 'rc s nd in a predictable manner.
As the cost of control was decreased in comparison to the cost
of state variable deviation, control action became more a nd more
orenouncoe until a ratio of th se relati'. costs was r.achd at which
the controls tended to stu~:ate (ratio of about 100 for system lrder
consideration).
The. General Interface for Process Systems Instrumentation (GIP1 I)
was designed and built to be used as a .cr nral research and teaching
tool and has proven its usefilnes thi:ougjl".ut this work.
X iii
CHAPTER I
PROBLEM DEFINITION, LITERATURE DISCUSSION
The possibility of the control of continuous processes in
an optimal fashion has been apparent since the advent of computers
and the development of a substantial body of optimization theory.
However, past efforts have been highly theoretical in nature with
little potential for implementation in practice. The work reported
here had as its goal the development of a practical scheme of optimiza
tion for the continuous operation of a distillation column and the
experimental investigation of its effectiveness in online operation.
The work described in this dissertation consists of three
parts: (a) the design and construction of an analogdigital inter
face for linking together a process and a digital computer, (b)
the writing .nd i:plerr. station oE a software package for general
usage of the analog.digital interface, and (c) the investigation of
realtime optimal computer control of a binary distillation colur.n.
Optimal. compuzr control is .i,.pliiented by solving a stage
wise dynamic programming problem of four state variables and two
.coUL~.)l variables offline on an IEi 5t60/65 comipuzro. This produces
a set ou ste..i yLstate matrices which, when multiplied by i the state. of
the system, the current controls, and the present .nd future upsets,
gives the optimal. control law a:t erSh st age. Tiis control law is
then played out to minipi'late the s.:tyoints o5 i the control variables.
This type of control. is .thus sai' to .u uperviscry control.
Sitgewi'se d;:iyniic progra;ming w.s chosen as the solution
algorithm for several reasons: (a) it allows the system model to be
written in discrete form, (b) stages in time can represent dynamic
programming stages, (c) it provides both feedback and feedforward
capability in the optimal control law, and (d) it permits an off
line solution of the problem, giving a steadystate control law which
is fast and easy to implement zomputationally in the online control
at each stage.
The state variables in this system were top and bottom composi
tions and flow rates. The control variables were steam and reflux
rates, and the load vari ables were fe d rate and composition.
By definition. taie vari hblas re things vnrinhblAs which
describe the state of the system control variables are those variables
which when manipulated change the state of the system, and load
variables are those variables ,,hich change the state of the system
but which one has no control over. One must realize, however, that in
an experimental research projct, such as this one, load variables are
controlled in a predetermined manner to follow some a prior pattern
designed by the researcher.
An atmosphericbiarcy distill ti . column with a oartilal
reboiler and ot: cu mens:c has 5i.x process dC pajc s of freedio. In
C 3S 0 J U.. I 1. .l C aiLe, iL C O 1.1iOC L i 'X atlu
feed temperature. .. er. the six degree uf f.E'edocn. T'ro of these
variables, reflo'%_ tad feed tePrperatui. es, .were cocsi'dc.ed to be
variables which did nmt cha.nge. F':d tc '..perac.rc ',as s iply assumed to
b) constant at the a: mient laboratory ltmpernatLuret nd reflux te:ipf'atire
was controlled at a constant value by manipulating cooling water to
the condenser.
A quadratic performance index was minimized in the optimization
problem. The quadratic form was used to represent a deviation in
operating costs of the distillation column about a particular steady
state operating point for upsets in load variables. Chapter 3
discusses in more detail the performance index and the associated cost
coefficients. Since the performance index represents a deviation in
operating costs about a particular steadystate operating point, it
was, therefore, convenient to represent all variables as deviations from
their steadyrtate values throughout th8s nwtork,
The literature contains some very interesting articles on
optimization of processes; however, little information is available on
the optimal computer control of distillation columns. Some of this
literature is discussed below.
Zahradnik et al;. (1) considered the c1ti,cl control of a
distillation column using conventional calculus, the calculus of
variations, the maximum principle, and dynamic programming for a two
controlva'ri.b.le, one.state ,,riable prob!enm. Their control variables
wcre s.eam rate and top product rate, wi' top product compoiti.ion
b.ing tl.i' Lstate .':iib T. iod vas aia e in cnhcir rsytcn. was
feed composition.
They used a 1 ineeri :led modell for th ate tvariablei a
function of load and control vriab.les. One model they usod was steady
state in nature and assumed instantaneousus column d'arics, while
another model included dynamics in the form of first order lags, similar
to the model used in this project. Because their control law was not
a function of future upsets, it was only feedback in nature giving
only an optimal feedback control. (Compare this to the feedback
feedforward control law developed in this work.)
They made no comparison to either the uncontrolled case or the
conventional control case as far as control or performance index
values were concerned. They solved the optimal problem of maximum
profit using an integral dynamic programming algorithm as opposed to
the method of stagewise solution presented in this work. No actual
online control was performed in their problem and all computations were
performed (column simulation) on a digital computer. Another point of
interest was their socalled steadystate optimization which yielded an
optimal control law giving a new optimal steadystate for a load
variable upset.
Paradis and Perlmutter (2) deviate from the usual choice of
performance indi:2x and choose instead one which is a quadratic function
of the statue variables, and then solve the problem of minimizing the
time derivative of this performance index. The resulting control law
is bangbang in nature. This form of perfer~;ance ;idex was chosen for
ccmputtional expediCency and, cC.3syquantly, doeos rt naccssarily yield
useful operating cost iuforrmetion. TLeir coni:ol law moves their
system from somn i:i.[ . state to some li'nal state !.iile minimizing the
performance index ;a:d is, ca:equen lly, a prede.tecLined control law
based solely on the given systein ..ndel for a given upset. It is rot
corrective in either the feedback or EeedfoL.iard sense and 7ould not be
applicable to online transient control for load variable upsets. No
comparison is made to any form of conventional control which might in
reality cause at least as good a system performance as their optimal
control. No online control was tested.
Rafal and Stevens (3) solved the problem of a quadratic
performance index and linearized system dynamics by using a suitable
quadratic programming algorithm. They, thereby, generated a stepby
step optimal control which, of course, was not necessarily optimal in
the overall sense. Their control law was feedback in nature and was
updated at each stage of optimization. Here again, no actual online
control was accomplini ed nd nnly the lineari7.d system dVynmics were
available to represent the real system. A comparison was made to the
uncontrolled response of the lineari'ed system but no conventional
control was tested.
The state variables in their system were tray compositions in
a distillation column; the control variables were feed rate, reflux
ratio, and reboiler heat load, and the load variables were feed composi
tion and temperature. No values of the performance index were given for
comparison.
Brosi low and rlaidley (L) jIokcd ;t th:e problem of optim.a feed
back coiLrol of a fiCLeeuLLay rectifying column. LThy used a quadratic
performance index with negligible cost on controls ard solved the
problem using a modified matrix Riccati equation for the control law.
Note that this gives only feedback control since this form of control
law is a function of the present state of the systci. The control law
must be a function of tha future upsets to actually have a feedforward
effect.
The load variable used by Brosilow was vapor feed to the bottom
of the column. The top product composition, as state variable, was
controlled by adjusting reflux rate as the control variable. This
then represents a onestatevariable, onecontrolvariable problem.
Their model was a linear model which considered the effect of each
tray and, in fact, they considered the temperature on each tray to be
representative of the composition on that tray. They compared their
results to the uncontrolled response of the column in the form of the
behavior of the top product composition and plate temperatures.
To show bhat hie rePult was truly optiinmal they should have
compared performance index values for their optimal control experiments
with the performance index values generated in the uncontrolled case.
In fact, since their control law is feedback in nature,the question
arises as to whether their system would actually generate better results
than a similar form of conventional control.
Lapidus (5) has investigated analytically the general case of
optimal control of linear systems with quadratic performance criteria.
His problem treats Lte optimal control of a process between two s;'cady
st:atc conditiLns, or, in effect, he solves an initialfinal value problem.
lie sihow how u .n uijtaid. the '.iimpldr.v ita optimal control law and
continuous optimal control .lw and applies these, on a digital computer,
to a sixplate absorption column.
Lapidus discusses the fedbackfeedforward properties of optimal
control. His results indicate that for the quadcatic perform. dance
index, the magnitude of control is dependent on the cost coefficients
in the performance index. Ile also points out that by manipulating
these cost coefficients, one can obtain almost any optimal control
pattern one might desire for the sampleddata control case.
The performance index considered in this work is a function of
the state of the system and the control variables; consequently, cost
coefficients for the state and control variables both play important
parts in the control law.
Four cases of cost coefficients were investigated for the optimal
control problem: (a) large state variable costs relative to control
variable csts, (b) 1gare controll vari sb cocts relative to state
variable costs, (c) relatively equal costs for state and control
variables, and (d) large state variable costs on two of the state
variables with low control variable costs.
The performance index values for optim:al control were compared
to those for conventional control of the process 'or an upset pattern
in load variables for each of the various cost coefficient cases. Guide
lines for implemerrt.ting and using optimal control for each of the four
cost cacss are give and tb~h effect of cost coefficierts zom control Is
shown.
Pie (6) discusses the aspects of using dynamic programming and
further points out that two cases can be treated: (a) the case of
determiniistic systems where all upsets over all time are known, and
(b) the case of stochastic systems where cn.y the statistical properties
of upsets are known or cn be estate d. !n this aithor's work the
deterministic case was treated and,as was mentioned earlier, full
control over load variables was exercised to give the previously
determined upset pattern.
In order to solve the dynamic programming problem a system
model was required. This :model is presented in Chapter III.
It was mentioned earlier that optimal control would be compared
to conventional control. Conventional control in this case means dual
composition control, i.e., control of both top and bottom product
compositions, simul taneousliy. Chapter II gives a complete discussion
of the column and its control schemes. Chapter II also discu:ses the
analoqdigital interface us.d to connect thap 11(tl]ti on Column to
the IBM 360/65 computer as \:ell as the associated software.
CHAPTER II
HARDWARESOFTWARE SYSTEM, DISTILLATION COLUMN,
AND COMPUTER LINKUP
As was stated in the first chapter, there were three definite
aims to this problem. Tw.o of those, the hardware and software that
make up the General Interface for Process Systems Instrumentation
(GIPSI) and the distillation column will be discussed in this chapter
and the third in the following chapters.
A. General Interface for Process Systems
Instrumental ion
GIPSI in its present design state can be used for digital
input ond cutput and two levels of analog to digital conversion. In
the present state, GIPSI can be used for online, realtime direct
digital control, supervisory control, or .data logging. Several pro
ceaies or individuals or both can usehelhe hardwSare system simu!l:'eou.sly.
The d.i Ji:al c:4ip. rer used vwith the interface is an IEM 360/55.
This gives the capability of extremely fast computation time as we31
as large core availability. Data tracs:fer in ei thr direction occurs
over d. l .ied tel .nphne li r. :Te u20 system opre ;3a o a tjiae
Zihacred basis and a priority system,. The timeshai ng s1yst.em allows
the uJse of one ccmpipLting Fprtition of the 360's core for long periods
of t.i with little actual comi;pitation ti.me occurri.Lg. The 360 has a
F'a ratioT,. wait tate cap.biliLy uht allow the C. ?U (central
processin u.nit) to be a.a':ne thait the GI';S is in use but is not in a
comiputati orl ..t. While in this .ia' a st..te, te 360 processes
other programming. When the GIPSI signals the 360 that computation is
necessary, the 360 stops whatever work is in process and returns to the
GIPSI programming. When finished with the GIPSI, the previous program
ming is picked up again. Since the inputoutput time of the 360 is
very fast, small CPU times are logged and computational costs are small
provided control computations, material and energy balances, kinetic
calculations, or in general any computation done with GIPSI software are
not extensive. For realtime control and data logging, the CPU time
is proportional to the number of stages, i.e., the frequency of input
output operations or sample time. Indications are that about 0.5 minutes
of CPU time would be logged per hour of opration on GIPSI.
The basic operating equipment of GIPSI is an IBM 1070 Analog
Digital Conversion system. The central terminal unit is a 1071 unit
which handles all multiplexing, analog conversion, and inputoutput
communication with the 360 computer. The actual multiplexer points
(terminal connections for digital inputsoutputs and analog input signals)
reside in two 1072 multiplexer units giving a total availability of
100 points. Twenty of the points are allocated to analog input signals
of 1 to +5 vdc. Tventy of the points are allocated to analog inputs
of 10 to +50 millivolt de. Thirty points are allocated to digital
iuLpu and 30 points to digital output.
Another part of the interface is an IBM 1073 Model3 digital
pulse converter. This converter takes a digital number generated by
user software and converts it to tlhe equivalent number of updown pulses
which can be used to drive any device which uses updown pulses. This
device is used as the feedback from the I~~ 360 and drives, in this
work, pulsesetpoint controllers which control the control variables
(steam rate and reflux rate) for the optimal control problem.
An IBM 1075 decimal display completes the IBM hardware in GIPSI.
This device is used to display error codes and variable values. In
this work the 1075 was used to display the stage number so changes in
load variables could be made easily on tire.
When a user program is entered into the central processing
unit of the IBM 360 computer, the computer becomes aware of GIPSI
through a process alert bus located in the 1070 and attached to the
process alert ch.anc s i 1P . '"en t.h. l is
activated by a contact closure, the computer senses this closure and
activates the software to find out hat caused the closure. The devices
which handle thece contact closures are process alerts. The contacts
on the process alert bus can be closed Mraaislly for random operation,
by external devices such as pressure sGitches, or with an automatic
polling device for accurate periodic operation. GIPSI has available on
one of the six process alert ch.nnela a polling device called a hardware
pollcr. This policr cycles on a periodic basis and closes the process
alert contacts every XXX secouds. The physical limits on the poller's
cycle time are twvo to 59 seconds. The software can be used to increase
this cycle time to as long as the user pleases. Sinca process alerts
directly activate the GIPSI software sy~ st, any critical devices which
have contact closing capability and represent alarms, pressure sumitches
or any safety device, should connect directly to the process alerts
for mediatee action.
GIPSI has 15 digital input sense pairs which allow the user to
sense the state of toggle switches, sense the state of two independent
digital inputs or sense the state of onetwo position process digital
input. These devices can be used to activate computer programs at the
user's desire (manual operation with toggle switches) or at the closure
of any contact closing device. The digital input sense pairs do not
activate the process alert bus and have to be scanned by the software;
consequently, the computer can respond to their commands only when the
scanner program is activated.
GIPSI has 12 digital output pairs operated manually or by the
computer. These digital output pairs give onoff capability in the
normallyopennormallyclosed sense for 110 vac or user powered
devices. These devices could be solenoid valves for blending operations,
pumps for liquid movement, fans for air purging, or motors for opening
and closing control valves for direct digital control.
There are ten pulsed output channels for feedback from the
computer to any user device which can be operated by updown pulses.
The 1073 Model3 puts out both up and down pulses. The pulsed output
channels along with Lh,1 software package are available to the user to
choose e either the up or the down pulsed output to drive his equipment.
GIPST conta;iis A :sxdg decimal injrtpt device for inputtin
data to the computer either randomly or periodically (with the automatic
hardware poller) to change values of variables during computer opera
tion, update constants, cause certain variables to display, or activate
other programming. This demrn] nput device gives the system almost
unlimited demand function caj:) A; .lity.
The problem at hand uses seven of the 10 to +50 millivolt dc
analog input points for thermocouple inputs, and 13 of the 1 to +5 vdc
analog input points for other column parameters such as flow rates
and compositions. The 1073 Model3 digitalpulse converter and two of
the pulsed output channels are used to drive two pulsesetpoint
controllers on the control variables steam rate and reflux rate. The
automatic hardware poller was connected across process alert number one
for periodic contact closure of the process alert bus allowing the
software package to operate the system under realtimesupervisory
control.
The k;jlJi housing consists of three standard 19 inch rack panel
cabinets tied together. The system is moveable to any location and
needs only to have a telephone line to the IBM 360 for direct use. ,
GIPSI is layedout with simple plugs and switches to f. .i litate easy
operation by an inexperienced student r.erely by plIgging into the
analog inputs, digital inputs, digital outputs, or pulsed output
channels. Figure 2.1 gives th: front panel layout for The three
cabinet system. A detailed docucbimentation package of the hardware
system incljidjng uipm lljnri t r:, quiremiients and wiring diagrams has been
written for the general user (8).
B. ,GIPSI Software
A general purpose softwa e pack]g was developed so anyone with
a knowledge of Fortran programming could ,:e t{he GIPSI system. Sub
routines were written io h''ndl process, arts, digital input sense
S IBM 1070 DISPLAY ,
i4
RELALY BANJ K
PROCESS ALERTS
IBM 1073 MODEL 3
(DIGITALPULSE
CONVERTER):
IBM 1072
(MULTIPLEXOR UNIT)
DIGITAL INPUT SENSE
PAIRS
DIGITAL OUTPUT
SIPULSEL OUTPUTS
POWER SUPPLY
CABINET 1
IBM 1072
THERMOCOUPLE INPUTS
THERMOCOUPLE TEST
SIGNALS
ANALOG TEST
SIGNALS ;
ANALOG INPUTS
TRANSDUCERS
(PRESSUREVOLTAGE)
PRESSURE RECORDER
ii
IBM 1071
(CENTRAL TERMINAL
UNIT)
S POWER SUPPLY
CABINET 2 CABINET 3
Figure 2.1. GIPSI: Genaral Interface for Process Systems Instrumentation,
Front Layout.
___ __I~~ ~
I I~llP i.
t '
pairs, digital output pairs, digitalpulse conversion and pulsed
output, the decimal device, and to read and decode the analog inputs
for both voltage ranges. It is required of the user to write his
computational subroutines and one transfer subroutine called GOTO.
Available are a series of subroutines associated with the decimal
input device. These subroutines make up twelve demand functions which
will allow many operations such as data transfer or change, or data
display as well as starting and stopping certain system programs and
user programs. The user, of course, can write many more demand
functions of his own.
An tnsive ar'oi' code systiii ws LvejL itVL U thie sLfi ware to
announce when errors occur either in data transfer or if the user makes
an error while using a demand function or if the software system commits
or develops a problem. Three levels of errors are considered: (1) a
fatal error occurs whenever some operation causes a problem which the
software cannot overcome, (2) semifatal errors occur whenever problems
arise which require user response such as ignoring the error and pro
ceeding, stopping the machine, or restarting, (3) a nonfatal error
occurs whenever the '.c er rakeh a mistake in using a demand function.
Nu software or user action is t'ken for the last type of error; the
user merely tries again. Fatel errors always stop the computer. A
bell sounds and the display shows che arror code ,whenever one ccurs.
The realtime computer operation functions through a series of
control programs starting with the process alert handler PROCPA.
Briefly, when a process alert occurs P;'.CCPA deter .Ines .which channel
caused the alert and stacks the subroutine associated with that channel
on an execution list according to a priority level. When all the
necessary channels (those causing process alert contact closures) have
been checked and stacked for execution subroutinee STACK does the
stacking), a subroutine called EXECUT begins to execute the members of
the execution stack by calling subroutine GOTO, which has been written
by the user to include any and all channels he is interested in
executing and is composed of a series of Fortran calls to the proper
channels. Any channel called may introduce new members to the execution
list at any priority level. When all programs on the execution list
have been executed, EXECUT returns to PROCPA to wait for the next
process alert contact closure.
Periodic operation is handled by a subroutine called CLOCK
which is placed on the execution list whenever process alert number
one is activated either manually or by the hardware poller or by some
external device and the user has specified the poller option. CLOCK
looks at a list of subroutines, called the delay list, and determines
whether or not it is time to execute any of the subroutines on the list.
If a subroutine is scheduled to run, CLOCK calls STACK and places the
subroutine on the execution list and deletes it from the delay list.
A subroutine can only get back on the delay list by calling subroutine
DELAY. This subroutine checks the existing delay list and if the
calling subroutine is not already on the list, DELAY puts it on the list.
The CLOCKDELAY combination givesthe user the timedelay capability of
running programs at time intervals longer than the stage length of
the hardware poller. CLOCK works by checking a delay time parameter,
specified by the user against the computer clock and determines if it
is time to run that program.
Figure 2.2 gives a simplified flow diagram of the execution
and delay phases of the software system. A thorough documentation
package of the software has been written for the general user (9).
C. Distillation Column: Design and Control
The distillation system used in this work is typical of pilot
plant equipment. The basic system consists of a 10inch, 12plate
bubble cap column with a 30gallon reboiler. The rilu mn has ins.trumn.ts
to measure the variables listed in Table 2.1.
TABLE 2.1
COLuI4N VARILR,'iES READ BY COfP.TTER
V;r iabl e
Feed Flow Rate
Feed Comnposition
Top Product Flow Rate
Top Composition
Bottom Product Flow Rate
Bot i.toa Composition
Steai ,'low Rate
Reflux Flo'w Rate
Cooling V'ater Flow Rate
Cooling Water Tc :imprature, IN
Cooling Tai.ter T'f;,p:eLrature, OUT
Top Colutm n Vapor Temyp:r.ture
Feed Temperature
Steam Temperature
ReboilJer Temcper: nature
Reflux T'ro :p nature
Ori jinal Signal Form
Pneumatic
Electric
Pneumatic
Electric
Pneumatic
PeuiuCa t:lc
Electric
Pneuma Lic
P .eumi aLic
P, ieumriatic
Electric
Electric
Electric
Electric
CL t :1
STACK CLOCK
I EXECUTABLE
PROCPA EXECUT GOTO ' PROGRAMS
DELAY
Figure 2.2. Execution and Delay Phases of Software Package.
All flow rates, with the exception of steam, are measured with
FischerPorter transmitting rotameters whose output signals are
standard 3 to 15 psi pneumatic signals. Steam flow rate is measured by
an orifice meter whose output signal is also a 3 to 15 psi pneumatic
signal. All temperatures are measured with copperConstantan thermo
couples, each of which is plugged directly into a 10 to +50 nmvdc input
point on the GIPSI hardware system.
The pneumatic signals generated by the flow measuring devices
are transduced by Taylor pressurevoltage transducers from 3 to 15 psi
pneumatic signals to 0 to 5 vdc signals for use with GIPSI hardware.
Table 2.2 shows the maximum operating conditions for column
variables.
TABLE 2.2
tM/LIMPI COLUMN VARIABLE OPE_"_ATING CAPABILITY
Variable Main um Cp ab ility
Feed Flow Rate 80 gaIl/hr spgr 0.75
Top Product Flew Rate 50 gal/hr spgr 0.75
Bottom Peoduct Flow "ate 50 al/hr upgr 0.8
Reflux: Flow, Rate 00 gal/hr spgr 0.8
Cool'...g Wate:r Rate 30 gal/min spgr 1.0
Stcan Rate 250 lbs/hr
5e aerialss of d.sLtillauiun fur thi: work are methanol and
tertiary butyl alcohol chc; a because of th' vail]abil.ity of therrmo
dynamic ard effiicncy data.
To per foj:I c:ili'ine da1a l;gg n 1 and control of the system r, it
is necessary to ha.7ve cutii ~.cus~ .i s for ai1 Ce .arables i onitored
by the computer. The pneumatic signals from the flow meters as well
as the electric signals from the thermocouples are continuous analog
signals and present no problems. Since the system uses a binary
mixture and since the refractive index of the binary is a function of
composition, Electron Machine Corporation refractive index meters were
used to generate the necessary analog signals proportional to composi
tion, 0 to 5 vdc for computer purposes and 4 to 20 milliamp dc for driv
ing FisherGovernor amppressure transducers. Three such meters were
used, one on each composition stream.
The distillation ccluItn a.s designed to be operated under
several different itypv n F rcitrol: () no control l herTe 'team rate,
reflux rate, fed rate, ai.d feed composition are controlled at constant
values and Lop composition and flow a'n lottom composition and flow are
allowed to vary; (b) dul c.opiiosition control, where the top composition
is controlled by manipulating reflux rate and the bottom composition is
controlled by manipulating steam rate; (c) co'r puter control, where
configuration (a) above is followed, .and the cutroller setpoints on
steam and reflux are manipulated by the ; cpu'.r. The computer control
by manipulation of controller setpoints is known as au.rvii. o:y control.
Figure 2.3 slhnus a typical ccTnp!.~?r control. loop. ihe three 'ypCes of
control da:r i:stiti ted by o ptJinug and clTsinrg the a.pprop'Jarie hand
valves to supply input variables to the various coitrollers. The
computeroperated controllers are FischerPorter pulse:etpojnt
controllers.
The feed rate and composition control loops are shown in
Ref ux Lirzo
CC
Si ... .
S* ........I C C
ITR
H CV Column
L.I cv
Reflux FlowTop Composition Control
Legend
CM Composition Monitor
CC Composition Controller
CV Control Valve
FC Flow Controller
TR Transmitting Rotameter
Liquid Flow
* Air Line
Figure 2.3. Typical Computer Control Loop Showing
Alternate Configuration.
Figure 2.4. Because feed rate and composition are load variables and
need to be manipulated to specified values, FischerPorter pneumatic
setpoint controllers are used to enable one to generate setpoint
changes in the form of pneumatic signals from some external device
such as an analog computer or optical line follower, etc.
Figure 2.5 shows the overall column control scheme, while
Figure 2.6 shows the columncomputer hookup through the GIPSI system.
Computer progra;is were written to read the column variables
in Table 2.1 every ?2 seconds and institute control if one was
operating under the computer control scheme. Appendix B gives a
listing of the user software. The 72second sample and control time
was arrived at as stage length by experience.

SCV C I
SoI Column
CV c
f,. L .~
Legend
Composition Controller
Composition Monitor
Control Valve
Flow Controller
CurrentPressure Transducer
P Pump
T Tank
TR Transmitting Rotameter
 Air Line
Liquid Flow
Figure 2.4. Control Scheme, Feed System.
CC
CM
CV
FC
CPT
Legend
C Controller
CM Composition Monitor
CV Control Valve
DP Differential Pressure Transducer
LC Lever Controller
0 Orifice
TR Transmitting Rotameter
T Steam Trap
.* Air Lines
Flow Lines
Figure 2.5. Total Column Control Scheme.
Drain
Cooling Water
Cooling Water
Product
Stream
Feed
Tanks
Column
Vapor Line
~I
Bottom
Stream
Vapor
~7
t~
.  .Cooling Water
CONDENSER
Reflux Product
Feed
FEED COMPOSITION
FEED TE.;P
REFLUX TEMP
.STEAM TEMP. .... ..... ...,
BOTTOM TEMP
TOP COLUMN TEMP
COOLING WATER IN TEMP
COOLING WATER OUT TEMP
STEA M RATE
PRODUCT RATE
REFLUX RATE
,,EEED ..RATF ... ...... ... __
.BOTIONMATEF._
PRODUCT COMPOSITION
BOTTOM COMPOSITION
COOLING WATER RATE
GIPSI
 REBOILER
Steam .i
B ottom
Figure 2.6. ComputerColumn Connections.
COLUMN
COMPUTER
 =
CHAPTER III
THE OPTIMAL CONTROL PROBLEM
As was stated in Chapter I, the optimal control law is derived
by the stagewise dynamic programming algorithm. A general statement
of the problem is (7)
N
Min r.(X(j),U(j)) (3.1.a)
U j=0
subject to
X(jl) = G(X(j),U(j),F(j)) (3.l.b)
where stages represent time intervals. In implementing this general
mathematical statement, several tasks arise: (a) find a suitable
performance index for the system, (b) derive a suitable set of
constraints, and (c) obtain the optimal control law.
A. Derivation of the Performance Index
A general quadratic performance index was proposed with the
following form:
TAX + UTBU + 2CTX + 2DTU (3.2)
where A is a matrix of cost coefficients relating costs due to
quadratic effects in state variables, B is a matrix of cost coefficients
T
relating costs due to quadratic effects in control variables, and CT
and D respectively, are vectors of cost coefficients for linear
effects in state and control variables.
In order to maintain control of the system about the steady
state operating point for all variables such that the unconstrained
dynamic programming problem would always give a bounded solution, the
linear terms in equation (3.2) were made zero giving the performance
index a strictly quadratic nature, as
SAX + U BU (3.3)
The state variables X., i=1,4, the control variables U.,
i=1,2, and the load variables F., i=1,2, represent deviations from
steady state, or
X = XD XD = AXD
1 ss
X2 = XB XB = AXB
2 ss
X = D D = AD
3 ss
X = B B = AB
4 ss (3.4)
U = S S = AS
1 ss
U = R R = AR
2 ss
F = F F = AF
1 ss
F2 = XF XF = AXF
2 ss
Therefore, the performance index represents a deviation from some
constant operating cost level for load variables as well as control and
state variables. Only diagonal terms are considered in the A and B
matrices to emphasize the individual variable deviations from steady
state without considering interaction between variables.
Various cases of cost coefficients (aii, i=1,4, b.., i=1,2)
are possible but only four cases were considered: (a) relatively large
control variable costs, (b) relatively equal costs for both state and
control variables, (c) relatively large state variable costs, and (d)
large state variable costs on AXD and AXB and small control costs.
(These four cases are referred to as high costs, equal costs, low
costs, and extra low costs.) Equality in this instance implies that
if a oneunit change in the steam rate adds 1.5 units to the performance
index, the corresponding effect caused by that change in each state
variable will add one unit to the performance index.
Table 3.1 gives the values of a.. and b.. for the four cost
11 11
cases considered.
S.BJTE 3.1
PNFORN UCE 1\DE7 COk COEFFICIENTS,
a. = a 4 1 40.0 b = 15.0
J1
1, = a 1.0 h 10.0
a,! '22
 j ?. 0, i f j
,,b,, 1.5
.L .L L4.. J1.
a 1.0 b2 1.0
4 4 22
a.. = *, ; j b.. = 1: i 1 j
3 31
ij C' i
TABLE 3.1 (Continued)
Low Cost Case
all = a22 = 144440.0 bll = 0.15
a33 = a44 = 1.0 b22 = 0.10
a. = 0, i j b.. = 0, i # j
Extra Low Cost Case
all = a22 = 1444400.0 bl = 0.15
a33 = a4 = 1.0 b22 = 0.10
a.. 0, i j b.. =0, i i j
E. Derivation of a Suitable Constraint Set
Since equation (3.1.b) represents the stage transformations in
the dynamic problem, and since the stages are periods in time, it is
obvious that the stage transformations represent the relationships
between the state variables an the output of a stage and the input to
the stage, the controls (decision variabl.s) at the stage, and load
variables at the stage. These rclaticiahips are, in fact, a model for
the distil ;tion c olun.
There are several .ays to dertve a i.modll for the system which
satisfies ithe oeeds of the constraint set given by equation (3.1.b).
The imdel itself mrnus he dcscribable in a difference form allowing the
new state of the syste;, to be written s; a function of the old state
of the system, the current and p.vios. c controls and the current and
previous upsets. For computational efficiency it is desirable to
restrict the model to a first order difference form.
Two forms of a linear first order model were considered:
(a) a first order lag, and (b) a proportional response plus a first
order lag. Past experience of the column response to changes in load
and control variables led to the selection of the proportional response
plus a first order lag as the column model.
After the model had been formulated, as shown below, it was
decided to evaluate the constants in the odel experimentally. Small
step changes in load and control variables were nade on the column
itself to determine the nurerLcar values of th:se constants.
Appendix A gives the response curves for t.e upsets made in load and
control variables. The magnitudes of these ,pets were such as to try
to stay .'ithin the region of liner column response.
One can see from th: response curves in Appendix A that a second
order model would give a better fit to the data. 'This fact as given
coinsiEdJratioc Lut it as alsc seen that the second order model would
yield a set of difference equations vhich would significantly increase
their d(ificult" y of a h.nd solution of the d~oilic Cro.nrammin r porblemr.
The gererl fori. of the transfer function for the proporrional
response plus first order lag ;model, as given in Lsplacian transform
notation for an input variable, is
X.(s) 4.
.... (3.5)
(*p *1 s + 1
1 s 
]1
where i = AXD, AXB, AD, AB, state variables, and
j = AS, AR, AF, AXF, load and control variables.
The proportional response is seen only for two state variables,
top and bottom product flow rates, and then only for changes in steam
rate and reflux rate; therefore, the constants K in equation (3.5)
2j
will be zero for all cases except those just mentioned.
The constant K in equation (3.5) gives the change of state
variable i per unit change of variable j or
X X
Ki Xiss2 issl .
= (3.6)
Kj Ijss Ij
jss2 jssl
where ssi is the initial starting steady state and ss2 is the final
steady state attained in the state variables for some upset in variable
I..
J
The constant K represents the step in stata variable i
caused by a unit change in variable j or
X. X
I Lstep issl
2j 1 I
jss2 jssl
should rci:cmber that X. and I. represent deviations about
1 j
the 'it.. .l c.on<;tio. acnd, c.iCuqueiiLly, in Lhe derivation no constants
appear. d voting the Laiti'l conditions.
Consider, fr .xajuple, tbe top product flow rate. The Lheorem
of supecC 'i tion stiles h:at for a i~Iear system the responses of a
variable to other vri..'ables shagcd singly may be added together to
give the total rcsp;'se of that variable i.n all the independent
variables are ch.:;ng(d si.'ii.n.ouy. I!Thu from this thnocr.m, and
from equation (3.5), one would obtain the total response for the top
flow rate as
AD
K AF(s)
AD(s) = X (s) A + K AF(s) +
3 AD 2AF
TAF s + 1
AF
AD AD (s)
K AXF(s) K AR(s)
XF + K D AXF(s) + +
AD + K21XF AD
TAXF s + 1 TAR s + 1
AD S(s)
K AR(s) + S + K AS(s) (3.8)
2AR AD 2AS
AS s + 1
AS
Similar equations are obtained fr the other st~L e .Iaiar es
The time constants T. were obtained from the response curves
shown in Appendix A by finding the time at which 63.2 percent of the
final value of the state variable was obtained. Table 3.2 gives the
values of these time constants. Table 3.3 gives the values of the
i i
constants Klj and K2j for equations of the form of equation (3.8).
Ij 2j
In order to maintain the column material balance, the bottom
product fl%,w rate was~ obtained by difference, i.e.,
AB L' AD (3.9)
This equation is effected by taking ;,.:e ngative of the constants K !
i
and K,. for AD a.id ,,aking Ki corresponding to the bottom flow rate
for feed rate change equal Lo one. Tab.i 3,3 illustrates the effect of
equation (3.9) on the ii.e.ir model.
The normal method for solJving equ:tion (3.8) is to multiply
TABLE 3.2
i
TIME CONSTANTS T. FOR EQUATION (3.8)
FOR ALL STATE VARIABLES
Load and Control Variables
F XF R S
0.632 0.319 0.320 0.486
0.577 0.638 0.861 0.556
0.553 0.375 0.340 0.205
AB = AF AD
Time constants are in hours.
TABLE 3.3
i i
CONSTANTS K AND K2 FOR EQUATION (3.8)
FOR ALL STATE VARIABLES
FOR ALL STATE VARIABLES
State
Variables (i)
XD
XB
D
B
K
Load and Control Variables
F XF R
0.00276 1.043 0.0023
0.00156 0.403 0.00261
0.947 176.1 0
0.947 176.1 0
(j)
S
0.0035
0.00315
0.15
0.15
State
Variables (i)
XD
XB
D
B
Load
F
0
0
0
1.0
2j
and Control
XF
0
0
0
0
Variables
R
0
0
1.739
1.739
State
Variables
XD)
XB
D
B
(j)
S
0
0
3.42
3.42
through by a common denominator. When this is done, a fourth order
transfer function is obtained which when inverted yields a linear
fourth order differential equation. It was pointed out earlier that
a first order differential equation was desired to give a first order
difference equation to meet the specifications of the constraint set.
i
This problem was overcome by averaging the time constants T. to obtain
a single time constant T.. When this is done, one can factor T.s + 1
in each equation and obtain the desired first order differential
equation. Equation (3.10) gives the new time constants
T = ( TXD)/4 = 0.438 hours
j J
TAXB = 0.658 hours (3.10)
TlD = 0.446 hours
Since all upset variables carry the same weight for column behavior, a
simple arithmetic average was used.
When equation (3.8) is combined with equation (3.10), the
general form becomes
K I.(s)
j T. s + j1 2j j
Multiplying through by T. s+1 gives
(T.s + 1)X.(s) = 1.I(s) + (Ts + 1) Ki T (s) (3.12)
J j
Taking the inverse of equation (3.12) to obtain the differential
equation form gives
dX.
T. + X
i dt i
= K.I(t) +
13j
i
S 2j
J
dI.(t)
dt
+ Kji I(t)
j
(3.13)
Approximating the derivative by a first order backward difference
equation gives
dX.
1
dt
X.(m) X.(m 1)
At
(3.14)
where t for this problem is the stage length. Substituting equations
(3.14) and (3.13) gives
Ti(Xi(m) X.(m 1))
1 1 3
+ X.(m) = l (m)
1 j3
+ ~ I .(m) I.( )) + K .2jIj
j j
At
Collecting terms and multiplying through by + At
T. + Att
gives
X.(m 1) +
J
At
T + At
i
(K j
13
i K Ki
+ K + i 2j
2j T + At
1
Jj
SK.I.(m 1)
. + At 2j
1
i i
(K + K ) +
lj 2j
(3.15)
X (m) =
1
T .
1 +
t. + At
1
Define
(3.16)
At
. + At
1
i
K2
2j
1
(3.17)
i = i
2K i
2j t. + At 2j
1
(3.18)
Substitute equations (3.17) and (3.18) into (3.16) to obtain
X.(m) = X.(m 1) + K I.(m) + KI(m 1)
S. + At 1 2j
1 J ]
(3.19)
Table 3.4 gives the computed values of T./T. + At and the
1 1
i i
constants Kj and K2j for At = 0.02 hours or 50 stages per hour.
TABLE 3.4
i i
COMPUTED VALUES OF T./T. + At, Kl. AND K
1 1 lj 2j
i
Ti/Ti + At
i
K1j
i
K2
2j
j
i
AXI)
AD
AXB
j
AXB
i
AD
AXB
AB
AXD
0.9564
AF
0.0001202
0.000046
0.0407
1.0407
AF
AXB
0.9705
AXF
0.0455
0.01189
7.57
7.57
AXF
AD
0.957
AS
0.0001525
0.0000929
3.426
3.426
AS
0
0
3.278
3.278
AB
0.957
AR
0.0001001
0.000077
1.739
1.739
AR
0
0
1.662
1.662
Note that I. represents both load and control variables.
Breaking I. into F. for load variables and into U. for control variables
and writing equation (3.19) in matrix form gives
X(m) = EX(m 1) + GF(m) + HF(m 1) + JU(m) + KU(m 1)
(3.20)
where U = (AS,AR) F= (AF,AXF), and
AXD
E0 0 0
STXD + At
0 AX
T AXB
0 0 rA 0
AD
0 0 0
TAD + At
0 0 0 AD
TAD + At
SAXD AXD
= lAF 1AXF
AXB AXB
1 AF 1AXF
AD AD
K K
1AF 1AXF
AB AB
K K
A1F 1AXF
S= [0]
J
AXD
IAS
AXB
KAS
1AS
AD
K1AS
AB
KAS
0
0
AD
K2AS
AD
K
2AS
AXD
KAR
AXB
IAR
AD
K1AR
AB
KAR
0
0
AD
K2AR
AD
2A
2aR
Equation (3.20) gives the linear model and constraint set in
time stage form. The convenient dynamic programming stage form numbers
backwards to that of time, thus, stage m=0 in time represents stage
n=N in dynamic programming notation (7). Consider Figure 3.1
Figure 3.1. TimeDynamic Programming Stage
Relationships.
One can show that the two stages in Figure 3.1 are equivalent and that
one can obtain the dynamic programming stage notation by merely trans
posing the m and m1 on the mth time stage. This can be shown as
follows: On the mth time stage reverse the input and output stream
names aLLn call them, respectively, m and ml. Then, if m = Nm+1,
m1 = Nm.
Combining equations (3.3) and (3.20) after switching the
indexes in equation (3.20) gives the dynamic programming problem as
N
Min W X (n)AX(n) + UT(n)BU(n) (3.21.a)
U n=0
subject to
X(nl) = EX(n) + GF(nl) + IF(n) + JU(nl) + KU(n) (3.21.b)
C. Obtaining the Optimal Control Law
The solution to the problem stated above in equation (3.21)
gives the optimal control law. As was stated in Chapter I, this
control law was obtained offline. When online, it combines the
state, control, and load variables to give controller settings at each
stage of a run such that a minimum performance index occurs about the
steady state over that run. Pike (6) points out that this performance
index value, in fact, is a deviation from an initial value and that
this resultant delta value results from using deviations in state and
control variables in the problem definition.
To insure convergence to a solution when the hand solution of
the dynamic programming problem is solved offline, equation (3.21.a)
Nn
is multiplied by a constant a giving equation (3.21) the following
form:
Min aN (X(n)_X(n) + U(n) U(n)) (3.22.a)
U n=0
subject to
X(nl) = EX(n) + GF(nl) + HF(n) + JU(nl) + KU(n) (3.22.b)
X(N) = Constant (3.22.c)
The normal recursive solution to this problem generates the
hand solution mentioned above which gives the necessary set of optimal
control vectors. Pike (6) shows the derivation of this optimal control
law and gives it form. Pike further points out that in using the
analytic form of the control law vast amounts of computer storage as
well as large computation times are rneccessary to compute the optimal
control law at c.ch stage.
Eor.pr of this problem. it is ct feasible to nlve thl~e
dynamic program onluine at asch stage h;'ever, one can, in this
situation, take advantage of one of the characteristics of the solution
to the infinite stage dylJinic prograr'ming problem. ?emhauser (7)
points out that time stage probl!rs wre frequently treated as infinite
stage problems. The characteristic of interest is the fact that in
problems with large uuinaers of stages there Iappears a point in the
solution of the problem where the optimal control output at a stage
differs only slightly from that of the next stage. In fact, the
control law has a tendency to approach, asymtotically, a socalled
steadystate or optimal stage invariant solution. The hand solution
of the dynamic programming problem is then solved offline to compute
the matrix multipliers in the optimal control law and computation is
terminated when the matrix multipliers at one stage differ by a
specified amount from those at the next stage (normal convergence
criteria). Once this steadystate value of the control is determined
(note that this control law is a function of the state of the system
and all future upsets) it is only necessary to supply the present state
of the system, the upset pattern and the mathematics to multiply the
state and upsets by their proper matrices at each stage. The hand
solution of the dynamic programming problem was solved offline and the
steadystate solution determined for the several cases cf cost
coefficients discussed earlier. Equation (3.23) gives the form of the
optimal control law as it applies to the problem defined in equation
(3.22).
1. 2
u k.1"L) := 1 n ) .n_.d ,nj + v ,n..L) U i.n;
n
l V  l \ .
j l ] 3
j=1
Appendix C gives the multiplier iatri.ces obtained for the cost coefficient
cases considered.
It must be pointed out that it is necessary to assume a large
number of stages or a very long time horizon for the finite stage
problem in order to approximate it by the infinite stage problem to
obtain the steady state solution. This assumption was valid in this
problem since one could assume a time horizon of say 1000 stages, obtain
the optimal control convergence in 100 stages and have 900 stages in
which the optional control law changes negligibly from stage to stage.
If then, the run which one makes is only 200 stages long, one is
assured of operating in the steadystate range.
One must realize that in the above discussion, time stages
run from zero time to the final time, whereas, the dynamic programming
problem runs from stage 1000, equivalent to time zero, to stage one,
equivalent to the final time, thus, convergence is obtained at stage
100 or nearly the final time on the time horizon, and the computer
control run of 200 stages runs from zero time to 200 times the stage
length or at the opposite end of the time spectrum from the conver
gence of the control law.
Constraints physically exist on the state, control, and load
variables but were not considered in the problem solution because of
the difficulty in dealing with constraints in solving the dynamic
programming problem. This was handled in the following manner: The
online control problem occurs about a steady state approximately mid
range to all variables. The upset patterns were chosen along with
cost coefficients to maintain close proximity to the operating steady
state over the range of upsets to insure linear column response and to
insure that none of the physical constraints would be violated.
CHAPTER IV
EXPERIMENTAL TECHNIQUE
The experimental work covered four distinct areas: (a)
building and debugging the distillation column, the analogdigital
interface, and the general software package for realtime computer
control and data logging, (b) collecting data for the linear distilla
tion model, (c) obtaining the optimal control law, and (d) making on
line optimal control runs, composition control runs, and uncontrolled
runs.
A. Building and Debugging the System:
Distillation Column, AnalogDigital Interface
Software Package
After the column, interface and software had been constructed,
a thorough debugging procedure was required to test each phase. The
column feed tanks were loaded and the column brought to steady state.
The control loops on feed rate and composition, reflux rate, steam rate,
and reflux temperature were tuned to give fast, stable response to
step changes in controller setpoints. Reflux and steam rate control
lers were simple loops to tune since they are independent control
loops. Proportional band settings of 100 percent and integral times
of 0.05 minutes were used on each of the proportionalintegral
controllers. These same two control loops were used as the control
variables in the computer control scheme.
Feed rate and feed composition control loops were not
independent and required a somewhat more elaborate search to find
satisfactory controller settings. The two controllers are also
proportionalintegral types and the settings obtained were 50 to 200
percent proportional bands and 0.05 and 0.3 minutes integral time for
feed rate and composition, respectively.
The reflux temperature controller was found to have a very
slow response time because of the accumulator at the condenser exit.
The final controller settings arrived at were 100 percent proportional
band and 10 minutes' integral time.
The reflux and steam rate controllers were tested with the
general software package and the analogdigital interface by adjusting
the setpoints externally with the IBM 360/65 computer. Other parts
of the interface and software were tested by a logical procedure.
The composition control scheme on the column was tested by
bringing the column to total reflux and then manually bringing the
column to steady state at which point steam rate manipulation to
control bottom composition and reflux rate manipulation to control top
composition were used.
The two composition control loops (which used the same
controllers used for computer control) were tuned by individual testing
and then by an individual ZieglerNichols technique on each loop.
The t.wo me thods. pr.odUCd assantially the sa'e control. .lle settings.
100 percent proportional band and 10 minutes' integral time in both
cases. In all probability, since the two control loops are not
independent of one another, there exists a better set of controller
settings than those obtained for overall operation, but this was not
investigated.
B. Collecting Data for the Linear Model
As was described in Chapter III, the linear model was derived
from data obtained by making step upsets in control and load variables,
one at a time, holding the others constant, and monitoring the state
variables. (This technique is known as the response curve technique.)
Small upsets were made in the control and load variables so column
response would remain linear. Table 4.1 lists the upsets made as
well as the steadystate about which the upsets were made.
TABLE 4.1
CONTROL AND LOAD VARIABLE
Upsets for Linear Model Determination
Feed Rate 25 lbs/hr
Feed Composition + 0.046
Reflux Rate 23 lbs/hr
Steam Rate + 10 lbs/hr
Steady State Operating Conditionts for Upsets
Feed Rate 275 10 lbs/hr
F.ed Composition 0.5 + 0.01
Steam Rate 185 + 3 lbs/hr
Reflux R ite20 + 8 Ibs/hr
Feed T.p era .i.ure 82 5OF
Reflux Temperature 115F
TABLE 4.1 (Continued)
State Variable Values
Top Composition 0.9 + 0.02
Bottom Composition 0.1 + 0.02
Top Flow Rate 130 5 Ibs/hr
Bottom Flow Rate 145 + 5 lbs/hr
The uncontrolled column configuration was used in making these
runs. To perform one of these runs, the distillation column was
brought to steady state. The upset was made and strip chart recorders
were used to track the state variable response until a new steadystate
was reached. Data for the linear model were then obtained from the
strip charts. The time required to bring the column to total reflux
from a cold state was approximately 45 minutes, the time to attain the
initial steadystate was approximately one hour and 15 minutes, and the
time to attain the new steadystate was about one hour and 15 minutes
giving a total run time of approximately three to three and onehalf
hours.
C. Obtaining the Optimal Control Law
The handobtained solution of the dynamic program was batched
into the IBM 360/65 computer and solved offline until convergence
(time invariant steadystate solution) was obtained for each of the
four cost coefficient cases listed in Chapter III. The output of each
of these computer runs generated the matrix multipliers for the optimal
control runs. Appendix C gives the multiplier matrices for the four
cost cases as well as the cost coefficients and the number of stages
for convergence.
D. OnLine Computer Control Runs
In order to accomplish the computer control and data logging
runs, it was first necessary to write and debug the subroutines
required to handle these problems. Appendix B lists the software
used to do these runs.
An optimal computer control run was made for each of the four
cost coefficient cases by bringing the column to the initial steady
state and then instituting computer control of the column when
disturbed by the following upset pattern:
TABLE
LOAD VARIABLE
Feed Rate
FF
ss
0
20.25
9.53
9.59
8.02
13.05
0
4.2
UPSET PATTERN
Stage
19
10
1114
1522
2324
2530
31
Feed Composition
XFXF
ss
0.046
0.0332
0.0033
0.0355
0.011
0.0206
0
Stage
1
26
710
1115
1620
2130
31
Duplication runs were made to test reproducibility in some
cases and composition control and uncontrolled runs were made for the
purpose of comparison. For every run made on the distillation column,
the same initial steady state was used, as well as the same upset
pattern; those given in Tables 4.1 and 4.2 above.
One computer control run was made with no upset pattern in
order to obtain information on noise effects on feedback through the
computer to the control variable setpoints. The information gained
through this run is discussed in Chapter V.
CHAPTER V
RESULTS, CONCLUSIONS, RECOMMENDATIONS
A. Results
The obvious question at this point is: "What was accomplished
and what does it mean?" When one formulates and solves an optimiza
tion problem, in the final analysis, the most important result is
whether or not the optimal solution is in fact optimal.
The solution of the offline dynamic programming problem
insures that, for a system identical to the given linear model, the
solution is optimal in terms of the specified performance index.
However, the response of the linear model, as seen in Appendix A,
shows that the model and the column do not always agree for simul
taneous variable upsets. While individual upsets of magnitudes in
the neighborhood of 5 percent of the operating levels of variables
considered gave linear response of the state variables, simultaneous
upsets of similar magnitude in each of the several variables gave a
linear response different from that predicted by the superposition of
the individual responses.
Because of the difference in model and real column response,
one could expect the action of the optimal control as simulated on
the computer to be somewhat different from the response of the real
system. The results of this research demonstrate this. Because of
the accuracy of the computer and the inherent properties of an
optimization scheme, one knows that optimal control will give better
results than any other type of control in terms of the given
performance index and, in fact, this has been demonstrated (1,2,3,4,5).
The real system does not have the accuracy of the computer nor does
it respond as the computer sees it in Lhe model; therefore, one would
expect to see, and does see limitations on the system.
Figures 5.1, 5.2, 5.3 and 5.4 show the performance index
values for the optimal control, the composition control, and the
uncontrolled column response to the particular upset pattern given in
Table 4.2. The results clearly show that the optimal control scheme
generates lower performance index values than composition control for
all sats of cosiL iufficleint iLvestigated. The results also show
that the optimal control gives lower performance index values than the
uncontrolled case. However, in the case of Figures 5.2 and 5.3, the
uncontrolled column response performance index value is close enough
to the optimal control to require some comment on system noise.
Noise levels about steady state for all the column variables
(state, control, and load) were determined by monitoring the input
signal of each variable to the analogdigital interface while the
system was at steady state. Table 5.1 gives the results of the noise
level tests. The noise on the bottom composition was lowered to
+ .003 by damping the sensitivity of the controller flow out of the
reboiler. This implies that the bottom composition monitor was flow
sensitive which was confirmed by independent experiments.
There are several possible methods of handling the noise
problem. Three of them considered were: (a) do nothing about noise
TABLE 5.1
NOISE LEVELS OF COLUTNN VARIABLES
Variable
Reflux Rate
Steam Rate
Feed Rate
Top Rate
Bottom Rate
Feed Comp.
Top Comp.
Bottom Comp.
Noise Level About Steady State
4.3 lbs/hr
2.9 lbs/hr
1.9 lbs/hr
3.1 lbs/hr
5.0 lbs/hr
.004
.001
.012
(3)
* (1)
(2)
(3)
Optimal Control
Composition Control
Uncontrolled
0 5 10 15 20 25 30 35 40 45
Stage
Figure 5.1. Performance Index Values for Various Control
Cases for Cost Case One.
Cost
Cost
(1) Optimal Control
(2) Composition Control
(3) Uncontrolled
r I I I I
104
10
102
0
O
30 35 40 45 50
es for Various Control
o .
5 10 15 20 25
Stage
Figure 5.2. Performance Index Valu
Cases for Cost Case Tw
Cost
(1)
Optimal Control
Composition Control
Uncontrolled
I
I
II
il
I
0 5 10 15 20 25 30 35 40 45 50
Stage
Figure 5.3.
Performance Index Values for
Cases for Cost Case Three.
Various Control
Cost
(3)
I~
I *"
(1) Optimal Control
(2) Composition Control
(3) Uncontrolled
5 10 15 20 25 30 35 40 45 50
Stage
Figure 5.4.
Performance Index Values for Various Control
Cases for Cost Case Four.
102
0
M
and live with it, (b) place noise filters on the variables, (c)
place noise bands on the variables and control bands on the control
variables.
A noise filter implies a digital filter in the form of a one
or twostage exponential filter written into the software. This type
of filter dampens out rapid changes in variable values and has a
smoothing level dependent on the damping coefficient a. Equation (5.1)
illustrates the single stage exponential filter.
X = caX + (la)*X (5.1)
new old act
This equation states that the new value of the variable is a times
the old variable value plus 1a times the actualpresent value of the
variable. Limits on a are given as 0 < a < 1. Noise bands imply
that if the present variable value is within the noise level of that
variable, the present variable value should equal the old variable
value or
IF X a < Noise Level
act 
X =X
new old
IFX act > Noise Level
acc
X = X
new act
A control band simply means that if the change in a control variable is
not greater than a specified amount, do not institute any change in
control.
The method chosen here was to place twostage exponential
filters on the state and load variables with a = 0.7 and no filters or
control bands on the control variables. Optimal control runs were
made for cost cases one, two and four in Table 3.4 with this noise
control scheme. An attempt was made to duplicate the run for extra
low cost of control (case four) but the controls were set to zero by
the computer. A reevaluation of the noise control was made and it
was decided to dampen the bottoms flow rate, increase a to 0.9 on the
bottoms composition filter, and remove the filtering from the load
variables. Table C.4 shows in P., j=1,25 the extreme effect on the
control. law the load vai~i bd iave cfor the case four cost coefficients.
Since the upsets made in those variables were pulses, the filters did
not allow the load variable values to be read exact at each stage and
it was felt this contributed to the system shutdown.
Another duplication run was made with the new noise control
conditions. In this run the computer also set the controls to zero.
After an investigation of the optimal control law for this cost case,
it was decided that, due to system noise and model inaccuracy, an
upper limit had been reached in the separation of state and control
variable cost coefficients, i.e.,
Limit tatc Variable Costs 1
limit = . 100
Control Variable Costs
for this upset pattern and this linear model.
Table 5.2 illustrates the performance index value expected per
stage for each of the four cost cases bout the steadystate operating
point for a noupset situation using the noise levels given in
Table 5.1.
TABLE 5.2
MAXILIM VALUES OF PERFORMANCE IIDEX PER STAGE
Performance Index
Cost Case Value Per Stage
1 366.4
2 86.5
3 58.6
4 246.1
Because expected values of the random noise are less than the
maximum values shown in Table 5.1 and because of filters on state
variables, the per stage value of the performance index which the
computer actually sees for each of the cost cases is less thnn that
given in Table 5.2.
More realistic average values of the actual noise would be
about 190, 50, 40, ]50, respectively, for the four cost cases. Thus,
for a 50stage run at steady state one would expect 9400, 2500, 2000,
7500, respectively, to be the final performance index value For the
four cost cases. The Eirst and fourth values are large compared to
the middle two because of the extreme cost coefficients in these two
cases.
As was mentioned in Chapter V, one run was made to determine
the effect of noise on the computer feedback control loop. The per
formance index value generated at 40 stages in this run was 14448.0
units. This run was made for high control costs or cost case one.
The matrix multipliers in the optimal control law for this case are
much smaller for all variables than in cost case three. The steady
state noise level generated only 7600 units of cost in 40 stages
leaving 6800 unitsas that contributed by the feedback through the
computer. Since the feedback effect in the control law is larger
for cost cases two and three, one would expect more noise contribution
than that shown for cost case one.
In this light, one can visualize the closeness of the un
controlled cost case and the optimal control cost case curves in
Figures 5.2 and 5.3 with somewhat more perspective in that the same
random noise is apparent in all the control runs but only the optimal
control runs have the increased noise effect due to computer feedback.
While Figures 5.1 to 5.4 illustrate the fact that the perform
ance index for optimal control is smaller than for the other types of
control considered, they do not make clear some equally interesting
results which occur in the control and state variables. Figures 5.5,
5.6, and 5.7 show the control variables for the four cost cases and
composition control. It is apparent that control action becomes
larger as the cost of control decreases. This is to be expected
since these movements contribute less to the performance index.
Control variables for the uncontrolled column response about the upset
pattern are not plotted since they were maintained at constant values.
While subsaturation in control could be assured only for
State Costs
o o< 100
Control Costs
61
AS
5
A. Cost Case One
0 5 10 15 20 25 30 35 40 45 50
AS a5 J1
B. Cost Case Tvo _
10 1  J
0 5 10 15 20 25 30 35 40 45 50
AS F.
10 
C. Cost Case Three
15  ' .: __ ____ .t .,. j
0 5 10 15 20 25 30 35 40 45 50
0 n
5
AS
10 
D. Cost
15 Case
20 Erj  I 
0 5 10 15 20 25 30 35 40 45
5 
E. Composition Control
AS 0
5
0 5 10 15 20 25 30 35 40 45 50
Stage
Figure 5.5. Control Variable, Steam, for Composition
Control and All Optimal Control Cost Cases.
5 5
AR 0 [
5 
A. Cost Case
One
10  L_ ____
0 5 10 15 20 25 30 35 40 45 50
5
AR L
5
B. Cost Case Two
10 J.
0 5 10 15 20 25 30 35 40 45 50
5 
C. Cost Case Three
ARr
_5
10
0 5 10 15 20 25 30 35 40 45 50
Stage
Figure 5.6. Control Variable, Reflux, for Cost Cases
One, Two, Three.
0 5 10 15 20 25 30 35 40 45
20
30
40
5
0
0 5 10 15 20 25 30 35 40 45 50
Stage
Figure 5.7.
Control Variable, Reflux, for
Four and Composition Control.
B. Composition Control
10
15
Cost Case
no upper limit on control costs was expected, i.e.,
State Costs
0
Control Costs
since it was found that control action diminished for increasing
control variable costs. The lower limit of control action, of course,
is no action at all, which gives, obviously, a stable system, since
the distillation column is completely stable in the uncontrolled case
for this upset pattern.
Lapidus (5) pointed out that one could, by adjusting cost
coefficients in the performance index, obtain whatever form of control
he desired. Of course, Lapidus performed his calculations on a computer
and had not only noiseless variables but the speed and accuracy of the
computer to generate exact results.
Appendix D contains the results, in the form of graphs, of
all the runs made for optimal control, composition control, and the
uncontrolled column case.
Figures 5.5.A, 5.6.A, and D.2 represent cost case one with
high control costs relative to state variable costs. When these
figures are compared with Figure D.7 the absense of movement in the
control variables as well as the similarity of state variable response
leaves little doubt that as control variable costs are increased the
system response tends toward the uncontrolled case.
Based on the above results one would expect that for low
control variable costs and high state variable costs on two state
variables, say top and bottom composition, the optimal control would
respond in a similar fashion to the composition control. When
Figures 5.5.D, 5.7.A, and D.5 (optimal control, cost case four) are
compared with Figures 5.5.E, 5.7.B, and D.6 (composition control) one
sees that, while the optimal control on steam and reflux rates differ
somewhat from those of composition control, the state variable
response under optimal control actually performs better in the sense
of constant top and bottom composition control than does the composi
tion control. The fact that attempts to duplicate this run in two
additional tries, both of which ran into saturation problems, should
not discredit the results obtained from the run but does emphasize
the effect of noise and model inaccuracy when coupled with the tendency
toward saturation of control action when no cost of control is
considered.
Figure D.4 (cost case three) shows that when state variable
costs are approximately equal tha control does not selectively choose
any one state variable over another in Lrying to maintain minimum
objective function value even when control costs are low and control
action is large.
Figures 5.5.B, 5.6.B and D.3 illustrate the fact that ior the
case of equal costs (cost case two), the optimal control allows both
state and control variables to vary. One must realize that bottoms
Flow is not plotted. Since it was calculated as a difference between
feed flow and top product flow, it can be obtained merely by taking
AFAD on any set of figures.
The r usme upset pattern was used for all runs. An attempt was
made for every run to implement the upset pattern in the same way,
but the computer did not always see exactly the same pattern.
Figure D.1, while typical of the upset pattern, shows two cases where
the computer saw the pattern differently.
The upset pattern was made by adjusting the set points of the
feed rate and feed composition controllers. If one observes closely
the upset curves one can see the dependency of the two control loops
on one another. In several cases, when the upset pattern was returned
to zero, steadystate load variable values, the computer and the system
saw offset values for feed composition and flow rate. This was a
result of not being able to set the controllers exactly to their steady
state values.
Table 5.3 gives a set of control and load variable deviations
based on controller settings 1 percent of the steadystate set point
value.
In certain of the optimal control runs, Figures 5.5.C, 5.5.D,
and 5.6.C, 5.7.A, after the upset pattern was set to zero, the control
variables approached zero deviation but actually never attained zero.
It appears that noise was responsible for this effect and a look at the
optimal control law and the matrix multipliers for cost cases three
and four shows that, in fact, noise could have significant effect on
the control variables even at steady state.
There is a difference in graphs of control variables for
optimal control runs and the other cases given in Figures 5.5, 5.6,
and 5.7. Control variables for optimal control runs are plotted as a
TABLE 5.3
CONTROL AND LOAD VARIABLE DEVIATIONS FOR
1 PERCENT CONTROLLER SET POINT DEVIATIONS
Variable
Steam Rate
SteadyState
Controller Set Point
Variable
Deviation
1.0
0
1.5
Reflux Rate
Feed Rate
Feed Composition
37.5
36.5
35.5
7.0
0
7.0
5.0
0
6.0
0.01
0
+0.01
sequence of pulses which most closely resembles what the computer
actually saw from stage to stage. Control variables for the conven
tional and uncontrolled cases are plotted as a sequence of straight
lines since control in both these cases was continuous in nature.
For certain of the cost coefficient cases (cases three and
four), reprcducibility was not possible in the few attempts made.
Figures D.8 and D.9 show the control variable response for two
reproduction runs made for cost case four. Compare those figures to
Figures 5.5.D and 5.7.A.
For cost case two reproducibility was successful, although
nut exact, as seea iu Figures D.12 to D.14. No reproduction runs were
attempted for cost case one.
B. Conclusions
A large part of this research effort is represented by the
finished physical system and the operating computer software. The
time required to obtain each successful run on the average was a
matter of days because of the need to have the equipment running
properly at the same time that the Computer Center was coordinated to
operate with the system. Therefore, the number of successful runs
reported here is rather lir.ited.
Since only one upset pattern w rs observed, and since only a
few cost coefficient cases were examined, certainly no very exact
guidelines can be drawn from the results presented. However, one
can speak in generali.ties by saying that the results appear to show
that optimal control is both feasible and profitable.
With the results at hand one seems to be limited to cost
coefficient cases where
State Variable Costs
< 100
Control Variable Costs
In this work only quadratic cost coefficients for variable
deviations about some steady state were considered. Such a performance
index should be clearly understood. Costs for a quadratic performance
index only imply cost per pound. Lapidus (5) points out that the
quadratic cost coefficients are suitably chosen values to meet such
requirements as accuracy and the amount of control desired. lHe
considers state variable cost coefficients in the quadratic performance
index to be determined in order to specify the criterion on amount of
deviation from steady state one is willing to accept. Similarly, one
chooses control variable cost coefficients based on the amount of
control one is willing to put up with. From this analysis it is
immediately apparent that these cost coefficients are relative only
to one another and consequently any value can be chosen for any one
coefficient as long as all otLars are chosen i.lativc to that one,
with the restriction that the matrices of coefficients be positive
definite and synmmetric.
When sccn in this light, and noting the control obtainable
with cost coefficient separations of 100, it becomes clear that the
restriction
State Variable Cost
Control Variable Cost
Control Variable Cost
is not very binding.
The interesting conclusion to be drawn from the experimental
results is that not only can money be saved by using the optimal
control scheme to control about upsets in load variables, but better
control can be maintained over the state variables than in the con
ventional control case. Thus when a situation is faced such that an
upset is known to be expected a change to optimal control can be
made for that particular upset, using cost coefficients based on
previous upset responses to give the desired control results, which
will maintain better control over the system than by remaining on
conventional control. There is no doubt that the case of deterministic
upsets places a restriction on the use of optimal control of this
nature.
Before this type of control scheme can be instituted, a
linear model is required and it must be solved by dynamic programming
offline (6) to obtain the steadystate optimal control law. Certainly
the possibility of solving the problem online at every stage ought
to be investigated even in the face of the expense of large core
requirements and excessive computation times.
Even if one were to satisfy the necessary requirements of a
deterministic system and a linear model, one is faced with the problem
of online analysis of stream compositions in multicomponent cases.
For systems with extremely large response times, online gas or
vapor chromatography is possible as an analyzing technique. One must
be able to sample and control at a rate fast enough to insure system
stability and this single requirement limits considerably the use of
optimal closedloop control.
In short the general conclusions are:
(a) Results show that cost coefficient separation for this
system should be less than 100.
(b) Results indicate that the optimal control is sensitive not
only to model accuracy but also to system noise.
(c) The optimal control is feasible and actually gives better
control than conventional control for selective cost coefficients.
(d) Optimal control gives selective control by varying cost
coefficients.
C. Recommendations
This research has merely scratched the surface of a large
area of interesting control work made available through the complete
instrumentation of the distillation column in the unit operations
laboratory at the University of Florida and through the building of
the analogdigital interface appropriately named GIPSI (general
interface for process systems instrumentation). Not only should a
continuation of the study of closedloop optimal computer control be
made but other areas of control such as online adaptive and online
feedforward control should be investigated.
A continuation of this project should be made with several
goals in mind:
(a) Investigate enough cost coefficient cases to be able to
lay down very explicit guidelines for operation.
(b) Investigate higher order linear and possibly some non
linear system models to determine their feasibility in the dynamic
program solution.
(c) Investigate many more upset patterns in order to cover a
large range of feasible responses.
(d) Investigate noise more closely and its effect on the
system. Attempt the optimal control with noise bands and control
bands in contrast to noise filters.
(a) Use the GIPSI system to look at online adaptive and feed
forward control and compare these techniques to optimal control.
(f) There seems to be potential industrial use for online
optimal control, and industry would be well advised to investigate
not only the deterministic case but also the stochastic case, as
studied by Pike (6).
Even though noise was a major problem and affected reproduci
bility of results, one should realize the problems involved in
computerizing a pilot plant size distillation column and in obtaining
the reliability of operation which was demonstrate , Enormrnous amounts
of time and effort were expended in building the GIPSI system and in
installing the instrumentation for the column. Every system has its
initial bugs and once these were removed the GTPSI system and the
distillation column performed very well.
To describe in detail the possible uses of the GIPSI system
and its effects on laboratory experimentation and teaching would in
73
itself require many pages. As was mentioned in Chapter II, GIPSI
is a general tool which can be used for many purposes and, in fact,
can be used to computerize several processes simultaneously. A
system of this nature is not only necessary but also essential to
realtime, online optimization and computer control problems. The
GIPSI system is already being readied for other computer control
projects and its accessibility and ease of use have already insured
its use in the future.
APPENDICES
APPENDIX A
BASIC DATA FOR LINEAR MODEL DERIVATION
The figures contained in this appendix represent column state
variable response to upsets in load and control variables as well as
linear model fit to the response. Figures A.1 to A.12 represent
state variable response to individual step changes in load and control
variables. Figures A.13 to A.15 represent state variable response to
a set of simultaneous load and control variable upsets.
It is apparent that the model fits are not perfect and this
occurs for several reasons: (1) the typical column state variable
response curve shows second or higher order tendencies while the model
is first order, (2) steps occur in the column curves at some time
greater than zero while model curves show steps at time zero, and
(3) the time constan.l used for model curves represents an average of
four time constants, one for each lcld a.nd control variable. One
should notice that the response curves for bottom flow rate are not
shown. The reason for this is that boctto flow rate is computed as
feed rate minu.s top product rate.
Th.. .oa'tanlt for th . J ci u rvs (Chapte.r III) ,e Coltl'C
using 50 :tages per hour as the stnag length, thos data points for the
model were calcula.cd every 0.02 hours but are plotted as stages.
Only ti:le valus of 14 lstagcs are ploL.ted on *hoe abbci.ssa.
The Eol lo.,oi,.g ,psets in load cnd coIntrol v,1 ioablrs were made
oa the column:
Individual Changes
AF = 25 Ibs/hr
AXF = 0.046
ASR = 10 lbs/hr
AR = 23 lbs/hr
Simultaneous Changes
AF = 20 lbs/hr
AS = 7 Ibs/hr
AR = 8 Ils/hr
Chanui s wiLe lade id lii ile individual variables, except L feeud
rate, in only one direction. This direction was one which would
force the top composition to increase and approach 100 percent methanol.
It was reasoned chat these changes would put the most severe test on
the linear model, Step change.: if equal :a2nitud. e :ere made in feed
rate to note the effect on the state variables. The same change was
noted in both cases, however, only one set of data is presented. It
was assuriv.. that Lih other up.;at variables would give similar results.
One should note that the rcdel response for individual changes
is good in approximating the column. The model curves, if drawn out
to steadystate approach the steadystate values given the column.
The model response for the simuLi':.neous cahangos fits good for
several : ,.gcs and then starts to deviat.i for two variables. This
indico;:3s that the effect of the three sirultan, : .;us changes overdrives
the lie:ar response of the column. Only this one set of simnltanocu3
upsets was investigated on the column to sive come idea of the ].imi;cs
77
of the linear region of response.
It should be noted that compositions and flow rates were
obtained from strip chart recordings where compositions could be
read only to the nearest 0.5 percent (0.005) and flow rates to the
nearest 2 lbs/hr. Deviations between model and column within these
limits appear to give satisfactory agreement.
0.034 .
I/ Model
.032
.03 Column
.030
.028
.026
.024 
.022
.020 /
AXD )
.018 
.016 
.014 A /
.012 
.010 /
.008 0
.006 A
.004
.002 / r
0 U ..~.L ...... J I I I I
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Stage
Figure A.1. Top Composition: ColumnModel Response to Step
Change in Feed Rate.
14
A Model
0 Column
..... O
2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.2.
Bottom Composition: ColumnModel Response to
Step Change in Feed Rate.
.014
.012
010
.008
.006
.004
.002
0
AXB
12 A Model
0 Column
10 1 .. 
8 / O' ..
6 1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.3.
Top Flow Rate: ColumnModel
Change in Feed Rate.
Response to Step
A Model
1A
V,^' .,.
2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.4.
Top Flow Rate: ColumnModel Response to Step
Change in Feed Composition.
) 0
Column
Model
0 Column
.024
.022
.020
.018
.016
.014
.012
.010
.008
.006
.004
.002
0
2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.5. Top Composition: ColumnModel Response to Step
Change in Feed Composition.
A Model
O Column
AXB i 0
 O ~ OO 0 0 0O
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.6. Bottom Composition: ColumnModel Response to
Step Change in Feed Composition.
AXD
0 1
.008
.006
.004
.002
0
.018 A
.016 0O
.014
.012
.010
.008
.006
.004
.002
0
AXD
Model
Column _,'
o O
21
2 3 4 5 6 7 8 9 10 11 12 13 14
Figure A.7.
Stage
Top Composition: Columnmlodel
Step Change in Steam Rate.
Response to
A Model
0 Column
AXB
0 1, 2 3 4 5
0 1 2 3 4 5
Figure A.8.
.O.G ... ",. . . i 
6 7 8 9 10 11 12 13 14
Stage
Bottom Composition: ColumnModel Response to
Step Change in Steam Rate.
.012
.010
.008
.006
.004
.002
I oQ OOC O 3C o *o 0
34
32
30
28
26
24
22
20
18
16
14
12
10
2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.9.
Top Flow Rate: ColumnModel Response to Step
Change in Steam Rate.
Model
Column
.034
.032
.030
.028
.026
.024
.022
,020
.018
.016
.014
.012
.010
.008
:006
.004
.002
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.10. Top Composition: ColumnModel Response to
Step Change in Reflux Rate.
/7 Model
SO Column
AXD

A Model
O Column
AXB
.022
.020
.018
.016
.014
.012
.010
.008
.006
.004
.002
0
Figure A.11.
Bottom Composition: ColumnModel Response to
Step Change in Reflux Rate.
O/ O
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
48 0
46
0
44 0
42 0O 0 0
O O O
40 / 7\ Y 1Y f & A A /\ 5.. L
38
36
34
AD
32 
30
28
26 Model
26
24 Column
22
20
18
16
14
12
10
 8
:6 : .... !L ._, ... j..... ...... ,. .. !..! .!
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.12. Top Flow Rate: ColumnModel Response to Step
Change in Reflux Rate.
.022 A Model
.020 0 Column
.018
.016
.014
.014
.010 
.008
.006
0
.004
.002
0
.002
.006 ~ & A
.004 ,A ^ . A _A.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.13. Top Composition: ColumnModel Response to
Simultaneous Step Changes.
