Software Architecture
The decision support solutions deployed by Eurodecision are based on software components designed from a technical standpoint to adapt to a range of platforms and technical architectures.
Software components
We continue to develop and enhance a range of software components to represent the data describing the context (business objects), and translating the representation into mathematical models used to resolve the problems using a solver.
Eurodecision regularly uses basic technical components called solvers in order to solve our customers' problems, notably for Mathematical Programming and via linear solvers (which are third-party products). Several other vendors also offer solvers, and we use them when appropriate; it is important for us to remain independent from the basic solver used (in order to compare performance). That is why we have developed middleware, which enable the software components to interface with these solvers.

Fig. 1: Structure of a complete optimisation solution
A typical Eurodecision solution will rely on one or more business optimisation components, which themselves include standard modelling layers as well as one or several solvers.
Each component in the LP range has been developed through our R&D programme, a strategic medium-term Eurodecision activity.
Technical architecture
From a technical standpoint, all our software components—whether standard or custom—are developed in C++ in order to ensure optimal performance and portability.
These software components are provided as DLLs compatible with a wide range of system architectures. Today we offer a range of solutions: standalone, client-server, or based on a Service-Oriented Architecture (thin client or rich client).
We use .net and Java development platforms, market standard database management systems (Oracle, SQL Server, MySQL, PostGreSQL), and if necessary with object mapping layers such as HyberNet.

Fig. 2: Sample system architectures