Getting Started¶
Installation Instructions:
From your python environment (we recommend Anaconda), just type:
>> pip install 'openmdao[all]'
Note
The [all] suffix to the install command ensures that you get all the optional dependencies (e.g. for testing and visualization). You can omit this for a minimal installation.
The quotation marks are required to prevent some command shells (e.g. zsh) from trying to interpret the square brackets.
Sample Optimization File¶
With OpenMDAO installed, let’s try out a simple example, to get you started running your first optimization. Copy the following code into a file named paraboloid_min.py:
import openmdao.api as om
# build the model
prob = om.Problem()
prob.model.add_subsystem('paraboloid', om.ExecComp('f = (x-3)**2 + x*y + (y+4)**2 - 3'))
# setup the optimization
prob.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 optimization
prob.run_driver()
# minimum value
print(prob.get_val('paraboloid.f'))
# location of the minimum
print(prob.get_val('paraboloid.x'))
print(prob.get_val('paraboloid.y'))
Then, to run the file, simply type:
>> python paraboloid_min.py
If all works as planned, results should appear as such:
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]