This is a question that sounds simple but I can't figure out a proper solution. The question is as follows.
Say you have a binary tree of 3 levels(8 leaves). Let's say this represents a network where the root is supplied with some kind of bandwidth that passes through each level through the children and their links and finally gets supplied to the leaves(the end users). Each end user has both a minimum and a maximum bandwidth that can be supplied and each intermediate branch (or link) has a maximum bandwidth that can pass through. The question is to figure out the most "fair" way to distribute the bandwidth to the end users such that the conditions for the links are satisfied. An example tree would be as follows. Example problem
My approach was to minimize the standard deviation between the ratios of each end user between their allocated bandwidth and the maximum bandwidth. This reduces nicely to a constrained nonlinear optimization problem. While there are software with powerful algorithms to find the correct answer, I would like to know whether there is an alternative method that allows writing an equation for finding the proper values.