ABA_FIXCAND Class Reference

candidates for fixing More...

#include <fixcand.h>

Inheritance diagram for ABA_FIXCAND:

ABA_ABACUSROOT List of all members.

Public Member Functions

 ABA_FIXCAND (ABA_MASTER *master)
 ~ABA_FIXCAND ()
 The destructor.

Private Member Functions

void saveCandidates (ABA_SUB *sub)
void fixByRedCost (ABA_CUTBUFFER< ABA_VARIABLE, ABA_CONSTRAINT > *addVarBuffer)
void deleteAll ()
void allocate (int nCand)
 ABA_FIXCAND (const ABA_FIXCAND &rhs)
const ABA_FIXCANDoperator= (const ABA_FIXCAND &rhs)

Private Attributes

ABA_MASTERmaster_
ABA_BUFFER< ABA_POOLSLOTREF<
ABA_VARIABLE, ABA_CONSTRAINT > * > * 
candidates_
ABA_BUFFER< ABA_FSVARSTAT * > * fsVarStat_
ABA_BUFFER< double > * lhs_

Friends

class ABA_SUB
class ABA_MASTER

Detailed Description

candidates for fixing

Definition at line 60 of file fixcand.h.


Constructor & Destructor Documentation

ABA_FIXCAND::ABA_FIXCAND ( ABA_MASTER master  ) 

The constructor.

Parameters:
master A pointer to the corresponding master of the optimization.

ABA_FIXCAND::~ABA_FIXCAND (  ) 

The destructor.

ABA_FIXCAND::ABA_FIXCAND ( const ABA_FIXCAND rhs  )  [private]


Member Function Documentation

void ABA_FIXCAND::saveCandidates ( ABA_SUB sub  )  [private]

Memorizes suitable variables for fixing.

Parameters:
sub A pointer to the root node of the remaining \ tree.

void ABA_FIXCAND::fixByRedCost ( ABA_CUTBUFFER< ABA_VARIABLE, ABA_CONSTRAINT > *  addVarBuffer  )  [private]

Tries to fix as many candidates as possible.

The new variable status is both stored in the global variable status of the class ABA_MASTER and in the local variable status of ABA_SUB. Candidates which are fixed are removed from the candidate set.

Returns:
1 If contradictions to the variables statuses of sub are detected.

0 otherwise.

Parameters:
addVarBuffer Inactive variables which are fixed to a nonzero value are added to addVarBuffer to be activated in the next iteration.
We do not used the function ABA_MASTER::primalViolated() for checking of a variable can be fixed, because here we also have to be careful for integer objective function.

void ABA_FIXCAND::deleteAll (  )  [private]

Deletes all allocated memory of members.

The member pointers are set to 0 that multiple deletion cannot cause any error.

void ABA_FIXCAND::allocate ( int  nCand  )  [private]

Allocates memory to store nCand candidates for fixing.

const ABA_FIXCAND& ABA_FIXCAND::operator= ( const ABA_FIXCAND rhs  )  [private]


Friends And Related Function Documentation

friend class ABA_SUB [friend]

Definition at line 61 of file fixcand.h.

friend class ABA_MASTER [friend]

Definition at line 62 of file fixcand.h.


Member Data Documentation

ABA_MASTER* ABA_FIXCAND::master_ [private]

A pointer to the corresponding master of the optimization.

Definition at line 115 of file fixcand.h.

ABA_BUFFER<ABA_POOLSLOTREF<ABA_VARIABLE, ABA_CONSTRAINT>*>* ABA_FIXCAND::candidates_ [private]

The candidates for fixing.

Definition at line 119 of file fixcand.h.

ABA_BUFFER<ABA_FSVARSTAT*>* ABA_FIXCAND::fsVarStat_ [private]

The fixing status of the candidates.

Definition at line 123 of file fixcand.h.

ABA_BUFFER<double>* ABA_FIXCAND::lhs_ [private]

The left hand side of the expression evaluated for fixing.

Definition at line 127 of file fixcand.h.


The documentation for this class was generated from the following file:
Generated on Tue Aug 14 18:09:57 2007 for ABACUS by  doxygen 1.5.1