Skip to main content

A python-wrapped version of OPTGRA, an algorithm for constrained optimization

Project description

Optgra

build-status

This repository provides pyoptgra, a python package wrapping (and including) OPTGRA. OPTGRA is an optimization algorithm developed and implemented by Johannes Schoenmaekers, it is specifically designed for near-linear constrained problems, which commonly occur in trajectory optimization.

The full documentation can be found here.

Installation

With Pip

Pyoptgra is available on PyPi and can be installed with pip:

  • pip install pyoptgra

Compile from Source

First install a C++ compiler, a fortran compiler, cmake, python and python build, then clone the repository and build with python -m build

Usage

Pyoptgra is designed as a pygmo user-defined algorithm: First create an instance of the optgra class with all relevant parameters, then pass a pygmo.population containing your problem to the instance’s evolve method:

>>> import pygmo
>>> import pyoptgra
>>> prob = pygmo.problem(pygmo.schwefel(30)) # using the schwefel test problem from pygmo, with 30 dimensions
>>> pop = pygmo.population(prob, 1)
>>> algo = pygmo.algorithm(pyoptgra.optgra())
>>> pop = algo.evolve(pop) # the actual call to OPTGRA

License

Copyright 2008, 2021 European Space Agency

Pyoptgra/Optgra is available under two different licenses. You may choose to license and use it under version 3 of the GNU General Public License or under the ESA Software Community Licence (ESCL) 2.4 Weak Copyleft. We explicitly reserve the right to release future versions of Pyoptgra and Optgra under different licenses.

Copies of GPL3 and ESCL 2.4 can be found in the root directory of this package, you can also obtain them at https://www.gnu.org/licenses/gpl-3.0.txt and https://essr.esa.int/license/european-space-agency-community-license-v2-4-weak-copyleft

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pyoptgra-0.1.6-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64

pyoptgra-0.1.6-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

pyoptgra-0.1.6-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

pyoptgra-0.1.6-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

pyoptgra-0.1.6-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

File details

Details for the file pyoptgra-0.1.6-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pyoptgra-0.1.6-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a223822df712e24b85ee35b8cbfdb4837de56650171dcc75b55dbc57c0ace68d
MD5 abe35f641041612113a4add95644f710
BLAKE2b-256 e1830d4daa60e465309bde40696cce693b7e0dcf0b735c9405cca10a789595e2

See more details on using hashes here.

File details

Details for the file pyoptgra-0.1.6-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pyoptgra-0.1.6-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 623fbe739ee8df8b67bbc53772a6b5845a98277b75a41ddde1170a9a10c61084
MD5 d01597732e664c4345db0333ebab732e
BLAKE2b-256 4e1b89af5652ee70519e300a44693ae74a634b6db90b641ab85ae9bc6fa6ec69

See more details on using hashes here.

File details

Details for the file pyoptgra-0.1.6-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pyoptgra-0.1.6-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 738c2654652047c23bbe7652d0e7e9e5d2916bc87a52482002910c2172390674
MD5 9c14d9f6cc347f62c5238c3a8d19b89e
BLAKE2b-256 6de604c0445a85fea1e13d294dc8991d4f032cb362ebadda9d9bf17e0a36f5cd

See more details on using hashes here.

File details

Details for the file pyoptgra-0.1.6-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pyoptgra-0.1.6-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 00bccea649f60fec25fa14a74c69eb458ba1f01268dde948ba840cbd0937deb7
MD5 f651843be96a85c0222af2a2942a3269
BLAKE2b-256 c9a5160deafa48efef6ddcc6ec8488dcedcb9cbd51be30855a4456d1e0b3e3e1

See more details on using hashes here.

File details

Details for the file pyoptgra-0.1.6-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pyoptgra-0.1.6-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 14e29a7d17dd55c1ab047ee250ee446a1e56a2adc08f11a1d6c9641168c2ee20
MD5 7a2b18136daa01e3380132700209a979
BLAKE2b-256 04b94b5503b218348f251635317b2f8e25ec982d1e7654233648f4885e3ccf72

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page