Network Formulations

Type Hierarchy

We begin with the top of the hierarchy, where we can distinguish between gas flow models. There are currently five formulations supported in GasModels. Two full non convex formulations and three relaxations.

AbstractNLPModel <: AbstractGasModel
AbstractMINLPModel <: AbstractGasModel
AbstractMISOCPModel <: AbstractGasModel
AbstractMIPModel <: AbstractGasModel
AbstractLPModel <: AbstractGasModel

Gas Models

Each of these forms can be used as the type parameter for a GasModel, i.e.:

NLPGasModel <: AbstractNLPForm
MINLPGasModel <: AbstractMINLPModel
MISOCPGasModel <: AbstractMISOCPModel
MIPGasModel <: AbstractMIPModel
LPGasModel <: AbstractLPModel

For details on AbstractGasModel, see the section on Gas Model.

User-Defined Abstractions

The user-defined abstractions begin from a root abstract like the AbstractGasModel abstract type, i.e.

AbstractMyFooModel <: AbstractGasModel

StandardMyFooForm <: AbstractFooModel
FooGasModel = AbstractGasModel{StandardFooForm}

NLP

MINLP

MISOCP

MIP

LP