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.0.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.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyoptgra-1.3.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.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyoptgra-1.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: pyoptgra-1.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 2edac6f52c0ef1d6087a07f9672d187a4303d2c24df52dbe6cffe07a8619cbe3
MD5 7aa41e790cffda99f6229045e28b4594
BLAKE2b-256 29b0358162432168a63893d53ff484baa6827e1539707942209ca94baf51faa7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f0cac33c6042acb329f6203618f1db8266e53689411148e5baab7c0773a3ac72
MD5 83d4356ff9cf6bc068cec07e24f3d1b8
BLAKE2b-256 bfd38102fac450b5b5f56cab8116feb0218b921c78870b9dbe597abbfc539e70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4c384426b0ca569dbde242c68872e3b6d857e4b17cc6ac1d25fca3b8bab94c7c
MD5 ba129dfdf6b803ab180f15cf45dff944
BLAKE2b-256 ab3133335d58cd4d28cf37b45372c9c7bce8926fdc66d874a2da4887b6de6d0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cda3afc1be820d3170273f3b93e05d75b0fda7e6c7d4ba9eb74c8514e28474f0
MD5 557211c6d959cf80dbfe97a0ce9956ed
BLAKE2b-256 8970d9b4c970a713116699b40661f8b9696130c6c6f2f7f7b29b7c596e8e6676

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-1.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c10b9c3b4bb8c5e43d133ac0482d22b8e67fed79f566459e08c679b340559201
MD5 ddab4cf130673bb422e61c5c535bee33
BLAKE2b-256 91b956043794c95f6d59d03906e2e29a02cf46ededda4b5019f3df42302588ac

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