31
Facility Location with Nonuniform Hard Capacities Martin Pál Éva Tardos Tom Wexler Cornell University 1

Facility Location with Nonuniform Hard Capacities

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Facility Location with Nonuniform Hard Capacities

Facility Location with Nonuniform Hard

Capacities

Martin Pál Éva Tardos Tom WexlerCornell University

1

Page 2: Facility Location with Nonuniform Hard Capacities

Metric Facility Location

F is a set of facilities.D is a set of clients.

cij is the distance between any i and j in D ∪ F.

Facility i in F has cost fi.

client

facility54

23

2

Page 3: Facility Location with Nonuniform Hard Capacities

Problem Statement

We need to:

1) Pick a set S of facilities to open.

2) Assign every client to an open facility (a facility in S).

Goal: Minimize cost of S + distances.

client

facility54

23

openedfacility

3

Page 4: Facility Location with Nonuniform Hard Capacities

More Formally

Facility cost cf(S): sum of fi over all i in S.

Service cost cs(S): sum of distances from clients to assigned facilities.

Goal: Minimize cf(S) + cs(S).

client

facility54

23

openedfacility

4

Page 5: Facility Location with Nonuniform Hard Capacities

Hard CapacitiesEvery facility i has a capacity ui. (how many clients i can serve)

Soft Capacities: can open k copies of facility i and serve k·ui clients.

Hard Capacities: can’t open multiple copies of any facility.

Note: with hard capacities, there may be no solution.

5

Page 6: Facility Location with Nonuniform Hard Capacities

Previous Results ITechniques Used for Fac. Loc.:

LP rounding

Primal-dual algorithms

Chudak & Shmoys ‘99, Jain & Vazirani ‘99:

LP techniques give c-approx. for soft capacities.

Problem: Known LPs have large integrality gap for hard capacities.

6

Page 7: Facility Location with Nonuniform Hard Capacities

Previous Results IITechniques Used for Fac. Loc.:

Local search

Korupolu et al ‘98, Chudak & Williamson ‘99: Local search gives c-approx. for uniform, hard capacities.

Arya et al ‘01: Local search gives c-approx. for nonuniform, soft capacities.

Our Result:

Local search gives c-approx. for nonuniform, hard capacities.

7

Page 8: Facility Location with Nonuniform Hard Capacities

Local Search

1) Start with any feasible solution.

2) Improve solution with “local operations”.

3) Stop when there are no remaining operations that lower the cost.

Well, almost…

…we want to finish in poly-time:

Each operation is required to lower cost by a factor of 1/poly(n,ε).

8

Page 9: Facility Location with Nonuniform Hard Capacities

Operation 1 (of 3): add

1) add(s) – Open facility s.

If our solution opened S before, add(s) means we open S ∪ {s} now.

Given S, where do we send clients?

ï Without capacities, we just assign clients the the nearest open facility.

ï With capacities, we can still get optimum by solving a min cost flow.

9

Page 10: Facility Location with Nonuniform Hard Capacities

Operation 2: open

2) open(s,T) – Open facility s, send clients from T to s, and close T.

s

sIf we close t, we are only allowed to send t’s clients to s.

before

after Capacity of s ≥ # of clients served by T.

10

Page 11: Facility Location with Nonuniform Hard Capacities

Operation 3: close

3) close(s,T) – Open facilities T, send clients from s to T, close s.

s

sCapacity of T ≥ # of clients served by s.

before

after

11

Page 12: Facility Location with Nonuniform Hard Capacities

Can We Find Operations?

Too many operations like open(s,T) and close(s,T) to consider all!

Can we get find the best one?

Not quite, but close enough.

Plan: For each facility s, generate a good set T for the open operation.

Likewise for close.

12

Page 13: Facility Location with Nonuniform Hard Capacities

Good Operations

Want to open s, need to pick T.

Idea: t has demand & benefit.

A knapsack problem! (have scheme)

st

Value(t) = ft + reassignment costs.

Size(t) = # clients assigned to t.

max. ∑t є T Value(t)

s. t. ∑t є T Size(t) ≤ cap.(s).

iopen(s, T)

13

Page 14: Facility Location with Nonuniform Hard Capacities

Service Cost

What can we say about the output of our algorithm?

Thm: [Korupolu et al]

If no add(s) op. improves solution S,

cs(S) ≤ cs(SOPT) + cf(SOPT).

So service cost is low. What about facility cost?

14

Page 15: Facility Location with Nonuniform Hard Capacities

Facility Cost

Bounding cf(S):

Local opt. 0 ≤ operation costs. (for any operation)

Every operation gives a bound:

Consider close(s, T).

cf(s) ≤ cf(T) + ∆

benefit of closing s

cost of opening T

change in cost of shipping to T

15

Page 16: Facility Location with Nonuniform Hard Capacities

The PlanIdea: Pick some set of operations.

