SlideShare a Scribd company logo
1 of 78
Download to read offline
© 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
© 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
© 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
© 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
© 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
© 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
© 2010 Process Systems Enterprise Limited
Industrial continuous pulping
Production rate change: “open-loop” response
+0.6rpm
© 2010 Process Systems Enterprise Limited
Industrial continuous pulping
Production rate change: “open-loop” response
+1°C
© 2010 Process Systems Enterprise Limited
Industrial continuous pulping
Production rate change: “open-loop” response
+1°C
© 2010 Process Systems Enterprise Limited
Industrial continuous pulping
Production rate change: “open-loop” response
Minimise variability of selectivity (quality)
and maximise yield (throughput)
© 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)
© 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
© 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
© 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∥Qt
۲
∥e
u
t ∥Rt
۲
∥ut∥S t
۲
dt∥e
y
t f ∥Qf
۲
∥e
u
t f ∥R f
۲
s.t. F  ˙xt, xt, yt,ut,v ,=۰
x۰=x۰
uminut=U umax
© 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
© 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. Fx , y ,u ,=۰
uminuumax
wminwwmax
© 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 = ˙xt , xt , yt ,ut ,v ,
s.t. F ˙xt, xt, yt ,ut, v ,=۰
x۰=x۰
uminut=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
twmax
ii
t
© 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
© 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?
© 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
© 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)
© 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
© 2010 Process Systems Enterprise Limited
First-principles models for RTDO
© 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
© 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
© 2010 Process Systems Enterprise Limited
RTDO problem formulation
© 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 = ˙xt , xt , yt ,ut ,v ,
s.t. F ˙xt, xt, yt ,ut, v ,=۰
x۰=x۰
uminut=Uumax
wmin
ee
wee
wmax
ee
wmin
ei
t f wei
t f wmax
ei
t f 
wmin
ii
t w
ii
twmax
ii
t
© 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
© 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 = ˙xt , xt , yt ,ut ,v ,
s.t. F ˙xt, xt, yt ,ut, v ,=۰
x۰=x۰
uminut=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
twmax
ii
t
© 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
© 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
© 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
© 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
© 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
© 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
© 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)
© 2010 Process Systems Enterprise Limited
RTDO problem solution
© 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 = ˙xt , xt , yt ,ut ,v ,
s.t. F ˙xt, xt, yt ,ut, v ,=۰
x۰=x۰
uminut=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
twmax
ii
t
Infeasibilities
© 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:
© 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
© 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
© 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>
© 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>
© 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>
© 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)
© 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
© 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>
© 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>
© 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>
© 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)
© 2010 Process Systems Enterprise Limited
Solution methods for RTDO
© 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%)
© 2010 Process Systems Enterprise Limited
RTDO engine: ReTO
© 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
© 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)
© 2010 Process Systems Enterprise Limited
An industrial case study
© 2010 Process Systems Enterprise Limited
Case-study: Industrial continuous pulping
Continuous cooking system
© 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)
© 2010 Process Systems Enterprise Limited
Case studies and results
© 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)
© 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
© 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
© 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
© 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
© 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
© 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)
© 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!!!
© 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
© 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
© 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
© 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!
© 2010 Process Systems Enterprise Limited
Summary and outlook
© 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
© 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
© 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
© 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.
© 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
© 2010 Process Systems Enterprise Limited
Thank you!

More Related Content

Similar to Real time dynamic optimisation

2014_Pantec_Metrology_BU_PPT_revVERJA
2014_Pantec_Metrology_BU_PPT_revVERJA2014_Pantec_Metrology_BU_PPT_revVERJA
2014_Pantec_Metrology_BU_PPT_revVERJA
Javier O. Vera
 
Resume_Piyush Agarwal-DM-IE
Resume_Piyush Agarwal-DM-IEResume_Piyush Agarwal-DM-IE
Resume_Piyush Agarwal-DM-IE
Piyush Agarwal
 
Bradley_Butler_Linkedin_Resume
Bradley_Butler_Linkedin_ResumeBradley_Butler_Linkedin_Resume
Bradley_Butler_Linkedin_Resume
Brad Butler
 
Italy MAG Wire Business case _Scada system Jan 2016 english version
Italy MAG Wire Business case _Scada system Jan 2016 english versionItaly MAG Wire Business case _Scada system Jan 2016 english version
Italy MAG Wire Business case _Scada system Jan 2016 english version
Luizclaudiomatto
 
Agile PLM implementation and systems integration at sun microsystems
Agile PLM implementation and systems integration at sun microsystemsAgile PLM implementation and systems integration at sun microsystems
Agile PLM implementation and systems integration at sun microsystems
ulfkoester
 

Similar to Real time dynamic optimisation (20)

Proxy biz institutional-10-2014-eng
Proxy biz institutional-10-2014-engProxy biz institutional-10-2014-eng
Proxy biz institutional-10-2014-eng
 
Stork Presentation on Migration (Willem Hazenberg)
Stork Presentation on Migration (Willem Hazenberg)Stork Presentation on Migration (Willem Hazenberg)
Stork Presentation on Migration (Willem Hazenberg)
 
