************************************************************************ C PROGRAM TNETU C C TEST PROGRAM FOR THE SUBROUTINE PNETU C INTEGER NF,IPAR(7),IHES,IPRNT,ITERM DOUBLE PRECISION X(1000),RPAR(9),F,GMAX INTEGER NEXT,IERR,I,ITIME INTEGER NITER,NFVAL,NGVAL,NSUCC COMMON /PROB/ NEXT INTEGER NRES,NDEC,NIN,NIT,NFV,NFG,NFH COMMON /STAT/ NRES,NDEC,NIN,NIT,NFV,NFG,NFH NITER=0 NFVAL=0 NGVAL=0 NSUCC=0 CALL TYTIM1(ITIME) C C LOOP FOR 22 TEST PROBLEMS C DO 30 NEXT=1,22 C C CHOICE OF INTEGER AND REAL PARAMETERS C DO 10 I=1,7 IPAR(I)=0 10 CONTINUE DO 20 I=1,9 RPAR(I)=0.0D0 20 CONTINUE IHES=0 IPRNT=1 C C PROBLEM DIMENSION C NF=1000 C C INITIATION OF X AND CHOICE OF RPAR(1) AND RPAR(6) C CALL TIUD14 (NF, X, RPAR(6), RPAR(1), NEXT, IERR) IF (IERR.NE.0) GO TO 30 IF (RPAR(6).EQ.0.0D0) IPAR(4)=1 IF (NEXT.EQ.2) IPAR(4)=0 RPAR(1)=0.0D0 IF (NEXT.EQ.10) RPAR(1)=3.5D1 IF (NEXT.EQ.18) RPAR(1)=1.0D1 C C SOLUTION C CALL PNETU (NF, X, IPAR, RPAR, F, GMAX, IHES, IPRNT, ITERM) NITER=NITER+NIT NFVAL=NFVAL+NFV NGVAL=NGVAL+NFG IF (ITERM.GT.0.AND.ITERM.LT.9) NSUCC=NSUCC+1 30 CONTINUE WRITE (6,40) NITER,NFVAL,NGVAL,NSUCC 40 FORMAT (' NITER =',I5,3X,' NFVAL =',I5,3X,' NGVAL =',I5,3X,' NSUCC & =',I5) CALL TYTIM2 (ITIME) STOP END C C USER SUPPLIED SUBROUTINE (CALCULATION OF FF) C SUBROUTINE OBJ(NF,X,FF) INTEGER NF DOUBLE PRECISION X(*),FF INTEGER NEXT COMMON /PROB/ NEXT C C FUNCTION EVALUATION C CALL TFFU14(NF,X,FF,NEXT) RETURN END C C USER SUPPLIED SUBROUTINE (CALCULATION OF GF) C SUBROUTINE DOBJ(NF,X,GF) INTEGER NF DOUBLE PRECISION X(*),GF(*) INTEGER NEXT COMMON /PROB/ NEXT C C GRADIENT EVALUATION C CALL TFGU14(NF,X,GF,NEXT) RETURN END C C EMPTY SUBROUTINES C SUBROUTINE HVEC(NF,X,D,HD) INTEGER NF DOUBLE PRECISION X(*),D(*),HD(*) NF=1 D(1)=X(1) HD(1)=X(1) RETURN END SUBROUTINE FUN(NF,KA,X,FA) INTEGER NF,KA DOUBLE PRECISION X(*),FA KA=NF FA=X(1) RETURN END SUBROUTINE DFUN(NF,KA,X,GA) INTEGER NF,KA DOUBLE PRECISION X(*),GA(*) KA=NF GA(1)=X(1) RETURN END ************************************************************************ C PROGRAM TNETS C C TEST PROGRAM FOR THE SUBROUTINE PNETS C INTEGER NF,IX(1000),IPAR(7),IHES,IPRNT,ITERM DOUBLE PRECISION X(1000),XL(1000),XU(1000),RPAR(9),F,GMAX INTEGER NEXT,IERR,I,ITIME INTEGER NITER,NFVAL,NGVAL,NSUCC COMMON /PROB/ NEXT INTEGER NRES,NDEC,NIN,NIT,NFV,NFG,NFH COMMON /STAT/ NRES,NDEC,NIN,NIT,NFV,NFG,NFH NITER=0 NFVAL=0 NGVAL=0 NSUCC=0 CALL TYTIM1(ITIME) C C LOOP FOR 22 TEST PROBLEMS C DO 3 NEXT=1,22 C C CHOICE OF INTEGER AND REAL PARAMETERS C DO 1 I=1,7 IPAR(I)=0 1 CONTINUE DO 2 I=1,9 RPAR(I)=0.0D 0 2 CONTINUE IHES=0 IPRNT=1 C C PROBLEM DIMENSION C NF=1000 C C INITIATION OF X AND CHOICE OF RPAR(1) AND RPAR(6) C CALL TIUD14(NF,X,RPAR(6),RPAR(1),NEXT,IERR) IF (IERR.NE.0) GO TO 3 CALL MXVINS(NF,3,IX) CALL MXVSET(NF,-1.0D 0,XL) CALL MXVSET(NF, 1.0D 0,XU) IF (RPAR(6).EQ.0.0D 0) IPAR(4)=1 RPAR(1)=0.0D 0 C C SOLUTION C CALL PNETS(NF,X,IX,XL,XU,IPAR,RPAR,F,GMAX,IHES,IPRNT,ITERM) NITER=NITER+NIT NFVAL=NFVAL+NFV NGVAL=NGVAL+NFG IF (ITERM.GT.0.AND.ITERM.LT.9) NSUCC=NSUCC+1 3 CONTINUE WRITE(6,10) NITER,NFVAL,NGVAL,NSUCC 10 FORMAT(' NITER =',I5,3X,' NFVAL =',I5,3X,' NGVAL =',I5,3X, & ' NSUCC =',I5) CALL TYTIM2(ITIME) STOP END C C USER SUPPLIED SUBROUTINE (CALCULATION OF FF) C SUBROUTINE OBJ(NF,X,FF) INTEGER NF DOUBLE PRECISION X(*),FF INTEGER NEXT COMMON /PROB/ NEXT C C FUNCTION EVALUATION C CALL TFFU14(NF,X,FF,NEXT) RETURN END C C USER SUPPLIED SUBROUTINE (CALCULATION OF GF) C SUBROUTINE DOBJ(NF,X,GF) INTEGER NF DOUBLE PRECISION X(*),GF(*) INTEGER NEXT COMMON /PROB/ NEXT C C GRADIENT EVALUATION C CALL TFGU14(NF,X,GF,NEXT) RETURN END C C EMPTY SUBROUTINES C SUBROUTINE HVEC(NF,X,D,HD) INTEGER NF DOUBLE PRECISION X(*),D(*),HD(*) NF=1 D(1)=X(1) HD(1)=X(1) RETURN END SUBROUTINE FUN(NF,KA,X,FA) INTEGER NF,KA DOUBLE PRECISION X(*),FA KA=NF FA=X(1) RETURN END SUBROUTINE DFUN(NF,KA,X,GA) INTEGER NF,KA DOUBLE PRECISION X(*),GA(*) KA=NF GA(1)=X(1) RETURN END