ich bekomme mal wieder eine Fehlermeldung ausgegeben bei der Formulierung einer größer gleich Restriktion (>=1,5).
Wenn ich die Ungleichung mit Fließkommazahl angebe erscheint eine Fehlermeldung, jedoch aber nicht wenn ich die Fließkommazahl als Bruch umforme. Eine Klammer um den Bruch wird nicht akzeptiert, hier erscheint ebenfalls wieder eine Fehlermeldung. Ich frage mich nun, ob mit dem Bruch auch wirklich die 1,5 dargestellt werden?
Restriktion mit Fehlermeldung:
G(6)=-(275/(((8*X(2))/(4*X(3)))**2
& +((8*X(2))/(2*X(3)))**2
& -((8*X(2))/(4*X(3)))*((8*X(2))/(2*X(3))))**0.5)+1.5.0d0
Folgende Fehlermeldung wird ausgegeben:
error unclassifiable statement at (1)
Restriktion ohne Fehlermeldung:
G(6)=-(275/(((8*X(2))/(4*X(3)))**2
& +((8*X(2))/(2*X(3)))**2
& -((8*X(2))/(4*X(3)))*((8*X(2))/(2*X(3))))**0.5)+3/2.0d0
Quellcode:
Code: Alles auswählen
SUBROUTINE GFUN(G,X)
IMPLICIT NONE
REAL*8 G(10) , X(3)
G(1)= X(1)-1400.0d0
G(2)= -X(2)+100.0d0
G(3)= X(2)-400.0d0
G(4)=-X(3)+2.0d0
G(5)=-(4/3)*(0.5*X(2)-X(3))**3*3.141592654-3.141592654*(0.5*X(2)
& -X(3))**2*X(1)+50.0d0
G(6)=-(275/(((8*X(2))/(4*X(3)))**2
& +((8*X(2))/(2*X(3)))**2
& -((8*X(2))/(4*X(3)))*((8*X(2))/(2*X(3))))**0.5)+1.5.0d0
G(7)=-(275/(((12*X(2))/(4*X(3)))**2
& +((12*X(2))/(2*X(3)))**2
& -((12*X(2))/(4*X(3)))*((12*X(2))/(2*X(3))))**0.5)+1.1.0d0
G(8)=-X(1)+0.0d0
G(9)=-X(2)+0.0d0
G(10)=-X(3)+0.0d0
END
REAL*8 FUNCTION FFUN(X)
IMPLICIT NONE
REAL*8 X(3)
ffun =0.25942*3.141592654*X(1)*X(2)*X(3)
& +1+0.25942*3.141592654*X(2)**2*X(3)
& +(2*0.0001*X(3)*(2*3.141592654*X(2)+X(1))
& +0.0008*X(3)**2*(2*3.141592654*X(2)+X(1)))
& +0.1592*10**5*(3.141592654*X(2)**2+3.141592654*X(2)*X(1))
END
Beste Grüße
Georg