optiwindnet


Nameoptiwindnet JSON
Version 0.0.5 PyPI version JSON
download
home_pageNone
SummaryTools for optimizing the electrical cable network (collection system) for offshore wind power plants.
upload_time2025-07-31 11:22:21
maintainerNone
docs_urlNone
authorDTU Wind Energy
requires_python>=3.10
licenseNone
keywords optimization wind farms routing
VCS
bugtrack_url
requirements python bidict bitarray condeltri darkdetect esy.osm.pbf hybgensea makefun matplotlib networkx numba numpy ortools pony py pyomo PyYAML scipy shapely svg.py utm
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![pipeline status](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/badges/main/pipeline.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/commits/main)
[![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)
<!---
[![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)
-->

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

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

Documentation: [https://optiwindnet.readthedocs.io](https://optiwindnet.readthedocs.io)
- [Quickstart](https://optiwindnet.readthedocs.io/stable/notebooks/Quickstart.html)
- [Download the Jupyter notebooks](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/tree/main/docs/notebooks) used in the documentation.
- [Report an issue](https://github.com/DTUWindEnergy/OptiWindNet/issues) (mirror of OptiWindNet on GitHub)
- [API Reference](https://optiwindnet.readthedocs.io/stable/autoapi/index.html)
- [How to Cite](https://optiwindnet.readthedocs.io/stable/index.html#how-to-cite)

Installation
------------

```
pip install optiwindnet
```

Detailed instructions in [Installation](https://optiwindnet.readthedocs.io/stable/setup.html#installation).

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

Python 3.10+. The use of a Python virtual environment is recommended. OptiWindNet's dependencies will be installed automatically when using `pip install optiwindnet`.

One may pre-install the dependencies in a python environment by using either:
- [requirements.txt](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/raw/main/requirements.txt?ref_type=heads&inline=false): `pip install -r requirements.txt`
- [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*)

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).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "optiwindnet",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "optimization, wind farms, routing",
    "author": "DTU Wind Energy",
    "author_email": "Mauricio Souza de Alencar <ma___@dtu.dk>",
    "download_url": "https://files.pythonhosted.org/packages/85/1f/8e0e135102031f6c81c9bf082a200a8353ac66707ffcf97deb188fb43b5b/optiwindnet-0.0.5.tar.gz",
    "platform": null,
    "description": "[![pipeline status](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/badges/main/pipeline.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/commits/main)\n[![PyPi](https://img.shields.io/pypi/v/optiwindnet)](https://pypi.org/project/optiwindnet/)\n[![License](https://img.shields.io/pypi/l/optiwindnet)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/blob/main/LICENSE)\n<!---\n[![coverage report](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/badges/main/coverage.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/commits/main)\n[![DOI](https://zenodo.org/badge/164115313.svg)](https://zenodo.org/badge/latestdoi/164115313)\n-->\n\nOptiWindNet\n===========\n\nTool for designing and optimizing the electrical cable network (collection system) for offshore wind power plants.\n\nDocumentation: [https://optiwindnet.readthedocs.io](https://optiwindnet.readthedocs.io)\n- [Quickstart](https://optiwindnet.readthedocs.io/stable/notebooks/Quickstart.html)\n- [Download the Jupyter notebooks](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/tree/main/docs/notebooks) used in the documentation.\n- [Report an issue](https://github.com/DTUWindEnergy/OptiWindNet/issues) (mirror of OptiWindNet on GitHub)\n- [API Reference](https://optiwindnet.readthedocs.io/stable/autoapi/index.html)\n- [How to Cite](https://optiwindnet.readthedocs.io/stable/index.html#how-to-cite)\n\nInstallation\n------------\n\n```\npip install optiwindnet\n```\n\nDetailed instructions in [Installation](https://optiwindnet.readthedocs.io/stable/setup.html#installation).\n\nRequirements\n------------\n\nPython 3.10+. The use of a Python virtual environment is recommended. OptiWindNet's dependencies will be installed automatically when using `pip install optiwindnet`.\n\nOne may pre-install the dependencies in a python environment by using either:\n- [requirements.txt](https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet/-/raw/main/requirements.txt?ref_type=heads&inline=false): `pip install -r requirements.txt`\n- [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*)\n\nAcknowledgements\n----------------\n\nThe 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)\n\nThe 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).\n\nThe 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).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Tools for optimizing the electrical cable network (collection system) for offshore wind power plants.",
    "version": "0.0.5",
    "project_urls": {
        "Documentation": "https://optiwindnet.readthedocs.io/",
        "Issue tracker": "https://github.com/DTUWindEnergy/OptiWindNet/issues",
        "Source code": "https://gitlab.windenergy.dtu.dk/TOPFARM/OptiWindNet"
    },
    "split_keywords": [
        "optimization",
        " wind farms",
        " routing"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "da9c7ce4f661c1bc7ebe247eb1fc03f764c7f0fccc885527eeb0c1e82fa14a30",
                "md5": "3a6cc0ab077e0963bf438ec596a1112a",
                "sha256": "fab3def5ea4bf53808af8cc5b77a42ba808d1db8f0fe346de66a3fc15ee47e50"
            },
            "downloads": -1,
            "filename": "optiwindnet-0.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3a6cc0ab077e0963bf438ec596a1112a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 372351,
            "upload_time": "2025-07-31T11:22:19",
            "upload_time_iso_8601": "2025-07-31T11:22:19.725314Z",
            "url": "https://files.pythonhosted.org/packages/da/9c/7ce4f661c1bc7ebe247eb1fc03f764c7f0fccc885527eeb0c1e82fa14a30/optiwindnet-0.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "851f8e0e135102031f6c81c9bf082a200a8353ac66707ffcf97deb188fb43b5b",
                "md5": "29df8d08c282a7b0f6ca0540e5679333",
                "sha256": "807fc5a09e76560b82ff39136f0715b592d8f80bf36657831a4812062f286349"
            },
            "downloads": -1,
            "filename": "optiwindnet-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "29df8d08c282a7b0f6ca0540e5679333",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 325786,
            "upload_time": "2025-07-31T11:22:21",
            "upload_time_iso_8601": "2025-07-31T11:22:21.175014Z",
            "url": "https://files.pythonhosted.org/packages/85/1f/8e0e135102031f6c81c9bf082a200a8353ac66707ffcf97deb188fb43b5b/optiwindnet-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-31 11:22:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "DTUWindEnergy",
    "github_project": "OptiWindNet",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "python",
            "specs": [
                [
                    ">=",
                    "3.11"
                ]
            ]
        },
        {
            "name": "bidict",
            "specs": [
                [
                    ">=",
                    "0.23.1"
                ]
            ]
        },
        {
            "name": "bitarray",
            "specs": [
                [
                    ">=",
                    "3.4.2"
                ]
            ]
        },
        {
            "name": "condeltri",
            "specs": [
                [
                    ">=",
                    "0.0.2"
                ]
            ]
        },
        {
            "name": "darkdetect",
            "specs": [
                [
                    ">=",
                    "0.8.0"
                ]
            ]
        },
        {
            "name": "esy.osm.pbf",
            "specs": [
                [
                    ">=",
                    "0.1.1"
                ]
            ]
        },
        {
            "name": "hybgensea",
            "specs": [
                [
                    ">=",
                    "0.0.1"
                ]
            ]
        },
        {
            "name": "makefun",
            "specs": [
                [
                    ">=",
                    "1.15.6"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.10.1"
                ]
            ]
        },
        {
            "name": "networkx",
            "specs": [
                [
                    ">=",
                    "3.4.2"
                ]
            ]
        },
        {
            "name": "numba",
            "specs": [
                [
                    ">=",
                    "0.60"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "2.0"
                ],
                [
                    "<",
                    "2.3"
                ]
            ]
        },
        {
            "name": "ortools",
            "specs": [
                [
                    ">=",
                    "9.12.4544"
                ]
            ]
        },
        {
            "name": "pony",
            "specs": [
                [
                    ">=",
                    "0.7.18"
                ]
            ]
        },
        {
            "name": "py",
            "specs": [
                [
                    ">=",
                    "1.11.0"
                ]
            ]
        },
        {
            "name": "pyomo",
            "specs": [
                [
                    ">=",
                    "6.9.1"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    ">=",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "1.15.2"
                ]
            ]
        },
        {
            "name": "shapely",
            "specs": [
                [
                    ">=",
                    "2.0.7"
                ]
            ]
        },
        {
            "name": "svg.py",
            "specs": [
                [
                    ">=",
                    "1.6.0"
                ]
            ]
        },
        {
            "name": "utm",
            "specs": [
                [
                    ">=",
                    "0.7.0"
                ]
            ]
        }
    ],
    "lcname": "optiwindnet"
}
        
Elapsed time: 1.94573s