Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ Some key features of pyOptSparse include:
- The optimization histories can be stored during the optimization process, and a partial history can also be used to hot-restart the optimization
- A post-processing GUI utility called OptView to analyze optimization results

The list of supported optimizers is shown on the sidebar to the left.
Of those, the following are not installed by default:

- SNOPT and NLPQLP are proprietary and must be obtained from their respective authors
- IPOPT and ParOpt must be installed separately


pyOptSparse is a fork of `pyOpt <http://www.pyopt.org/>`_.
However, it is not backwards compatible with pyOpt and thus optimization scripts will need to be modified to use pyOptSparse.
Expand Down
3 changes: 1 addition & 2 deletions doc/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Conda packages are available on ``conda-forge`` and can be installed via

conda install -c conda-forge pyoptsparse

This would install pyOptSparse with the built-in optimizers, as well as IPOPT.
This would install pyOptSparse with the built-in optimizers.
If you wish to use optimizers not packaged by ``conda``, e.g. SNOPT, then you must either build the package from source or use the installation script below.
If you have the SNOPT precompiled library available, it is possible to dynamically link it to pyOptSparse following the instructions on the :ref:`SNOPT installation page<snopt_by_conda>`.

Expand Down Expand Up @@ -142,7 +142,6 @@ This can be verified by manually importing the compiled library that's causing t

If this throws a ``missing symbol`` error, then there is likely a linking issue at compile time.
If, on the other hand, this throws a ``error while loading shared libraries``, then it's probably a runtime issue with a shared library.
Check to make sure that the ``$LD_LIBRARY_PATH`` is set correctly, for example when running IPOPT.


Update or Uninstall
Expand Down
9 changes: 6 additions & 3 deletions doc/optimizers/IPOPT.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@ The source code can be found `here <https://github.com/coin-or/Ipopt>`_.
Installation
------------
IPOPT and its Python interface `cyipopt <https://github.com/mechmotum/cyipopt>` must be installed separately.
Follow the instructions `here <https://cyipopt.readthedocs.io/en/stable/install.html>`_.
OpenMDAO also has a very helpful `script <https://github.com/OpenMDAO/build_pyoptsparse/>`_ which can be used to install IPOPT with other linear solvers,
but it does not install ``cyipopt`` for you.
There are several ways to install IPOPT and its Python bindings:
#. The simplest option is to use conda-forge to install ``cyipopt``. This is recommended for most people.
#. Either compile IPOPT yourself or use a pre-built binary, then install ``cyipopt`` from source.
Follow the instructions `here <https://cyipopt.readthedocs.io/en/stable/install.html>`_.
#. Use the helper script `build_pyoptsparse <https://github.com/OpenMDAO/build_pyoptsparse/>` by the team at OpenMDAO.
This will install IPOPT and ``cyipopt`` for you.

Options
-------
Expand Down
Loading