6.4 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.

#include <master.h>

Inheritance diagram for ABA_MASTER::


PIC


Public Types

Public Member Functions

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.

Static Public Attributes

Protected Member Functions

Private Member Functions

Private Attributes

Friends

6.4.1 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.

6.4.2 Member Enumeration Documentation

6.4.2.1 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.

6.4.2.2 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.

6.4.2.3 enum ABA_MASTER::ENUMSTRAT

Enumerator:

BestFirst
BreadthFirst
DepthFirst
DiveAndBest

Definition at line 158 of file master.h.

6.4.2.4 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.

6.4.2.5 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 -∞ for maximization problems and 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.

6.4.2.6 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