Download - Real time dynamic optimisation
© 2010 Process Systems Enterprise Limited
Real-time Dynamic Optimisation
Dr Pablo A Rolandi – Head of Development, PSE Ltd
CPSE Spring Consortium MeetingImperial 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 IndustryIndustrial continuous pulping
Wood chips
Wood pulp
Paper
Reactor(Continuous
cookingdigester)
Pulp and Paper Mill
© 2010 Process Systems Enterprise Limited
Example: Industrial continuous pulpingDigester section
Heterogeneous solid-liquid reactionMulticomponent mixture
Primary KPIs: selectivity and yieldSecondary KPI: washing efficiency
© 2010 Process Systems Enterprise Limited
Industrial continuous pulpingProduction rate change: “open-loop” response
+0.6rpm
© 2010 Process Systems Enterprise Limited
Industrial continuous pulpingProduction rate change: “open-loop” response
+1°C
© 2010 Process Systems Enterprise Limited
Industrial continuous pulpingProduction rate change: “open-loop” response
+1°C
© 2010 Process Systems Enterprise Limited
Industrial continuous pulpingProduction rate change: “open-loop” response
Minimise variability of selectivity (quality)and maximise yield (throughput)
© 2010 Process Systems Enterprise Limited
Industrial continuous pulpingProduction 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 operationsControl 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 ofeconomic and environmental performance
Tim
e s
cale
Freq
uenc
y
© 2010 Process Systems Enterprise Limited
Process operationsReal-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
Tim
e s
cale
Freq
uenc
y
Tim
e s
cale
Freq
uenc
y
© 2010 Process Systems Enterprise Limited
Model-based Process ControlModel Predictive Control (MPC)
Tim
e s
cale
Freq
uenc
y
Plant
MPC
y
yyssuss
u
d
mPID
minU , v
t f
t f =∫t f ∥ey t ∥Q t
۲ ∥eu t ∥R t۲ ∥u t ∥S t
۲ dt∥ey t f ∥Q f
۲ ∥eut f ∥R f
۲
s.t. F x t , x t , y t , u t , v ,=۰x ۰=x۰
uminu t =Uumax
© 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 OptimisationReal-time Optimisation (RTO)
Tim
e s
cale
Freq
uenc
y
Plant
MPC
RTO
y
y
wss
obj
yssuss
u
d
mPID
minu
=x , y , u ,s.t. F x , y ,u ,=۰
uminuumaxwminwwmax
© 2010 Process Systems Enterprise Limited
Model-based Process OptimisationReal-time Dynamic Optimisation (RTDO)
Plant
MPC
RTDO
y
y
w(t)
obj
yref(t)uref(t)u
d
mPID
Tim
e s
cale
Freq
uenc
y
minU , v
t f
t f = x t , xt , y t , ut , v ,s.t. F x t , x t , y t ,u t , v ,=۰
x ۰=x۰uminu t =Uumaxwminee w eewmax
ee
wminei t f w
eit f wmaxei t f
wminii t wii t wmax
ii t
© 2010 Process Systems Enterprise Limited
Real-time (Dynamic) OptimisationCharacteristics
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 OptimisationThe space of innovation
Empirical First-principles
Nonlinear
Linear
1) Constrainedobjective function2) Continuous time
3) SP (PID)
1) Unconstrained quadraticobjective function2) Discrete time
3) MV (MAN/OUT)/SP (PID)
RTO
MPC
Solution methodsand numericalalgorithms?
Advanced processmodelling tools?
© 2010 Process Systems Enterprise Limited
Model-based Control and OptimisationThe space of innovation revisited
Discrete time
Continuous time
Constrained
Unconstrained
Nonlinear
Linear
Empirical Solution algorithms
Models
Control problemformulation
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 operationsReal-time decision making support revisited
New possibilities...
Model-based Control and Optimisation (MB-C&O)
Tim
e s
cale
Freq
uenc
y
Tim
e s
cale
Freq
uenc
y
Model-basedControl & Optimisation
© 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 problemformulation
© 2010 Process Systems Enterprise Limited
First-principles models: an exampleC.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
Real-time Dynamic OptimisationProblem formulation
Control &optimisation
problemformulation
Mathematical problem
statement
Not straightforward!!!
Models
Control problemformulation
Solutionalgorithms
minU , v
t f
t f = x t , xt , y t , ut , v ,s.t. F x t , x t , y t ,u t , v ,=۰
x ۰=x۰uminu t =Uumaxwminee w eewmax
ee
wminei t f w
eit f wmaxei t f
wminii t wii t wmax
ii t
© 2010 Process Systems Enterprise Limited
Problem formulationCharacteristics
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 combinediscrete and continuous features:− Point (discrete), path and zone (continuous) constraints
© 2010 Process Systems Enterprise Limited
Problem formulationAnalysis
EVENTlog_time := 0;event_time := 0;event_type := Prediction_Horizon_Change;value := 1800.0;
EVENTlog_time := 0;event_time := 0;event_type := Control_Window_Change;value := 600.0;
EVENTlog_time := 0;event_time := 0;event_type := Objective_Function_Change;process_variable_name := T101.LT002A.SV;extremisation_type := minimise;
EVENTlog_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;
EVENTlog_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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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
problemformulation
Mathematical problem
statement
Not straightforward!!!
minU , v
t f
t f = x t , xt , y t , ut , v ,s.t. F x t , x t , y t ,u t , v ,=۰
x ۰=x۰uminu t =Uumaxwminee w eewmax
ee
wminei t f w
eit f wmaxei t f
wminii t wii t wmax
ii t
© 2010 Process Systems Enterprise Limited
EVENTlog_time := 0;event_time := 0;event_type := Prediction_Horizon_Change;value := 1800.0;
EVENTlog_time := 0;event_time := 0;event_type := Control_Window_Change;value := 600.0;
EVENTlog_time := 0;event_time := 0;event_type := Objective_Function_Change;process_variable_name := T101.LT002A.SV;extremisation_type := minimise;
EVENTlog_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;
EVENTlog_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 formulationApproach
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&Olanguage
© 2010 Process Systems Enterprise Limited
EVENTlog_time := 0;event_time := 0;event_type := Prediction_Horizon_Change;value := 1800.0;
EVENTlog_time := 0;event_time := 0;event_type := Control_Window_Change;value := 600.0;
EVENTlog_time := 0;event_time := 0;event_type := Objective_Function_Change;process_variable_name := T101.LT002A.SV;extremisation_type := minimise;
EVENTlog_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;
EVENTlog_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 formulationOverall strategy
HORIZON 1800 : 1800 : 1800
INTERVALS 3 600 : 600 : 600 600 : 600 : 600 600 : 600 : 600
PIECEWISE_CONSTANT FS.T101.FC001B.SP.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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)
???
gPROMSlanguage
C&Olanguage
Interpreted events
© 2010 Process Systems Enterprise Limited
Problem formulation strategyExample
EVENTlog_time := 0;event_time := 0;event_type := Prediction_Horizon_Change;value := 1800.0;EVENTlog_time := 0;event_time := 0;event_type := Control_Window_Change;value := 600.0;
EVENTlog_time := 0;event_time := 0;event_type := Objective_Function_Change;process_variable_name := T101.LT002A.SV;extremisation_type := minimise;
EVENTlog_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;
EVENTlog_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 : 1800INTERVALS 3 600 : 600 : 600 600 : 600 : 600 600 : 600 : 600
PIECEWISE_CONSTANT FS.T101.FC001B.SP.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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 strategyExample
EVENTlog_time := 0;event_time := 0;event_type := Prediction_Horizon_Change;value := 1800.0;
EVENTlog_time := 0;event_time := 0;event_type := Control_Window_Change;value := 600.0;EVENTlog_time := 0;event_time := 0;event_type := Objective_Function_Change;process_variable_name := T101.LT002A.SV;extremisation_type := minimise;
EVENTlog_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;
EVENTlog_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 : 600PIECEWISE_CONSTANT FS.T101.FC001B.SP.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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 strategyExample
EVENTlog_time := 0;event_time := 0;event_type := Prediction_Horizon_Change;value := 1800.0;
EVENTlog_time := 0;event_time := 0;event_type := Control_Window_Change;value := 600.0;
EVENTlog_time := 0;event_time := 0;event_type := Objective_Function_Change;process_variable_name := T101.LT002A.SV;extremisation_type := minimise;EVENTlog_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;
EVENTlog_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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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 strategyExample
EVENTlog_time := 0;event_time := 0;event_type := Prediction_Horizon_Change;value := 1800.0;
EVENTlog_time := 0;event_time := 0;event_type := Control_Window_Change;value := 600.0;
EVENTlog_time := 0;event_time := 0;event_type := Objective_Function_Change;process_variable_name := T101.LT002A.SV;extremisation_type := minimise;
EVENTlog_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;EVENTlog_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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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 strategyExample
EVENTlog_time := 0;event_time := 0;event_type := Prediction_Horizon_Change;value := 1800.0;
EVENTlog_time := 0;event_time := 0;event_type := Control_Window_Change;value := 600.0;
EVENTlog_time := 0;event_time := 0;event_type := Objective_Function_Change;process_variable_name := T101.LT002A.SV;extremisation_type := minimise;
EVENTlog_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;
EVENTlog_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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_VALUE 1 : 1 : 1ENDPOINT-INEQUALITY # AT HORIZON FS.DCS.LT001A.MV.Constraint.Point.ScaledValue 1.99 : 2.01MINIMISE FS.DCS.LT002A.SV.Objective.Point.ScaledValue
Scaling of constraints(also objective)
© 2010 Process Systems Enterprise Limited
Real-time Dynamic OptimisationProblem solution
Explicit handling ofconstraints >>
valuable control andoptimisation
technique
Models
Control problemformulation
Solutionalgorithms
Constraints(point, path, zone)
(hard, soft)
minU , v
t f
t f = x t , xt , y t , ut , v ,s.t. F x t , x t , y t ,u t , v ,=۰
x ۰=x۰uminu t =Uumaxwminee w eewmax
ee
wminei t f w
eit f wmaxei t f
wminii t wii t wmax
ii t
Infeasibilities
© 2010 Process Systems Enterprise Limited
Problem solutionInfeasibility 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 solutionInfeasibility 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 factorre-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 factorre-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 schemesConstraint ranking and elimination
© 2010 Process Systems Enterprise Limited
Infeasibility recovery schemesConstraint 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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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 BoundFS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*] No. of No. of Step Objective Current ConstraintIterations Functions Length Function Accuracy Violations 0 1 0.7262 0.9900
<snip>
© 2010 Process Systems Enterprise Limited
Infeasibility recovery schemesConstraint ranking and elimination: example
<snip>
EVENTlog_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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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 BoundFS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*] No. of No. of Step Objective Current ConstraintIterations Functions Length Function Accuracy Violations 0 1 0.7262 0.9900<snip>
© 2010 Process Systems Enterprise Limited
Infeasibility recovery schemesConstraint ranking and elimination: example
<snip>
EVENTlog_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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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 BoundFS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*] No. of No. of Step Objective Current ConstraintIterations Functions Length Function Accuracy Violations 0 1 0.7262 0.9900<snip>
© 2010 Process Systems Enterprise Limited
Infeasibility recovery schemesConstraint ranking and elimination: example
<snip>
EVENTlog_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 BoundFS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*] No. of No. of Step Objective Current ConstraintIterations 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.ProcessVariableINITIAL_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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_VALUE 1 : 1 : 1ENDPOINT-INEQUALITY # AT HORIZON FS.DCS.LT001A.MV.Constraint.Point.ScaledValue 1.99 : 2.01MINIMISE FS.DCS.LT002A.SV.Objective.Point.ScaledValueImplemented in the RTDO engine (ReTO)
© 2010 Process Systems Enterprise Limited
Infeasibility recovery schemesConstraint 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 factorre-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 schemesConstraint 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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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 BoundFS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*] No. of No. of Step Objective Current ConstraintIterations Functions Length Function Accuracy Violations 0 1 0.7262 0.9900
<snip>
© 2010 Process Systems Enterprise Limited
Infeasibility recovery schemesConstraint identification and relaxation: example
<snip>
EVENTlog_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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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 BoundFS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*] No. of No. of Step Objective Current ConstraintIterations Functions Length Function Accuracy Violations 0 1 0.7262 0.9900<snip>
© 2010 Process Systems Enterprise Limited
Infeasibility recovery schemesConstraint identification and relaxation: example
<snip>
EVENTlog_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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_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 BoundFS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*] No. of No. of Step Objective Current ConstraintIterations Functions Length Function Accuracy Violations 0 1 0.7262 0.9900<snip>
© 2010 Process Systems Enterprise Limited
<snip>
EVENTlog_time := 0;event_time := 0;event_type := Horizon_Point_Relaxation_Change;process_variable_name := T101.LT001A.MV;relaxation_factor := 2.0;<snip>
Infeasibility recovery schemesConstraint 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 BoundFS.DCS.LT001A.MV.Constraint.Point.ScaledValue | Endpoint | 1800 | 3.0000 | 1.9900 | 2.0100[*] No. of No. of Step Objective Current ConstraintIterations 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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_VALUE 1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON FS.DCS.LT001A.MV.Constraint.Point.ScaledValue 1.99 : 4.02MINIMISE 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.ProcessVariableINITIAL_PROFILE 0 : 0 : 40 0 : 0 : 40 0 : 0 : 40
TIME_INVARIANT FS.DCS.LT001A.MV.Constraint.Point.ScalingValueINITIAL_VALUE 1 : 1 : 1
ENDPOINT-INEQUALITY # AT HORIZON FS.DCS.LT001A.MV.Constraint.Point.ScaledValue 1.99 : 2.01MINIMISE FS.DCS.LT002A.SV.Objective.Point.ScaledValueImplemented in the RTDO engine (ReTO)
© 2010 Process Systems Enterprise Limited
Dynamic optimisationSolution strategies
Computational cost− Jacobian evaluations
− Numerical perturbation− Symbolic differentiation (equation-oriented modelling
languages)− Automatic differentiation (programming languages)
N o n lin e a r D y n a m icO p tim iza tio n P ro b le m
Simultaneous Sequentialtype Iterative – Infeasible path Iterative – Feasible pathdiscretisation 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
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
Case-study: Industrial continuous pulpingContinuous cooking system
© 2010 Process Systems Enterprise Limited
Case-study: Industrial continuous pulpingContinuous 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 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
CD
© 2010 Process Systems Enterprise Limited
MVs: control trajectories are very similar
Jump production 600 ad.tpd > 650 ad.tpdNL vs LTI model performance
CV: production transition is accomplished
© 2010 Process Systems Enterprise Limited
Jump production 600 ad.tpd > 650 ad.tpdNL vs LTI model performance
OBJ: NL model is optimal(+50k US$/year)
CV: very similar CL responsefor 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.tpdNL 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.tpdNL vs LTI model performance
NL controller failsto converge on the 3rd cycle;however, it does not produce
plant infeasibilities andit fully recovers on the 4th cycle
CV: oscillations;too aggressive control?
CV: CL response is differentfor 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.tpdInfeasibility 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 transitionSpeed-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 productionto 650 tpd (~10%)
in 2hr, slow down productionback to 600 tpd
downstream disturbance: paper machine trip!!!
© 2010 Process Systems Enterprise Limited
Speed-up/slow-down production at 600 ad.tpdNL vs LTI model performance: optimisation tolerance Loose tolerance Tight tolerance
© 2010 Process Systems Enterprise Limited
Computational statisticsNL vs LTI model performance
LTI model computes ~4 times faster than NL model!
NL model solution statistics#C Time
[min]#I #LS Avg %
SEI1 28.9 6 6 4.8 752 14.4 3 3 4.8 793 14.2 3 3 4.7 794 8.0 2 2 4.0 845 7.6 2 2 3.8 846 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 %
SEI1 2.1 2 2 1.1 822 3.3 3 3 1.1 813 1.9 2 2 1.0 854 0.7 2 2 0.4 855 3.6 3 3 1.2 796 4.0 3 3 1.3 807 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.tpdNL vs LTI model performance: control window
CV: CL response of LTI model getscloser 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
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)
Tim
e s
cale
Freq
uenc
y
Model-basedControl & 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 ControlOutlook
Solution algorithms
Models
Control problemformulation
Model-based Control &Optimisation
* ) Online adaptation ofcontrol & optimisation
problem structure>> Controller/optimiser-designalternatives 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 estimationMulti-scenario computations
© 2010 Process Systems Enterprise Limited
Real-time decision-making supportA model-centric vision*
PROCESS SIMULATIONPROCESS
SIMULATION
PROCESS SIMULATIONPROCESS
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 NOMINALOPERATING POINTRECONCILIED DATA
DA
TAA
CTIO
NS
/ DE
CIS
ION
S
BIAS ESTIMATES
PARAMETER ESTIMATES
PROCESS DATA
Future Scenarios
FORECAST DATA
DATARECONCILIATION
DATARECONCILIATION
*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