• Stars
    star
    221
  • Rank 178,805 (Top 4 %)
  • Language
    Python
  • License
    GNU Lesser Genera...
  • Created over 6 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

pyOptSparse is an object-oriented framework for formulating and solving nonlinear constrained optimization problems in an efficient, reusable, and portable manner.

Conda Build Status Documentation Status codecov Code style: black DOI

pyOptSparse is an object-oriented framework for formulating and solving nonlinear constrained optimization problems in an efficient, reusable, and portable manner. It is a fork of pyOpt that uses sparse matrices throughout the code to more efficiently handle large-scale optimization problems. Many optimization techniques can be used in pyOptSparse, including both gradient-based and gradient-free methods. A visualization tool called OptView also comes packaged with pyOptSparse, which shows the optimization history through an interactive GUI. An example output from OptView is shown below.

Example

Optimizer support

pyOptSparse provides Python interfaces for a number of optimizers. ALPSO, CONMIN, IPOPT, NLPQLP, NSGA2, PSQP, SLSQP, ParOpt and SNOPT are currently tested and supported.

We do not provide the source code for SNOPT and NLPQLP, due to their restrictive license requirements. Please contact the authors of the respective optimizers if you wish to obtain them. Furthermore, ParOpt and IPOPT are available as a open source package but must be installed separately. Please see the documentation page of each optimizer for purchase and installation instructions.

Integration into other frameworks

pyOptSparse can be used in the following optimization frameworks:

Documentation

Please see the documentation for installation details and API documentation.

Testing

Testing is done with the testflo package developed by the openMDAO team, which can be installed via pip install testflo. To run the tests, simply type testflo . in the root directory.

Citation

If you use pyOptSparse, please see this page for citation information. A list of works that have used pyOptSparse can be found here

License

pyOptSparse is licensed under the GNU Lesser General Public License. See LICENSE for the full license.

Copyright

Copyright (c) 2011 University of Toronto
Copyright (c) 2014 University of Michigan
Additional copyright (c) 2014 Gaetan K. W. Kenway, Ruben Perez, Charles A. Mader, and
Joaquim R. R. A. Martins
All rights reserved.

More Repositories

1

adflow

ADflow is a finite volume RANS solver tailored for gradient-based aerodynamic design optimization.
Fortran
220
star
2

dafoam

DAFoam: Discrete Adjoint with OpenFOAM for High-fidelity Multidisciplinary Design Optimization
C
205
star
3

OpenAeroStruct

OpenAeroStruct is a lightweight tool that performs aerostructural optimization using OpenMDAO.
Python
192
star
4

pygeo

pyGeo provides geometric design variables and constraints suitable for gradient-based optimization.
Python
123
star
5

MACH-Aero

MACH: MDO of Aircraft Configurations with High fidelity
Python
110
star
6

pyXDSM

A python library for generating PDF XDSM diagrams.
Python
57
star
7

pyhyp

pyHyp generates volume meshes from surface meshes using hyperbolic marching.
Fortran
45
star
8

pyspline

pySpline produces B-spline curves, surfaces, and volumes
Python
39
star
9

openconcept

OpenConcept: A toolkit for conceptual MDAO of aircraft with unconventional propulsion architectures
Python
34
star
10

CMPLXFOIL

Fortran
29
star
11

niceplots

Python
16
star
12

idwarp

IDWarp is a mesh warping package for the MACH framework.
Fortran
16
star
13

cgnsutilities

cgnsUtilities is a collection of functions for working with CGNS grids.
Fortran
10
star
14

AerostructuralOptBenchmark

Python
9
star
15

prefoil

preFoil facilitates rapid airfoil generation and manipulation.
Python
6
star
16

baseclasses

Python
6
star
17

pyofm

Python wrapper for OpenFOAM meshes
Python
6
star
18

MACH-Aero-tutorial

Python
5
star
19

multipoint

Facilitates distributed multipoint optimization.
Python
5
star
20

sphinx_mdolab_theme

Python
3
star
21

pysurf

pySurf provides geometric operations for triangulated surfaces.
Fortran
2
star
22

aeroprop

Python
2
star