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.1.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.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

File metadata

  • Download URL: pyoptgra-1.4.1.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.1.tar.gz
Algorithm Hash digest
SHA256 304a84cb82c8a55cf5c0128899789007b518c3adf21f52d5e17380ae03003def
MD5 0afadbd1f021fbf32a8788926ce275cd
BLAKE2b-256 76fa9e5643ce2ce54d5e46ca0d2c36fee5a701a0bfa9e951150e326a2ca8dbfc

See more details on using hashes here.

File details

Details for the file pyoptgra-1.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyoptgra-1.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b6ed2e1122ca0e689ed18d059c9cd4b77151b79eae4d23dc2572e31d2e7f68e5
MD5 5e5159a130eec422e166c5f58a327b93
BLAKE2b-256 de05258b9bd3e1fffa7386cee6debc356484aa8c4993e1a83f201f61429bed32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5f382e462a46589e3423b37575f44969b6701d31d75f38491c937768c90cc681
MD5 a80e410a1e0f6d0c14a4e403ef491180
BLAKE2b-256 6020f5363e9d5641387178be8fc6d3997183ca7d4bb210417d88455ba6d7af07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1011f1f81c38c16c2f40159c0334577c4d845f93fe4c7c48b859394a4a57a70f
MD5 f06d8c2195f2d3bc8b198ddd33c94d46
BLAKE2b-256 bfc535087e95e6a94f35a2ccd1d74220c44b0ce7937a9324965ce18e00646133

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6d12bcea30da7faf300c589267dad2e210e02cc0f855f54d2a8313fbc5815d24
MD5 779367805df509db299de32299ad08c4
BLAKE2b-256 184a8078d3d17c36985058fb8ea34442434a4f4917f13ccd9531ac2cab3b4b74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 501af5f949e5c441752ddc7e8f0dd8ac0798748414de18920150084cd0c8764e
MD5 c036e3ea20420a33f47b6ca1f43e7f06
BLAKE2b-256 f4c998cf20a444f9e5f97da84b6d92225d0b4d03f10a0476bf9cb866e144c4d5

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