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.3.1.tar.gz (2.2 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.3.1-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.3.1-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.3.1-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.3.1-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.3.1.tar.gz.

File metadata

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

File hashes

Hashes for pyoptgra-1.3.1.tar.gz
Algorithm Hash digest
SHA256 b0892df6f03d1f02b6ce0174ec9030d4732297ea33566a6ba2bec37f50000908
MD5 3bfd52e198fd52d360c824202616a425
BLAKE2b-256 35a0b2c5a43cf570adea49bce63fd008875cf1a34a855771ca028d71b07b22ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a8b1015cd7abcb2da36e8b97fc8ed88626950aa82f4d9bfb81febe41a21c9e54
MD5 ef983539ae5e33f1ebe49db5c6d72371
BLAKE2b-256 0b9b103a14f4252af15fa6378605eb1d32379e2c8839f932a3d9486882b61af7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 10650ae77a45110aa952f11c7f1ec7cf4bd6725a6abd3b415df768bfe9e60871
MD5 24a14a1bedf43164f35ae1610d911db1
BLAKE2b-256 8b4ac95d5beec53d3a6c89105868d4881a255cd487af03ecfc51185b2f5ff0d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5c56b9dd813ad16c3ebd30d4229c0a3bc2ad174e9054ab118d93645f3160a9a2
MD5 a866d7c8422bfbd27855a5db81b0f6bf
BLAKE2b-256 85dc97f5c949337de20566e588bae1cb99116136965dc67e62c6e60f0582026e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.3.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f718088b1c84778c838ba91ad49927dfd23e4e83242b603243a8da22965239ab
MD5 36c0aad0c30a52f67aea8f095965319f
BLAKE2b-256 84aee60d61228bd641d843d6b807d38feb62f42a415d634582edcfa3cab0e968

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