46
Algorithms for Concave Cost Network Flow Problems Kamesh Munagala Stanford University

Algorithms for Concave Cost Network Flow Problems

  • Upload
    tavia

  • View
    45

  • Download
    0

Embed Size (px)

DESCRIPTION

Algorithms for Concave Cost Network Flow Problems. Kamesh Munagala Stanford University. Talk Outline. Motivation via simple example Concave cost flow problem: Formal problem statement Simple Randomized Algorithm Special Cases: Motivation from networking problems Our results - PowerPoint PPT Presentation

Citation preview

Page 1: Algorithms for  Concave Cost Network Flow Problems

Algorithms for Concave Cost Network Flow Problems

Kamesh MunagalaStanford University

Page 2: Algorithms for  Concave Cost Network Flow Problems

Talk Outline Motivation via simple example

Concave cost flow problem: Formal problem statement Simple Randomized Algorithm

Special Cases: Motivation from networking problems Our results The buy-at-bulk algorithm

Page 3: Algorithms for  Concave Cost Network Flow Problems

Cost Structures in Network Design

Page 4: Algorithms for  Concave Cost Network Flow Problems

Warehouse Location

Page 5: Algorithms for  Concave Cost Network Flow Problems

Decision Problem Costs:

Opening and operating warehouse Shipping demand Tradeoff: Lots of warehouses implies low shipping

cost

Optimize: Linear combination of costs

Decisions: How many warehouses to open Where to open warehouses How to ship to outlets

Page 6: Algorithms for  Concave Cost Network Flow Problems

Warehouse Cost Minimum fixed cost for

operating warehouse

Additional cost depending on storage capacity needed

Typically reduces as capacity increases

Example: Staff does not double with doubling capacity

Cost

Storage Capacity

Fixed Cost

Page 7: Algorithms for  Concave Cost Network Flow Problems

Transportation Cost Linear in distance

to outlet

Linear in load transported to outlet

Minimum fixed cost for one truck

Cost

Load Transported

One Truck

Page 8: Algorithms for  Concave Cost Network Flow Problems

Features of Cost Structure Economies of Scale

More capacity cheaper per unit demand Applies to warehouse costs

Discreteness in quantity Cannot purchase arbitrarily small capacity Applies to warehouse and transportation costs

General phenomena in network design: Costs of caches, routers and cables obey these

properties

Page 9: Algorithms for  Concave Cost Network Flow Problems

Modeling Allocation Costs Cost is:

non-decreasing concave

function of

demand servicedDemand

0

Cost

Page 10: Algorithms for  Concave Cost Network Flow Problems

Concave Cost Flow Problem

Page 11: Algorithms for  Concave Cost Network Flow Problems

Concave Cost Flow Problem

Given: Undirected network Cost on edges

Concave function of demand

Many demand nodes Distinguished sink

node

Compute: Minimum cost flow

Sink

Sources

Page 12: Algorithms for  Concave Cost Network Flow Problems

Facility Location

Transportation Cost = c(i,j)

Warehouse cost = f(i)

Outlet jDemand d(j)

Optimize: c(i,j) d(j) + f(i)

Warehouse i

Page 13: Algorithms for  Concave Cost Network Flow Problems

Modeling Facility Location

Optimize: c(i,j) d(j) + f(i)

f(i)

Sink

c(i,j)

d(j)

i

Page 14: Algorithms for  Concave Cost Network Flow Problems

SolutionSink

Page 15: Algorithms for  Concave Cost Network Flow Problems

Other Special Cases Steiner Trees Probabilistic Steiner Trees [KM00] Multilevel Facility Location Buy at Bulk Network Design [SCRS97]

Applications in network design: Multicast tree design Hierarchical placement of caches and routers Placement of web content in caches Buying cables to provision bandwidth

Page 16: Algorithms for  Concave Cost Network Flow Problems

Hardness of the Flow Problem Facility location is NP-Hard

Steiner Tree Problem: Fixed cost for using edge NP-Hard [Karp. 1972]

Approximation algorithms: Provably close to optimal

solution on all instances Example: Cost 5 OPT

Polynomial running time C

ost

Flow0

Sink

Cost = 5

Flow = 1

2

1

31

1

Page 17: Algorithms for  Concave Cost Network Flow Problems

Previous Results Operations Research:

Uncapacitated Fixed Charge Problem Magnanti, Mireault, Wong. 1986 Hochbaum, Segev. 1989 Ortega, Wolsey. 2000

No approximation algorithms known for this problem

Page 18: Algorithms for  Concave Cost Network Flow Problems

Our Result Logarithmic approximation

[Meyerson, Munagala, Plotkin. 2000]

Properties of our algorithm: Simple to implement

Uses shortest path and greedy matching computations Efficient in practice Approximation ratio much better on real data

Subsequent Results: Best approximation result till date De-randomization [Chekuri, Khanna, Naor. 2001] Best hardness: 1.47 [Guha, Khuller. 1998]

