Model Predictive Control Toolbox
Model Predictive Control Toolbox™ provides functions, an app, Simulink® blocks, and reference examples for developing model predictive control (MPC). For linear problems, the toolbox supports the design of implicit, explicit, adaptive, and gain-scheduled MPC. For nonlinear problems, you can implement single- and multi-stage nonlinear MPC. The toolbox provides deployable optimization solvers and also enables you to use a custom solver. You can evaluate controller performance in MATLAB® and Simulink by running closed-loop simulations. For automated driving, you can also use the provided MISRA C®- and ISO 26262-compliant blocks and examples to quickly get started with lane keep assist, path planning, path following, and adaptive cruise control applications. Design implicit, gain-scheduled, and adaptive MPC controllers that solve a quadratic programming (QP) problem. Generate an explicit MPC controller from an implicit design. Use discrete control set MPC for mixed-integer QP problems.
Learn more
RASON
RASON (RESTful Analytic Solver Object Notation) is a modeling language and analytics platform embedded in JSON and delivered via a REST API that makes it simple to create, test, solve, and deploy decision services powered by advanced analytic models directly into applications. It lets users define optimization, simulation, forecasting, machine learning, and business rules/decision tables using a high-level language that integrates naturally with JavaScript and RESTful workflows, making analytic models easy to embed into web or mobile apps and scale in the cloud. RASON supports a wide range of analytic capabilities, including linear and mixed-integer optimization, convex and nonlinear programming, Monte Carlo simulation with multiple distributions and stochastic programming methods, and predictive models such as regression, clustering, neural networks, and ensembles, plus DMN-compliant decision tables for business logic.
Learn more
CVXOPT
CVXOPT is a free software package for convex optimization based on the Python programming language. It can be used with the interactive Python interpreter, on the command line by executing Python scripts, or integrated in other software via Python extension modules. Its main purpose is to make the development of software for convex optimization applications straightforward by building on Python’s extensive standard library and on the strengths of Python as a high-level programming language. Efficient Python classes for dense and sparse matrices (real and complex), with Python indexing and slicing and overloaded operations for matrix arithmetic. Interfaces to the linear programming solver in GLPK, the semidefinite programming solver in DSDP5, and the linear, quadratic and second-order cone programming solvers in MOSEK.
Learn more
AMPL
AMPL is a powerful and intuitive modeling language designed to represent and solve complex optimization problems. It enables users to formulate mathematical models in a syntax that closely mirrors algebraic notation, facilitating a clear and concise representation of variables, objectives, and constraints. AMPL supports a wide range of problem types, including linear programming, nonlinear programming, mixed-integer programming, and more. One of its key strengths is the ability to separate models and data, allowing for flexibility and scalability in handling large-scale problems. The platform offers seamless integration with numerous solvers, both commercial and open-source, providing users with the flexibility to choose the most appropriate solver for their specific needs. AMPL is available across multiple operating systems, including Windows, macOS, and Linux, and offers various licensing options.
Learn more