Download User's Guide for SNOPT Version 7: Software for Large
Transcript
3. 3.4. The snOptA interface 15 Subroutine snOptA Problem NPA is solved by a call to subroutine snOptA, whose parameters are defined here. Note that most machines use double precision declarations as shown, but some machines use real. The same applies to the function routine usrfun and all other routines. subroutine snOptA & ( Start, nF, n, nxname, nFname, & ObjAdd, ObjRow, Prob, usrfun, & iAfun, jAvar, lenA, neA, A, & iGfun, jGvar, lenG, neG, & xlow, xupp, xnames, Flow, Fupp, Fnames, & x, xstate, xmul, F, Fstate, Fmul, & INFO, mincw, miniw, minrw, & nS, nInf, sInf, & cu, lencu, iu, leniu, ru, lenru, & cw, lencw, iw, leniw, rw, lenrw ) external & usrfun integer & INFO, lenA, lencu, lencw, lenG, leniu, leniw, lenru, lenrw, & mincw, miniw, minrw, n, neA, neG, nF, nFname, nInf, nS, & nxname, ObjRow, Start, iAfun(lenA), iGfun(lenG), iu(leniu), & iw(leniw), jAvar(lenA), jGvar(lenG), xstate(n), Fstate(nF) double precision & ObjAdd, sInf, A(lenA), F(nF), Fmul(nF), Flow(nF), Fupp(nF), & ru(lenru), rw(lenrw), x(n), xlow(n), xmul(n), xupp(n) character & Prob*8, cu(lencu)*8, cw(lencw)*8, & Fnames(nFname)*8, xnames(nxname)*8 On entry: Start nF is an integer that specifies how a starting point is to be obtained. Start = 0 (Cold start) requests that the CRASH procedure be used, unless an Old basis, Insert, or Load file is specified. Start = 1 is the same as 0 but more meaningful when a basis file is given. Start = 2 (Warm start) means that xstate and Fstate define a valid starting point (perhaps from an earlier call, though not necessarily). is the number of problem functions in F (x), including the objective function (if any) and the linear and nonlinear constraints. Upper and lower bounds on x can be defined via xLow and xUpp (below) and should not be included in F . (nF > 0) nF is the dimension of the function vector F. Since F includes the objective (if any) and all the general linear and nonlinear constraints, there must be at least one row for the problem to be meaningful. n is n, the number of variables. This is the number of columns of G and A. (n > 0)