Problem NP is solved by a call to subroutine snopt, 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 user routines funobj and funcon.
__________________________________________________________________
|
|
subroutine snopt ( |
start, m, n, ne, nName, |
|
$ |
|
nnCon, nnObj, nnJac, |
|
$ |
|
iObj, ObjAdd, Prob, |
|
$ |
|
funcon, funobj, |
|
$ |
|
a, ha, ka, bl, bu, Names, |
|
$ |
|
hs, xs, pi, rc, |
|
$ |
|
inform, mincw, miniw, minrw, |
|
$ |
|
nS, nInf, sInf, Obj, |
|
$ |
|
cu, lencu, iu, leniu, ru, lenru, |
|
$ |
|
cw, lencw, iw, leniw, rw, lenrw ) |
|
|
|
|
|
|
external |
funcon, funobj |
|
|
character*(*) |
start |
|
|
character*8 |
Prob |
|
|
character*8 |
Names(nName) |
|
|
integer |
m, n, ne, nName, nnCon, nnObj, nnJac |
|
|
integer |
iObj, nS, nInf |
|
|
integer |
inform, mincw, miniw, minrw |
|
|
integer |
ha(ne), hs(n+m) |
|
|
integer |
ka(n+1) |
|
|
double precision |
ObjAdd, sInf, Obj |
|
|
double precision |
a(ne), bl(n+m), bu(n+m) |
|
|
double precision |
xs(n+m), pi(m), rc(n+m) |
|
|
|
|
|
|
integer |
lencu, lencw, leniu, lenru, leniw, lenrw |
|
|
character*8 |
cu(lencu), cw(lencw) |
|
|
integer |
iu(leniu), iw(leniw) |
|
|
double precision |
ru(lenru), rw(lenrw) |