...
normalized_unit = func(lat, weight, unit)
normalization:
function(value, ideal_valuerange(start, end), weight, inverse)
(ideal_value/value) * weight, if ideal_value < value
(value/ideal_value) * weight, if ideal_value > value
Eg:
latency - 1ms (ideal)
candidate_latency - 20 ms
normalized - 1/20 → 0.05
throughput - 1000Mbps
candidate_throughput - 100 Mbps
normalized - 100/1000 → 0.1)
All ranges are converted to 0 to 1. The inverse operation is not needed, since it is already implied in the range.
(value - start) / (end-start)
Eg:
latency range: 50 ms to 5 ms
candidate latency | Normalized value |
---|---|
20 ms | 0.667 |
40 ms | 0.222 |
throughput range: 100 Mbps to 1000Mbps
candidate throughput | Normalized value |
---|---|
300 Mbps | 0.222 |
800 Mbps | 0.778 |
Impact Analysis
API - no impact
...