real time dynamic optimisation

78
© 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

Upload: pablo-rolandi

Post on 24-Jul-2015

70 views

Category:

Technology


0 download

TRANSCRIPT

© 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 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 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

RTDO problem formulation

© 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

RTDO problem solution

© 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

Solution methods for RTDO

© 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

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 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 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

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 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)

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

© 2010 Process Systems Enterprise Limited

Thank you!