Skip to content
@nosnoc

nosnoc

Welcome to nosnoc

The nosnoc organization focuses on nonsmooth optimization, with a primary focus on optimal control of nonsmooth dynamical systems. We also maintain several tailored solvers for solving optimization with complementarity constraints.

Packages

We currently maintain the following packages:

  • nosnoc: The namesake project. It contains tools for modeling and solving optimal control problems with hybrid systems, including:

    • Piecewise Smooth Systems: Systems whose dynamics exhibit state based switches in dynamics. We support primarily Filippov systems but also more generically systems with Heaviside step functions on the right hand side.
    • Complementarity Lagrangian Systems: Complementarity based formulations of rigid body dynamics, both in 2D and 3D.
    • Constrained Dynamical Systems: Systems whose dynamics are constrained to a (possibly time-varying) set in the full statespace. These include Projected Dynamical Systems and their variants, as well as First-order Moreau Sweeping Processes.

    This package is written in Matlab using CasADi for modeling and automatic differentiation. It further contains a regularization/relaxation based solver for Mathematical Programs with Complementarity Constraints (MPCC), implementing the myriad of relaxations and regularizations that have been proposed over the last decades.

  • nosnoc_py: A partial re-implementation of the nosnoc package in python. It contains only some of the features of the Matlab package. If you want to use some features which are not currently implemented feel free to reach out to the authors via github issues or via email.

  • mpecopt: A Matlab implementation of an active set solver for MPCCs. It is globally convergent to B-stationary points which are "true" local minima of MPCCs and unlike other stationarity concepts, do not permit first order descent directions.

  • LCQPow: A sequential convex programming approach for solving Quadratic Programs with linear complementarity constraints.

  • nosbench: A benchmark suite of MPCCs arising from nonsmooth optimal control and simulation solvers.

  • vdx: A Matlab software package for the efficient construction and index tracking for structured optimization problems. It supports both standard nonlinear programs and MPCCs and builds and orders the casadi expressions by semantic indices.

Pinned Loading

  1. nosnoc nosnoc Public

    nosnoc is an open source software package for NOnSmooth Numerical Optimal Control.

    MATLAB 62 11

  2. nosnoc_py nosnoc_py Public

    Python 16 5

  3. mpecopt mpecopt Public

    A fast algorithm that reliably computes solutions to optimization problems with complementarity constraints.

    MATLAB 6

  4. nosbench nosbench Public

    MATLAB 5

  5. LCQPow LCQPow Public

    LCQPow - A Solver for Quadratic Programs with Linear Complementarity Constraints

    C++ 27 7

Repositories

Showing 7 of 7 repositories
  • .github Public
    nosnoc/.github’s past year of commit activity
    0 0 0 0 Updated Apr 16, 2025
  • nosnoc Public

    nosnoc is an open source software package for NOnSmooth Numerical Optimal Control.

    nosnoc/nosnoc’s past year of commit activity
    MATLAB 62 BSD-2-Clause 11 28 2 Updated Apr 16, 2025
  • LCQPow Public

    LCQPow - A Solver for Quadratic Programs with Linear Complementarity Constraints

    nosnoc/LCQPow’s past year of commit activity
    C++ 27 LGPL-2.1 7 4 2 Updated Apr 15, 2025
  • mpecopt Public

    A fast algorithm that reliably computes solutions to optimization problems with complementarity constraints.

    nosnoc/mpecopt’s past year of commit activity
    MATLAB 6 BSD-2-Clause 0 5 0 Updated Apr 2, 2025
  • vdx Public

    Automatic Index Tracking for CasADi NLPs

    nosnoc/vdx’s past year of commit activity
    MATLAB 2 BSD-2-Clause 2 5 0 Updated Apr 2, 2025
  • nosbench Public
    nosnoc/nosbench’s past year of commit activity
    MATLAB 5 0 2 0 Updated Mar 4, 2025
  • nosnoc_py Public
    nosnoc/nosnoc_py’s past year of commit activity
    Python 16 BSD-2-Clause 5 3 0 Updated Oct 9, 2024

Top languages

Loading…

Most used topics

Loading…