Download User's Guide for SNOPT Version 7: Software for Large

Transcript
Contents
1. Introduction
1.1 Problem types . . . . .
1.2 Implementation . . . .
1.3 The SNOPT interfaces .
1.4 Files . . . . . . . . . . .
1.5 Overview of the package
1.6 Subroutine snInit . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2. Description of the SQP method
2.1 Constraints and slack variables . . . . . . .
2.2 Major iterations . . . . . . . . . . . . . . .
2.3 Minor iterations . . . . . . . . . . . . . . .
2.4 The reduced Hessian and reduced gradient
2.5 The merit function . . . . . . . . . . . . . .
2.6 Treatment of constraint infeasibilities . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
. 7
. 7
. 8
. 8
. 9
. 10
3. The
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
snOptA interface
Subroutines associated with snOptA
Getting Started . . . . . . . . . . .
Exploiting problem structure . . . .
Subroutine snOptA . . . . . . . . . .
Subroutine snJac . . . . . . . . . .
Subroutine usrfun . . . . . . . . . .
Example usrfun . . . . . . . . . . .
Subroutine snMemA . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
12
14
15
21
23
26
29
4. The
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
snOptB interface
Subroutines used by snOptB . . . . . . . . . . . . . .
Identifying structure in the objective and constraints .
Problem dimensions . . . . . . . . . . . . . . . . . . .
Subroutine snOptB . . . . . . . . . . . . . . . . . . . .
User-supplied routines required by snOptB . . . . . .
Subroutine funcon . . . . . . . . . . . . . . . . . . . .
Subroutine funobj . . . . . . . . . . . . . . . . . . . .
Example . . . . . . . . . . . . . . . . . . . . . . . . .
Constant Jacobian elements . . . . . . . . . . . . . . .
Subroutine snMemB . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
31
31
33
34
39
41
43
43
47
47
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
4
5
5
6
6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5. The snOptC interface
50
5.1 Subroutine snOptC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2 Subroutine usrfun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6. The
6.1
6.2
6.3
6.4
6.5
6.6
npOpt interface
Subroutines used by npOpt . . . . .
Subroutine npOpt . . . . . . . . . .
User-supplied subroutines for npOpt
Subroutine funobj . . . . . . . . . .
Subroutine funcon . . . . . . . . . .
Constant Jacobian elements . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
54
54
58
59
60
61