totalRelativeLoad = foldl (+) 0 (map (rloadA !) [0 .. numRvrs - 1])
-- floor goes best with loadTolerance 2
targetLoad i = floor (widenInteger totalReviews * (rloadA ! i) / totalRelativeLoad) - 1
- -- A...H refer to idea book p.429
+ -- Edge groups A through H are indicated in the figure in the paper.
edgesABC = do
i <- [0 .. numRvrs - 1]
let tl = targetLoad i