Requirements¶
OptiWindNet has been tested on Windows 10/11 and on Linux systems, but should run on MacOSX as well.
A recent Python version (3.10+) is required to run OptiWindNet, and the use of a dedicated Python virtual environment is recommended. This can be achieved by installing either:
Python, which provides:
venvvirtual environment creator andpippackage manager;or Miniforge (Anaconda or Miniconda also work, as long as the environment uses the
conda-forgechannel), which provides:condaenvironment and package manager.
Installation¶
The following commands must be run from the system’s command line interface (e.g. git-bash, cmd, powershell).
If using venv/pip¶
Run:
python -m venv optiwindnet_env
cmd:
optiwindnet_env\Scripts\activate.batbash:
source optiwindnet_env/Scripts/activatepowershell:
optiwindnet_env\Scripts\Activate.ps1
Then:
pip install optiwindnet
If using conda¶
Download environment.yml, then run:
conda env create -f environment.yml
conda activate optiwindnet_env
pip install optiwindnet
Running¶
OptiWindNet is not an application and has no main program to be executed. The recommended way to use it is in an interactive Python notebook such as JupyterLab or the Jupyter Extension for Visual Studio Code.
Optional - Solvers¶
The installation procedure above enables OptiWindNet’s heuristics, meta-heuristic and mathematical optimization with Google’s OR-Tools (open-source software).
Other solvers can be used for mathematical optimization, but they are not installed by default. See the documentation section Exact Solvers for relevant parameters when calling each solver.
The commands suggested here assume that the Python environment for OptiWindNet has been already activated.
For packages that are installable with both pip and conda, enter only one of the commands.
Solvers perform a search accross the branch-and-bound tree. This process can be accelerated in multi-core computers by using concurrent threads, but not all solvers have this feature. As of Mar/2025, only gurobi, cplex and cbc have this multi-threaded search capability. The ortools solver also benefits from multi-core systems by launching a portfolio of algorithms in parallel, with some information exchange among them.
Gurobi¶
Gurobi is proprietary software (academic license available). The trial version can only handle very small problems.:
pip install gurobipy
conda install -c gurobi gurobi
CPLEX¶
IBM ILOG CPLEX is proprietary software (academic license available). The Community Edition version can only handle very small problems.:
pip install cplex
HiGHS¶
HiGHS is open source software.:
pip install highspy
conda install highspy
SCIP¶
SCIP is open source software.:
conda install scip
CBC¶
COIN-OR’s Optimization Suite is open source software and its MILP solver is coin-or/Cbc: COIN-OR Branch-and-Cut solver.
Pyomo’s interface with CBC is through a system call, so it does not need to be part of a python environment, but Pyomo must be able to find the solver’s executable file. Conda has a package for it, but it may also be installed by following the instructions in the links above.:
conda install coin-or-cbc
Updating¶
Activate the Python environment for OptiWindNet and enter:
pip install --upgrade optiwindnet