Osi  0.108.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
twoxtwo_action Class Reference

Detect interesting 2 by 2 blocks. More...

#include <CoinPresolveDupcol.hpp>

+ Inheritance diagram for twoxtwo_action:
+ Collaboration diagram for twoxtwo_action:

Classes

struct  action
 

Public Member Functions

const char * name () const
 A name for debug printing. More...
 
void postsolve (CoinPostsolveMatrix *prob) const
 Apply the postsolve transformation for this particular presolve action. More...
 
 ~twoxtwo_action ()
 
- Public Member Functions inherited from CoinPresolveAction
 CoinPresolveAction (const CoinPresolveAction *next)
 Construct a postsolve object and add it to the transformation list. More...
 
void setNext (const CoinPresolveAction *nextAction)
 modify next (when building rather than passing) More...
 
virtual ~CoinPresolveAction ()
 Virtual destructor. More...
 

Static Public Member Functions

static const CoinPresolveActionpresolve (CoinPresolveMatrix *prob, const CoinPresolveAction *next)
 
- Static Public Member Functions inherited from CoinPresolveAction
static void throwCoinError (const char *error, const char *ps_routine)
 Stub routine to throw exceptions. More...
 

Private Member Functions

 twoxtwo_action ()
 
 twoxtwo_action (int nactions, const action *actions, const CoinPresolveAction *next)
 

Private Attributes

const int nactions_
 
const action *const actions_
 

Additional Inherited Members

- Public Attributes inherited from CoinPresolveAction
const CoinPresolveActionnext
 The next presolve transformation. More...
 

Detailed Description

Detect interesting 2 by 2 blocks.

If a variable has two entries and for each row there are only two entries with same other variable then we can get rid of one constraint and modify costs.

This is a work in progress - I need more examples

Definition at line 214 of file CoinPresolveDupcol.hpp.

Constructor & Destructor Documentation

twoxtwo_action::twoxtwo_action ( )
inlineprivate

Definition at line 230 of file CoinPresolveDupcol.hpp.

twoxtwo_action::twoxtwo_action ( int  nactions,
const action actions,
const CoinPresolveAction next 
)
inlineprivate

Definition at line 236 of file CoinPresolveDupcol.hpp.

twoxtwo_action::~twoxtwo_action ( )
inline

Definition at line 253 of file CoinPresolveDupcol.hpp.

Member Function Documentation

const char* twoxtwo_action::name ( ) const
virtual

A name for debug printing.

It is expected that the name is not stored in the transform itself.

Implements CoinPresolveAction.

static const CoinPresolveAction* twoxtwo_action::presolve ( CoinPresolveMatrix prob,
const CoinPresolveAction next 
)
static
void twoxtwo_action::postsolve ( CoinPostsolveMatrix prob) const
virtual

Apply the postsolve transformation for this particular presolve action.

Implements CoinPresolveAction.

Member Data Documentation

const int twoxtwo_action::nactions_
private

Definition at line 227 of file CoinPresolveDupcol.hpp.

const action* const twoxtwo_action::actions_
private

Definition at line 228 of file CoinPresolveDupcol.hpp.


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