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 or on the ESA-internal page.

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 Distribution

pyoptgra-1.4.0.tar.gz (2.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyoptgra-1.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyoptgra-1.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyoptgra-1.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyoptgra-1.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file pyoptgra-1.4.0.tar.gz.

File metadata

  • Download URL: pyoptgra-1.4.0.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for pyoptgra-1.4.0.tar.gz
Algorithm Hash digest
SHA256 07916548b09dbefa9a05c033b5ba41297ca94c5a913c78f8eae1157e789f85a2
MD5 cf1636180cc485502278e45b5281e35e
BLAKE2b-256 21dfa92930b8826eaf25b38dd87aef62de87ea7701f3b9dbdcf834fd77ddf5e5

See more details on using hashes here.

File details

Details for the file pyoptgra-1.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyoptgra-1.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fbafe164fac83201a93b44a877f24f803755e76c56ee034baf2ae5fd4123fa53
MD5 a97f3c1d663b4cd85d34be84b6403d5a
BLAKE2b-256 d0266319764f91bbc4465629bd75cfdff75437d0da213cad0810085554173aeb

See more details on using hashes here.

File details

Details for the file pyoptgra-1.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyoptgra-1.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f0deeaf18d9e9f041c7fdf7e1ab45fe67648dfbff1107e8c507b0856b69aa84a
MD5 7ba471a26e5bdaf3ad25fab452f34bca
BLAKE2b-256 52ee5c3e90bee6ebbdf2cb439a899a5c656840d6a53252c7256bafb0ae2f2300

See more details on using hashes here.

File details

Details for the file pyoptgra-1.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyoptgra-1.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a927fb57cf6f139aeae0df54c7dfd80b4d4b4ced5f1d32aab662443644838fd6
MD5 9878b781f318fa3787ec562ecc1c159b
BLAKE2b-256 403729df5348096c3af98875c58285282e5786d77994c6f444aa56a51b94a3a4

See more details on using hashes here.

File details

Details for the file pyoptgra-1.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyoptgra-1.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3f4fa4be66b0107c1a22d8ba2b2f2e75d7bb7d3ba65fb5769ffdc34c8ae42604
MD5 521ea24f2957b574556231b48c4b2083
BLAKE2b-256 8f7c6a80bcc135393f45dd7d57a7d7541e8e48537e80a6b2eb43a8585a8508de

See more details on using hashes here.

Supported by

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