public class TrafficMatrixGenerationModels
extends Object
Set of methods implementing different traffic generation models based on traffic matrices. All of them are based on those detailed in [1].
Important: In Net2Plan
self-demands are not allowed, thus the diagonal of the traffic matrices must be always zero.
[1] R. S. Cahn, Wide area network design: concepts and tools for optimization, Morgan Kaufmann Publishers Inc., 1998
Constructor and Description |
---|
TrafficMatrixGenerationModels() |
Modifier and Type | Method and Description |
---|---|
static double |
activityFunction(double UTC,
int timezoneOffset) |
static double[] |
activityFunction(int[][] demandTable,
double[] h_d,
double UTC,
int[] timezoneOffset) |
static double[][] |
BimodalUniformRandom(int N,
double percentageThreshold,
double minValueClass1,
double maxValueClass1,
double minValueClass2,
double maxValueClass2)
Generates a traffic matrix using a bimodal uniform random distribution, that is, a distribution in which a value is taken for a uniform random distribution with probability p, and from the other one with probability 1-p.
|
static double[][] |
normalizationPattern_incomingTraffic(cern.colt.matrix.tdouble.DoubleMatrix2D trafficMatrix,
cern.colt.matrix.tdouble.DoubleMatrix1D incomingTraffic)
Normalizes the input traffic matrix with respect to a given incoming traffic vector.
|
static double[][] |
normalizationPattern_outgoingTraffic(cern.colt.matrix.tdouble.DoubleMatrix2D trafficMatrix,
cern.colt.matrix.tdouble.DoubleMatrix1D outgoingTraffic)
Normalizes the input traffic matrix with respect to a given outgoing traffic vector.
|
static double[][] |
normalizationPattern_totalTraffic(cern.colt.matrix.tdouble.DoubleMatrix2D trafficMatrix,
double totalTraffic)
Normalizes the input traffic matrix so that the sum of all entries is equal to a given value.
|
static double[][] |
PopulationDistanceModel(java.awt.geom.Point2D[] nodeXYPositionTable,
int[] populationVector,
int[] levelVector,
double[][] levelMatrix,
double randomFactor,
double populationOffset,
double populationPower,
double distanceOffset,
double distancePower)
Generates a traffic matrix using the population-distance model detailed in [1].
|
static double[][] |
UniformRandom(int N,
double minValue,
double maxValue)
Generates a traffic matrix using a uniform random distribution.
|
public static double activityFunction(double UTC, int timezoneOffset)
public static double[] activityFunction(int[][] demandTable, double[] h_d, double UTC, int[] timezoneOffset)
public static double[][] BimodalUniformRandom(int N, double percentageThreshold, double minValueClass1, double maxValueClass1, double minValueClass2, double maxValueClass2)
N
- Number of nodespercentageThreshold
- Mixture coefficientminValueClass1
- Minimum traffic value for class 1maxValueClass1
- Maximum traffic value for class 1minValueClass2
- Minimum traffic value for class 2maxValueClass2
- Maximum traffic value for class 2public static double[][] UniformRandom(int N, double minValue, double maxValue)
N
- Number of nodesminValue
- Minimum traffic valuemaxValue
- Maximum traffic valuepublic static double[][] PopulationDistanceModel(java.awt.geom.Point2D[] nodeXYPositionTable, int[] populationVector, int[] levelVector, double[][] levelMatrix, double randomFactor, double populationOffset, double populationPower, double distanceOffset, double distancePower)
nodeXYPositionTable
- Nx2 matrix with node positions, where N is the number of nodespopulationVector
- Vector with N elements in which each element is the population of the corresponding nodelevelVector
- Vector with N elements in which each element is the level (i.e. type) of the corresponding nodelevelMatrix
- Level matrixrandomFactor
- Random factorpopulationOffset
- Population offsetpopulationPower
- Population powerdistanceOffset
- Distance offsetdistancePower
- Distance powermore information, see [1]
public static double[][] normalizationPattern_outgoingTraffic(cern.colt.matrix.tdouble.DoubleMatrix2D trafficMatrix, cern.colt.matrix.tdouble.DoubleMatrix1D outgoingTraffic)
trafficMatrix
- Input traffic matrixoutgoingTraffic
- Vector of outgoing traffic to each nodepublic static double[][] normalizationPattern_incomingTraffic(cern.colt.matrix.tdouble.DoubleMatrix2D trafficMatrix, cern.colt.matrix.tdouble.DoubleMatrix1D incomingTraffic)
trafficMatrix
- Input traffic matrixincomingTraffic
- Vector of incoming traffic to each nodepublic static double[][] normalizationPattern_totalTraffic(cern.colt.matrix.tdouble.DoubleMatrix2D trafficMatrix, double totalTraffic)
trafficMatrix
- Input traffic matrixtotalTraffic
- Total traffic expected