The MCFClass Project
|
These macros control some important details of the implementation. More...
Macros | |
#define | DYNMC_MCF_RIV 3 |
Decides if the graph topology (arcs, nodes) can be changed. | |
#define | AUCTION 0 |
Decides if the auction/shortest paths inizialization procedure is used. | |
#define | RELAXIV_STATISTICS 0 |
If RELAXIV_STATISTICS > 0, then statistic information about the behaviour of the Relaxation algorithm is computed. | |
These macros control some important details of the implementation.
Although using macros for activating features of the implementation is not very C++, switching off some unused features may make the code more efficient in running time or memory.
#define DYNMC_MCF_RIV 3 |
Decides if the graph topology (arcs, nodes) can be changed.
If DYNMC_MCF_RIV > 0, the methods of the public interface of class that allow to change the topology of the underlying network are actually implemented. Possible values of this macro are:
#define AUCTION 0 |
Decides if the auction/shortest paths inizialization procedure is used.
If AUCTION == 1, then an auction/shortest paths inizialization procedure is provided [see SetPar() below] that has been reported to make the RelaxIV algorithm run faster on some classes of instances. The auction initialization essentially "spreads" the imbalances around the graph by performing some steps of the "pure" epsilon-relaxation method: this should produce "short" augmenting steps, that seem to be the best situation for RelaxIV.
By setting AUCTION == 0, some memory is saved.