Term 1 Final

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Auction based algorithm for Network

Bandwidth Allocation Problem


BTP term1 report

Project Adviser
Prof. Sumit Ganguly
sganguly@cse.iitk.ac.in
November 9, 2008

Anupam Ashish Naveen Kumar Kushwaha


Y5101 Y5274
anupash@cse.iitk.ac.in naveenk@cse.iitk.ac.in

Abstract
Auction Algorithms have been used to solve the general assignment problem in [1].They have
been used in more than one ways to solve resource allocation problems. They are pretty useful if the
existing deterministic algorithm are NP-hard as we can design heuristics based on auction mechanism
to get a nearly optimal solution. Network bandwidth allocation problem can be transformed to
assignment problem and solved using method given in [1] by converting it to flow problem or we
can propose another auction based mechanism to solve a bandwidth allocation problem. Here we
are trying to solve a bandwidth allocation problem where K source-sink pair wish to communicate
with each other. We have been motivated by [1] and an another auction algorithm to solve this
problem.

Introduction
Auction based algorithm are being used extensively these days in problems where the deterministic
algorithm takes too much time. Bandwidth allocation for users in a network is one of such kind
of problem.There are many variations to the Network bandwidth problem in which auction based
mechanism can be applied.

Model of a simple Auction


Suppose A service provider wants to sell the bandwidth at a single link in the network.There is a fixed
amount of for the available bandwidth.But many users want to get the bandwidth.So demand for
the Bandwidth would be more than the Available. So to allocate the Bandwidth Service provider
will start an auction. Auctioneer suggests a price and bidder bids for the amount of bandwidth
which they want to get at this price.This is one simple notion of an auction.There are variety of
techniques for Auctions. Some famous types of auctions are English vs Dutch, Single Dimensional
vs Multi Dimensional, Sealed bid vs Closed bid, Single sided vs Double sided, first price vs second
price(VCG). A brief introduction about auctions can be found in [3].

1
Motivation & Literature
Bertsekas’s Survey on Network Flow problems [1]
The prototypes being used here is auction algorithms for assignment problems. These auction
work like real life auctions where persons/bidders compete for the objects by increasing their prices
through competitive bidding.

Naive Auctions
Two types of problem exists here one is the symmetric assignment and second is asymmetric assign-
ment. In the first problem n bidder matches for n object and assignment is one-one while later in
later problem a bidder may have more than one objects.
To simulate an auction we will introducePa benefit a[ij] for matching bidder i to object j. So here
n
our aim is to maximize the total benefit 0 a[ij] .
We have given a set A of (i ,j) that can be matched .So we have

A(i) = {j|(i, j) ∈ A} (1)


B(j) = {i|(i, j) ∈ A} (2)

Solution to this problem would be the a set S congaing pairs of (i,j) where S is such that S = {(i, j)|
object j is assigned to some person i} And this assignment would be feasible if set S has n elements
and each bidder ’i’ is assigned to a distinct
Pnobject ’j’. The Algorithm tries to optimize this feasible
solution by maximizing the total benefit 0 a[ij].Now we associate price with each object. So if an
object j has price P(j) then value for person i for that j object is a[i, j] − P (j).Each person tries to
maximize his value.
a[i, jk ] − P (jk ) = max{a[i, j] − P (j)} is satisfied for all pairs in assignment. If all bidders are
assigned then algorithm terminates.Otherwise not-empty subset of unassigned persons is selected
and computation for the best is performed.
Let I be that non empty subset. Each person i in I finds object j in A(i) for which its value is
maximal. bidding increment is γi = vi − wi
where vi is the value of best object for i and wi is value of second best object for i . wi is −∞ if no
other object is there.
Note that γi can never be negative.
Here is a situation where this algorithm fails to work .Suppose we have two equally qualified object
for a person .In that case will be zero and hence algorithm inters in next iteration without raising
objects prices. Hence algorithm gets into a cycle. To break such cycle there is a concept of 
complementary slackness mechanism .In this mechanism each bid must increase the price of an
object by some minimum positive increment .So here γi will be equal to vi − wi + .

