ABA_MASTER Class Reference

Class ABA_MASTER is the central object of the framework. The most important tasks of the class ABA_MASTER is the management of the implicit enumeration. Moreover, it provides already default implementations for constraints, cutting planes, and variables pools. More...

#include <master.h>

Inheritance diagram for ABA_MASTER:

ABA_GLOBAL ABA_ABACUSROOT List of all members.

Public Types

enum  STATUS {
  Optimal, Error, OutOfMemory, Unprocessed,
  Processing, Guaranteed, MaxLevel, MaxCpuTime,
  MaxCowTime, ExceptionFathom
}
enum  OUTLEVEL {
  Silent, Statistics, Subproblem, LinearProgram,
  Full
}
enum  ENUMSTRAT { BestFirst, BreadthFirst, DepthFirst, DiveAndBest }
enum  BRANCHINGSTRAT { CloseHalf, CloseHalfExpensive }
 This enumeration defines the two currently implemented branching variable selection strategies. More...
enum  PRIMALBOUNDMODE { NoPrimalBound, Optimum, OptimumOne }
 This enumeration provides various methods for the initialization of the primal bound. More...
enum  SKIPPINGMODE { SkipByNode, SkipByLevel }
enum  CONELIMMODE { NoConElim, NonBinding, Basic }
 This enumeration defines the ways for automatic constraint elimination during the cutting plane phase. More...
enum  VARELIMMODE { NoVarElim, ReducedCost }
 This enumeration defines the ways for automatic variable elimination during the column generation algorithm. More...
enum  VBCMODE { NoVbc, File, Pipe }
 This enumeration defines what kind of output can be generated for the VBCTOOL. More...
enum  OSISOLVER {
  Cbc, Clp, CPLEX, DyLP,
  FortMP, GLPK, MOSEK, OSL,
  SoPlex, SYMPHONY, Vol, XPRESS_MP
}
 This enumeration defines which solvers can be used to solve theLP-relaxations. More...

Public Member Functions

 ABA_MASTER (const char *problemName, bool cutting, bool pricing, ABA_OPTSENSE::SENSE optSense=ABA_OPTSENSE::Unknown, double eps=1.0e-4, double machineEps=1.0e-7, double infinity=1.0e30, bool readParamFromFile=true)
virtual ~ABA_MASTER ()
 The destructor.
STATUS optimize ()
ENUMSTRAT enumerationStrategy () const
void enumerationStrategy (ENUMSTRAT strat)
 This version of the function enumerationStrategy() changes the enumeration strategy.
virtual int enumerationStrategy (const ABA_SUB *s1, const ABA_SUB *s2)
 Analyzes the enumeration strategy set in the parameter file { .abacus} and calls the corresponding comparison function for the subproblems s1 and s2. This function should be redefined for application specific enumeration strategies.
bool guaranteed ()
 Can be used to check if the guarantee requirements are fulfilled, i.e., the difference between upper bound and the lower bound in respect to the lowerBound is less than this guarantee value in percent.
double guarantee ()
void printGuarantee ()
bool check ()
 Can be used to control the correctness of the optimization if the value of the optimum solution has been loaded.
bool knownOptimum (double &optVal)
 Opens the file specified with the parameter { OptimumFileName} in the configuration file { .abacus} and tries to find a line with the name of the problem instance (as specified in the constructor of ABA_MASTER) as first string.
virtual void output ()
bool cutting () const
bool pricing () const
const ABA_OPTSENSEoptSense () const
ABA_HISTORYhistory () const
ABA_OPENSUBopenSub () const
ABA_STANDARDPOOL< ABA_CONSTRAINT,
ABA_VARIABLE > * 
conPool () const
ABA_STANDARDPOOL< ABA_CONSTRAINT,
ABA_VARIABLE > * 
cutPool () const
ABA_STANDARDPOOL< ABA_VARIABLE,
ABA_CONSTRAINT > * 
varPool () const
ABA_SUBroot () const
ABA_SUBrRoot () const
STATUS status () const
const ABA_STRINGproblemName () const
const ABA_COWTIMERtotalCowTime () const
bool solveApprox () const
const ABA_CPUTIMERtotalTime () const
const ABA_CPUTIMERlpTime () const
const ABA_CPUTIMERlpSolverTime () const
const ABA_CPUTIMERseparationTime () const
const ABA_CPUTIMERimproveTime () const
const ABA_CPUTIMERpricingTime () const
const ABA_CPUTIMERbranchingTime () const
int nSub () const
int nLp () const
int highestLevel () const
int nNewRoot () const
int nSubSelected () const
void printParameters ()
 Writes all parameters of the class ABA_MASTER together with their values to the global output stream.
BRANCHINGSTRAT branchingStrategy () const
void branchingStrategy (BRANCHINGSTRAT strat)
OSISOLVER defaultLpSolver () const
void defaultLpSolver (OSISOLVER osiSolver)
ABA_LPMASTEROSIlpMasterOsi () const
int nBranchingVariableCandidates () const
void nBranchingVariableCandidates (int n)
 This version of the function nbranchingVariableCandidates() sets the number of tested branching variable candidates.
double requiredGuarantee () const
void requiredGuarantee (double g)
 This version of the function requiredGuarantee() changes the guarantee specification.
int maxLevel () const
void maxLevel (int ml)
 This version of the function maxLevel() changes the maximal enumeration depth.
const ABA_STRINGmaxCpuTime () const
void maxCpuTime (const ABA_STRING &t)
const ABA_STRINGmaxCowTime () const
 The function maxCowTime().
void maxCowTime (const ABA_STRING &t)
 This version of the function maxCowTime() set the maximal wall-clock time for the optimization.
bool objInteger () const
void objInteger (bool b)
 This version of function objInteger() sets the assumption that the objective function values of all feasible solutions are integer.
int tailOffNLp () const
 The function tailOffNLp().
void tailOffNLp (int n)
double tailOffPercent () const
 The function tailOffPercent().
void tailOffPercent (double p)
 This version of the function tailOffPercent() sets the minimal change of the dual bound for the tailing off analysis.
OUTLEVEL outLevel () const
void outLevel (OUTLEVEL mode)
 The version of the function outLevel() sets the output mode.
OUTLEVEL logLevel () const
void logLevel (OUTLEVEL mode)
 This version of the function logLevel() sets the output mode for the log-file.
bool delayedBranching (int nOpt_) const
void dbThreshold (int threshold)
 Sets the number of optimizations of a subproblem until sons are created in ABA_SUB::branching().
int dbThreshold () const
int minDormantRounds () const
void minDormantRounds (int nRounds)
PRIMALBOUNDMODE pbMode () const
void pbMode (PRIMALBOUNDMODE mode)
int pricingFreq () const
void pricingFreq (int f)
 This version of the function pricingFreq() sets the number of linear programs being solved between two additional pricing steps.
int skipFactor () const
void skipFactor (int f)
 This version of the function skipFactor() sets the frequency for constraint and variable generation.
void skippingMode (SKIPPINGMODE mode)
 This version of the function skippingMode() sets the skipping strategy.
SKIPPINGMODE skippingMode () const
CONELIMMODE conElimMode () const
void conElimMode (CONELIMMODE mode)
VARELIMMODE varElimMode () const
void varElimMode (VARELIMMODE mode)
double conElimEps () const
void conElimEps (double eps)
double varElimEps () const
void varElimEps (double eps)
int varElimAge () const
void varElimAge (int eps)
int conElimAge () const
void conElimAge (int eps)
bool fixSetByRedCost () const
void fixSetByRedCost (bool on)
bool printLP () const
void printLP (bool on)
int maxConAdd () const
void maxConAdd (int max)
 Sets the maximal number of constraints that are added in an iteration of the cutting plane algorithm.
int maxConBuffered () const
void maxConBuffered (int max)
 Changes the maximal number of constraints that are buffered in an iteration of the cutting plane algorithm.
int maxVarAdd () const
void maxVarAdd (int max)
 Changes the maximal number of variables that are added in an iteration of the subproblem optimization.
int maxVarBuffered () const
void maxVarBuffered (int max)
 Changes the maximal number of variables that are buffered in an iteration of the subproblem optimization.
int maxIterations () const
void maxIterations (int max)
 Changes the default value for the maximal number of iterations of the optimization of a subproblem.
bool eliminateFixedSet () const
void eliminateFixedSet (bool turnOn)
 This version of the function eliminateFixedSet() can be used to turn the elimination of fixed and set variables on or off.
bool newRootReOptimize () const
void newRootReOptimize (bool on)
const ABA_STRINGoptimumFileName () const
void optimumFileName (const char *name)
bool showAverageCutDistance () const
void showAverageCutDistance (bool on)
 Turns the output of the average distance of the added cuts from the fractional solution on or off.
VBCMODE vbcLog () const
void vbcLog (VBCMODE mode)
virtual bool setSolverParameters (OsiSolverInterface *interface, bool solverIsApprox)
bounds
In order to embed both minimization and maximization problems in this system we work internally with primal bounds, i.e., a value which is worse than the best known solution (often a value of a feasible solution), and dual bounds, i.e., a bound which is better than the best known solution. Primal and dual bounds are then interpreted as lower or upper bounds according to the sense of the optimization.

double lowerBound () const
double upperBound () const
double primalBound () const
void primalBound (double x)
 This version of the function primalBound() sets the primal bound to x and makes a new entry in the solution history. It is an error if the primal bound gets worse.
double dualBound () const
void dualBound (double x)
 This version of the function dualBound() sets the dual bound to x and makes a new entry in the solution history.
bool betterDual (double x) const
bool primalViolated (double x) const
bool betterPrimal (double x) const
bool feasibleFound () const
 We use this function ,e.g., to adapt the enumeration strategy in the DiveAndBest-Strategy.

