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.

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-0.1.9.tar.gz (245.4 kB view details)

Uploaded Source

Built Distributions

pyoptgra-0.1.9-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64

pyoptgra-0.1.9-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

pyoptgra-0.1.9-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

pyoptgra-0.1.9-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

pyoptgra-0.1.9-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

File details

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

File metadata

  • Download URL: pyoptgra-0.1.9.tar.gz
  • Upload date:
  • Size: 245.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for pyoptgra-0.1.9.tar.gz
Algorithm Hash digest
SHA256 1816794797a6c2dc46d9e7f745801367479deaa56e729d90b16ea1fd2e1b5b6b
MD5 28c03a5b848c710e9c9763884c3ad056
BLAKE2b-256 4184574d71ee9c317e8d925f310147aca59cd259bcfeb3d680910576251ecf8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-0.1.9-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8141347c8dbf8b61c850855457890e5888557eb510beae7bda06a2eb4e1e68f0
MD5 361be3fa5f1aeefbbc2f17a403ec89b3
BLAKE2b-256 e5c0518cc91e24dc68700d7d6f8094b77b1543fa1300db51d81cfb7cc70f4415

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-0.1.9-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7c72a23f65add33b798b4b35921f6a06cbc4a80a0eb8b889a2caaf090b564e7c
MD5 67fe24c63c828dfe92f1ba2fe745352d
BLAKE2b-256 5884ca15cdf83daf5e204fe454e250e95ac25ac5cbe0e21cb0fb33455abebce1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-0.1.9-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a0cc5722fb9987126067fb799c6a1e339b3ae43f41867c0e2c6fc95628311395
MD5 7907e0d84be5562211e8d51b38ad68c5
BLAKE2b-256 ab82535155377847eb2f869f26dd379220bcfb3f24df74cf427ed6f00325d8f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-0.1.9-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5d9a944b898ede595c2768f81056319b41c5aca649396aa833173e9a1f7f15ec
MD5 cc07355033d0e78216db5b6bc5066971
BLAKE2b-256 1a0f88dc12e58e84f1ed2c4d6e336220c109009b3032eb3b47efc4a1aa8b03cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptgra-0.1.9-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 683c1494a63825f564c58ea325bba7d4355e98fc0a436fda9537d0b47caec411
MD5 6f66509165f1caf88fd3dd8f0e9ae2e1
BLAKE2b-256 975fe341b7f96819a510b7d6307e71aad4913bec8e74dabe4aa7f02bc73e7156

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