Network Bandwidth Allocation over paths [2]


This paper gave us deep insight into the problem of Network Bandwidth Allocation. We have
extended the problem solved by them and gave a solution for a modified problem. He explores the
problem using Dutch auctions. He solves the problem to a general topology network. Approach is
to run auction simultaneously at each node for the bandwidth allocation. Although each auction
runs independently.They define a price reduction policy called price Freezing. Price Freezing policy
says that when allocation of bandwidth takes place price at that link will freeze for some time of
period. In Price reduction price at time t at a link l will be as Pl (t) = Pl (0) − r ∗ [t − s.xl (t)] where
r and s are constants.xl (t) is the allocated bandwidth at link l. Pl (0) is the initial price set.For the
support of their Mechanism they had given three simple propositions.
Proposition 1: There exist a choice for initial prices for the various links such that at any time ,
for every pair of links for none of which prize are frozen , link with lowest remaining capacity has
the highest price.

2
Proof: Suppose at time t remaining capacity at link i is less then at j ie. Ci − xi (t) < Cj − xj (t)
.For having Pi (t) > Pj (t) condition

Pi (0) − rt + rs.xi (t) > Pj (0) − rt + rs.xj (t) (3)


Pi (0) + rs.[xi (t) + Ci − Ci ] > Pj (0) + rs.[xj (t) + Cj − Cj ] (4)
Pi (0) + rsCi ]rs[Ci − xi (t)] > Pj (0) + rsCj ]rs[Cj − xj (t)] (5)

as r.s ≥ 0 this condition is true for Ci − xi (t) < Cj − xj (t)

Proposition 2:The Maximal execution time for algorithm is proportional to the link’s initial price
and capacity.
Proof: As auction will terminate at Price = 0 .So
Pi (0) − r.t0i + r.s.xi (t0i )
set xi (t0i ) = Ci
we get t0i = Pi (0)/r + s.Ci
Proposition 3:Algorithm allocates bandwidth efficiently if optimal price of links are already known.
Proof:Let optimal price at link i is Pi∗ and allocation with respect to it is x∗i (Computed by Lagrange
Multipliers) we have Pi (0) = Pi∗ +rt−rs.x∗i Algorithm works in two stages 1. Users submit their bid
with their demand. 2.The auctioneer will decides on price vector when should auction will end.Then
he can decide the optimal point of termination. Bidders are then allocated and charged according
to VCG rule. The criteria of optimization may be either the Revenue Maximization or the Social
Welfare. They have not proven any optimality constraints.They showed that experimented results
are better than other techniques.

Problem Statement
Given a network represented by graph G = (V, E) where V is a finite set of vertices/nodes and E
is the set of edges/arcs. Each edge eij where i, j element of V has a capacity cij and a cost/price
pi,j . Let there be a set of pairs of source and sink Sk = (sk , tk ) each with a supply and demand. Sk ,
source and sink pair represent two modes who want to communicate with each other. The problem
is to find a minimum cost allocation of bandwidth across the network.
It can be mathematically stated as :
XX
min f (ekij ) ∗ pij
i,j k

where f (ekij ) is the bandwidth corresponding to Sk in the edge eij


X X  f (Sk ) if i = sk
f (ekij ) − f (ekji ) = −f (Sk ) if i = tk (6)
0 otherwise

j|(i,j)∈E j|(j,i)∈E

X
f (ekij ) <= cij
k

f (ekij ) >= 0
It can be seen that the number of variable here are equal to the number of arcs multiplied by the
number of pairs Sk . Hence as the number of variables gets bigger and bigger the time to solve even
gets bigger.
This problem can directly model a network where there are nodes ready to communicate with each
other. And we have to find the minimum cost allocation of bandwidth to such nodes so that they
can communicate. The problem can be varied with integral bandwidth or non-linear cost function.

3
Auction Algorithm
There can be various such approach such first finding a feasible solution and iterating it to get a
solution close to optimal. But our algorithm would first find an optimal solution for each Sk and
then combine them to get a feasible solution.

