* SUBROUTINE PP0AF8 ALL SYSTEMS 97/12/01 C PORTABILITY : ALL SYSTEMS C 97/12/01 LU : ORIGINAL VERSION * * PURPOSE : * COMPUTATION OF VALUE OF THE AUGMENTED LAGRANGIAN FUNCTION. * * PARAMETERS : * II NF NUMBER OF VARIABLES. * II N DIMENSION OF THE CONSTRAINT NULL SPACE. * II NC NUMBER OF CONSTRAINTS. * RI CF(NC+1) VECTOR CONTAINING VALUES OF THE CONSTRAINTS. * II IC(NC) VECTOR CONTAINING TYPES OF CONSTRAINTS. * II ICA(NF) VECTOR CONTAINING INDICES OF ACTIVE CONSTRAINTS. * RI CL(NC) VECTOR CONTAINING LOWER BOUNDS FOR CONSTRAINT FUNCTIONS. * RI CU(NC) VECTOR CONTAINING UPPER BOUNDS FOR CONSTRAINT FUNCTIONS. * RI CZ(NC) VECTOR OF LAGRANGE MULTIPLIERS. * RI RPF PENALTY COEFFICIENT. * RO FC VALUE OF THE PENALTY TERM. * RO F VALUE OF THE PENALTY FUNCTION. * SUBROUTINE PP0AF8(NF,N,NC,CF,IC,ICA,CL,CU,CZ,RPF,FC,F) INTEGER NF,N,NC,IC(*),ICA(*) DOUBLE PRECISION CF(*),CL(*),CU(*),CZ(*),RPF,FC,F DOUBLE PRECISION POM,TEMP INTEGER J,KC FC=0.0D0 DO 1 KC=1,NC IF (IC(KC).GT.0) THEN POM=0.0D0 TEMP=CF(KC) IF (IC(KC).EQ.1.OR.IC(KC).GE.3) POM=MIN(POM,TEMP-CL(KC)) IF (IC(KC).EQ.2.OR.IC(KC).GE.3) POM=MIN(POM,CU(KC)-TEMP) FC=FC+RPF*ABS(POM) ENDIF 1 CONTINUE DO 2 J=1,NF-N KC=ICA(J) IF (KC.GT.0) THEN POM=0.0D0 TEMP=CF(KC) IF (IC(KC).EQ.1.OR.IC(KC).EQ.3.OR.IC(KC).EQ.5) & POM=MIN(POM,TEMP-CL(KC)) IF (IC(KC).EQ.2.OR.IC(KC).EQ.4.OR.IC(KC).EQ.6) & POM=MAX(POM,TEMP-CU(KC)) FC=FC-CZ(J)*POM ENDIF 2 CONTINUE F=CF(NC+1)+FC RETURN END