Open source software for numerical computation

Skip to main content

Multiobjective optimization of a solar energy system through the combined use of Optimus & Scilab

Silvia Poles, NOESIS Solutions

Optimus is a Process Integration and Design Optimization (PIDO) platform that allows to integrate and combine any scientific or engineering software tool into a single simulation workflow. Once a workflow is defined, Optimus orchestrates the simulation process to automatically explore the design space and identify the optimized solution.

We present how Optimus can easily integrate Scilab with all its capabilities as a computing environment for engineering and scientific applications.

The easiest way to integrate Scilab is by means of what is called a "User Customizable Action" (UCA). A UCA can be used for any software simulation tool that can be run in batch mode. The UCA is easily configured with XML-files, respecting a very simple syntax. Fig.1 depicts an Optimus workflow that runs the Scilab script in batch mode with its own UCA. The workflow is changing each time the values of a vector and it is finding the best configuration that minimizes the difference between the resulting curve and a target curve. 


Figure 1: Example of a workflow: Optimus identifies the optimal parameters to match a target performance.

The integration of Scilab can be even extended by means of what is called a "User Customizable Interface (UCI)". Thanks to a wrapping layer, based on a similar XML technique, it is possible to directly access all Scilab parameters and results. The data exchange between Optimus and Scilab is then more direct and the user does not need to read and write external ASCII files.

With these UCA and UCI capabilities, Optimus provides an easy-to-use graphical drag and drop interface to quickly create a multidisciplinary workflow that contains Scilab scripts.

To demonstrate the benefit of having an independent platform integrating different software combined with Scilab, we present an example that optimizes the performance and costs of a solar energy system.

In this example, the Scilab script is computing the efficiency of the solar energy system [1] while an Excel spreadsheet is calculating the total cost of the system according to the selected components. This represents a multiobjective and multidisciplinary problem in which - by changing parameters such as the collecting areas of panels, type of supports... - Optimus automatically identifies all Pareto-optimal solutions.