IMPLICIT REAL*8(A-H,O-Z) 
C GQ4T11 PROBIT 
      DIMENSION X(4),DATA(30,4),Y(4) 
      DIMENSION IOPT(3) 
      character*8 alabel(4),xlabel,ylabel 
      DATA XLABEL/'X(1) '/,YLABEL/'X(2) '/ 
      COMMON/BSTACK/AINT(250) 
      COMMON/BSTOP/NVAR1,ISTOP(3) 
      COMMON/BPRINT/IPT,NFILE,NDIG,NPUNCH,JPT,MFILE 
      COMMON/BOPT/IVER,LT,IFP,ISP,NLOOP,IST,ILOOP 
      COMMON/BFIDIF/FDFRAC,FDMIN 
      COMMON/BSTAK/NQ,NTOP 
      COMMON/BPRM/IPRM(3) 
      COMMON/BPRM2/XPRM(3)
      COMMON/USERP2/NDIM,K 
      COMMON/USERP1/DATA 
      COMMON/BPROB/IPROB,JPROB 
      COMMON/BPROB1/WP,SSR,ER2,WSSR,SCC,FAD,JFLG,IFLG,KFLG,LFLG 
      EXTERNAL PROB1A,GRADX,DFP,PERM,PROB2A 
      open(unit=8,file='gq4t11.out',status='unknown') 
      CALL DFLT
      IPROB=1
      IOPT(1)=0 
      IOPT(2)=0 
      IOPT(3)=50 
      ISTOP(3)=0 
      NQ=250 
      ITERL=30 
      MAX=1 
      ACC=.00001 
      NP=3 
      NDIM=30 
      K=3 
      NPE=3
C We set up the IPRM array, but in natural order, so that when we use it, the
C variables will remain unpermuted. The two optimizations should therefore 
C produce the same answers 
      DO 22 I=1,3 
22    IPRM(I)=I 
      WRITE (*,901) NPE,IPRM 
901   FORMAT(' NPE = ',I1,' IPRM = ',3(I1,1X))
      X(1)=.5 
      X(2)=.5
      X(3)=.3 
      CALL LABEL(ALABEL,NP) 
C Next statement will generate the data
      CALL GENT(NDIM,NP,K,X,DATA) 
      CALL PRMCHK(NP,X,ALABEL,1,*950) 
      CALL OPT(X,NPE,FU0,DFP,ITERL,MAX,IER,ACC,PERM,ALABEL) 
      CALL OPTOUT(0)
C If IPRM were not in natural order, the next 2 statements would unpermute X into Y
      DO 200 I=1,3 
200   Y(IPRM(I))=X(I) 
      CALL OPTOU3(Y,NP,FU0,DFP) 
      Y(1)=.5 
      Y(2)=.5 
      Y(3)=.3 
      CALL PRMCHK(NP,Y,ALABEL,1,*950) 
      CALL OPT(Y,NPE,FU0,GRADX,ITERL,MAX,IER,ACC,PERM,ALABEL) 
      CALL OPTOUT(0)
C Set up parameters for a call to countour plotting 
C X(3) is being held at the optimal value for that variable and we plot X(1) against
C X(2)
      XMIN=-1. 
      XMAX=1. 
      YMIN=-.3 
      YMAX=.5 
      I1=1
      I2=2 
      CALL CNTR(X,NP,I1,I2,XMIN,XMAX,YMIN,YMAX,ZMIN,ZMAX,IOPT,ZINT, 
     1 PROB1A,XLABEL,YLABEL)
      close(8)
      STOP 
950   WRITE (*,940)
940   FORMAT(' PRMCHK ERROR')
      STOP 
      END 
      SUBROUTINE GENT(N,NP,K,X,DATA) 
      IMPLICIT REAL*8 (A-H,O-Z) 
      DIMENSION X(NP),DATA(N,K) 
      NP1=K-1 
      DO 50 I=1,N 
      DO 40 J=1,K 
40    DATA(I,J+1)=J*10.*(RAND (DUM)-0.5)
50    CONTINUE 
      DO 100 I=1,N 
      DATA(I,1)=0.
      DO 90 J=1,K 
90    DATA(I,1)=DATA(I,1)+DATA(I,J+1)*X(J) 
      DO 10 J=1,NP 
10    DATA(I,1)=DATA(I,1)+3.*GAUS (DUM)
      IF(DATA(I,1).LE.0.) DATA(I,1)=0. 
      IF(DATA(I,1).GT.0.) DATA(I,1)=1. 
100   CONTINUE 
      RETURN 
      END 
      SUBROUTINE PERM(A,NPE,FU0,*)
      IMPLICIT REAL*8 (A-H,O-Z) 
      DIMENSION A(3)
      EXTERNAL PROB1A 
      CALL PERM1(A,3,NPE,FU0,*10,PROB1A) 
      RETURN 
10    RETURN 1 
      END 
****************************************************************************** 
OUTPUT FILE FOLLOWS 
******************************************************************************
                                DFP VERSION 1 BEGINS 
