1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
class=OptimizationAnalysis name=optim physicalModel=aModelPhys algorithmName=Cobyla isMinimization=true starting point=class=Point name=Unnamed dimension=2 values=[0.5,0.5] constraints=[Y0<600.0] maximumCallsNumber=150 maximumAbsoluteError=1e-06 maximumRelativeError=1e-06 maximumResidualError=1e-06 maximumConstraintError=1e-06 bounds=[[-5, 5],[0, 0]] variable inputs=[X0] variable types=[0,0]
x= [5,0.5]
y= [578]
#!/usr/bin/env python
import openturns as ot
import persalys
myStudy = persalys.Study('myStudy')
persalys.Study.Add(myStudy)
dist_X0 = ot.Normal(1, 1)
X0 = persalys.Input('X0', 0, dist_X0, '')
dist_X1 = ot.Normal(1, 1)
X1 = persalys.Input('X1', 0, dist_X1, '')
fake_Y0 = persalys.Output('fake_Y0', '')
fake_Y0.setIsSelected(False)
Y0 = persalys.Output('Y0', '')
inputs = [X0, X1]
outputs = [fake_Y0, Y0]
formulas = ['X0', '3*(X0-5)^2 + 8*(X1+8)^2']
aModelPhys = persalys.SymbolicPhysicalModel('aModelPhys', inputs, outputs, formulas)
myStudy.add(aModelPhys)
optim = persalys.OptimizationAnalysis('optim', aModelPhys, 'Cobyla')
interestVariables = ['Y0']
optim.setInterestVariables(interestVariables)
optim.setMinimization(True)
bounds = ot.Interval([-5, 0], [5, 0], [True, True], [True, True])
optim.addConstraint("Y0<600.0")
optim.setBounds(bounds)
optim.setStartingPoint([0.5, 0.5])
optim.setVariableInputs(['X0'])
optim.setVariablesType([0, 0])
optim.setMaximumCallsNumber(150)
optim.setMaximumAbsoluteError(1e-06)
optim.setMaximumRelativeError(1e-06)
optim.setMaximumResidualError(1e-06)
optim.setMaximumConstraintError(1e-06)
myStudy.add(optim)
ParametricEvaluation(([[X0,X1,X20,Y0,X2]->[600.0-1.0*(Y0)]])o([[X0,X1,X2]->[X0,X1,X2],MemoizeEvaluation([X0,X1,X2] code=def _exec(X0,X1,X2):
Y00 = X0
Y0 = 3*(X0-5)**2 + 8*(X1+8)**2
return Y0,X2)]), parameters positions=[1,2], parameters=[X1 : 0.5, X2 : 0], input positions=[0])
[ y0 ]
0 : [ 22 ]
|