Skip to main content

Tool for designing and optimizing the electrical cable network of offshore wind farms

Project description

PyPi DOI License pipeline status coverage report

OptiWindNet

OptiWindNet

Tool for designing and optimizing the electrical cable network of offshore wind farms.

Documentation:
optiwindnet.readthedocs.io
FancyWindFarm

Installation

pip install optiwindnet

or

conda install --channel conda-forge optiwindnet

Detailed instructions in Installation.

Requirements

OptiWindNet requires Python version 3.11+ (tested with 3.11-14). The last version to support Python 3.10 was v0.0.6.

The use of a Python virtual environment is recommended. OptiWindNet's dependencies (except for MILP solvers, see docs) will be installed automatically when using pip install optiwindnet or conda install optiwindnet.

One may optionally pre-install the dependencies in a python environment by using either:

Paper

The methodology implemented in OptiWindNet is described in the peer-reviewed scientific article:

  • Mauricio Souza de Alencar, Tuhfe Göçmen, Nicolaos A. Cutululis, Flexible cable routing framework for wind farm collection system optimization, European Journal of Operational Research, 2025, ISSN 0377-2217, https://doi.org/10.1016/j.ejor.2025.07.069.
@article{SOUZADEALENCAR20261037,
  title = {Flexible cable routing framework for wind farm collection system optimization},
  journal = {European Journal of Operational Research},
  volume = {329},
  number = {3},
  pages = {1037-1051},
  year = {2026},
  issn = {0377-2217},
  doi = {https://doi.org/10.1016/j.ejor.2025.07.069},
  url = {https://www.sciencedirect.com/science/article/pii/S0377221725005946},
  author = {Mauricio {Souza de Alencar} and Tuhfe Göçmen and Nicolaos A. Cutululis},
  keywords = {Combinatorial optimization, Network design, Collection system, Wind farm},
}

Citing OptiWindNet

The OptiWindNet software package can be cited (unversioned) as:

Souza de Alencar, M., Arasteh, A., & Friis-Møller, M. (2026). OptiWindNet by DTU Wind Energy. Zenodo. https://doi.org/10.5281/zenodo.18388438

To cite a specific version, get the version-specific DOI at OptiWindNet's entry at Zenodo. Select the desired version on the right column and use one of the ready-to-use citation formats available at the bottom right of that page.

Acknowledgements

The development of OptiWindNet was carried out as part of a Ph.D. project at the Technical University of Denmark (DTU Wind), financially supported by the Independent Research Fund Denmark / Danmarks Frie Forskningsfond (DFF) under grant no. 1127-00188B, project Integrated Design of Offshore Wind Power Plants.

The heuristics implemented in this repository (release 0.0.1) are presented and analyzed in the MSc thesis Optimization heuristics for offshore wind power plant collection systems design (DTU Wind - Technical University of Denmark, July 4, 2022).

The meta-heuristic used is vidalt/HGS-CVRP — a modern implementation of the hybrid genetic search (HGS) algorithm specialized to the capacitated vehicle routing problem (CVRP), including an additional neighborhood called SWAP* — via its Python bindings mdealencar/HybGenSea.

The cable routing relies on a navigation mesh generated by the library artem-ogre/CDT (Constrained Delaunay Triangulation, C++) via its Python bindings artem-ogre/PythonCDT.

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

optiwindnet-0.2.1.tar.gz (441.2 kB view details)

Uploaded Source

Built Distribution

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

optiwindnet-0.2.1-py3-none-any.whl (442.0 kB view details)

Uploaded Python 3

File details

Details for the file optiwindnet-0.2.1.tar.gz.

File metadata

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

File hashes

Hashes for optiwindnet-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c573a79aa02634c9704ed8388f63ae6268282a49e6811a2f4b81b9d30bca6387
MD5 2aa393d7d55196c5b2d3c5f8ac5a3be1
BLAKE2b-256 96681a1fbb59e087efe7d9a9cd94965870bb1c3d48f0d03b1afd1a808fb47cc9

See more details on using hashes here.

File details

Details for the file optiwindnet-0.2.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for optiwindnet-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 268bd5a54148370f52904bd970aa4641457411c09e73bb8a452ab4ffca1367cd
MD5 4417a421722e718ef29ce36e6d995b56
BLAKE2b-256 bd9c33e4fa354a9ed92d954e20660875451a5da204f8bc1ca096a5482e2afce7

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