mascoptDev.algos.networks
Class ApproxMinCostFlowDev

java.lang.Object
  |
  +--mascoptDev.algos.networks.ApproxMinCostFlow
        |
        +--mascoptDev.algos.networks.ApproxMinCostFlowDev

public class ApproxMinCostFlowDev
extends ApproxMinCostFlow

Provides an algorithm of approximation of fractionnal MCF by "Lagrangienne" relaxation. TIME IS OUT OF BOUND on examples of file/nfsnet.mgl and file/americain-mieux.mgl Initialize the flow with the shortest paths (Bellman) in terms of the congestion cost for all requests, no constraint of capacity. while the capacity constraints isn't satisfaied, divert some flow toward least loaded paths, to use an other deviation see ApproxMinCostFlow. Use the congestion cost(Arc) in 3 stages, function of epsilon and sigma.


Field Summary
static Double CONGESTION_MAX_INIT
           
static double SIGMA
           
 
Fields inherited from class mascoptDev.algos.networks.ApproxMinCostFlow
CAPACITY_STRING_VALUE, congestion, CONGESTION_MAX, costCongestion, EPSILON, EPSILON_END, flowAllocated, INDEX, nbArc, nbRequest, REQUEST_SIZE, W
 
Constructor Summary
ApproxMinCostFlowDev(WDMNetwork n)
           
 
Method Summary
 int deCongest()
          Decongest the network while the capacity constraints are satisfaying.
 void deCongestFlow()
          Decongest the network while the capacity constraints are satisfaying.
 void putCostCongestion(Arc a)
          Calculate the cost of the congestion, with the 5 fonctions in stages according to the value of the congestion of cable a.
 
Methods inherited from class mascoptDev.algos.networks.ApproxMinCostFlow
addFlow, getCongestion, getFlow, getFlowAllocated, printFlow, setCongestion, setFlow, setFlowAllocated, writeSolution
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SIGMA

public static double SIGMA

CONGESTION_MAX_INIT

public static Double CONGESTION_MAX_INIT
Constructor Detail

ApproxMinCostFlowDev

public ApproxMinCostFlowDev(WDMNetwork n)
Method Detail

putCostCongestion

public void putCostCongestion(Arc a)
Calculate the cost of the congestion, with the 5 fonctions in stages according to the value of the congestion of cable a.

Overrides:
putCostCongestion in class ApproxMinCostFlow
Parameters:
a - the Arc representing a cable of the problem.

deCongestFlow

public void deCongestFlow()
Decongest the network while the capacity constraints are satisfaying. to within about EPSILON. The order of request is a random order.

Overrides:
deCongestFlow in class ApproxMinCostFlow

deCongest

public int deCongest()
Decongest the network while the capacity constraints are satisfaying. The order of request is a random order.

Overrides:
deCongest in class ApproxMinCostFlow