Static Public Attributes

static const char * STATUS_ []
 Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { STATUS[0]=="Optimal"}).
static const char * OUTLEVEL_ []
 Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { OUTLEVEL[0]=="Silent"}).
static const char * ENUMSTRAT_ []
 Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { ENUMSTRAT[0]=="BestFirst"}).
static const char * BRANCHINGSTRAT_ []
 Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { BRANCHINGSTRAT[0]=="CloseHalf"}).
static const char * PRIMALBOUNDMODE_ []
 Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { PRIMALBOUNDMODE[0]=="None"}).
static const char * SKIPPINGMODE_ []
 Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { SKIPPINGMODE[0]=="None"}).
static const char * CONELIMMODE_ []
 Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { CONELIMMODE[0]=="None"}).
static const char * VARELIMMODE_ []
 Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { VARELIMMODE[0]=="None"}).
static const char * VBCMODE_ []
 Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { VBCMODE[0]=="None"}).
static const char * OSISOLVER_ []
 Array for the literal values for possible Osi solvers.

Protected Member Functions

virtual void initializePools (ABA_BUFFER< ABA_CONSTRAINT * > &constraints, ABA_BUFFER< ABA_VARIABLE * > &Variables, int varPoolSize, int cutPoolSize, bool dynamicCutPool=false)
virtual void initializePools (ABA_BUFFER< ABA_CONSTRAINT * > &constraints, ABA_BUFFER< ABA_CONSTRAINT * > &cuts, ABA_BUFFER< ABA_VARIABLE * > &Variables, int varPoolSize, int cutPoolSize, bool dynamicCutPool=false)
 Is overloaded such that also a first set of cutting planes can be inserted into the cutting plane pool.
void initializeOptSense (ABA_OPTSENSE::SENSE sense)
 Can be used to initialize the sense of the optimization in derived classes, if this has not been already performed when the constructor of ABA_MASTER has been called.
int bestFirstSearch (const ABA_SUB *s1, const ABA_SUB *s2) const
virtual int equalSubCompare (const ABA_SUB *s1, const ABA_SUB *s2) const
 Is called from the function bestFirstSearch() and from the function depthFirstSearch() if the subproblems s1 and s2 have the same priority.
int depthFirstSearch (const ABA_SUB *s1, const ABA_SUB *s2) const
 Implements the depth first search enumeration strategy, i.e., the subproblem with maximum level is selected.
int breadthFirstSearch (const ABA_SUB *s1, const ABA_SUB *s2) const
 Implements the breadth first search enumeration strategy, i.e., the subproblem with minimum level is selected.
int diveAndBestFirstSearch (const ABA_SUB *s1, const ABA_SUB *s2) const
 Performs depth-first search until a feasible solution is found, then the search process is continued with best-first search.
virtual void initializeParameters ()
 Is only a dummy. This function can be used to initialize parameters of derived classes and to overwrite parameters read from the file { .abacus} by the function ().
virtual ABA_SUBfirstSub ()=0
virtual void initializeOptimization ()
 The default implementation of initializeOptimization() does nothing.
virtual void terminateOptimization ()
 The default implementation of terminateOptimization() does nothing.

Private Member Functions

void _initializeParameters ()
 Reads the parameter-file { .abacus}, which is searched in the directory given by the environment variable ABACUS_DIR, and calls the virtual function initializeParameters() which can initialize parameters of derived classes and overwrite parameters of this class.
void _createLpMasters ()
void _deleteLpMasters ()
void _initializeLpParameters ()
void _setDefaultLpParameters ()
 Initializes the LP solver specific default Parameters if they are not read from the parameter-file { .abacus}.
void _printLpParameters ()
void _outputLpStatistics ()
ABA_SUBselect ()
int initLP ()
void writeTreeInterface (const char *info, bool time=true) const
void treeInterfaceNewNode (ABA_SUB *sub) const
 Adds the subproblem sub to the stream storing information for graphical output of the enumeration tree if this logging is turned on.
void treeInterfacePaintNode (int id, int color) const
void treeInterfaceLowerBound (double lb) const
void treeInterfaceUpperBound (double ub) const
void treeInterfaceNodeBounds (int id, double lb, double ub)
 Updates the node information in the node with number id by writing the lower bound lb and the upper bound ub to the node.
void newSub (int level)
void countLp ()
 Increments the counter for linear programs and should be called in each optimization call of the LP-relaxation.
void newFixed (int n)
 Increments the counter of the number of fixed variables by n.
void addCons (int n)
 Increments the counter for the total number of added constraints by n.
void removeCons (int n)
 Increments the counter for the total number of removed constraints by n.
void addVars (int n)
 Increments the counter for the total number of added variables by n.
void removeVars (int n)
 Increments the counter for the total number of removed variables by n.
ABA_FIXCANDfixCand () const
void rRoot (ABA_SUB *newRoot, bool reoptimize)
void status (STATUS stat)
void rootDualBound (double x)
void theFuture ()
 ABA_MASTER (const ABA_MASTER &rhs)
const ABA_MASTERoperator= (const ABA_MASTER &rhs)

Private Attributes

ABA_STRING problemName_
bool readParamFromFile_
ABA_OPTSENSE optSense_
ABA_SUBroot_
ABA_SUBrRoot_
ABA_OPENSUBopenSub_
ABA_HISTORYhistory_
ENUMSTRAT enumerationStrategy_
BRANCHINGSTRAT branchingStrategy_
int nBranchingVariableCandidates_
 The number of candidates that are evaluated for branching on variables.
OSISOLVER defaultLpSolver_
ABA_LPMASTEROSIlpMasterOsi_
ABA_STANDARDPOOL< ABA_CONSTRAINT,
ABA_VARIABLE > * 
conPool_
ABA_STANDARDPOOL< ABA_CONSTRAINT,
ABA_VARIABLE > * 
cutPool_
ABA_STANDARDPOOL< ABA_VARIABLE,
ABA_CONSTRAINT > * 
varPool_
double primalBound_
double dualBound_
double rootDualBound_
ABA_FIXCANDfixCand_
bool cutting_
bool pricing_
bool solveApprox_
int nSubSelected_
 The number of subproblems already selected from the list of open subproblems.
VBCMODE VbcLog_
 Ouput for the Tree Interface is generated depending on the value of this variable.
ostream * treeStream_
double requiredGuarantee_
 The guarantee in percent which should be reached when the optimization stops.
int maxLevel_
ABA_STRING maxCpuTime_
ABA_STRING maxCowTime_
bool objInteger_
 true, if all objective function values of feasible solutions are assumed to be integer.
int tailOffNLp_
double tailOffPercent_
int dbThreshold_
int minDormantRounds_
 The minimal number of rounds, i.e., number of subproblem optimizations, a subproblem is dormant, i.e., it is not selected from the set of open subproblem if its status is Dormant, if possible.
OUTLEVEL outLevel_
OUTLEVEL logLevel_
PRIMALBOUNDMODE pbMode_
int pricingFreq_
int skipFactor_
 The frequency constraints or variables are generated depending on the skipping mode.
SKIPPINGMODE skippingMode_
 Either constraints are generated only every skipFactor_ subproblem (SkipByNode) only every skipFactor_ level (SkipByLevel).
bool fixSetByRedCost_
bool printLP_
int maxConAdd_
 The maximal number of added constraints per iteration of the cutting plane algorithm.
int maxConBuffered_
int maxVarAdd_
 The maximal number of added variables per iteration of the column generation algorithm.
int maxVarBuffered_
int maxIterations_
 The maximal number of iterations of the cutting plane/column generation algorithm in the subproblem.
bool eliminateFixedSet_
bool newRootReOptimize_
 If true, then an already earlier processed node is reoptimized if it becomes the new root of the remaining \ tree.
ABA_STRING optimumFileName_
 The name of a file storing a list of optimum solutions of problem instances.
bool showAverageCutDistance_
 If true then the average distance of the added cutting planes is output every iteration of the cutting plane algorithm.
CONELIMMODE conElimMode_
 The way constraints are automatically eliminated in the cutting plane algorithm.
VARELIMMODE varElimMode_
 The way variables are automatically eliminated in the column generation algorithm.
double conElimEps_
 The tolerance for the elimination of constraints by the mode NonBinding/.
double varElimEps_
 The tolerance for the elimination of variables by the mode ReducedCost.
int conElimAge_
 The number of iterations an elimination criterion must be satisfied until a constraint can be removed.
int varElimAge_
 The number of iterations an elimination criterion must be satisfied until a variable can be removed.
STATUS status_
ABA_COWTIMER totalCowTime_
ABA_CPUTIMER totalTime_
ABA_CPUTIMER lpTime_
ABA_CPUTIMER lpSolverTime_
ABA_CPUTIMER separationTime_
ABA_CPUTIMER improveTime_
 The timer for the cpu time spent in the heuristics for the computation of feasible solutions.
ABA_CPUTIMER pricingTime_
ABA_CPUTIMER branchingTime_
int nSub_
int nLp_
int highestLevel_
int nFixed_
int nAddCons_
int nRemCons_
int nAddVars_
int nRemVars_
int nNewRoot_

Friends

class ABA_SUB
class ABA_FIXCAND

Detailed Description

Class ABA_MASTER is the central object of the framework. The most important tasks of the class ABA_MASTER is the management of the implicit enumeration. Moreover, it provides already default implementations for constraints, cutting planes, and variables pools.

Definition at line 76 of file master.h.


Member Enumeration Documentation

enum ABA_MASTER::STATUS

The various statuses of the optimization process.

