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