Skip to main content

Probabilistic Design and OPTimisation framework (PDOPT)

A python framework for set-based design space exploration without explicit elimination rules. It impements a set-based approach for mapping the requirements on the design space, using a probabilistic surrogate model trained on the provided design model. This procedure ensures to identify the best candidate areas of the design space with the minimum number of assumptions of the design of the system.

The framework process follows two steps:

  • Exploration Phase. After breaking down the design space into sets (i.e. sub-spaces), the code evaluates the probability of satisfying the constraints there. Sets that have a low probability are eliminated.
  • Search Phase. Surviving sets are further explored by introducing a local optimisation algorithm (GA-based), and recovering the locally optimal design points.

The final output is an aggregation of locally optimal points which constitute a rich database of design alternatives capable to minimally satisfy the requirements set by the user.

Requisites

The following python libraries are required for installing PDOPT. These can be automatically installed with the provided setup script.

  • numpy
  • scipy
  • matplotlib
  • pandas
  • scikit-learn
  • pymoo
  • joblib

The optional visualisation tool requires the dash-plotly package to be installed.

Installation

The reccomended method is through PyPI by running the command:

pip install pdopt

Alternatevly it is possible to donwload the release, or git clone the repository. Then run the setup from the root folder:

pip install -e .

Use the --user option if not running in admin mode.

Documentation

Online API documentation with example usage can be found here.

An outdated PDF document with some explaination of the theory behind PDOPT can be found in the docs folder. Additional information can be found in the following paper: Application of Probabilistic Set-Based Design Exploration on the Energy Management of a Hybrid-Electric Aircraft

Community Guidelines

This software is currently being maintained by me @spin-jet. If you find any bugs, want to contribute or have any questions, you can either open a ticket here on GitHub or send me an email at andrea.spinelli@cranfield.ac.uk

Acknowledgements

This software was developed within Project FutPrInt50, with EU Horizon 2020 Grant No. 875551. The authors wants to thank all the researchers in the project who contributed with their input to shape the framework.

Licensing

Copyright (c) 2021 Cranfield University. This software is released under the permissive MIT License.

Metadata

Release files for pdopt 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pdopt 0.5.1
File Size Uploaded
pdopt-0.5.1.tar.gz 38.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pdopt 0.5.1
File Interpreter ABI Platform
pdopt-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 70.3 kB

Release files / pdopt-0.5.1.tar.gz

Download URL pdopt-0.5.1.tar.gz
Size 38.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9f166ebcc5e45c06b387ddf738aebcd7461235f4a219138d94e18dd9a5d1b374
BLAKE2b-256 checksum
How to use checksums
d6c850764a1fcdde6ba7d1d2781e8b5798230d32870a70da493765716269c46e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.4

Release files / pdopt-0.5.1-py3-none-any.whl

Download URL pdopt-0.5.1-py3-none-any.whl
Size 32.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee4d20ce924c003f2c47c16f9ef1ef07eda9ae79bc82a77896cb7e82cf30f286
BLAKE2b-256 checksum
How to use checksums
3c5a72a261795100478d2c2024c41969ad33dd926c75c5b9a167c8a760a293d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page