Quick Start Guide

Once PowerModelsONM is installed, To operate PowerModelsONM several other things are required, at a minimum, a distribution data set in .dss format that includes timeseries data (e.g., LoadShapes defined and assigned to some Loads or DER assets).

The easiest way to use PowerModelsONM's complete algorithm that includes optimal switching, optimal dispatch, fault studies and stability analysis, is to use the command line interface:

julia --project=path/to/PowerModelsONM path/to/PowerModelsONM/cli/entrypoint.jl -n "path/to/network.dss" -o "path/to/output.json"

For complete documentation of available command line arguments see parse_commandline.

The binary builds available on GitHub under Releases may also be used in a similar manner:

path/to/PowerModelsONM_binary -n "path/to/network.dss" -o "path/to/output.json"

Alternatively, you may wish to use PowerModelsONM from the Julia REPL, which if you want to use custom Optimizers is advisable. You should have your custom solvers installed in your primary Julia environment (e.g., v1.6), and launch the REPL with the command:

julia --project=path/to/PowerModelsONM

Once in the REPL, import PowerModelsONM with:

using PowerModelsONM

For more detailed use of PowerModelsONM from the REPL, read the Beginner's Tutorial

Optimizers

Although PowerModelsONM includes some open source solvers by default, namely

we recommend using Gurobi to solve the optimal switching problem, if it is available to you, as we have found it has far superior performance on the MISOCP problem that it is solving as compared to the open-source solutions.

Info

To use Gurobi with PowerModelsONM, do import Gurobi BEFORE import PowerModelsONM. We use Requires.jl to manage the Gurobi Environment GRB_ENV, which will check out a license that can be used throughout the optimization solves.