mascoptCplex.algos.networks
Class ProtectionRoutingFullPath

java.lang.Object
  |
  +--mascoptCplex.algos.networks.ProtectionRoutingGlobal
        |
        +--mascoptCplex.algos.networks.ProtectionRoutingFullPath
Direct Known Subclasses:
ProtectionRoutingFullPathSum

public class ProtectionRoutingFullPath
extends ProtectionRoutingGlobal

The ProtectionRoutingFullPath class provides an algorithm to compute and solve the problem of WDM network with two levels, a cable graph and a request graph. The problem is based on the technology of WDM, so it use a WDMNetwork object. In first, the algorithm solve the main network, then the breakdown of network is simulated and the protection network is solved. The protection network is built with the same graph of cables that the main network less a cable (the failure). The protection of the network is static. Only one arc is broken down at the time, the protection solve as much of problems than there are cables in the network. For all protection networks, the request is calculated, according to the type of protection, the request is different. Here, the protection is the PATH protection ; ie the request graph of protection is all request which aren't respected with the failure. Moreover, the main system and the protection system are solved with the same objective : Minimize the maximun flow of the problem. If you use an other type of protection and/or an other objective see the Subclasses : ProtectionRoutingLocal, ProtectionRoutingGlobal, ProtectionRoutingGlobalSum, ProtectionRoutingFullPathSum, ProtectionRoutingLocalSum.


Field Summary
 
Fields inherited from class mascoptCplex.algos.networks.ProtectionRoutingGlobal
AVERAGE_FLOW, CAPACITY_STRING_VALUE, MAX_FLOW, MIN_FLOW, SUM_FLOW, SUM_LENGTH_PATH, W
 
Constructor Summary
ProtectionRoutingFullPath(WDMNetwork n, boolean integerCompute)
          Constructor.
 
Method Summary
 void capacityProtection(Arc breakArc)
          Calculate the capacity of each arc for the protection network.
 void protectionType()
          specify the type of protection in the WDMNetwork object.
 int requestProtection(Arc arcBreak)
          Calculate the request graph of the protection network for one failure (associated to an Arc).
 
Methods inherited from class mascoptCplex.algos.networks.ProtectionRoutingGlobal
dumpMainCplex, dumpProtectionCplex, objectiveType, solve
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProtectionRoutingFullPath

public ProtectionRoutingFullPath(WDMNetwork n,
                                 boolean integerCompute)
Constructor.

Parameters:
n - the WDMNetworkrepresenting the network.
Method Detail

requestProtection

public int requestProtection(Arc arcBreak)
Calculate the request graph of the protection network for one failure (associated to an Arc). The protection network is the path-protection. The request graph is all request which aren't respected with the failure.

Overrides:
requestProtection in class ProtectionRoutingGlobal
Returns:
an int = 0 if the request graph is null else an int > 0.

capacityProtection

public void capacityProtection(Arc breakArc)
Calculate the capacity of each arc for the protection network. The capacity for the arc representing the failure is 0 because there isn't flow routing with this arc. For other arc, the capacity is the main capacity less the flow in the main system.

Overrides:
capacityProtection in class ProtectionRoutingGlobal
Parameters:
breakArc - the Arcrepresenting the failure on the main network.

protectionType

public void protectionType()
specify the type of protection in the WDMNetwork object.

Overrides:
protectionType in class ProtectionRoutingGlobal