2014 software global client conference -...
TRANSCRIPT
Tips & Tricks from
ROMeo
Implementation
Projects
Robert S. Morrison
Optimization Consultant
September 30, 2014
2014 Software Global Client Conference
Mobile App: Please take a moment…
Check into Session by:
●Select Detailed Schedule
●Select the specific session
●Click on “Check in”
Take Session Survey by:
●Select Detailed Schedule
●Select the specific session
●Scroll Down to “Survey” and Provide Feedback
2014 Software Global Client Conference
Tips & Tricks from ROMeo Implementation Projects
Discussion and Questions
Use of Some Key ROMeo Features
Modeling Considerations
ROMeo Applications
Introduction to ROMeo
2014 Software Global Client Conference
What is ROMeo?
• Comparable to offline simulators (e.g. PRO/II) Rigorous
• Connected to process data and process control with full automation Online Modeling
• Model represented by sets of equations and solved simultaneously Equation-based
• Designed for large scale optimization Optimization
2014 Software Global Client Conference
ROMeo – Why “equation-based”?
Advantages of Equation Oriented Modeling
Speed of solution for large scale applications
Flexibility of model specification (swapping inputs and outputs)
Ease of adding and solving equations
Simultaneous solution of model equations and optimization
• Data Reconciliation Mode - Optimal model fitting to match plant data
• Optimization Mode - Optimization of plant operation to maximize profit
No custom algorithms required for each model or flowsheet convergence – no recycles
Easier to modify and maintain
2014 Software Global Client Conference
ROMeo – Why “equation-based”?
Other Equation Oriented Modeling Considerations
Every variable needs an estimate
• Built in Initial Estimate Generation methods
• All variables accessible to the user
Reasonable bounds generally required
• Default bounds for selected variables
• Flexible bounding features for automated bound management
Derivatives of equation residuals required
• Automatically calculated, mostly analytical, some numerical
Equations should generally be continuous functions between model bounds
• Discontinuities should be minimized/avoided
• Design consideration when adding user models and equations
2014 Software Global Client Conference
Why use ROMeo?
ROMeo Versus Offline Steady State Simulators
Offline Design Simulators ROMeo Steady State Yes Yes
Rigorous Unit Models with broad model
library and flowsheet paradigm Yes Yes
Rigorous Thermodynamics Yes Yes
Solution Approach Sequential (custom algorithm) Simultaneous (SQP)
Ease of Model Configuration Preferred for Design
Preferred for Data Reconciliation,
Optimization, and Model Adaptation
Scalability to Very Large Applications Limited
(difficulty increases rapidly with scale)
Yes
(well suited for very large models)
Designed for Automated Tuning to Match
Plant Operation (Data Reconciliation) No
Yes
(includes measurement models, supports
Data Reconciliation)
Designed for Profit Optimization Limited
Yes
(built-in profit objective support)
Designed for On-line Automation (sequencing
and interfacing features) Limited
Yes
(includes plant lineup and control status)
Designed for multiple calculation modes
(mode dependent specification) No
Yes
(DataRec, Parameterization, Simulation,
Optimization, User extensible)
2014 Software Global Client Conference
Where is ROMeo typically used?
Typical ROMeo Applications
• Automated closed loop profit optimization of one or more process units
• Automated equipment performance monitoring and maintenance benefits calculation
• Material Balance Reconciliation
• Offline planning tool for feedstock optimization
• Production allocation
• Any application requiring automation of a process model
Project Expectations Drive Implementation Approaches
• Reasonably priced
• Justifiable – Worthwhile ROI
• Efficient to deliver
• Efficient to run
• Maintainable
• Accurate
• Reliable
• Versatile
• Automatic
2014 Software Global Client Conference
Typical ROMeo On-line Optimization Application
Characteristics & Functionalities – More than just a model!
Refining, petrochemical and gas processing
Large scale and complex processes
Automatically run when process is near steady state
Automatically adapting to process configuration changes
Automatically and optimally tuned to current operating and equipment conditions
Automatically adapting to control configuration and bounds
Automatically determining the optimal operating point (maximum profit) within allowable operating window
Automatically returning operating targets to plant APC
May involve other automated calculations (“Engineering optimization”, automated cleaning cases studies, etc)
May involve offline interactive components (simulation and optimization case studies, etc)
Other types of applications may involve other functionalities
2014 Software Global Client Conference
ROMeo Application Design and Implementation Considerations
Designed and Scoped to Meet Customer Specific Requirements
• Suitable model scope and detail/fidelity
• Model modularity and organization
• Data interfacing
• Model validation
• “Use Cases”
• Automation approach
• User interfaces
• Solution presentation – reports, displays, notifications
2014 Software Global Client Conference
What should be included in the model?
Primary Real Time Optimization (RTO) modeling goals
• Optimize the process unit operation within the allowable operating limits
• Accurately compute profit change as a function of plant optimization variable (MVC manipulated variable (MV) changes
• Reliably predict constraint variable (MVC CVs) values as a function of plant MV changes
RTO model scope – Include model components that impact:
• Optimization Variables – Those operating variables that can be moved within limits to achieve an improved profit
• Constraints – Those equipment, safety and operating limits that must be honored
• Objective Function – How is the unit’s (company’s) profit impacted by changes in the units operation
Don’t include unnecessary model scope as it adversely impacts system efficiency and maintainability as well as required effort and project cost
2014 Software Global Client Conference
Modeling Approaches
How should the units/variables be modeled?
Modeling approaches
• First principles (rigorous models) – generally used preferentially
• Empirical (correlated models)
• Linear constraint projection (gain units) – often used to model constraint variables not readily modeled with first principles models
Proper modeling of effects on objective prediction most important
• Reactor yields
• Product separation
• Major variable utilities for energy intensive processes
2014 Software Global Client Conference
Reactor Modeling – Built-in and User-added
Conversion Model
• User configured reaction stoichiometry and conversion
SIMSCI Reactor Models - Refining
• SIMSCI - FCC, HFAlky, SFAlky, ISOM, Reformer, HDP (hydrotreating and hydrocracking), VOM (visbreaking), Coker
Third Party Reactor Models
• KBC – FCCSim, HCRSim, REFSim, VGOHTRSim, NHTRSim
• Technip - SPYRO (ethylene furnace)
User Added Reactor Models
• Native Milano (ROMeo’s model development language)
• EEB - External Equation Block, open form external model
• BBM - “Black Box” Model – closed form
2014 Software Global Client Conference
Model Specification Techniques
Think “predictive” – How does the plant behave?
Online model specification (defining model inputs) should reflect how the actual plant equipment and control system operate
•Different approach from offline design simulations
•Mode dependent behavior implemented based on non-process units (measurements, tuning parameters, SISO, MVC, etc)
Specify models based on process control
•Regulatory controlled variables or Setpoints
•MVC MVs and CVs
Specify models based on equipment performance
•Equipment performance parameters
•Performance variable values or variable offsets determined in Data Reconciliation or Parameterization
Example specifications
•Exchanger heat transfer coefficient better than fixed outlet temperature (if not controlled)
•Compressor head curve with offset better than just compressor outlet pressure (if not controlled)
•Specify pumparound flow if it’s an MV in the plant MVC
2014 Software Global Client Conference
Model Modularity and Organization Techniques
Subflowsheets and Block Diagrams
Model Organization driven by
• Plant complexity
• Model development and maintenance considerations
• Model “Use Cases”
• Plant Operating Lineups
Block diagrams primarily used for display/graphic purposes
Subflowsheets used for functional model management
• Turn on/off/down a process area without losing state of underlying equipment
• Solve a plant area separately while maintaining meaningful specification
• Easily manage parallel model development effort by maintaining flowsheet modularity
2014 Software Global Client Conference
Model Modularity and Organization Techniques
Customizations – broadly used in almost every model
Customizations
• Custom Variables
• Custom Equations
• Fix and Free Variables (swap model inputs and outputs)
Customization Types
• Flowsheet – access variables in current flowsheet units or subflowsheets
• Unit – access variables in unit or unit products
• Subflowsheet/Boundary – variables in subflowsheet including at least one boundary stream variable
New “user” variables can be added to Unit and Flowsheet Customizations, and Process Streams
2014 Software Global Client Conference
Model organization techniques
Use of Customizations – broadly used in almost every model
Place customizations in the lowest appropriate level - flowsheet/subflowsheet/unit
• Keeps the custom calculations close to the units/streams affected
• Allows further customization at higher model levels
• Higher level customizations can change specifications in lower level customizations
Modularize custom calculations
• Segregate custom calculations from cross unit spec swaps
• Use separate customizations for unrelated calculations
• Allows improved control over turning custom calculations on/off
Learn use of subflowsheet customization and interactions between them
• Use to fix/free variables entering/leaving subflowsheet (one or both swapped specs should be a “boundary” variable)
• Used for “back propagation” through subflowsheets (demand driven flow, pressure propagation, etc)
2014 Software Global Client Conference
Flowsheet and Unit Customizations
Little known features - $IF
$IF construct allows conditional inclusion of equation terms
Used to exclude terms when referenced equipment is out of service
Condition is evaluated based on static initial value of a parameter
2014 Software Global Client Conference
Flowsheet and Unit Customizations
Little known features - Case
Case construct allows conditional inclusion of equation terms
Used to select term to be included based on a variable value
Condition is evaluated based on current value of a model variable during solution
Allows piecewise fit functions to be evaluated during solution
Make sure that function is continuous in value and preferably derivative as well
y = -10x + 1500 y = -0.2x2 + 10x + 1000
0
500
1000
1500
2000
0 20 40 60 80 100 120
Y-c
alc
X
Performance
Linear
Quadratic
2014 Software Global Client Conference
Interfacing Models to Plant Data
Interfacing Model to plant data with
External Data Interface (EDI)
• EDI provides convenient access to numerous data sources
• Process and control data generally accessed through plant data historian
• Model measurements generally linked to plant average values
• Lab and analyzer data often linked to most recent value
• Control status and bounds generally interfaced to current values
• Model results frequently exported to plant historian
2014 Software Global Client Conference
Interfacing Models to the Plant Control
Adapting models to plant control configuration – MVCs (and SISOs)
• Specify MVC2 Unit MVs and CVs – Optimization Variables and Constraints
• On/Off control – Fix/Free independents, ignore/honor bounds
• Bound values (operator entered, engineering limits, etc)
• High/Low Limited flags
• Normal steps – rate limit opt moves
• Most control interfacing all in one place
• Supports solution validation checks
2014 Software Global Client Conference
Validating the Model
Does the model match the data AND predict the plant behavior?
Measurement reconciliation – use weights of 1/0 and use realistic expected accuracies
Make sure that DataRec objective is reasonable at solution (target < 4 * Number of Measurements)
Use DataRec reports and ObjFctContrib macro to quickly evaluate DataRec results
Avoid over parameterized model – risk when plant is under-instrumented and/or model has excess tuning parameters
Don’t over focus on absolute model fit while neglecting gains. Sensitivity is more important to optimization model results.
Objective and constraint moves in optimization are entirely dependent on model gain predictions (not absolute model fit).
Compare model gains (sensitivity analysis) to plant gains (MVC test results, other plant gain tests, and engineering reason)
2014 Software Global Client Conference
Sensitivity Analysis
How are model outputs affected by inputs?
Generate Sensitivity Results
• Solve Simulation or Optimization Model
• Configure “Cause” and “Response” variables in Sensitivity Analysis
• Save sensitivity case definition for future use
• Calculate and generate sensitivity report
• Sensitivity cases can also be run via macro
Compare model gains to APC and plant test gains
Generate simplified “local” linear models
• Linear quality inferentials from rigorous model
• Update LP models
• Compute yields and profit terms with respect to various operating variables
2014 Software Global Client Conference
Extended Model Use Cases (Automated and On Demand)
ROMeo is not just for Closed Loop Optimization
DataRec and Optimization standard in RTO applications
“Engineering Optimization”
• Determine potential benefits and plant operating point with broadened bounds
Automated case studies
• Determine equipment maintenance benefits
• Compute normalized unit performance
Generation of linear models (sensitivity analysis)
• LP updating
• Results analysis
2014 Software Global Client Conference
Use of Macros (TCL scripting)
A multitude of applications
Model building/configuration – Add, configure, and interface model units automatically (data driven)
•Measurements and Tuning Parameters
•Gain Units
•MVCs
Adapting model to current process configuration – “lineup” macros
•Turn equipment on or down
Custom interfacing to external files
• Import/export data not suitable for EDI (e.g. load crude assays)
Custom reporting
Custom automation
Custom pre/post solution calculations
…
2014 Software Global Client Conference
Use of Macros (TCL scripting)
A multitude of features – Learn TCL it will be worthwhile
Full featured extensible open source programming language with a broad user community
Well documented on the web, in reference and training manuals, and in ROMeo online help
Extensive ROMeo TCL extensions (see ROMeo online macro help)
Milano methods – provide access to methods within models, useful for actions not directly supported in macro calls
“source” command allows macros to be stored in external files
Packages (math, tcom, tdom, http, pop3, etc) – TCL function libraries
• math – extensive library of math functions
• tcom – automation of programs external to ROMeo (e.g. Excel, other COM enabled tools)
• tdom – reading/writing/parsing XML and HTML documents
• http – web access
• pop3 – email access
Packages not distributed with ROMeo’s TCL 8.4 may be available online and installed by the user
2014 Software Global Client Conference
Automation of ROMeo models
Scheduled, Triggered Unattended Automation and HMI Options
Automate and Interact with models in various ways
Different methods for running models
• ROMeo client GUI – Manual triggering of model solve or macro
• ROMeo RTS Sequences – Scheduled or triggered model tasks (solve or macro)
• Model macros – TCL scripted solving of model
• Excel OPS Add-in – Triggering of model solve from Excel (via OPSServer)
• OPSServer – execution of model solve, macro, RTS sequence, etc compatible with various programming languages/environments
• Excel ROMeo Portal – Alternate Excel Interface
2014 Software Global Client Conference
ROMeo Application Report Options
Built-in text reports (customizable)
Built-in html reports (customizable)
Custom Excel reports populated directly from model macros or via csv or tab delimited text files
Custom macro generated text, html, xml reports
Custom XSL may be used to create custom views of standard and custom XML output
Custom html and Excel reports based on historian data access tools
2014 Software Global Client Conference
Remote Monitoring
Notifications using email task in RTS
● Requires access to SMTP mail server
● Automatically send email with attachments from sequence or model app (e.g. reports,
spreadsheets, etc)
● Can be used for text notifications with email to text via phone carriers SMS gateway
2014 Software Global Client Conference
ROMeo designed for
Rigorous Online Modeling and equation-based optimization
and
A WHOLE LOT MORE!
Discussion and Questions
2014 Software Global Client Conference
Related Support, Services, Training & Expo Demos
> SimSci Portfolio Tech Support 24/7
> Project-specific Tech Support options
Support
Training
> ROMeo Training
> SimSci Reactor Modeling Training
> SimSci APC Training
> Yield Accounting Training
> APC Implementation
> ROMeo Implementation and Consulting
> Yield Accounting Implementation
Services
Expo Demos
> ROMeo Platform Demo
> ROMeo SimSci Reactors Demo
> SimSci APC Demo
> Yield Accounting Demo
> Dynsim Demo
> PRO/II Demo