PDOPT

PDOPT: A Python library for Probabilistic Design space exploration and OPTimisation - Published in JOSS (2024)

https://github.com/spinjet/pdopt-code

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: mdpi.com
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

design-space-exploration multi-disciplinary optimization set-based-design

Scientific Fields

Artificial Intelligence and Machine Learning Computer Science - 83% confidence
Last synced: 4 months ago · JSON representation

Repository

Public Release Version of PDOPT

Basic Info
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 2
Topics
design-space-exploration multi-disciplinary optimization set-based-design
Created over 3 years ago · Last pushed 5 months ago
Metadata Files
Readme License

README.md

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.

Owner

  • Name: Andrea S.
  • Login: spinjet
  • Kind: user
  • Location: Cranfield, UK

JOSS Publication

PDOPT: A Python library for Probabilistic Design space exploration and OPTimisation
Published
March 05, 2024
Volume 9, Issue 95, Page 6110
Authors
Andrea Spinelli ORCID
Centre for Propulsion and Thermal Power, Cranfield University, MK430AL, UK
Timoleon Kipouros ORCID
Centre for Propulsion and Thermal Power, Cranfield University, MK430AL, UK
Editor
Kyle Niemeyer ORCID
Tags
Computational Engineering Design Space Exploration Set-Based Design Design Uncertainty Multi-Objective Optimization

GitHub Events

Total
  • Delete event: 1
  • Push event: 7
  • Pull request event: 4
  • Create event: 1
Last Year
  • Delete event: 1
  • Push event: 7
  • Pull request event: 4
  • Create event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 106
  • Total Committers: 1
  • Avg Commits per committer: 106.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Andrea S s****5@g****m 106

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 4
  • Total pull requests: 8
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 7 hours
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 7.75
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 minutes
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jbussemaker (2)
  • e-dub (1)
Pull Request Authors
  • spinjet (8)
  • kyleniemeyer (2)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 14 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
pypi.org: pdopt

Package for Probabilistic Design Space Exploration using Set-Based Design

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 14 Last month
Rankings
Dependent packages count: 9.9%
Average: 37.4%
Dependent repos count: 65.0%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/draft-pdf.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
requirements.txt pypi
  • dash *
  • joblib *
  • matplotlib *
  • numpy *
  • pandas *
  • plotly *
  • pymoo *
  • scikit-learn *
  • scipy *
  • tqdm *
setup.py pypi