Parameters:
Optimal The optimization terminated with an error and without reaching one of the resource limits. If there is a feasible solution then the optimal solution has been computed.
Error An error occurred during the optimization process.
Unprocessed The initial status, before the optimization starts.
Processing The status while the optimization is performed.
Guaranteed If not the optimal solution is determined, but the required guarantee is reached, then the status is Guaranteed.
MaxLevel The status, if subproblems are ignored since the maximum enumeration level is exceeded.
MaxCpuTime The status, if the optimization terminates since the maximum cpu time is exceeded.
MaxCowTime The status, if the optimization terminates since the maximum wall-clock time is exceeded.
ExceptionFathom The status, if at least one subproblem has been fathomed according to a problem specific criteria determined in the function ABA_SUB::exceptionFathom().
Enumerator:
Optimal 
Error 
OutOfMemory 
Unprocessed 
Processing 
Guaranteed 
MaxLevel 
MaxCpuTime 
MaxCowTime 
ExceptionFathom 

Definition at line 109 of file master.h.

enum ABA_MASTER::OUTLEVEL

This enumeration defines the different output levels:

Parameters:
Silent No output at all.
Statistics No output during the optimization, but output of final statistics.
Subproblem In addition to the previous level also a single line of output after every subproblem optimization.
LinearProgram In addition to the previous level also a single line of output after every solved linear program.
Full Tons of output.
Enumerator:
Silent 
Statistics 
Subproblem 
LinearProgram 
Full 

Definition at line 131 of file master.h.

enum ABA_MASTER::ENUMSTRAT

Enumerator:
BestFirst 
BreadthFirst 
DepthFirst 
DiveAndBest 

Definition at line 158 of file master.h.

enum ABA_MASTER::BRANCHINGSTRAT

This enumeration defines the two currently implemented branching variable selection strategies.

Parameters:
CloseHalf Selects the variable with fractional part closest to $0.5$.
CloseHalfExpensive Selects the variable with fractional part close to $0.5$ (within some interval around $0.5$) and has highest absolute objective function coefficient.
Enumerator:
CloseHalf 
CloseHalfExpensive 

Definition at line 175 of file master.h.

enum ABA_MASTER::PRIMALBOUNDMODE

This enumeration provides various methods for the initialization of the primal bound.

The modes OptimalPrimalBound and OptimalOnePrimalBound can be useful in the testing phase. For these modes the value of an optimum solution must stored in the file given by the parameter { OptimumFileName} in the parameter file.

Parameters:
NoPrimalBound The primal bound is initialized with $-\infty$ for maximization problems and $\infty$ for minimization problems, respectively.
OptimalPrimalBound The primal bound is initialized with the value of the optimum solution.
OptimalOnePrimalBound The primal bound is initialized with the value of optimum solution minus 1 for maximization problems and with the value of the optimum solution plus one for minimization problems, respectively.
Enumerator:
NoPrimalBound 
Optimum 
OptimumOne 

Definition at line 202 of file master.h.

enum ABA_MASTER::SKIPPINGMODE

The way nodes are skipped for the generation of cuts.

Parameters:
SkipByNode Cuts are only generated in every { SkipFactor} subproblem, where { SkipFactor} can be controlled with the parameter file { .abacus}.
SkipByLevel Cuts are only generated in every { SkipFactor} level of the enumeration tree.
Enumerator:
SkipByNode 
SkipByLevel 

Definition at line 218 of file master.h.

enum ABA_MASTER::CONELIMMODE

This enumeration defines the ways for automatic constraint elimination during the cutting plane phase.

Parameters:
NoConElim No constraints are eliminated.
NonBinding Nonbinding constraints are eliminated.
Basic Constraints with basic slack variable are eliminated.
Enumerator:
NoConElim 
NonBinding 
Basic 

Definition at line 233 of file master.h.

enum ABA_MASTER::VARELIMMODE

This enumeration defines the ways for automatic variable elimination during the column generation algorithm.

Parameters:
NoVarElim No variables are eliminated.
ReducedCost Variables with high absolute reduced costs are eliminated.
Enumerator:
NoVarElim 
ReducedCost 

Definition at line 249 of file master.h.

enum ABA_MASTER::VBCMODE

This enumeration defines what kind of output can be generated for the VBCTOOL.

Parameters:
None No output for the tree interface.
File Output for the tree interface is written to a file.
Pipe Output for the tree interface is pipe to the standard output.
Enumerator:
NoVbc 
File 
Pipe 

Definition at line 266 of file master.h.

enum ABA_MASTER::OSISOLVER

This enumeration defines which solvers can be used to solve theLP-relaxations.

Enumerator:
Cbc 
Clp 
CPLEX 
DyLP 
FortMP 
GLPK 
MOSEK 
OSL 
SoPlex 
SYMPHONY 
Vol 
XPRESS_MP 

Definition at line 280 of file master.h.


Constructor & Destructor Documentation

ABA_MASTER::ABA_MASTER ( const char *  problemName,
bool  cutting,
bool  pricing,
ABA_OPTSENSE::SENSE  optSense = ABA_OPTSENSE::Unknown,
double  eps = 1.0e-4,
double  machineEps = 1.0e-7,
double  infinity = 1.0e30,
bool  readParamFromFile = true 
)

The constructor.

Parameters:
problemName The name of the problem being solved. Must not be a 0-pointer.
cutting If true, then cutting planes can be generated if the function ABA_SUB::separate() is redefined.
pricing If true, then inactive variables are priced in, if the function ABA_SUB::pricing() is redefined.
optSense The sense of the optimization. The default value is ABA_OPTSENSE::Unknown. If the sense is unknown when this constructor is called, e.g., if it is read from a file in the constructor of the derived class, then it must be initialized in the constructor of the derived class.
eps The zero-tolerance used within all member functions of objects which have a pointer to this master (default value 1.0e-4).
machineEps The machine dependent zero tolerance (default value 1.0e-7).
infinity All values greater than infinity are regarded as ``infinite big'', all values less than -infinity are regarded as ``infinite small'' (default value 1.0e30).
readParamFromFile If true, then the parameter file .abacus is read, otherwise the parameters are initialized with default values (default true).
The members primalBound_ and dualBound_ stay uninitialized since this can only be done when the sense of optimization (minimization or maximization) is known. The initialization is performed automatically in the function optimize().

virtual ABA_MASTER::~ABA_MASTER (  )  [virtual]

The destructor.

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


Member Function Documentation

STATUS ABA_MASTER::optimize (  ) 

Performs the optimization by .

The status of the optimization.

double ABA_MASTER::lowerBound (  )  const [inline]

Returns:
The value of the global lower bound.

Definition at line 1885 of file master.h.

double ABA_MASTER::upperBound (  )  const [inline]

Returns:
The value of the global upper bound.

Definition at line 1891 of file master.h.

double ABA_MASTER::primalBound (  )  const [inline]

Returns:
The value of the primal bound, i.e., the lowerBound() for a maximization problem and the upperBound() for a minimization problem, respectively.

Definition at line 1897 of file master.h.

void ABA_MASTER::primalBound ( double  x  ) 

This version of the function primalBound() sets the primal bound to x and makes a new entry in the solution history. It is an error if the primal bound gets worse.

Parameters:
x The new value of the primal bound.

double ABA_MASTER::dualBound (  )  const [inline]

Returns:
The value of the dual bound, i.e., the upperBound() for a maximization problem and the lowerBound() for a minimization problem, respectively.

Definition at line 1902 of file master.h.

void ABA_MASTER::dualBound ( double  x  ) 

This version of the function dualBound() sets the dual bound to x and makes a new entry in the solution history.

It is an error if the dual bound gets worse.

Parameters:
x The new value of the dual bound.

bool ABA_MASTER::betterDual ( double  x  )  const

Returns:
true If x is better than the best known dual bound.

false otherwise.

Parameters:
x The value being compared with the best know dual bound.

bool ABA_MASTER::primalViolated ( double  x  )  const

Can be used to compare a value with the one of the best known primal bound.

If the objective function values of all feasible solutions are integer, then we do not have to be so carefully.

Returns:
true If x is not better than the best known primal bound,

false otherwise.

Parameters:
x The value being compared with the primal bound.

bool ABA_MASTER::betterPrimal ( double  x  )  const

Can be used to check if a value is better than the best know primal bound.

Returns:
true If x is better than the best known primal bound,

false otherwise.

Parameters:
x The value compared with the primal bound.

bool ABA_MASTER::feasibleFound (  )  const

We use this function ,e.g., to adapt the enumeration strategy in the DiveAndBest-Strategy.

This function is only correct if any primal bound better than plus/minus infinity corresponds to a feasible solution.

Returns:
true If a feasible solution of the optimization problem has been found.

false otherwise.

ABA_MASTER::ENUMSTRAT ABA_MASTER::enumerationStrategy (  )  const [inline]

Returns:
The enumeration strategy.

Definition at line 2251 of file master.h.

void ABA_MASTER::enumerationStrategy ( ENUMSTRAT  strat  )  [inline]

This version of the function enumerationStrategy() changes the enumeration strategy.

Parameters:
strat The new enumeration strategy.

Definition at line 2256 of file master.h.

virtual int ABA_MASTER::enumerationStrategy ( const ABA_SUB s1,
const ABA_SUB s2 
) [virtual]

Analyzes the enumeration strategy set in the parameter file { .abacus} and calls the corresponding comparison function for the subproblems s1 and s2. This function should be redefined for application specific enumeration strategies.

Returns:
1 If s1 has higher priority than s2

0 if s2 has higher priority it returns $-1$, and if both subproblems have equal priority

Parameters:
s1 A pointer to subproblem.
s2 A pointer to subproblem.

bool ABA_MASTER::guaranteed (  ) 