Page 19: Algorithms for  Concave Cost Network Flow Problems

Basic Algorithm Merging demand reduces cost:

For every pair (u,v) compute min cost path in graph to send demand from u to v or vice versa

Let this be cost of (u,v) edge Compute min cost matching in this

complete graph Pair demands using this matching Choose one node in pair as center

and send demand to it Number of demand nodes halves Repeat logarithmic times

Page 20: Algorithms for  Concave Cost Network Flow Problems

Proof Idea The optimal solution encodes a matching of nodes Implies cost of matching at most cost of optimal solution [Marathe et al 1998]

Matching in OPT’s solution

s

u v

Page 21: Algorithms for  Concave Cost Network Flow Problems

Problem too hard? Which node is cheaper to route to

depends on demand being routed Hard to make decisions about merging a

whole group of nodes Not enough structure in solution

Except for the fact that it encodes a matching

Best hardness result known is only 1.47 Guha, Khuller. 1998

Page 22: Algorithms for  Concave Cost Network Flow Problems

Special Cases of Concave Cost Flow

Page 23: Algorithms for  Concave Cost Network Flow Problems

Facility Location

Transportation Cost = c(i,j)

Warehouse cost = f(i)

Outlet jDemand d(j)

Optimize: c(i,j) d(j) + f(i)

Warehouse i

Page 24: Algorithms for  Concave Cost Network Flow Problems

Previous Results Operations Research:

Kuehn, Hamburger. 1963 Cornuejols, Fisher, Nemhauser. 1977

Approximation Algorithms: Guha, Khuller. 1998 (Lower bound = 1.47) Mahdian, Ye, Zhang. 2002 (1.52 approx) Fast combinatorial algorithms known

[CG99,JV99,AGKMMP01]

Applications: Centroid based clustering Placement of caches and replicated data objects:

Minimize latency of user access

Page 25: Algorithms for  Concave Cost Network Flow Problems

Our Result Novel variant of facility location:

Each facility needs to satisfy minimum amount of demand

Load Balanced facility location Constant factor approximation algorithm

[KM00,GMM00] Reduction to classical facility location

Applications: Subroutine in concave cost flow algorithms Solving clustering variants [GM02]

Favor either large or small cluster sizes

Page 26: Algorithms for  Concave Cost Network Flow Problems

Multilevel Facility Location

Outlets

Production Units

Warehouses

2-level Warehouse Location

f(i)

g(k)

d(j)

c(i,j)

c(k,i)

Page 27: Algorithms for  Concave Cost Network Flow Problems

Previous Results Problem formulation:

Kaufman, vanden Eede. Hansen, 1977

Factor 3 approximation: Aardal, Chudak, Shmoys. 1999 Exponential size linear program

Can be solved using Ellipsoid algorithm Very inefficient in practice

Application in networks: Hierarchical placement of caches, switches and

routers

Page 28: Algorithms for  Concave Cost Network Flow Problems

Modeling as a Flow Problem

f(i)

i i

Outlets

c(i,j)c(i,j)

g(k)Sink

Two copies of the network

k

Route flow from outlets to the sink node

Page 29: Algorithms for  Concave Cost Network Flow Problems

Our Results Simple combinatorial algorithm:

9 approximation [GMM00] Reduce to classical facility location

Can now use very efficient algorithms

Subsequent results: 3.27 approximation

Ageev, Ye, Zhang. 2002 Combinatorial algorithm

Page 30: Algorithms for  Concave Cost Network Flow Problems

Buy-at-bulk Network Design Provisioning cables to route data to core

network

Bandwidth cost obey economies of scale Cable types:

T1: 1.5 Mbps $30/mile $20/Mbps/mile T3: 44 Mbps $440/mile $10/Mbps/mile

Cost of cables is a concave function

Metrical special case: Cost of bandwidth same per unit length everywhere Concave function same per unit length on all edges [Salman, Cheriyan, Ravi, Subramanian. 1997]

Page 31: Algorithms for  Concave Cost Network Flow Problems

Why is this problem simpler? Notion of close-by:

If dist(a,b) < dist(a,c) Cheaper to transport demand from a to b than to c Independent of demand transported

Natural algorithm: Merge close-by demands together Cheaper to transport this merged demand to a far

away place

General concave cost flow: Closeness is a function of demand transported

Page 32: Algorithms for  Concave Cost Network Flow Problems

Recursive Metric Partitioning Just focus on the metric space

Ignore the cost function completely

Recursively partition graph based on closeness (randomized):

Partitions have smaller diameter than original graph [Bartal96, Bartal98, CCGG98, CCGGP98]

Nodes in different partitions far away from each other w.h.p.

For each partition, have a center node Collect all demand within a partition at center node Send this demand to the center of the parent of this partition

[Awerbuch, Azar. 1997]

Page 33: Algorithms for  Concave Cost Network Flow Problems

Partitioning

