Skip to content

Optimizing the Electrical Grid

Invenia Technical Computing is scaling up its energy intelligence system using Julia

Invenia Technical Computing optimizes the electrical grid across North America, using an Energy Intelligence System (EIS) that uses various signals to directly improve the day ahead planning process. They employ the latest research in machine learning, complex systems, risk analysis, and energy systems.

Invenia’s current codebase is mostly written in MATLAB, Python and C. But now Invenia is looking to scale up its operations, and their language of choice for this experiment is Julia. This would allow them to improve their systems to use much more data, optimize more electricity grids, and run simulations in less time.

Additionally, Julia provides Invenia with some much needed versatility in terms of programming style, parallelization and language interoperability.

“We were constrained by MATLAB in terms of programming style (vectorization was the only way), available libraries (no hash table, for instance), cost (new release and toolboxes), parallelization (no way to do generic parallel processing or threading), speed (no way to hyper-optimize critical MATLAB code without dropping to C/C++/Fortran), and compatibility (calling C/C++ is cumbersome and calling Python from MATLAB caused a bunch of hassles.”

Invenia actively contributes to Base Julia, and writes a number of Julia packages for its work, many of which are open source. Some examples are:

• Arbiter.jl

• BayesianOptimization.jl

• DeferredFutures.jl

• DateParser.jl

• Holidays.jl

• Interfaces.jl

• FTPClient.jl

• Mocking.jl

• StackTraces.jl

• TimeZones.jl

• VirtualArrays.jl

Invenia is using Julia to make electrical grids more efficient, reliable and secure.