The NEOS Server offers MUSCOD-II (Multiple Shooting CODe for Optimal Control) for the solution of mixed-integer nonlinear ODE- or DAE-constrained optimal control problems in an extended AMPL format.
MUSCOD-II (MUltiple Shooting CODe for Optimal Control) solves optimal control problems for systems described by ordinary differential equations (ODE) or by differential-algebraic equations (DAE) of index one. MUSCOD-II is based on the direct multiple shooting method, i.e., the optimization horizon is divided into a number of subintervals, and the differential equations are solved independently on each of these subintervals by a state-of-the-art ODE or DAE solver. This approach allows to reformulate the optimal control problem as a large-scale nonlinear programming (NLP) problem with a favorable block sparse structure.
The AMPL modeling language itself does not allow the formulation of differential equations. Hence, the TACO Toolkit has been designed to implement a small set of extensions for easy and convenient modeling of optimal control problems in AMPL, without the need for explicit encoding of discretization schemes (e.g. collocation). Both the TACO Toolkit and the NEOS interface to MUSCOD-II are still under development. Your feedback is appreciated.
MUSCOD-II is not in the public domain, but can be licensed from the Simulation and Optimization group at the Interdisciplinary Center for Scientific Computing (IWR) of Heidelberg University, Germany. It is a joint development effort by many current and former members of the Simulation and Optimization group at Heidelberg:
The class of tractable problems is described in the MUSCOD-II User's Manual. Mixed-integer optimal control problems (MIOCPs) should be submitted in their Partial Outer Convexification reformulation. Then, an approximation theorem holds for the convexified and relaxed problem's solution. A variety of algorithms and strategies may be invoked using the bflag option to obtain an integer feasible solution. Compared to the C/Fortran interface to MUSCOD-II, the AMPL interface to MUSCOD-II provided through the NEOS server exposes limited functionality only. Restrictions are due to the need to express the model in AMPL syntax. Moreover, some algorithms and problem classes such as model-predictive control and moving horizon estimation don't fit well into the NEOS concept. Users interested in tackling such online optimization problems with direct multiple shooting algorithms are invited to contact us.
The user must submit a model in AMPL format using the TACO Toolkit for AMPL Control Optimization extensions to solve a mixed-integer nonlinear ODE- or DAE-constrained optimal control problem. Examples of models in AMPL/TACO format can be found in the open mixed-integer optimal control problem collection at mintOC.de.
The model is specified by a model file, and optionally, a data file and a commands file. If the command file is specified it must contain the AMPL solve command.
Quality software requires constant feedback and testing on a realistic set of problems. We hence may collect models you submit, for benchmarking and improving MUSCOD-II.
Solutions are reported in a separate plain-text file. The TACO Toolkit paper describes the simple file format and shows a small AMPL script for reading it. Values for ODE/DAE state trajectories and controls trajectories are reported at shooting node positions. Be aware that ODE/DAE state values are initial values for ODE/DAE initial value problems, and should not simply be interpolated between.
Printing directed to standard out is returned to the user with the output.
MUSCOD-II has a variety of options that can alter the algorithm's behavior. The TACO Toolkit paper has a complete list of those options accessible from AMPL. There are two ways to set options to MUSCOD-II through NEOS. First, the AMPL commands file can contain AMPL commands to set options for MUSCOD-II. Second, the user can specify the name of a local options file muscod.opt that will be used.