CALLING PARAMETERS 
    NP=  3     MX=    1    IPT=    2 
 ITERL= 30   NVAR1=    3
 ISTOP=  0    0    0 
   IST=  1
 NLNSR= 20
 NLOOP=  7 
    LT=  1 
   IFP=  3 
     ACC     FDFRAC     FDMIN         STEP1 
  1.000E-05 1.000E-04  1.000E-06    1.000E+00
     STPACC    STPMIN      FOPT 
  1.000E-05 1.000E-10  0.000E+00 
******* THIS IS A SIMPLE PROBIT PROBLEM *******
INITIAL F VALUE  =  -3.865059E+01 
INITIAL X VECTOR =
  0.500000E+00  0.500000E+00  0.300000E+00 
ITERA TYPE  NO.   FUNCTION 
 TION      EVAL    VALUE
   0  STRT   4 -3.865059E+01   X= 5.000000E-01  5.000000E-01  3.000000E-01 
   1  NORM  26 -2.204818E+01   X= 2.502615E-01  9.289423E-02  5.554566E-02
   2  NORM  37 -1.969865E+01   X= 1.211333E-01  4.822925E-02  7.366283E-02 
   3  NORM  45 -1.856351E+01   X= 3.764689E-02  6.617835E-02  3.694755E-02 
   4  NORM  52 -1.828212E+01   X= 4.151692E-02  1.028865E-01  5.559842E-02 
   5  NORM  56 -1.828138E+01   X= 3.880286E-02  1.021899E-01  5.573846E-02 
FUNCTION VALUE IS ACCURATE TO RELATIVE ACC 
OPTIMUM REACHED 
FUNCTION EVALUATIONS=   60 
ITERATION COUNT     =    6 
FUNCTION VALUE      = -1.8281381768E+01
          X VECTOR 
   X1      3.8837642585E-02
   X2      1.0217339402E-01 
   X3      5.5687944128E-02 
ARRAY H    FROM ROUTINE OUT 
       3 BY    3 ARRAY
-6.63179410E-03-6.48959954E-04-9.89391717E-04 
-6.48959954E-04-2.87055240E-03-8.04075858E-04 
-9.89391717E-04-8.04075858E-04-1.36955405E-03 
ARRAY GRAD FROM ROUTINE OUT 
       1 BY    3 ARRAY
1.41833488E-04-1.07351178E-03-2.59024258E-03
ARRAY SRCH FROM ROUTINE OUT 
       1 BY    3 ARRAY 
3.07666311E-05-2.04504041E-05-5.19253793E-05
ARRAY D2ND FROM ROUTINE OUT
       1 BY    3 ARRAY 
-1.69058667E+02-4.17068116E+02-9.58085453E+02
FRACTION WRONG PREDICTIONS = 0.367
SUM OF SQUARED RESIDUALS   = 0.645965E+01 
EFRON R-SQUARED            = 0.135 
WGHTD SUM OF SQD RESIDUALS = 0.285368E+02 
SQUARED CORR. COEFFICIENT  = 0.137 
MCFADDEN R-SQUARED         = 0.121 
                             GRADX VERSION 1 BEGINS 
CALLING PARAMETERS 
    NP=    3     MX=    1   IPT=    2
 ITERL=   30   NVAR1=    3
  ISTOP=   0    0    0
    IST=   1 
  NLNSR=  20 
  NLOOP=   7 
     LT=   1
    ISP=   2
   ISPD=   1
      RTM         EIG       RTMULT        ACTI
   2.500E-01   1.000E-07   1.150E+00   2.000E-01 
        ACTW        ZFUL        BETM 
   2.000E-01   2.000E+00   5.000E-01 
      ACC       FDFRAC      FDMIN       STPACC 
   1.000E-05   1.000E-04   1.000E-06   1.000E-05 
******* THIS IS A SIMPLE PROBIT PROBLEM ******* 
INITIAL F VALUE  =  -3.865059E+01
INITIAL X VECTOR = 
  0.500000E+00  0.500000E+00  0.300000E+00 
ITERA TYPE  NO.    FUNCTION 
 TION      EVAL     VALUE
   0  STRT   10 -3.865059E+01  X= 5.000000E-01  5.000000E-01  3.000000E-01 
   1   R12   34 -1.829444E+01  X= 4.925443E-02  9.891826E-02  5.431795E-02 
   2   R12   44 -1.828138E+01  X= 3.884632E-02  1.021448E-01  5.567351E-02 
   3   R12   54 -1.828138E+01  X= 3.883518E-02  1.021682E-01  5.568363E-02 
NORM OF GRADIENT IS LESS THAN ACC 
OPTIMUM REACHED 
FUNCTION EVALUATIONS=   54
ITERATION COUNT     =    4
FUNCTION VALUE      = -1.8281381760E+01 
          X VECTOR  
   X1      3.8835183327E-02 
   X2      1.0216815867E-01 
   X3      5.5683634554E-02 
