This module implements a distributed primal-gradient based algorithm for adjusting the transmission power of the links in a wireless network subject to interferences, to maximize the network utility enforcing a fair allocation of the resources.
Ths event processor is adapted to permit observing the algorithm performances under user-defined conditions,
including asynchronous distributed executions, where signaling can be affected by losses and/or delays, and/or measurement errors.
The time evolution of different metrics can be stored in output files, for later processing.
As an example, see the fig_sec9_6_powerAssignmentPrimal.m MATLAB file used for generating the graph/s of the case study in the
book using this algorithm.
To simulate a network with this module, use the Online_evGen_doNothing generator.
signaling_isSynchronous: Boolean type (default: false). true if all the distributed agents involved wake up synchronously to send the signaling messages
signaling_averageInterMessageTime: Default: 1.0 Average time between two signaling messages sent by an agent
signaling_maxFluctuationInterMessageTime: Default: 0.5 Max fluctuation in time between two signaling messages sent by an agent
signaling_averageDelay: Default: 0.0 Average time between signaling message transmission by an agent and its reception by other or others
signaling_maxFluctuationInDelay: Default: 0.0 Max fluctuation in time in the signaling delay, in absolute time values. The signaling delays are sampled from a uniform distribution within the given interval
signaling_signalingLossProbability: Default: 0.05 Probability that a signaling message transmitted is lost (not received by other or others involved agents)
update_isSynchronous: Boolean type (default: false). true if all the distributed agents involved wake up synchronousely to update its state
update_averageInterUpdateTime: Default: 1.0 Average time between two updates of an agent
update_maxFluctuationInterUpdateTime: Default: 0.5 Max fluctuation in time in the update interval of an agent, in absolute time values. The update intervals are sampled from a uniform distribution within the given interval
gradient_maxGradientAbsoluteNoise: Default: 0.01 Max value of the added noise to the gradient coordinate in absolute values
gradient_gammaStep: Default: 10.0 Gamma step in the gradient algorithm
gradient_heavyBallBetaParameter: Default: 0.0 Beta parameter of heavy ball, between 0 and 1. Value 0 means no heavy ball
gradient_maxGradientCoordinateChange: Default: 1000.0 Maximum change in an iteration of a gradient coordinate
simulation_randomSeed: Default: 1 Seed of the random number generator
simulation_outFileNameRoot: Default: powerTransmissionAsignmentPrimal Root of the file name to be used in the output files. If blank, no output
simulation_maxNumberOfUpdateIntervals: Default: 100.0 Maximum number of update intervals in average per agent
control_pathLossExponent: Default: 3.0 Exponent in the model for propagation losses
control_worseRiseOverThermal_nu: Default: 10.0 Worse case ratio between interference power and thermal power at any receiver. Used to set the common thermal power in the receivers
control_interferenceAttenuationFactor_nu: Default: 1000000.0 The interference power received in natural units is divided by this to reduce its effect
control_maxTransmissionPower_logu: Default: 3.0 The maximum link transmission power in logarithmic units (e.g. dBm)
control_minTransmissionPower_logu: Default: 0.0 The minimum link transmission power in logarithmic units (e.g. dBm)
control_fairnessFactor: Default: 2.0 Fairness factor in utility function of link capacities