subroutine SprCon( mode, m, n, njac, x, f, g, nState, $ cu, lencu, iu, leniu, ru, lenru ) implicit double precision (a-h,o-z) double precision x(n), f(m), g(njac) character*8 cu(lencu) integer iu(leniu) double precision ru(lenru) * ------------------------------------------------------------------ * This is funcon for problem Spring (Optimal Control Problem). * The Jacobian is upper bidiagonal, * and only the diagonal terms are nonlinear. * The constant 1's in the Jacobian are not regenerated here. * ------------------------------------------------------------------ integer T parameter ( one = 1.0d+0 ) T = n - 1 jy = 0 ! Counts y(t) variables jg = - 1 ! Counts nonlinear Jacobian elements do 150, i = 1, T jy = jy + 1 jg = jg + 2 yt = x(jy) ytp1 = x(jy + 1) f(i) = 0.01d+0 * yt**2 + (ytp1 - yt) g(jg) = 0.02d+0 * yt - one *-- g(jg+1)= one ! Constant element set by spdata. 150 continue * end of constraints for Spring end