• Stars
    star
    142
  • Rank 258,495 (Top 6 %)
  • Language
    Julia
  • License
    Other
  • Created over 6 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Julia/JuMP Package for Unbalanced Power Network Optimization

PowerModelsDistribution.jl

PowerModelsDistribution logo

CI Documentation

PowerModelsDistribution.jl is an extension package of PowerModels.jl for Steady-State Power Distribution Network Optimization. It is designed to enable computational evaluation of emerging power network formulations and algorithms in a common platform. The code is engineered to decouple problem specifications (e.g. Power Flow, Optimal Power Flow, ...) from the power network formulations (e.g. AC, linear-approximation, SOC-relaxation, ...). This enables the definition of a wide variety of power network formulations and their comparison on common problem specifications.

Core Problem Specifications

  • Power Flow (pf)
    • ACP, ACR, IVR, LinDist3Flow, NFA, DCP
  • Optimal Power Flow (opf)
    • ACP, ACR, IVR, LinDist3Flow, NFA, DCP
  • Continuous load shed, minimum load delta (mld)
    • ACP, LinDist3Flow, NFA
  • Optimal Power Flow with on-load tap-changer (opf_oltc)
    • ACP

Note: The documentation is somewhat lagging behind development and the parings of network features with problem specifications with formulations has not been enumerated. We are working to correct this for you.

Core Network Formulations

  • Nonlinear
    • ACP
    • ACR
    • IVR
  • Relaxations
    • SDP BFM
    • SOC BFM and BIM relaxation (W-space)
  • Linear Approximations
    • LinDist3Flow
    • NFA
    • DCP

Network Data Formats

  • OpenDSS ".dss" files

Documentation

Please see our online documentation for information about how to install and use PowerModelsDistribution.

Examples

Examples of how to use PowerModelsDistribution can be found in the main documentation and in Jupyter Notebooks inside the /examples directory

Development

Community-driven development and enhancement of PowerModelsDistribution are welcome and encouraged. Please fork this repository and share your contributions with pull requests to the main branch.

Acknowledgments

This code has been developed as part of the Advanced Network Science Initiative at Los Alamos National Laboratory. The primary developers are David Fobes(@pseudocubic) and Carleton Coffrin(@ccoffrin) with support from the following contributors:

  • Sander Claeys (@sanderclaeys) KU Leuven, transformer models and ACR formulation, native power flow solver
  • Frederik Geth (@frederikgeth) CSIRO, Distribution modeling advise, native power flow solver
  • Rahmat Heidari (@hei06j) CSIRO, native power flow solver

Citing PowerModelsDistribution

If you find PowerModelsDistribution useful for your work, we kindly request that you cite the following publication:

@article{FOBES2020106664,
title = "PowerModelsDistribution.jl: An open-source framework for exploring distribution power flow formulations",
journal = "Electric Power Systems Research",
volume = "189",
pages = "106664",
year = "2020",
issn = "0378-7796",
doi = "https://doi.org/10.1016/j.epsr.2020.106664",
url = "http://www.sciencedirect.com/science/article/pii/S0378779620304673",
author = "David M. Fobes and Sander Claeys and Frederik Geth and Carleton Coffrin",
keywords = "Nonlinear optimization, Convex optimization, AC optimal power flow, Julia language, Open-source",
abstract = "In this work we introduce PowerModelsDistribution, a free, open-source toolkit for distribution power network optimization, whose primary focus is establishing a baseline implementation of steady-state multi-conductor unbalanced distribution network optimization problems, which includes implementations of Power Flow and Optimal Power Flow problem types. Currently implemented power flow formulations for these problem types include AC (polar and rectangular), a second-order conic relaxation of the Branch Flow Model (BFM) and Bus Injection Model (BIM), a semi-definite relaxation of BFM, and several linear approximations, such as the simplified unbalanced BFM. The results of AC power flow have been validated against OpenDSS, an open-source “electric power distribution system simulator”, using IEEE distribution test feeders (13, 34, 123 bus and LVTestCase), all parsed using a built-in OpenDSS parser. This includes support for standard distribution system components as well as novel resource models such as generic energy storage (multi-period) and photovoltaic systems, with the intention to add support for additional components in the future."
}

The associated Power Systems Computation Conference talk can be found on YouTube

License

This code is provided under a BSD license as part of the Multi-Infrastructure Control and Optimization Toolkit (MICOT) project, LA-CC-13-108.

More Repositories

1

PowerModels.jl

A Julia/JuMP Package for Power Network Optimization
Julia
391
star
2

Alpine.jl

A Julia/JuMP-based Global Optimization Solver for Non-convex Programs
Julia
244
star
3

Juniper.jl

A JuMP-based Nonlinear Integer Program Solver
Julia
180
star
4

WaterModels.jl

A Julia/JuMP Package for Water Distribution Network Optimization
Julia
70
star
5

GasModels.jl

A Julia/JuMP Package for Gas Network Optimization
Julia
65
star
6

rosetta-opf

AC-OPF Implementations in Various NLP Modeling Frameworks
Julia
51
star
7

tutorial-grid-science

Julia Tutorial Materials for the Grid Science Tools
MATLAB
42
star
8

InfrastructureModels.jl

Shared functionalities for multiple infrastructure network optimization packages
Julia
39
star
9

MINLPLib.jl

A JuMP-based library of Non-Linear and Mixed-Integer Non-Linear Programs
Julia
34
star
10

