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