Can be used to check if the guarantee requirements are fulfilled, i.e., the difference between upper bound and the lower bound in respect to the lowerBound is less than this guarantee value in percent.

If the lower bound is zero, but the upper bound is nonzero, we cannot give any guarantee.

Warning:
A guarantee for a solution can only be given if the pricing problem is solved exactly or no column generation is performed at all.
Returns:
true If the guarantee requirements are fulfilled,

false otherwise.

double ABA_MASTER::guarantee (  ) 

Can be used to access the guarantee which can be given for the best known feasible solution.

It is an error to call this function if the lower bound is zero, but the upper bound is nonzero.

Returns:
The guarantee for best known feasible solution in percent.

void ABA_MASTER::printGuarantee (  ) 

Writes the guarantee nicely formated on the output stream associated with this object.

If no bounds are available, or the lower bound is zero, but the upper bound is nonzero, then we cannot give any guarantee.

bool ABA_MASTER::check (  ) 

Can be used to control the correctness of the optimization if the value of the optimum solution has been loaded.

This is done, if a file storing the optimum value is specified with the parameter { OptimumFileName} in the configuration file { .abacus}.

Returns:
true If the optimum solution of the problem is known and equals the primal bound,

false otherwise.

bool ABA_MASTER::knownOptimum ( double &  optVal  ) 

Opens the file specified with the parameter { OptimumFileName} in the configuration file { .abacus} and tries to find a line with the name of the problem instance (as specified in the constructor of ABA_MASTER) as first string.

Returns:
true If a line with problemName_ has been found,

false otherwise.

Parameters:
optVal If the return value is true, then optVal holds the optimum value found in the line with the name of the problem instance as first string. Otherwise, optVal is undefined.

virtual void ABA_MASTER::output (  )  [virtual]

Does nothing but can be redefined in derived classes for output before the timing statistics.

bool ABA_MASTER::cutting (  )  const [inline]

Returns:
true If cutting has been set to true in the call of the constructor of the class ABA_MASTER, i.e., if cutting planes should be generated in the subproblem optimization.

false otherwise.

Definition at line 1952 of file master.h.

bool ABA_MASTER::pricing (  )  const [inline]

Returns:
true If pricing has been set to true in the call of the constructor of the class ABA_MASTER, i.e., if a columns should be generated in the subproblem optimization.

false otherwise.

Definition at line 1957 of file master.h.

const ABA_OPTSENSE * ABA_MASTER::optSense (  )  const [inline]

Returns:
A pointer to the object holding the optimization sense of the problem.

Definition at line 1917 of file master.h.

ABA_HISTORY * ABA_MASTER::history (  )  const [inline]

Returns:
A pointer to the object storing the solution history of this branch and cut problem.

Definition at line 1922 of file master.h.

ABA_OPENSUB * ABA_MASTER::openSub (  )  const [inline]

Returns:
A pointer to the set of open subproblems.

Definition at line 1927 of file master.h.

ABA_STANDARDPOOL< ABA_CONSTRAINT, ABA_VARIABLE > * ABA_MASTER::conPool (  )  const [inline]

Returns:
A pointer to the default pool storing the constraints of the problem formulation.

Definition at line 1937 of file master.h.

ABA_STANDARDPOOL< ABA_CONSTRAINT, ABA_VARIABLE > * ABA_MASTER::cutPool (  )  const [inline]

Returns:
A pointer to the default pool for the generated cutting planes.

Definition at line 1942 of file master.h.

ABA_STANDARDPOOL< ABA_VARIABLE, ABA_CONSTRAINT > * ABA_MASTER::varPool (  )  const [inline]

Returns:
A pointer to the default pool storing the variables.

Definition at line 1947 of file master.h.

ABA_SUB * ABA_MASTER::root (  )  const [inline]

Can be used to access the root node of the \ tree.

Returns:
A pointer to the root node of the enumeration tree.

Definition at line 1907 of file master.h.

ABA_SUB * ABA_MASTER::rRoot (  )  const [inline]

Returns:
A pointer to the root of the remaining \ tree, i.e., the subproblem which is an ancestor of all open subproblems and has highest level in the tree.

Definition at line 1912 of file master.h.

ABA_MASTER::STATUS ABA_MASTER::status (  )  const [inline]

Returns:
The status of the ABA_MASTER.

Definition at line 2141 of file master.h.

const ABA_STRING* ABA_MASTER::problemName (  )  const

Returns:
A pointer to the name of the instance being optimized (as specified in the constructor of this class).

const ABA_COWTIMER * ABA_MASTER::totalCowTime (  )  const [inline]

Returns:
A pointer to the timer measuring the total wall clock time.

Definition at line 1966 of file master.h.

bool ABA_MASTER::solveApprox (  )  const [inline]

True, if an approximative solver should be used

Definition at line 1961 of file master.h.

const ABA_CPUTIMER * ABA_MASTER::totalTime (  )  const [inline]

Returns:
A pointer to the timer measuring the total cpu time for the optimization.

Definition at line 1971 of file master.h.

const ABA_CPUTIMER * ABA_MASTER::lpTime (  )  const [inline]

Returns:
A pointer to the timer measuring the cpu time spent in members of the LP-interface.

Definition at line 1976 of file master.h.

const ABA_CPUTIMER * ABA_MASTER::lpSolverTime (  )  const [inline]

Returns:
A pointer to the timer measuring the cpu time required by the LP solver.

Definition at line 1981 of file master.h.

const ABA_CPUTIMER * ABA_MASTER::separationTime (  )  const [inline]

Returns:
A pointer to the timer measuring the cpu time spent in the separation of cutting planes.

Definition at line 1986 of file master.h.

const ABA_CPUTIMER * ABA_MASTER::improveTime (  )  const [inline]

Returns:
A pointer to the timer measuring the cpu time spent in the heuristics for the computation of feasible solutions.

Definition at line 1991 of file master.h.

const ABA_CPUTIMER * ABA_MASTER::pricingTime (  )  const [inline]

Returns:
A pointer to the timer measuring the cpu time spent in pricing.

Definition at line 1996 of file master.h.

const ABA_CPUTIMER * ABA_MASTER::branchingTime (  )  const [inline]

Returns:
A pointer to the timer measuring the cpu time spent in finding and selecting the branching rules.

Definition at line 2001 of file master.h.

int ABA_MASTER::nSub (  )  const [inline]

Returns:
The number of generated subproblems.

Definition at line 2036 of file master.h.

int ABA_MASTER::nLp (  )  const [inline]

Returns:
The number of optimized linear programs (only LP-relaxations).

Definition at line 2041 of file master.h.

int ABA_MASTER::highestLevel (  )  const [inline]

Returns:
The highest level in the tree which has been reached during the implicit enumeration.

Definition at line 2046 of file master.h.

int ABA_MASTER::nNewRoot (  )  const [inline]

Returns:
The number of root changes of the remaining \ tree.

Definition at line 2051 of file master.h.

int ABA_MASTER::nSubSelected (  )  const [inline]

Returns:
The number of subproblems which have already been selected from the set of open subproblems.

Definition at line 2056 of file master.h.

void ABA_MASTER::printParameters (  ) 

Writes all parameters of the class ABA_MASTER together with their values to the global output stream.

ABA_MASTER::BRANCHINGSTRAT ABA_MASTER::branchingStrategy (  )  const [inline]

Returns:
The branching strategy.

Definition at line 2261 of file master.h.

void ABA_MASTER::branchingStrategy ( BRANCHINGSTRAT  strat  )  [inline]

Changes the branching strategy.

Parameters:
strat The new branching strategy.

Definition at line 2266 of file master.h.

ABA_MASTER::OSISOLVER ABA_MASTER::defaultLpSolver (  )  const [inline]

Returns:
The Lp Solver.

Definition at line 2271 of file master.h.

void ABA_MASTER::defaultLpSolver ( OSISOLVER  osiSolver  )  [inline]

Changes the default Lp solver.

Parameters:
osiSolver The new solver.

Definition at line 2276 of file master.h.

ABA_LPMASTEROSI* ABA_MASTER::lpMasterOsi (  )  const [inline]

Definition at line 739 of file master.h.

int ABA_MASTER::nBranchingVariableCandidates (  )  const [inline]

Returns:
The number of variables that should be tested for the selection of the branching variable.

Definition at line 2281 of file master.h.

void ABA_MASTER::nBranchingVariableCandidates ( int  n  ) 

This version of the function nbranchingVariableCandidates() sets the number of tested branching variable candidates.

Parameters:
n The new value of the number of tested variables for becoming branching variable.

double ABA_MASTER::requiredGuarantee (  )  const [inline]

The guarantee specification for the optimization.

Definition at line 2286 of file master.h.

void ABA_MASTER::requiredGuarantee ( double  g  ) 

This version of the function requiredGuarantee() changes the guarantee specification.

Parameters:
g The new guarantee specification (in percent). This must be a nonnative value. Note, if the guarantee specification is changed after a single node of the enumeration tree has been fathomed, then the overall guarantee might differ from the new value.

int ABA_MASTER::maxLevel (  )  const [inline]

Returns:
The maximal depth up to which the enumeration should be performed. By default the maximal enumeration depth is INT .

Definition at line 2291 of file master.h.

void ABA_MASTER::maxLevel ( int  ml  ) 

This version of the function maxLevel() changes the maximal enumeration depth.

If it is set to 1 the \ algorithm becomes a pure cutting plane algorithm.

Parameters:
max The new value of the maximal enumeration level.

const ABA_STRING & ABA_MASTER::maxCpuTime (  )  const [inline]

Returns:
The maximal cpu time which can be used by the optimization.

Definition at line 2296 of file master.h.

