# Installation Guide

From Julia, PowerModelsDistribution is installed using the built-in package manager:

import Pkg
Pkg.add("PowerModelsDistribution")

Or, within the Julia REPL:

]add PowerModelsDistribution

## Installing an Optimizer

PowerModelsDistribution depends on optimizers to solve Optimization problems, e.g., solve_mc_opf. The table below lists the optimizer packages that have been tested with PowerModelsDistribution, and have been found to work by the team; this list is not exhaustive, there are probably more optimizers that will work.

Install an optimizer using the Julia Package Manager, e.g.,

import Pkg
Pkg.add("Ipopt")

### Known Working Optimizers

The table below contains a truncated list of optimizers from the JuMP documentation that have been used by the development team and are confirmed to work with our package. There may be other Optimizers that work, and the Optimizers listed below are not guaranteed to work with all problems; they must be selected for the appropriate problems.

Artelys KnitroKNITRO.jlManualComm.(MI)LP, (MI)SOCP, (MI)NLP
CbcCbc.jlEPL(MI)LP
CPLEXCPLEX.jlManualComm.(MI)LP, (MI)SOCP
GurobiGurobi.jlManualComm.(MI)LP, (MI)SOCP
IpoptIpopt.jlEPLLP, QP, NLP
Juniper.jlJuniper.jlMIT(MI)SOCP, (MI)NLP
SCSSCS.jlMITLP, SOCP, SDP

Where:

• LP = Linear programming
• (MI)XXX = Mixed-integer equivalent of problem type XXX
Did you get an error like Unsatisfiable requirements detected for package D [756980fe]:?