3.2.13.4. hyperflow/ModelImplementationView.hpp

class hyperflow::ModelImplementationView

This class serves as a view on a locked hyperflow model, to obtain visualisations and statistics from how the model is implemented internally.

ModelImplementationView(std::shared_ptr<Model> model)
Throws:

LogicError if !model

Throws:

LogicError if !model->isSpecificationLocked()

std::string printExpandedVertex(dg::DG::Vertex v) const

Print the expanded flow network for the given vertex.

Returns:

the name of the PDF-file which will be created in post-processing.

Throws:

LogicError if !v.

Throws:

LogicError if v.getDG() is not in the same as in the underlying model.

std::string printExpandedVertex(std::shared_ptr<graph::Graph> g) const

Equivalent to using dg::DG::findVertex on the underlying derivation graph and calling the vertex version.

std::string printExpanded() const

Print the complete expanded derivation graph.

Returns:

the name of the PDF-file which will be created in post-processing.

std::string printEnumerationTree() const

Print the search tree generated by the solution enumeration.

Returns:

the name of the generated file.

std::string writeMILP() const
std::string writeMILP(std::string filetype) const

Writes the internal (M)ILP implementation of the model to a file, in the given format. The default format is lp.

Returns:

the name of the written file.

Throws:

LogicError if the solver does not support writing in the given format.

int getNumMILPVariables() const
int getNumMILPConstraints() const
Returns:

various statistics of the model implementation.