void ABA_MASTER::maxCpuTime ( const ABA_STRING t  )  [inline]

Sets the maximal usable cpu time for the optimization.

Parameters:
t The new value of the maximal cpu time in the form { "hh:mm:ss"}.

Definition at line 2301 of file master.h.

const ABA_STRING & ABA_MASTER::maxCowTime (  )  const [inline]

The function maxCowTime().

Returns:
The maximal wall-clock time for the optimization.

Definition at line 2306 of file master.h.

void ABA_MASTER::maxCowTime ( const ABA_STRING t  )  [inline]

This version of the function maxCowTime() set the maximal wall-clock time for the optimization.

Parameters:
t The new value of the maximal wall-clock time in the form { hh:mm:ss}.

Definition at line 2311 of file master.h.

bool ABA_MASTER::objInteger (  )  const [inline]

Returns:
true Then we assume that all feasible solutions have integral objective function values,

false otherwise.

Definition at line 2316 of file master.h.

void ABA_MASTER::objInteger ( bool  b  )  [inline]

This version of function objInteger() sets the assumption that the objective function values of all feasible solutions are integer.

Parameters:
b The new value of the assumption.

Definition at line 2321 of file master.h.

int ABA_MASTER::tailOffNLp (  )  const [inline]

The function tailOffNLp().

Returns:
The number of linear programs considered in the tailing off analysis.

Definition at line 2326 of file master.h.

void ABA_MASTER::tailOffNLp ( int  n  )  [inline]

Sets the number of linear programs considered in the tailing off analysis.

This new value is only relevant for subproblems activated { after} the change of this value.

Parameters:
n The new number of LPs for the tailing off analysis.

Definition at line 2331 of file master.h.

double ABA_MASTER::tailOffPercent (  )  const [inline]

The function tailOffPercent().

Returns:
The minimal change of the dual bound for the tailing off analysis in percent.

Definition at line 2336 of file master.h.

void ABA_MASTER::tailOffPercent ( double  p  ) 

This version of the function tailOffPercent() sets the minimal change of the dual bound for the tailing off analysis.

This change is only relevant for subproblems activated { after} calling this function.

Parameters:
p The new value for the tailing off analysis.

ABA_MASTER::OUTLEVEL ABA_MASTER::outLevel (  )  const [inline]

Returns:
The output mode.

Definition at line 2341 of file master.h.

void ABA_MASTER::outLevel ( OUTLEVEL  mode  )  [inline]

The version of the function outLevel() sets the output mode.

Parameters:
mode The new value of the output mode.

Definition at line 2346 of file master.h.

ABA_MASTER::OUTLEVEL ABA_MASTER::logLevel (  )  const [inline]

Returns:
The output mode for the log-file.

Definition at line 2351 of file master.h.

void ABA_MASTER::logLevel ( OUTLEVEL  mode  )  [inline]

This version of the function logLevel() sets the output mode for the log-file.

Parameters:
mode The new value of the output mode.

Definition at line 2356 of file master.h.

bool ABA_MASTER::delayedBranching ( int  nOpt_  )  const

Returns:
true If the number of optimizations nOpt of a subproblem exceeds the delayed branching threshold,

false otherwise.

Parameters:
nOpt The number of optimizations of a subproblem.

void ABA_MASTER::dbThreshold ( int  threshold  )  [inline]

Sets the number of optimizations of a subproblem until sons are created in ABA_SUB::branching().

If this value is 0, then a branching step is performed at the end of the subproblem optimization as usually if the subproblem can be fathomed. Otherwise, if this value is strictly positive, the subproblem is put back for a later optimization. This can be advantageous if in the meantime good cutting planes or primal bounds can be generated. The number of times the subproblem is put back without branching is indicated by this value.

Parameters:
threshold The new value of the delayed branching threshold.

Definition at line 2361 of file master.h.

int ABA_MASTER::dbThreshold (  )  const [inline]

Returns:
The number of optimizations of a subproblem until sons are created. For further detatails we refer to dbThreshold(int).

Definition at line 2366 of file master.h.

int ABA_MASTER::minDormantRounds (  )  const [inline]

Returns:
The maximal number of rounds, i.e., number of subproblem optimizations, a subproblem is dormant, i.e., it is not selected from the set of open subproblem if its status is Dormant, if possible.

Definition at line 2371 of file master.h.

void ABA_MASTER::minDormantRounds ( int  nRounds  )  [inline]

Sets the number of rounds a subproblem should stay dormant.

Parameters:
nRounds The new minimal number of dormant rounds.

Definition at line 2376 of file master.h.

ABA_MASTER::PRIMALBOUNDMODE ABA_MASTER::pbMode (  )  const [inline]

Returns:
The mode of the primal bound initialization.

Definition at line 2381 of file master.h.

void ABA_MASTER::pbMode ( PRIMALBOUNDMODE  mode  )  [inline]

Sets the mode of the primal bound initialization.

Parameters:
mode The new mode of the primal bound initialization.

Definition at line 2386 of file master.h.

int ABA_MASTER::pricingFreq (  )  const [inline]

Returns:
The number of linear programs being solved between two additional pricing steps. If no additional pricing steps should be executed this parameter has to be set to 0. The default value of the pricing frequency is 0. This parameter does not influence the execution of pricing steps which are required for the correctness of the algorithm.

Definition at line 2391 of file master.h.

void ABA_MASTER::pricingFreq ( int  f  ) 

This version of the function pricingFreq() sets the number of linear programs being solved between two additional pricing steps.

Parameters:
f The pricing frequency.

int ABA_MASTER::skipFactor (  )  const [inline]

Returns:
The frequency of subproblems in which constraints or variables should be generated.

Definition at line 2396 of file master.h.

void ABA_MASTER::skipFactor ( int  f  ) 

This version of the function skipFactor() sets the frequency for constraint and variable generation.

Parameters:
f The new value of the frequency.

void ABA_MASTER::skippingMode ( SKIPPINGMODE  mode  )  [inline]

This version of the function skippingMode() sets the skipping strategy.

Parameters:
mode The new skipping strategy.

Definition at line 2406 of file master.h.

ABA_MASTER::SKIPPINGMODE ABA_MASTER::skippingMode (  )  const [inline]

Returns:
The skipping strategy.

Definition at line 2401 of file master.h.

ABA_MASTER::CONELIMMODE ABA_MASTER::conElimMode (  )  const [inline]

Returns:
The mode for the elimination of constraints.

Definition at line 2191 of file master.h.

void ABA_MASTER::conElimMode ( CONELIMMODE  mode  )  [inline]

Changes the constraint elimination mode.

Parameters:
mode The new constraint elimination mode.

Definition at line 2196 of file master.h.

ABA_MASTER::VARELIMMODE ABA_MASTER::varElimMode (  )  const [inline]

Returns:
The mode for the elimination of variables.

Definition at line 2201 of file master.h.

void ABA_MASTER::varElimMode ( VARELIMMODE  mode  )  [inline]

Changes the variable elimination mode.

Parameters:
mode The new variable elimination mode.

Definition at line 2206 of file master.h.

double ABA_MASTER::conElimEps (  )  const [inline]

Returns:
The zero tolerance for the elimination of constraints by the slack criterion.

Definition at line 2211 of file master.h.

void ABA_MASTER::conElimEps ( double  eps  )  [inline]

Changes the tolerance for the elimination of constraints by the slack criterion.

Parameters:
eps The new tolerance.

Definition at line 2216 of file master.h.

double ABA_MASTER::varElimEps (  )  const [inline]

Returns:
The zero tolerance for the elimination of variables by the reduced cost criterion.

Definition at line 2221 of file master.h.

void ABA_MASTER::varElimEps ( double  eps  )  [inline]

Changes the tolerance for the elimination of variables by the reduced cost criterion.

Parameters:
eps The new tolerance.

Definition at line 2226 of file master.h.

int ABA_MASTER::varElimAge (  )  const [inline]

Returns:
The age for the elimination of variables by the reduced cost criterion.

Definition at line 2231 of file master.h.

void ABA_MASTER::varElimAge ( int  eps  )  [inline]

Changes the age for the elimination of variables by the reduced cost criterion.

Parameters:
eps The new age.

Definition at line 2236 of file master.h.

int ABA_MASTER::conElimAge (  )  const [inline]

Returns:
The age for the elimination of constraints.

Definition at line 2241 of file master.h.

void ABA_MASTER::conElimAge ( int  eps  )  [inline]

Changes the age for the elimination of constraints.

Parameters:
eps The new age.

Definition at line 2246 of file master.h.

bool ABA_MASTER::fixSetByRedCost (  )  const [inline]

Returns:
true Then variables are fixed and set by reduced cost criteria.

false Then no variables are fixed or set by reduced cost criteria.

Definition at line 2061 of file master.h.

void ABA_MASTER::fixSetByRedCost ( bool  on  )  [inline]

Turns fixing and setting variables by reduced cost on or off.

Parameters:
on If true, then variable fixing and setting by reduced cost is turned on. Otherwise it is turned of.

Definition at line 2066 of file master.h.

bool ABA_MASTER::printLP (  )  const [inline]

Returns:
true Then the linear program is output every iteration of the subproblem optimization.

false The linear program is not output.

Definition at line 2071 of file master.h.

void ABA_MASTER::printLP ( bool  on  )  [inline]

Turns the output of the linear program in every iteration on or off.

Parameters:
on If true, then the linear program is output, otherwise it is not output.

Definition at line 2076 of file master.h.

int ABA_MASTER::maxConAdd (  )  const [inline]

Returns:
The maximal number of constraints which should be added in every iteration of the cutting plane algorithm.

Definition at line 2081 of file master.h.

void ABA_MASTER::maxConAdd ( int  max  )  [inline]

