subroutine funobj( mode, nnObj, $ x, fObj, gObj, nState, $ cu, lencu, iu, leniu, ru, lenru ) integer mode, nnObj, nState double precision fObj double precision x(nnObj), gObj(nnObj) integer lencu, leniu, lenru character*8 cu(lencu) integer iu(leniu) double precision ru(lenru) * ================================================================== * Toy NLP problem from the SNOPT User's Guide. * ================================================================== double precision sum sum = x(1) + x(2) + x(3) if (mode .eq. 0 .or. mode .eq. 2) then fObj = sum*sum end if if (mode .eq. 1 .or. mode .eq. 2) then sum = 2.0d+0*sum gObj(1) = sum gObj(2) = sum gObj(3) = sum end if * end of funobj for toy NLP. end