Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Changes v3.0.0 to v3.1.0
In addition to C++, Python and MATLAB, CasADi can now be used from Octave.
Python 3 is now supported. The support first appeared in the minor release 3.0.1.
- CasADi 3.0 introduced the function
qpsolfor creating QP solver objects using either a low-level interface (specifying the matrix sparsities) or a high-level interface (specifying the objective and constraint expressions, just as as for NLPs). In CasADi 3.1, the function overload corresponding to low-level interface has been renamed
conicto avoid ambiguity issues and to reflect a generalization of the internal classes. The high-level interface is called
Compilerclass has been generalized and renamed
Refactored and updated interface to SUNDIALS
The SUNDIALS interface has been updated to the latest version, 2.6.1, and has undergone a major update. The updated interface should scale much better than before to larger dimension, thanks to improved support for (the automatic) sensitivity analysis. During the refactoring, some support was dropped, in particular the use of SUNDIALS' built-in direct linear solvers. The default linear solver is now CasADi's 'csparse' plugin (a direct sparse solver distributed with CasADi). To get a dense solver (previously the default option), you can e.g. use CasADi's 'lapacklu' plugin. Also note the improved just-in-time compilation support, see below.
- Just-in-compilation, to speed up numerical evaluation, is now more easily available. If you set the option
jitto true for the NLP solver objects, the rootfinder objects or the integrators, then just-in-time compilation will be used for the internal auto-generated functions.
- KNITRO now supports mixed-integer NLPs
mapaccumimplementation has been removed as AD primitive and replaced with an unrolled MX Function. A consequence is that it scales unfavourably with
N. If you have code of the form
step.mapaccum('map', 10000), you better replace it by a stack of smaller N:
- bonmin: A mixed integer NLP solver (included in binaries, no need for separate installation)
- A modified version of blockSQP, an NLP solver with block structure exploitation (included in source/binaries)
- ma27: A sparse direct linear solver for symmetric, not necessarily positive definite linear systems.
- hpmpc: The fast MPC solver by Gianluca Frison (included in binaries, no need for separate installation)
- slicot solver for Periodic Lyapunov Equations was ported from CasADi 2.4
Changes to the binaries
retracted for now; crashes reported
with_openmpflag enabled for all builds
- bumped the minimal OS version of debian builds to 14.04 LTS (was 12.04 LTS) A result of this is that the binaries do not run as-is on a 12.04 system. You can still make them run with:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install libstdc++6-4.7-dev
- snopt: version 7.5-1.2 (June 2015). Build flags: with-c, with-64 (see build script)