Each gives cf(T) ≤ cf(T’) + ∆ for some sets T and T’.

(closed) (opened)

Pick operations so that

ï each s in S is closed exactly once.

ï each s in SOPT is opened ≤ k times.

ï reassignment costs are small.

16

Page 17: Facility Location with Nonuniform Hard Capacities

The Exchange Graph

Operations should depend on SOPT.

S — SOPT

SOPT

cij

Flow in = demand served by S

Flow out ≤ capacity of facilities in SOPT

We want: swap(SOPT, S — SOPT).

We don’t have such an operation.

17

Page 18: Facility Location with Nonuniform Hard Capacities

Looking For Operations

S — SOPT

SOPT

cij

Flow in = demand served by S

Flow out ≤ capacity of facilities

y = flow of clients from S to SOPT.

cost(y) ≤ cs(S) + cs(SOPT)

Cost of swap(SOPT, S — SOPT) ≤

cost(y) + cf(SOPT) - cf(S).18

Page 19: Facility Location with Nonuniform Hard Capacities

What is the Flow?

Conveniently, the flow is a tree! (or rather a forest… just augment cycles)

S — SOPT

SOPT

How do we get operations from this?

Remember, we will use inqualities like cf(T) ≤ cf(T’) + ∆.

Since flow is cheap, ∆ is small. 19

Page 20: Facility Location with Nonuniform Hard Capacities

First Attempt

Just use close(s,T), picking T to be the neighbors of s in the tree.

Problem: Expensive facilities in SOPT may be opened many times.

S — SOPT

SOPT

20

Page 21: Facility Location with Nonuniform Hard Capacities

Instead…

Consider subtrees of depth 2.

r

Each node needs to be closed.

Partition these nodes into 3 sets. We’ll handle each set separately.

S — SOPT

SOPT

21

Page 22: Facility Location with Nonuniform Hard Capacities

Heavy Nodes

Heavy Nodes: nodes responsible

for > ½ the clients sent to

Note: There can be only one.

r

Only 1, so close it & open neighbors.

(i.e. use the naïve approach)

r

S — SOPT

SOPT

22

Page 23: Facility Location with Nonuniform Hard Capacities

Light Dominating

Light Dominating: nodes that

send ≥ ½ their clients up tor

r

S — SOPT

SOPT

Worst case,this doubles ’s capacity: Split into a few operations.

r

r

23

Page 24: Facility Location with Nonuniform Hard Capacities

Last Case

Light Nondominating: nodes that

send ≥ ½ their clients down.

Order these by # of clients sent up.

To close facility i open: C(i), C(i+1)

r

S — SOPT

SOPT

r

24

Page 25: Facility Location with Nonuniform Hard Capacities

Last Case

Light Nondominating: nodes that

send ≥ ½ their clients down.r

S — SOPT

SOPT

Order these by # of clients sent up.

To close facility i in LN, open:

The children of i

The children of i+1

25

Page 26: Facility Location with Nonuniform Hard Capacities

Last Case (cont’)

r

S — SOPT

SOPT

For the last LN node, we open the root instead.

For LN in total, is opened once, and the bottom facilities are opened at most twice.

r

26

Page 27: Facility Location with Nonuniform Hard Capacities

In Total

For each subtree,

is opened at most 4 times,

s are opened at most 2 times.

Every facility in SOPT is a root of 1 subtree and a child in 1 subtree.

Altogether

ï Every node in S is closed

ï Every node is SOPT is opened at most 6 times.

r

27

Page 28: Facility Location with Nonuniform Hard Capacities

Result

Thm: Our local search algorithm gives a 9-approx. for facility location with hard, nonuniform capacities.

Note 1: Actually a (9 + є)-approx.

Note 2: Scaling lowers it to 8.53…

Note 3: At best, algorithm is a 4-approx.

28

Page 29: Facility Location with Nonuniform Hard Capacities

LP Integrality Gap

u=100f=100

u=99f=1

u=1f=99

d=100

Why not use LPs for this problem?

The LP solution fully opens the green facility and opens 1/100th of the red facility, thus paying a facility cost of 2.

Any integer solution pays 100.

29

Page 30: Facility Location with Nonuniform Hard Capacities

Lower Bound How much better might our alg. be?

Thm: Alg. is at best a 4-approx.

c:6u:2

c:6u:2

c:6u:2

c:3u:3

c:0u:1

c:0u:1

c:0u:1

0 0 0

0 0 0

2

1

2

1 1

2

30

Page 31: Facility Location with Nonuniform Hard Capacities

The close(s, T) Operation

s

Knapsack? value(t) isn’t well defined: Which clients should t serve?

Solution: Use ∆ ≠ to get an upper estimate for rerouting cost.

To send demand to t, first ship it to s, then to t.

Now value(t) = cap.(t) * dist.(s, t) size(t) = cap.(t) (now we have a covering knapsack problem)

?

?

?

t

31