PowerModelsSecurityConstrained.jl

A PowerModels Extension for Security Constrained Optimization Problems
Julia
33
star
11

grg-pssedata

Python tools for working with PSSE v33 data files
Python
31
star
12

QuantumAnnealing.jl

Tools for the Simulation and Execution of Quantum Annealing Algorithms
Julia
24
star
13

GraphicalModelLearning.jl

Algorithms for Learning Graphical Models
Julia
23
star
14

PowerModelsAnnex.jl

A PowerModels.jl Extension Package for Exploratory Work
Julia
22
star
15

GasPowerModels.jl

Julia packages for joint optimization of natural gas and power transmission networks
Julia
21
star
16

PowerModelsMLD.jl

DEPRECIATED :: Use PowerModelsRestoration.jl
Julia
20
star
17

PowerModelsRestoration.jl

A PowerModels Extension for Optimization of Power Network Restoration
Julia
20
star
18

grail

Gas Reliability Analysis Integrated Library: algorithms for natural gas pipeline optimization, optimal control, and simulation
MATLAB
18
star
19

PowerModelsONM.jl

An optimization library for the operation and restoration of electric power distribution feeders featuring networked microgrids
Julia
18
star
20

PowerModelsAnalytics.jl

Tools for the analysis and visualization of PowerModels data and results
Julia
14
star
21

MomentOpt.jl

A Julia modeling layer for the Generalized Moment Problem
Julia
12
star
22

PowerModelsITD.jl

Integrated Transmission and Distribution Optimization
Julia
12
star
23

PowerModelsGMD.jl

GMD problem formulation for PowerModels.jl
Julia
11
star
24

Katana.jl

A Cutting-Plane Based Solver for Convex NLPs
Julia
9
star
25

PowerModelsProtection.jl

Fault study formulations for PowerModels and PowerModelsDistribution
Julia
9
star
26

PowerWaterModels.jl

A Julia/JuMP Package for Joint Optimization of Power and Water Distribution Networks
Julia
9
star
27

MathProgIncidence.jl

Tools for constructing and analyzing the incidence graph or matrix of variables and constraints in a JuMP model
Julia
9
star
28

ODO

Operations & Design Optimization for Networked Microgrids
C++
8
star
29

dwig

D-Wave Instance Generator (D-WIG)
Python
8
star
30

inverse_ising

Julia implementation of RISE, logRISE and RPLE algorithms for the inverse Ising problem
Julia
8
star
31

ising-solvers

Algorithms for finding ground states of Ising models
Python
7
star
32

bqpsolvers

Solver interfaces for bqpjson data files
Python
6
star
33

SALO

Julia
5
star
34

ARMO

Point Cloud Alignment and Registration via Mathematical Optimization
C++
5
star
35

bqpjson

Utilities for working with bqpjson data
Python
4
star
36

grg-mpdata

Python tools for working with Matpower data files
MATLAB
4
star
37

QASA

Quantum Annealing Single-qubit Assessment (QASA)
Python
3
star
38

micot

Java
3
star
39

PowerModelsStability.jl

Stability-constrained Power Flow Models
Julia
3
star
40

PetroleumModels.jl

A Julia/JuMP Package for Petroleum Network Optimization
Julia
3
star
41

QuantumAnnealingAnalytics.jl

Tools for Visualization of Quantum Annealing
Julia
3
star
42

grg-psse2grg

Translation tools for PSSE and GRG network data
Python
3
star
43

goc-solution2-solver

Basic Solution 2 Solver for Grid Optimization Competition Challenge 1
Julia
2
star
44

dwisc

D-Wave Ising Sample Collector (D-WISC)
Python
2
star
45

WaterModelsAnnex.jl

A WaterModels.jl Extension Package for Exploratory Work
Julia
2
star
46

isodus

Algorithms for learning exponential family distributions with unbounded support
Julia
2
star
47

OPFRecourse.jl

MATLAB
2
star
48

grg-mp2grg

Translation tools for Matpower and GRG network data
MATLAB
2
star
49

learning-ising-dynamics

Interaction Screening and Pseudolikelihood based algorithms for learning dynamics of Ising model
Jupyter Notebook
2
star
50

gmd-data

A Repository for Software to Capture and Analyze Data on Geomagnetic Disturbances (GMDs)
Python
2
star
51

flexes-build

Components needed for building and deploying flexes
Python
1
star
52

GOC3Benchmark.jl

Benchmark algorithm for Challenge 3 of the Grid Optimization Competition
Julia
1
star
53

flexes-feed

Generic structure for retrieving and processing regularly updated data from the web
Python
1
star
54

energy-storage-example

An example of energy storage optimization using PowerModels
R
1
star
55

dmcis2017

HTML
1
star
56

MVAD

Multi-Variate Anomaly Detection in R
R
1
star
57

gfm-lpnorm

Java
1
star
58

ThreePhasePowerModels.jl

DEPRECIATED :: Use PowerModelsDistribution.jl
Julia
1
star
59

generalized-fragility-model

Extensible Java framework for fragility modeling
Java
1
star
60

minlp-solvers

Wrappers for Benchmarking MINLP Solvers
Julia
1
star
61

lanl-ansi.github.io

ANSI Website Source Code
1
star
62

flexes-lib

Client library for flexes
Python
1
star
63

MG-RAVENS

1
star