Sets the maximal number of constraints that are added in an iteration of the cutting plane algorithm.

Parameters:
max The maximal number of constraints.

Definition at line 2086 of file master.h.

int ABA_MASTER::maxConBuffered (  )  const [inline]

Returns:
The size of the buffer for generated constraints in the cutting plane algorithm.

Definition at line 2091 of file master.h.

void ABA_MASTER::maxConBuffered ( int  max  )  [inline]

Changes the maximal number of constraints that are buffered in an iteration of the cutting plane algorithm.

Note:
This function changes only the default value for subproblems that are activated after its call.
Parameters:
max The new maximal number of buffered constraints.

Definition at line 2096 of file master.h.

int ABA_MASTER::maxVarAdd (  )  const [inline]

Returns:
The maximal number of variables which should be added in the column generation algorithm.

Definition at line 2101 of file master.h.

void ABA_MASTER::maxVarAdd ( int  max  )  [inline]

Changes the maximal number of variables that are added in an iteration of the subproblem optimization.

Parameters:
max The new maximal number of added variables.

Definition at line 2106 of file master.h.

int ABA_MASTER::maxVarBuffered (  )  const [inline]

Returns:
The size of the buffer for the variables generated in the column generation algorithm.

Definition at line 2111 of file master.h.

void ABA_MASTER::maxVarBuffered ( int  max  )  [inline]

Changes the maximal number of variables that are buffered in an iteration of the subproblem optimization.

Note:
This function changes only the default value for subproblems that are activated after its call.
Parameters:
max The new maximal number of buffered variables.

Definition at line 2116 of file master.h.

int ABA_MASTER::maxIterations (  )  const [inline]

Returns:
The maximal number of iterations per subproblem optimization (-1 means no iteration limit).

Definition at line 2121 of file master.h.

void ABA_MASTER::maxIterations ( int  max  )  [inline]

Changes the default value for the maximal number of iterations of the optimization of a subproblem.

Note:
This function changes only this value for subproblems that are constructed after this function call. For already constructed objects the value can be changed with the function ABA_SUB::maxIterations().
Parameters:
max The new maximal number of iterations of the subproblem optimization (-1 means no limit).

Definition at line 2126 of file master.h.

bool ABA_MASTER::eliminateFixedSet (  )  const [inline]

Returns:
true Then we try to eliminate fixed and set variables from the linear program.

false Fixed or set variables are not eliminated.

Definition at line 2151 of file master.h.

void ABA_MASTER::eliminateFixedSet ( bool  turnOn  )  [inline]

This version of the function eliminateFixedSet() can be used to turn the elimination of fixed and set variables on or off.

Parameters:
turnOn The elimination is turned on if turnOn is true, otherwise it is turned off.

Definition at line 2156 of file master.h.

bool ABA_MASTER::newRootReOptimize (  )  const [inline]

Returns:
true Then a new root of the remaining \ tree is reoptimized such that the associated reduced costs can be used for the fixing of variables.

false A new root is not reoptimized.

Definition at line 2161 of file master.h.

void ABA_MASTER::newRootReOptimize ( bool  on  )  [inline]

Turns the reoptimization of new root nodes of the remaining branch and bound tree on or off.

Parameters:
on If true, new root nodes are reoptimized.

Definition at line 2166 of file master.h.

const ABA_STRING & ABA_MASTER::optimumFileName (  )  const [inline]

Returns:
The name of the file that stores the optimum solutions.

Definition at line 2131 of file master.h.

void ABA_MASTER::optimumFileName ( const char *  name  )  [inline]

Changes the name of the file in which the value of the optimum solution is searched.

Parameters:
name The new name of the file.

Definition at line 2136 of file master.h.

bool ABA_MASTER::showAverageCutDistance (  )  const [inline]

Returns:
true Then the average distance of the fractional solution from all added cutting planes is output every iteration of the subproblem optimization.

false The average cut distance is not output.

Definition at line 2171 of file master.h.

void ABA_MASTER::showAverageCutDistance ( bool  on  )  [inline]

Turns the output of the average distance of the added cuts from the fractional solution on or off.

Parameters:
on If true the output is turned on, otherwise it is turned off.

Definition at line 2176 of file master.h.

ABA_MASTER::VBCMODE ABA_MASTER::vbcLog (  )  const [inline]

Returns:
The mode of output for the Vbc-Tool.

Definition at line 2181 of file master.h.

void ABA_MASTER::vbcLog ( VBCMODE  mode  )  [inline]

Changes the mode of output for the Vbc-Tool.

This function should only be called before the optimization is started with the function ABA_MASTER::optimize().

Parameters:
mode The new mode.

Definition at line 2186 of file master.h.

virtual bool ABA_MASTER::setSolverParameters ( OsiSolverInterface *  interface,
bool  solverIsApprox 
) [virtual]

Set solver specific parameters. The default does nothing.

Returns:
true if an error has occured otherwise

virtual void ABA_MASTER::initializePools ( ABA_BUFFER< ABA_CONSTRAINT * > &  constraints,
ABA_BUFFER< ABA_VARIABLE * > &  Variables,
int  varPoolSize,
int  cutPoolSize,
bool  dynamicCutPool = false 
) [protected, virtual]

Sets up the default pools for variables, constraints, and cutting planes.

Parameters:
constraints The constraints of the problem formulation are inserted in the constraint pool. The size of the constraint pool equals the number of constraints.
variables The variables of the problem formulation are inserted in the variable pool.
varPoolSize The size of the pool for the variables. If more variables are added the variable pool is automatically reallocated.
cutPoolSize The size of the pool for cutting planes.
dynamicCutPool If this argument is true, then the cut is automatically reallocated if more constraints are inserted than cutPoolSize. Otherwise, non-active constraints are removed if the pool becomes full. The default value is false.

virtual void ABA_MASTER::initializePools ( ABA_BUFFER< ABA_CONSTRAINT * > &  constraints,
ABA_BUFFER< ABA_CONSTRAINT * > &  cuts,
ABA_BUFFER< ABA_VARIABLE * > &  Variables,
int  varPoolSize,
int  cutPoolSize,
bool  dynamicCutPool = false 
) [protected, virtual]

Is overloaded such that also a first set of cutting planes can be inserted into the cutting plane pool.

Parameters:
constraints The constraints of the problem formulation are inserted in the constraint pool. The size of the constraint pool equals the number of constraints.
cuts The constraints that are inserted in the cutting plane pool. The number of constraints in the buffer must be less or equal than the size of the cutting plane pool cutPoolSize.
variables The variables of the problem formulation are inserted in the variable pool.
varPoolSize The size of the pool for the variables. If more variables are added the variable pool is automatically reallocated.
cutPoolSize The size of the pool for cutting planes.
dynamicCutPool If this argument is true, then the cut is automatically reallocated if more constraints are inserted than cutPoolSize. Otherwise, non-active constraints are removed if the pool becomes full. The default value is false.

void ABA_MASTER::initializeOptSense ( ABA_OPTSENSE::SENSE  sense  )  [protected]

Can be used to initialize the sense of the optimization in derived classes, if this has not been already performed when the constructor of ABA_MASTER has been called.

Parameters:
sense The sense of the optimization (ABA_OPTSENSE::Min or ABA_OPTSENSE::Max).

int ABA_MASTER::bestFirstSearch ( const ABA_SUB s1,
const ABA_SUB s2 
) const [protected]

Implements the best first search enumeration.

If the bounds of both subproblems are equal, then the subproblems are compared with the function equalSubCompare().

Returns:
-1 If subproblem s1 has a worse dual bound than s2, i.e., if it has a smaller dual bound for minimization or a larger dual bound for maximization problems.

1 If subproblem s2 has a worse dual bound than s1.

0 If both subproblems have the same priority in the enumeration strategy.

Parameters:
s1 A subproblem.
s2 A subproblem.

virtual int ABA_MASTER::equalSubCompare ( const ABA_SUB s1,
const ABA_SUB s2 
) const [protected, virtual]

Is called from the function bestFirstSearch() and from the function depthFirstSearch() if the subproblems s1 and s2 have the same priority.

If both subproblems were generated by setting a binary variable, then that subproblem has higher priority of which the branching variable is set to upper bound.

This function can be redefined to resolve equal subproblems according to problem specific criteria. As the root node is compared with itself and has no branching rule, we have to insert the first line of this function.

Parameters:
s1 A subproblem.
s2 A subproblem.
Returns:
0 If both subproblems were not generated by setting a variable, or the branching variable of both subproblems is set to the same bound.

1 If the branching variable of the first subproblem ist set to the upper bound.

-1 If the branching variable of the second subproblem ist set to the upper bound.

int ABA_MASTER::depthFirstSearch ( const ABA_SUB s1,
const ABA_SUB s2 
) const [protected]

Implements the depth first search enumeration strategy, i.e., the subproblem with maximum level is selected.

If the level of both subproblems are equal, then the subproblems are compared with the function equalSubCompare().

Returns:
-1 If subproblem s1 has higher priority,

0 if both subproblems have equal priority,

1 otherwise.

Parameters:
s1 The first subproblem.
s2 The second subproblem.

int ABA_MASTER::breadthFirstSearch ( const ABA_SUB s1,
const ABA_SUB s2 
) const [protected]

Implements the breadth first search enumeration strategy, i.e., the subproblem with minimum level is selected.

If both subproblems have the same level, the smaller one is the one which has been generated earlier, i.e., the one with the smaller id.

Returns:
-1 If subproblem s1 has higher priority,

0 if both subproblems have equal priority,

1 otherwise.

Parameters:
s1 The first subproblem.
s2 The second subproblem.

