importopenmdao.apiasom# build the modelprob=om.Problem()prob.model.add_subsystem('paraboloid',om.ExecComp('f = (x-3)**2 + x*y + (y+4)**2 - 3'))# setup the optimizationprob.driver=om.ScipyOptimizeDriver()prob.driver.options['optimizer']='SLSQP'prob.model.add_design_var('paraboloid.x',lower=-50,upper=50)prob.model.add_design_var('paraboloid.y',lower=-50,upper=50)prob.model.add_objective('paraboloid.f')prob.setup()# Set initial values.prob.set_val('paraboloid.x',3.0)prob.set_val('paraboloid.y',-4.0)# run the optimizationprob.run_driver()# minimum valueprint(prob.get_val('paraboloid.f'))# location of the minimumprint(prob.get_val('paraboloid.x'))print(prob.get_val('paraboloid.y'))
Optimization terminated successfully (Exit mode 0)
Current function value: -27.33333333333333
Iterations: 5
Function evaluations: 6
Gradient evaluations: 5
Optimization Complete
-----------------------------------
[-27.33333333]
[6.66666667]
[-7.33333333]