Giter Club home page Giter Club logo

crecine / pyoptsparse Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mdolab/pyoptsparse

0.0 0.0 0.0 2.48 MB

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

Home Page: https://mdolab-pyoptsparse.readthedocs-hosted.com/en/latest/

License: GNU Lesser General Public License v3.0

Python 51.54% C 8.66% Fortran 36.69% CSS 1.04% TeX 0.45% Meson 1.37% SWIG 0.23%

pyoptsparse's Introduction

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.

pyoptsparse's People

Contributors

ewu63 avatar johnjasa avatar nbons avatar justinsgray avatar eirikurj avatar gkenway avatar kenneth-t-moore avatar gjkennedy avatar sseraj avatar robfalck avatar marcomangano avatar swryan avatar naylor-b avatar jrram avatar fzahle avatar dwmunster avatar kanekosh avatar bbrelje avatar friedenhe avatar laurentww avatar jackm97 avatar nischintu avatar lvzhoujie avatar hschilling avatar camader avatar alexishonzik avatar achase90 avatar aaronyicongfu avatar xiaosong2105 avatar whophil avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.