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
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
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
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