Télécharger concheck.eso

Retour à la liste

Numérotation des lignes :

concheck
  1. C CONCHECK SOURCE FD218221 26/10/07 21:15:05 12662
  2. SUBROUTINE CONCHECK(M,EPSIMIN,F0APP,F0NEW,FAPP,FNEW,BCONS)
  3.  
  4. C ----------------------------------------------------------------------
  5. C Ce code est une adaptation en FORTRAN/ESOPE de l'algorithme de la GC-MMA
  6. C (Methode des Asymptotes Mobiles Globalement Convergente) propose initialement
  7. C en langage Matlab par K. Svarberg (sources : https://www.smoptit.se/)
  8. C ----------------------------------------------------------------------
  9. C Cette subroutine verifie si les approximations du sous probleme convexe
  10. C sont conservatives.
  11. C
  12. C On compare les valeurs approchees (par le sous problem) des fonctions
  13. C objectif et contraintes avec les valeurs mises a jour.
  14. C
  15. C Entrees :
  16. C ---------
  17. C M = Nombre de contraintes
  18. C EPSIMIN = Petit nombre positif ajoute aux valeurs approximees
  19. C F0APP = Scalaire valeur approximee de la fonction objectif
  20. C F0NEW = Scalaire valeur mise a jour de la fonction objectif
  21. C FAPP = Vecteur (M) valeurs approximees des fonctions contraintes
  22. C FNEW = Vecteur (M) valeurs mises a jour des fonctions contraintes
  23. C
  24. C Sorties :
  25. C ---------
  26. C BCONS = Booleen, vrai si probleme conservatif, faux sinon
  27. C ----------------------------------------------------------------------
  28.  
  29. IMPLICIT INTEGER(I-N)
  30. IMPLICIT REAL*8(A-H,O-Z)
  31.  
  32. C Arguments
  33. REAL*8 FAPP(M),FNEW(M)
  34. LOGICAL BCONS
  35.  
  36. C Comparaison des valeurs
  37. BCONS=.TRUE.
  38. IF (F0NEW.GT.(F0APP+EPSIMIN)) THEN
  39. BCONS=.FALSE.
  40. RETURN
  41. ENDIF
  42. DO 10 J=1,M
  43. IF (FNEW(J).GT.(FAPP(J)+EPSIMIN)) THEN
  44. BCONS=.FALSE.
  45. RETURN
  46. ENDIF
  47. 10 CONTINUE
  48.  
  49. RETURN
  50. END
  51.  
  52.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales