Scippy

GCG

Branch-and-Price & Column Generation for Everyone

gcg::MatrixGraph< T > Class Template Reference

Detailed Description

template<class T>
class gcg::MatrixGraph< T >

Definition at line 54 of file matrixgraph.h.

#include <matrixgraph.h>

Public Member Functions

 MatrixGraph (SCIP *scip, Weights w)
 
virtual ~MatrixGraph ()
 
virtual SCIP_RETCODE writeToFile (int fd, SCIP_Bool writeweights)
 
virtual SCIP_RETCODE createDecompFromPartition (DEC_DECOMP **decomp)
 
virtual SCIP_RETCODE createPartialdecFromPartition (PARTIALDECOMP *oldpartialdec, PARTIALDECOMP **firstpartialdec, PARTIALDECOMP **secondpartialdec, DETPROBDATA *detprobdata)
 
virtual SCIP_RETCODE readPartition (const char *filename)
 
void setDummynodes (int dummynodes_)
 
int getDummynodes () const
 
virtual std::vector< int > getPartition ()
 
virtual SCIP_RETCODE createFromMatrix (SCIP_CONS **conss, SCIP_VAR **vars, int nconss_, int nvars_)
 
virtual SCIP_RETCODE createFromPartialMatrix (DETPROBDATA *detprobdata, PARTIALDECOMP *partialdec)
 
virtual int getNNonzeroes () const
 

Data Fields

std::string name
 

Protected Attributes

SCIP * scip_
 
int nconss
 
int nvars
 
int dummynodes
 
Weights weights
 
GraphInterfacegraphiface
 
int nnonzeroes
 

Constructor & Destructor Documentation

◆ MatrixGraph()

template<class T >
gcg::MatrixGraph< T >::MatrixGraph ( SCIP *  scip,
Weights  w 
)

Constructor

Parameters
scipSCIP data structure
wweights for the given graph

Definition at line 44 of file matrixgraph_def.h.

◆ ~MatrixGraph()

template<class T >
gcg::MatrixGraph< T >::~MatrixGraph
virtual

Destructor

Definition at line 53 of file matrixgraph_def.h.

Member Function Documentation

◆ writeToFile()

template<class T >
virtual SCIP_RETCODE gcg::MatrixGraph< T >::writeToFile ( int  fd,
SCIP_Bool  writeweights 
)
inlinevirtual

writes the graph to the given file. The format is graph dependent

Parameters
fdfile descriptor where the graph should be written to
writeweightswhether to write weights

Reimplemented in gcg::HyperrowcolGraph< T >, gcg::HypercolGraph< T >, and gcg::HyperrowGraph< T >.

Definition at line 79 of file matrixgraph.h.

References gcg::MatrixGraph< T >::graphiface, and gcg::GraphInterface::writeToFile().

Referenced by createMetisFile().

◆ createDecompFromPartition()

template<class T >
virtual SCIP_RETCODE gcg::MatrixGraph< T >::createDecompFromPartition ( DEC_DECOMP **  decomp)
inlinevirtual
Parameters
decompdecomposition structure to generate

Reimplemented in gcg::HypercolGraph< T >, gcg::HyperrowGraph< T >, gcg::HyperrowcolGraph< T >, gcg::RowGraph< T >, and gcg::ColumnGraph< T >.

Definition at line 89 of file matrixgraph.h.

◆ createPartialdecFromPartition()

template<class T >
virtual SCIP_RETCODE gcg::MatrixGraph< T >::createPartialdecFromPartition ( PARTIALDECOMP oldpartialdec,
PARTIALDECOMP **  firstpartialdec,
PARTIALDECOMP **  secondpartialdec,
DETPROBDATA detprobdata 
)
inlinevirtual

amplifies a partialdec by dint of a graph created with open constraints and open variables of the partialdec

Parameters
oldpartialdecpartialdec which should be amplifies
firstpartialdecpointer to buffer the new partialdec amplified by dint of the graph
secondpartialdecpinter to buffer the new partialdec whose border is amplified by dint of the graph
detprobdatadetection process information and data

Reimplemented in gcg::HypercolGraph< T >, gcg::HyperrowGraph< T >, gcg::HyperrowcolGraph< T >, and gcg::RowGraph< T >.

