```{image} _static/OptiWindNet.svg :alt: OptiWindNet :width: 40% :align: center ``` # OptiWindNet Documentation **OptiWindNet: Wind Farm Electrical Network Optimizer**\ (distributed under the [MIT License](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/blob/main/LICENSE)) ||| |--:|:--| Python Package Index (PyPI) | Source code repository | Issue tracker | Jupyter notebooks used in this manual | ## About OptiWindNet OptiWindNet is an electrical network design tool for offshore wind farms developed at the Technical University of Denmark -- DTU. The package offers a framework to obtain optimal or near-optimal cable routes for a given turbine layout within the cable-laying boundaries. It provides high-level access to heuristic, meta-heuristic and mathematical optimization approaches to the problem. The tool is distributed as the open-source Python package **optiwindnet**, which can be used either within an interactive Python session (e.g. Jupyter notebook) or as a library, by invoking OptiWindNet's API directly from another application (e.g. [TOPFARM](https://topfarm.pages.windenergy.dtu.dk/TopFarm2/notebooks/cables.html), [Ard](https://github.com/NLRWindSystems/Ard)). ## What can OptiWindNet do? * Optimize the network of array cables (aka collection system, infield cables, internal grid, inter-array cables); * Route the cables to avoid exclusion zones and cable-to-cable crossings; * Assign cable types and calculate network costs; * Use different optimization approaches according to the preferred time/quality trade-off; * Employ user-provided models and objective functions within the mathematical optimization approach. ## Getting Started [](setup) your Python environment and check the {doc}`Quickstart ` to begin using OptiWindNet. ## How to Cite A peer-reviewed scientific article explaining the OptiWindNet framework and benchmarking it against state-of-the-art methods is available (open-access) at: - 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, . ```{code-block} bib @article{ SOUZADEALENCAR2025, title = {Flexible cable routing framework for wind farm collection system optimization}, journal = {European Journal of Operational Research}, year = {2025}, 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}, } ``` 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](https://doi.org/10.5281/zenodo.18388438). 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](https://fulltext-gateway.cvt.dk/oafilestore?oid=62dddf809a5e7116caf943f3&targetid=62dddf80a41ba354e4ed35bc) (DTU Wind - Technical University of Denmark, July 4, 2022). The meta-heuristic used is [vidalt/HGS-CVRP](https://github.com/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](https://github.com/mdealencar/HybGenSea). The cable routing relies on a navigation mesh generated by the library [artem-ogre/CDT](https://github.com/artem-ogre/CDT) (Constrained Delaunay Triangulation, C++) via its Python bindings [artem-ogre/PythonCDT](https://github.com/artem-ogre/PythonCDT). ## Documentation Contents ```{toctree} setup notebooks/quickstart_high overview high_level_api low_level_api theory paper ```