« Previous « Start » Next »
1 Introduction to TOMLAB /SOCS
1.1 Overview
Welcome to the TOMLAB /SOCS User's Guide. TOMLAB /SOCS provides an interface
between MATLAB, by MathWorks', and the SOCS solver from The Boeing
Company.
The Sparse Optimal Control Software (SOCS) solver
suite serves for the analysis and solution of general
nonlinear optimal control (OC) problems with equality and inequality
constraints. SOCS is documented elsewhere in detail: see for example,
Betts (2001, 2004). [1, 2]
In SOCS, optimal control problems are solved
using a direct transcription method. The basic steps in the
approach are as follows:
-
Direct Transcription. Transcribe the optimal
control problem into a nonlinear programming (NLP) problem by
discretization;
- Sparse Nonlinear Program. Solve the sparse NLP using
either a sequential quadratic programming (SQP) or an interior-point
(barrier) method;
- Mesh Refinement. Assess the accuracy of the
approximation (i.e. the finite dimensional problem), and if necessary
refine the discretization, and then repeat the optimization steps.
SOCS also includes the following:
-
SQP and interior-point NLP solvers
- Finite differences (combined with seeding) for evaluating derivatives
- A mechanism for solving multiphase problems
- Spline interpolation
TOMLAB /SOCS does not rely on any sub-solvers, and it does not require
any in-depth structural information about the model. It is
particularly suited to solve multi-phase problems, where different
dynamics apply in distinct phases. TOMLAB /SOCS needs only
computable function values (without a need for higher order
analytical information).
1.2 Contents of this manual
- Section 1 provides a basic overview of the
TOMLAB /SOCS solver package.
- Section 2 provides a mathematical
description of the optimal control problems that TOMLAB /SOCS solves.
- Section 3 provides information on how to set
up a TOMLAB /SOCS problem.
- Section 4 describes how to set TOMLAB /SOCS solver options.
- Section 5 provides information on how to solve
a TOMLAB /SOCS problem and how to get the solution.
- Section 6 provides information about the print and error
files.
- Section 7 describes how to interpret the error status codes.
1.3 More information
Please visit the following links for more information and see the
illustrative references at the end of this manual.
1.4 Prerequisites
In this manual we assume that the user is familiar with principles of
optimal control of dynamical systems, discretization and nonlinear
programming, setting up problems in TOMLAB and with the Matlab language
« Previous « Start » Next »