int ABA_MASTER::diveAndBestFirstSearch ( const ABA_SUB s1,
const ABA_SUB s2 
) const [protected]

Performs depth-first search until a feasible solution is found, then the search process is continued with best-first search.

Returns:
-1 If subproblem s1 has higher priority,

0 if both subproblems have equal priority,

1 otherwise.

Parameters:
s1 The first subproblem.
s2 The second subproblem.

virtual void ABA_MASTER::initializeParameters (  )  [protected, virtual]

Is only a dummy. This function can be used to initialize parameters of derived classes and to overwrite parameters read from the file { .abacus} by the function ().

virtual ABA_SUB* ABA_MASTER::firstSub (  )  [protected, pure virtual]

Returns:
Should return a pointer to the first subproblem of the optimization, i.e., the root node of the enumeration tree. This is a pure virtual function since a pointer to a problem specific subproblem should be returned, which is derived from the class ABA_SUB.

virtual void ABA_MASTER::initializeOptimization (  )  [protected, virtual]

The default implementation of initializeOptimization() does nothing.

This virtual function can be used as an entrance point to perform some initializations after optimize() is called.

virtual void ABA_MASTER::terminateOptimization (  )  [protected, virtual]

The default implementation of terminateOptimization() does nothing.

This virtual function can be used as an entrance point after the optimization process is finished.

void ABA_MASTER::_initializeParameters (  )  [private]

Reads the parameter-file { .abacus}, which is searched in the directory given by the environment variable ABACUS_DIR, and calls the virtual function initializeParameters() which can initialize parameters of derived classes and overwrite parameters of this class.

All parameters are first inserted together with their values in a parameter table in the function readParameters(). If the virtual dummy function initializeParameters() is redefined in a derived class and also reads a parameter file with the function readParameters(), then already inserted parameters can be overwritten.

After all parameters are input we extract with the function assignParameter() all parameters. Problem specific parameters should be extracted in a redefined version of initializeParameters(). extracted from this table

void ABA_MASTER::_createLpMasters (  )  [private]

void ABA_MASTER::_deleteLpMasters (  )  [private]

void ABA_MASTER::_initializeLpParameters (  )  [private]

void ABA_MASTER::_setDefaultLpParameters (  )  [private]

Initializes the LP solver specific default Parameters if they are not read from the parameter-file { .abacus}.

This function is implemented in the file lpif.cc.

void ABA_MASTER::_printLpParameters (  )  [private]

Prints the LP solver specific parameters.

This function is implemented in the file lpif.cc.

void ABA_MASTER::_outputLpStatistics (  )  [private]

Prints the LP solver specific statistics.

This function is implemented in the file lpif.cc.

ABA_SUB* ABA_MASTER::select (  )  [private]

Returns a pointer to an open subproblem for further processing.

If the set of open subproblems is empty or one of the criteria for early termination of the optimization (maximal cpu time, maximal elapsed time, guarantee) is fulfilled 0 is returned.

int ABA_MASTER::initLP (  )  [private]

void ABA_MASTER::writeTreeInterface ( const char *  info,
bool  time = true 
) const [private]

Writes the string info to the stream associated with the Tree Interface.

A $ is preceded if the output is written to standard out for further pipelining. If time is true a time string is written in front of the information. The default value of time is true.

void ABA_MASTER::treeInterfaceNewNode ( ABA_SUB sub  )  const [private]

Adds the subproblem sub to the stream storing information for graphical output of the enumeration tree if this logging is turned on.

void ABA_MASTER::treeInterfacePaintNode ( int  id,
int  color 
) const [private]

Assigns the color to the subproblem sub in the Tree Interface.

void ABA_MASTER::treeInterfaceLowerBound ( double  lb  )  const [private]

Passes the new lower bound lb to the Tree Interface.

void ABA_MASTER::treeInterfaceUpperBound ( double  ub  )  const [private]

Passes the new upper bound ub to the Tree Interface.

void ABA_MASTER::treeInterfaceNodeBounds ( int  id,
double  lb,
double  ub 
) [private]

Updates the node information in the node with number id by writing the lower bound lb and the upper bound ub to the node.

void ABA_MASTER::newSub ( int  level  )  [private]

Registers a new subproblem which is on level level in enumeration tree.

It is called each time a new subproblem is generated.

void ABA_MASTER::countLp (  )  [inline, private]

Increments the counter for linear programs and should be called in each optimization call of the LP-relaxation.

Definition at line 2006 of file master.h.

void ABA_MASTER::newFixed ( int  n  )  [inline, private]

Increments the counter of the number of fixed variables by n.

Definition at line 2011 of file master.h.

void ABA_MASTER::addCons ( int  n  )  [inline, private]

Increments the counter for the total number of added constraints by n.

Definition at line 2016 of file master.h.

void ABA_MASTER::removeCons ( int  n  )  [inline, private]

Increments the counter for the total number of removed constraints by n.

Definition at line 2021 of file master.h.

void ABA_MASTER::addVars ( int  n  )  [inline, private]

Increments the counter for the total number of added variables by n.

Definition at line 2026 of file master.h.

void ABA_MASTER::removeVars ( int  n  )  [inline, private]

Increments the counter for the total number of removed variables by n.

Definition at line 2031 of file master.h.

ABA_FIXCAND * ABA_MASTER::fixCand (  )  const [inline, private]

returns a pointer to the object storing the variables which are candidates for being fixed.

Definition at line 1932 of file master.h.

void ABA_MASTER::rRoot ( ABA_SUB newRoot,
bool  reoptimize 
) [private]

Sets the root of the remaining \ tree to newRoot.

If reoptimize is true a reoptimization of the subproblem *newRoot is performed. This is controlled via a function argument since it might not be desirable when we find a new rRoot_ during the fathoming of a complete subtree ABA_SUB::FathomTheSubtree().

void ABA_MASTER::status ( STATUS  stat  )  [inline, private]

This version of the function status() sets the status of the ABA_MASTER.

Definition at line 2146 of file master.h.

void ABA_MASTER::rootDualBound ( double  x  )  [private]

Updates the final dual bound of the root node.

This function should be only called at the end of the root node optimization.

void ABA_MASTER::theFuture (  )  [private]

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


Friends And Related Function Documentation

friend class ABA_SUB [friend]

Definition at line 77 of file master.h.

friend class ABA_FIXCAND [friend]

Definition at line 78 of file master.h.


Member Data Documentation

const char* ABA_MASTER::STATUS_[] [static]

Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { STATUS[0]=="Optimal"}).

Definition at line 117 of file master.h.

const char* ABA_MASTER::OUTLEVEL_[] [static]

Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { OUTLEVEL[0]=="Silent"}).

Definition at line 138 of file master.h.

const char* ABA_MASTER::ENUMSTRAT_[] [static]

Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { ENUMSTRAT[0]=="BestFirst"}).

Definition at line 163 of file master.h.

const char* ABA_MASTER::BRANCHINGSTRAT_[] [static]

Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { BRANCHINGSTRAT[0]=="CloseHalf"}).

Definition at line 181 of file master.h.

const char* ABA_MASTER::PRIMALBOUNDMODE_[] [static]

Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { PRIMALBOUNDMODE[0]=="None"}).

Definition at line 208 of file master.h.

const char* ABA_MASTER::SKIPPINGMODE_[] [static]

Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { SKIPPINGMODE[0]=="None"}).

Definition at line 224 of file master.h.

const char* ABA_MASTER::CONELIMMODE_[] [static]

Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { CONELIMMODE[0]=="None"}).

Definition at line 240 of file master.h.

const char* ABA_MASTER::VARELIMMODE_[] [static]

Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { VARELIMMODE[0]=="None"}).

Definition at line 255 of file master.h.

const char* ABA_MASTER::VBCMODE_[] [static]

Literal values for the enumerators of the corresponding enumeration type. The order of the enumerators is preserved. (e.g., { VBCMODE[0]=="None"}).

Definition at line 272 of file master.h.

const char* ABA_MASTER::OSISOLVER_[] [static]

Array for the literal values for possible Osi solvers.

Definition at line 284 of file master.h.

ABA_STRING ABA_MASTER::problemName_ [private]

The name of the optimized problem.

Definition at line 1563 of file master.h.

bool ABA_MASTER::readParamFromFile_ [private]

Definition at line 1564 of file master.h.

ABA_OPTSENSE ABA_MASTER::optSense_ [private]

The sense of the objective function.

Definition at line 1568 of file master.h.

ABA_SUB* ABA_MASTER::root_ [private]

The root node of the enumeration tree.

Definition at line 1572 of file master.h.

ABA_SUB* ABA_MASTER::rRoot_ [private]

The root node of the remaining enumeration tree.

Definition at line 1576 of file master.h.

ABA_OPENSUB* ABA_MASTER::openSub_ [private]

The set of open subproblems.

Definition at line 1580 of file master.h.

ABA_HISTORY* ABA_MASTER::history_ [private]

The solution history.

Definition at line 1584 of file master.h.

ENUMSTRAT ABA_MASTER::enumerationStrategy_ [private]

The enumeration strategy.

Definition at line 1588 of file master.h.

BRANCHINGSTRAT ABA_MASTER::branchingStrategy_ [private]

The branching strategy.

Definition at line 1592 of file master.h.

int ABA_MASTER::nBranchingVariableCandidates_ [private]

The number of candidates that are evaluated for branching on variables.

Definition at line 1597 of file master.h.

OSISOLVER ABA_MASTER::defaultLpSolver_ [private]

The default LP-Solver.

Definition at line 1601 of file master.h.

ABA_LPMASTEROSI* ABA_MASTER::lpMasterOsi_ [private]

Definition at line 1603 of file master.h.

