Skip to content

Commit 822384e

Browse files
committed
meta: update zenodo DOI badge and bibtex entry
1 parent 536481c commit 822384e

File tree

2 files changed

+182
-182
lines changed

2 files changed

+182
-182
lines changed

README.md

Lines changed: 85 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,85 @@
1-
[![pipeline status](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/badges/main/pipeline.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/commits/main)
2-
[![PyPi](https://img.shields.io/pypi/v/optiwindnet)](https://pypi.org/project/optiwindnet/)
3-
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18388439.svg)](https://doi.org/10.5281/zenodo.18388439)
4-
[![License](https://img.shields.io/pypi/l/optiwindnet)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/blob/main/LICENSE)
5-
[![coverage report](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/badges/main/coverage.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/commits/main)
6-
<!---
7-
[![DOI](https://zenodo.org/badge/164115313.svg)](https://zenodo.org/badge/latestdoi/164115313)
8-
-->
9-
10-
![OptiWindNet](docs/_static/OptiWindNet.svg)
11-
12-
OptiWindNet
13-
===========
14-
15-
Tool for designing and optimizing the electrical cable network of offshore wind farms.
16-
17-
18-
|Documentation:<br>[optiwindnet.readthedocs.io][docs]||
19-
|:--|:-:|
20-
|<ul><li>[Quickstart][quick]</li><li>[Download the Jupyter notebooks][down] used in the documentation.</li><li>[Report an issue][issue] (at GitHub mirror)</li><li>[API Reference][api]</li><li>[How to Cite][cite]</li></ul>|![FancyWindFarm](docs/_static/OptiWindNet_windfarm.svg)|
21-
22-
[docs]: https://optiwindnet.readthedocs.io
23-
[quick]: https://optiwindnet.readthedocs.io/stable/notebooks/quickstart_high.html
24-
[down]: https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/tree/main/docs/notebooks
25-
[issue]: https://github.com/DTUWindEnergy/OptiWindNet/issues
26-
[api]: https://optiwindnet.readthedocs.io/stable/autoapi/index.html
27-
[cite]: https://optiwindnet.readthedocs.io/stable/index.html#how-to-cite
28-
29-
Installation
30-
------------
31-
32-
```
33-
pip install optiwindnet
34-
```
35-
or
36-
```
37-
conda install --channel conda-forge optiwindnet
38-
```
39-
40-
Detailed instructions in [Installation](https://optiwindnet.readthedocs.io/stable/setup.html#installation).
41-
42-
Requirements
43-
------------
44-
45-
Python version 3.11 or 3.12 is recommended to run *OptiWindNet*. Python 3.13+ may cause issues with the `optiwindnet.db` module, but all other features work fine. The last version to support Python 3.10 was v0.1.0.
46-
47-
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`.
48-
49-
One may **optionally** pre-install the dependencies in a python environment by using either:
50-
- [requirements.txt](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/raw/main/requirements.txt?ref_type=heads&inline=false): `pip install -r requirements.txt`
51-
- [environment.yml](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/raw/main/environment.yml?ref_type=heads&inline=false): `conda env create -f environment.yml` (name: *optiwindnet_env*)
52-
53-
Paper
54-
-----
55-
56-
The methodology implemented in *OptiWindNet* is described in the peer-reviewed scientific article:
57-
- Mauricio Souza de Alencar, Tuhfe Göçmen, Nicolaos A. Cutululis,
58-
_Flexible cable routing framework for wind farm collection system optimization_,
59-
European Journal of Operational Research,
60-
2025, ISSN 0377-2217, <https://doi.org/10.1016/j.ejor.2025.07.069>.
61-
62-
```{code-block} bib
63-
@article{SOUZADEALENCAR20261037,
64-
title = {Flexible cable routing framework for wind farm collection system optimization},
65-
journal = {European Journal of Operational Research},
66-
volume = {329},
67-
number = {3},
68-
pages = {1037-1051},
69-
year = {2026},
70-
issn = {0377-2217},
71-
doi = {https://doi.org/10.1016/j.ejor.2025.07.069},
72-
url = {https://www.sciencedirect.com/science/article/pii/S0377221725005946},
73-
author = {Mauricio {Souza de Alencar} and Tuhfe Göçmen and Nicolaos A. Cutululis},
74-
keywords = {Combinatorial optimization, Network design, Collection system, Wind farm},
75-
}
76-
```
77-
78-
Acknowledgements
79-
----------------
80-
81-
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)
82-
83-
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).
84-
85-
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).
1+
[![pipeline status](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/badges/main/pipeline.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/commits/main)
2+
[![PyPi](https://img.shields.io/pypi/v/optiwindnet)](https://pypi.org/project/optiwindnet/)
3+
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18400851.svg)](https://doi.org/10.5281/zenodo.18400851)
4+
[![License](https://img.shields.io/pypi/l/optiwindnet)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/blob/main/LICENSE)
5+
[![coverage report](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/badges/main/coverage.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/commits/main)
6+
<!---
7+
[![DOI](https://zenodo.org/badge/164115313.svg)](https://zenodo.org/badge/latestdoi/164115313)
8+
-->
9+
10+
![OptiWindNet](docs/_static/OptiWindNet.svg)
11+
12+
OptiWindNet
13+
===========
14+
15+
Tool for designing and optimizing the electrical cable network of offshore wind farms.
16+
17+
18+
|Documentation:<br>[optiwindnet.readthedocs.io][docs]||
19+
|:--|:-:|
20+
|<ul><li>[Quickstart][quick]</li><li>[Download the Jupyter notebooks][down] used in the documentation.</li><li>[Report an issue][issue] (at GitHub mirror)</li><li>[API Reference][api]</li><li>[How to Cite][cite]</li></ul>|![FancyWindFarm](docs/_static/OptiWindNet_windfarm.svg)|
21+
22+
[docs]: https://optiwindnet.readthedocs.io
23+
[quick]: https://optiwindnet.readthedocs.io/stable/notebooks/quickstart_high.html
24+
[down]: https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/tree/main/docs/notebooks
25+
[issue]: https://github.com/DTUWindEnergy/OptiWindNet/issues
26+
[api]: https://optiwindnet.readthedocs.io/stable/autoapi/index.html
27+
[cite]: https://optiwindnet.readthedocs.io/stable/index.html#how-to-cite
28+
29+
Installation
30+
------------
31+
32+
```
33+
pip install optiwindnet
34+
```
35+
or
36+
```
37+
conda install --channel conda-forge optiwindnet
38+
```
39+
40+
Detailed instructions in [Installation](https://optiwindnet.readthedocs.io/stable/setup.html#installation).
41+
42+
Requirements
43+
------------
44+
45+
Python version 3.11 or 3.12 is recommended to run *OptiWindNet*. Python 3.13+ may cause issues with the `optiwindnet.db` module, but all other features work fine. The last version to support Python 3.10 was v0.1.0.
46+
47+
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`.
48+
49+
One may **optionally** pre-install the dependencies in a python environment by using either:
50+
- [requirements.txt](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/raw/main/requirements.txt?ref_type=heads&inline=false): `pip install -r requirements.txt`
51+
- [environment.yml](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/raw/main/environment.yml?ref_type=heads&inline=false): `conda env create -f environment.yml` (name: *optiwindnet_env*)
52+
53+
Paper
54+
-----
55+
56+
The methodology implemented in *OptiWindNet* is described in the peer-reviewed scientific article:
57+
- Mauricio Souza de Alencar, Tuhfe Göçmen, Nicolaos A. Cutululis,
58+
_Flexible cable routing framework for wind farm collection system optimization_,
59+
European Journal of Operational Research,
60+
2025, ISSN 0377-2217, <https://doi.org/10.1016/j.ejor.2025.07.069>.
61+
62+
```{code-block} bib
63+
@article{SOUZADEALENCAR20261037,
64+
title = {Flexible cable routing framework for wind farm collection system optimization},
65+
journal = {European Journal of Operational Research},
66+
volume = {329},
67+
number = {3},
68+
pages = {1037-1051},
69+
year = {2026},
70+
issn = {0377-2217},
71+
doi = {https://doi.org/10.1016/j.ejor.2025.07.069},
72+
url = {https://www.sciencedirect.com/science/article/pii/S0377221725005946},
73+
author = {Mauricio {Souza de Alencar} and Tuhfe Göçmen and Nicolaos A. Cutululis},
74+
keywords = {Combinatorial optimization, Network design, Collection system, Wind farm},
75+
}
76+
```
77+
78+
Acknowledgements
79+
----------------
80+
81+
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)
82+
83+
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).
84+
85+
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).

docs/index.md

Lines changed: 97 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,97 @@
1-
<p></p>
2-
3-
```{image} _static/OptiWindNet.svg
4-
:alt: OptiWindNet
5-
:width: 40%
6-
:align: center
7-
```
8-
# OptiWindNet Documentation
9-
**OptiWindNet = Optimize Windfarm Network**\
10-
(distributed under the [MIT License](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/blob/main/LICENSE))
11-
12-
|||
13-
|--:|:--|
14-
Python Package Index (PyPI) | <https://pypi.org/project/optiwindnet/>
15-
Source code repository | <https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet>
16-
Issue tracker | <https://github.com/DTUWindEnergy/OptiWindNet/issues>
17-
Jupyter notebooks used in this manual | <https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/tree/main/docs/notebooks>
18-
19-
## About OptiWindNet
20-
21-
OptiWindNet is an electrical network design tool for offshore wind farms developed at the Technical University of Denmark -- DTU.
22-
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.
23-
24-
The tool is distributed as an open-source Python package that is suitable for use within an interactive Python session (e.g. Jupyter notebook). Alternatively, OptiWindNet's API can be invoked directly from another application.
25-
26-
## What can OptiWindNet do?
27-
28-
* Optimize the network of array cables;
29-
* Route the cables so as to avoid crossings;
30-
* Assign cable types and calculate network costs;
31-
* Use different optimization approaches according to the preferred time/quality trade-off;
32-
* Employ user-provided models and objective functions within the mathematical optimization approach.
33-
34-
## Getting Started
35-
36-
[](setup) your Python environment and check the {doc}`Quickstart <notebooks/quickstart_high>` to begin using OptiWindNet.
37-
38-
39-
## How to Cite
40-
41-
A peer-reviewed scientific article explaining the OptiWindNet framework and benchmarking it against state-of-the-art methods is available (open-access) at:
42-
- Mauricio Souza de Alencar, Tuhfe Göçmen, Nicolaos A. Cutululis,
43-
_Flexible cable routing framework for wind farm collection system optimization_,
44-
European Journal of Operational Research,
45-
2025, ISSN 0377-2217, <https://doi.org/10.1016/j.ejor.2025.07.069>.
46-
47-
```{code-block} bib
48-
@article{
49-
SOUZADEALENCAR2025,
50-
title = {Flexible cable routing framework for wind farm collection system optimization},
51-
journal = {European Journal of Operational Research},
52-
year = {2025},
53-
issn = {0377-2217},
54-
doi = {https://doi.org/10.1016/j.ejor.2025.07.069},
55-
url = {https://www.sciencedirect.com/science/article/pii/S0377221725005946},
56-
author = {Mauricio {Souza de Alencar} and Tuhfe Göçmen and Nicolaos A. Cutululis},
57-
keywords = {Combinatorial optimization, Network design, Collection system, Wind farm},
58-
}
59-
```
60-
61-
The OptiWindNet software package can be cited as:
62-
- Mauricio Souza de Alencar, Amir Arasteh and Mikkel Friis-Møller.
63-
_OptiWindNet: An open-source wind farm electrical network optimization tool_,
64-
DTU Wind and Energy Systems, Technical University of Denmark (2025, March),
65-
url: <https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet>
66-
67-
```{code-block} bib
68-
@software{souza_de_alencar_2026_18388439,
69-
author = {Souza de Alencar, Mauricio and
70-
Arasteh, Amir and
71-
Friis-Møller, Mikkel},
72-
title = {DTUWindEnergy/OptiWindNet: Release of v0.1.7},
73-
month = jan,
74-
year = 2026,
75-
publisher = {Zenodo},
76-
version = {v0.1.7},
77-
doi = {10.5281/zenodo.18388439},
78-
url = {https://doi.org/10.5281/zenodo.18388439},
79-
swhid = {swh:1:dir:289eeb68be1214f069d0634666fe0c3bad2df84d
80-
;origin=https://doi.org/10.5281/zenodo.18388438;vi
81-
sit=swh:1:snp:8ca52a089ae33194f300b466a6168ef29e58
82-
2eb4;anchor=swh:1:rel:c660f0924a7df34ae674a91b178c
83-
715c43f6317c;path=DTUWindEnergy-
84-
OptiWindNet-9c6db85
85-
},
86-
}
87-
```
88-
89-
```{toctree}
90-
setup
91-
notebooks/quickstart_high
92-
overview
93-
high_level_api
94-
low_level_api
95-
theory
96-
paper
97-
```
1+
<p></p>
2+
3+
```{image} _static/OptiWindNet.svg
4+
:alt: OptiWindNet
5+
:width: 40%
6+
:align: center
7+
```
8+
# OptiWindNet Documentation
9+
**OptiWindNet = Optimize Windfarm Network**\
10+
(distributed under the [MIT License](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/blob/main/LICENSE))
11+
12+
|||
13+
|--:|:--|
14+
Python Package Index (PyPI) | <https://pypi.org/project/optiwindnet/>
15+
Source code repository | <https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet>
16+
Issue tracker | <https://github.com/DTUWindEnergy/OptiWindNet/issues>
17+
Jupyter notebooks used in this manual | <https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/tree/main/docs/notebooks>
18+
19+
## About OptiWindNet
20+
21+
OptiWindNet is an electrical network design tool for offshore wind farms developed at the Technical University of Denmark -- DTU.
22+
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.
23+
24+
The tool is distributed as an open-source Python package that is suitable for use within an interactive Python session (e.g. Jupyter notebook). Alternatively, OptiWindNet's API can be invoked directly from another application.
25+
26+
## What can OptiWindNet do?
27+
28+
* Optimize the network of array cables;
29+
* Route the cables so as to avoid crossings;
30+
* Assign cable types and calculate network costs;
31+
* Use different optimization approaches according to the preferred time/quality trade-off;
32+
* Employ user-provided models and objective functions within the mathematical optimization approach.
33+
34+
## Getting Started
35+
36+
[](setup) your Python environment and check the {doc}`Quickstart <notebooks/quickstart_high>` to begin using OptiWindNet.
37+
38+
39+
## How to Cite
40+
41+
A peer-reviewed scientific article explaining the OptiWindNet framework and benchmarking it against state-of-the-art methods is available (open-access) at:
42+
- Mauricio Souza de Alencar, Tuhfe Göçmen, Nicolaos A. Cutululis,
43+
_Flexible cable routing framework for wind farm collection system optimization_,
44+
European Journal of Operational Research,
45+
2025, ISSN 0377-2217, <https://doi.org/10.1016/j.ejor.2025.07.069>.
46+
47+
```{code-block} bib
48+
@article{
49+
SOUZADEALENCAR2025,
50+
title = {Flexible cable routing framework for wind farm collection system optimization},
51+
journal = {European Journal of Operational Research},
52+
year = {2025},
53+
issn = {0377-2217},
54+
doi = {https://doi.org/10.1016/j.ejor.2025.07.069},
55+
url = {https://www.sciencedirect.com/science/article/pii/S0377221725005946},
56+
author = {Mauricio {Souza de Alencar} and Tuhfe Göçmen and Nicolaos A. Cutululis},
57+
keywords = {Combinatorial optimization, Network design, Collection system, Wind farm},
58+
}
59+
```
60+
61+
The OptiWindNet software package can be cited as:
62+
- Mauricio Souza de Alencar, Amir Arasteh and Mikkel Friis-Møller.
63+
_OptiWindNet: An open-source wind farm electrical network optimization tool_,
64+
DTU Wind and Energy Systems, Technical University of Denmark (2025, March),
65+
url: <https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet>
66+
67+
```{code-block} bib
68+
@software{souza_de_alencar_2026_18400851,
69+
author = {Souza de Alencar, Mauricio and
70+
Arasteh, Amir and
71+
Friis-Møller, Mikkel},
72+
title = {DTUWindEnergy/OptiWindNet: OptiWindNet v0.1.6},
73+
month = jan,
74+
year = 2026,
75+
publisher = {Zenodo},
76+
version = {v0.1.6},
77+
doi = {10.5281/zenodo.18400851},
78+
url = {https://doi.org/10.5281/zenodo.18400851},
79+
swhid = {swh:1:dir:047c893b761a4bc8e1af7f5447587c301ba93d25
80+
;origin=https://doi.org/10.5281/zenodo.18388438;vi
81+
sit=swh:1:snp:de59f2c0875971a38020ed3990e581f7450b
82+
c8bb;anchor=swh:1:rel:a500b34edde6ed685d0f56751ded
83+
7587496ba1d3;path=DTUWindEnergy-
84+
OptiWindNet-d8e2ea3
85+
},
86+
}
87+
```
88+
89+
```{toctree}
90+
setup
91+
notebooks/quickstart_high
92+
overview
93+
high_level_api
94+
low_level_api
95+
theory
96+
paper
97+
```

0 commit comments

Comments
 (0)