      subroutine funobj(x,fobj,grad)
      implicit real*8(a-h,o-z)
      double precision x(7),grad(7)
      fobj = 10.0*dexp(x(1))+15.0*dexp(x(2))-1.50*x(3)-2.00*x(4)-
     1       1.25*x(5)-0.95*x(6)-0.50*x(7)
      grad(1) = 10.00*dexp(x(1))
      grad(2) = 15.00*dexp(x(2))
      grad(3) = -1.50
      grad(4) = -2.00
      grad(5) = -1.25
      grad(6) = -0.95
      grad(7) = -0.05
      end
      subroutine funcon(x,cons,dcons)
      implicit real*8(a-h,o-z)
      double precision x(7),cons(2),dcons(2,7)
      cons(1) = x(1) - 0.15*dlog(x(3))-0.25*dlog(x(4))-0.05*dlog(x(5))-
     1          0.10*dlog(x(6))-0.45*dlog(x(7))
      cons(2) = x(2) - 0.30*dlog(x(3))-0.15*dlog(x(4))-0.25*dlog(x(5))-
     1          0.25*dlog(x(6))-0.05*dlog(x(7))
      dcons(1,1) = 1.00
      dcons(1,2) = 0.00
      dcons(1,3) = -0.15/x(3)
      dcons(1,4) = -0.25/x(4)
      dcons(1,5) = -0.05/x(5)
      dcons(1,6) = -0.10/x(6)
      dcons(1,7) = -0.45/x(7)
      dcons(2,1) = 0.00
      dcons(2,2) = 1.00
      dcons(2,3) = -0.30/x(3)
      dcons(2,4) = -0.15/x(4)
      dcons(2,5) = -0.25/x(5)
      dcons(2,6) = -0.25/x(6)
      dcons(2,7) = -0.05/x(7)
      end
