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

Stork Presentation on Migration (Willem Hazenberg)
Stork Presentation on Migration (Willem Hazenberg)Stork Presentation on Migration (Willem Hazenberg)
Stork Presentation on Migration (Willem Hazenberg)ARC Advisory Group
 
Building The Virtual Plant For DeltaV
Building The Virtual Plant For DeltaVBuilding The Virtual Plant For DeltaV
Building The Virtual Plant For DeltaVJim Cahill
 
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 CasesSadatulla Zishan
 
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 ControlMarcus Quigley
 
Opportunity Assessment and Advanced Control
Opportunity Assessment and Advanced ControlOpportunity Assessment and Advanced Control
Opportunity Assessment and Advanced ControlJim Cahill
 
2014_Pantec_Metrology_BU_PPT_revVERJA
2014_Pantec_Metrology_BU_PPT_revVERJA2014_Pantec_Metrology_BU_PPT_revVERJA
2014_Pantec_Metrology_BU_PPT_revVERJAJavier O. Vera
 
Resume_Piyush Agarwal-DM-IE
Resume_Piyush Agarwal-DM-IEResume_Piyush Agarwal-DM-IE
Resume_Piyush Agarwal-DM-IEPiyush Agarwal
 
201105 ureason introduction
201105 ureason introduction201105 ureason introduction
201105 ureason introductionUReasonChannel
 
PlantConnect overview
PlantConnect overviewPlantConnect overview
PlantConnect overviewSanket Patil
 
Break trough effectivness for the maintenance
Break trough effectivness for the maintenanceBreak trough effectivness for the maintenance
Break trough effectivness for the maintenanceZo Rasatavohary
 
Bradley_Butler_Linkedin_Resume
Bradley_Butler_Linkedin_ResumeBradley_Butler_Linkedin_Resume
Bradley_Butler_Linkedin_ResumeBrad 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 versionLuizclaudiomatto
 
Real time monitoring proposal 2011
Real time monitoring proposal 2011Real time monitoring proposal 2011
Real time monitoring proposal 2011Eduardo Carvajal
 
Essences of semiconductor manufacturing 2024.pdf
Essences of semiconductor manufacturing 2024.pdfEssences of semiconductor manufacturing 2024.pdf
Essences of semiconductor manufacturing 2024.pdfLen Mei
 
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 microsystemsulfkoester
 
Rockwell Automation TechED 2017 - AP20 - Stora Enso
Rockwell Automation TechED 2017 - AP20 - Stora EnsoRockwell Automation TechED 2017 - AP20 - Stora Enso
Rockwell Automation TechED 2017 - AP20 - Stora EnsoRockwell Automation
 

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
 
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
 
Rockwell Automation TechED 2017 - AP20 - Stora Enso
Rockwell Automation TechED 2017 - AP20 - Stora EnsoRockwell Automation TechED 2017 - AP20 - Stora Enso
Rockwell Automation TechED 2017 - AP20 - Stora Enso
 

Recently uploaded

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

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!