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
Solver SDK
Use optimization and simulation models in your desktop, Web or mobile application. Use the same high-level objects (like Problem, Solver, Variable and Function), collections, properties and methods across different programming languages. The same object-oriented API is exposed "over the wire" through Web Services WS-* standards to remote clients in PHP, JavaScript, C# and other languages. Procedural languages can use conventional calls that correspond naturally to the properties and methods of the Object-Oriented API. Linear and quadratic programming, mixed-integer programming, smooth nonlinear optimization, global optimization, and non-smooth evolutionary and tabu search are all included. The world's best optimizers, from Gurobi™, XPRESS™ and MOSEK™ for linear, quadratic and conic models to KNITRO™, SQP and GRG methods for nonlinear models "plug into" Solver SDK. Easily create a sparse DoubleMatrix object with 1 million rows and columns.
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
Artelys Knitro
Artelys Knitro is a leading solver for large-scale nonlinear optimization problems, offering a suite of advanced algorithms and features to address complex challenges across various industries. It provides four state-of-the-art algorithms: two interior-point/barrier methods and two active-set/sequential quadratic programming methods, enabling efficient and robust solutions for a wide range of optimization problems. Additionally, Knitro includes three algorithms specifically designed for mixed-integer nonlinear programming, incorporating heuristics, cutting planes, and branching rules to effectively handle discrete variables. Key features of Knitro encompass parallel multi-start capabilities for global optimization, automatic and parallel tuning of option settings, and smart initialization strategies for rapid infeasibility detection. The solver supports various interfaces, including object-oriented APIs for C++, C#, Java, and Python.
Learn more