Diameter < D/2

w.h.p. Distances > D/log n

Diameter of Graph = D

Page 34: Algorithms for  Concave Cost Network Flow Problems

RoutingRoute from centers of children to center of parent

Page 35: Algorithms for  Concave Cost Network Flow Problems

Discussion Paradigm of aggregation:

Group together close-by demand nodes Reduce cost of transportation

Problems with approach: Same partition for all cost functions

Some close-by nodes bound to end up in different partitions

Problem even if graph is just a cycle Worst case logarithmic performance expected in practice

Page 36: Algorithms for  Concave Cost Network Flow Problems

Other Approaches Linear Programming:

Andrews and Zhang. 1998 Improve the logarithmic ratio for special cases Usually produces optimal integer solutions in practice The size of the program is huge:

N3 variables Inefficient in practice

Simple algorithms known for very special cases: Salman, Cheriyan, Ravi, Subramanian. 1997

Page 37: Algorithms for  Concave Cost Network Flow Problems

Our Solution Idea Use cost function to construct the partitioning:

Say we have T1 and T3 lines Say cheaper to use T3 line if bandwidth > 10Mbps Then, we should find:

Min cost way of aggregating demands using T1 lines Each aggregated node receives 10Mbps bandwidth Min cost way of connecting aggregated nodes to sink

node Construct partitioning bottom-up instead of top-down

Properties of partition: Close-by demands still grouped together The cost function decides group boundaries

Page 38: Algorithms for  Concave Cost Network Flow Problems

First Aggregation Step

Groups with 10 Mbps total bandwidth

Aggregation point

T1 lines

Partition assuming T3 line becomes cheaper at 10 Mbps bandwidth

Page 39: Algorithms for  Concave Cost Network Flow Problems

Complete Solution

T3 lines

Page 40: Algorithms for  Concave Cost Network Flow Problems

Constructing the Partitions Given:

A set of demand nodes Length metric on edges

Select: Set of aggregation points Send at least U demand per point Route along shortest paths Minimize total routing cost

Load Balanced Facility Location O(1) approximation [KM00,GMM00]

Iteratively construct larger partitions

Demand > U

Page 41: Algorithms for  Concave Cost Network Flow Problems

One IssueRouting with a cable type need not be along shortest paths

0.5

1 1

Case 1: Cost = 1.5 Cost = 2 Demand = 0.5 Case 2: Cost = 2.5 Cost = 2 Demand = 1.0

Capacity = 1 Cost/Length = 1

Page 42: Algorithms for  Concave Cost Network Flow Problems

Another Issue We are constructing partition bottom-up

Optimal partition could look different If we make error in first grouping, error propagates upward How do we bound cost against optimal cost

Scaling technique: Observation: Error propagates only if similar cable types

exist Eliminate all cable types that look similar except one Partitioning at every stage close to optimal partitioning

Constant factor approximation [GMM00,GMM01]

Page 43: Algorithms for  Concave Cost Network Flow Problems

Properties of Algorithm Simple to implement:

Uses facility location and Steiner trees as subroutines

Very efficient in practice Preliminary experimental results:

Real ISP and geographic data Real cable types and costs At most 10% away from optimal solution

Subsequent work: Talwar. 2002 (213 approx) Gupta, Kumar, Roughgarden. 2003 (72 approx) Based on the ideas in our algorithm

Page 44: Algorithms for  Concave Cost Network Flow Problems

Open Problems Better approximation ratios:

Buy-at-bulk: 72 [GKR03] Concave cost flow: Logarithmic approximation [MMP00]

Multiple sink concave cost flow: Aggregation paradigm fails! Buy-at-bulk problem:

Logarithmic approximation [AA97]

Aggregation paradigm applicable to other problems?

Page 45: Algorithms for  Concave Cost Network Flow Problems

AcknowledgementsResearch collaborators: Serge Plotkin, Stanford University Abhiram Ranade, IIT Bombay

Sudipto Guha and Adam Meyerson

Matthew Andrews, Bell Laboratories Pat Brown, Stanford University School of Medicine Ramesh Hariharan, Strand Genomics Pvt. Ltd.

Zoe Abrams, Ashish Goel, Baruch Schieber, Debasis Mitra, Devavrat Shah, Jochen Konemann, Maxim Sviridenko, Rina Panigrahy, Rob Tibshirani, Shankar Krishnan, Suresh Venkat and Tracy Kimbrel

Page 46: Algorithms for  Concave Cost Network Flow Problems

AcknowledgementsTheory wing: Mayur Datar, Aris Gionis, Gagan Aggarwal, Keyvan Mohajer,

Liadan O’Callaghan, Majid Emami, Moses Charikar and Piotr Indyk

Friends : Dhananjay Gore, Rohit Nabar, Aditi Nabar, Kumar

Muthuraman, Mohan Lakhamraju, Nandan Das, Prashanth Hande and Sameer Siruguri

Parents and Roopa