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 | Public Attributes | Private Member Functions | List of all members
doubleton_action Class Reference

Solve ax+by=c for y and substitute y out of the problem. More...

#include <CoinPresolveDoubleton.hpp>

+ Inheritance diagram for doubleton_action:
+ Collaboration diagram for doubleton_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...
 
virtual ~doubleton_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 *, 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...
 

Public Attributes

const int nactions_
 
const action *const actions_
 
- Public Attributes inherited from CoinPresolveAction
const CoinPresolveActionnext
 The next presolve transformation. More...
 

Private Member Functions

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

Detailed Description

Solve ax+by=c for y and substitute y out of the problem.

This moves the bounds information for y onto x, making y free and allowing us to substitute it away.

         a x + b y = c
         l1 <= x <= u1
         l2 <= y <= u2  ==>
        
         l2 <= (c - a x) / b <= u2
         b/-a > 0 ==> (b l2 - c) / -a <= x <= (b u2 - c) / -a
         b/-a < 0 ==> (b u2 - c) / -a <= x <= (b l2 - c) / -a

Definition at line 26 of file CoinPresolveDoubleton.hpp.

Constructor & Destructor Documentation

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

Definition at line 54 of file CoinPresolveDoubleton.hpp.

virtual doubleton_action::~doubleton_action ( )
virtual

Member Function Documentation

const char* doubleton_action::name ( ) const
inlinevirtual

A name for debug printing.

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

Implements CoinPresolveAction.

Definition at line 64 of file CoinPresolveDoubleton.hpp.

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

Apply the postsolve transformation for this particular presolve action.

Implements CoinPresolveAction.

Member Data Documentation

const int doubleton_action::nactions_

Definition at line 50 of file CoinPresolveDoubleton.hpp.

const action* const doubleton_action::actions_

Definition at line 51 of file CoinPresolveDoubleton.hpp.


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