Public Member Functions

MCF2ndPass Class Reference

Second pass of the MCF calculation. More...

#include <mcf.h>

Inheritance diagram for MCF2ndPass:
MultiCommodityFlow

Public Member Functions

 MCF2ndPass (LinkGraphComponent *graph)
 Run the second pass of the MCF calculation which assigns all remaining demands to existing paths.

Detailed Description

Second pass of the MCF calculation.

Saturates paths with most capacity left first and doesn't create any paths along edges that haven't been visited in the first pass. This is why it doesn't have to do any cycle detection and elimination. As cycle detection is the most intense problem in the first pass this pass is cheaper. The accuracy is used here, too.

Definition at line 107 of file mcf.h.


Constructor & Destructor Documentation

MCF2ndPass::MCF2ndPass ( LinkGraphComponent graph  ) 

Run the second pass of the MCF calculation which assigns all remaining demands to existing paths.

Parameters:
graph Component to calculate.

Definition at line 335 of file mcf.cpp.

References LinkGraphSettings::accuracy, MultiCommodityFlow::CleanupPaths(), LinkGraphComponent::GetEdge(), Path::GetFreeCapacity(), LinkGraphComponent::GetSettings(), LinkGraphComponent::GetSize(), MultiCommodityFlow::PushFlow(), and Edge::unsatisfied_demand.


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