1.Basis
We run the min-cost flow algorithm individually for each Sk . Hence find an individual optimal
solution which corresponds to and optimal path. Now we would look at the conflicts at the common
edges i.e for any edge eij there are more than Sk who are interested in taking that path. One such
path is chosen and the algorithm start with it.

2.Auction/Bidding
• Begin: Each of Sk who have a conflict at the corresponding edge eij and satisfy the condition
for bidding would have to bid for the link/edge keeping in mind it’s usage and the cost of
avoiding it. The bid value for each of Sk can be evaluated by solving a new min-cost flow
without the current edge, then subtracting it with the current optimal value.
Condition for bidding : If the some of the flows/bandwidth allocated to all Sk at the edge does
not exceed the capacity then there will be no bidding, otherwise we have to have bidding in
order to determine the winner.
• End: The main program determines the winner of the bid. The edge/link is then assigned to
the winner of the bid. The losers have to change the maximal capacity in that arc to zero.
Note that we have determined only one winner and all other are kicked out.
• Reopen Auctions: Some of the Sk lost their bid and have to consider changing their route
and therefore they can reconsider their bids on previous auctions. In such cases the previous
auction can be reopened and the capacity of the arc/edge be changed to the original value.

3.Updating and Iteration


After all the capacities are updated then each of Sk solve their (adapted) min-cost flow. If there
still remains some arc/edge which has a conflict then return to step 2. Otherwise stop.

Proof and Termination


The algorithm will work only if the output is an optimal solution given feasible solution exists. So
we have to take care of the feasibility and the optimality.

Termination
It is easy to see that the algorithm never terminates if the solution is not feasible. This happens
because algorithm will keep on iterating till all the conflicts have been removed. We now look at
the number of conflicts. The number of conflicts is equal to the maximal number of conflicts per
arc/edges multiplied with the number of arcs/edges. Moreover the maximal number of conflicts per
arc/edge depends on the maximal number of auctions started by Sk (source,sink pair) multiplied
with the number of such pairs, Sk . Sk starts a new auction if it has lost an arc/edge and migrates
to some other arc where it again faces conflict. So essentially the number of times Sk will reopen
an auction is the number of edges/arcs. So the maximal number of auctions are |E|2 .|K| K is
the number of pairs Sk and |E| is the number of arcs/edges. So unless there are infinite number of
arcs/edges or number of pairs Sk the termination time will be bounded.

4
Optimality
Only way the solution can’t be optimal, is that there exists some Sk for which the route is not
optimal. There can be two such cases. First there exist some arc which is free and has to be used
by some Sk . This can only happen if the capacity if the arc has been changed to zero. But the step
3 of our algorithm will ensure the arc is repined for bidding by changing it’s capacity to original
value. Secondly there exist some arc which is wrongly occupied. This can only happen if somebody
loses the auction due to too low bidding strength or too high bidding strength of the opposition.
Too high strength of the opposition can only happen if it has faced a large number of losses. So it
had losses before earlier auction and losses before it. However there are finite number of auctions.
But the first auction is without an earlier auction so this situation is not feasible. Too low strength
can occur only if there is some free path incorrectly available. This can only happen if somebody
didn’t occupy an optimal path. Because otherwise this would have led to an increase in strength.
And this can happen if there was an error in the earlier auctions.

Conclusion and Future Work


We have proposed an algorithm which would work for the minimum cost allocation of bandwidth
over a given network and proved it’s feasibility and optimality. It would be very interesting to watch
the performance of the application after parallelization. Also we would like to extend this approach
for other algorithms and problems.

Acknowledgment
We would like to thank our supervisor Prof. Sumit Ganguly for his guidance and for being very
encouraging and helpful throughout this work.

References
[1] Dimitri P. Bertsekas. Auction algorithms for network flow problems. 1992.
[2] Costas Courcoubetis Manos Dramitinos *, George D. Stamoulis. An auction mechanism for
allocating the bandwidth of networks to their users. 2007.
[3] Simon Parson. A bulffers guide to auction algorithm. pages 1–64, 2007.

You might also like