Package | Description |
---|---|
com.net2plan.interfaces.networkDesign |
Provides a set of classes and interfaces for the network design tool.
|
com.net2plan.interfaces.simulation |
Provides a set of classes for the online simulator tool.
|
com.net2plan.libraries |
Provides a set of useful libraries to develop algorithms and reports.
|
Modifier and Type | Method and Description |
---|---|
Node |
NetPlan.addNode(double xCoord,
double yCoord,
String name,
Map<String,String> attributes)
Adds a new node to the network.
|
Node |
Link.getDestinationNode()
Returns the link destination
Node . |
Node |
Route.getEgressNode()
Returns the route egress node, which is the egress node if its associated demand
|
Node |
Demand.getEgressNode()
Returns the demand egress node.
|
Node |
Route.getFirstAvailableNodeAfterFailures()
Returns the first node in the route that is in up state after all failures in the route.
|
Node |
Route.getFirstAvailableNodeBeforeFailures()
Returns the first node starting from the route ingress node that is in up state, and is immediatly before
a failed resource for this route.
|
Node |
Route.getIngressNode()
Returns the route ingress node, which is the ingress node if its associated demand
|
Node |
MulticastTree.getIngressNode()
Returns the tree ingress
Node , that is, the one of the Multicast Demand . |
Node |
MulticastDemand.getIngressNode()
Returns the demand ingress Returns the demand ingress
Node |
Node |
Demand.getIngressNode()
Returns the demand ingress node.
|
Node |
NetPlan.getNode(int index)
Returns the node with the given index.
|
Node |
NetPlan.getNodeByName(String name)
Returns the first node with the given name.
|
Node |
NetPlan.getNodeFromId(long uid)
Returns the node with the given unique identifier.
|
Node |
Link.getOriginNode()
Returns the link origin node.
|
Modifier and Type | Method and Description |
---|---|
Set<Node> |
MulticastTree.getEgressNodes()
Returns the
Set of egress Nodes of the tree (i.e the ones of the associated multicast demand). |
Set<Node> |
MulticastDemand.getEgressNodes()
Returns the
Set of demand egress Nodes . |
Set<Node> |
Node.getInNeighbors(NetworkLayer... optionalLayerParameter)
Returns the nodes directly connected to this, with links ending in this node at the given layer.
|
Set<Node> |
Node.getInNeighborsAllLayers()
Returns the nodes directly connected to this, with links ending in this node at any layer.
|
Set<Node> |
SharedRiskGroup.getNodes()
Returns the set of nodes associated to the SRG (fail, when the SRG is in failure state)
|
List<Node> |
NetPlan.getNodes()
Returns the array of nodes (i-th position, corresponds to index i).
|
Set<Node> |
NetPlan.getNodesDown()
Returns the set of nodes that are down (iteration order corresponds to ascending order of indexes).
|
Set<Node> |
MulticastTree.getNodeSet()
|
Set<Node> |
NetPlan.getNodesUp()
Returns the set of nodes that are up (iteration order correspond to ascending order of indexes).
|
Set<Node> |
Node.getOutNeighbors(NetworkLayer... optionalLayerParameter)
Returns the nodes directly connected to this, with links initiated in this node at the given layer.
|
Set<Node> |
Node.getOutNeighborsAllLayers()
Returns the nodes directly connected to this, with links initiated in this node at any layer.
|
List<Node> |
ProtectionSegment.getSeqNodes()
Returns the protection segment sequence of nodes
|
List<Node> |
Route.getSeqNodesRealPath()
Returns the route sequence of traversed nodes (the sequence corresponds to the real, so traversed protection segments are converted into their links before computing the traversed nodes)
|
Modifier and Type | Method and Description |
---|---|
Demand |
NetPlan.addDemand(Node ingressNode,
Node egressNode,
double offeredTraffic,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds a new traffic demand.
|
Pair<Demand,Demand> |
NetPlan.addDemandBidirectional(Node ingressNode,
Node egressNode,
double offeredTraffic,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds two demands, one in each direction,.
|
Link |
NetPlan.addLink(Node originNode,
Node destinationNode,
double capacity,
double lengthInKm,
double propagationSpeedInKmPerSecond,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds a new link.
|
Pair<Link,Link> |
NetPlan.addLinkBidirectional(Node originNode,
Node destinationNode,
double capacity,
double lengthInKm,
double propagationSpeedInKmPerSecond,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds two links, one in each direction.
|
MulticastDemand |
NetPlan.addMulticastDemand(Node ingressNode,
Set<Node> egressNodes,
double offeredTraffic,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds a new multicast traffic demand.
|
void |
SharedRiskGroup.addNode(Node node)
Adds a node to the SRG.
|
NetworkLayer |
NetPlan.checkContiguousPath(List<Link> links,
NetworkLayer layer,
Node originNode,
Node destinationNode)
Checks that the input sequence of links belong to the same layer and follow a contiguous path.
|
Link |
MulticastTree.getIngressLinkOfNode(Node n)
|
Set<Demand> |
NetPlan.getNodePairDemands(Node originNode,
Node destinationNode,
boolean returnDemandsInBothDirections,
NetworkLayer... optionalLayerParameter)
Gets the set of demands at the given layer from the input nodes (if
returnDemandsInBothDirections is true , also the reversed links are included). |
double |
NetPlan.getNodePairEuclideanDistance(Node originNode,
Node destinationNode)
Gets the Euclidean distance for a node pair.
|
double |
NetPlan.getNodePairHaversineDistanceInKm(Node originNode,
Node destinationNode)
Gets the Haversine distance for a node pair.
|
Set<Link> |
NetPlan.getNodePairLinks(Node originNode,
Node destinationNode,
boolean returnLinksInBothDirections,
NetworkLayer... optionalLayerParameter)
Gets the set of links at the given layer from the given nodes (if
returnLinksInBothDirections is true , also the reversed links are included). |
Set<ProtectionSegment> |
NetPlan.getNodePairProtectionSegments(Node originNode,
Node destinationNode,
boolean returnSegmentsInBothDirections,
NetworkLayer... optionalLayerParameter)
Return the set of protection segments at the given layer for the given nodes (if
returnSegmentsInBothDirections is true , also the reversed protection segments are included)
If no layer is provided, default layer is assumed. |
Set<Route> |
NetPlan.getNodePairRoutes(Node originNode,
Node destinationNode,
boolean returnRoutesInBothDirections,
NetworkLayer... optionalLayerParameter)
Gets the set of routes at the given layer from the given nodes (if
returnRoutesInBothDirections is true , also the reversed routes are included). |
Set<Link> |
MulticastTree.getOutputLinkOfNode(Node n)
|
List<Link> |
MulticastTree.getSeqLinksToEgressNode(Node egressNode)
|
void |
SharedRiskGroup.removeNode(Node n)
Removes a node from the set of nodes of the SRG.
|
Modifier and Type | Method and Description |
---|---|
MulticastDemand |
NetPlan.addMulticastDemand(Node ingressNode,
Set<Node> egressNodes,
double offeredTraffic,
Map<String,String> attributes,
NetworkLayer... optionalLayerParameter)
Adds a new multicast traffic demand.
|
void |
NetPlan.setLinksAndNodesFailureState(Collection<Link> linksToSetAsUp,
Collection<Link> linksToSetAsDown,
Collection<Node> nodesToSetAsUp,
Collection<Node> nodesToSetAsDown)
Changes the failure state of the links and updates the routes/trees/segments (they do not carry traffic nor occupy capacity), and hop-by-hop routing
(no traffic is forwarded in links down)
|
void |
NetPlan.setLinksAndNodesFailureState(Collection<Link> linksToSetAsUp,
Collection<Link> linksToSetAsDown,
Collection<Node> nodesToSetAsUp,
Collection<Node> nodesToSetAsDown)
Changes the failure state of the links and updates the routes/trees/segments (they do not carry traffic nor occupy capacity), and hop-by-hop routing
(no traffic is forwarded in links down)
|
Modifier and Type | Field and Description |
---|---|
Node |
SimEvent.LinkAdd.destinationNode |
Node |
SimEvent.DemandAdd.egressNode |
Node |
SimEvent.DemandAdd.ingressNode |
Node |
SimEvent.LinkAdd.originNode |
Modifier and Type | Field and Description |
---|---|
Collection<Node> |
SimEvent.NodesAndLinksChangeFailureState.nodesToDown |
Collection<Node> |
SimEvent.NodesAndLinksChangeFailureState.nodesToUp |
Constructor and Description |
---|
DemandAdd(Node ingressNode,
Node egressNode,
NetworkLayer layer,
double offeredTraffic)
Default constructor.
|
LinkAdd(Node originNode,
Node destinationNode,
NetworkLayer layer,
double capacity,
double lengthInKm,
double propagationSpeedInKmPerSecond)
Default constructor.
|
Constructor and Description |
---|
NodesAndLinksChangeFailureState(Collection<Node> nodesToUp,
Collection<Node> nodesToDown,
Collection<Link> linksToUp,
Collection<Link> linksToDown)
Default constructor.
|
NodesAndLinksChangeFailureState(Collection<Node> nodesToUp,
Collection<Node> nodesToDown,
Collection<Link> linksToUp,
Collection<Link> linksToDown)
Default constructor.
|
Modifier and Type | Field and Description |
---|---|
Node |
WDMUtils.LightpathAdd.egressNode |
Node |
WDMUtils.LightpathAdd.ingressNode |
Modifier and Type | Method and Description |
---|---|
static Triple<DoubleMatrix2D,Map<Link,Set<Node>>,Map<Node,Set<Link>>> |
WirelessUtils.computeInterferenceMap(List<Node> nodes,
List<Link> links,
boolean simultaneousTxAndRxPossible)
Given a wireless network where a node cannot simultanously receive signals from two different nodes (or a collision would be produced and no signal is correctly received), this function computes the cases in which a node transmission interferes with a link reception,
and returns this information in several structures.
|
static Triple<DoubleMatrix2D,Map<Link,Set<Node>>,Map<Node,Set<Link>>> |
WirelessUtils.computeInterferenceMap(List<Node> nodes,
List<Link> links,
boolean simultaneousTxAndRxPossible)
Given a wireless network where a node cannot simultanously receive signals from two different nodes (or a collision would be produced and no signal is correctly received), this function computes the cases in which a node transmission interferes with a link reception,
and returns this information in several structures.
|
static List<Node> |
GraphUtils.convertSequenceOfLinksToSequenceOfNodes(List<Link> seqLinks)
Converts a given sequence of links to the corresponding sequence of nodes.
|
Collection<Node> |
GraphTheoryMetrics.getNeighbors(Node node)
Returns the set of nodes reachable from a given node.
|
Modifier and Type | Method and Description |
---|---|
static List<List<Link>> |
GraphUtils.getAllLooplessShortestPaths(List<Node> nodes,
List<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap)
Returns all the loopless shortest paths between two nodes.
|
static List<Link> |
GraphUtils.getCapacitatedShortestPath(Collection<Node> nodes,
Collection<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap,
Map<Link,Double> linkSpareCapacityMap,
double capacityGoal) |
static List<List<Link>> |
GraphUtils.getKLooplessShortestPaths(List<Node> nodes,
List<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap,
int K,
double maxLengthInKm,
int maxNumHops,
double maxPropDelayInMs,
double maxRouteCost,
double maxRouteCostFactorRespectToShortestPath,
double maxRouteCostRespectToShortestPath)
Returns the K-loopless shortest paths between two nodes, satisfying some user-defined constraints.
|
static List<Set<Link>> |
GraphUtils.getKMinimumCostMulticastTrees(List<Link> links,
Node originNode,
Set<Node> destinationNodes,
DoubleMatrix2D Aout_ne,
DoubleMatrix2D Ain_ne,
DoubleMatrix1D linkCost,
String solverName,
String solverLibraryName,
double maxSolverTimeInSecondsPerTree,
int K,
int maxCopyCapability,
double maxE2ELengthInKm,
int maxE2ENumHops,
double maxE2EPropDelayInMs,
double maxTreeCost,
double maxTreeCostFactorRespectToMinimumCostTree,
double maxTreeCostRespectToMinimumCostTree)
Returns the K-minimum cost multicast trees starting in the originNode and ending in the set destinationNodes, satisfying some user-defined constraints.
|
static Set<Link> |
GraphUtils.getMinimumCostMulticastTree(List<Link> links,
DoubleMatrix2D Aout_ne,
DoubleMatrix2D Ain_ne,
DoubleMatrix1D linkCost,
Node originNode,
Set<Node> destinationNodes,
int maxCopyCapability,
int maxE2ENumHops,
double maxE2ELengthInKm,
double maxE2EPropDelayInMs,
String solverName,
String solverLibraryName,
double maxSolverTimeInSeconds,
String... solverParam) |
Collection<Node> |
GraphTheoryMetrics.getNeighbors(Node node)
Returns the set of nodes reachable from a given node.
|
static List<Link> |
GraphUtils.getShortestPath(Collection<Node> nodes,
Collection<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap)
Obtains the sequence of links representing the (unidirectional) shortest path between two nodes.
|
static List<List<Link>> |
GraphUtils.getTwoLinkDisjointPaths(Collection<Node> nodes,
Collection<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap)
Returns the shortest pair of link-disjoint paths, where each item represents a path.
|
static List<List<Link>> |
GraphUtils.getTwoNodeDisjointPaths(Collection<Node> nodes,
Collection<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap)
Returns the shortest pair of node-disjoint paths, where each item represents a path.
|
Modifier and Type | Method and Description |
---|---|
static DoubleMatrix2D |
IPUtils.computeECMPForwardingRules_fde(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix1D linkWeightVector) |
static DoubleMatrix2D |
IPUtils.computeECMPRoutingTableMatrix_fte(List<Node> nodes,
List<Link> links,
DoubleMatrix1D linkWeightVector)
Computes the routing table matrix according to an OSPF/ECMP scheme.
|
static Triple<DoubleMatrix2D,Map<Link,Set<Node>>,Map<Node,Set<Link>>> |
WirelessUtils.computeInterferenceMap(List<Node> nodes,
List<Link> links,
boolean simultaneousTxAndRxPossible)
Given a wireless network where a node cannot simultanously receive signals from two different nodes (or a collision would be produced and no signal is correctly received), this function computes the cases in which a node transmission interferes with a link reception,
and returns this information in several structures.
|
static Quadruple<DoubleMatrix2D,DoubleMatrix1D,DoubleMatrix1D,List<Constants.RoutingCycleType>> |
GraphUtils.convert_fde2xde(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix1D h_d,
DoubleMatrix2D f_de)
Given a forwarding rule mapping (fractions of traffic entering a node from demand 'd', leaving that node through link 'e'), and an offered traffic to the network,
it generates the resulting demand-link routing in the form x_de (amount of traffic from demand d, transmitted through link e).
|
static Quadruple<DoubleMatrix2D,DoubleMatrix1D,DoubleMatrix1D,List<Constants.RoutingCycleType>> |
GraphUtils.convert_fte2xde(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix2D f_te)
Given a destination-based routing in the form f_te (fractions of traffic in a node, that is forwarded through each of its output links), and an offered traffic to the network, it generates the resulting demand-link routing in the form x_de (amount of traffic from demand d, transmitted through link e).
|
static void |
GraphUtils.convert_fte2xp(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix1D h_d,
DoubleMatrix2D f_te,
List<Demand> d_p,
List<Double> x_p,
List<List<Link>> pathList)
Given a destination-based routing in the form f_te (fractions of traffic in a node, that is forwarded through each of its
output links), and an offered traffic to the network, it generates the resulting set of paths that are produced.
|
static DoubleMatrix2D |
GraphUtils.convert_fte2xte(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix2D f_te,
DoubleMatrix1D h_d)
Given a destination-based routing in the form f_te (fractions of traffic in a node, that is forwarded through each of its output links), and an offered traffic to the network, it generates the resulting destination-based routing in the form x_te (amount of traffic targeted to node t, transmitted through link e).
|
static DoubleMatrix2D |
GraphUtils.convert_xde2fde(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix2D x_de)
Given a demand-link routing in the form x_de (amount of traffic from demand d, transmitted through link e), returns the equivalent forwarding rule mapping (fractions of traffic entering a node from demand 'd', leaving that node through link 'e').
|
static int |
GraphUtils.convert_xde2xp(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix2D x_de,
List<Demand> d_p,
List<Double> x_p,
List<List<Link>> pathList)
Converts the routing in the form x_de into a set of loopless routes.
|
static DoubleMatrix2D |
GraphUtils.convert_xde2xte(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix2D x_de)
Given a demand-link routing in the form x_de (amount of traffic from demand d, transmitted through link e), returns the equivalent forwarding rule mapping (fractions of traffic entering a node from demand 'd', leaving that node through link 'e').
|
static DoubleMatrix2D |
GraphUtils.convert_xp2fte(List<Node> nodes,
List<Link> links,
List<Demand> demands,
List<Route> routes)
Given a set of traffic routes and their carried traffic returns a destination-based routing in the form fte (fractions of traffic in a node, that is forwarded through each of its output links).
|
static DoubleMatrix2D |
GraphUtils.convert_xp2xte(List<Node> nodes,
List<Link> links,
List<Demand> demands,
List<Route> routes)
Given a set of traffic routes and their carried traffic returns a destination-based routing in the form x_te (amount of traffic targeted to node t, transmitted through link e).
|
static DoubleMatrix2D |
GraphUtils.convert_xte2fte(List<Node> nodes,
List<Link> links,
DoubleMatrix2D x_te)
Given a destination-based routing in the form of an array x_te (amount of traffic targeted to node t, transmitted through link e), it returns the associated destination-based routing in the form of fractions f_te (fraction of the traffic targeted to node t that arrives (or is generated in) node a(e) (the initial node of link e), that is forwarded through link e).
|
static DoubleMatrix2D |
GraphUtils.getAdjacencyMatrix(List<Node> nodes,
List<? extends NetworkElement> linkMap)
Given a map of links, it computes the adjacency matrix.
|
static List<List<Link>> |
GraphUtils.getAllLooplessShortestPaths(List<Node> nodes,
List<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap)
Returns all the loopless shortest paths between two nodes.
|
static DoubleMatrix2D |
GraphUtils.getBidirectionalMatrix(List<Node> nodes,
List<Link> linkMap)
Given a map of links representing a bidirectional topology, with the same number of links on each direction for each node pair, it bundles into opposite link pairs and computes the bidirectional matrix.
|
static List<Link> |
GraphUtils.getCapacitatedShortestPath(Collection<Node> nodes,
Collection<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap,
Map<Link,Double> linkSpareCapacityMap,
double capacityGoal) |
static DoubleMatrix2D |
GraphUtils.getIncidenceMatrix(List<Node> nodes,
List<? extends NetworkElement> elements)
Given a list of Network Elements, it computes the node-network element incidence matrix.
|
static DoubleMatrix2D |
GraphUtils.getIncomingIncidenceMatrix(List<Node> nodes,
List<? extends NetworkElement> elements)
Given a list of Network Element, it computes the node-network element incoming incidence matrix.
|
static List<List<Link>> |
GraphUtils.getKLooplessShortestPaths(List<Node> nodes,
List<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap,
int K,
double maxLengthInKm,
int maxNumHops,
double maxPropDelayInMs,
double maxRouteCost,
double maxRouteCostFactorRespectToShortestPath,
double maxRouteCostRespectToShortestPath)
Returns the K-loopless shortest paths between two nodes, satisfying some user-defined constraints.
|
static List<Set<Link>> |
GraphUtils.getKMinimumCostMulticastTrees(List<Link> links,
Node originNode,
Set<Node> destinationNodes,
DoubleMatrix2D Aout_ne,
DoubleMatrix2D Ain_ne,
DoubleMatrix1D linkCost,
String solverName,
String solverLibraryName,
double maxSolverTimeInSecondsPerTree,
int K,
int maxCopyCapability,
double maxE2ELengthInKm,
int maxE2ENumHops,
double maxE2EPropDelayInMs,
double maxTreeCost,
double maxTreeCostFactorRespectToMinimumCostTree,
double maxTreeCostRespectToMinimumCostTree)
Returns the K-minimum cost multicast trees starting in the originNode and ending in the set destinationNodes, satisfying some user-defined constraints.
|
static Set<Link> |
GraphUtils.getMinimumCostMulticastTree(List<Link> links,
DoubleMatrix2D Aout_ne,
DoubleMatrix2D Ain_ne,
DoubleMatrix1D linkCost,
Node originNode,
Set<Node> destinationNodes,
int maxCopyCapability,
int maxE2ENumHops,
double maxE2ELengthInKm,
double maxE2EPropDelayInMs,
String solverName,
String solverLibraryName,
double maxSolverTimeInSeconds,
String... solverParam) |
static DoubleMatrix2D |
GraphUtils.getOutgoingIncidenceMatrix(List<Node> nodes,
List<? extends NetworkElement> elements)
Given a list of Network elements, it computes the node-network element outgoing incidence matrix.
|
static List<Link> |
GraphUtils.getShortestPath(Collection<Node> nodes,
Collection<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap)
Obtains the sequence of links representing the (unidirectional) shortest path between two nodes.
|
static List<List<Link>> |
GraphUtils.getTwoLinkDisjointPaths(Collection<Node> nodes,
Collection<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap)
Returns the shortest pair of link-disjoint paths, where each item represents a path.
|
static List<List<Link>> |
GraphUtils.getTwoNodeDisjointPaths(Collection<Node> nodes,
Collection<Link> links,
Node originNode,
Node destinationNode,
Map<Link,Double> linkCostMap)
Returns the shortest pair of node-disjoint paths, where each item represents a path.
|
static boolean |
GraphUtils.isBidirectional(List<Node> nodes,
List<Link> links)
Checks whether the physical topology has the same number of links between each node pair in both directions (assuming multi-digraphs).
|
static boolean |
GraphUtils.isConnected(List<Node> nodes,
List<Link> links)
Check whether the physical topology is connected, that is, if it is possible to connect every node to each other, but only in a subset of nodes (subgraph).
|
static boolean |
GraphUtils.isSimple(List<Node> nodes,
List<Link> links)
Check whether the physical topology is simple, that is, if it has at most one unidirectional link from a node to each other.
|
static boolean |
GraphUtils.isWeightedBidirectional(List<Node> nodes,
List<? extends NetworkElement> elements,
DoubleMatrix1D linkCostMap)
Checks whether the physical topology has the same number of links/demands between each node pair in both directions (assuming multi-digraphs) and same weights per direction.
|
static DoubleMatrix2D |
GraphUtils.removeCyclesFrom_xde(List<Node> nodes,
List<Link> links,
List<Demand> demands,
DoubleMatrix2D x_de,
boolean xdeAsFractionRespecttoDemandOfferedTraffic,
String solverName,
String solverLibraryName,
double maxSolverTimeInSecondsPerDemand)
Removes open or closed cycles from the x_de routing matrix, for the given set of demands.
|
static DoubleMatrix2D |
GraphUtils.removeCyclesFrom_xte(List<Node> nodes,
List<Link> links,
DoubleMatrix2D trafficMatrix,
DoubleMatrix2D x_te,
String solverName,
String solverLibraryName,
double maxSolverTimeInSecondsPerDestination)
Removes open or closed cycles from the x_de routing matrix, for the given set of demands.
|
static String |
IPUtils.routingTableMatrixToString(List<Node> nodes,
List<Link> links,
DoubleMatrix2D f_te)
Outputs a given set of routing tables to a
String . |
Constructor and Description |
---|
LightpathAdd(Node ingressNode,
Node egressNode,
NetworkLayer layer,
double lineRateGbps)
Constructor to generate a new
LightpathAdd object. |
LightpathAdd(Node ingressNode,
Node egressNode,
NetworkLayer layer,
List<Link> seqLinks,
int[] seqWavelengths,
double lineRateGbps)
Constructor to generate a new
LightpathAdd object. |
LightpathAdd(Node ingressNode,
Node egressNode,
NetworkLayer layer,
List<Link> seqLinks_primary,
List<Link> seqLinks_backup,
int[] seqWavelengths_primary,
int[] seqWavelengths_backup,
double lineRateGbps)
Constructor to generate a new
LightpathAdd object. |
Constructor and Description |
---|
GraphTheoryMetrics(List<Node> nodes,
List<Link> links,
Map<Link,Double> linkCostMap)
Default constructor
|