Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Public Attributes | Private Attributes | List of all members
CbcSymmetry Class Reference

Class to deal with symmetry. More...

#include <CbcSymmetry.hpp>

+ Collaboration diagram for CbcSymmetry:


struct  less_than_str
struct  myclass
struct  myclass0
class  Node

Public Member Functions

std::vector< int > * Find_Orbit (int) const
void Compute_Symmetry () const
int statsOrbits (CbcModel *model, int type) const
void Print_Orbits () const
void fillOrbits ()
int orbitalFixing (OsiSolverInterface *solver)
 Fixes variables using orbits (returns number fixed) More...
int * whichOrbit ()
int numberUsefulOrbits () const
int numberUsefulObjects () const
int largestOrbit (const double *lower, const double *upper) const
void ChangeBounds (const double *lower, const double *upper, int numberColumns, bool justFixedAtOne) const
bool compare (register Node &a, register Node &b) const
CbcNautygetNtyInfo ()
void setupSymmetry (const OsiSolverInterface &solver)
 empty if no NTY, symmetry data structure setup otherwise More...
Constructors and destructors
 CbcSymmetry ()
 Default constructor. More...
 CbcSymmetry (const CbcSymmetry &)
 Copy constructor. More...
CbcSymmetryoperator= (const CbcSymmetry &rhs)
 Assignment operator. More...
 ~CbcSymmetry ()
 Destructor. More...

Public Attributes

myclass0 node_sort
myclass index_sort

Private Attributes

std::vector< Nodenode_info_
int numberColumns_
int numberUsefulOrbits_
int numberUsefulObjects_
int * whichOrbit_

Detailed Description

Class to deal with symmetry.

Hacked from Couenne Thanks, but it had been nice to make sure that there are no symbol collisions when building Couenne with this Cbc.

Definition at line 69 of file CbcSymmetry.hpp.

Constructor & Destructor Documentation

CbcSymmetry::CbcSymmetry ( )

Default constructor.

CbcSymmetry::CbcSymmetry ( const CbcSymmetry )

Copy constructor.

CbcSymmetry::~CbcSymmetry ( )


Member Function Documentation

CbcSymmetry& CbcSymmetry::operator= ( const CbcSymmetry rhs)

Assignment operator.

std::vector<int>* CbcSymmetry::Find_Orbit ( int  ) const
void CbcSymmetry::Compute_Symmetry ( ) const
int CbcSymmetry::statsOrbits ( CbcModel model,
int  type 
) const
void CbcSymmetry::Print_Orbits ( ) const
void CbcSymmetry::fillOrbits ( )
int CbcSymmetry::orbitalFixing ( OsiSolverInterface solver)

Fixes variables using orbits (returns number fixed)

int* CbcSymmetry::whichOrbit ( )

Definition at line 150 of file CbcSymmetry.hpp.

int CbcSymmetry::numberUsefulOrbits ( ) const

Definition at line 152 of file CbcSymmetry.hpp.

int CbcSymmetry::numberUsefulObjects ( ) const

Definition at line 154 of file CbcSymmetry.hpp.

int CbcSymmetry::largestOrbit ( const double *  lower,
const double *  upper 
) const
void CbcSymmetry::ChangeBounds ( const double *  lower,
const double *  upper,
int  numberColumns,
bool  justFixedAtOne 
) const
bool CbcSymmetry::compare ( register Node a,
register Node b 
) const
CbcNauty* CbcSymmetry::getNtyInfo ( )

Definition at line 160 of file CbcSymmetry.hpp.

void CbcSymmetry::setupSymmetry ( const OsiSolverInterface solver)

empty if no NTY, symmetry data structure setup otherwise

Member Data Documentation

myclass0 CbcSymmetry::node_sort

Definition at line 140 of file CbcSymmetry.hpp.

myclass CbcSymmetry::index_sort

Definition at line 141 of file CbcSymmetry.hpp.

std::vector<Node> CbcSymmetry::node_info_

Definition at line 168 of file CbcSymmetry.hpp.

CbcNauty* CbcSymmetry::nauty_info_

Definition at line 169 of file CbcSymmetry.hpp.

int CbcSymmetry::numberColumns_

Definition at line 170 of file CbcSymmetry.hpp.

int CbcSymmetry::numberUsefulOrbits_

Definition at line 171 of file CbcSymmetry.hpp.

int CbcSymmetry::numberUsefulObjects_

Definition at line 172 of file CbcSymmetry.hpp.

int* CbcSymmetry::whichOrbit_

Definition at line 173 of file CbcSymmetry.hpp.

The documentation for this class was generated from the following file: