The COFFEE (Collaborative Open Framework For Electrical Engineering) platform aims to federate communities of researchers (and possibly even the “citizen”) around open science. More concretely, it gathers our open-source software to enable worldwide diffusion and reuse, allow also companies to develop service on. But beyond the open-source software, it gather also open-data for the experiments that are produced (on a case-by-case basis, or continuously, i.e. in real time), or open-source hardware for the equipment that are developed, in particular in living lab platforms (diagram, source code, etc.).
COFFEE aims in particular to capitalize and exploit via the python scripting language a set of tools dedicated to the optimization of systems. This is for example the non-linear optimization methodology based on the Jacobian calculation, historically developed for CADES tool
and now in an open-source version in the NoLOAD tool (Non Linear Optimization using Automatic Differentiation). It is also the methodology for modeling linear optimization problems developed specifically for the application area of multi-energy district planning with the OMEGAlpes tool.
OMEGAlpes (Optimization ModEls Generation As Linear Programs for Energy System)
It is an open-source modeler of energy optimization problems at the neighborhood level.
OMEGAlpes was created to help stakeholders to quantify the potential of projects involving several energy carriers and help them during decision making. Written in Python, OMEGAlpes relies on the object-oriented concept to compose energy units (producers, consumers, storage) and generate the global optimization problems. An abstraction layer is based on the PuLP package in order to transpose the case studies to different solvers (CBC, CPLEX, Gurobi, etc.) via two available formats (MPS and LP).
Available at https://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes, this Python library is accessible in open-source with a permissive license for a non-restrictive contribution. An example of a problem dealt with by OMEGAlpes is the flexibility problem described below and available on the documentation
Auteurs : B. Delinchant, S. Hodencq, Y. Marechal, L. Morriet, C. Pajot, V. Reinbold, F. Wurtz.
NoLOAD (Non Linear Optimization using Automatic Differentiation)
It is an optimization tool in which the designer describes the parametric model of the system he wishes to size, as well as the specifications (research space, constraints, objectives) and makes it possible to obtain an optimal solution. The tool relies for this on the automatic differentiation technic of the code based on AutoGrad, which has evolved a lot in recent years and has enabled in particular significant advances in artificial intelligence which relies on this technique during the learning phases.
The SciPy package for optimization and post-processing libraries (matplotlib, plotly). NoLoad source code is accessible from the University of Grenoble Cloud (https://gricad-gitlab.univ-grenoble-alpes.fr/design_optimization/noload). In addition, it is possible to use NoLoad without installing the execution infrastructure (Python + Libraries), for that, use notebooks from JupyterHub (jupyterhub.u-ga.fr) or other cloud environments such as Binder, CoCalc or GoogleColab :
using Binder: https://tinyurl.com/OMEGAlpes-exemple-PV
using CoCalc: https://tinyurl.com/OMEGAlpes-Basic-Example
Auteurs : B. Delinchant, L. Gerbaud, F. Wurtz.