6.46 ABA_TAILOFF Class Reference

This class stores the history of the values of the last LP-solutions and implements all functions to control tailing-off effect.

#include <tailoff.h>

Inheritance diagram for ABA_TAILOFF::


PIC


Public Member Functions

Private Member Functions

Private Attributes

Friends

6.46.1 Detailed Description

This class stores the history of the values of the last LP-solutions and implements all functions to control tailing-off effect.

Definition at line 53 of file tailoff.h.

6.46.2 Constructor & Destructor Documentation

6.46.2.1 ABA_TAILOFF::ABA_TAILOFF (ABA_MASTER * master)

The constructor takes the length of the tailing off history from ABA_MASTER::tailOffNLp().

Parameters:

master
A pointer to the corresponding master of the optimization.

6.46.2.2 ABA_TAILOFF::ABA_TAILOFF (ABA_MASTER * master, int NLp)

An alternative constructor takes the length of the tailing off history from the parameter NLp.

Parameters:

master
A pointer to the corresponding master of the optimization.
NLp
The length of the tailing off history.

6.46.2.3 ABA_TAILOFF::~ABA_TAILOFF ()

The destructor.

6.46.3 Member Function Documentation

6.46.3.1 bool ABA_TAILOFF::tailOff () const

Checks if there is a tailing-off effect.

We assume a tailing-off effect if during the last ABA_MASTER::tailOffNLps() iterations of the cutting plane algorithms the dual bound changed at most ABA_MASTER::tailOffPercent() percent.

Returns:

true If a tailing off effect is observed,

false otherwise.

6.46.3.2 int ABA_TAILOFF::diff (int nLps, double & d) const

Can be used to retrieve the difference between the last and a previous LP-solution in percent.

Returns:

0 If the difference could be computed, i.e., the old LP-value nLPs before the last one is store in the history,

1 otherwise.

Parameters:

nLps
The number of LPs before the last solved linear program with which the last solved LP-value should be compared.
d
Contains the absolute difference bewteen the value of the last solved linear program and the value of the linear program solved nLPs before in percent relative to the older value.

6.46.3.3 void ABA_TAILOFF::update (double value) [private]

A new LP-solution value can be stored by calling the function update().

This update should be performed after every solution of an LP in the cutting plane generation phase of the subproblem optimization process.

Parameters:

value
The LP-solution value.

6.46.3.4 void ABA_TAILOFF::reset () [private]

Clears the solution history.

This function should be called if variables are added, because normally the solution value of the LP-relaxation gets worse after the addition of variables. Such a change could falsely indicate a tailing-off effect if the history of LP-values is not reset.

6.46.4 Friends And Related Function Documentation

6.46.4.1 friend class ABA_SUB [friend]

Definition at line 54 of file tailoff.h.

6.46.4.2 ostream& operator<< (ostream & out, const ABA_TAILOFF & rhs) [friend]

The output operator writes the memorized LP-values on an output stream.

Returns:

A reference to the output stream.

Parameters:

out
The output stream.
rhs
The tailing-off manager being output.

6.46.5 Member Data Documentation

6.46.5.1 ABA_MASTER*ABA_TAILOFF::master_ [private]

A pointer to the corresponding master of the optimization.

Definition at line 139 of file tailoff.h.

6.46.5.2 ABA_RING<double>*ABA_TAILOFF::lpHistory_ [private]

The LP-values considered in the tailing off analysis.

Definition at line 143 of file tailoff.h.

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