Skip to main content

A design optimization software for hybrid power plants

Project description

SHIPP: Sizing optimization for HybrId Power Plants

CI/CD test suite DOI PyPi License

SHIPP logo

Description

SHIPP is used for studying the design and operation of hybrid power plants, i.e. power plants combining one or more renewable energy production with energy storage systems.

Documentation is available at https://jennaiori.github.io/shipp/

Installation

The package can be installed using pip.

pip install shipp

Usage

Examples are given in the folder examples/.

The folder experiments/ contains scripts to reproduce the results presented in the following publications:

  • hyb24_bl_hpp/: Iori, J., Zaaijer, M., von Terzi, D., & Watson, S. (2024). Design drivers for the storage system of baseload hybrid power plants. In 8th International Hybrid Power Plants and Systems Workshop, HYB 2024 (2 ed., Vol. 2024, pp. 245-250) https://doi.org/10.1049/icp.2024.1844
  • we25_robust_dispatch/: Iori, J., Zaaijer, M., Kreeft, J., von Terzi, D., Watson, S. (2025) Reliable operation of wind-storage systems for baseload power production, WindEurope Annual Event 2025 Copenhagen, Denmark. https://doi.org/10.1088/1742-6596/3025/1/012023

Dependencies

A valid access or license to a solver compatible with pyomo (MOSEK, CPLEX, Gurobi, etc.) is recommended to solve large problems (see more information here: https://www.pyomo.org/).

Latest changes [1.2.1]

  • Added CHANGELOG.md
  • Added documentation on the implementation of the dispatch optimization problems and mathematical background: https://jennaiori.github.io/shipp/
  • Added API reference in the documentation
  • Added function financial_metrics in kernel.py to compute LCOE, NPV, IRR, CAPEX and cashflow
  • Changed functions solve_lp_pyomo and solve_lp_sparse:
    • Both functions now take a single dictionary argument options for optional arguments like fixed_cap and the penalty factors.
    • The constraint on the first and last state-of-charge is now an inequality constraint $e_0 \leq e_{n+1}$
    • Addition of the constraint on maximum combined storage power in solve_lp_sparse to match solve_lp_pyomo
    • Addition of a penalty on total curtailed energy with factor beta_obj
  • Added two problem formulations (lp and milp) in solve_lp_sparse
  • Added function curtail in Production object to copy the object and curtail the power production by a given np.ndarray
  • Added tests to check conservation of energy between energy produced, curtailed energy, storage losses and energy delivered
  • Fixed issue #4
  • Fixed lack of storage model check / storage losses check in solve_lp_sparse

Authors and acknowledgment

This project is developed by Jenna Iori at Delft University of Technology and was initially part of the Hollandse Kust Noord wind farm innovation program, with funding from CrossWind C.V.

The code is release under the Apache 2.0 License (see License.md).

Copyright notice:

Technische Universiteit Delft hereby disclaims all copyright interest in the program “SHIPP” (a design optimization software for hybrid power plants) written by the Author(s).

Henri Werij, Faculty of Aerospace Engineering, Technische Universiteit Delft.

© 2024-2026, Jenna Iori

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

shipp-1.2.1.tar.gz (42.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shipp-1.2.1-py3-none-any.whl (33.7 kB view details)

Uploaded Python 3

File details

Details for the file shipp-1.2.1.tar.gz.

File metadata

  • Download URL: shipp-1.2.1.tar.gz
  • Upload date:
  • Size: 42.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for shipp-1.2.1.tar.gz
Algorithm Hash digest
SHA256 1ed958e959589728a172c6701c12d164742460c45308ebd5c50601dc916c58e2
MD5 5e82b4a2239e7d34bfed85bed9aa9f1e
BLAKE2b-256 c5f2be1cde322fe0954bbf558ea0576f3e9a8b5a9f74d2ec5c63a58995666728

See more details on using hashes here.

File details

Details for the file shipp-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: shipp-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for shipp-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b95f9760fa5528d711b81c2a19c72a1761502fe6197fe3045fbd828f43952e71
MD5 be74a9db4c91c678a85a8773ce0058eb
BLAKE2b-256 63619ef9cbc259542e5faaa00e54626dd5c298e64755af79f40f5ef5f80a9958

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