C MARCH 3, 2001; MARCH 24, 2005 C FUNCTION DECLARATIONS FOR THE COST FUNCTION OF A GENERALIZED C NETWORK FLOW PROBLEM. THE FUNCTIONS C(I,F), DC(I,F), DCINV(I,F) C GIVE THE FUNCTION VALUE, DERIVATIVE VALUE, DERIVATIVE INVERSE VALUE C FOR A LINEAR COST FUNCTION OR AN C PIPE COST FUNCTION WITH EXPONENT S=.5 C FOR ARC I WITH FLOW F. [REF. G. KEADY'S 1991 PAPER.] C THE FUNCTION PARAMETERS A(I), CDAT(I,1) ARE SPECIFIED IN THE C ASCII FILE NL013.DAT C A(I) IS THE LINEAR COST COEFFICIENT. CDAT(I,1) IS THE ALPHA C COEFFICIENT. CDAT(I,1)=0.0 INDICATES A LINEAR COST ARC. FUNCTION C(I,F) IMPLICIT NONE INTEGER*4 MAXARCS,MAXNDAT,I PARAMETER (MAXARCS=20000, MAXNDAT=5) REAL*8 A(MAXARCS),CDAT(MAXARCS,MAXNDAT),F,C COMMON /LCOS/A COMMON /QCO1/CDAT IF (CDAT(I,1).EQ.0.0) THEN C=A(I)*F ELSE C=F**3/(3*CDAT(I,1)**2) END IF RETURN END FUNCTION DC(I,F) IMPLICIT NONE INTEGER*4 MAXARCS,MAXNDAT,I PARAMETER (MAXARCS=20000, MAXNDAT=5) REAL*8 A(MAXARCS),CDAT(MAXARCS,MAXNDAT),F,DC COMMON /LCOS/A COMMON /QCO1/CDAT IF (CDAT(I,1).EQ.0.0) THEN DC=A(I) ELSE C IGNORE CASE OF NEGATIVE F DC=F**2/CDAT(I,1)**2 END IF RETURN END FUNCTION DCINV(I,T) IMPLICIT NONE INTEGER*4 MAXARCS,MAXNDAT,I PARAMETER (MAXARCS=20000, MAXNDAT=5) REAL*8 A(MAXARCS),CDAT(MAXARCS,MAXNDAT),T,DCINV COMMON /LCOS/A COMMON /QCO1/CDAT IF (T.GE.0.0) THEN DCINV=CDAT(I,1)*DSQRT(T) ELSE DCINV=-CDAT(I,1)*DSQRT(-T) END IF RETURN END