Building The Virtual Plant For DeltaV
Building The Virtual Plant For DeltaVBuilding The Virtual Plant For DeltaV
Building The Virtual Plant For DeltaV
 
IIoT in Pharma Manufacturing and Use Cases
IIoT in Pharma Manufacturing and Use CasesIIoT in Pharma Manufacturing and Use Cases
IIoT in Pharma Manufacturing and Use Cases
 
Simulation data management for the Interdisciplinary Development of Drive Sys...
Simulation data management for the Interdisciplinary Development of Drive Sys...Simulation data management for the Interdisciplinary Development of Drive Sys...
Simulation data management for the Interdisciplinary Development of Drive Sys...
 
Cotopaxi Presentation - India
Cotopaxi Presentation - IndiaCotopaxi Presentation - India
Cotopaxi Presentation - India
 
Effective Plant Management
Effective Plant ManagementEffective Plant Management
Effective Plant Management
 
High Performance Green Infrastructure, New Directions in Real-Time Control
High Performance Green Infrastructure, New Directions in Real-Time ControlHigh Performance Green Infrastructure, New Directions in Real-Time Control
High Performance Green Infrastructure, New Directions in Real-Time Control
 
Trial lecture
Trial lectureTrial lecture
Trial lecture
 
Opportunity Assessment and Advanced Control
Opportunity Assessment and Advanced ControlOpportunity Assessment and Advanced Control
Opportunity Assessment and Advanced Control
 
2014_Pantec_Metrology_BU_PPT_revVERJA
2014_Pantec_Metrology_BU_PPT_revVERJA2014_Pantec_Metrology_BU_PPT_revVERJA
2014_Pantec_Metrology_BU_PPT_revVERJA
 
Resume_Piyush Agarwal-DM-IE
Resume_Piyush Agarwal-DM-IEResume_Piyush Agarwal-DM-IE
Resume_Piyush Agarwal-DM-IE
 
201105 ureason introduction
201105 ureason introduction201105 ureason introduction
201105 ureason introduction
 
PlantConnect overview
PlantConnect overviewPlantConnect overview
PlantConnect overview
 
Break trough effectivness for the maintenance
Break trough effectivness for the maintenanceBreak trough effectivness for the maintenance
Break trough effectivness for the maintenance
 
Bradley_Butler_Linkedin_Resume
Bradley_Butler_Linkedin_ResumeBradley_Butler_Linkedin_Resume
Bradley_Butler_Linkedin_Resume
 
Italy MAG Wire Business case _Scada system Jan 2016 english version
Italy MAG Wire Business case _Scada system Jan 2016 english versionItaly MAG Wire Business case _Scada system Jan 2016 english version
Italy MAG Wire Business case _Scada system Jan 2016 english version
 
Real time monitoring proposal 2011
Real time monitoring proposal 2011Real time monitoring proposal 2011
Real time monitoring proposal 2011
 
Essences of semiconductor manufacturing 2024.pdf
Essences of semiconductor manufacturing 2024.pdfEssences of semiconductor manufacturing 2024.pdf
Essences of semiconductor manufacturing 2024.pdf
 
Agile PLM implementation and systems integration at sun microsystems
Agile PLM implementation and systems integration at sun microsystemsAgile PLM implementation and systems integration at sun microsystems
Agile PLM implementation and systems integration at sun microsystems
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

Real time dynamic optimisation

  • 1. © 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∥Qt ۲ ∥e u t ∥Rt ۲ ∥ut∥S t ۲ dt∥e y t f ∥Qf ۲ ∥e u t f ∥R f ۲ s.t. F  ˙xt, xt, yt,ut,v ,=۰ x۰=x۰ uminut=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. Fx , y ,u ,=۰ uminuumax wminwwmax
  • 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 = ˙xt , xt , yt ,ut ,v , s.t. F ˙xt, xt, yt ,ut, v ,=۰ x۰=x۰ uminut=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 twmax 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 = ˙xt , xt , yt ,ut ,v , s.t. F ˙xt, xt, yt ,ut, v ,=۰ x۰=x۰ uminut=Uumax wmin ee wee wmax ee wmin ei t f wei t f wmax ei t f  wmin ii t w ii twmax 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 = ˙xt , xt , yt ,ut ,v , s.t. F ˙xt, xt, yt ,ut, v ,=۰ x۰=x۰ uminut=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 twmax 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)
  • 37. © 2010 Process Systems Enterprise Limited RTDO problem solution
  • 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 = ˙xt , xt , yt ,ut ,v , s.t. F ˙xt, xt, yt ,ut, v ,=۰ x۰=x۰ uminut=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 twmax 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%)
  • 53. © 2010 Process Systems Enterprise Limited RTDO engine: ReTO
  • 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!
  • 72. © 2010 Process Systems Enterprise Limited Summary and outlook
  • 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
  • 78. © 2010 Process Systems Enterprise Limited Thank you!