Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX and impress
1. Building Cogeneration Planning
and Scheduling
Applications using IBM ODME
and iMPress
DecisionBrain & Industrial Algorithms LLC.
7/19/2013
Copyright, DB & IAL
2. Agenda
• What is ODME?
• What are Industrial Modeling Frameworks?
• What is iMPress?
• ODME-iMPress Implementation
• Benefits
• Proof of Concept
2
3. 3
Based on IBM ILOG Optimization
Portfolio
Engines and Tools
CPLEX Optimization
High-performance mathematical and constraint programming solvers, modeling
language, and development environment
Solution Platform
ODM Enterprise
Build and deploy analytical decision support applications based on optimization
technology
Oil&Gas Production Scheduling
4. ILOG ODM Enterprise
Architecture
(OR)
(IT)
Embeds all CPLEX Optimization Studio
Reporting
Data Integration
Data Modeling
ODM Enterprise IDE
ODM Enterprise
Optimization Server/Engine
ODM Enterprise
Client & Planner
Optimization Modeling,
Tuning, Debugging
Application UI Configuration
(LoB)
Development Deployment
Application UI Customization
Business Use
Custom GUI
Batch process
ODM Enterprise
Data Server
5. Industrial Modeling Frameworks
(iMF’s)
• Process industry business problems are
complex hence an iMF provides a pre-project
or pre-solution advantage (head-start).
• An iMF embeds intellectual-property and
know-how related to the process’s flowsheet
modeling as well as its problem-solving
methodology.
6. iMPress
• iMPress stands for “Industrial Modeling &
PRE-Solving System” and is our proprietary
platform for discrete and nonlinear modeling.
• iMPress can “interface”, “interact”, “model”
and “solve” any production-chain, supply-
chain, demand-chain and/or value-chain
optimization problem.
6
7. Cogenerartion Scheduling
Application Types
• Off-Line Environments:
– Usually « dynamic » optimization with discrete
(logic) & linear variables using Mixed Integer
Linear Programming not including feedback
(feedforward only).
• On-Line Environments:
– Usually « steady-state » optimization with
continuous & nonlinear variables using NLP
including feedback (and feedforward).
– Usually includes steady-state detection, data
reconciliation and regression (« moving horizon
estimation ») with diagnostics for monitoring.
8. Off-Line Optimization
• Sometimes called « load shedding, shifting &
scheduling ».
– Determines steam and power production subject to
supply availability and demand requirements.
– Respects transition (sequence-dependent)
management of producing units such as boilers and
turbogenerators i.e., understands resting (standby),
ramping (startup/shutdown) and running (setup)
which IAL calls « Phasing ».
– Similar to a « product wheel » found in specialty batch
& fast moving consumer goods industries.
9. Off-Line Optimization –
« Phasing »
• « Phasing » forces a predictable operational
sequence or order for selected units.
11. On-Line Optimization
• Typically assumes discrete/logic variables are
fixed – IAL calls this « phenomenological
decomposition ».
• If plant is at « steady-state* » then optimize
process or operating conditions using NLP
(IPOPT, KNITRO, XPRESS-SLP, IAL-
SLPQPE).
• Apply nonlinear data reconciliation &
parameter estimation to provide gross-
error/outlier detection & calibrate model.
* Kelly & Hedengren, « A steady-state detection algorithm to detect non-stationary drifts in processes », Journal of Process Control,
23, 2013.
12. On-Line Optimization
• An important aspect is to callout/callback to
physical/thermodynamic properties such as
enthalpies.
– STEAM67.DLL is « wrapped » in
STEAM67_H.DLL to compute saturated enthalpy
and its first-order derivatives using its saturated
temperature.
&sCondition
HOTF
COLDF
WARMF
HOTT
COLDT
WARMT
FBAL
HFBAL
&sCondition
&sCoefficient,@sType,@sPath_Name,@sLibrary_Name,@sFunction_Name,@iNumber_Conditions,@rPerturb_Size,@sConditi
on_Names
HOTH,dynamic,c:IndustrialAlgorithmsPhysicalPropertiesDebug,steam67_H,steam67_H,1,1e-6,HOTT
COLDH,dynamic,c:IndustrialAlgorithmsPhysicalPropertiesDebug,steam67_H,steam67_H,1,1e-6,COLDT
WARMH,dynamic,c:IndustrialAlgorithmsPhysicalPropertiesDebug,steam67_H,steam67_H,1,1e-6,WARMT
&sCoefficient,@sType,@sPath_Name,@sLibrary_Name,@sFunction_Name,@iNumber_Conditions,@rPerturb_Size,@sConditi
on_Names
Conditions-&sMacro,@sValue
FBAL,HOTF + COLDF - WARMF
HFBAL,HOTH*HOTF + COLDH*COLDF - WARMH*WARMF
Conditions-&sMacro,@sValue
13. Cogeneration (Steam/Power) iMf
7/19/2013
Copyright, Industrial Algorithms LLC
• Time Horizon: 168 time-periods w/ hour
periods.
• Continuous Variables = 5,000
• Binary Variables = 1,000
• Constraints = 7,500
• Time to First Good Solution = 5 to 30-
seconds
• Time to Provably Optimal = 5 to 15-minutes
17. ODME-iMPress-CPLEX
System Architecture
• A domain-specific data model was created in
ODME using the usual master-data and
transactional-data partitions.
• A mapping between iMPress’ data model and
ODME’s data model was established.
• Java code was written to export iMPress’ IML
file (Industrial Modeling Language).
• SWIG Java was used to create a Java Native
Inerface (JNI) to iMPress.
18. ODME-IMPRESS-CPLEX
System Architecture
• Java code was written to call iMPress-CPLEX
using its API’s.
• Java code was written to access the solution(s)
from iMPress-CPLEX using its API’s and to
populate the ODME solution-data partition.
27. Benefits
• Perfectly fit your business model and decision processes
• Sophisticated optimization capabilities able to tackle complex,
non-linear and large-scale problems
• A solution that can be quickly adapted to new production
processes
• A user-friendly GUI to help planners driving refinery operational
excellence and analyzing refinery behavior
• What-if scenario analysis for confident decision-making
• See all your data and options in one place with drill-downs and
graphics
• Collaborate with other planners
• Powered by IBM ILOG CPLEX Optimizers
28. Proof-of-Concept (POC)
• Select plant type, size and complexity.
• Determine if off-line or on-line
application.
• Configure plant model.
• Integrate data sources.
• Solve plant model with plant data.
• Tune plant model (for accuracy &
tractability).