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
/
first-rcae tVypi-g 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 s-crificed 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. HARDWARE-SOFTWARE 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, Analog-Digital Interface
Software Package...............................
B. Collecting Data for the Linear Model............
C. Obtaining the Optimal Control Law...............
D. On-Line 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 Computer-Column Connections........................... 26
3.1 Time-Dynamic 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: Column-Model Response to Step
Change in Feed Rate.................................. 78
A.2 Bottom Composition: Column-Model Response to Step
Change in Feed Rate.................................. 79
A.3 Top Flow Rate: Column-Model Response to Step
Change in Feed Rate .................................. 80
LIST OF FIGURES (Continued)
Figure Page
A.4 Top Flow Rate: Column-Model Response to Step
Change in Feed Composition ........................... 80
A.5 Top Composition: Column-Model Response to Step
Change in Feed Composition.......................... 81
A.6 Bottom Composition: Column-Model Response to
Step Change in Feed Composition...................... 81
A.7 Top Composition: Column-Model Response to Step
Change in Steam Rate ................................. 82
A.8 Bottom Composition: Column-Model Response to Step
Change in Steam Rate ................................. 82
A.9 Top Flow Rate: Column-Model Response to Step
Change in Steam Rate................................. 83
A.10 Top Composition: Column-Model Response to Step
Change in Reflux Rate ................................ 84
A.11 Bottom Composition: Column-Model Response to Step
Change in Reflux Rate ................................ 85
A.12 Top Flow Rate: Column-Model Response to Step
Change in Reflux Rate................................ 86
A.13 Top Composition: Column-Model Response to
Simultaneous Step Changes............................ 87
A.14 Bottom Composition: Column-Model Response to
Simultaneous Step Changes............................ 88
A.15 Top Flow Rate: Column-Model 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 linear-constant 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 t2-tl.
For variables this is actual value steady-state 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 analog-digital 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 real-time
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. eff-14ia to Jcbt;in a set of s'a.e irvrii-7 t
steady-state matrix rtipli.ir fror eich of four cost coefficient cases.
When on-line 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.ach-d at which
the controls tended to stu~:ate (ratio of about 100 for system lrder
consideration).
The. General Int-erface 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 on-line operation.
The work described in this dissertation consists of three
parts: (a) the design and construction of an analog-digital 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
real-time optimal computer control of a binary distillation colur.n.
Optimal. compuzr control is .i,.pliien-ted by solving a stage-
wise dynamic programming problem of four state variables and two
.coUL~.)l variables off-line on an IEi 5t60/65 comipuzro. This produces
a set ou ste..i y-Lstate 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 con-trol law is
then played out to minipi'late the s.:t---yoints o5 i the control variables.
This type of control. is .thus sai' to .u uperviscry control.
Sit-gewi'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 steady-state control law which
is fast and easy to implement zomputationally in the on-line 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-. -tai-e 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 proj-ct, such as this one, load variables are
controlled in a predetermined manner to follow some a prior pattern
designed by the researcher.
An atmospheric-biarcy 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 d-egree uf f.E'edocn. T'ro of these
variables, reflo'%_ -tad fee-d 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 steady-state operating point, it
was, therefore, convenient to represent all variables as deviations from
their steady-rtate 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-
control-va'r-i.b.le, one-.state- -,,riable prob!enm. Their control variables
wcre s.eam rate and top product rate, wi'- top product compo-iti.ion
b.ing tl.i' Lstate .':i-ib 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
on-line control was performed in their problem and all computations were
performed (column simulation) on a digital computer. Another point of
interest was their so-called steady-state optimization which yielded an
optimal control law giving a new optimal steady-state 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 bang-bang 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.[ -. stat-e 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 on-line 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 on-line 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 step-by-
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 on-line
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 fiCLeeu-LLay 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 one-state-variable, one-control-variable 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 optiin-mal 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 conditi-Lns, or, in effect, he solves an initial-final 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 six-plate absorption column.
Lapidus discusses the fedback--feedforward prop-erties 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 sampled-data 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.
Pi-e (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 c-n 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
analoq-digital 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
HARDWARE-SOFTWARE 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 on-line, real-time 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 th-r direction occurs
over d. l .ied tel .nphne li r. :Te u20 system -op-re ;3a o a tjiae-
Zihacred basis and a priority system,. The time--shai ng s1-yst.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 t-he C. ?U (central
proc-essin 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 input-output 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 real-time 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 oprat-ion 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 input-output
communication with the 360 computer. The actual multiplexer points
(terminal connections for digital inputs-outputs 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 Model-3 digital
pulse converter. This converter takes a digital n-umber generated by
user software and converts it to tlhe equivalent number of up-down pulses
which can be used to drive any device which uses up-down pulses. This
device is used as the feedback from the I~~ 360 and drives, in this
work, pulse-set-point 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 one-two 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 on-off capability in the
normally-open-normally-closed 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 up-down pulses.
The 1073 Model-3 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 :sx-d-g decimal injrtpt device for inp-uttin
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 demr-n] 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 Model-3 digital-pulse converter and two of
the pulsed output channels are used to drive two pulse-set-point
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 real-time-supervisory
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 layed-out 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: fron-t panel lay-out 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. ,G-IPSI 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
(DIGITAL-PULSE
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
(PRESSURE-VOLTAGE)
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, digital-pulse 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) semi-fatal errors occur whenever problems
arise which require user response such as ignoring the error and pro-
ceeding, stopping the machine, or restarting, (3) a non-fatal 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 real-time 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 CLOCK-DELAY combination givesthe user the time-delay 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 10-inch, 12-plate-
bubble cap column with a 30-gallon 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
Fischer-Porter 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 copper-Constantan 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 pressure-voltage 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' -v-ail]abil.ity of therrmo-
dynamic ard effiicncy data.
To per foj:I c:i-li'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 Fisher-Governor amp-pressure 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 rci-trol: () 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 l-ottom composition and flow are
allowed to vary; (b) -du-l 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 set-points on
steam and reflux are manipulated by the ; cpu'.r. The computer control
by manipulation of controller set-points 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 ptJin-ug and clTsinrg the a.pprop-'Jarie hand
valves to supply input variables to the various coitrollers. The
computer-operated controllers are Fischer-Porter pulse--:-et-pojnt
controllers.
The feed rate and composition control loops are shown in
Ref ux Lirzo
CC
S-i ... .
S* ........I C C
ITR
H CV Column
L.I cv
Reflux Flow-Top 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, Fischer-Porter pneumatic-
set-point controllers are used to enable one to generate set-point
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 column-computer 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 72-second 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
Current-Pressure 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. Computer--Column 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(j-l) = 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 one-unit 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
J-1
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 nu-rerLcar 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 ,p-ets 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 gi-ven
coinsiEdJratioc Lut it as als-c 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.n-rammin 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 L-he 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 sha-gcd 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 eq-uations are obtained f-r the other st~L-- e .Ia--iar 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 n-gative 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
S-AXD -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. Time-Dynamic 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 m-1 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 m-l. Then, if m = N-m+1,
m-1 = N-m.
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(n-l) = EX(n) + GF(n-l) + IF(n) + JU(n-l) + 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 off-line. When on-line, 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 off-line, equation (3.21.a)
N-n
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(n-l) = EX(n) + GF(n--l) + HF(n) + JU(n-l) + 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 probl-em. it is ct feasible to -nlve thl~e
dynamic program on-luine 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 so-called
steady-state or optimal stage invariant solution. The hand solution
of the dynamic programming problem is then solved off-line 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 steady-state 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 off-line and the
steady-state 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 steady-state 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
on-line 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 analog-digital
interface, and the general software package for real-time 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, Analog-Digital 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 proportional-integral
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
proportional-integral 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 analog-digital 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 Ziegler-Nichols 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 steady-state 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 steady-state
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 steady-state was approximately one hour and 15 minutes, and the
time to attain the new steady-state was about one hour and 15 minutes
giving a total run time of approximately three to three and one-half
hours.
C. Obtaining the Optimal Control Law
The hand-obtained solution of the dynamic program was batched
into the IBM 360/65 computer and solved off-line until convergence
(time invariant steady-state 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. On-Line 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
F-F
ss
0
-20.25
9.53
9.59
8.02
-13.05
0
4.2
UPSET PATTERN
Stage
1-9
10
11-14
15-22
23-24
25-30
31-
Feed Composition
XF-XF
ss
0.046
-0.0332
0.0033
0.0355
-0.011
-0.0206
0
Stage
1
2-6
7-10
11-15
16-20
21-30
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 off-line 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 analog-digital 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 two-stage 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 + (l-a)*X (5.1)
new old act
This equation states that the new value of the variable is a times
the old variable value plus 1-a times the actual-present 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 two-stage 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 re-evaluation 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 shut-down.
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 steady-state operating
point for a no-upset situation using the noise levels given in
Table 5.1.
TABLE 5.2
MAXIL-IM 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 50-stage 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 units-as 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 sub-saturation 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 Er--j ----- 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
AF-AD 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, steady-state load variable values, the computer and the system
saw off-set 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 steady-state 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
Steady-State
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
off-line (6) to obtain the steady-state optimal control law. Certainly
the possibility of solving the problem on-line 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 on-line analysis of stream compositions in multicomponent cases.
For systems with extremely large response times, on-line 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 closed-loop 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 analog-digital interface appropriately named GIPSI (general
interface for process systems instrumentation). Not only should a
continuation of the study of closed-loop optimal computer control be
made but other areas of control such as on-line adaptive and on-line
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 on-line adaptive and feed-
forward control and compare these techniques to optimal control.
(f) There seems to be potential industrial use for on-line
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
real-time, on-line 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 lc-ld 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 m-inu.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 steady-state approach the steady-state 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 over-drives
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: Column-Model 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: Column-Model 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: Column-Model
Change in Feed Rate.
Response to Step
A Model
1----A
V,^' .,.
2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.4.
Top Flow Rate: Column-Model 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: Column-Model Response to Step
Change in Feed Composition.
A Model
O Column
AXB i 0
-- O ~ O---O 0 0 0O
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.6. Bottom Composition: Column-Model 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: Column-mlodel
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: Column-Model Response to
Step Change in Steam Rate.
.012
.010
.008
.006
.004
.002
I oQ O--O-C O-- 3--C--- --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: Column-Model 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: Column-Model 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: Column-Model 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: Column-Model 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: Column-Model Response to
Simultaneous Step Changes.
|
EXPERIMENTAL STUDIES !N OPTMAL 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
DECREE OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1970
ACKNOWLEDGMENTS
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 Palm Beach, Florida, the
University of Florida, and the National Science Foundation during the
author's undergraduate and graduate tenure at the University of
Florida.
Thanks go to the University of Florida Computing Center and
its personnel who aided this project with time and advice whenever
needed.
Special thanks go to Messrs. Jack Kalway, Myron Jones, and
Tracy Lambert for their assistance throughout the authors tenure,
and especially on this project, and to Mrs. Karen Walker for her
/
first-rate typing oi tbe manuscript.
Deep, personal thanks go to the author's family, especially
his faithful wife, Virginia, who continually sacrificed during the
graduate program.
TABLE OF CONTENTS
Page
ACKNOWLEDGMENT S ii
LIST OF TABLES v
LIST OF FIGURES vi
LIST OF SYMBOLS x
ABSTRACT xl1
CHAPTERS:
I. PROBLEM DEFINITION, LITERATURE DISCUSSION 1
II.HARDWARE-SOFTWARE SYSTEM, DISTILLATION COLUMN AND
COMPUTER LINKUP 9
A. General Interface for Process Systems
Instrumentation 9
B. GIPSI Software 13
C. Distillation Column: Design and Control 17
III.THE OPTIMAL CONTROL PROBLEM. 27
A. Derivation of the Performance Index 27
B. Derivation of a Suitable Constraint Set 30
C. Obtaining the Optimal Control Law.. 40
IV. EXPERIMENTAL TECHNIQUE 44
A. Building and Debugging the System:
Distillation Column, Analog-Digital Interface
Software Package. 44
B. Collecting Data for the Linear Model 46
C. Obtaining the Optimal Control Law 47
D. On-Line Computer Control Runs...... 48
V. RESULTS, CONCLUSIONS, RECOMMENDATIONS.. 50
ii i
TABLE OF CONTENTS (Continued)
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
O
iv
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
3.2 Time Constants T1 for Equation (3.8) for all State
Variables. ......? 34
3.3 Constants K,. and K. for Equation (3.8) for all
lj 2j
State Variables. 34
3.4 Computed Values of T./x. + At, and 37
* i i lj 2j
4.1 Control and Load Variable 46
4.2 Load Variable "Upset Pattern 46
5.1 Noise Levels of Column Variables 52
5.2 Maximum Values of Performance Index Per Stage.... 59
5.3 Control and Load Variable Deviations for XI Percent
Controller Set Point Deviations. 67
C.l High Control Costs 106
C. 2 Equal Cos ts 108
C. 3 Low Coni rol Costs 110
C.4 Extra Low Control Costs 112
v
LIST OF FIGURES
Figure Page
2.1 GIPSIr General Interface for Process Systems
Instrumentation, Front Layout 14
2.2 Execution and Delay Phases of Software Package 18
2.3 Typical Computer Control Loop Showing Alternate
Configuration 21
2.4 Control Scheme, Feed System 23
2.5 Total Column Control Scheme 25
2.6 Computer-Column Connections 26
3.1 Time-Dynamic Programming Stage Relationships 39
5.1 Performance Index Values for Various Control Cases
for Cost Case One......... 53
5.2 Performance Index Values for Various Control Cases
for Cost Case Two 54
5.3 Performance Index Values for Various Control Cases
for Cost Case Three 55
5.4 Performance 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.l Top Composition: Column-Model Response to Step
Change in Feed Rate 78
A.2 Bottom 'Composition: Column-Model Response to Step
Change: in Feed Rate. 79
A.3 Top Flow Rate: Column-Model Response to Step
Change in Feed Rate
80
LIST OF FIGURES (Continued)
Figure
A.4 Top Flow Rate: Column-Model Response to Step
Change in Feed Composition 80
A.5 Top Composition: Column-Model Response to Step
Change in Feed Composition 81
A.6 Bottom Composition: Column-Model Response to
Step Change in Feed Composition 81
A. 7 Top Composition: Column-Model Response to Step
Change in Steam Rate 82
A.8 Bottom Composition: Column-Model Response to Step
Change in Steam Rate 82
A.9 Top Flow Rate: Column-Model Response to Step
Change in Steam Rate 83
A.10 Top Composition: Column-Model Response to Step
Change in Reflux Rate. 84
A. 11 Bottom Composition: Column-Model Response to Step
Change in Reflux Rate... 85
A.12 Top Flow Rate: Column-Model Response to Step
Change in Reflux Rate 86
A.13 Top Composition: Column-Model Response to
Simultaneous Step Changes 87
A.14 Bottom Composition: Column-Model Response to
Simultaneous Step Changes 88
A.15 Top Flow Rate: Column-Model Response to
Simultaneous Step Changes 89
D.l 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
vii
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.ll 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
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, lbm/hr
C_
Vector of state variable linear cost coefficients
D
Vector of control variable linear cost coefficients
D
Top product flow rate, lbm/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
Matrix of coefficients for previous control variables in
linear model
N
Number of stages in the dynamic programming solution
R
Control variable, reflux rate, lbm/hr
S
Control variable, steam rate, lbm/hr
U
Vector of control variables
X
Vector of state variables
XB
Bottom composition
XD
Top composition
XF
Feed composition
Feed composition
Small Letters
d
Derivative operator
m
Present time stage in linear model
n
Previous stage in dynamic programming solution
s
Laplacian operator
t
Time
Subscript
s
D
Variable with this subscript represents
top rate
F
Variable with this subscript represents
feed rate
i
Denotes variables in an array
j
Denotes variables in an array
R
Variable with this subscript represents
reflux
rate
S
Variable with this subscript represents
steam
rate
XB
Variable with this subscript represents
bottom
composition
XD
Variable with this subscript represents
top composition
XF
Variable with this subscript represents
feed composition
1
Signifies particular constant
2
Signifies particular constant
Superscripts
D
Variable with this superscript represents top
product rate
i
Denotes variable in an array
T
Denotes transpose of a vector
XB
Variable with this superscript represents bott
om composition
XD
Variable with this superscript represen
ts top
composition
ss
Steady state
x
Subscripted and Superscripted Letters
I.
x
K
Ky
£.
2j
P4
J
X.
i
Represents control and load variables in linear model
derivation
Denotes particular constant in linear model
Denotes particular constant in linear model
Constant as a function of K^". and in linear model
lj
Constant as a function of K^. and in linear model
lj 2j
Represents linear-constant multiplier in optimal control
law
Represent state variable multiplier in optimal control law
Represents control variable multiplier in optimal control
law
Represents load variable multipliers for present, past, and
future values
State variable
Greek Letters
a Constant to insure convergence in dynamic program solution
A Represents a deviation quantity. For time this is t^-t^.
For variables this is actual value steady-state value.
t Time constant in linear model
Y Summation
xi
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 Eschenbaeher
August, 1970
Chairman: Dr. Frank P. May
Major Department: Chemical Engineering
A continuous distillation column and an analog-digital inter
face for connecting process variables to an IBM 360/65 computer were
built, and a general software package for data logging and real-time
computer control was written and debugged.
A dynamic programming problem with a quadratic performance
index and a constraint set 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
IBM 360/65 computer, off-line, to obtain a set of stage invariant
steady-state matrix multipliers for each of four cost coefficient case
When on-line control was instituted, these multipliers were multiplied
by the present state and control variables and by the present and
future upsets to give an optimal output at each stage.
On-line optimal computer control was investigated for the four-
sets of cost coefficients in the performance index, ranging from high
state variable costs to high control variable costs. An upset pattern
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 better control than either composition control or uncontrolled
operation when measured by the specified quadratic performance index.
It was found that by manipulating cost coefficients in the performance
index, one could cause the control to respond in .a predictable manner.
As the cost of control was decreased in comparison to the cost
of state variable deviation, control action became more and more
pronounced until a ratio cf these relative costs was reached at which
the controls tended to saturate (ratio of about 100 for system under
consideration).
The General Interface for Process Systems Instrumentation (GIPSI)
was designed and built to be used as a general research and teaching
tool and has proven its usefulness throughout this work.
xiii
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 on-line operation.
The work described in this dissertation consists of three
parts: (a) the design and construction of an analog-digital inter
face for linking together a process and a digital computer, (b)
the writing and implementation oE a software package for general
usage of the analog-digital interface, and (c) the investigation of
real-time optimal computer control of a binary distillation column.
Optimal computer control is implemented by solving a stage-
wise dynamic programming problem of four state variables and two
control variables off-line on an IBM 360/65 computer. This produces
a set of steady-state matrices which, when multiplied by the state of
the system, the current controls, and the present and future upsets,
gives the optimal control lav? at each stage. This control law is
then played out to manipulate the set-points on the control variables.
This type of control is thus said to be supervisory control.
Stagewise dynamic programming was chosen as the solution
1
n
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 steady-state control law which
is fast and easy to implement computationally in the on-line 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 variables were feed rate and composition.
By definition, state variables are those variables 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 which change the state of the system
but which one has no control over. One must realize, however, that in
an experimental research project, such as this one, load variables are
controlled in a predetermined manner to follov? some a priori pattern
designed by the researcher.
An atmospheric-binary distillation column with a partial
reboiler and total condenser has six process degrees cf freedom. In
this problem steam, retjux, feed rate, .feed composition, reflux and
feed temperature were the six degrees of freedom. Two of these
variables, reflux and feed temperatures, were considered to be
variables which did not change. Feed temperature was simply assumed to
ha constant at the ambient laboratory temperature and reflux temperature
3
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 steady-state operating point, it
was, therefore, convenient to represent all variables as deviations from
their steady-state values throughout this work.
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 a1. (1) considered the optimal control of a
distillation column using conventional calculus, the calculus of
variations, the maximum principle, and dynamic programming for a two-
control-variable, one-state-variable problem. Their control variables
were steam rate and top product rate, with top product composition
b e ing
i c- x r s L i L 6 Vdi
The load variable in their system was
feed composition.
They used a linearized model for the state variable as a
function of load and control variables. One model they used was steady-
state in nature and assumed instantaneous column dynamics, while
5
applicable to on-line 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 on-line 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 step-by-
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 on-line
control was accomplished and only the linearized system dynamics were
available to represent the real system. A comparison was made to the
uncontrolled response of the linearized 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.
Brosilow and Handley () looked at the problem of optimal feed
back control of a fifteen-tray rectifying column. They used a quadratic
performance index with negligible cost on controls and 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
laxj is a function of the present state of the system. The control law
must be a function of the future upsets to actually have a feedforward
4
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
on-line control was performed in their problem and all computations were
performed (column simulation) on a digital computer. Another point of
interest was their so-called steady-state optimization which yielded an
optimal control law giving a new optimal steady-state for a load
variable upset.
Paradis and Perlmutter (2) deviate from the usual choice of
performance index and choose instead one which is a quadratic function
of the state variables, and then solve the problem of minimizing the
time derivative of this performance index. The resulting control law
is bang-bang in nature. This form of performance index was chosen for
o cup a t a t. icnal
expediency and 5 ccnoocjneritr.!Ly 9 does not agcc.33s.r 11 y y>aid
useful operating cost information. Their control law moves their
system from some initial state to some final state while minimizing the
performance index and is, consequently, a predetermined control law
based solely on the given system model for a given upset. It is not
corrective in either the feedback or feedforward sense and would not be
6
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 one-state-variable, one-control-variable 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 that the result was truly optimal 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.
Ris problem treats the optimal control of a process between two steady-
state conditions, or} in effect, he solves an initial-final value problem.
He shows how one obtains the sampled-data optimal control law and
continuous optimal control 3.aw and applies these, on a digital computer,
to a six-plate absorption column.
Lapidus discusses the feedback-feedforward properties of optimal
control, His results indicate that for the quadratic performance
7
index, the magnitude of control is dependent on the cost coefficients
in the performance index. He also points out that by manipulating
these cost coefficients, one can obtain almost any optimal control
pattern one might desire for the sampled-data 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
vari elfo 1 0 q o S t S > ^ fo ^ 1 oy ^ r* 0 £1 f~ £ q T_ V 3. i G.fo ^ Q COGtlG IV G tO SticluG
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 optimal control were compared
to those for conventional control of the process for an upset pattern
in load variables for each of the various cost coefficient cases. Guide
lines for implementing and using optimal control for each of the four
cost cases are given and the effect of cost coefficients on control is
shown.
Pike () discusses the aspects of using dynamic programming and
further points out that two cases can be treated: (a) the case of
deterministic systems where all upsets over all time are ¡known, and
(b) the case of stochastic systems where only the statistical properties
of upsets are known cr can be estimated. In this author's work the
8
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, simultaneously. Chapter II gives a complete discussion
of the column and its control schemes. Chapter II also discusses the
analog-digital interface used to connect the distillation column to
the IBM 360/65 computer as well as the associated software,
CHAPTER II
HARDWARE-SOFTWARE SYSTEM, DISTILLATION COLUMN,
AND COMPUTER LINKUP
As was stated in the first chapter, there were three definite
aims to this problem. Two 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. Genera2 _Interf ace for _Process Systems
Inst rumentation
GIPSI in its present design state can be used for digital
input and output and two levels of analog to digital conversion. In
the present state, GIPSI can be used for on-line, real-time direct
digital control, supervisory control, or data logging. Several pro
cesses or individuals or both can use the hardware system simultaneou
The digital computer used with the interface is an IBM 360/65
This gives the capability of extremely fast computation time as well
as large core availability. Data transfer in either direction occurs
over a leased telephone lire. The 360 system operares on a time-
shared basis and a priority system. The time-sharing system allows
the use of one computing partition of the 360's cere for long periods
of time with little actual computation time occurring. The 360 has a
computational wait state capability that allows the CPU (central
processing unit) to be aware that the GIPSI is in use but is not in a
computational state. While in this aware state, the 360 processes
9
10
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 input-output 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 real-time 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 operation 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 input-output
communication with the 360 computer. The actual multiplexer points
(terminal connections for digital inputs-outputs 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. Twenty of the points are allocated to analog inputs
of -10 to +50 millivolt dc. Thirty points are allocated to digital
input and 30 points to digital output.
Another part of the interface is an IBM 1073 Model-3 digital
pulse converter. This converter takes a digital number generated by
user software and converts it to the equivalent number of up-down pulses
which can be used to drive any device which uses up-down pulses. This
11
device is used as the feedback from the ISM 360 and drives, in this
work, pulse-set-point 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 time.
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 channels in GIPSI. When tut process aierL ous -ls
activated by a contact closure, the computer senses this closure and
activates the software to find out what caused the closure. The devices
which handle these contact closures are process alerts. The contacts
on the process alert bus can be closed manually for random operation,
by external devices such as pressure switches, or with an automatic
polling device for accurate periodic operation. GIPSI has available on
one of the six process alert channels a polling device called a hardware
poller. This poller cycles on a periodic basis and closes the process
alert contacts every XXX seconds. The physical limits on the pollers
cycle time are two to 59 seconds. The software can be used to increase
this cycle time to as long as the user pleases. Since process alerts
directly activate the GIPSI software system, any critical devices which
have contact closing capability and represent a]arms, pressure switches
or any safety device, should connect directly to the process alerts
immediate action.
for
12
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 one-two 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 on-off capability in the
normally-open-norrnally-closed 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 an}7 user device which can be operated by up-down pulses.
The 1073 Model-3 puts out both up and down pulses. The pulsed output
channels along with the software package are available to the user to
choose either the up or the down pulsed output to drive his equipment.
GIPSI contains a six-digit decimal input device for innutting
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 decimal, input device gives the system almost
unlimited demand function capability.
13
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 Model-3 digital-pulse converter and two of
the pulsed output channels are used to drive two pulse-set-point
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 real-time-supervisory
control.
The GIPSI 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 layed-out with simple plugs and switches to facilitate easy
operation by an inexperienced student merely by plugging into the
analog inputs, digital inputs, digital outputs, or pulsed output
channels. Figure 2.1 gives the front panel lay-out for the three-
cabinet system. A detailed documentation package of the hardware
system including equipment requirements and wiring diagrams has been
written for the general user (8).
B. OPSI Software
A general purpose software package was developed so anyone with
a knowledge of Fortran programming could use the GIPSI system. Sub
routines were written to handle process alerts, digital input sense
Si I
ISM x070 DISPLAY ¡j IBM 1073 MODEL 3
* THERMOCOUPLE INPUTS |
j 'I
1? ii (DIGITAL-PULSE
i¡ CONVERTER)
RELAY BANK
} \i
¡
THERMOCOUPLE TEST
SIGNALS
1
j!
ANALOG TEST
SIGNALS
i .. II
8 D2CIXAL IN?UTS || IBM 1072
PROCESS ALERTS it CMULIIPIBEOR UNIT)
!
|i
ANALOG INPUTS ||
i
ii i
mYT'TAT TTaptJT SFN^F
PAIRS ji
|i i
f
| TRANSDUCERS j
¡' (PRES SURE-VOLTAGE)
(| IBM 1072
DIGITAL OUTPUT
j M
{ PAIRS 1
|| ||
j |i
PRESSURE RECORDER
i is
! i|
? i\
ii ;j
PULSED OUTPUTS ¡
? Si
) >!
1 ¡1
i !
\ ii
l
! Is
u
\ ii
!
ii I3M 1071
(CENTRAL TERMINAL
UNIT)
ii M
1
ji
J t
POWER SUPPLY
8 \\
sl
si
j \\ >
j! POWER SUPPLY ||
t <
CABINET 1 CABINET 2
CABINET 3
Figure 2.1. GIPSI: General Interface for Process Systems Instrumentation,
Front Layout.
£>
15
pairs, digital output pairs, digital-pulse 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 xvell as starting and stopping certain system programs and
user programs. The user, of course, can write many more demand
functions of his own.
An extensive error code system was developed jlul tne soxcware 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) semi-fatal errors occur whenever problems
arise which require user response such as ignoring the error and pro
ceeding, stopping the machine, or restarting, (3) a non-fatal error
occurs whenever the user makes a mistake in using'a demand function.
No software or user action is taken for the last type of error; the
user merely tries again. Fatal errors always stop the computer. A
bell sounds and the display shows the error code whenever one occurs.
The real-time computer operation functions through a series of
control programs starting with the process alert handler PROCPA.
Briefly, when a process alert occurs P.ROCPA deter .ines which channel
16
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 (subroutine 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 FROCPA 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 CLOCK-DELAY combination gives the user the time-delay capability of
running programs at time intervals longer than the stage length of
17
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. Distl11.ation Column: Design and Control
The distillation system used in this work is typical of pilot-
plant equipment. The basic system consists of a 10-inch, 12-plate-
bubble cap column with a 30-gallon reboiler. The column has instrumen
to measure the variables listed in Table 2.1.
TABLE 2.1
COLUMN VARIABLES READ BY COMPUTER
Variable
Original Signal Form
Feed Flow Rate
Pneumatic
Feed Composition
Electric
Top Product Flow Rate
Pneumatic
Top Composition
Electric
Bottom Product F.lox* RstG
Pneumatic
Bottom Composition
Elec tri e
S t. G Cllu i J. 0 V R3. t G
Pueumatic
Reflux Flow Rate
Pneumatic
Cooling Water Flow Rate
Pneumatic
Cooling Water Temperature, IN
Electric
Cooling Water Temperature, OUT
Electric
Top Column Vapor Temperature
Electric
Feed Temperature
Elec trie
Steam Temperature
Electric
Reboiler Temperature
Electric
Reflux Temperature
Electric
STACK
CLOCK
'
PROCPA
EXECUT
GOTO
EXECUTABLE
PROGRAMS
DELAY
oo
Figure 2.2. Execution and Delay Phases of Software Package
20
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 ne.cessary analog signals proportional to composi
tion, 0 to 5 vdc for computer purposes and 4 to 20 milliamp dc for driv
ing Fisher-Governor amp-pressure transducers. Three such meters were
used, one on each composition stream.
The distillation column was designed to be operated under
several different types of control: (a) no control, where steam rate,
reflux rate, feed rate, and feed composition are controlled at constant
values and top composition and flow and bottom composition and flow are
allowed to vary; (b) dual composition control, where the top composition
is controlled by manipulating reflux rate and the bottom composition is
controlled by manipulating steam rate; (c) computer control, where
configuration (a) above is followed, and the controller set-points on
steam and reflux are manipulated by the computer. The computer control
by manipulation of controller set-points is known as supervisory control.
Figure 2.3 shows a typical computer control loop. The three types of
control are instituted by opening and closing the appropriate hand
valves to supply input variables to the various controllers. The
computer-operated controllers are Fischer-Porter pulse-set-point
controllers.
The feed rate and composition control loops are shown in
19
All flow rates, with the exception of steam, are measured with
Fischer-Porter 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 copper-Constantan thermo
couples, each of which is plugged directly into a -10 to +50 rnvdc input
point on the GIPSI hardware system.
The pneumatic signals generated by the flow measuring devices
are transduced by Taylor pressure-voltage 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
MAXIMUM COLUMN VARIABLE OPERATING CAPABILITY
Variable
Maximum Capahility
Feed Flow Rate
Top Product Flow Rate.
Bottom Product Flow Rate
Reflux Flow Rate
Cooling Water Rate
Steam Rate
80 gal/hr spgr 0.75
40 gal/hr spgr 0.75
50 gal/hr spgr 0.8
80 gal/hr spgr 0.8
30 gal/min spgr 1.0
250 lbs/hr
tertiary butyl alcohol chosen because of the availability of thermo
dynamic and efficiency data.
To perform on-line data logging and control of the system, it
21
r~ *
TR
Reflux Line
~VsJ-
>?
f.
CM
L__
JL
1
FC
'-j
CC
1
CV
Reflux Flow-Top 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.
Column
22
Figure 2.4. Because feed rate and composition are. load variables and
need to be manipulated to specified values, Fischer-Porter pneumatic-
set-point controllers are used to enable one to generate set-point
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 column-computer hookup through the GIPSI system.
Computer programs were written to read the column variables
in Table 2.1 every 72 seconds and institute control if one was
operating under the computer control scheme. Appendix B gives a
listing of the user software. The 72-second sample and control time
was arrived at as stage length by experience.
23
r j
Legend
CC Composition Controller
CM Composition Monitor
CV Control Valve
FC Flow Controller
CPT Current-Pressure Transducer
P Pump
T Tank
TR Transmitting Rotameter
Air Line
Liquid Flow
Column
Figure 2.4. Control Scheme, Feed System.
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.
25
26
COLUMN
Cooling Water
Feed
Steam
Product
FEED COMPOSITION
FEED TEMP
REFLUX TEMP
&TEAM-T EMP~ ~ -
_ BOTTOM TEMP_ _
TOP COLUMN TEMP '
COOLING WATER_IN TEMP
COOLING WATER OUT TEMP
__ STEAM RATE
PRODUCT RATE
REFLUX RATE
TEEED...RATE
, ftOTTQM RATE
PRODUCT COMPOSITION
BOTTOM COMPOSITION
COOLING WATER RATE
GIPSI
REBOILER
Bottom
Figure 2.6. Computer-Column Connections.
COMPUTER
CHAPTER III
THE OPTIMAL CONTROL PROBLEM
As vas 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 l r.(X(j),U(j)) (3.1.a)
U j = 0 J
subject to
X(j-l) = G(X(j),U(j),F(j)) (3.1 .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:
XXAX + 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
X
relating costs due to quadratic effects in control variables, and C_
, T
and I) respectively, are vectors of cost coefficients for linear
effects in state and control variables.
27
28
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
X^AX 4- U^BU (3.3)
The state variables X., i=l,4, the control variables U.,
i i*
i=l,2, and the load variables F_^, i=l,2, represent deviations from
steady state, or
X1
XD
- XI)
ss
= AXD
X2
=
XB
- XB
ss
= AXE
X3
=
D -
D
ss
AD
X4
=
B -
B
ss
AB
U1
=
S -
S
ss
AS
U2
=
R -
R
ss
AR
F1
=
F -
F
ss
AF
F2
=
XF
- XF
ss
= AXF
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 (a.., i=l,4, b.., i=l,2)
29
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 one-unit 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
li li
cases considered.
TABLE 3.1
PERFORMANCE INDEX COST COEFFICIENTS,
A AND 3
high Cost Case
all=
a = 144440.0
<0 4
bH
- 15.0
a44 = ;l>
K
22
= 10.0
. r-
0, 1 r j
n
c. .
o, i
r Q 0. d Jl Los i L ' d S 6
a,
144440.0
Z.Z.
J. JL.
1.5
a.. = 1.0
a 4
b22
= 1.0
ij
0, i f j
b. .
ij
= 0, i
30
TABLE 3.1 (Continued)
Low Cost Case
all=
a22 = 144440*
bn = 0.15
a33 =
a44 = 1-
b?2 = 0.10
a. =
ij
0, i i j
b. = 0, i
ij
Extra Low Cost Case
3- 1 ~
a = 1444400.0
b,.
= 0.15
11
22
11
a =
a. = 1.0
b_
= 0.10
33
44
22
a. -
ij
0, i ji j
b. .
II
O
H-
B. Derivation of a Suitable Constraint Set
Since equation (3.1.b) represents the stage
the dynamic problem, and since the stages are period
obvious that the stage transformations represent the
between the state variables at the output of a stage
the stage, the controls (decision variables) at the
variables at the stage. These relationships are, in
transformations in
s in time, it is
relationships
and the input to
stage, and load
fact, a model for
tne axsuj. LjLcll.lOu uOIunui
There are several ways tc derive a model for the system which
satisfies the needs of the constraint set given by equation (3,l,b).
The model itself must be describable in a difference form allowing the
new state of the system to be written as a function of the old state
of the system, the current and previous controls and the current and
31
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 model experimentally. Small
step changes in load and control variables were made on the column
itself to determine the numerical values of these constants.
Appendix A gives the response curves for the upsets made in load and
control variables, The magnitudes of these upsets were such as to try
to stay within the region of linear column response.
One. can see from the response curves in Appendix A that a second
order model would give a better fit to the data. Tills fact was given
consideration but it was also seen that the second order model would
yield a set of difference equations which would significantly increase
the difficulty of a hand solution of the dynamic programming problem,
The general form of the transfer function for the proportional
response plus first order lag model, as given in Laplaclan transform
notation for an input variable, is
X(s)
i. (s;
.li i
+ C
3.5)
T S + 1
3
32
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 in equation (3.5)
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
K
X. X. .
1SS?. issl
1. 0 I. -
JSSZ jssl
(3.6)
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 state variable i
caused by a unit change in variable j or
X. X. .
vi __ istep issl
i"2j I. I. '
jss2 jssl
(3.7)
the
One should remember that X. and
x
xnxtxsl condition and, consequently
1. represent deviations about
j
in the derivation no constants
appear denoting the initial conditions.
Consider, for example, the top product flow rate. The theorem
of superposition states that for a linear system the responses of a
variable to other variables changed singly may be added together to
give the total response of that variable when all the independent
variables are changed simultaneously. Thus, from this theorem, and
33
from equation (3.5), one would obtain the total response for the top
flow rate as
k AF(s)
AD(s) X3(s) + K2ip AF(s) +
TAF S + l
CfF(s) AD ..... Km 4E(s> ,
mrr + k2mf4XF
taxf s + 1
tar e + 1
AD .
AD IAS' iS> AD ...
K2AR4E(S) + AD77 + E2AS4S(s)
TAS S + 1
(3.8)
Similar equations are obtained for the other state variables.
The time constants tX were obtained from the response curves
1
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
constants KX and KX for equations of the form of equation (3.8).
lj 2j
In order to maintain the column material balance, the bottom
product flow rate was obtained by difference, i.e.,
AS = AF AD (.3.9)
This equation is effected by taking the negative of the constants .
si
and K^. for AD and making K^. corresponding to the bottom flow rate
J 3
for feed rate change equal to one. Table 3.3 illustrates the effect of
equation (3.9) on the linear model.
The normal method for solving equation (3.S) is to multiply
34
TABLE 3.2
TIME CONSTANTS x* FOR EQUATION (3.8)
FOR ALL STATE VARIABLES
Load and Control Variables
D Lei LU
Variables
F
XF
R
S
XI)
0.632
0.319
0.320
0.486
XB
0.577
0.638
0.861
0.556
D
0.553
0.375
0.340
0.205
B
AB =
AF AD
T ime
constants are
in hours.
TABLE 3.3
CONSTANTS K*.
AND K* FOR
EQUATION
(3.8)
FOR ALL STATE VARIABLES
Load and Control Variables (j)
Variables
(i)
F
XF
R
S
XD
0.00276
1.043
0.0023
-0.0035
XB
0.00156
0.403
0.00261
-0.00315
D
-0.947
-176.1
0
0.15
B
0.947
176.1
0
-0.15
State
it
Load and
Control
Variables
(j)
Variables
(i)
F
XF
R
S
XD
0
0
0
0
XB
0
0
0
0
D
0
0
-1.739
3.42
B
1.0
0
1.739
-3.42
35
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.
This problem was overcome by averaging the time constants x^ to obtain
a single time constant x.. When this is done, one can factor x.s + 1
i i
in each equation and obtain the desired first order differential
equation. Equation (3.10) gives the new time constants
x = (j xXD)/4 = 0.438 hours
AXD '4 i
J
x = 0.658 hours (3.10)
x= 0.446 hours
AD
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
X. (
-
4. I.(s)
- I J J, v + l 4.1. (s)
. T S + 1 4 2j J
J ** J
(3.11)
Multiplying through by x^ s+1 gives
(x.s + l)X.(s) = I 4.1. (s) + (x.s + 1) l 4.1.(s) (3.12)
1 1 d J 1 *4] 3
Taking the inverse of equation (3.12) to obtain the differential
equation form gives
36
dX. . dl.(t)
r. £ + X. = l K?-.I. (t) + t I id. J-
i dt i lj j i ( 2j dt
+ ?
3
(3.13)
Approximating the derivative by a first order backward difference
equation gives
dX. X.(m) X.(m 1)
i v 1 1
dt ^ At
(3.14)
where t for this problem is the stage length. Substituting equations
(3.14) and (3.13) gives
ti (x (m) X_. (m 1))
At
+ X.(m) = J
i 1] J
+ t. 7 Kj.(I.(m) J.(m 3)) + £ K^.I.(m) (3.15)
i L- 2j j J ^ 2j ]
Collecting terms and multiplying through by
At
x. + At
i
gives
V> V~+~4t
1
X
(m 1) + l -
1 T
At
t.k;.
(K^ + + -J-
. + At lj 2j i. + At
J i i
T .
I. (m) £ ~~~ K,.I.(m 1)
i L. x + At 2i i
j j i
(3.16)
Define
Ko = ^77
2j x. + At l;j 2j
x .
v1
x. + At 2j
(3.17)
and
37
T .
i v1
T. + At 2i
i J
(3.18)
Substitute equations
(3.17) and (3.18) into (3
.16) to obtain
Xi(m)
T .
1
1) + l K* I.
j lj J
(m) + l K* I.
j 3 3
(m 1)
(3.19)
T +
X
At Xi(m "
Table 3.4
gives the
computed values of t./t. +
li
At and the
constants and
lj
K;. for At
2j
= 0.02 hours
or 50 stages
per hour.
TABLE 3.4
COMPUTED VALUES
OF t./t. + At
i i
, K^. AND .
lj 2j
i
AXD
AXB
AD
AB
T /x +
1 1
At
0.9564
0.9705
0.957
-0.957
j
AF
AXF
AS
AR
AXD
0.0001202 0.0455
-0.0001525
0.0001001
AXB
0.000046
0.01189
-0.0000929
0.000077
AD
-0.0407
-7.57
3.426
-1.739
AB
1.0407
7.57
-3.426
1.739
j
AF
AXF
AS
AR
i
AXD
0
0
0
0
AXB
0
0
0
0
AD
0
0
-3.278
1.662
AB
0
0
3.278
-1.662
38
Note that 1^ represents both load and control variables.
Breaking I. into F, for load variables and into U. for control variables
J J j
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
T4XD + At
axB
TaxB + 4t
AD
TAD +
-T
AD
T4D + 4t
G =
-AXD
K1AF
-AXB
klAF
-AD
kiaf
-AB
klAF
K
AXD
1AXF
-AXB
1AXF
-AD
1AXF
-AB
1AXF
H [0]
O
39
J
pAXD
Has
-AXD
kiar
-AXB
kias
-AXB
klAR
-AD
IAS
-AD
klAR
-AB
Has
-AB
kiar
K =
0
-AD
K2AS
-kad
2AS
0
-AD
K2AR
-K
AD
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
m-1
N-m+1
N-m+1 s t
N-m
Dynamic Program Stage
. Time-Dynamic Programming
Stage
Relationships.
40
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 m-1 on the mth time stage. This can be shown as
follows: On the mth time stage reverse the input and output stream
names auu call them, respectively, m and m-1. Then, if m = N-m+1,
m-1 = N-m.
Combining equations (3.3) and (3.20) after switching the
indexes in equation (3.20) gives the dynamic programming problem as
N
Min l X (n)AX(n) + U (n)BU(n) (3.21.a)
U n=0
subject to
X(n-l) = EX(n) + GF(n-l) + HF(n) + JU(n-l) + 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 off-line. When on-line, 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.
41
To insure convergence to a solution when the hand solution of
the dynamic programming problem is solved off-line, equation (3.21.a)
N-n
is multiplied by a constant a giving equation (3.21) the following
form:
Min l aN_n(XT(n)AX(n) + UT(n)BU(n)) (3.22.a)
U n=0
subject to
X(n-l) = EX(n) + GF(n-l) + HF(n) + JU(n-l) + 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 necessary to compute the optimal
control law at each stage.
E^csuss of this p ir oh 1 om. it is not fossil hlo tic 3 o "Lvp. the
dynamic program on-line at each stage: however, one can, in this
situation, take advantage of one of the characteristics of the solution
to the infinite stage dynamic programming problem. Nemhauser (7)
points out that time stage problems are frequently treated as infinite
stage problems. The characteristic of interest is the fact that in
problems with large numbers of stages there appears a point in the
42
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 so-called
steady-state or optimal stage invariant solution. The hand solution
of the dynamic programming problem is then solved off-line 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 steady-state 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 off-line and the
steady-state 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
: / T-. -*- / i\
U 1.11-LJ ~ P
n
, v
r /
¡-i
j=i
Appendix C gives the multiplier matrices obtained for the cost coefficient
cases considered.
: vii-J j £
/ O o o \
\n
-l)X(n)
3
(n~I) tl(n/
It must be pointed out that it is necessary to assume a large
43
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 optimal 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 steady-state 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
on-line 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 analog-digital
interface, and the general software package for real-time 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, Analog-Digital 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 proportional-integral
controllers. These same tx^o 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
44
45
satisfactory controller settings. The two controllers are also
proportional-integral 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 analog-digital 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 timed by individual, testing
and then by an individual Ziegler-Nichols technique on each loop.
The two methods produced essentially the same controller 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.
46
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 steady-state about which the upsets were made.
TABLE 4.1
CONTROL AND LOAD VARIABLE
Upsets for Linear Model Determination
Feed Composition
Reflux Rate
Feed Rate
I 25 lbs/hr
0.046
Steam P.ate
23 lbs/hr
10 lbs/hr
Steady_State Qperating Conditions for Upsets
Feed Rate
275 10 lbs/hr
0.5 + 0.0!
Feed Temperature
Reflux Temperature
Reflux Rate
Steam Rate
185 3 lbs/hr
220 + 8 lbs/hr
82 5F
115F
47
TABLE 4.1 (Continued)
State Variable Values
Top Composition
Bottom Composition
Top Flow Rate
Bottom Flow Rate
0.9 0.02
0.1 + 0.02
130 5 lbs/hr
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 steady-state
was reached. Data for the linear model ware 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 steady-state was approximately one hour and 15 minutes, and the
time to attain the new steady-state was about one hour and 15 minutes
giving a total run time of approximately three to three and one-half
hours.
C. Obtaining the Optimal Control Law
The hand-obtained solution of the dynamic program was batched
into the IBM 360/65 computer and solved off-line until convergence
(time invariant steady-state 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
48
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. On-Line 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 4.2
LOAD VARIABLE UPSET PATTERN
Feed Rate
Stage F-F
ss
Feed Composition
Stage XF-XFgg
1
0
1-9
0.046
2-6
-20.25
10
-0.0332
7-10
9.53
11-14
0.0033
11-15
- 9.59
15-22
0.0355
16-20
8.02
23-24
-0.011
21-30
-13.05
25-30
-0.0206
31-
0
31-
0
49
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
pattens; 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 off-line 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
50
51
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 the 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 sets of cost coefficients investigated. 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 analog-digital interface while the
system was at steady state. Table 5.1 gives the results of the noise
level tests. The noi.se 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
52
NOISE
Variable
Reflux Rate
Steam Rate
Feed Rate
Top Rate
Bottom Rate
Feed Comp.
Top Comp.
Bottom Comp.
TABLE 5.1
LEVELS OF COLUMN VARIABLES
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 '
53
Figure 5.1. Performance Index Values for Various Control
Cases for Cost Case One.
54
Stage
Figure 5.2. Performance Index Values for Various Control
Cases for Cost Case Two.
55
Stage
Figure 5.3. Performance Index Values for Various Control
Cases for Cost Case Three.
56
Figure 5.4. Performance Index Values for Various Control
Cases for Cost Case Four.
57
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 two-stage 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
new
a*X + (l-a)*X
old act
(5.1)
This equation states that the new value of the variable is a times
the old variable value plus 1-a times the actual-present 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
IFlx I < Noise Level
1 act1
X = X ,
new ord
IF|X | > Noise Level
' act1
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.
58
The method chosen here was to place two-stage 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 re-evaluation 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
4
variables. Table C.4 shows in P., j=l,25 the extreme effect on the
J
control law the load variables have for 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 shut-down.
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.,
, . State Variable Costs
limit = ---r- v = ]O0
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 about the steady-state operating
59
point for a no-upset situation using the noise levels given in
Table 5.1.
TABLE 5.2
MAXIMUM VALUES OF PERFORMANCE INDEX PER STAGE
Cost Case
1
2
3
4
Performance Index
Value Per Stage
366.4
86.5
58.6
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 than that
given in Table 5.2.
More realistic average values of the actual noise would be
about 190, 50, 40, 150, respectively, for the four cost cases. Thus,
for a 50-stage run at steady state one would expect 9400, 2.500, 2000,
7500, respectively, to be the final performance index value for the
four cost cases. The first 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
60
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 units-as 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 sub-saturation in control could be assured only for
State Costs
Control Costs
< 100
Stage
Figure 5.5. Control Variable, Steam, for Composition
Control and All Optimal Control Cost Cases.
62
AR
-5
-10
Ir
L
1.
B. Cost Case Two
[if] A
ij
'
LnJ
o"
_.i _
5
10
-_L.
15
L__
20
25 0 35
40
J
45
50
Stage
Figure 5.6.
Control Variable, Reflux, for Cost Cases
One, Two, Three.
63
Figure 5.7. Control Variable, Reflux, for Cost Case
Four and Composition Control.
64
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
65
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 the control does not selectively choose
any one state variable over another in trying 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 for 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
AF-AD on any set of figures.
The same upset pattern was used for all runs. An attempt was
67
TABLE 5.3
CONTROL AND LOAD VARIABLE DEVIATIONS FOR
1 PERCENT CONTROLLER SET POINT DEVIATIONS
Variable
Steady-State Variable
Controller Set Point Deviation
Steam Rate 61 1.0
60 0
59 -1.5
Reflux Rate 31 7.0
30 0
29 -7.0
Feed Rate 37.5 5.0
36.5 0
35.5 -6.0
51 -0.01
50 0
49 +0.01
Feed Composition
66
made for every run to implement the upset pattern in the same way,
but the computer did not alxrays see exactly the same pattern.
Figure D.l, while typical of the upset pattern, shows two cases where
the computer saw the pattern differently.
The upset pattern tas 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, steady-state load variable values, the computer and the system
saw off-set 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 steady-state 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 tas 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
63
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), reproducibility was not possible in the few attempts made.
Figures D.8 and D.9 shox^ 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
not exact, as seen in 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 limited.
Since only one upset pattern was 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 generalities by saying that the results appear to show
69
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 _
_____ < pqq
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. lie
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 others are chosen relative to that one,
with the restriction that the matrices of coefficients be positive
definite and symmetric.
When seen 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
< 100
70
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
off-line (6) to obtain the steady-state optimal control lawn Certainly
the possibility of solving the problem on-line 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 on-line analysis of stream compositions in multicomponent cases.
For systems with extremely large response times, on-line 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
71
stability and this single requirement limits considerably the use of
optimal closed-loop 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 analog-digital interface appropriately named GIPSI (general
interface for process systems instrumentation). Not only should a
continuation of the study of closed-loop optimal computer control be
made but other areas of control such as on-line adaptive and on-line
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
72
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 on-line adaptive and feed
forward control and compare these techniques to optimal control.
(f) There seems to be potential industrial use for on-line
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 demonstrated. Enormous 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 GIPSI 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 x^ould 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
real-time, on-line 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.l 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 constant used for model curves represents an average of
four time constants, one for each load and control variable. One
should notice that the response curves for bottom flow rate are not
shown. The reason for this is that bottom flow rate is computed as
feed rate minus top product rate.
The constants for the model curves (Chapter 111) were computed
using 50 stages per hour as the stage length, thus data points for the
model were calculated every 0.02 hours but are plotted as stages.
Only time values of 14 stages are plotted on the abscissa.
The following upsets in load and control variables were made
on the coJ.umn:
75
76
Individual Changes
AF = -25 lbs/hr
AXF = 0.046
ASR = -10 lbs/hr
AR = 23 lbs/hr
Simultaneous Changes
AF = -20 lbs/hr
AS = -7 lbs/hr
AR = 8 lbs/hr
Cnanges were made in che individual variables, except reed
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 that these changes would put the most severe test on
the linear model, .Step changes of equal magnitude were made in feed
rate to note the effect on the state variables. The same change was
noted in both cases, however, onlj^ one set of data is presented. It
was assumed that the other upset variables would give similar results.
One should note that the model response for individual changes
is good in approximating the column. The model curves, if drawn out
to steady-state approach the steady-state values given the column.
The model response for the simultaneous changes fits good for
several stages and then starts to deviate for two variables. This
indicates that the effect of the three simultaneous changes over-drives
the linear response of the column. Only this one set of simultaneous
upsets was investigated on the column to give some idea of the limits
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.
78
Figure A.l. Top Composition: Column-Model Response to Step
Change in Feed Rate.
79
.014
.012
.010
.008
.006
.004
,002
0
\ Model
O Column
AXB
orJDo*" o o
-- I i i l
0 l' 2 3 4 5
7
Stage
l.
10 11
12
_i.
13
, J
14
Figure A.2. Bottom Composition: Column-Model Response to
Step Change in Feed Rate.
80
12 A Model
10
0
2
6
4
8
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.3. Top Flow Rate: Column-Model Response to Step
Change in Feed Rate.
A Model
C) Column
4
2
AD
_A~-
ZZLlJLl
23 4 5 67 8 9 10 11
Stage
12 13 14
Figure A.4.
Top Flow Rate: Column-Model Response to Step
Change in Feed Composition.
81
A Model
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.5. Top Composition: Column-Model Response to Step
Change in Feed Composition.
.008
.006
.004
.002
0
A Model
Q Column
AXB
A
"A
" A".-O"
O'" O' O v/ '
12 3 4
AA*^"A
AA A
o.....a-o-(;r"o o a o
5 6 7 8 9 10 11 12 13 14
Stage
Figure A.6. Bottom Composition: Column-Model Response to
Step Change in Feed Composition.
82
,018
.016
.014
.012
,010
.008
.006
,004
,002
A Model
o Column
0 v-/
0 12
JL-
10
,L, L
11 12
13
Figure A.7. Top Composition: Column-Model Response to
Step Change in Steam Rate.
14
Model
Figure A.8. Bottom Composition: Column-Model Response to
Step Change in Steam Rate.
34
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
83
/YAA/VA A A .A ,/\ A A A A A
O o.
XX
cr-oca ocoo~ o~a
A Model
o Column
I
5
j i ,i_
6 7 8
Stage
I. j i i l J
9 10 11 12 13 14
Figure A.9. Top Flow Rate: Column-Model Response to Step
Change in Steam Rate.
84
Figure A.10. Top Composition: Column-Model Response to
Step Change in Reflux Rate.
85
,022
,020
,018
A Model
o Column
Figure A.11. Bottom Composition: Column-Model Response to
Step Change in Reflux Rate.
86
-48
-46
-44
-42
-40
-38
-36
O
- cr~o o
o o
-34
-32 ¡-
-30
-28
-26
-24
-22
-20
-18
-16
-14
-12
-10
- 8
AD
A Model
O Column
Ail -O
0 1
"2 3
5 6 7 8
.l I i J JL_
9 10 11 12 13
-.1
14
Figure A.12.
Stage
Top Flow Rate: Column-Model Response to Step
Change in Reflux Rate.
88
.004
.002
0
-.002
-.004
-.006
-.008
-.010
-.012
-.014
\ Model
Q Column
A AA""
<>--00
A
A.--AA
A A
AXB
o
o
\/
0
a a
12 3
Figure A.14,
. L__
4
J .l _L
6 7 8
Stage
! i 1
10 11 12
o
o
I i
13 14
Bottom Composition: Column-Model Response
to Simultaneous Step Changes.
87
Figure A.13. Top Composition: Column-Model Response to
Simultaneous Step Changes.
38
36
34
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
89
A>
-A.
O
O
tr
A
o n.
-A
O'
^ 2V A
O Q ; .>- q o O
4 A. a
V- A
A Model
O Column
AD
1
JL_
5
L
L
7
8
Stage
10
11
_J
12
i r
13 14
Figure A.15.
Top Flow Rate: Column-Model Response to
Simultaneous Step Changes.
APPENDIX B
USER SOFTWARE
Included in this appendix area listing and description of the
software used to sample data, to compute the optimal control law, and
to output the optimal control law.
The following subroutines are contained in the listing:
USER!, UNITS, COST, CONTROL, PULSES, UPSET, and INITIAL.
Subroutine USER! is the main control program used in this
work and is called at every stage. Its basic purpose is to handle
input-output for the computational phase of the problem.
Subroutine UNITS reads the state, load, and control variables;
calibrates the analog-digital conversion equipment on the IBM 1070
system; and makes all necessary conversions from input voltage to flow
rates and compositions.
Subroutine COST computes the performance index value at each
stage, given the state of the system.
Subroutine CONTROL is used to compute the optimal control law
at each stage, given the upset pattern in load variables for the length
L i i. ciil
Subroutine PULSES is used to compute and send out the actual
number of pulses to be loaded into the IBM 1073 Model-3 digital-pulse
converter. These pulses represent set-point changes from stage-to-stage
for the control variables.
Subroutine UPSET supplies the computer with the future values
of the load variables. These future values consist, of the upsets to
90
91
be made in load variables at each stage in the future.
Subroutine INITIAL reads input information and initializes
certain variables.
The variables used in these subroutines do not confrom to those
given in the list of symbols. Below is a reference chart for conversion
from subroutine variables to those used throughout the discussions in
this dissertation.
Represents in List of
Subroutine
Symbol in Software
Symbols
USER1
COUNT(1)
XD
USER1
COUNT(2)
XB
USER1
COUNT(3)
D
USER1
COUNT(4)
B
USER1
COUNT(5)
F
USER1
COUNT(6)
XF
USER1
COUNT(7)
S
USER1
COUNT(8)
R
USER1
CO(I), 1=1,8
Steady-State Value of
COUNT
UNITS
C(I), 1=1,8
Same as COUNT
UNITS
ACCOST
Performance Index Value
CONTROL
G1
P1
CONTROL
G2
P2
CONTROL
G3
P3
CONTROL
G4
P4
J
SUBROUTINE USER! (II, 12, I?)
C0NMCN/0PTPNT/XC14),FO!2),UC(3),SP,UF(3)/U2CDM/TEMP(7) STATE(10)
C0MNCN/CUR/C!9) ISTAGE/CCSCCM/ACC0ST,A!4,4) ,8(3,3),C1!4),D(3)
C IMENSION CO(13), COUNT(13) UNEW13), UCLD(3)
COMMON / U1C0M / CCC113)
CQNNCN/PA3C0N/ ISTART
EQUIVALENCE (CCtl), X0(1))
ISTAGE MUST BE SET EQUAL TO ZERO IN ANOTHER PROGRAM
IF( ISTART .GE. 1C) GO TO 33
CALL UNITS(CCUNT )
WRIT E(6, 100) COUNT
CALL CISPLY( ISTART )
ISTART = ISTART + 1
CO 32 I = 1, 10
32 STATE! I) = COUNT{ I )
CO 3 C I = 1, 13
30 CCC(I) = (1/10. )*COUNTU) + CCC(I)
CALL DELAY!127, C)
RETURN
33 ISTAGE = ISTAGE + l
CALLCISPLY! ISTAGE )
IF!1ST AGE .GT. 1) GO TO 2
CALL INITAL
CC 1 1=1, 13
1 CC! I ) = CCC! I)
CC 1G 1=1,3
10 UCLC! I ) = CCC!I + 1C )
W R I T E ( 6, 101)
101 FORMAT 1***#*#**#.*,#*******#*,*************#*
1 # ****&**
* S ff
W R I T E { 6, 102)
102 F0RMAT(* 0 THE FOLLOWING IS THE STEADY STATE OPERATING POINT////)
CC 111 I = 1, 9
111 Cl I ) = 0.
WRITE16, 100) CC
h R I T E 6, 103)
103 FORMAT ( 5 0**********************************'****** ****.#****.<***
X -5 S # -inn***-#** ***#&** #*#*****' )
100 FORMAT(* C CURRENT POINT'//* STATE VECTOR 4!3X, F10.3),5X,
l'UPSET VECTOR*, 2!3X, F1C.3),//, CONTROL VECTOR 33X F10.33,
2 5 X, SP *, F1C.3,//, CONT. SET. 3!3X, F10 3))
2 CALL UNITS(CCUNT)
WRIT E(6, 100) CCLNT
CC 3 I = 1, 10
3 STATE! I ) COUNT { I )
CO A I = 1. 13
A COUNT(I) = CCUNT(I) CC(I)
CALL CCNTRL(COUNT, UNEW UOLD )
CALL PULSES! UNE'a, UOLD)
CALL COST!COUNT)
IDSP = ACC0ST/1C0.
CALL CISPLY! IDISP )
CALL VA IT!200 )
CALL CISPLY! ISTAGE)
CALL DELAY!127, C)
RETURN
END
SUBROUTINE UMTS t C )
COKNCN/CUR/ CCC(9), ISTAGE /PA3CQM/ ISTART
DIMENSION C{13)* IN(4C), IS(40)
CALL READ 1{35 C, AC,. 7, IN, IS)
C(1 1 ) = I S{ I )
C( 12) = IS{2 )
C { 13 ) = I S ( 3 5
A = I S { 4 )
E = I S ( 5 )
SLCPE = 0.04678/(A B)
CEPT = -8*SL0PE
CALL READ 1(OC, C, 4C, 7, IN, IS)
CC 1C I = 1, 1C
10 C(I) = IS(I )
CO 1 I = 1, 13
1 C I ) = SLCPE*C( I ) + CEPT-
C ( 3 ) = -.702 1904E 2*C(3)**2 + 2575867E + 1 *C l 3 5 + .2636047E + 1
C 3 ) = .0706940*0(35**3 2.6 I 27758*C(3)**2 + 51.604217 5 + CI 3)
1 150.4664764
C C 4 ) = 5.812398C*C(4)**3 52.016133*0(4)**2 + 202.9503784*014)
1 9C. 1980896
C £ 5 ) = -.7718146*C(5 )**5 + 7.3721237*C(5)**4 15.9140806*0(5)**3
1 50.4078522*0 {5)**2 + 338.6418457*0(5) 149.1C04639
0(3) = C(3)*1.012
0(4 ) = C(4)*1.C2C
0(7) = 2.661*0(7) + 2.712
CllC) = 0.2479553E-4*C(10)**2 + 0.2628754E+1*C10) + 0.2265808E+
0(7) = .0884147*0175**3-3.2277861*0(7)**2+5C.0650024*0(7)
1 85.3336639
C(8 ) =3 30*SORT(C(8)5-172.5
0(9 )=C(9 ) *3336.3-202.8
0(10) = 4.97*C( 1C ) 0.21
0(11) = -.13C34C6E + C*C( 1 1)* 2 + .25285890 + 2*0(11 5 .2339648E + 2
0(12) = 8486938E-1+C( 12)**2 + .2532812E+2C ( 1 2 ) .2554956E+2
C ( 13 5 = -,.1760864E-1*C{ 13)* 2 + 246G767E+2*C (13 ) -
C(l) = 1. (0.2C74C74E + 2*}C{ 15 C.5513C31E+1)/ICC.
C(2 ) = 1. (C.243*C2) 0.C765)
C 6 ) 1. (C. 1867505E+2*C{6) 0.245556 6E + U/100.
IF( ISTART ,NE.
C) GO TO
S 2
=
C 12 )
T 2
=
C (2 )
SI
=
C t 3 )
T 1
C (3)
S3
=
C ( 1 )
T 3
=
cm
S4
C (5 )
T 4
=
C (5 )
S 5
=
C (6 5
T 5
=
C (6 )
33 S 2
=
0.3*C(2)
+ C 7 S 2
T 2
=
C.3*S2 *
C.7* T 2
C ( 2
)
= 2.*S2 -
T 2
SI
=
0.3*Ci 3 )
+ S1*C.7
T I
=
C 3 S1 +
0.7 T1
C ( 3 >
= 2.*S1 -
T 1
S3
=
0.3 -* C ( 1 )
+ C 7 S3
T 3
=
G.3 S3 +
C .7*T3
C t 1 )
= 2.S3 -
T 3
S4
=
C.3 C(5 )
+ C.7*S4
T 4
=
C.3*S4 +
0.7*74
C { 5
t
= 2.*S4 -
T 4
S 5
=
C.3*C< 6)
+ C.7* S5
T 5
=
C 3 S5 +;
0.7 T 5
C(6 5 = 2.*S5 75
THE FOLLOWING CAUSES BOTTOM RATE TO BE COMPUTED AS
C { 4 ) = C < 5) C l 3 )
5C0 RETURN
ENC
.2459751E+2
SUBROUTINE COST(COUNT)
CCMMCN/CCSCOM/ ACCOST, A(A, A), B(3. 3), CA), 013)
COM M CN/CUR/ X ( A 5 F2), U3), ISTAGE
DIMENSION SUMU(3) SUMX(A)
DIMENSION COUNT(13)
100 CO 1 I = 1, A
1 SUM X ( I) = 0.
DO 2 I = 1, 3
2 SUMO(I) = 0.
SUMI = 0 .
CCA 1 = 1, A
SUM X { I) = A fII)COUNT(I 5
A SUM1 = SUM!1+SUMX( I ) COUNT I )
SUM 2 = 0.
CC6 1=7,9
J = I-6
SUMU(J ) = e
6 SUM2 = SUM2+SUMU(J) COUNTI I)
SUM 3 = 0.
CO 7 I = 1, A
7 SUM3=SUM3+C(I)COUNT ( I )
SUMA = 0.
CO 8 1=7,9
K= 1-6
8 SUMA=SUMA+D(K)COUNT{I)
ACCCST=ACCOST+SOMI+SUM2+2*(SUM3+SUMA)
9 VsRITE (6, 200) ISTAGE, X, U, F, ACCOST
200 FORMAT ( 0 AT S T A GE IA 2 X 5 ST A T E r ,.A ( E10.3,3 X ) / / CONTROL
13(E1C 3 3 X ) UPSET*,.2(E10.3,3X), COST 5, E15.5)
URITEI6, 3C0 )
300 FORMAT(* ANALYSIS OF COST INCREMENT AT THIS STAGE*)
UR IT E 1 6, 301) SUMI, SUM 2 SUM3 SUMA
301 FORM AT ( GUACRATIC IN X = , E15.5,2X, GUAORATIC IN U = *
1 2X, LINEAR IN X = , E15.5, 2X, LINEAR IN U = *, E15.5)
'aRITEI, 201)
201 FORMAT { C********ff****'***',f1*Jf*******5*-,!,******',}#-**J**,**-***-*(tt5**'-***tf*
1 * > / // /)
RETURN
ENC
SUBROUTINE CCNTRLCOUNT, UNEVi UCLD)
COM MCN/CUR/ X { A ) F ( 2 ) U(3), ISTAGE
COMMON/MATRIX/ GK3), G213,A), G3(3,3), GA(30,3,2). IHORZN
CIMENSION S(9) FF(30, 2), UNEW(3), UOLD(3), COUNT{13)
EQUIVALENCE ISI) X1) )
CALL UPSET (FF, IHORZN, COUNT)
1
CO 6 I
= 1. 3
CUN X =
0.
CO 2 J
II
<<*
2
CUM X =
DU MX + G2[ I, J )*X(J)
CUMU =
0 .
CG 3 J
= I, 3
3
CUMU =
DLMU +. G 3 ( I, J)*UJ5
CUMF =
0 .
CO 5 K
= 1, IHORZN
CUMF 1
= C.
CO A J
= 1. 2
A
CUM F I
= CUMF1 + GA(K, I, J ) *FFT K, J)
5
CUMF =
DUMF F COMF1
6
LNEW ( I
) = GUI) + CUMX + DU MU + DUMP
CO 8 I
= it 9
8
S ( I ) =
RETURN
ENC
COUNT{I)
SUBROUTINE PUSES (UNEW, UCLC)
CIMENSION UNEW(3),UOLD{3),I PULSE(10),LOW(3} .LHIGH13)
COMNCN/CPTPNT/ XC(4),. FC(2), UO 3 ) SP,UF { 3 )
COMNCN/CUR/ C1CK9), ISTAGE
CATA LOW, LHIGH /3*0, 3*100/
CO 10 I = 1, 3
10 UNEW I ) = UNEW( I ) + UO ( I )
LNEW(l) =? 0.0022970*0NEW(1)**2 C. 1554382*UNEW t 1} + 12.2547255
LNEW(2) = .0001668*UNEW(2 ) * 2 + .0803*UNEW(2) + 3.8
UNEW(3) = .00667*UNEW13)
CO 4 I = 1, 3
IF(UNEWU) .GE. LOW(LJ) GO TO 3
W R I T E 6 100) I, UNEW(I), LCW(I)
UNEW{ I ) = LOW{ I )
100 FCRNAK'C COMPONENT I 2 OF THE CONTROL VECTOR WAS TO DE SET =
1, E12.5, //, CONTROL WAS SET = 15, CONTROL AT THIS STAGE
2IS NOT OPTIMAL' )
GO TO 4
3 I F{UNEW(I) .LE. LHIGF(I)) GO TO 4
WRITE(6, 100) I, UNEWtl), LHIGH(I)
LNEW{ I ) = LH IGH{ I )
4 CONTINUE
CO 5 I = 1, 2
5 IPULSE(I) = (UNEWU) L OLD ( I ) ) 2 C 0
CO 6 I = 3, 10
6 I PUL SE( I ) = C
CALL PULSO! IPULSE )
6970 CC 7 1=1,3
7 UCLC{ I ) = UNEW{ I)
WRITE! 6,12) (UCLC I ) I =51,3 )
12 FORMAT!' UOLC(l) = E15.55X,'UOLD{2) = E 1 5.5,5X,'UOLD!3) =",
1E15.5)
RETURN
ENC
SUBROUTINE UPSET IFF, IHCRZN,
CONVCN /CUR/ X(4), F(2), U(2),
CINENSION FF3C, 2), COUNTI13)
IF{ ISTAGE .NE. 1 ) GO TO 10
CO 1 I
=
It 30
CO 1
J =
1 2
1
FF ( I ,
J)
5= 0.
CO 9 I
=
3, 7
9
F F { I,
1 )
= -20.25
CO 11
I =
8, 11
11
FF ( I ,
1)
= 9.53
CG 12
I =
12 14
12
FF ( I ,
1)
= -9.59
CG 13
I =
15, 16
13
F F ( I ,
1)
= -9.83
CO 14
I =
17,21
14
FF(I,
1 )
t 8.02
CO 15
I =
22, 3 C
15
FF U
1)
= -13.05
CC 16
I
= 2, 1C
16
FF{ I ,
2)
= .0460
F F{11.
2 )
= -.0332
CC 17
I =
12 15
17
F F ( I ,
2)
=.0023
CO 18
I =
16,23
18
FF( I,
2)
= .0355
CO 19
I =
24 25
19
FF II ,
2 )
= -.011
CG 2C
I =
26, 3 C
2C
F F { I ,
2) =
-.0206
CC 2 J
=
It 2
F F ( 1 ,
J)
= F {J )
2
FF ( 2 ,
J )
= COUNT(J+4)
RETURN
COUNT)
ISTAGE
/
100
10
IF{ ISTAGE NE. 2) GO
CG 29
J = 1,2
FF( 1 ,
J) = F(J 5
29
FF ( 2 ,
J! = COUNT(J+4)
CO 3 C
I =? 3,29
C 30
J =r 1,2
30
FF ( I ,
J! = FF { I + 1 J.'
CO 31
J = 1, 2
31
F F ( 3 C ,
RETURN
J ) = 0.
59
CO 3 J
= 1,2
FF( 1,
J) = F{J)
3
FF ( 2 ,
J) = COUNT(J+43
CO 4
I = 3, 29
CO 4 J
= 1,2
4
FF ( I ,
J) J= F F ( 1 + 1, J )
RETURN
ENC
101
SUBROUTINE INITAL
CONNGN/CCCOM/ACCSTl,ACOST2
COMMCN/MATRIX/ G 1 ( 3 ) G2{3,A), G3(3,3>, GA ( 30 3,2 ) IHCRZN
CQKN.CN/CCSCOM/ ACCOST, A(A,A), 3(3,3), CIA), D (3 )
CCMMCN/CLR/CC(9), ISTAGE
ACCOST = C.
ACC S T1 = 0 .
ACC S T 2 = 0 .
CO 1 I = 1, A
C ( I ) = 0 .
00 I J = 1, A
1 Ail, J) = 0.
CO 2 I = 1, 3
C ( I ) = 0.
GI(I ) = C.
CO 2 J = 1, 3
G3(I, J) = 0.
2 E ( I J ) = 0 .
CO 3 I = I, 3
CC 3 J = 1, A
3 G 2 ( I J ) = 0 .
CO A K = 1, 30
GO A I = 1, 3
00 A J = 1, 2
A GA{K I, J) = 0.
100 FORMATAE15.5)
101 FORMAT 3E15.5)
102 FORMAT{ 10 15)
103 FGRMAT12E15.5)
5C0 FORMAT(AF15.5)
501 FORMAT(3F15.5)
502 FCRMAT2F15.5)
REAC5, 5C1) G1
RE A C { 5 5 CO) ( (G 2( I, J), J 1, A), I = 1,2)
102
READ(5,
502) ((63(1, J), 3 = 1, 2), I =
R E A C ( 5 t
102) IFCRZN
CC 5 K =
1, IHORZN
5
READ(5 ,
502 ) ( (G4 K I J), J = 1, 2) I
READ{5,
5 C 0 ) ( (A! I, J), J = 1, 4), I =
REAC(5,
502) ( (El I J) J = It 2), I =
R E A C ( 5 t
500 ) C
READ (5,
502 ) (C( I ) t I = It 2)
WR ITE 6,
200 )
200
FOR R A T( '
0 G1 VECTOR)
WRITE (6,
10 1 ) G 1
WR I T E(6,
201 )
201
FORMAT(
C G2 MATRIX* 5
WRITE!6,
100 ) ((G2( I, J ) tJ=1,4),1 = 1,3)
ViR I T E { 6
202 )
202
FORMAT{'
0 G3 RiATRIX 5,
W R I T E ( 6,
101 ) ((G 3( I t J ) ,J = l,3) t 1 = 1,3)
WRIT E(6,
2C3) IFCRZN
203
FOR RAT(
C IHORZN = 110)
CC 6 K =
1, IHORZN
WRITE(6,
204 ) K,
204
FORRAT(5
C G4( 12, ) MATRIX *)
6
WRITE{6,
103) ( (G4(K,.I,J) J=l,2) ,1 = 1,3)
WRITE(6,
205 )
205
FORRAT('
0 A MATRIX)
WRITE!6t
ICO) ( (A( I,J),J = i,4),1 = 1,4)
WRITE(6,
206)
206
FORRAT(
0 B MATRIX 5
WRITE16,
101) ((B(I,J)J=1,2),1=1,3)
WR ITE(6,
207 )
207
FORRAT(
0 C VECTOR )
WRITE(6,
100 ) C
W R I T E ( 6 ,
208 )
208
FORRAT(
0 D VECTOR)
1, 2)
= 1. 2}
It 4)
It 2)
103
VsRITE (6, 1C1) C
RETURN
ENC
104
APPENDIX C
MATRIX MULTIPLIERS FOR THE OPTIMAL CONTROL LAW
Listed in this appendix are the multipliers given in
equation ( 3.23), Chapter III. These multipliers were used as data
in the on-line control problem to obtain the optimal control at each
stage.
Future upsets were considered for stages in the future until
(p"1*P2>/(p1*pj) 3: iQ.o
Four tables of data are listed, one for each of the four cost cases
considered. Also listed are the state variable cost coefficients, a..,
13
and the control variable cost coefficients, b...
ij
In Chapter III the control law (equation 3.23) is given showing
multipliers as P i=l,4. The tables in this appendix show the
multipliers as P i=l,4. The inverse matrix P ^ is included in
J
the multiplier P^, i=l,4 as given in Chapter III.
O
105
106
TABLE C.l
HIGH CONTROL COSTS
Dynamic
11
22
33
program convergence 46 stages
= 144440.
bll = 15
= 144440.
b22 10.0
= a.. = 1.0
b . = 0
44
ij
= 0 i^j
i^j
P *P Linear terms in states and controls
(0,0)
-1 2
P *P State variable multiplier
4.123
2.656
' -0.136
0.0
-6.476
-8.473
0.101
0.0
P_1*P3
Control
variable
multiplier
0.465
-0.236
-0.346
0.175
-1 4
P *P^ Previous stage load variable multiplier
0.0 0.0
0.0 0.0
P *P2 Present stage load variable multiplier
0.0786 1.303
-0.0598 -1.210
Future upsets are considered for 20 stages into the future. The form
-1 4
follows the above with P *P. i=3,22.
3
3
4
5
6
7
8
9
10
11
12
107
TABLE C.l (Continued)
0.000411
0.200
j=13
0.000260
0.125
-0.000881
-0.368
-0.000556
-0.229
0.000393
0.191
14
0.000248
0.119
-0.000842
-0.351
-0.000530
-0.218
-0.000375
0.182
15
0.000237
0.114
-0.000804
-0.335
-0.000506
-0.208
0.000358
0.174
16
0.000226
0.108
-0.000768
-0.320
-0.000483
-0.198
0.000342
0.166
17
0.000215
0.103
-0.000733
-0.305
-0.000460
-0.189
0.000327
0.159
18
0.000205
0.098
-0.000700
-0.291
-0.000439
-0.180
0.000312
0.151
19
0.000196
0.094
-0.000667
-0.277
-0.000419
-0.171
0.000298
0.144
20
0.000186
0.089
-0.000639
-0.265
-0.000400
-0.163
0.000285
0.138
21
0.000178
0.085
-0.000610
-0.252
-0.000380
-0.154
0.000272
0.131
22
0.000169
0.080
-0.000582
-0.241
-0.000362
-0.147
108
TABLE C.2
EQUAL COSTS
Dynamic Program Convergence 47 stages
= 144440. = 1.5
a22 = b22 1,0
a . = 0,
ij
P-1*?1
Linear terms in states and controls
(0,0)
-1 2
P *P
State variable multiplier
- 4.034
-15.624
-0.210 0.0
-28.088
-49.55
0.095 0.0
-1 3
P *P
Control
variable multiplier
0.721
-0.365
-0.326
0.165
P-1*P^
Previous
stage load variable multiplier
0.0
0.0
0.0
0.0
-1 4
P *P
2
Present
stage load variable multiplier
0.114
1.281
-0.074
-2.696
Future upsets are considered for 23 stages into the future. The form
-1 4
follows the above with P *P. j=3,25.
3
3
4
5
6
7
8
9
10
11
12
13
109
TABLE C.2 (Continued)
-0.000624
-0.003097
-0.314
-1.628
j 14
-0.000355
-0.001805
-0.174
-0.930
-0.000593
-0.002951
-0.298
-1.548
15
-0.000338
-0.001719
-0.165
-0.883
-0.000563
-0.002809
-0.282
-1.472
16
-0.000321
-0.001636
-0.156
-0.838
-0.000535
-0.002674
-0.268
-1.400
17
-0.000305
-0.001557
-0.147
-0.795
-0.000508
-0.002546
-0.254
-1.330
18
-0.000290
-0.001482
-0.140
-0.754
-0.000483
-0.002424
-0.240
-1.264
19
-0.000276
-0.001410
-0.132
-0.715
-0.000459
-0.002308
-0.228
-1.201
20
-0.000262
-0.001342
-0.125
-0.678
-0.000436
-0.002197
-0.194
-1.031
21
-0.000249
-0.001276
-0.118
-0.643
-0.000414
-0.002092
-0.205
-1.085
22
-0.000236
-0.001213
-0.111
-0.609
-0.000394
-0.001992
-0.194
-1.031
23
-0.000224
-0.001153
-0.105
-0.576
-0.000374
-0.001896
-0.184
-0.979
24
-0.000213
-0.001095
-0.099
-0.545
25
-0.000202
-0.001040
-0.094
-0.515
110
TABLE C.3
LOW CONTROL COSTS
Dynamic program convergence 41 stages
= a22 = 144440. b = 0.15
a33 = a44 = 1,0 b22 = 0,10
aij = bij =
p ^p1
Linear terms in states and controls
(0,0)
P-1*P2
State variable multiplier
- 91.10
-199.89
-181.85 -0.388 0.0
-376.30 -0.233 0.0
P-1*P3
Control variable multiplier
1.330
0.799
-0.674
-0.405
-1 4
P *P^
Previous stage load variable multiplier
0.0 0.0
0.0 0.0
P b*P^
2
Present stage load variable multiplier
0.155
-0.006230
- 3.491
-12.273
Future upsets are considered for 28 stages into the future. The form
-1 4
follows the above with P *P., j=3,30.
J
O
Ill
TABLE C.3 (Continued)
3
-0.0102
-0.0219
- 5.436
-11.72
j=15
-0.00464
-0.0101
-2.422
-5.260
4
-0.00952
-0.0205
- 5.081
-10.975
16
-0.00434
-0.00942
-2.260
-4.912
5
-0.00892
-0.0192
- 4.760
-10.275
17
-0.00406
-0.00883
-2.108
-4.585
6
-0.00836
-0.0180
- 4.453
- 9.618
18
-0.00380
-0.00826
-1.965
-4.278
7
-0.00783
-0.0169
- 4.165'
- 9.002
19
-0.00356
-0.00774
-1.831
-3.989
8
-0.00734
-0.0158
- 3.896
- 8.424
20
-0.00333
-0.00724
-1.706
-3.717
9
-0.00687
-0.0148
- 3.643
- 7.882
21
-0.00311
-0.00677
-1.587
-3.461
10
-0.00644
-0.0139
- 3.405
- 7.373
22
-0.00291
-0.00633
-1.476
-3.221
11
-0.00603
-0.0130
- 3.183
- 6.895
23
-0.00272
-0.00592
-1.371
-2.994
12
-0.00565
-0.0122
- 2.974
- 6.447
24
-0.00254
-0.00553
-1.272
-2.780
13
-0.00529
-0.0115
- 2.778
- 6.026
25
-0.00237
-0.00516
-1.179
-2.578
14
-0.00495
-0.0107
- 2.594
- 5.631
26
-0.00220
-0.00481
-1.091
-2.388
27
-0.00205
-0.00447
- 1.008
- 2.207
28
-0.00190
-0.00415
- 0.929
- 2.036
29
-0.00177
-0.00385
- 0.855
- 1.873
30
-0.00163
-0.00356
- 0.784
- 1.719
112
TABLE C.4
EXTRA LOW CONTROL COSTS
Dynamic program convergence 42 stages
all = a22 = 144440- bn = *15
a33 a44 1,0 b22 0,10
aij > biJ >
p ^p1
Linear terms in states and controls
(0,0)
P 1*P2
State variable multiplier
-385.58
-910.40
- 923.44 -0.701 0.0
-1914.20 -.0.907 0.0
-1 3
P *P
Control variable multiplier
2.402
3.106
-1.218
-1.575
-1 4
P *P^
Previous stage load variables multiplier
0.0 0.0
0.0 0.0
-1 4
P *P2
Present stage load variable multiplier
0.197
0.0676
-24.110
-59.589
Future upsets are considered for 22 stages into the future. The form
-1 4
follows the above with P *P., i=3,25.
J
113
TABLE C.4 (Continued)
3
-0.0488
-0.110
-23.369
-52.980
4
-0.0412
-0.0934
-19.656
-44.887
3
-0.0347
-0.0791
-16.451
-37.890
6
-0.0290
-0.0668
-13.691
-31.851
7
-0.0242
-0.0562
-11.316
-26.644
8
-0.0200
-0.0470
- 9.274
-22.156
9
-0.0164
-0.0391
- 7.523
-18.298
10
-0.0133
-0.0323
- 6.025
-14.986
11
-0.0106
-0.0264
- 4.745
-12.144
12
-0.0837
-0.0214
- 3.654
- 9.714
13
-0.0645
-0.0171
- 2.729
- 7.642
14
-0.00481
-0.0135
- 1.945
- 5.876
j=15
-0.00343
-0.0104
-1.286
-4.381
16
-0.00226
-0.00771
-0.734
-3.119
17
-0.00129
-0.00548
-0.275
-2.058
18
-0.000475
-0.00361
0.105
-1.171
19
0.000196
-0.00204
0.416
-0.434
20
0.000745
-0.000740
0.666
0.170
21
0.00119
0.000329
0.866
0.665
22
0.00154
0.00120
1.020
1.059
23
0.00181
0.00189
1.137
1.371
24
0.00202
0.00244
1.221
1.610
25
0.00216
0.00286
1.276
1.786
APPENDIX D
DATA
This appendix as well as the figures in Chapter V comprise the
deterministic data taken for this problem.
Figure D.l shows a comparison of the upset pattern in load
variables for two cost cases as seen by the computer. The first two
curves are for cost case two with a two-stage filter for load variables.
The second two curves are for cost case three without any filter. The
compai'ison of these curves shows not only the upset pattern used in this
work but also the effective noise seen by the computer and the effect
of the two-stage filter.
Figures I).2 to D.6 when combined with Figures 5.5 to 5,7 give
the load, control, and state variable response for the four optimal
control runs and the composition control run. Figure D.7 shows the state
variable response to the upset pattern in the uncontrolled case.
As was mentioned in Chapter V, two reproduction runs were
attempted for cost case four, neither of which was successful.
Figures D.3 and D.9 give the control variable response for these two
reproduction runs and show the control action that occurred and caused
the run failure.
Figures D.10 and D.ll give the load, control, and state variable
response to the on-line optimal control noise test run with no upsets
for cost case one. Figures D.12 to D.14 give the performance index, load,
control and state variable response for the two cost case two runs. A
comparison of the curves gives an idea of the reproducibility to expect
with the present noise levels.
114
115
Figure D.l. Load Variables for Two Cost Cases to
Illustrate Effect of Filters and Noise
116
Stage
Figure D.2. State Variable Response for Cost Case
One for Optimal Control.
0
117
AXD
.02
.01
10 15 20 25
30
35 40 45
50
AXB
Figure D.3. State Variable Response for Cost Case
Two for Optimal Control.
118
O 5 10 15 20 25 30 35 40 45 50
.02
.01
AXB
0
-.01
-.02
JL
15
J 1 J l J
20 25 30 35 40 45
J
50
Stage
Figure D.4. State Variable Response for Cost Case
Three for Optimal Control.
119
Figure D.5. State Variable Response for Cost Case
Four for Optimal Control.
120
0 5 10 15 20 25 30 35 40 45 50
Figure D.6. State Variable Response for Composition
Control.
121
Figure D.7. State Variable Response for Uncontrolled
Case.
122
AR
10
0
-10
-20
-30
-40
-50
0 5 10
15
X.
20
Stage
25
.1 J
30 35
Figure D.8. Control Variable Response for
Cost Case Four for Optimal
Control. Try at Reproduction.
123
!
Figure D.9.
Control Variable Response for Cost Case
Four for Optimal Control. Try at
Reproduction.
124
5
AS
AR
Stage
Figure D.10. Load and Control Variable Response
for No Upset, Optimal Control Noise
Level Test for Cost Case One.
125
.01
AXD 0
Stage
P.I. = 14448.0 in 40 Stages
Figure D.ll. Stage Variable Response for No
Upsetj Optimal Control Noise Level
Test for Cost Case One.
126
Figure D.12.
Comparison of Performance Index Values
ofR.un& for Reproduction for Cost Case
Two.
127
AF
20
10
0
-10
-20
-30
0 5 10 15 20 25 30 35 40 45 50
AR
n
0 5 10 15
i
20
25 30 35 40 45 50
Stage
Figure D.13. Comparison of Load and Control Variables of
Pains for Reproduction for Cost Case Two.
AXD
AXB
128
Figure D.14. Comparison of State Variables of Runs
for Reproduction for Cost Case Two.
LITERATURE CITED
1. Zahradnik, R. L. Archer, D. H., and Rothfus, R. R. Chem. Eng.
Progr. Symp. Series, Proc. Syst. Eng., 59, No. 46, 132 (1963).
2. Paradis, W. 0., and Perlmutter, D. D., AIChEJ, 12^ No. 5,
876 (1966).
3. Rafal, M. D., and Stevens, W. F., AIChEJ, 3A, No. 1, 85
(1968).
4. Brosilow, C. B., and Handley, K. R., AIChEJ, L4, No. 3, 467
(1968).
5. Lapidus, L., Chem. Eng. Progr. Symp. Series, Proc. Cont. and
Applied Math., _61, No. 55, 88 (1965).
6. Pike, D. H., Ph.D. Dissertation, Univ. Fla., Gainesville (1970).
7. Nemhauser, G. L., "Introduction to Dynamic Programming,"
1st Ed., 211, John Wiley and Sons, Inc., New York (1966).
8. Eschenbacher, R. C., Unpublished Documentation of GIPSI
Software, Dept. Chem. Eng., Univ. Fla., Gainesville (1970).
9. Eschenbacher, R. C., Unpublished Documentation of -GIPSI
Hardware, Dept. Chem. Eng., Univ. Fla., Gainesville (1970).
O
129
BIOGRAPHICAL SKETCH
Robert Carl Eschenbacher was born December 20, 1941, at
West Paira Beach, Florida. In June, 1959, he was graduated from
Palm Beach High School in West Palm Beach. In the fall of 1959, he
enrolled at Palm Beach Junior College in the pre-engineering curriculum.
In the fall of 1961, he enrolled at the University of Florida as a
junior in Chemical Engineering and received the B.Ch.E. degree with
honors in April, 1964.
At. the University of Florida, he was a student member of the
A.I.Ch.E., and was elected to Tau Beta Pi, Sigma Tau, and Phi Kappa Phi
honorary societies.
In April, 1964, he entered graduate school at the University
of Florida with a College of Engineering fellowship. He received the
degree M.S.E. in December, 1965.
He is married to the former Virginia Ann Harper of West Palm
Beach, Florida, and they have one childRobert David Eschenbacher.
130
This dissertation was prepared under the direction of the
chairman of the candidate's supervisory committee and has been
approved by all members of that committee. It was submitted to the
Dean of the College of Engineering and to the Graduate Council, and
was approved as partial fulfillment of the requirements for the
degree of Doctor of Philosophy.
Deaix, Graduate School
SUPEF,VISORY COMMITTEE
Page 2 of 2
Internet Distribution Consent Agreement
In reference to the following dissertation:
AUTHOR: Eschenbacher, Robert
TITLE: Experimental studies in optimal computer control of a continuous
distillation column, (record number: 955790)
PUBLICATION DATE: 1970
I, lRob iLr
dissertation, hereby grant specific and limited archive and distribution rights to the Board of Trustees of
the University of Florida and its agents. I authorize the University of Florida to digitize and distribute
the dissertation described above for nonprofit, educational purposes via the Internet or successive
technologies.
This is a non-exclusive grant of permissions for specific off-line and on-line uses for an indefinite term.
Off-line uses shall be limited to those specifically allowed by "Fair Use" as prescribed by the terms of
United States copyright legislation (cf, Title 17, U.S. Code) as well as to the maintenance and
preservation of a digital archive copy. Digitization allows the University of Florida to generate image-
and text-based versions as appropriate and to provide and enhance access using search software.
This grant of permissions prohibits use of the digitized versions for commercial use or profit.
Signature of Copyright Holder
\ vCy~s _____
Printed or Typed Name of Copyright Holder/Licensee
Personal Information Blurred
Printed or Typed Phone Number and Email Address of Copyright Holder/Licensee
L- O ? ~ C.Q V
Date of Signature
Please print, sign and return to:
Cathleen Martyniak
UF Dissertation Project
Preservation Department
University of Florida Libraries
P.O. Box 117007
Gainesville, FL 32611-7007
6/8/2008
EXPERIMENTAL STUDIES !N OPTMAL 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
DECREE OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1970
ACKNOWLEDGMENTS
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 Palm Beach, Florida, the
University of Florida, and the National Science Foundation during the
author's undergraduate and graduate tenure at the University of
Florida.
Thanks go to the University of Florida Computing Center and
its personnel who aided this project with time and advice whenever
needed.
Special thanks go to Messrs. Jack Kalway, Myron Jones, and
Tracy Lambert for their assistance throughout the authors tenure,
and especially on this project, and to Mrs. Karen Walker for her
/
first-rate typing oi tbe manuscript.
Deep, personal thanks go to the author's family, especially
his faithful wife, Virginia, who continually sacrificed during the
graduate program.
TABLE OF CONTENTS
Page
ACKNOWLEDGMENT S ii
LIST OF TABLES v
LIST OF FIGURES vi
LIST OF SYMBOLS x
ABSTRACT xl1
CHAPTERS:
I. PROBLEM DEFINITION, LITERATURE DISCUSSION 1
II.HARDWARE-SOFTWARE SYSTEM, DISTILLATION COLUMN AND
COMPUTER LINKUP 9
A. General Interface for Process Systems
Instrumentation 9
B. GIPSI Software 13
C. Distillation Column: Design and Control 17
III.THE OPTIMAL CONTROL PROBLEM. 27
A. Derivation of the Performance Index 27
B. Derivation of a Suitable Constraint Set 30
C. Obtaining the Optimal Control Law.. 40
IV. EXPERIMENTAL TECHNIQUE 44
A. Building and Debugging the System:
Distillation Column, Analog-Digital Interface
Software Package. 44
B. Collecting Data for the Linear Model 46
C. Obtaining the Optimal Control Law 47
D. On-Line Computer Control Runs...... 48
V. RESULTS, CONCLUSIONS, RECOMMENDATIONS.. 50
ii i
TABLE OF CONTENTS (Continued)
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
O
iv
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
3.2 Time Constants T1 for Equation (3.8) for all State
Variables. ......? 34
3.3 Constants K,. and K. for Equation (3.8) for all
lj 2j
State Variables. 34
3.4 Computed Values of T./x. + At, and 37
* i i lj 2j
4.1 Control and Load Variable 46
4.2 Load Variable "Upset Pattern 46
5.1 Noise Levels of Column Variables 52
5.2 Maximum Values of Performance Index Per Stage.... 59
5.3 Control and Load Variable Deviations for XI Percent
Controller Set Point Deviations. 67
C.l High Control Costs 106
C. 2 Equal Cos ts 108
C. 3 Low Coni rol Costs 110
C.4 Extra Low Control Costs 112
v
LIST OF FIGURES
Figure Page
2.1 GIPSIr General Interface for Process Systems
Instrumentation, Front Layout 14
2.2 Execution and Delay Phases of Software Package 18
2.3 Typical Computer Control Loop Showing Alternate
Configuration 21
2.4 Control Scheme, Feed System 23
2.5 Total Column Control Scheme 25
2.6 Computer-Column Connections 26
3.1 Time-Dynamic Programming Stage Relationships 39
5.1 Performance Index Values for Various Control Cases
for Cost Case One......... 53
5.2 Performance Index Values for Various Control Cases
for Cost Case Two 54
5.3 Performance Index Values for Various Control Cases
for Cost Case Three 55
5.4 Performance 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.l Top Composition: Column-Model Response to Step
Change in Feed Rate 78
A.2 Bottom 'Composition: Column-Model Response to Step
Change: in Feed Rate. 79
A.3 Top Flow Rate: Column-Model Response to Step
Change in Feed Rate
80
LIST OF FIGURES (Continued)
Figure
A.4 Top Flow Rate: Column-Model Response to Step
Change in Feed Composition 80
A.5 Top Composition: Column-Model Response to Step
Change in Feed Composition 81
A.6 Bottom Composition: Column-Model Response to
Step Change in Feed Composition 81
A. 7 Top Composition: Column-Model Response to Step
Change in Steam Rate 82
A.8 Bottom Composition: Column-Model Response to Step
Change in Steam Rate 82
A.9 Top Flow Rate: Column-Model Response to Step
Change in Steam Rate 83
A.10 Top Composition: Column-Model Response to Step
Change in Reflux Rate. 84
A. 11 Bottom Composition: Column-Model Response to Step
Change in Reflux Rate... 85
A.12 Top Flow Rate: Column-Model Response to Step
Change in Reflux Rate 86
A.13 Top Composition: Column-Model Response to
Simultaneous Step Changes 87
A.14 Bottom Composition: Column-Model Response to
Simultaneous Step Changes 88
A.15 Top Flow Rate: Column-Model Response to
Simultaneous Step Changes 89
D.l 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
vii
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.ll 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
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, lbm/hr
C_
Vector of state variable linear cost coefficients
D
Vector of control variable linear cost coefficients
D
Top product flow rate, lbm/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
Matrix of coefficients for previous control variables in
linear model
N
Number of stages in the dynamic programming solution
R
Control variable, reflux rate, lbm/hr
S
Control variable, steam rate, lbm/hr
U
Vector of control variables
X
Vector of state variables
XB
Bottom composition
XD
Top composition
XF
Feed composition
Feed composition
Small Letters
d
Derivative operator
m
Present time stage in linear model
n
Previous stage in dynamic programming solution
s
Laplacian operator
t
Time
Subscript
s
D
Variable with this subscript represents
top rate
F
Variable with this subscript represents
feed rate
i
Denotes variables in an array
j
Denotes variables in an array
R
Variable with this subscript represents
reflux
rate
S
Variable with this subscript represents
steam
rate
XB
Variable with this subscript represents
bottom
composition
XD
Variable with this subscript represents
top composition
XF
Variable with this subscript represents
feed composition
1
Signifies particular constant
2
Signifies particular constant
Superscripts
D
Variable with this superscript represents top
product rate
i
Denotes variable in an array
T
Denotes transpose of a vector
XB
Variable with this superscript represents bott
om composition
XD
Variable with this superscript represen
ts top
composition
ss
Steady state
x
Subscripted and Superscripted Letters
I.
x
K
Ky
£.
2j
P4
J
X.
i
Represents control and load variables in linear model
derivation
Denotes particular constant in linear model
Denotes particular constant in linear model
Constant as a function of K^". and in linear model
lj
Constant as a function of K^. and in linear model
lj 2j
Represents linear-constant multiplier in optimal control
law
Represent state variable multiplier in optimal control law
Represents control variable multiplier in optimal control
law
Represents load variable multipliers for present, past, and
future values
State variable
Greek Letters
a Constant to insure convergence in dynamic program solution
A Represents a deviation quantity. For time this is t^-t^.
For variables this is actual value steady-state value.
t Time constant in linear model
Y Summation
xi
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 Eschenbaeher
August, 1970
Chairman: Dr. Frank P. May
Major Department: Chemical Engineering
A continuous distillation column and an analog-digital inter
face for connecting process variables to an IBM 360/65 computer were
built, and a general software package for data logging and real-time
computer control was written and debugged.
A dynamic programming problem with a quadratic performance
index and a constraint set 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
IBM 360/65 computer, off-line, to obtain a set of stage invariant
steady-state matrix multipliers for each of four cost coefficient case
When on-line control was instituted, these multipliers were multiplied
by the present state and control variables and by the present and
future upsets to give an optimal output at each stage.
On-line optimal computer control was investigated for the four-
sets of cost coefficients in the performance index, ranging from high
state variable costs to high control variable costs. An upset pattern
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 better control than either composition control or uncontrolled
operation when measured by the specified quadratic performance index.
It was found that by manipulating cost coefficients in the performance
index, one could cause the control to respond in .a predictable manner.
As the cost of control was decreased in comparison to the cost
of state variable deviation, control action became more and more
pronounced until a ratio cf these relative costs was reached at which
the controls tended to saturate (ratio of about 100 for system under
consideration).
The General Interface for Process Systems Instrumentation (GIPSI)
was designed and built to be used as a general research and teaching
tool and has proven its usefulness throughout this work.
xiii
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 on-line operation.
The work described in this dissertation consists of three
parts: (a) the design and construction of an analog-digital inter
face for linking together a process and a digital computer, (b)
the writing and implementation oE a software package for general
usage of the analog-digital interface, and (c) the investigation of
real-time optimal computer control of a binary distillation column.
Optimal computer control is implemented by solving a stage-
wise dynamic programming problem of four state variables and two
control variables off-line on an IBM 360/65 computer. This produces
a set of steady-state matrices which, when multiplied by the state of
the system, the current controls, and the present and future upsets,
gives the optimal control lav? at each stage. This control law is
then played out to manipulate the set-points on the control variables.
This type of control is thus said to be supervisory control.
Stagewise dynamic programming was chosen as the solution
1
n
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 steady-state control law which
is fast and easy to implement computationally in the on-line 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 variables were feed rate and composition.
By definition, state variables are those variables 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 which change the state of the system
but which one has no control over. One must realize, however, that in
an experimental research project, such as this one, load variables are
controlled in a predetermined manner to follov? some a priori pattern
designed by the researcher.
An atmospheric-binary distillation column with a partial
reboiler and total condenser has six process degrees cf freedom. In
this problem steam, retjux, feed rate, .feed composition, reflux and
feed temperature were the six degrees of freedom. Two of these
variables, reflux and feed temperatures, were considered to be
variables which did not change. Feed temperature was simply assumed to
ha constant at the ambient laboratory temperature and reflux temperature
3
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 steady-state operating point, it
was, therefore, convenient to represent all variables as deviations from
their steady-state values throughout this work.
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 a1. (1) considered the optimal control of a
distillation column using conventional calculus, the calculus of
variations, the maximum principle, and dynamic programming for a two-
control-variable, one-state-variable problem. Their control variables
were steam rate and top product rate, with top product composition
b e ing
i c- x r s L i L 6 Vdi
The load variable in their system was
feed composition.
They used a linearized model for the state variable as a
function of load and control variables. One model they used was steady-
state in nature and assumed instantaneous column dynamics, while
4
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
on-line control was performed in their problem and all computations were
performed (column simulation) on a digital computer. Another point of
interest was their so-called steady-state optimization which yielded an
optimal control law giving a new optimal steady-state for a load
variable upset.
Paradis and Perlmutter (2) deviate from the usual choice of
performance index and choose instead one which is a quadratic function
of the state variables, and then solve the problem of minimizing the
time derivative of this performance index. The resulting control law
is bang-bang in nature. This form of performance index was chosen for
o cup a t a t. icnal
expediency and 5 ccnoocjneritr.!Ly 9 does not agcc.33s.r 11 y y>aid
useful operating cost information. Their control law moves their
system from some initial state to some final state while minimizing the
performance index and is, consequently, a predetermined control law
based solely on the given system model for a given upset. It is not
corrective in either the feedback or feedforward sense and would not be
5
applicable to on-line 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 on-line 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 step-by-
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 on-line
control was accomplished and only the linearized system dynamics were
available to represent the real system. A comparison was made to the
uncontrolled response of the linearized 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.
Brosilow and Handley () looked at the problem of optimal feed
back control of a fifteen-tray rectifying column. They used a quadratic
performance index with negligible cost on controls and 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
laxj is a function of the present state of the system. The control law
must be a function of the future upsets to actually have a feedforward
6
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 one-state-variable, one-control-variable 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 that the result was truly optimal 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.
Ris problem treats the optimal control of a process between two steady-
state conditions, or} in effect, he solves an initial-final value problem.
He shows how one obtains the sampled-data optimal control law and
continuous optimal control 3.aw and applies these, on a digital computer,
to a six-plate absorption column.
Lapidus discusses the feedback-feedforward properties of optimal
control, His results indicate that for the quadratic performance
7
index, the magnitude of control is dependent on the cost coefficients
in the performance index. He also points out that by manipulating
these cost coefficients, one can obtain almost any optimal control
pattern one might desire for the sampled-data 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
vari elfo 1 0 q o S t S > ^ fo ^ 1 oy ^ r* 0 £1 f~ £ q T_ V 3. i G.fo ^ Q COGtlG IV G tO SticluG
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 optimal control were compared
to those for conventional control of the process for an upset pattern
in load variables for each of the various cost coefficient cases. Guide
lines for implementing and using optimal control for each of the four
cost cases are given and the effect of cost coefficients on control is
shown.
Pike () discusses the aspects of using dynamic programming and
further points out that two cases can be treated: (a) the case of
deterministic systems where all upsets over all time are ¡known, and
(b) the case of stochastic systems where only the statistical properties
of upsets are known cr can be estimated. In this author's work the
8
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, simultaneously. Chapter II gives a complete discussion
of the column and its control schemes. Chapter II also discusses the
analog-digital interface used to connect the distillation column to
the IBM 360/65 computer as well as the associated software,
CHAPTER II
HARDWARE-SOFTWARE SYSTEM, DISTILLATION COLUMN,
AND COMPUTER LINKUP
As was stated in the first chapter, there were three definite
aims to this problem. Two 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. Genera2 _Interf ace for _Process Systems
Inst rumentation
GIPSI in its present design state can be used for digital
input and output and two levels of analog to digital conversion. In
the present state, GIPSI can be used for on-line, real-time direct
digital control, supervisory control, or data logging. Several pro
cesses or individuals or both can use the hardware system simultaneou
The digital computer used with the interface is an IBM 360/65
This gives the capability of extremely fast computation time as well
as large core availability. Data transfer in either direction occurs
over a leased telephone lire. The 360 system operares on a time-
shared basis and a priority system. The time-sharing system allows
the use of one computing partition of the 360's cere for long periods
of time with little actual computation time occurring. The 360 has a
computational wait state capability that allows the CPU (central
processing unit) to be aware that the GIPSI is in use but is not in a
computational state. While in this aware state, the 360 processes
9
10
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 input-output 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 real-time 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 operation 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 input-output
communication with the 360 computer. The actual multiplexer points
(terminal connections for digital inputs-outputs 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. Twenty of the points are allocated to analog inputs
of -10 to +50 millivolt dc. Thirty points are allocated to digital
input and 30 points to digital output.
Another part of the interface is an IBM 1073 Model-3 digital
pulse converter. This converter takes a digital number generated by
user software and converts it to the equivalent number of up-down pulses
which can be used to drive any device which uses up-down pulses. This
11
device is used as the feedback from the ISM 360 and drives, in this
work, pulse-set-point 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 time.
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 channels in GIPSI. When tut process aierL ous -ls
activated by a contact closure, the computer senses this closure and
activates the software to find out what caused the closure. The devices
which handle these contact closures are process alerts. The contacts
on the process alert bus can be closed manually for random operation,
by external devices such as pressure switches, or with an automatic
polling device for accurate periodic operation. GIPSI has available on
one of the six process alert channels a polling device called a hardware
poller. This poller cycles on a periodic basis and closes the process
alert contacts every XXX seconds. The physical limits on the pollers
cycle time are two to 59 seconds. The software can be used to increase
this cycle time to as long as the user pleases. Since process alerts
directly activate the GIPSI software system, any critical devices which
have contact closing capability and represent a]arms, pressure switches
or any safety device, should connect directly to the process alerts
immediate action.
for
12
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 one-two 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 on-off capability in the
normally-open-norrnally-closed 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 an}7 user device which can be operated by up-down pulses.
The 1073 Model-3 puts out both up and down pulses. The pulsed output
channels along with the software package are available to the user to
choose either the up or the down pulsed output to drive his equipment.
GIPSI contains a six-digit decimal input device for innutting
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 decimal, input device gives the system almost
unlimited demand function capability.
13
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 Model-3 digital-pulse converter and two of
the pulsed output channels are used to drive two pulse-set-point
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 real-time-supervisory
control.
The GIPSI 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 layed-out with simple plugs and switches to facilitate easy
operation by an inexperienced student merely by plugging into the
analog inputs, digital inputs, digital outputs, or pulsed output
channels. Figure 2.1 gives the front panel lay-out for the three-
cabinet system. A detailed documentation package of the hardware
system including equipment requirements and wiring diagrams has been
written for the general user (8).
B. OPSI Software
A general purpose software package was developed so anyone with
a knowledge of Fortran programming could use the GIPSI system. Sub
routines were written to handle process alerts, digital input sense
Si I
ISM x070 DISPLAY ¡j IBM 1073 MODEL 3
* THERMOCOUPLE INPUTS |
j 'I
1? ii (DIGITAL-PULSE
i¡ CONVERTER)
RELAY BANK
} \i
¡
THERMOCOUPLE TEST
SIGNALS
1
j!
ANALOG TEST
SIGNALS
i .. II
8 D2CIXAL IN?UTS || IBM 1072
PROCESS ALERTS it CMULIIPIBEOR UNIT)
!
|i
ANALOG INPUTS ||
i
ii i
mYT'TAT TTaptJT SFN^F
PAIRS ji
|i i
f
| TRANSDUCERS j
¡' (PRES SURE-VOLTAGE)
(| IBM 1072
DIGITAL OUTPUT
j M
{ PAIRS 1
|| ||
j |i
PRESSURE RECORDER
i is
! i|
? i\
ii ;j
PULSED OUTPUTS ¡
? Si
) >!
1 ¡1
i !
\ ii
l
! Is
u
\ ii
!
ii I3M 1071
(CENTRAL TERMINAL
UNIT)
ii M
1
ji
J t
POWER SUPPLY
8 \\
sl
si
j \\ >
j! POWER SUPPLY ||
t <
CABINET 1 CABINET 2
CABINET 3
Figure 2.1. GIPSI: General Interface for Process Systems Instrumentation,
Front Layout.
£>
15
pairs, digital output pairs, digital-pulse 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 xvell as starting and stopping certain system programs and
user programs. The user, of course, can write many more demand
functions of his own.
An extensive error code system was developed jlul tne soxcware 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) semi-fatal errors occur whenever problems
arise which require user response such as ignoring the error and pro
ceeding, stopping the machine, or restarting, (3) a non-fatal error
occurs whenever the user makes a mistake in using'a demand function.
No software or user action is taken for the last type of error; the
user merely tries again. Fatal errors always stop the computer. A
bell sounds and the display shows the error code whenever one occurs.
The real-time computer operation functions through a series of
control programs starting with the process alert handler PROCPA.
Briefly, when a process alert occurs P.ROCPA deter .ines which channel
16
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 (subroutine 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 FROCPA 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 CLOCK-DELAY combination gives the user the time-delay capability of
running programs at time intervals longer than the stage length of
17
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. Distl11.ation Column: Design and Control
The distillation system used in this work is typical of pilot-
plant equipment. The basic system consists of a 10-inch, 12-plate-
bubble cap column with a 30-gallon reboiler. The column has instrumen
to measure the variables listed in Table 2.1.
TABLE 2.1
COLUMN VARIABLES READ BY COMPUTER
Variable
Original Signal Form
Feed Flow Rate
Pneumatic
Feed Composition
Electric
Top Product Flow Rate
Pneumatic
Top Composition
Electric
Bottom Product F.lox* RstG
Pneumatic
Bottom Composition
Elec tri e
S t. G Cllu i J. 0 V R3. t G
Pueumatic
Reflux Flow Rate
Pneumatic
Cooling Water Flow Rate
Pneumatic
Cooling Water Temperature, IN
Electric
Cooling Water Temperature, OUT
Electric
Top Column Vapor Temperature
Electric
Feed Temperature
Elec trie
Steam Temperature
Electric
Reboiler Temperature
Electric
Reflux Temperature
Electric
STACK
CLOCK
'
PROCPA
EXECUT
GOTO
EXECUTABLE
PROGRAMS
DELAY
oo
Figure 2.2. Execution and Delay Phases of Software Package
19
All flow rates, with the exception of steam, are measured with
Fischer-Porter 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 copper-Constantan thermo
couples, each of which is plugged directly into a -10 to +50 rnvdc input
point on the GIPSI hardware system.
The pneumatic signals generated by the flow measuring devices
are transduced by Taylor pressure-voltage 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
MAXIMUM COLUMN VARIABLE OPERATING CAPABILITY
Variable
Maximum Capahility
Feed Flow Rate
Top Product Flow Rate.
Bottom Product Flow Rate
Reflux Flow Rate
Cooling Water Rate
Steam Rate
80 gal/hr spgr 0.75
40 gal/hr spgr 0.75
50 gal/hr spgr 0.8
80 gal/hr spgr 0.8
30 gal/min spgr 1.0
250 lbs/hr
tertiary butyl alcohol chosen because of the availability of thermo
dynamic and efficiency data.
To perform on-line data logging and control of the system, it
20
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 ne.cessary analog signals proportional to composi
tion, 0 to 5 vdc for computer purposes and 4 to 20 milliamp dc for driv
ing Fisher-Governor amp-pressure transducers. Three such meters were
used, one on each composition stream.
The distillation column was designed to be operated under
several different types of control: (a) no control, where steam rate,
reflux rate, feed rate, and feed composition are controlled at constant
values and top composition and flow and bottom composition and flow are
allowed to vary; (b) dual composition control, where the top composition
is controlled by manipulating reflux rate and the bottom composition is
controlled by manipulating steam rate; (c) computer control, where
configuration (a) above is followed, and the controller set-points on
steam and reflux are manipulated by the computer. The computer control
by manipulation of controller set-points is known as supervisory control.
Figure 2.3 shows a typical computer control loop. The three types of
control are instituted by opening and closing the appropriate hand
valves to supply input variables to the various controllers. The
computer-operated controllers are Fischer-Porter pulse-set-point
controllers.
The feed rate and composition control loops are shown in
21
r~ *
TR
Reflux Line
~VsJ-
>?
f.
CM
L__
JL
1
FC
'-j
CC
1
CV
Reflux Flow-Top 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.
Column
22
Figure 2.4. Because feed rate and composition are. load variables and
need to be manipulated to specified values, Fischer-Porter pneumatic-
set-point controllers are used to enable one to generate set-point
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 column-computer hookup through the GIPSI system.
Computer programs were written to read the column variables
in Table 2.1 every 72 seconds and institute control if one was
operating under the computer control scheme. Appendix B gives a
listing of the user software. The 72-second sample and control time
was arrived at as stage length by experience.
23
r j
Legend
CC Composition Controller
CM Composition Monitor
CV Control Valve
FC Flow Controller
CPT Current-Pressure Transducer
P Pump
T Tank
TR Transmitting Rotameter
Air Line
Liquid Flow
Column
Figure 2.4. Control Scheme, Feed System.
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.
25
26
COLUMN
Cooling Water
Feed
Steam
Product
FEED COMPOSITION
FEED TEMP
REFLUX TEMP
&TEAM-T EMP~ ~ -
_ BOTTOM TEMP_ _
TOP COLUMN TEMP '
COOLING WATER_IN TEMP
COOLING WATER OUT TEMP
__ STEAM RATE
PRODUCT RATE
REFLUX RATE
TEEED...RATE
, ftOTTQM RATE
PRODUCT COMPOSITION
BOTTOM COMPOSITION
COOLING WATER RATE
GIPSI
REBOILER
Bottom
Figure 2.6. Computer-Column Connections.
COMPUTER
CHAPTER III
THE OPTIMAL CONTROL PROBLEM
As vas 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 l r.(X(j),U(j)) (3.1.a)
U j = 0 J
subject to
X(j-l) = G(X(j),U(j),F(j)) (3.1 .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:
XXAX + 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
X
relating costs due to quadratic effects in control variables, and C_
, T
and I) respectively, are vectors of cost coefficients for linear
effects in state and control variables.
27
28
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
X^AX 4- U^BU (3.3)
The state variables X., i=l,4, the control variables U.,
i i*
i=l,2, and the load variables F_^, i=l,2, represent deviations from
steady state, or
X1
XD
- XI)
ss
= AXD
X2
=
XB
- XB
ss
= AXE
X3
=
D -
D
ss
AD
X4
=
B -
B
ss
AB
U1
=
S -
S
ss
AS
U2
=
R -
R
ss
AR
F1
=
F -
F
ss
AF
F2
=
XF
- XF
ss
= AXF
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 (a.., i=l,4, b.., i=l,2)
29
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 one-unit 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
li li
cases considered.
TABLE 3.1
PERFORMANCE INDEX COST COEFFICIENTS,
A AND 3
high Cost Case
all=
a = 144440.0
<0 4
bH
- 15.0
a44 = ;l>
K
22
= 10.0
. r-
0, 1 r j
n
c. .
o, i
r Q 0. d Jl Los i L ' d S 6
a,
144440.0
Z.Z.
J. JL.
1.5
a.. = 1.0
a 4
b22
= 1.0
ij
0, i f j
b. .
ij
= 0, i
30
TABLE 3.1 (Continued)
Low Cost Case
all=
a22 = 144440*
bn = 0.15
a33 =
a44 = 1-
b?2 = 0.10
a. =
ij
0, i i j
b. = 0, i
ij
Extra Low Cost Case
3- 1 ~
a = 1444400.0
b,.
= 0.15
11
22
11
a =
a. = 1.0
b_
= 0.10
33
44
22
a. -
ij
0, i ji j
b. .
II
O
H-
B. Derivation of a Suitable Constraint Set
Since equation (3.1.b) represents the stage
the dynamic problem, and since the stages are period
obvious that the stage transformations represent the
between the state variables at the output of a stage
the stage, the controls (decision variables) at the
variables at the stage. These relationships are, in
transformations in
s in time, it is
relationships
and the input to
stage, and load
fact, a model for
tne axsuj. LjLcll.lOu uOIunui
There are several ways tc derive a model for the system which
satisfies the needs of the constraint set given by equation (3,l,b).
The model itself must be describable in a difference form allowing the
new state of the system to be written as a function of the old state
of the system, the current and previous controls and the current and
31
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 model experimentally. Small
step changes in load and control variables were made on the column
itself to determine the numerical values of these constants.
Appendix A gives the response curves for the upsets made in load and
control variables, The magnitudes of these upsets were such as to try
to stay within the region of linear column response.
One. can see from the response curves in Appendix A that a second
order model would give a better fit to the data. Tills fact was given
consideration but it was also seen that the second order model would
yield a set of difference equations which would significantly increase
the difficulty of a hand solution of the dynamic programming problem,
The general form of the transfer function for the proportional
response plus first order lag model, as given in Laplaclan transform
notation for an input variable, is
X(s)
i. (s;
.li i
+ C
3.5)
T S + 1
3
32
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 in equation (3.5)
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
K
X. X. .
1SS?. issl
1. 0 I. -
JSSZ jssl
(3.6)
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 state variable i
caused by a unit change in variable j or
X. X. .
vi __ istep issl
i"2j I. I. '
jss2 jssl
(3.7)
the
One should remember that X. and
x
xnxtxsl condition and, consequently
1. represent deviations about
j
in the derivation no constants
appear denoting the initial conditions.
Consider, for example, the top product flow rate. The theorem
of superposition states that for a linear system the responses of a
variable to other variables changed singly may be added together to
give the total response of that variable when all the independent
variables are changed simultaneously. Thus, from this theorem, and
33
from equation (3.5), one would obtain the total response for the top
flow rate as
k AF(s)
AD(s) X3(s) + K2ip AF(s) +
TAF S + l
CfF(s) AD ..... Km 4E(s> ,
mrr + k2mf4XF
taxf s + 1
tar e + 1
AD .
AD IAS' iS> AD ...
K2AR4E(S) + AD77 + E2AS4S(s)
TAS S + 1
(3.8)
Similar equations are obtained for the other state variables.
The time constants tX were obtained from the response curves
1
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
constants KX and KX for equations of the form of equation (3.8).
lj 2j
In order to maintain the column material balance, the bottom
product flow rate was obtained by difference, i.e.,
AS = AF AD (.3.9)
This equation is effected by taking the negative of the constants .
si
and K^. for AD and making K^. corresponding to the bottom flow rate
J 3
for feed rate change equal to one. Table 3.3 illustrates the effect of
equation (3.9) on the linear model.
The normal method for solving equation (3.S) is to multiply
34
TABLE 3.2
TIME CONSTANTS x* FOR EQUATION (3.8)
FOR ALL STATE VARIABLES
Load and Control Variables
D Lei LU
Variables
F
XF
R
S
XI)
0.632
0.319
0.320
0.486
XB
0.577
0.638
0.861
0.556
D
0.553
0.375
0.340
0.205
B
AB =
AF AD
T ime
constants are
in hours.
TABLE 3.3
CONSTANTS K*.
AND K* FOR
EQUATION
(3.8)
FOR ALL STATE VARIABLES
Load and Control Variables (j)
Variables
(i)
F
XF
R
S
XD
0.00276
1.043
0.0023
-0.0035
XB
0.00156
0.403
0.00261
-0.00315
D
-0.947
-176.1
0
0.15
B
0.947
176.1
0
-0.15
State
it
Load and
Control
Variables
(j)
Variables
(i)
F
XF
R
S
XD
0
0
0
0
XB
0
0
0
0
D
0
0
-1.739
3.42
B
1.0
0
1.739
-3.42
35
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.
This problem was overcome by averaging the time constants x^ to obtain
a single time constant x.. When this is done, one can factor x.s + 1
i i
in each equation and obtain the desired first order differential
equation. Equation (3.10) gives the new time constants
x = (j xXD)/4 = 0.438 hours
AXD '4 i
J
x = 0.658 hours (3.10)
x= 0.446 hours
AD
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
X. (
-
4. I.(s)
- I J J, v + l 4.1. (s)
. T S + 1 4 2j J
J ** J
(3.11)
Multiplying through by x^ s+1 gives
(x.s + l)X.(s) = I 4.1. (s) + (x.s + 1) l 4.1.(s) (3.12)
1 1 d J 1 *4] 3
Taking the inverse of equation (3.12) to obtain the differential
equation form gives
36
dX. . dl.(t)
r. £ + X. = l K?-.I. (t) + t I id. J-
i dt i lj j i ( 2j dt
+ ?
3
(3.13)
Approximating the derivative by a first order backward difference
equation gives
dX. X.(m) X.(m 1)
i v 1 1
dt ^ At
(3.14)
where t for this problem is the stage length. Substituting equations
(3.14) and (3.13) gives
ti (x (m) X_. (m 1))
At
+ X.(m) = J
i 1] J
+ t. 7 Kj.(I.(m) J.(m 3)) + £ K^.I.(m) (3.15)
i L- 2j j J ^ 2j ]
Collecting terms and multiplying through by
At
x. + At
i
gives
V> V~+~4t
1
X
(m 1) + l -
1 T
At
t.k;.
(K^ + + -J-
. + At lj 2j i. + At
J i i
T .
I. (m) £ ~~~ K,.I.(m 1)
i L. x + At 2i i
j j i
(3.16)
Define
Ko = ^77
2j x. + At l;j 2j
x .
v1
x. + At 2j
(3.17)
and
37
T .
i v1
T. + At 2i
i J
(3.18)
Substitute equations
(3.17) and (3.18) into (3
.16) to obtain
Xi(m)
T .
1
1) + l K* I.
j lj J
(m) + l K* I.
j 3 3
(m 1)
(3.19)
T +
X
At Xi(m "
Table 3.4
gives the
computed values of t./t. +
li
At and the
constants and
lj
K;. for At
2j
= 0.02 hours
or 50 stages
per hour.
TABLE 3.4
COMPUTED VALUES
OF t./t. + At
i i
, K^. AND .
lj 2j
i
AXD
AXB
AD
AB
T /x +
1 1
At
0.9564
0.9705
0.957
-0.957
j
AF
AXF
AS
AR
AXD
0.0001202 0.0455
-0.0001525
0.0001001
AXB
0.000046
0.01189
-0.0000929
0.000077
AD
-0.0407
-7.57
3.426
-1.739
AB
1.0407
7.57
-3.426
1.739
j
AF
AXF
AS
AR
i
AXD
0
0
0
0
AXB
0
0
0
0
AD
0
0
-3.278
1.662
AB
0
0
3.278
-1.662
38
Note that 1^ represents both load and control variables.
Breaking I. into F, for load variables and into U. for control variables
J J j
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
T4XD + At
axB
TaxB + 4t
AD
TAD +
-T
AD
T4D + 4t
G =
-AXD
K1AF
-AXB
klAF
-AD
kiaf
-AB
klAF
K
AXD
1AXF
-AXB
1AXF
-AD
1AXF
-AB
1AXF
H [0]
O
39
J
pAXD
Has
-AXD
kiar
-AXB
kias
-AXB
klAR
-AD
IAS
-AD
klAR
-AB
Has
-AB
kiar
K =
0
-AD
K2AS
-kad
2AS
0
-AD
K2AR
-K
AD
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
m-1
N-m+1
N-m+1 s t
N-m
Dynamic Program Stage
. Time-Dynamic Programming
Stage
Relationships.
40
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 m-1 on the mth time stage. This can be shown as
follows: On the mth time stage reverse the input and output stream
names auu call them, respectively, m and m-1. Then, if m = N-m+1,
m-1 = N-m.
Combining equations (3.3) and (3.20) after switching the
indexes in equation (3.20) gives the dynamic programming problem as
N
Min l X (n)AX(n) + U (n)BU(n) (3.21.a)
U n=0
subject to
X(n-l) = EX(n) + GF(n-l) + HF(n) + JU(n-l) + 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 off-line. When on-line, 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.
41
To insure convergence to a solution when the hand solution of
the dynamic programming problem is solved off-line, equation (3.21.a)
N-n
is multiplied by a constant a giving equation (3.21) the following
form:
Min l aN_n(XT(n)AX(n) + UT(n)BU(n)) (3.22.a)
U n=0
subject to
X(n-l) = EX(n) + GF(n-l) + HF(n) + JU(n-l) + 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 necessary to compute the optimal
control law at each stage.
E^csuss of this p ir oh 1 om. it is not fossil hlo tic 3 o "Lvp. the
dynamic program on-line at each stage: however, one can, in this
situation, take advantage of one of the characteristics of the solution
to the infinite stage dynamic programming problem. Nemhauser (7)
points out that time stage problems are frequently treated as infinite
stage problems. The characteristic of interest is the fact that in
problems with large numbers of stages there appears a point in the
42
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 so-called
steady-state or optimal stage invariant solution. The hand solution
of the dynamic programming problem is then solved off-line 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 steady-state 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 off-line and the
steady-state 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
: / T-. -*- / i\
U 1.11-LJ ~ P
n
, v
r /
¡-i
j=i
Appendix C gives the multiplier matrices obtained for the cost coefficient
cases considered.
: vii-J j £
/ O o o \
\n
-l)X(n)
3
(n~I) tl(n/
It must be pointed out that it is necessary to assume a large
43
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 optimal 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 steady-state 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
on-line 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 analog-digital
interface, and the general software package for real-time 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, Analog-Digital 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 proportional-integral
controllers. These same tx^o 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
44
45
satisfactory controller settings. The two controllers are also
proportional-integral 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 analog-digital 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 timed by individual, testing
and then by an individual Ziegler-Nichols technique on each loop.
The two methods produced essentially the same controller 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.
46
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 steady-state about which the upsets were made.
TABLE 4.1
CONTROL AND LOAD VARIABLE
Upsets for Linear Model Determination
Feed Composition
Reflux Rate
Feed Rate
I 25 lbs/hr
0.046
Steam P.ate
23 lbs/hr
10 lbs/hr
Steady_State Qperating Conditions for Upsets
Feed Rate
275 10 lbs/hr
0.5 + 0.0!
Feed Temperature
Reflux Temperature
Reflux Rate
Steam Rate
185 3 lbs/hr
220 + 8 lbs/hr
82 5F
115F
47
TABLE 4.1 (Continued)
State Variable Values
Top Composition
Bottom Composition
Top Flow Rate
Bottom Flow Rate
0.9 0.02
0.1 + 0.02
130 5 lbs/hr
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 steady-state
was reached. Data for the linear model ware 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 steady-state was approximately one hour and 15 minutes, and the
time to attain the new steady-state was about one hour and 15 minutes
giving a total run time of approximately three to three and one-half
hours.
C. Obtaining the Optimal Control Law
The hand-obtained solution of the dynamic program was batched
into the IBM 360/65 computer and solved off-line until convergence
(time invariant steady-state 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
48
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. On-Line 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 4.2
LOAD VARIABLE UPSET PATTERN
Feed Rate
Stage F-F
ss
Feed Composition
Stage XF-XFgg
1
0
1-9
0.046
2-6
-20.25
10
-0.0332
7-10
9.53
11-14
0.0033
11-15
- 9.59
15-22
0.0355
16-20
8.02
23-24
-0.011
21-30
-13.05
25-30
-0.0206
31-
0
31-
0
49
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
pattens; 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 off-line 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
50
51
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 the 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 sets of cost coefficients investigated. 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 analog-digital interface while the
system was at steady state. Table 5.1 gives the results of the noise
level tests. The noi.se 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
52
NOISE
Variable
Reflux Rate
Steam Rate
Feed Rate
Top Rate
Bottom Rate
Feed Comp.
Top Comp.
Bottom Comp.
TABLE 5.1
LEVELS OF COLUMN VARIABLES
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 '
53
Figure 5.1. Performance Index Values for Various Control
Cases for Cost Case One.
54
Stage
Figure 5.2. Performance Index Values for Various Control
Cases for Cost Case Two.
55
Stage
Figure 5.3. Performance Index Values for Various Control
Cases for Cost Case Three.
56
Figure 5.4. Performance Index Values for Various Control
Cases for Cost Case Four.
57
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 two-stage 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
new
a*X + (l-a)*X
old act
(5.1)
This equation states that the new value of the variable is a times
the old variable value plus 1-a times the actual-present 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
IFlx I < Noise Level
1 act1
X = X ,
new ord
IF|X | > Noise Level
' act1
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.
58
The method chosen here was to place two-stage 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 re-evaluation 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
4
variables. Table C.4 shows in P., j=l,25 the extreme effect on the
J
control law the load variables have for 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 shut-down.
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.,
, . State Variable Costs
limit = ---r- v = ]O0
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 about the steady-state operating
59
point for a no-upset situation using the noise levels given in
Table 5.1.
TABLE 5.2
MAXIMUM VALUES OF PERFORMANCE INDEX PER STAGE
Cost Case
1
2
3
4
Performance Index
Value Per Stage
366.4
86.5
58.6
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 than that
given in Table 5.2.
More realistic average values of the actual noise would be
about 190, 50, 40, 150, respectively, for the four cost cases. Thus,
for a 50-stage run at steady state one would expect 9400, 2.500, 2000,
7500, respectively, to be the final performance index value for the
four cost cases. The first 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
60
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 units-as 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 sub-saturation in control could be assured only for
State Costs
Control Costs
< 100
Stage
Figure 5.5. Control Variable, Steam, for Composition
Control and All Optimal Control Cost Cases.
62
AR
-5
-10
Ir
L
1.
B. Cost Case Two
[if] A
ij
'
LnJ
o"
_.i _
5
10
-_L.
15
L__
20
25 0 35
40
J
45
50
Stage
Figure 5.6.
Control Variable, Reflux, for Cost Cases
One, Two, Three.
63
Figure 5.7. Control Variable, Reflux, for Cost Case
Four and Composition Control.
64
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
65
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 the control does not selectively choose
any one state variable over another in trying 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 for 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
AF-AD on any set of figures.
The same upset pattern was used for all runs. An attempt was
66
made for every run to implement the upset pattern in the same way,
but the computer did not alxrays see exactly the same pattern.
Figure D.l, while typical of the upset pattern, shows two cases where
the computer saw the pattern differently.
The upset pattern tas 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, steady-state load variable values, the computer and the system
saw off-set 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 steady-state 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 tas 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
67
TABLE 5.3
CONTROL AND LOAD VARIABLE DEVIATIONS FOR
1 PERCENT CONTROLLER SET POINT DEVIATIONS
Variable
Steady-State Variable
Controller Set Point Deviation
Steam Rate 61 1.0
60 0
59 -1.5
Reflux Rate 31 7.0
30 0
29 -7.0
Feed Rate 37.5 5.0
36.5 0
35.5 -6.0
51 -0.01
50 0
49 +0.01
Feed Composition
63
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), reproducibility was not possible in the few attempts made.
Figures D.8 and D.9 shox^ 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
not exact, as seen in 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 limited.
Since only one upset pattern was 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 generalities by saying that the results appear to show
69
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 _
_____ < pqq
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. lie
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 others are chosen relative to that one,
with the restriction that the matrices of coefficients be positive
definite and symmetric.
When seen 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
< 100
70
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
off-line (6) to obtain the steady-state optimal control lawn Certainly
the possibility of solving the problem on-line 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 on-line analysis of stream compositions in multicomponent cases.
For systems with extremely large response times, on-line 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
71
stability and this single requirement limits considerably the use of
optimal closed-loop 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 analog-digital interface appropriately named GIPSI (general
interface for process systems instrumentation). Not only should a
continuation of the study of closed-loop optimal computer control be
made but other areas of control such as on-line adaptive and on-line
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
72
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 on-line adaptive and feed
forward control and compare these techniques to optimal control.
(f) There seems to be potential industrial use for on-line
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 demonstrated. Enormous 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 GIPSI 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 x^ould 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
real-time, on-line 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.l 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 constant used for model curves represents an average of
four time constants, one for each load and control variable. One
should notice that the response curves for bottom flow rate are not
shown. The reason for this is that bottom flow rate is computed as
feed rate minus top product rate.
The constants for the model curves (Chapter 111) were computed
using 50 stages per hour as the stage length, thus data points for the
model were calculated every 0.02 hours but are plotted as stages.
Only time values of 14 stages are plotted on the abscissa.
The following upsets in load and control variables were made
on the coJ.umn:
75
76
Individual Changes
AF = -25 lbs/hr
AXF = 0.046
ASR = -10 lbs/hr
AR = 23 lbs/hr
Simultaneous Changes
AF = -20 lbs/hr
AS = -7 lbs/hr
AR = 8 lbs/hr
Cnanges were made in che individual variables, except reed
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 that these changes would put the most severe test on
the linear model, .Step changes of equal magnitude were made in feed
rate to note the effect on the state variables. The same change was
noted in both cases, however, onlj^ one set of data is presented. It
was assumed that the other upset variables would give similar results.
One should note that the model response for individual changes
is good in approximating the column. The model curves, if drawn out
to steady-state approach the steady-state values given the column.
The model response for the simultaneous changes fits good for
several stages and then starts to deviate for two variables. This
indicates that the effect of the three simultaneous changes over-drives
the linear response of the column. Only this one set of simultaneous
upsets was investigated on the column to give some idea of the limits
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.
78
Figure A.l. Top Composition: Column-Model Response to Step
Change in Feed Rate.
79
.014
.012
.010
.008
.006
.004
,002
0
\ Model
O Column
AXB
orJDo*" o o
-- I i i l
0 l' 2 3 4 5
7
Stage
l.
10 11
12
_i.
13
, J
14
Figure A.2. Bottom Composition: Column-Model Response to
Step Change in Feed Rate.
80
12 A Model
10
0
2
6
4
8
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.3. Top Flow Rate: Column-Model Response to Step
Change in Feed Rate.
A Model
C) Column
4
2
AD
_A~-
ZZLlJLl
23 4 5 67 8 9 10 11
Stage
12 13 14
Figure A.4.
Top Flow Rate: Column-Model Response to Step
Change in Feed Composition.
81
A Model
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Stage
Figure A.5. Top Composition: Column-Model Response to Step
Change in Feed Composition.
.008
.006
.004
.002
0
A Model
Q Column
AXB
A
"A
" A".-O"
O'" O' O v/ '
12 3 4
AA*^"A
AA A
o.....a-o-(;r"o o a o
5 6 7 8 9 10 11 12 13 14
Stage
Figure A.6. Bottom Composition: Column-Model Response to
Step Change in Feed Composition.
82
,018
.016
.014
.012
,010
.008
.006
,004
,002
A Model
o Column
0 v-/
0 12
JL-
10
,L, L
11 12
13
Figure A.7. Top Composition: Column-Model Response to
Step Change in Steam Rate.
14
Model
Figure A.8. Bottom Composition: Column-Model Response to
Step Change in Steam Rate.
34
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
83
/YAA/VA A A .A ,/\ A A A A A
O o.
XX
cr-oca ocoo~ o~a
A Model
o Column
I
5
j i ,i_
6 7 8
Stage
I. j i i l J
9 10 11 12 13 14
Figure A.9. Top Flow Rate: Column-Model Response to Step
Change in Steam Rate.
84
Figure A.10. Top Composition: Column-Model Response to
Step Change in Reflux Rate.
85
,022
,020
,018
A Model
o Column
Figure A.11. Bottom Composition: Column-Model Response to
Step Change in Reflux Rate.
86
-48
-46
-44
-42
-40
-38
-36
O
- cr~o o
o o
-34
-32 ¡-
-30
-28
-26
-24
-22
-20
-18
-16
-14
-12
-10
- 8
AD
A Model
O Column
Ail -O
0 1
"2 3
5 6 7 8
.l I i J JL_
9 10 11 12 13
-.1
14
Figure A.12.
Stage
Top Flow Rate: Column-Model Response to Step
Change in Reflux Rate.
87
Figure A.13. Top Composition: Column-Model Response to
Simultaneous Step Changes.
88
.004
.002
0
-.002
-.004
-.006
-.008
-.010
-.012
-.014
\ Model
Q Column
A AA""
<>--00
A
A.--AA
A A
AXB
o
o
\/
0
a a
12 3
Figure A.14,
. L__
4
J .l _L
6 7 8
Stage
! i 1
10 11 12
o
o
I i
13 14
Bottom Composition: Column-Model Response
to Simultaneous Step Changes.
38
36
34
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
89
A>
-A.
O
O
tr
A
o n.
-A
O'
^ 2V A
O Q ; .>- q o O
4 A. a
V- A
A Model
O Column
AD
1
JL_
5
L
L
7
8
Stage
10
11
_J
12
i r
13 14
Figure A.15.
Top Flow Rate: Column-Model Response to
Simultaneous Step Changes.
APPENDIX B
USER SOFTWARE
Included in this appendix area listing and description of the
software used to sample data, to compute the optimal control law, and
to output the optimal control law.
The following subroutines are contained in the listing:
USER!, UNITS, COST, CONTROL, PULSES, UPSET, and INITIAL.
Subroutine USER! is the main control program used in this
work and is called at every stage. Its basic purpose is to handle
input-output for the computational phase of the problem.
Subroutine UNITS reads the state, load, and control variables;
calibrates the analog-digital conversion equipment on the IBM 1070
system; and makes all necessary conversions from input voltage to flow
rates and compositions.
Subroutine COST computes the performance index value at each
stage, given the state of the system.
Subroutine CONTROL is used to compute the optimal control law
at each stage, given the upset pattern in load variables for the length
L i i. ciil
Subroutine PULSES is used to compute and send out the actual
number of pulses to be loaded into the IBM 1073 Model-3 digital-pulse
converter. These pulses represent set-point changes from stage-to-stage
for the control variables.
Subroutine UPSET supplies the computer with the future values
of the load variables. These future values consist, of the upsets to
90
91
be made in load variables at each stage in the future.
Subroutine INITIAL reads input information and initializes
certain variables.
The variables used in these subroutines do not confrom to those
given in the list of symbols. Below is a reference chart for conversion
from subroutine variables to those used throughout the discussions in
this dissertation.
Represents in List of
Subroutine
Symbol in Software
Symbols
USER1
COUNT(1)
XD
USER1
COUNT(2)
XB
USER1
COUNT(3)
D
USER1
COUNT(4)
B
USER1
COUNT(5)
F
USER1
COUNT(6)
XF
USER1
COUNT(7)
S
USER1
COUNT(8)
R
USER1
CO(I), 1=1,8
Steady-State Value of
COUNT
UNITS
C(I), 1=1,8
Same as COUNT
UNITS
ACCOST
Performance Index Value
CONTROL
G1
P1
CONTROL
G2
P2
CONTROL
G3
P3
CONTROL
G4
P4
J
SUBROUTINE USER! (II, 12, I?)
C0NMCN/0PTPNT/XC14),FO!2),UC(3),SP,UF(3)/U2CDM/TEMP(7) STATE(10)
C0MNCN/CUR/C!9) ISTAGE/CCSCCM/ACC0ST,A!4,4) ,8(3,3),C1!4),D(3)
C IMENSION CO(13), COUNT(13) UNEW13), UCLD(3)
COMMON / U1C0M / CCC113)
CQNNCN/PA3C0N/ ISTART
EQUIVALENCE (CCtl), X0(1))
ISTAGE MUST BE SET EQUAL TO ZERO IN ANOTHER PROGRAM
IF( ISTART .GE. 1C) GO TO 33
CALL UNITS(CCUNT )
WRIT E(6, 100) COUNT
CALL CISPLY( ISTART )
ISTART = ISTART + 1
CO 32 I = 1, 10
32 STATE! I) = COUNT{ I )
CO 3 C I = 1, 13
30 CCC(I) = (1/10. )*COUNTU) + CCC(I)
CALL DELAY!127, C)
RETURN
33 ISTAGE = ISTAGE + l
CALLCISPLY! ISTAGE )
IF!1ST AGE .GT. 1) GO TO 2
CALL INITAL
CC 1 1=1, 13
1 CC! I ) = CCC! I)
CC 1G 1=1,3
10 UCLC! I ) = CCC!I + 1C )
W R I T E ( 6, 101)
101 FORMAT 1***#*#**#.*,#*******#*,*************#*
1 # ****&**
* S ff
W R I T E { 6, 102)
102 F0RMAT(* 0 THE FOLLOWING IS THE STEADY STATE OPERATING POINT////)
CC 111 I = 1, 9
111 Cl I ) = 0.
WRITE16, 100) CC
h R I T E 6, 103)
103 FORMAT ( 5 0**********************************'****** ****.#****.<***
X -5 S # -inn***-#** ***#&** #*#*****' )
100 FORMAT(* C CURRENT POINT'//* STATE VECTOR 4!3X, F10.3),5X,
l'UPSET VECTOR*, 2!3X, F1C.3),//, CONTROL VECTOR 33X F10.33,
2 5 X, SP *, F1C.3,//, CONT. SET. 3!3X, F10 3))
2 CALL UNITS(CCUNT)
WRIT E(6, 100) CCLNT
CC 3 I = 1, 10
3 STATE! I ) COUNT { I )
CO A I = 1. 13
A COUNT(I) = CCUNT(I) CC(I)
CALL CCNTRL(COUNT, UNEW UOLD )
CALL PULSES! UNE'a, UOLD)
CALL COST!COUNT)
IDSP = ACC0ST/1C0.
CALL CISPLY! IDISP )
CALL VA IT!200 )
CALL CISPLY! ISTAGE)
CALL DELAY!127, C)
RETURN
END
SUBROUTINE UMTS t C )
COKNCN/CUR/ CCC(9), ISTAGE /PA3CQM/ ISTART
DIMENSION C{13)* IN(4C), IS(40)
CALL READ 1{35 C, AC,. 7, IN, IS)
C(1 1 ) = I S{ I )
C( 12) = IS{2 )
C { 13 ) = I S ( 3 5
A = I S { 4 )
E = I S ( 5 )
SLCPE = 0.04678/(A B)
CEPT = -8*SL0PE
CALL READ 1(OC, C, 4C, 7, IN, IS)
CC 1C I = 1, 1C
10 C(I) = IS(I )
CO 1 I = 1, 13
1 C I ) = SLCPE*C( I ) + CEPT-
C ( 3 ) = -.702 1904E 2*C(3)**2 + 2575867E + 1 *C l 3 5 + .2636047E + 1
C 3 ) = .0706940*0(35**3 2.6 I 27758*C(3)**2 + 51.604217 5 + CI 3)
1 150.4664764
C C 4 ) = 5.812398C*C(4)**3 52.016133*0(4)**2 + 202.9503784*014)
1 9C. 1980896
C £ 5 ) = -.7718146*C(5 )**5 + 7.3721237*C(5)**4 15.9140806*0(5)**3
1 50.4078522*0 {5)**2 + 338.6418457*0(5) 149.1C04639
0(3) = C(3)*1.012
0(4 ) = C(4)*1.C2C
0(7) = 2.661*0(7) + 2.712
CllC) = 0.2479553E-4*C(10)**2 + 0.2628754E+1*C10) + 0.2265808E+
0(7) = .0884147*0175**3-3.2277861*0(7)**2+5C.0650024*0(7)
1 85.3336639
C(8 ) =3 30*SORT(C(8)5-172.5
0(9 )=C(9 ) *3336.3-202.8
0(10) = 4.97*C( 1C ) 0.21
0(11) = -.13C34C6E + C*C( 1 1)* 2 + .25285890 + 2*0(11 5 .2339648E + 2
0(12) = 8486938E-1+C( 12)**2 + .2532812E+2C ( 1 2 ) .2554956E+2
C ( 13 5 = -,.1760864E-1*C{ 13)* 2 + 246G767E+2*C (13 ) -
C(l) = 1. (0.2C74C74E + 2*}C{ 15 C.5513C31E+1)/ICC.
C(2 ) = 1. (C.243*C2) 0.C765)
C 6 ) 1. (C. 1867505E+2*C{6) 0.245556 6E + U/100.
IF( ISTART ,NE.
C) GO TO
S 2
=
C 12 )
T 2
=
C (2 )
SI
=
C t 3 )
T 1
C (3)
S3
=
C ( 1 )
T 3
=
cm
S4
C (5 )
T 4
=
C (5 )
S 5
=
C (6 5
T 5
=
C (6 )
33 S 2
=
0.3*C(2)
+ C 7 S 2
T 2
=
C.3*S2 *
C.7* T 2
C ( 2
)
= 2.*S2 -
T 2
SI
=
0.3*Ci 3 )
+ S1*C.7
T I
=
C 3 S1 +
0.7 T1
C ( 3 >
= 2.*S1 -
T 1
S3
=
0.3 -* C ( 1 )
+ C 7 S3
T 3
=
G.3 S3 +
C .7*T3
C t 1 )
= 2.S3 -
T 3
S4
=
C.3 C(5 )
+ C.7*S4
T 4
=
C.3*S4 +
0.7*74
C { 5
t
= 2.*S4 -
T 4
S 5
=
C.3*C< 6)
+ C.7* S5
T 5
=
C 3 S5 +;
0.7 T 5
C(6 5 = 2.*S5 75
THE FOLLOWING CAUSES BOTTOM RATE TO BE COMPUTED AS
C { 4 ) = C < 5) C l 3 )
5C0 RETURN
ENC
.2459751E+2
SUBROUTINE COST(COUNT)
CCMMCN/CCSCOM/ ACCOST, A(A, A), B(3. 3), CA), 013)
COM M CN/CUR/ X ( A 5 F2), U3), ISTAGE
DIMENSION SUMU(3) SUMX(A)
DIMENSION COUNT(13)
100 CO 1 I = 1, A
1 SUM X ( I) = 0.
DO 2 I = 1, 3
2 SUMO(I) = 0.
SUMI = 0 .
CCA 1 = 1, A
SUM X { I) = A fII)COUNT(I 5
A SUM1 = SUM!1+SUMX( I ) COUNT I )
SUM 2 = 0.
CC6 1=7,9
J = I-6
SUMU(J ) = e
6 SUM2 = SUM2+SUMU(J) COUNTI I)
SUM 3 = 0.
CO 7 I = 1, A
7 SUM3=SUM3+C(I)COUNT ( I )
SUMA = 0.
CO 8 1=7,9
K= 1-6
8 SUMA=SUMA+D(K)COUNT{I)
ACCCST=ACCOST+SOMI+SUM2+2*(SUM3+SUMA)
9 VsRITE (6, 200) ISTAGE, X, U, F, ACCOST
200 FORMAT ( 0 AT S T A GE IA 2 X 5 ST A T E r ,.A ( E10.3,3 X ) / / CONTROL
13(E1C 3 3 X ) UPSET*,.2(E10.3,3X), COST 5, E15.5)
URITEI6, 3C0 )
300 FORMAT(* ANALYSIS OF COST INCREMENT AT THIS STAGE*)
UR IT E 1 6, 301) SUMI, SUM 2 SUM3 SUMA
301 FORM AT ( GUACRATIC IN X = , E15.5,2X, GUAORATIC IN U = *
1 2X, LINEAR IN X = , E15.5, 2X, LINEAR IN U = *, E15.5)
'aRITEI, 201)
201 FORMAT { C********ff****'***',f1*Jf*******5*-,!,******',}#-**J**,**-***-*(tt5**'-***tf*
1 * > / // /)
RETURN
ENC
SUBROUTINE CCNTRLCOUNT, UNEVi UCLD)
COM MCN/CUR/ X { A ) F ( 2 ) U(3), ISTAGE
COMMON/MATRIX/ GK3), G213,A), G3(3,3), GA(30,3,2). IHORZN
CIMENSION S(9) FF(30, 2), UNEW(3), UOLD(3), COUNT{13)
EQUIVALENCE ISI) X1) )
CALL UPSET (FF, IHORZN, COUNT)
1
CO 6 I
= 1. 3
CUN X =
0.
CO 2 J
II
<<*
2
CUM X =
DU MX + G2[ I, J )*X(J)
CUMU =
0 .
CG 3 J
= I, 3
3
CUMU =
DLMU +. G 3 ( I, J)*UJ5
CUMF =
0 .
CO 5 K
= 1, IHORZN
CUMF 1
= C.
CO A J
= 1. 2
A
CUM F I
= CUMF1 + GA(K, I, J ) *FFT K, J)
5
CUMF =
DUMF F COMF1
6
LNEW ( I
) = GUI) + CUMX + DU MU + DUMP
CO 8 I
= it 9
8
S ( I ) =
RETURN
ENC
COUNT{I)
SUBROUTINE PUSES (UNEW, UCLC)
CIMENSION UNEW(3),UOLD{3),I PULSE(10),LOW(3} .LHIGH13)
COMNCN/CPTPNT/ XC(4),. FC(2), UO 3 ) SP,UF { 3 )
COMNCN/CUR/ C1CK9), ISTAGE
CATA LOW, LHIGH /3*0, 3*100/
CO 10 I = 1, 3
10 UNEW I ) = UNEW( I ) + UO ( I )
LNEW(l) =? 0.0022970*0NEW(1)**2 C. 1554382*UNEW t 1} + 12.2547255
LNEW(2) = .0001668*UNEW(2 ) * 2 + .0803*UNEW(2) + 3.8
UNEW(3) = .00667*UNEW13)
CO 4 I = 1, 3
IF(UNEWU) .GE. LOW(LJ) GO TO 3
W R I T E 6 100) I, UNEW(I), LCW(I)
UNEW{ I ) = LOW{ I )
100 FCRNAK'C COMPONENT I 2 OF THE CONTROL VECTOR WAS TO DE SET =
1, E12.5, //, CONTROL WAS SET = 15, CONTROL AT THIS STAGE
2IS NOT OPTIMAL' )
GO TO 4
3 I F{UNEW(I) .LE. LHIGF(I)) GO TO 4
WRITE(6, 100) I, UNEWtl), LHIGH(I)
LNEW{ I ) = LH IGH{ I )
4 CONTINUE
CO 5 I = 1, 2
5 IPULSE(I) = (UNEWU) L OLD ( I ) ) 2 C 0
CO 6 I = 3, 10
6 I PUL SE( I ) = C
CALL PULSO! IPULSE )
6970 CC 7 1=1,3
7 UCLC{ I ) = UNEW{ I)
WRITE! 6,12) (UCLC I ) I =51,3 )
12 FORMAT!' UOLC(l) = E15.55X,'UOLD{2) = E 1 5.5,5X,'UOLD!3) =",
1E15.5)
RETURN
ENC
SUBROUTINE UPSET IFF, IHCRZN,
CONVCN /CUR/ X(4), F(2), U(2),
CINENSION FF3C, 2), COUNTI13)
IF{ ISTAGE .NE. 1 ) GO TO 10
CO 1 I
=
It 30
CO 1
J =
1 2
1
FF ( I ,
J)
5= 0.
CO 9 I
=
3, 7
9
F F { I,
1 )
= -20.25
CO 11
I =
8, 11
11
FF ( I ,
1)
= 9.53
CG 12
I =
12 14
12
FF ( I ,
1)
= -9.59
CG 13
I =
15, 16
13
F F ( I ,
1)
= -9.83
CO 14
I =
17,21
14
FF(I,
1 )
t 8.02
CO 15
I =
22, 3 C
15
FF U
1)
= -13.05
CC 16
I
= 2, 1C
16
FF{ I ,
2)
= .0460
F F{11.
2 )
= -.0332
CC 17
I =
12 15
17
F F ( I ,
2)
=.0023
CO 18
I =
16,23
18
FF( I,
2)
= .0355
CO 19
I =
24 25
19
FF II ,
2 )
= -.011
CG 2C
I =
26, 3 C
2C
F F { I ,
2) =
-.0206
CC 2 J
=
It 2
F F ( 1 ,
J)
= F {J )
2
FF ( 2 ,
J )
= COUNT(J+4)
RETURN
COUNT)
ISTAGE
/
100
10
IF{ ISTAGE NE. 2) GO
CG 29
J = 1,2
FF( 1 ,
J) = F(J 5
29
FF ( 2 ,
J! = COUNT(J+4)
CO 3 C
I =? 3,29
C 30
J =r 1,2
30
FF ( I ,
J! = FF { I + 1 J.'
CO 31
J = 1, 2
31
F F ( 3 C ,
RETURN
J ) = 0.
59
CO 3 J
= 1,2
FF( 1,
J) = F{J)
3
FF ( 2 ,
J) = COUNT(J+43
CO 4
I = 3, 29
CO 4 J
= 1,2
4
FF ( I ,
J) J= F F ( 1 + 1, J )
RETURN
ENC
101
SUBROUTINE INITAL
CONNGN/CCCOM/ACCSTl,ACOST2
COMMCN/MATRIX/ G 1 ( 3 ) G2{3,A), G3(3,3>, GA ( 30 3,2 ) IHCRZN
CQKN.CN/CCSCOM/ ACCOST, A(A,A), 3(3,3), CIA), D (3 )
CCMMCN/CLR/CC(9), ISTAGE
ACCOST = C.
ACC S T1 = 0 .
ACC S T 2 = 0 .
CO 1 I = 1, A
C ( I ) = 0 .
00 I J = 1, A
1 Ail, J) = 0.
CO 2 I = 1, 3
C ( I ) = 0.
GI(I ) = C.
CO 2 J = 1, 3
G3(I, J) = 0.
2 E ( I J ) = 0 .
CO 3 I = I, 3
CC 3 J = 1, A
3 G 2 ( I J ) = 0 .
CO A K = 1, 30
GO A I = 1, 3
00 A J = 1, 2
A GA{K I, J) = 0.
100 FORMATAE15.5)
101 FORMAT 3E15.5)
102 FORMAT{ 10 15)
103 FGRMAT12E15.5)
5C0 FORMAT(AF15.5)
501 FORMAT(3F15.5)
502 FCRMAT2F15.5)
REAC5, 5C1) G1
RE A C { 5 5 CO) ( (G 2( I, J), J 1, A), I = 1,2)
102
READ(5,
502) ((63(1, J), 3 = 1, 2), I =
R E A C ( 5 t
102) IFCRZN
CC 5 K =
1, IHORZN
5
READ(5 ,
502 ) ( (G4 K I J), J = 1, 2) I
READ{5,
5 C 0 ) ( (A! I, J), J = 1, 4), I =
REAC(5,
502) ( (El I J) J = It 2), I =
R E A C ( 5 t
500 ) C
READ (5,
502 ) (C( I ) t I = It 2)
WR ITE 6,
200 )
200
FOR R A T( '
0 G1 VECTOR)
WRITE (6,
10 1 ) G 1
WR I T E(6,
201 )
201
FORMAT(
C G2 MATRIX* 5
WRITE!6,
100 ) ((G2( I, J ) tJ=1,4),1 = 1,3)
ViR I T E { 6
202 )
202
FORMAT{'
0 G3 RiATRIX 5,
W R I T E ( 6,
101 ) ((G 3( I t J ) ,J = l,3) t 1 = 1,3)
WRIT E(6,
2C3) IFCRZN
203
FOR RAT(
C IHORZN = 110)
CC 6 K =
1, IHORZN
WRITE(6,
204 ) K,
204
FORRAT(5
C G4( 12, ) MATRIX *)
6
WRITE{6,
103) ( (G4(K,.I,J) J=l,2) ,1 = 1,3)
WRITE(6,
205 )
205
FORRAT('
0 A MATRIX)
WRITE!6t
ICO) ( (A( I,J),J = i,4),1 = 1,4)
WRITE(6,
206)
206
FORRAT(
0 B MATRIX 5
WRITE16,
101) ((B(I,J)J=1,2),1=1,3)
WR ITE(6,
207 )
207
FORRAT(
0 C VECTOR )
WRITE(6,
100 ) C
W R I T E ( 6 ,
208 )
208
FORRAT(
0 D VECTOR)
1, 2)
= 1. 2}
It 4)
It 2)
103
VsRITE (6, 1C1) C
RETURN
ENC
104
APPENDIX C
MATRIX MULTIPLIERS FOR THE OPTIMAL CONTROL LAW
Listed in this appendix are the multipliers given in
equation ( 3.23), Chapter III. These multipliers were used as data
in the on-line control problem to obtain the optimal control at each
stage.
Future upsets were considered for stages in the future until
(p"1*P2>/(p1*pj) 3: iQ.o
Four tables of data are listed, one for each of the four cost cases
considered. Also listed are the state variable cost coefficients, a..,
13
and the control variable cost coefficients, b...
ij
In Chapter III the control law (equation 3.23) is given showing
multipliers as P i=l,4. The tables in this appendix show the
multipliers as P i=l,4. The inverse matrix P ^ is included in
J
the multiplier P^, i=l,4 as given in Chapter III.
O
105
106
TABLE C.l
HIGH CONTROL COSTS
Dynamic
11
22
33
program convergence 46 stages
= 144440.
bll = 15
= 144440.
b22 10.0
= a.. = 1.0
b . = 0
44
ij
= 0 i^j
i^j
P *P Linear terms in states and controls
(0,0)
-1 2
P *P State variable multiplier
4.123
2.656
' -0.136
0.0
-6.476
-8.473
0.101
0.0
P_1*P3
Control
variable
multiplier
0.465
-0.236
-0.346
0.175
-1 4
P *P^ Previous stage load variable multiplier
0.0 0.0
0.0 0.0
P *P2 Present stage load variable multiplier
0.0786 1.303
-0.0598 -1.210
Future upsets are considered for 20 stages into the future. The form
-1 4
follows the above with P *P. i=3,22.
3
3
4
5
6
7
8
9
10
11
12
107
TABLE C.l (Continued)
0.000411
0.200
j=13
0.000260
0.125
-0.000881
-0.368
-0.000556
-0.229
0.000393
0.191
14
0.000248
0.119
-0.000842
-0.351
-0.000530
-0.218
-0.000375
0.182
15
0.000237
0.114
-0.000804
-0.335
-0.000506
-0.208
0.000358
0.174
16
0.000226
0.108
-0.000768
-0.320
-0.000483
-0.198
0.000342
0.166
17
0.000215
0.103
-0.000733
-0.305
-0.000460
-0.189
0.000327
0.159
18
0.000205
0.098
-0.000700
-0.291
-0.000439
-0.180
0.000312
0.151
19
0.000196
0.094
-0.000667
-0.277
-0.000419
-0.171
0.000298
0.144
20
0.000186
0.089
-0.000639
-0.265
-0.000400
-0.163
0.000285
0.138
21
0.000178
0.085
-0.000610
-0.252
-0.000380
-0.154
0.000272
0.131
22
0.000169
0.080
-0.000582
-0.241
-0.000362
-0.147
108
TABLE C.2
EQUAL COSTS
Dynamic Program Convergence 47 stages
= 144440. = 1.5
a22 = b22 1,0
a . = 0,
ij
P-1*?1
Linear terms in states and controls
(0,0)
-1 2
P *P
State variable multiplier
- 4.034
-15.624
-0.210 0.0
-28.088
-49.55
0.095 0.0
-1 3
P *P
Control
variable multiplier
0.721
-0.365
-0.326
0.165
P-1*P^
Previous
stage load variable multiplier
0.0
0.0
0.0
0.0
-1 4
P *P
2
Present
stage load variable multiplier
0.114
1.281
-0.074
-2.696
Future upsets are considered for 23 stages into the future. The form
-1 4
follows the above with P *P. j=3,25.
3
3
4
5
6
7
8
9
10
11
12
13
109
TABLE C.2 (Continued)
-0.000624
-0.003097
-0.314
-1.628
j 14
-0.000355
-0.001805
-0.174
-0.930
-0.000593
-0.002951
-0.298
-1.548
15
-0.000338
-0.001719
-0.165
-0.883
-0.000563
-0.002809
-0.282
-1.472
16
-0.000321
-0.001636
-0.156
-0.838
-0.000535
-0.002674
-0.268
-1.400
17
-0.000305
-0.001557
-0.147
-0.795
-0.000508
-0.002546
-0.254
-1.330
18
-0.000290
-0.001482
-0.140
-0.754
-0.000483
-0.002424
-0.240
-1.264
19
-0.000276
-0.001410
-0.132
-0.715
-0.000459
-0.002308
-0.228
-1.201
20
-0.000262
-0.001342
-0.125
-0.678
-0.000436
-0.002197
-0.194
-1.031
21
-0.000249
-0.001276
-0.118
-0.643
-0.000414
-0.002092
-0.205
-1.085
22
-0.000236
-0.001213
-0.111
-0.609
-0.000394
-0.001992
-0.194
-1.031
23
-0.000224
-0.001153
-0.105
-0.576
-0.000374
-0.001896
-0.184
-0.979
24
-0.000213
-0.001095
-0.099
-0.545
25
-0.000202
-0.001040
-0.094
-0.515
110
TABLE C.3
LOW CONTROL COSTS
Dynamic program convergence 41 stages
= a22 = 144440. b = 0.15
a33 = a44 = 1,0 b22 = 0,10
aij = bij =
p ^p1
Linear terms in states and controls
(0,0)
P-1*P2
State variable multiplier
- 91.10
-199.89
-181.85 -0.388 0.0
-376.30 -0.233 0.0
P-1*P3
Control variable multiplier
1.330
0.799
-0.674
-0.405
-1 4
P *P^
Previous stage load variable multiplier
0.0 0.0
0.0 0.0
P b*P^
2
Present stage load variable multiplier
0.155
-0.006230
- 3.491
-12.273
Future upsets are considered for 28 stages into the future. The form
-1 4
follows the above with P *P., j=3,30.
J
O
Ill
TABLE C.3 (Continued)
3
-0.0102
-0.0219
- 5.436
-11.72
j=15
-0.00464
-0.0101
-2.422
-5.260
4
-0.00952
-0.0205
- 5.081
-10.975
16
-0.00434
-0.00942
-2.260
-4.912
5
-0.00892
-0.0192
- 4.760
-10.275
17
-0.00406
-0.00883
-2.108
-4.585
6
-0.00836
-0.0180
- 4.453
- 9.618
18
-0.00380
-0.00826
-1.965
-4.278
7
-0.00783
-0.0169
- 4.165'
- 9.002
19
-0.00356
-0.00774
-1.831
-3.989
8
-0.00734
-0.0158
- 3.896
- 8.424
20
-0.00333
-0.00724
-1.706
-3.717
9
-0.00687
-0.0148
- 3.643
- 7.882
21
-0.00311
-0.00677
-1.587
-3.461
10
-0.00644
-0.0139
- 3.405
- 7.373
22
-0.00291
-0.00633
-1.476
-3.221
11
-0.00603
-0.0130
- 3.183
- 6.895
23
-0.00272
-0.00592
-1.371
-2.994
12
-0.00565
-0.0122
- 2.974
- 6.447
24
-0.00254
-0.00553
-1.272
-2.780
13
-0.00529
-0.0115
- 2.778
- 6.026
25
-0.00237
-0.00516
-1.179
-2.578
14
-0.00495
-0.0107
- 2.594
- 5.631
26
-0.00220
-0.00481
-1.091
-2.388
27
-0.00205
-0.00447
- 1.008
- 2.207
28
-0.00190
-0.00415
- 0.929
- 2.036
29
-0.00177
-0.00385
- 0.855
- 1.873
30
-0.00163
-0.00356
- 0.784
- 1.719
112
TABLE C.4
EXTRA LOW CONTROL COSTS
Dynamic program convergence 42 stages
all = a22 = 144440- bn = *15
a33 a44 1,0 b22 0,10
aij > biJ >
p ^p1
Linear terms in states and controls
(0,0)
P 1*P2
State variable multiplier
-385.58
-910.40
- 923.44 -0.701 0.0
-1914.20 -.0.907 0.0
-1 3
P *P
Control variable multiplier
2.402
3.106
-1.218
-1.575
-1 4
P *P^
Previous stage load variables multiplier
0.0 0.0
0.0 0.0
-1 4
P *P2
Present stage load variable multiplier
0.197
0.0676
-24.110
-59.589
Future upsets are considered for 22 stages into the future. The form
-1 4
follows the above with P *P., i=3,25.
J
113
TABLE C.4 (Continued)
3
-0.0488
-0.110
-23.369
-52.980
4
-0.0412
-0.0934
-19.656
-44.887
3
-0.0347
-0.0791
-16.451
-37.890
6
-0.0290
-0.0668
-13.691
-31.851
7
-0.0242
-0.0562
-11.316
-26.644
8
-0.0200
-0.0470
- 9.274
-22.156
9
-0.0164
-0.0391
- 7.523
-18.298
10
-0.0133
-0.0323
- 6.025
-14.986
11
-0.0106
-0.0264
- 4.745
-12.144
12
-0.0837
-0.0214
- 3.654
- 9.714
13
-0.0645
-0.0171
- 2.729
- 7.642
14
-0.00481
-0.0135
- 1.945
- 5.876
j=15
-0.00343
-0.0104
-1.286
-4.381
16
-0.00226
-0.00771
-0.734
-3.119
17
-0.00129
-0.00548
-0.275
-2.058
18
-0.000475
-0.00361
0.105
-1.171
19
0.000196
-0.00204
0.416
-0.434
20
0.000745
-0.000740
0.666
0.170
21
0.00119
0.000329
0.866
0.665
22
0.00154
0.00120
1.020
1.059
23
0.00181
0.00189
1.137
1.371
24
0.00202
0.00244
1.221
1.610
25
0.00216
0.00286
1.276
1.786
APPENDIX D
DATA
This appendix as well as the figures in Chapter V comprise the
deterministic data taken for this problem.
Figure D.l shows a comparison of the upset pattern in load
variables for two cost cases as seen by the computer. The first two
curves are for cost case two with a two-stage filter for load variables.
The second two curves are for cost case three without any filter. The
compai'ison of these curves shows not only the upset pattern used in this
work but also the effective noise seen by the computer and the effect
of the two-stage filter.
Figures I).2 to D.6 when combined with Figures 5.5 to 5,7 give
the load, control, and state variable response for the four optimal
control runs and the composition control run. Figure D.7 shows the state
variable response to the upset pattern in the uncontrolled case.
As was mentioned in Chapter V, two reproduction runs were
attempted for cost case four, neither of which was successful.
Figures D.3 and D.9 give the control variable response for these two
reproduction runs and show the control action that occurred and caused
the run failure.
Figures D.10 and D.ll give the load, control, and state variable
response to the on-line optimal control noise test run with no upsets
for cost case one. Figures D.12 to D.14 give the performance index, load,
control and state variable response for the two cost case two runs. A
comparison of the curves gives an idea of the reproducibility to expect
with the present noise levels.
114
115
Figure D.l. Load Variables for Two Cost Cases to
Illustrate Effect of Filters and Noise
116
Stage
Figure D.2. State Variable Response for Cost Case
One for Optimal Control.
0
117
AXD
.02
.01
10 15 20 25
30
35 40 45
50
AXB
Figure D.3. State Variable Response for Cost Case
Two for Optimal Control.
118
O 5 10 15 20 25 30 35 40 45 50
.02
.01
AXB
0
-.01
-.02
JL
15
J 1 J l J
20 25 30 35 40 45
J
50
Stage
Figure D.4. State Variable Response for Cost Case
Three for Optimal Control.
119
Figure D.5. State Variable Response for Cost Case
Four for Optimal Control.
120
0 5 10 15 20 25 30 35 40 45 50
Figure D.6. State Variable Response for Composition
Control.
121
Figure D.7. State Variable Response for Uncontrolled
Case.
122
AR
10
0
-10
-20
-30
-40
-50
0 5 10
15
X.
20
Stage
25
.1 J
30 35
Figure D.8. Control Variable Response for
Cost Case Four for Optimal
Control. Try at Reproduction.
123
!
Figure D.9.
Control Variable Response for Cost Case
Four for Optimal Control. Try at
Reproduction.
124
5
AS
AR
Stage
Figure D.10. Load and Control Variable Response
for No Upset, Optimal Control Noise
Level Test for Cost Case One.
125
.01
AXD 0
Stage
P.I. = 14448.0 in 40 Stages
Figure D.ll. Stage Variable Response for No
Upsetj Optimal Control Noise Level
Test for Cost Case One.
126
Figure D.12.
Comparison of Performance Index Values
ofR.un& for Reproduction for Cost Case
Two.
127
AF
20
10
0
-10
-20
-30
0 5 10 15 20 25 30 35 40 45 50
AR
n
0 5 10 15
i
20
25 30 35 40 45 50
Stage
Figure D.13. Comparison of Load and Control Variables of
Pains for Reproduction for Cost Case Two.
AXD
AXB
128
Figure D.14. Comparison of State Variables of Runs
for Reproduction for Cost Case Two.
LITERATURE CITED
1. Zahradnik, R. L. Archer, D. H., and Rothfus, R. R. Chem. Eng.
Progr. Symp. Series, Proc. Syst. Eng., 59, No. 46, 132 (1963).
2. Paradis, W. 0., and Perlmutter, D. D., AIChEJ, 12^ No. 5,
876 (1966).
3. Rafal, M. D., and Stevens, W. F., AIChEJ, 3A, No. 1, 85
(1968).
4. Brosilow, C. B., and Handley, K. R., AIChEJ, L4, No. 3, 467
(1968).
5. Lapidus, L., Chem. Eng. Progr. Symp. Series, Proc. Cont. and
Applied Math., _61, No. 55, 88 (1965).
6. Pike, D. H., Ph.D. Dissertation, Univ. Fla., Gainesville (1970).
7. Nemhauser, G. L., "Introduction to Dynamic Programming,"
1st Ed., 211, John Wiley and Sons, Inc., New York (1966).
8. Eschenbacher, R. C., Unpublished Documentation of GIPSI
Software, Dept. Chem. Eng., Univ. Fla., Gainesville (1970).
9. Eschenbacher, R. C., Unpublished Documentation of -GIPSI
Hardware, Dept. Chem. Eng., Univ. Fla., Gainesville (1970).
O
129
BIOGRAPHICAL SKETCH
Robert Carl Eschenbacher was born December 20, 1941, at
West Paira Beach, Florida. In June, 1959, he was graduated from
Palm Beach High School in West Palm Beach. In the fall of 1959, he
enrolled at Palm Beach Junior College in the pre-engineering curriculum.
In the fall of 1961, he enrolled at the University of Florida as a
junior in Chemical Engineering and received the B.Ch.E. degree with
honors in April, 1964.
At. the University of Florida, he was a student member of the
A.I.Ch.E., and was elected to Tau Beta Pi, Sigma Tau, and Phi Kappa Phi
honorary societies.
In April, 1964, he entered graduate school at the University
of Florida with a College of Engineering fellowship. He received the
degree M.S.E. in December, 1965.
He is married to the former Virginia Ann Harper of West Palm
Beach, Florida, and they have one childRobert David Eschenbacher.
130
This dissertation was prepared under the direction of the
chairman of the candidate's supervisory committee and has been
approved by all members of that committee. It was submitted to the
Dean of the College of Engineering and to the Graduate Council, and
was approved as partial fulfillment of the requirements for the
degree of Doctor of Philosophy.
Deaix, Graduate School
SUPEF,VISORY COMMITTEE
Page 2 of 2
Internet Distribution Consent Agreement
In reference to the following dissertation:
AUTHOR: Eschenbacher, Robert
TITLE: Experimental studies in optimal computer control of a continuous
distillation column, (record number: 955790)
PUBLICATION DATE: 1970
I, lRob iLr
dissertation, hereby grant specific and limited archive and distribution rights to the Board of Trustees of
the University of Florida and its agents. I authorize the University of Florida to digitize and distribute
the dissertation described above for nonprofit, educational purposes via the Internet or successive
technologies.
This is a non-exclusive grant of permissions for specific off-line and on-line uses for an indefinite term.
Off-line uses shall be limited to those specifically allowed by "Fair Use" as prescribed by the terms of
United States copyright legislation (cf, Title 17, U.S. Code) as well as to the maintenance and
preservation of a digital archive copy. Digitization allows the University of Florida to generate image-
and text-based versions as appropriate and to provide and enhance access using search software.
This grant of permissions prohibits use of the digitized versions for commercial use or profit.
Signature of Copyright Holder
\ vCy~s _____
Printed or Typed Name of Copyright Holder/Licensee
Personal Information Blurred
Printed or Typed Phone Number and Email Address of Copyright Holder/Licensee
L- O ? ~ C.Q V
Date of Signature
Please print, sign and return to:
Cathleen Martyniak
UF Dissertation Project
Preservation Department
University of Florida Libraries
P.O. Box 117007
Gainesville, FL 32611-7007
6/8/2008
|