[ 01 / CASE STUDY ]
A decade of crude blending, scheduling, and settlement on one platform.
A Canadian integrated energy producer · 2006–2016 · Software Consultant
- expression evaluations per second
- 250K/sec
- engagement
- 10 yrs
- SR&ED approved
- SR&ED
Challenge
Blending economics, contractual and physical balancing, tariff and equalization settlement, and flow scheduling all had to run from one model, integrated with SAP across the enterprise, and fast enough to iterate to convergence inside an interactive planning session.
Approach
- Custom mathematical expression engine emitted as MSIL, with domain delegates for convergence and iterative calculation
- Linear programming for short- and long-term physical flow scheduling
- Contractual and physical balancing at hourly, daily, and monthly grain
- Tariff and equalization modules for shipper financial settlement
- n-tier distributed .NET architecture: WCF services, ASP.NET MVC and WinForms clients, Oracle via iBATIS.NET
- SAP XI EAI integration; LDAP authentication with a custom role-based authorization framework
- Continuous integration with TeamCity; unit testing with NUnit and Rhino Mocks
Stack
- c#
- .net
- wcf
- asp.net mvc
- winforms
- oracle
- ibatis.net
- msil
- microsoft solver foundation
- quickgraph
- sap xi
- teamcity
- nunit