Definition at line 99 of file matrixgraph.h.

Referenced by detection().

◆ readPartition()

template<class T >
virtual SCIP_RETCODE gcg::MatrixGraph< T >::readPartition ( const char *  filename)
inlinevirtual

reads the partition from the given file. The format is graph dependent. The default is a file with one line for each node a

Parameters
filenamefilename where the partition is stored

Reimplemented in gcg::HyperrowcolGraph< T >, gcg::HypercolGraph< T >, and gcg::HyperrowGraph< T >.

Definition at line 113 of file matrixgraph.h.

References gcg::MatrixGraph< T >::graphiface, and gcg::GraphInterface::readPartition().

Referenced by callMetis().

◆ setDummynodes()

template<class T >
void gcg::MatrixGraph< T >::setDummynodes ( int  dummynodes_)
inline

set the number of dummy nodes

Definition at line 122 of file matrixgraph.h.

References gcg::MatrixGraph< T >::dummynodes.

Referenced by createMetisFile().

◆ getDummynodes()

template<class T >
int gcg::MatrixGraph< T >::getDummynodes ( ) const
inline

Definition at line 127 of file matrixgraph.h.

References gcg::MatrixGraph< T >::dummynodes.

◆ getPartition()

template<class T >
virtual std::vector<int> gcg::MatrixGraph< T >::getPartition ( )
inlinevirtual

return a partition of the nodes

Reimplemented in gcg::HyperrowGraph< T >.

Definition at line 133 of file matrixgraph.h.

References gcg::GraphInterface::getPartition(), and gcg::MatrixGraph< T >::graphiface.

◆ createFromMatrix()

template<class T >
virtual SCIP_RETCODE gcg::MatrixGraph< T >::createFromMatrix ( SCIP_CONS **  conss,
SCIP_VAR **  vars,
int  nconss_,
int  nvars_ 
)
inlinevirtual
Parameters
conssconstraints for which graph should be created
varsvariables for which graph should be created
nconss_number of constraints
nvars_number of variables

Reimplemented in gcg::HyperrowGraph< T >, gcg::HypercolGraph< T >, gcg::RowGraph< T >, gcg::ColumnGraph< T >, gcg::BipartiteGraph< T >, and gcg::HyperrowcolGraph< T >.

Definition at line 138 of file matrixgraph.h.

◆ createFromPartialMatrix()

template<class T >
virtual SCIP_RETCODE gcg::MatrixGraph< T >::createFromPartialMatrix ( DETPROBDATA detprobdata,
PARTIALDECOMP partialdec 
)
inlinevirtual

creates a graph with open constraints and open variables of the partialdec

Reimplemented in gcg::HyperrowGraph< T >, gcg::HypercolGraph< T >, gcg::HyperrowcolGraph< T >, and gcg::BipartiteGraph< T >.

Definition at line 146 of file matrixgraph.h.

Referenced by detection().

◆ getNNonzeroes()

template<class T >
virtual int gcg::MatrixGraph< T >::getNNonzeroes ( ) const
inlinevirtual

Definition at line 152 of file matrixgraph.h.

References gcg::MatrixGraph< T >::nnonzeroes.

Referenced by createMetisFile(), and detection().

Field Documentation

◆ name

◆ scip_

template<class T >
SCIP* gcg::MatrixGraph< T >::scip_
protected

Definition at line 58 of file matrixgraph.h.

◆ nconss

template<class T >
int gcg::MatrixGraph< T >::nconss
protected

Definition at line 59 of file matrixgraph.h.

◆ nvars

template<class T >
int gcg::MatrixGraph< T >::nvars
protected

Definition at line 60 of file matrixgraph.h.

◆ dummynodes

template<class T >
int gcg::MatrixGraph< T >::dummynodes
protected

◆ weights

template<class T >
Weights gcg::MatrixGraph< T >::weights
protected

Definition at line 62 of file matrixgraph.h.

◆ graphiface

◆ nnonzeroes

template<class T >
int gcg::MatrixGraph< T >::nnonzeroes
protected

Definition at line 64 of file matrixgraph.h.

Referenced by gcg::MatrixGraph< T >::getNNonzeroes().