Metadata-Version: 2.4
Name: optiwindnet
Version: 0.0.2
Summary: Tools for optimizing the electrical cable network (collection system) for offshore wind power plants.
Author: DTU Wind Energy
Author-email: Mauricio Souza de Alencar <ma___@dtu.dk>
License-Expression: MIT
Project-URL: Documentation, https://topfarm.pages.windenergy.dtu.dk/OptiWindNet/
Project-URL: Source code, https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet
Project-URL: Issue tracker, https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/issues
Keywords: optimization,wind farms,routing
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: bidict~=0.23.1
Requires-Dist: condeltri~=0.0.2
Requires-Dist: darkdetect~=0.8.0
Requires-Dist: hybgensea~=0.0.1
Requires-Dist: matplotlib~=3.10.1
Requires-Dist: networkx~=3.4.2
Requires-Dist: numba~=0.61.0
Requires-Dist: numpy~=2.1.3
Requires-Dist: ortools~=9.12.4544
Requires-Dist: osmium~=4.0.2
Requires-Dist: pony~=0.7.18
Requires-Dist: py~=1.11.0
Requires-Dist: Pyomo~=6.9.1
Requires-Dist: PyYAML~=6.0.2
Requires-Dist: scipy~=1.15.2
Requires-Dist: shapely~=2.0.7
Requires-Dist: svg.py~=1.6.0
Requires-Dist: utm~=0.7.0
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: psutil; extra == "test"
Requires-Dist: memory_profiler; extra == "test"
Requires-Dist: line_profiler; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx_rtd_theme; extra == "docs"
Requires-Dist: ipywidgets; extra == "docs"
Requires-Dist: numpydoc; extra == "docs"
Requires-Dist: nbsphinx; extra == "docs"
Requires-Dist: sphinx_copybutton; extra == "docs"
Requires-Dist: sphinx_sitemap; extra == "docs"
Requires-Dist: ipympl; extra == "docs"
Requires-Dist: ipykernel; extra == "docs"
Requires-Dist: pypandoc; extra == "docs"
Requires-Dist: sphinx-autoapi; extra == "docs"
Dynamic: license-file

[![pipeline status](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/badges/main/pipeline.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/commits/main)
<!---
[![coverage report](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/badges/main/coverage.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/commits/main)
[![DOI](https://zenodo.org/badge/164115313.svg)](https://zenodo.org/badge/latestdoi/164115313)
[![PyPi](https://img.shields.io/pypi/v/optiwindnet)](https://pypi.org/project/optiwindnet/)
[![License](https://img.shields.io/pypi/l/optiwindnet)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/blob/main/LICENSE)
-->

OptiWindNet
===========

Tool for designing and optimizing the electrical cable network (collection system) for offshore wind power plants.

Documentation: [https://topfarm.pages.windenergy.dtu.dk/OptiWindNet](https://topfarm.pages.windenergy.dtu.dk/OptiWindNet)
- [Installation](https://topfarm.pages.windenergy.dtu.dk/OptiWindNet/setup#Installation) ([requirements](https://topfarm.pages.windenergy.dtu.dk/OptiWindNet/setup#Requirements))
- [Quickstart](https://topfarm.pages.windenergy.dtu.dk/OptiWindNet/Quickstart)
- [API Reference](https://topfarm.pages.windenergy.dtu.dk/OptiWindNet/autoapi/optiwindnet/index.html)
- [How to Cite](https://topfarm.pages.windenergy.dtu.dk/OptiWindNet/index.html#how-to-cite)

Requirements
------------

- [requirements.txt](requirements.txt) if using `pip`
- [environment.yml](environment.yml) if using `conda`

Acknowledgements
----------------

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: Modern implementation of the hybrid genetic search (HGS) algorithm specialized to the capacitated vehicle routing problem (CVRP). This code also includes an additional neighborhood called SWAP\*.](https://github.com/vidalt/HGS-CVRP) via its Python bindings [chkwon/PyHygese: A Python wrapper for the Hybrid Genetic Search algorithm for Capacitated Vehicle Routing Problems (HGS-CVRP)](https://github.com/chkwon/PyHygese).

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