Abstract:This paper describes the ANSI C/C++ computer program dsoa, which implements an algorithm for the approximate solution of dynamics system optimization problems. The algorithm is a direct method that can be applied to the optimization of dynamic systems described by index-1 differential-algebraic equations (DAEs). The types of problems considered include optimal control problems and parameter identification problems. The numerical techniques are employed to transform the dynamic system optimization problem into … Show more
“…Recently, another open‐source code has been published by Brian C. Fabien 4 under the name dsoa. This package is written in C/C++ and discretizes differential algebraic systems based on implicit Runge–Kutta methods.…”
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. The ACADO Toolkit is implemented as a 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 the 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 the ACADO Toolkit to set up optimization problems is illustrated with two tutorial examples: an optimal control and a parameter estimation problem.ACADO TOOLKIT 299 such advanced controllers. Thus, efficient and reliable optimization algorithms for performing this step-possibly on embedded hardware-are of great interest.Searching the literature, we can find a number of optimization algorithms which have been implemented for solving OCPs. We can only discuss some of the most common packages: Let us start the list with the open-source package IPOPT [1, 2], originally developed by Andreas Wachter and Larry Biegler, which implements an interior point algorithm for the optimization of large-scale differential algebraic systems. It can be combined with collocation methods for the discretization of the continous dynamic system while a filter strategy is implemented as a globalization technique. IPOPT is written in C/C++ and Fortran, but uses modeling languages such as AMPL or MATLAB in order to provide a user interface and to allow automatic differentiation.Furthermore, a MATLAB package named PROPT [3] receives more and more attention. PROPT is a commercial tool, developed by the Tomlab Optimization Inc.. PROPT solves optimal control problems based on collocation techniques, while using existing NLP solvers such as KNITRO, CONOPT, SNOPT or CPLEX. Owing to the MATLAB syntax, the package PROPT is more user-friendly than IPOPT-at the price that it is not open-source.Recently, another open-source code has been published by Brian C. Fabien [4] under the name dsoa. This package is written in C/C++ and discretizes differential algebraic systems based on implicit Runge-Kutta methods. Unfortunately, the package does only implement single-shooting methods, which is often not advisable for nonlinear OCPs. On the optimization level, sequential quadratic programming techniques are employed.Similar to dsoa, the proprietary package MUSCOD-II, originally developed by Daniel Leineweber [5], is suitable for solving OCPs. MUSCOD-II discretizes the differential algebraic systems based on backward differentiation formula (BDF) or Runge Kutta integration methods and uses Bock's direct multiple shooting [6]. Sequential quadratic pro...
“…Recently, another open‐source code has been published by Brian C. Fabien 4 under the name dsoa. This package is written in C/C++ and discretizes differential algebraic systems based on implicit Runge–Kutta methods.…”
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. The ACADO Toolkit is implemented as a 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 the 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 the ACADO Toolkit to set up optimization problems is illustrated with two tutorial examples: an optimal control and a parameter estimation problem.ACADO TOOLKIT 299 such advanced controllers. Thus, efficient and reliable optimization algorithms for performing this step-possibly on embedded hardware-are of great interest.Searching the literature, we can find a number of optimization algorithms which have been implemented for solving OCPs. We can only discuss some of the most common packages: Let us start the list with the open-source package IPOPT [1, 2], originally developed by Andreas Wachter and Larry Biegler, which implements an interior point algorithm for the optimization of large-scale differential algebraic systems. It can be combined with collocation methods for the discretization of the continous dynamic system while a filter strategy is implemented as a globalization technique. IPOPT is written in C/C++ and Fortran, but uses modeling languages such as AMPL or MATLAB in order to provide a user interface and to allow automatic differentiation.Furthermore, a MATLAB package named PROPT [3] receives more and more attention. PROPT is a commercial tool, developed by the Tomlab Optimization Inc.. PROPT solves optimal control problems based on collocation techniques, while using existing NLP solvers such as KNITRO, CONOPT, SNOPT or CPLEX. Owing to the MATLAB syntax, the package PROPT is more user-friendly than IPOPT-at the price that it is not open-source.Recently, another open-source code has been published by Brian C. Fabien [4] under the name dsoa. This package is written in C/C++ and discretizes differential algebraic systems based on implicit Runge-Kutta methods. Unfortunately, the package does only implement single-shooting methods, which is often not advisable for nonlinear OCPs. On the optimization level, sequential quadratic programming techniques are employed.Similar to dsoa, the proprietary package MUSCOD-II, originally developed by Daniel Leineweber [5], is suitable for solving OCPs. MUSCOD-II discretizes the differential algebraic systems based on backward differentiation formula (BDF) or Runge Kutta integration methods and uses Bock's direct multiple shooting [6]. Sequential quadratic pro...
SUMMARYThis paper is motivated by an optimal boundary control problem for the cooling process of molten and already formed glass down to room temperature. The high temperatures at which glass is processed demand to include radiative heat transfer in the computational model. Since the complete radiative heat transfer equations are too complex for optimization purposes, we use simplified approximations of spherical harmonics coupled with a practically relevant frequency bands model. The optimal control problem is considered as a partial differential algebraic equation (PDAE)-constrained optimization problem with box constraints on the control. In this paper, we augment the objective by a functional depending on the state gradient, which forces a minimization of thermal stress inside the glass. To guarantee consistent and grid-independent values of the reduced objective gradient at the end of the cooling process, we pursue two approaches. The first includes the temperature gradient with a time-dependent linearly decreasing weight. In the second approach, we augment the objective functional by the final state tracking and final state gradient optimization. To determine an optimal boundary control, we apply a projected gradient method with the Armijo step size rule. The reduced objective gradient is computed by the continuous adjoint approach. The arising time-dependent PDAEs are numerically solved by variable step size one-step methods of Rosenbrock type in time and adaptive multilevel finite elements in space. We present two-dimensional numerical results for an infinitely long glass block and compare the two different approaches derived to ensure consistency at the end of the cooling process.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.