ARRAY H    FROM ROUTINE OUT 
       3 BY    3 ARRAY
-6.74687002E-03-7.52840884E-04-1.02868475E-03 
-7.52840884E-04-2.98306369E-03-8.41465697E-04 
-1.02868475E-03-8.41465697E-04-1.38306349E-03 
ARRAY 2NDD FROM ROUTINE OUT 
       3 BY    3 ARRAY 
-1.67357370E+02 8.59991271E+00 1.19243581E+02
8.59991271E+00-4.05118367E+02 2.40080525E+02 
1.19243581E+02 2.40080525E+02-9.57789419E+02 
ARRAY GRAD FROM ROUTINE OUT 
       1 BY    3 ARRAY 
-1.50945021E-08 2.30546307E-07 2.96359158E-07 
ARRAY SRCH FROM ROUTINE OUT 
       1 BY    3 ARRAY 
1.11357192E-05-2.33904727E-05-1.01223042E-05 
1CONTOUR PLOT 
0X VARIABLE 1 
 Y VARIABLE 2
X RANGE     -0.100000E+01     0.100000E+01 
Y RANGE     -0.300000E+00     0.500000E+00 
F RANGE     -0.152195E+03    -0.183179E+02
BOTTOM FUNCTION INTERVAL =     0.133877E+02 
SUCCESSIVE INTERVAL DIFF =     0.000000E+00
 0.500000E+00      23334445555666667777777788888888777777776666555544
 0.483673E+00      23334445556666677777778888888888887777776666655544 
 0.467347E+00      23344455556666777777888888888888888777777666655544
 0.451020E+00      33344455566667777778888888888888888877777666655544
 0.434694E+00      33344455566667777788888888888888888887777766665554 
 0.418367E+00      33444555666677777888888888888888888887777766665554 
 0.402041E+00      33444555666677777888888888888888888888777766665554
 0.385714E+00      33444555666777778888888888998888888888777776665554 
 0.369388E+00      33445556666777788888888899999998888888877776665554 
 0.353061E+00      34445556667777788888889999999999888888877776665554 
 0.336735E+00      34445556667777888888899999999999988888877776666554 
 0.320408E+00      34445566667777888888999999999999998888877776666554 
 0.287755E+00      34455566677778888889999999999999999888887777666554 
 0.271429E+00      34455566677778888899999999999999999888887777666555
 0.255102E+00      44455566677778888899999999999999999888887777666555 
 0.238776E+00      44455566677788888999999999999999999888887777666555 
 0.222449E+00      44455666777788888999999999999999999988887777666554 
 0.206122E+00      44455666777788888999999999999999999988887777666554 
 0.189796E+00      44455666777788889999999999999999999988887777666554 
 0.173469E+00      44455666777788889999999999999999999988887777666554 
 0.157143E+00      44455666777788889999999999999999999988887777666554
 0.140816E+00      44455666777788889999999999999999999988887777666554 
 0.124490E+00      34455666777788889999999999999999999988887777666554 
 0.108163E+00      3445566677778888999999999+999999999988887777665554 
 0.918367E-01      34455566777788889999999999999999999988887777665554 
 0.755102E-01      34455566677788889999999999999999999988887776665554 
 0.591837E-01      34455566677788889999999999999999999988887776665554 
 0.428571E-01      34455566677788889999999999999999999888887776665544 
 0.265306E-01      34445566677788888999999999999999999888887776665544 
 0.102041E-01      33445566677778888999999999999999999888877776665544 
-0.612246E-02      33445556677778888999999999999999999888877776655544 
-0.224490E-01      33445556667778888899999999999999998888877766655544 
-0.387755E-01      33444556667778888899999999999999998888877766655544 
-0.551020E-01      33344556667777888889999999999999988888777766655444
-0.714286E-01      23344555666777888889999999999999988888777666555443 
-0.877551E-01      23344455666777788888999999999999888888777666555443 
-0.104082E+00      23334455566677788888899999999998888887777666555443 
-0.120408E+00      22334455566677778888889999999988888887776666554443 
-0.136735E+00      22334445566667777888888899998888888877776665554433 
-0.153061E+00      22333445556667777888888888888888888777776665554433 
-0.169388E+00      12233444556666777788888888888888888777766655544433 
-0.185714E+00      12233344555666777778888888888888887777766655544333 
-0.202041E+00      11223344455566677777888888888888877777666655444332 
-0.218367E+00      11223334455566667777778888888888777776666555444332 
-0.234694E+00      11122334445556666777777788888777777776666555443332 
-0.251020E+00      01122333444555666677777777777777777766665554443322 
-0.267347E+00      01112233444555566667777777777777777666655554433322 
-0.283673E+00      00112233344455556666677777777777776666655544433222 
-0.300000E+00      -0011223334445555666666777777777666666555444333221 
-                           .         .         .         .         . 
              -0.100E+01          -0.200E+00           0.600E+00 
                        -0.600E+00           0.200E+00           0.100E+01 

Return to
|Sect. E|Beginning|