NLOptControl: A modeling language for solving optimal control problems (original) (raw)

CasADi: a software framework for nonlinear optimization and optimal control

Mathematical Programming Computation, 2018

We present CasADi, an open-source software framework for numerical optimization. CasADi is a general-purpose tool that can be used to model and solve optimization problems with a large degree of flexibility, larger than what is associated with popular algebraic modeling languages such as AMPL, GAMS, JuMP or Pyomo. Of special interest are problems constrained by differential equations, i.e. optimal control problems. CasADi is written in self-contained C++, but is most conveniently used via full-featured interfaces to Python, MATLAB or Octave. Since its inception in late 2009, it has been used successfully for academic teaching as well as in applications from multiple fields, including process control, robotics and aerospace. This article gives an up-to-date and accessible introduction to the CasADi framework, which has undergone numerous design improvements over the last seven years.

A Comparative Survey Of Software Computational Tools In The Field Of Optimal Control

Optimal control (OC) is the process of determining control and state trajectories for a dynamic system in order to achieve a given performance index. Most real-world optimal control problems (OCP) are too large and complex to be solved analytically as typically the dynamics is nonlinear and there are predefined constraints governing the allowed behavior of the system. The motivation of this paper is to give a brief overview of some ready-to-use numerical software tools available on the market and capable of solving optimal control problems. It summarizes their basic properties such as licensing policy and approach, and also the general formulation of OCP common for the described tools. As the optimal control uses an extensive theory with many approaches and methods for software implementation, the interest is reduced and focused on finding a feed-forward control signal as a solution of a deterministic continuous-time OCP over a fixed time interval, using Matlab-based third party toolboxes. The paper presents a particular case study which compares chosen numerical software tools in terms of achieved results and computational performance. This is done for a mathematical model of a single pendulum on the cart which represents a highly complex and nonlinear system that is suitable to be used as a benchmark.

Imperial College London Optimal Control Software User Guide (ICLOCS)

2010

This document presents a brief user's guide to the optimal control software supplied. The code allows users to define optimal control problems with general path and boundary constraints, free or fixed final times and the ability to include constant design parameters as unknowns. The following optimal control problems fall within the scope of the code:

Optimal control and numerical software: an overview

2014

Optimal Control (OC) is the process of determining control and state trajectories for a dynamic system, over a period of time, in order to optimize a given performance index. With the increasing of variables and complexity, OC problems can no longer be solved analytically and, consequently, numerical methods are required. For this purpose, direct and indirect methods are used. Direct methods consist in the discretization of the OC problem, reducing it to a nonlinear constrained optimization problem. Indirect methods are based on the Pontryagin Maximum Principle, which in turn reduces to a boundary value problem. In order to have a more reliable solution, one can solve the same problem through different approaches. Here, as an illustrative example, an epidemiological application related to the rubella disease is solved using several software packages, such as the routine ode45 of Matlab, OC-ODE, DOTcvp toolbox, IPOPT and Snopt, showing the state of the art of numerical software for OC.

BLOM: The Berkeley Library for Optimization Modeling

2014 American Control Conference, 2014

We present the Berkeley Library for Optimization Modeling (BLOM), an open-source tool for optimization-based modeling and control formulation implemented in Simulink. The underlying structure for BLOM is a novel way of representing linear and nonlinear mathematical functions that allows for easy computation of closed form gradients, Jacobians and Hessians. This formulation provides an efficient problem representation for optimization-based modeling and is scalable to large optimization problems. With BLOM, an optimizationbased controller for a dynamic system can be developed and exported from the same model that is used in forward simulation. BLOM is capable of solving several types of optimization problems, including static optimization problems and optimization problem with dynamics. Its intended use is for nonlinear model predictive control. We present results where BLOM is able to handle problems with tens of thousands of variables.

Some tools for the direct solution of optimal control problems

Advances in Engineering Software, 1998

This paper describes two ANSI C subroutines for the direct solution of finite time optimal control problems. Here the control variable is parameterized using a piecewise linear approximation. The resultant nonlinear programming problem (NLP) is solved using the sequential unconstrained minimization technique (SUMT) and the sequential quadratic programming (SQP) method. These methods are embedded in the computer codes dyn-sumt and dyn-sqp, respectively. Both subroutines are used to solve more than 26 optimal problems that have appeared in the literature. The paper compares the computational efficiency of both codes as well as techniques for computing the gradient of the cost function and constraints of the optimal control problem. 0 1998 Elsevier Science Ltd.

ACADO toolkit-An open-source framework for automatic control and dynamic optimization

Optimal Control Applications and Methods, 2011

In this paper the software environment and algorithm collection ACADO Toolkit is presented, which implements tools for automatic control and dynamic optimization. It provides a general framework for using a great variety of algorithms for direct optimal control, including model predictive control as well as state and parameter estimation. ACADO Toolkit is implemented as self-contained C++ code, while the object-oriented design allows for convenient coupling of existing optimization packages and for extending it with user-written optimization routines. We discuss details of the software design of ACADO Toolkit 1.0 and describe its main software modules. Along with that we highlight a couple of algorithmic features, in particular its functionality to handle symbolic expressions. The user-friendly syntax of ACADO Toolkit to setup optimization problems is illustrated with two tutorial examples: an optimal control and a parameter estimation problem.

Solving optimal control problems with state constraints using nonlinear programming and simulation tools

IEEE Transactions on Education, 2004

This paper illustrates how nonlinear programming and simulation tools, which are available in packages such as MATLAB and SIMULINK, can easily be used to solve optimal control problems with state-and/or input-dependent inequality constraints. The method presented is illustrated with a model of a single-link manipulator. The method is suitable to be taught to advanced undergraduate and Master's level students in control engineering.

A software toolbox for the dynamic optimization of nonlinear processes

2005

This contribution describes the development and implementation of a novel software toolbox, NDOT, for the dynamic optimization (open loop optimal control) of nonlinear processes. This modular and flexible toolbox combines the control vector parameterization approach with a number of local and global nonlinear programming solvers and suitable dynamic simulation methods. NDOT is able to solve dynamic optimization problems for both lumped and distributed nonlinear processes. Its performance (robustness and efficiency) is illustrated considering a representative set of nonlinear (lumped and distributed) benchmark problems.