Skip to main content

A python-wrapped optimizer for near-linear constrained problems

Project description

Optgra

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.

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 <https://esa.github.io/pygmo2/> 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 Distribution

pyoptgra-0.1.4.tar.gz (7.5 kB view details)

Uploaded Source

Built Distributions

pyoptgra-0.1.4-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.4-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.4-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.4-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.4-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.4.tar.gz.

File metadata

  • Download URL: pyoptgra-0.1.4.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for pyoptgra-0.1.4.tar.gz
Algorithm Hash digest
SHA256 1e44d58a530e65d447d7f88004645e0fc28636c47146be67d0e8e66d0f648891
MD5 cff9b738c3ce46f1c11663762cabe53d
BLAKE2b-256 99db98efa2ed69c865314a3692107498ad36ddb1cf5799a5d1bd5782d0f06cd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-0.1.4-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7d8f9bf27779af66d08f695cdef0fab527e3e8593f37aa2b78def0ad6c15bc69
MD5 e6eb5bb53de61568b251c5381e1d7ef5
BLAKE2b-256 2804ee4dea4b32f00e24e11646a9d350ce903c0b01160ccb789da8c09318edad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-0.1.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 adcd6eea22e824aa13c1b7d5b4a7f81e705b3f6ea789803a74dd492187b486f6
MD5 b56be8a078a7f4b120b06c81c5c94ed1
BLAKE2b-256 a615d6db763c114437b352d3ed33046f4600c81e3b456c09fb51bb5ff4f40ac6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-0.1.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 af4295c0500fb88f2485c5d8a0d2016c8015aeb13a70f0ca8b24dc8998522b2f
MD5 e00478bec08437ced2717048469294e1
BLAKE2b-256 d93229886a68832e3253f7a58b51132eeca85248768994a66af43e83bd174e06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-0.1.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8170e133f305c8022e862f1fc929d087087a4acfe5a6313cdc04f33327b04ec0
MD5 4369cbab4816b63fdee15437245d981a
BLAKE2b-256 4e6c249f063020aeab75fb5ea2cf31d86a426649e447602184901999dfc21167

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-0.1.4-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 bae79a1df44e93da22fafb2c8444d6e9b536149dfc550c918e2e4755a2c71839
MD5 d52b1ec7fceeb7adb4094c2b318a639d
BLAKE2b-256 9ed004488538e6d67fb55c4238184ce633616b121deefea66311cb3363831aa4

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