ABA_STANDARDPOOL<ABA_CONSTRAINT, ABA_VARIABLE>* ABA_MASTER::conPool_ [private]

The default pool with the constraints of the problem formulation.

Definition at line 1607 of file master.h.

ABA_STANDARDPOOL<ABA_CONSTRAINT, ABA_VARIABLE>* ABA_MASTER::cutPool_ [private]

The default pool of dynamically generated constraints.

Definition at line 1612 of file master.h.

ABA_STANDARDPOOL<ABA_VARIABLE, ABA_CONSTRAINT>* ABA_MASTER::varPool_ [private]

The default pool with the variables of the problem formulation.

Definition at line 1616 of file master.h.

double ABA_MASTER::primalBound_ [private]

The best known primal bound.

Definition at line 1620 of file master.h.

double ABA_MASTER::dualBound_ [private]

The best known dual bound.

Definition at line 1624 of file master.h.

double ABA_MASTER::rootDualBound_ [private]

The best known dual bound at the end of the optimization of the root node.

Definition at line 1628 of file master.h.

ABA_FIXCAND* ABA_MASTER::fixCand_ [private]

The variables which are candidates for being fixed.

Definition at line 1632 of file master.h.

bool ABA_MASTER::cutting_ [private]

If true, then constraints are generated in the optimization.

Definition at line 1636 of file master.h.

bool ABA_MASTER::pricing_ [private]

If true, then variables are generated in the optimization.

Definition at line 1640 of file master.h.

bool ABA_MASTER::solveApprox_ [private]

If true, then an approximative solver is used to solve linear programs

Definition at line 1645 of file master.h.

int ABA_MASTER::nSubSelected_ [private]

The number of subproblems already selected from the list of open subproblems.

Definition at line 1650 of file master.h.

VBCMODE ABA_MASTER::VbcLog_ [private]

Ouput for the Tree Interface is generated depending on the value of this variable.

Definition at line 1655 of file master.h.

ostream* ABA_MASTER::treeStream_ [private]

A pointer to the log stream for the VBC-Tool.

Definition at line 1659 of file master.h.

double ABA_MASTER::requiredGuarantee_ [private]

The guarantee in percent which should be reached when the optimization stops.

If this value is $0.0$, then the optimum solution is determined.

Definition at line 1666 of file master.h.

int ABA_MASTER::maxLevel_ [private]

The maximal level in enumeration tree.

Up to this level subproblems are considered in the enumeration.

Definition at line 1672 of file master.h.

ABA_STRING ABA_MASTER::maxCpuTime_ [private]

The maximal available cpu time.

Definition at line 1676 of file master.h.

ABA_STRING ABA_MASTER::maxCowTime_ [private]

The maximal available wall-clock time.

Definition at line 1680 of file master.h.

bool ABA_MASTER::objInteger_ [private]

true, if all objective function values of feasible solutions are assumed to be integer.

Definition at line 1685 of file master.h.

int ABA_MASTER::tailOffNLp_ [private]

The number of LP-iterations for the tailing off analysis.

Definition at line 1689 of file master.h.

double ABA_MASTER::tailOffPercent_ [private]

The minimal change of the LP-value on the tailing off analysis.

Definition at line 1693 of file master.h.

int ABA_MASTER::dbThreshold_ [private]

The number of optimizations of an ABA_SUB until branching is performed.

Definition at line 1697 of file master.h.

int ABA_MASTER::minDormantRounds_ [private]

The minimal number of rounds, i.e., number of subproblem optimizations, a subproblem is dormant, i.e., it is not selected from the set of open subproblem if its status is Dormant, if possible.

Definition at line 1703 of file master.h.

OUTLEVEL ABA_MASTER::outLevel_ [private]

The output mode.

Definition at line 1707 of file master.h.

OUTLEVEL ABA_MASTER::logLevel_ [private]

The amount of output written to the log file.

Definition at line 1711 of file master.h.

PRIMALBOUNDMODE ABA_MASTER::pbMode_ [private]

The mode of the primal bound initialization.

Definition at line 1715 of file master.h.

int ABA_MASTER::pricingFreq_ [private]

The number of solved LPs between two additional pricing steps.

Definition at line 1719 of file master.h.

int ABA_MASTER::skipFactor_ [private]

The frequency constraints or variables are generated depending on the skipping mode.

Definition at line 1724 of file master.h.

SKIPPINGMODE ABA_MASTER::skippingMode_ [private]

Either constraints are generated only every skipFactor_ subproblem (SkipByNode) only every skipFactor_ level (SkipByLevel).

Definition at line 1729 of file master.h.

bool ABA_MASTER::fixSetByRedCost_ [private]

If true, then variables are fixed and set by reduced cost criteria.

Definition at line 1733 of file master.h.

bool ABA_MASTER::printLP_ [private]

If true, then the linear program is output every iteration.

Definition at line 1737 of file master.h.

int ABA_MASTER::maxConAdd_ [private]

The maximal number of added constraints per iteration of the cutting plane algorithm.

Definition at line 1742 of file master.h.

int ABA_MASTER::maxConBuffered_ [private]

The size of the buffer for generated cutting planes.

Definition at line 1746 of file master.h.

int ABA_MASTER::maxVarAdd_ [private]

The maximal number of added variables per iteration of the column generation algorithm.

Definition at line 1751 of file master.h.

int ABA_MASTER::maxVarBuffered_ [private]

The size of the buffer for generated variables.

Definition at line 1755 of file master.h.

int ABA_MASTER::maxIterations_ [private]

The maximal number of iterations of the cutting plane/column generation algorithm in the subproblem.

Definition at line 1760 of file master.h.

bool ABA_MASTER::eliminateFixedSet_ [private]

If true, then nonbasic fixed and set variables are eliminated.

Definition at line 1764 of file master.h.

bool ABA_MASTER::newRootReOptimize_ [private]

If true, then an already earlier processed node is reoptimized if it becomes the new root of the remaining \ tree.

Definition at line 1769 of file master.h.

ABA_STRING ABA_MASTER::optimumFileName_ [private]

The name of a file storing a list of optimum solutions of problem instances.

Definition at line 1774 of file master.h.

bool ABA_MASTER::showAverageCutDistance_ [private]

If true then the average distance of the added cutting planes is output every iteration of the cutting plane algorithm.

Definition at line 1779 of file master.h.

CONELIMMODE ABA_MASTER::conElimMode_ [private]

The way constraints are automatically eliminated in the cutting plane algorithm.

Definition at line 1784 of file master.h.

VARELIMMODE ABA_MASTER::varElimMode_ [private]

The way variables are automatically eliminated in the column generation algorithm.

Definition at line 1789 of file master.h.

double ABA_MASTER::conElimEps_ [private]

The tolerance for the elimination of constraints by the mode NonBinding/.

Definition at line 1794 of file master.h.

double ABA_MASTER::varElimEps_ [private]

The tolerance for the elimination of variables by the mode ReducedCost.

Definition at line 1799 of file master.h.

int ABA_MASTER::conElimAge_ [private]

The number of iterations an elimination criterion must be satisfied until a constraint can be removed.

Definition at line 1804 of file master.h.

int ABA_MASTER::varElimAge_ [private]

The number of iterations an elimination criterion must be satisfied until a variable can be removed.

Definition at line 1809 of file master.h.

STATUS ABA_MASTER::status_ [private]

The current status of the optimization.

Definition at line 1813 of file master.h.

ABA_COWTIMER ABA_MASTER::totalCowTime_ [private]

The timer for the total elapsed time.

Definition at line 1817 of file master.h.

ABA_CPUTIMER ABA_MASTER::totalTime_ [private]

The timer for the total cpu time for the optimization.

Definition at line 1821 of file master.h.

ABA_CPUTIMER ABA_MASTER::lpTime_ [private]

The timer for the cpu time spent in the LP-interface.

Definition at line 1825 of file master.h.

ABA_CPUTIMER ABA_MASTER::lpSolverTime_ [private]

Definition at line 1826 of file master.h.

ABA_CPUTIMER ABA_MASTER::separationTime_ [private]

The timer for the cpu time spent in the separation

Definition at line 1830 of file master.h.

ABA_CPUTIMER ABA_MASTER::improveTime_ [private]

The timer for the cpu time spent in the heuristics for the computation of feasible solutions.

Definition at line 1835 of file master.h.

ABA_CPUTIMER ABA_MASTER::pricingTime_ [private]

The timer for the cpu time spent in pricing.

Definition at line 1839 of file master.h.

ABA_CPUTIMER ABA_MASTER::branchingTime_ [private]

The timer for the cpu time spent in determining the branching rules.

Definition at line 1843 of file master.h.

int ABA_MASTER::nSub_ [private]

The number of generated subproblems.

Definition at line 1847 of file master.h.

int ABA_MASTER::nLp_ [private]

The number of solved LPs.

Definition at line 1851 of file master.h.

int ABA_MASTER::highestLevel_ [private]

The highest level which has been reached in the enumeration tree.

Definition at line 1855 of file master.h.

int ABA_MASTER::nFixed_ [private]

The total number of fixed variables.

Definition at line 1859 of file master.h.

int ABA_MASTER::nAddCons_ [private]

The total number of added constraints.

Definition at line 1863 of file master.h.

int ABA_MASTER::nRemCons_ [private]

The total number of removed constraints.

Definition at line 1867 of file master.h.

int ABA_MASTER::nAddVars_ [private]

The total number of added variables.

Definition at line 1871 of file master.h.

int ABA_MASTER::nRemVars_ [private]

The total number of removed variables.

Definition at line 1875 of file master.h.

int ABA_MASTER::nNewRoot_ [private]

The number of changes of the root of the remaining \ tree.

Definition at line 1879 of file master.h.


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