More Related Content Similar to Real time dynamic optimisation (20) Real time dynamic optimisation1. © 2010 Process Systems Enterprise Limited
Real-time Dynamic Optimisation
Dr Pablo A Rolandi – Head of Development, PSE Ltd
CPSE Spring Consortium Meeting
Imperial College, London – April 23, 2010
2. © 2010 Process Systems Enterprise Limited
Outline
Motivation
Online operations and real-time decision-making
Model-based control and optimisation
− Innovation space
− Engine prototype
Case study
Summary and outlook
3. © 2010 Process Systems Enterprise Limited
Motivation
Real-time Process Optimisation and Training:
− advanced process control (APC)
− on-line optimisation
− training simulation and control validation software
− market: $1 billion in 2008; >$1.5 billion in 2013
− 9%/year x5 years
Process Industries
− Spare capacity
− New capacity and processes
− CAPEX and OPEX considerations
4. © 2010 Process Systems Enterprise Limited
Motivation
Novel plant designs: e.g. pulp & paper mills
− CAPEX and OPEX trade-off
− Reduced buffer capacity
− Elimination of redundant (back-up) equipment
− Larger equipment interactions and faster dynamics
Economic and environmental drivers
− Maximum profit
− Improved management of utilities
− Steam (evaporators train) and water (pulp washing)
Process operation scenario
− Management of production rate transitions
− Paper machine grade changes
5. © 2010 Process Systems Enterprise Limited
Example: Pulp and Paper Industry
Industrial continuous pulping
Wood chips
Wood pulp
Paper
Reactor
(Continuous
cooking
digester)
Pulp and Paper Mill
6. © 2010 Process Systems Enterprise Limited
Example: Industrial continuous pulping
Digester section
Heterogeneous solid-liquid reaction
Multicomponent mixture
Primary KPIs: selectivity and yield
Secondary KPI: washing efficiency
7. © 2010 Process Systems Enterprise Limited
Industrial continuous pulping
Production rate change: “open-loop” response
+0.6rpm
8. © 2010 Process Systems Enterprise Limited
Industrial continuous pulping
Production rate change: “open-loop” response
+1°C
9. © 2010 Process Systems Enterprise Limited
Industrial continuous pulping
Production rate change: “open-loop” response
+1°C
10. © 2010 Process Systems Enterprise Limited
Industrial continuous pulping
Production rate change: “open-loop” response
Minimise variability of selectivity (quality)
and maximise yield (throughput)
11. © 2010 Process Systems Enterprise Limited
Industrial continuous pulping
Production rate change: “closed-loop” response
Process and reactor design:
Enough degrees-of-freedom for advanced control and optimisation
Operator transition (2 DOF) Rigorous optimisations (1 DOF)
12. © 2010 Process Systems Enterprise Limited
Process operations
Control and optimisation
Traditional approach:
− Regulatory process control (feedback PID loops)
− Recipes and procedures
− Off-line: idealised scenarios, sub-optimal solutions
Avoiding complexity at the expense of
economic and environmental performance
Timescale
Frequency
13. © 2010 Process Systems Enterprise Limited
Process operations
Real-time decision making support
Link between the complexity of the plant and the
complexity of the market
Advanced process control
− Few discrete decisions
− Large nonlinearities
− Minutes to hours
Planning and scheduling
− Many discrete decisions
− Small nonlinearities
− Days to months
Timescale
Frequency
Timescale
Frequency
14. © 2010 Process Systems Enterprise Limited
Model-based Process Control
Model Predictive Control (MPC)
Timescale
Frequency
Plant
MPC
y
y
yss
uss
u
d
m
PID
min
U , v
t f
t f =∫t f
∥e
y
t∥Qt
۲
∥e
u
t ∥Rt
۲
∥ut∥S t
۲
dt∥e
y
t f ∥Qf
۲
∥e
u
t f ∥R f
۲
s.t. F ˙xt, xt, yt,ut,v ,=۰
x۰=x۰
uminut=U umax
15. © 2010 Process Systems Enterprise Limited
Model Predictive Control (MPC)
Characteristics
Multi-variable control
Constraint (CVs) violations and controls (MVs) saturation
Process model
− Linear: computational cost and solution algorithms
− Empirical: model identification
− Intrusive, expensive and limited predictive capacity
Reference trajectories
− Steady-state economic optimisation (unit or plant)
− Off-line recipes (e.g. batch)
Optimal transition: quadratic penalty
LMPC: proven, well-established commercial APC technology
16. © 2010 Process Systems Enterprise Limited
Model-based Process Optimisation
Real-time Optimisation (RTO)
Timescale
Frequency
Plant
MPC
RTO
y
y
wss
obj
yss
uss
u
d
m
PID
min
u
=x , y ,u ,
s.t. Fx , y ,u ,=۰
uminuumax
wminwwmax
17. © 2010 Process Systems Enterprise Limited
Model-based Process Optimisation
Real-time Dynamic Optimisation (RTDO)
Plant
MPC
RTDO
y
y
w(t)
obj
yref
(t)uref
(t)
u
d
m
PID
Timescale
Frequency
min
U , v
t f
t f = ˙xt , xt , yt ,ut ,v ,
s.t. F ˙xt, xt, yt ,ut, v ,=۰
x۰=x۰
uminut=U umax
wmin
ee
w
ee
wmax
ee
wmin
ei
t f w
ei
t f wmax
ei
t f
wmin
ii
t w
ii
twmax
ii
t
18. © 2010 Process Systems Enterprise Limited
Real-time (Dynamic) Optimisation
Characteristics
Multi-variable optimisation
Process model
− “First-principles”
− Parameter re-estimation
− Nonlinear: computational cost
Equipment and conservation-law constraints
Economic objective function
− No stability guarantees (dynamic)
RTO: proven commercial APC technology
19. © 2010 Process Systems Enterprise Limited
Model-based Control and Optimisation
The space of innovation
Empirical First-principles
Nonlinear
Linear
1) Constrained
objective function
2) Continuous time
3) SP (PID)
1) Unconstrained quadratic
objective function
2) Discrete time
3) MV (MAN/OUT)/SP (PID)
RTO
MPC
Solution methods
and numerical
algorithms?
Advanced process
modelling tools?
20. © 2010 Process Systems Enterprise Limited
Model-based Control and Optimisation
The space of innovation revisited
Discrete time
Continuous time
Constrained
Unconstrained
Nonlinear
Linear
Empirical Solution algorithms
Models
Control problem
formulation
RTDO
MPC
First-principles
Simultaneous
Sequential
21. © 2010 Process Systems Enterprise Limited
“With the availability of much more powerful computers,
should not the basic approaches
to control systems application
be reconsidered?”
Richalet, Rault, Testud & Papon (1978)
22. © 2010 Process Systems Enterprise Limited
Process operations
Real-time decision making support revisited
New possibilities...
Model-based Control and Optimisation (MB-C&O)
Timescale
Frequency
Timescale
Frequency
Model-based
Control & Optimisation
23. © 2010 Process Systems Enterprise Limited
First-principles models for RTDO
24. © 2010 Process Systems Enterprise Limited
First-principles models
Source:
− Model repository
− Corporate R&D departments
− Modelling/consulting centres (e.g. PSE Consulting)
− Academia
Applications (PSE Ltd)
− Fixed-bed catalytic reactors (AML:FBCR)
− Gas-liquid contactors (AML:GTL)
− Particulate/solid systems (gPROMS:Solids)
− Pressure-relief systems (gPROMS:Flares)
Sectors (selection)
− Pulp & paper
− Consumer products
− Food & beverages
Solution algorithms
Models
Control problem
formulation
25. © 2010 Process Systems Enterprise Limited
First-principles models: an example
C.C. Pantelides, Z.E. Urban, Š. Špatenka (PSE Ltd)
Distributed with respect to
− Axial, radial, intra-pellet
spatial position
− Time
A mixed set of partial
differential & algebraic
equations (PDAEs)
− ~120,000 time-varying
quantities per tube
Well within scope and
capabilities of current process
modelling technology
26. © 2010 Process Systems Enterprise Limited
RTDO problem formulation
27. © 2010 Process Systems Enterprise Limited
Real-time Dynamic Optimisation
Problem formulation
Control &
optimisation
problem
formulation
Mathematical
problem
statement
Not straightforward!!!
Models
Control problem
formulation
Solution
algorithms
min
U , v
t f
t f = ˙xt , xt , yt ,ut ,v ,
s.t. F ˙xt, xt, yt ,ut, v ,=۰
x۰=x۰
uminut=Uumax
wmin
ee
wee
wmax
ee
wmin
ei
t f wei
t f wmax
ei
t f
wmin
ii
t w
ii
twmax
ii
t
28. © 2010 Process Systems Enterprise Limited
Problem formulation
Characteristics
Control & optimisation problems change continuously:
− Structure:
− Instrumentation signal failure (MVs, DVs, CVs)
− Saturation/exclusion (“loss”) of control variables (MVs)
− Inclusion/exclusion of operative constraints (CVs)
− Change of objective function
− Numerical values:
− Change of feasible region (MVs, CVs)
− Constraint enforcements
Control & optimisation problems combine
discrete and continuous features:
− Point (discrete), path and zone (continuous) constraints
29. © 2010 Process Systems Enterprise Limited
Problem formulation
Analysis
EVENT
log_time := 0;
event_time := 0;
event_type := Prediction_Horizon_Change;
value := 1800.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Window_Change;
value := 600.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Objective_Function_Change;
process_variable_name := T101.LT002A.SV;
extremisation_type := minimise;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Change;
process_variable_name := T101.FC001B.SP;
value := 0.0;
lower_bound := 0.0;
upper_bound := 40.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
Control &
optimisation
problem
formulation
Mathematical
problem
statement
Not straightforward!!!
min
U , v
t f
t f = ˙xt , xt , yt ,ut ,v ,
s.t. F ˙xt, xt, yt ,ut, v ,=۰
x۰=x۰
uminut=U umax
wmin
ee
w
ee
wmax
ee
wmin
ei
t f w
ei
t f wmax
ei
t f
wmin
ii
t w
ii
twmax
ii
t
30. © 2010 Process Systems Enterprise Limited
EVENT
log_time := 0;
event_time := 0;
event_type := Prediction_Horizon_Change;
value := 1800.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Window_Change;
value := 600.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Objective_Function_Change;
process_variable_name := T101.LT002A.SV;
extremisation_type := minimise;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Change;
process_variable_name := T101.FC001B.SP;
value := 0.0;
lower_bound := 0.0;
upper_bound := 40.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
Problem formulation
Approach
Event types:
− Prediction horizon
− Control horizon & window
− Objective function
− Control variable
− Initial-point constraint /
Horizon-point constraint
− Fixed-point constraint /
Interior-point constraint
− Path /zone constraints
− Optimisation / event
tolerances
− Constraint relaxation (scaling)
− etc...
Control and optimisation events:
domain-specific high-level declarative specification
C&O
language
31. © 2010 Process Systems Enterprise Limited
EVENT
log_time := 0;
event_time := 0;
event_type := Prediction_Horizon_Change;
value := 1800.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Window_Change;
value := 600.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Objective_Function_Change;
process_variable_name := T101.LT002A.SV;
extremisation_type := minimise;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Change;
process_variable_name := T101.FC001B.SP;
value := 0.0;
lower_bound := 0.0;
upper_bound := 40.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
Problem formulation
Overall strategy
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
User events
Implemented in the RTDO engine (ReTO)
???
gPROMS
language
C&O
language
Interpreted events
32. © 2010 Process Systems Enterprise Limited
Problem formulation strategy
Example
EVENT
log_time := 0;
event_time := 0;
event_type := Prediction_Horizon_Change;
value := 1800.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Window_Change;
value := 600.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Objective_Function_Change;
process_variable_name := T101.LT002A.SV;
extremisation_type := minimise;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Change;
process_variable_name := T101.FC001B.SP;
value := 0.0;
lower_bound := 0.0;
upper_bound := 40.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
33. © 2010 Process Systems Enterprise Limited
Problem formulation strategy
Example
EVENT
log_time := 0;
event_time := 0;
event_type := Prediction_Horizon_Change;
value := 1800.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Window_Change;
value := 600.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Objective_Function_Change;
process_variable_name := T101.LT002A.SV;
extremisation_type := minimise;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Change;
process_variable_name := T101.FC001B.SP;
value := 0.0;
lower_bound := 0.0;
upper_bound := 40.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
34. © 2010 Process Systems Enterprise Limited
Problem formulation strategy
Example
EVENT
log_time := 0;
event_time := 0;
event_type := Prediction_Horizon_Change;
value := 1800.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Window_Change;
value := 600.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Objective_Function_Change;
process_variable_name := T101.LT002A.SV;
extremisation_type := minimise;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Change;
process_variable_name := T101.FC001B.SP;
value := 0.0;
lower_bound := 0.0;
upper_bound := 40.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
35. © 2010 Process Systems Enterprise Limited
Problem formulation strategy
Example
EVENT
log_time := 0;
event_time := 0;
event_type := Prediction_Horizon_Change;
value := 1800.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Window_Change;
value := 600.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Objective_Function_Change;
process_variable_name := T101.LT002A.SV;
extremisation_type := minimise;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Change;
process_variable_name := T101.FC001B.SP;
value := 0.0;
lower_bound := 0.0;
upper_bound := 40.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
36. © 2010 Process Systems Enterprise Limited
Problem formulation strategy
Example
EVENT
log_time := 0;
event_time := 0;
event_type := Prediction_Horizon_Change;
value := 1800.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Window_Change;
value := 600.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Objective_Function_Change;
process_variable_name := T101.LT002A.SV;
extremisation_type := minimise;
EVENT
log_time := 0;
event_time := 0;
event_type := Control_Change;
process_variable_name := T101.FC001B.SP;
value := 0.0;
lower_bound := 0.0;
upper_bound := 40.0;
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
Scaling of constraints
(also objective)
38. © 2010 Process Systems Enterprise Limited
Real-time Dynamic Optimisation
Problem solution
Explicit handling of
constraints >>
valuable control and
optimisation
technique
Models
Control problem
formulation
Solution
algorithms
Constraints
(point, path, zone)
(hard, soft)
min
U , v
t f
t f = ˙xt , xt , yt ,ut ,v ,
s.t. F ˙xt, xt, yt ,ut, v ,=۰
x۰=x۰
uminut=Uumax
wmin
ee
w
ee
wmax
ee
wmin
ei
t f w
ei
t f wmax
ei
t f
wmin
ii
t w
ii
twmax
ii
t
Infeasibilities
39. © 2010 Process Systems Enterprise Limited
Problem solution
Infeasibility scenarios
Infeasibilities in constrained control and optimisation:
− Incorrect control problem specification
− Structure, numerical values
− Inconsistent constraints
− Correct but (truly) infeasible control problem specification
− Consistent but tight targets/specifications
Recovery schemes:
40. © 2010 Process Systems Enterprise Limited
Problem solution
Infeasibility recovery schemes
Constraint ranking and
elimination
Constraint identification and
relaxation
strategy Ranking of constraints by priority
levels
“All constraints are created
equal”
algorithm eliminate constraints at current
level
identify problematic constraints
relax by a user-defined factor
re-attempt re-attempt
failure if critical priority level is reached
(hard constraints)
if attempted maximum number of
recoveries
advantages Straightforward concept and
simple to implement
Ranking and elimination as a
special case
More rigorous and optimal
(within relaxation)
disadvantages Elimination of feasible, important
constraints:
More difficult to implement
Sub-optimal User-interaction is required
41. © 2010 Process Systems Enterprise Limited
Constraint ranking and
elimination
Constraint identification and
relaxation
strategy Ranking of constraints by priority
levels
“All constraints are created
equal”
algorithm eliminate constraints at current
level
identify problematic constraints
relax by a user-defined factor
re-attempt re-attempt
failure if critical priority level is reached
(hard constraints)
if attempted maximum number of
recoveries
advantages Straightforward concept and
simple to implement
Ranking and elimination as a
special case
More rigorous and optimal
(within relaxation)
disadvantages Elimination of feasible, important
constraints:
More difficult to implement
Sub-optimal User-interaction is required
Infeasibility recovery schemes
Constraint ranking and elimination
42. © 2010 Process Systems Enterprise Limited
Infeasibility recovery schemes
Constraint ranking and elimination: example
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
<snip>
Objective function: 0.7262
Current Values of Constrained Variables
([*] denotes violation of constraint)
Constrained Variable Name | Type | Time | Value | Lower Bound | Upper Bound
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*]
No. of No. of Step Objective Current Constraint
Iterations Functions Length Function Accuracy Violations
0 1 0.7262 0.9900
<snip>
43. © 2010 Process Systems Enterprise Limited
Infeasibility recovery schemes
Constraint ranking and elimination: example
<snip>
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
<snip>
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
<snip>
Objective function: 0.7262
Current Values of Constrained Variables
([*] denotes violation of constraint)
Constrained Variable Name | Type | Time | Value | Lower Bound | Upper Bound
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*]
No. of No. of Step Objective Current Constraint
Iterations Functions Length Function Accuracy Violations
0 1 0.7262 0.9900
<snip>
44. © 2010 Process Systems Enterprise Limited
Infeasibility recovery schemes
Constraint ranking and elimination: example
<snip>
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
<snip>
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
<snip>
Objective function: 0.7262
Current Values of Constrained Variables
([*] denotes violation of constraint)
Constrained Variable Name | Type | Time | Value | Lower Bound | Upper Bound
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*]
No. of No. of Step Objective Current Constraint
Iterations Functions Length Function Accuracy Violations
0 1 0.7262 0.9900
<snip>
45. © 2010 Process Systems Enterprise Limited
Infeasibility recovery schemes
Constraint ranking and elimination: example
<snip>
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Constraint_Change;
process_variable_name := T101.LT001A.MV;
lower_bound := 1.99;
upper_bound := 2.01;
event_rank := 3;
<snip>
<snip>
Objective function: 0.7262
Current Values of Constrained Variables
([*] denotes violation of constraint)
Constrained Variable Name | Type | Time | Value | Lower Bound | Upper Bound
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*]
No. of No. of Step Objective Current Constraint
Iterations Functions Length Function Accuracy Violations
0 1 0.7262 0.9900
<snip>
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
Implemented in the RTDO engine (ReTO)
46. © 2010 Process Systems Enterprise Limited
Infeasibility recovery schemes
Constraint identification and relaxation
Constraint ranking and
elimination
Constraint identification and
relaxation
strategy Ranking of constraints by priority
levels
“All constraints are created
equal”
algorithm eliminate constraints at current
level
identify problematic constraints
relax by a user-defined factor
re-attempt re-attempt
failure if critical priority level is reached
(hard constraints)
if attempted maximum number of
recoveries
advantages Straightforward concept and
simple to implement
Ranking and elimination as a
special case
More rigorous and optimal
(within relaxation)
disadvantages Elimination of feasible, important
constraints:
More difficult to implement
Sub-optimal User-interaction is required
47. © 2010 Process Systems Enterprise Limited
Infeasibility recovery schemes
Constraint identification and relaxation: example
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
<snip>
Objective function: 0.7262
Current Values of Constrained Variables
([*] denotes violation of constraint)
Constrained Variable Name | Type | Time | Value | Lower Bound | Upper Bound
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*]
No. of No. of Step Objective Current Constraint
Iterations Functions Length Function Accuracy Violations
0 1 0.7262 0.9900
<snip>
48. © 2010 Process Systems Enterprise Limited
Infeasibility recovery schemes
Constraint identification and relaxation: example
<snip>
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Relaxation_Change;
process_variable_name := T101.LT001A.MV;
relaxation_factor := 2.0;
<snip>
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
<snip>
Objective function: 0.7262
Current Values of Constrained Variables
([*] denotes violation of constraint)
Constrained Variable Name | Type | Time | Value | Lower Bound | Upper Bound
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*]
No. of No. of Step Objective Current Constraint
Iterations Functions Length Function Accuracy Violations
0 1 0.7262 0.9900
<snip>
49. © 2010 Process Systems Enterprise Limited
Infeasibility recovery schemes
Constraint identification and relaxation: example
<snip>
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Relaxation_Change;
process_variable_name := T101.LT001A.MV;
relaxation_factor := 2.0;
<snip>
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
<snip>
Objective function: 0.7262
Current Values of Constrained Variables
([*] denotes violation of constraint)
Constrained Variable Name | Type | Time | Value | Lower Bound | Upper Bound
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*]
No. of No. of Step Objective Current Constraint
Iterations Functions Length Function Accuracy Violations
0 1 0.7262 0.9900
<snip>
50. © 2010 Process Systems Enterprise Limited
<snip>
EVENT
log_time := 0;
event_time := 0;
event_type := Horizon_Point_Relaxation_Change;
process_variable_name := T101.LT001A.MV;
relaxation_factor := 2.0;
<snip>
Infeasibility recovery schemes
Constraint identification and relaxation: example
<snip>
Objective function: 0.7262
Current Values of Constrained Variables
([*] denotes violation of constraint)
Constrained Variable Name | Type | Time | Value | Lower Bound | Upper Bound
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*]
No. of No. of Step Objective Current Constraint
Iterations Functions Length Function Accuracy Violations
0 1 0.7262 0.9900
<snip>
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 4.02
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
HORIZON
1800 : 1800 : 1800
INTERVALS
3
600 : 600 : 600
600 : 600 : 600
600 : 600 : 600
PIECEWISE_CONSTANT
FS.T101.FC001B.SP.ProcessVariable
INITIAL_PROFILE
0 : 0 : 40
0 : 0 : 40
0 : 0 : 40
TIME_INVARIANT
FS.DCS.LT001A.MV.Constraint.Point.ScalingValue
INITIAL_VALUE
1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON
FS.DCS.LT001A.MV.Constraint.Point.ScaledValue
1.99 : 2.01
MINIMISE
FS.DCS.LT002A.SV.Objective.Point.ScaledValue
Implemented in the RTDO engine (ReTO)
51. © 2010 Process Systems Enterprise Limited
Solution methods for RTDO
52. © 2010 Process Systems Enterprise Limited
Dynamic optimisation
Solution strategies
Computational cost
− Jacobian evaluations
− Numerical perturbation
− Symbolic differentiation (equation-oriented modelling
languages)
− Automatic differentiation (programming languages)
No nline a r Dyna m ic
O p tim iza tio n P ro b le m
Simultaneous Sequential
type Iterative – Infeasible path Iterative – Feasible path
discretisation NLA (orthogonal collocation on
finite elements)
IVP (integration)
NLP size Very large >O(10^6) Relatively small <O(10^2)
determining
cost
Augmented sensitivity system
integration (>80%)
54. © 2010 Process Systems Enterprise Limited
54
RTDO Engine: architecture
Process Data Server
(plant connectivity)
Modelling &
Solution
Engine
Model Server
(arbitrary models)
Solution Engine
(state-of-the-art numerics)
gPROMS-enabled MSE
55. © 2010 Process Systems Enterprise Limited
55
RTDO Engine: architecture (ctd)
Problem Definition Manager
(event interpreter)
Event Manager
(validating event parser)
Solution Feasibility Supervisor
(infeasibility handling)
Solution Interpreter
(solution monitoring)
Constraint Manager
(constraint reformulation)
56. © 2010 Process Systems Enterprise Limited
An industrial case study
57. © 2010 Process Systems Enterprise Limited
Case-study: Industrial continuous pulping
Continuous cooking system
58. © 2010 Process Systems Enterprise Limited
Case-study: Industrial continuous pulping
Continuous cooking system
heart of pulp and paper mills
goal: keep selectivity constant and maximise yield
− tight coupling between quality (selectivity)
and throughput (yield)
main unit: continuous cooking digester
− complex heterogeneous reactor: liquid-solid phases
− multicomponent mixture
− co-current and counter-current flow zones between phases
− multiple stream injection and extraction points
− moderately long time constants and non-intuitive
operation
auxiliary units: feed line and circulation heaters
regulatory control system (50+ sensors, 25+ PID controllers)
59. © 2010 Process Systems Enterprise Limited
Case studies and results
60. © 2010 Process Systems Enterprise Limited
Case study: overall set up
Control architecture:
− RTDO MB-C&O layer provides set-points of
PID regulatory control layer
Simulation set up:
− Virtual plant and controller use same first-principles model
− Perfect observer
First-principles model:
− Implemented in gPROMS
− Large-scale* numerical solution (* for APC applications)
− 10,000 DAEs, 1000 states, 100+ DOFs (100+ STNs)
61. © 2010 Process Systems Enterprise Limited
Case study: C&O problem formulation
Objective function: maximise yield (path)
Constraints (CVs):
− Production rate change; point
− Selectivity deviation (kappa); point and path
Controls (MVs):
− Circulation heaters (lower, wash); feed (chip-meter)
Time parameterisation:
− prediction horizon (P): 7 hr
− control horizon (C): 6 hr
− control window (D): 1 hr
P
C
D
62. © 2010 Process Systems Enterprise Limited
MVs: control trajectories are very similar
Jump production 600 ad.tpd > 650 ad.tpd
NL vs LTI model performance
CV: production transition is accomplished
63. © 2010 Process Systems Enterprise Limited
Jump production 600 ad.tpd > 650 ad.tpd
NL vs LTI model performance
OBJ: NL model is optimal
(+50k US$/year)
CV: very similar CL response
for NL and LTI models
How operators see it…
(zoom to fit control bounds)
Zoom in
64. © 2010 Process Systems Enterprise Limited
Jump production 600 ad.tpd > 700 ad.tpd
NL vs LTI model performance
CV: production transition is accomplished
MV: NL relies more on LCH moves
MV: LTI puts more emphasis on WCH
MV: oscillation on LCH moves
65. © 2010 Process Systems Enterprise Limited
Jump production 600 ad.tpd > 700ad.tpd
NL vs LTI model performance
NL controller fails
to converge on the 3rd cycle;
however, it does not produce
plant infeasibilities and
it fully recovers on the 4th cycle
CV: oscillations;
too aggressive control?
CV: CL response is different
for NL and LTI models
How operators see it…
(zoom to fit control bounds)
Zoom in
66. © 2010 Process Systems Enterprise Limited
Jump production 600 ad.tpd > 700ad.tpd
Infeasibility recovery schemes
IaR: identification and relaxation
RaE: ranking and elimination
IaR vs RaE: identical response
(for this particular run)
67. © 2010 Process Systems Enterprise Limited
A challenging transition
Speed-up/slow-down production at 600 ad.tpd
Speed-up production 600 ad.tpd > 650 ad.tpd...
… and “sudden” slow-down
in 2hr, speed-up production
to 650 tpd (~10%)
in 2hr, slow down production
back to 600 tpd
downstream disturbance:
paper machine trip!!!
68. © 2010 Process Systems Enterprise Limited
Speed-up/slow-down production at 600 ad.tpd
NL vs LTI model performance: optimisation tolerance
Loose tolerance Tight tolerance
69. © 2010 Process Systems Enterprise Limited
Computational statistics
NL vs LTI model performance
LTI model computes ~4 times faster than NL model!
NL model solution statistics
#C Time
[min]
#I #LS Avg %
SEI
1 28.9 6 6 4.8 75
2 14.4 3 3 4.8 79
3 14.2 3 3 4.7 79
4 8.0 2 2 4.0 84
5 7.6 2 2 3.8 84
6 3.0 1 1 3.0 -
7 7.4 2 2 3.7 83
Avg 11.9 2.7 2.7 4.1 81
LTI model solution statistics
#C Time
[min]
#I #LS Avg %
SEI
1 2.1 2 2 1.1 82
2 3.3 3 3 1.1 81
3 1.9 2 2 1.0 85
4 0.7 2 2 0.4 85
5 3.6 3 3 1.2 79
6 4.0 3 3 1.3 80
7 3.6 3 3 1.2 80
Avg 2.7 2.6 2.6 1.0 82
70. © 2010 Process Systems Enterprise Limited
Speed-up/slow-down production at 600 ad.tpd
NL vs LTI model performance: control window
CV: CL response of LTI model gets
closer to that of NL model
71. © 2010 Process Systems Enterprise Limited
Conclusions
Controller design and performance:
− LTI model performed rather well, however...
− rigorous, derived by exact linearisation and not by identification
− perfect observer
− LTI was near optimal but exhibited some infeasibilities
− NL controller was optimal and feasible at all times
− Confirmed time parameterisation
Solution performance:
− Fast real-time computations!!!
− Sufficient slack to perform additional/auxiliary computations!
73. © 2010 Process Systems Enterprise Limited
Summary
Process operations and regulatory control
− Enough degrees-of-freedom for advanced control and
optimisation
− Avoiding complexity at the expense of economic and
environmental performance
Real-time decision-making support
− Model-based Control & Optimisation (MB-C&O)
Timescale
Frequency
Model-based
Control & Optimisation
74. © 2010 Process Systems Enterprise Limited
Summary
First-principles models
− Available for use in MB-C&O
Novel RTDO engine
− Decoupling of model, solution process and problem formulation
− gPROMS-enabled Modelling-and-solution engine (MSE)
− Flexible and transparent “configuration”
Control-specific event-based mechanism
− Problem formulation
− Interpretation of events into (dynamic) optimisation problem
− Problem solution
− Recovery from infeasibilities
75. © 2010 Process Systems Enterprise Limited
Model-based Process Optimisation and Control
Outlook
Solution algorithms
Models
Control problem
formulation
Model-based Control &
Optimisation
* ) Online adaptation of
control & optimisation
problem structure
>> Controller/optimiser-design
alternatives and performance
1) Parallelisation
(sensitivities, linear algebra)
2) Sensitivity-based updates
(neighbouring extremal control)
3) Modelling-and-solution engines
(general advances)
*) Plant-model mismatch:
Uncertainty and robustness
>> State estimation
Multi-scenario computations
76. © 2010 Process Systems Enterprise Limited
Real-time decision-making support
A model-centric vision*
PROCESS
SIMULATION
PROCESS
SIMULATION
PROCESS
SIMULATION
PROCESS
SIMULATION
PROCESS SYSTEM (INDUSTRIAL PLANT)
CONTROL SYSTEM (DCS / PLC)
PARAMETER
ESTIMATION
CONTROL &
OPTIMISATION
PROCESS
OPTIMISATION
SURROUNDINGS (WORLD / MARKET)
DECISION-MAKERS (OPERATORS / PROCESS ENGINEERS)
FIRST-
PRINCIPLES
MODEL
Past Scenarios
OPTIMAL CONTROL &
PROCESS PERFORMANCE
OPTIMAL NOMINAL
OPERATING POINTRECONCILIED DATA
DATA
ACTIONS/DECISIONS
BIAS ESTIMATES
PARAMETER ESTIMATES
PROCESS DATA
Future Scenarios
FORECAST DATA
DATA
RECONCILIATION
DATA
RECONCILIATION
*Rolandi, PA and Romagnoli, JA; Integrated model-centric framework for support of manufacturing operations. Part I: The framework; Comp & Chem Engng; 34, p17-35.
77. © 2010 Process Systems Enterprise Limited
Acknowledgements
Prof Jose A Romagnoli (LSU)
Dr Joseph Zeaiter (Invensys)
A special thanks to:
− Prof Costas C Pantelides (IC, PSE Ltd)
− Prof Larry T Biegler (CMU)
− Prof Wolfgang Marquardt (RWTH)
− Lynn Wuerth and Fady Assassa