Note: This content is accessible to all versions of every browser. However, this browser does not seem to support current Web standards, preventing the display of our site's design details.


Software developed at IfA

Software for Modeling

  • HYSDEL (HYbrid Systems DEscription Language): Software for modeling of hybrid systems.
    hysdel logo
    • High-level modeling of MLD and hybrid systems
    • Compilation into canonical form & simulation
    • Code export to standard solvers for hybrid MPC

    HYSDEL is a software tool for modeling of mixed logic dynamical (MLD) or hybrid systems, i.e. (switched) linear systems that contain logical inputs, states, outputs or other logical rules. HYSDEL efficiently translates a high-level description of such systems into a canonical form suitable for optimization. The resulting HYSDEL model can be directly employed by optimization solvers for use in hybrid model predictive control.

    Since its inception in 2003, HYSDEL has been used in many industrial projects and is one of the standard modeling tools for hybrid systems.

  • Building RC Modeling Toolbox: Resistance-capacitance modeling tool of buildings for control.
    BRCM logo
    • Generation of dynamic models for buildings
      from construction, geometry, and building data
    • Export of models for use in MPC
    • A large part of the input data can be generated from EnergyPlus input data files

    The Building Resistance-Capacitance Modeling (BRCM) Toolbox for Matlab facilitates the first-principles modeling of buildings for MPC. The Toolbox provides a means for the fast generation of (bi-)linear resistance-capacitance type models from basic geometry, construction and building systems data. The tool also supports the generation of the corresponding potentially time-varying costs and constraints. The Toolbox is based on validated modeling principles.


Software for Predictive Control and Numerical Optimization

The following list gives an overview of the numerical optimization tools developed at IfA, in ascending order in terms of supported problem class and in descending order in terms of computational performance.

  • MPT (Multi-Parametric Toolbox): A Matlab toolbox for parametric optimization, computational geometry and explicit model predictive control.
    MPT logo
    • Parametric optimization (LPs, QPs, LCPs, MILPs, MIQPs)
    • Computational geometry on polyhedra
    • Explicit model predictive control

    MPT implements state of the art numerical solvers for solving parametric optimization problems, i.e. problems that can be pre-solved for all admissible values of the parameters, which results in a look-up table that admits a very efficient online implementation. The computational geometry engine of MPT has a collection of algorithms that operate with convex polyhedra and their unions very efficiently. The toolbox allows a convenient visualization of polyhedra, convex sets, and functions defined over polyhedra. MPT contains easy to use interfaces for modeling, control design, computation, analysis, and postprocessing of optimal controllers in an explicit form. The obtained solution can be exported as a stand alone lookup table to the C programming language and compiled on a target application.

    MPT is one of the most popular toolboxes for parametric programming with more than 30,000 downloads to date.

  • FiOrdOs (First Order Optimization Software) - Iterative gradient projection solvers for embedded systems.
    • Primal and dual (fast) gradient projection methods
    • Quadratic objectives and convex feasible sets
    • Automatic preconditioning
    • C code generation

    When an explicit solution is not available or is too large to store in memory on an embedded platform, gradient-based methods can be both very fast and memory efficient if the problem is mildly conditioned, and the constraint sets are simple (e.g. lower and upper bounds, 2-norm-balls etc.).

    FiOrdOs is a Matlab toolbox for automated generation of C implementations of gradient projection methods. It considers the class of parametric convex programs with quadratic cost, which includes important embedded optimization use cases such as MPC. Additional toolbox features include optimal preconditioning and the automatic certification of the iteration count for a restricted set of problems. The generated C-code can be compiled for any platform and can be made library-free. FiOrdOs also provides a tailored MEX-interface for calling generated solvers inside Matlab and Simulink library for rapid prototyping.

  • FalcOpt (First-order Algorithm via Linearization of Constraints for OPTimization) - Solving efficient nonlinear Model Predictive Control problems with FalcOpt.
    • Novel first-order projected gradient and constraint linearization method
    • Differently from standard gradient method, it also supports nonlinear constraints / dynamics
    • Suited for time-critical applications

    FalcOpt stands for First-order Algorithm via Linearization of Constraints for OPTimization. It allows the user to solve nonlinear Model Predictive Control (or Moving Horizon Estimation) problems via a novel first-order algorithm. This tool works in Matlab and it allows one to automatically generate the C code to solve a custom-made control problem, together with the MEX interface. It heavily exploits sparsity of the problem and it is specifically indicated for time-critical applications. The method is particularly suited for power electronics applications, where computational times in the order of us can be obtained.

  • FORCES (Fast Optimal Real-time Control on Embedded Systems) - Generation of standalone interior-point solvers for MPC-like multistage problems.
    FORCES logo
    • Primal-dual interior point methods for MPC/MHE
    • Efficient for multistage LPs, QPs, QCQPs
    • Strong support for parametric dynamics
    • C Code generation

    Primal-dual interior point methods deliver high performance independently of problem conditioning and the particular shape of the constraint set, and are therefore a viable alternative when gradient projection methods converge slowly.

    FORCES is a code generation framework for convex multistage quadratically constrained quadratic programs (QCQPs), which covers most MPC formulations as well as Moving Horizon Estimation (MHE) problems, spline optimization or portfolio optimization problems, for example. FORCES generates tailored, library-free ANSI-C implementations a of primal-dual interior point method that is several orders of magnitude faster and smaller than most other interior point solvers. No memory manager is employed in the generated code, which can be immediately used on an embedded control system. The generated code comes with a Matlab MEX interface in order to quickly assess the performance of the code.

  • ECOS (Embedded Conic Solver): Standalone software for convex second order cone programming.
    ECOS logo
    • Interior-point method with infeasibility detection
    • Sparse Problems (LPs, QPs, QCQPs, SOCPs)
    • Interfaces to 11 languages/frameworks

    In case the problem is not in multistage form, or has large but sparse matrices or second-order cone constraints and in applications where feasibility dectection is an important feature, general primal-dual interior point methods with sparse linear algebra are a powerful alternative.

    ECOS is a standalone numerical software package for solving convex second-order cone programs (SOCPs). It implements an efficient primal-dual interior point method with homogeneous embedding for detecting infeasibility or unboundedness, and supports also sparse problems. It is entirely written in ANSI C, with a minimal footprint, and so can be run on many platforms including embedded systems. ECOS comes with interfaces to Matlab, Python, Java, Julia, Scala, Breeze, CVX, CVXPY, Yalmip and even JuliaOpt.