Second pass of the MCF calculation. More...
#include <mcf.h>
Public Member Functions | |
MCF2ndPass (LinkGraphJob &job) | |
Run the second pass of the MCF calculation which assigns all remaining demands to existing paths. |
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 67 of file mcf.h.
MCF2ndPass::MCF2ndPass | ( | LinkGraphJob & | job | ) |
Run the second pass of the MCF calculation which assigns all remaining demands to existing paths.
job | Link graph job to calculate. |
Definition at line 493 of file mcf.cpp.
References LinkGraphSettings::accuracy, MultiCommodityFlow::CleanupPaths(), Path::GetFreeCapacity(), MultiCommodityFlow::max_saturation, MultiCommodityFlow::PushFlow(), LinkGraphJob::Settings(), and LinkGraphJob::Size().