• Stars
    star
    220
  • Rank 179,471 (Top 4 %)
  • Language
    Python
  • License
    Eclipse Public Li...
  • Created over 9 years ago
  • Updated 3 months ago

Reviews

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

Repository Details

Cython interface for the interior point optimzer IPOPT

README for cyipopt

Ipopt (Interior Point OPTimizer, pronounced eye-pea-opt) is a software package for large-scale nonlinear optimization. Ipopt is available from the COIN-OR initiative, under the Eclipse Public License (EPL).

cyipopt is a Python wrapper around Ipopt. It enables using Ipopt from the comfort of the Python programming language.

Status

Anaconda
PyPI https://pepy.tech/badge/cyipopt
Read the Docs Documentation Status

History

This repository was forked in 2016 from https://bitbucket.org/amitibo/cyipopt and is now considered the primary repository. The fork includes a SciPy-style interface and ability to handle exceptions in the callback functions.

As of version 1.1.0 (2021-09-07), the distribution is released under the name "cyipopt" on PyPi (https://pypi.org/project/cyipopt). Before version 1.1.0, it was released under the name "ipopt" (https://pypi.org/project/ipopt).

Installation

We recommend using conda to install cyipopt on Linux, Mac, and Windows:

conda install -c conda-forge cyipopt

Other installation options are present in the documentation.

Building manylinux wheels

manylinux wheels can be built for a tagged version (GIT_TAG below) of cyipopt via docker by running (while in the root of this repo):

docker run -v $(pwd):/wheels --rm --platform=linux/amd64 quay.io/pypa/manylinux_2_28_x86_64 bash /wheels/build_manylinux_wheels.sh GIT_TAG

for linux/amd64 and:

docker run -v $(pwd):/wheels --rm --platform=linux/aarch64 quay.io/pypa/manylinux_2_28_aarch64 bash /wheels/build_manylinux_wheels.sh GIT_TAG

for linux/aarch64 platforms. Built wheels appear at the folder the command was executed from.

Warning

Docker supports emulating non-native platforms to e.g. produce ARM binaries from an AMD64 host. However this can be quite slow (~1h for our case).

License

cyipopt is open-source code released under the EPL license, see the LICENSE file.

Contributing

For bug reports, feature requests, comments, patches use the GitHub issue tracker and/or pull request system.