repacking problem solving the station€¦ · new problems. however… if a set s is packable, then...

50
Solving the Station Repacking Problem Alexandre Fréchette, Neil Newman, Kevin Leyton-Brown

Upload: others

Post on 05-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Solving the Station R

epacking Problem

Alexandre Fréchette, N

eil New

man, K

evin Leyton-Brow

n

Page 2: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Agenda

●B

ackground●

Problem●

Novel A

pproach●

Experimental R

esults

Page 3: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Background

Page 4: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

A B

rief History

Spectrum rights have historically been a m

ess. Licenses were given aw

ay after public or private hearings.

Then, the FCC

pioneered selling spectrum through auctions.

Broadcast TV

viewership (dem

and) has declined over the years.

Mobile dem

and for spectrum has increased.

It would be great to “clear” TV

spectrum for m

obile use.

Page 5: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if
Page 6: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if
Page 7: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Spectrum Incentive A

uction

Goal: Free up contiguous spectrum

for mobile use

Let’s buy back the UH

F radio spectrum and then sell it to the m

obile companies.

Stations can…1.

Take our money and close up shop

2.Take a portion of our offer to voluntarily m

ove down the spectrum

3.N

ot participate but may be forced to m

ove down

This will be through a reverse auction follow

ed by a forward auction.

Process cancelled if government can’t break even or m

ake money.

Page 8: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Reverse A

uction

Multiple round descending price countdow

n auction.

Initial offer depends on local competition, national clearing target, etc. Prices

should motivate stations to sell.

Stations are considered in a round-robin style during the auction.

Price/offer for a given station will decrease each round assum

ing they can be “repacked” at a low

er frequency.

Page 9: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Forward A

uction

Step 1: Sell spectrum to m

obile companies

Step 2: Profit

Page 10: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Problem D

efinition

Page 11: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Problem

We need to be able to determ

ine if it is feasible to move (repack) a channel during

the reverse auction.

Stations can only use certain channels.

Stations cannot interfere with one another.

We w

ill be given hundreds of thousands of repacking problems throughout the

auction.

This is a NP-C

omplete problem

we w

ill need to solve quickly during the auction.

Standard solutions like MIP are too slow

.

Page 12: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

ConsiderationsW

hat is involved in this repacking problem

?

Dom

ain assignments

Interference constraints

Performance

Page 13: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Dom

ain Constraints

Not all stations can use all channels.

A dom

ain file is provided which lists the possible channels each station could be

assigned in the repacking process.

Page 14: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Interference Constraints

We m

ust make sure repacking does not introduce interference.

Co-channel constraints: 2+ stations cannot be assigned the sam

e channel

Adjacent channel constraints: Specific stations cannot be assigned adjacent channels

An interference file is provided w

hich enumerate these constraints.

Page 15: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Interference Graph

The undirected graph of interference constraints.

Roughly 20

00

channels.

Because of adjacency constraints, w

e cannot solve as a graph coloring problem

.

Page 16: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Performance

We need to solve these repacking problem

s quickly…

So auction designers and economists can experim

ent and study auction behavior.

If we can’t solve a particular station in tim

e we cannot low

er the bid which could

leave money on the table.

The auction is expected to have several rounds per day and take weeks overall.

Page 17: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Novel A

pproach

Page 18: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Approach: SA

TFC 2.0

SAT encoding and SA

T solvers

Algorithm

Configuration using SM

AC

Algorithm

Portfolio

Incremental Station R

epacking

Problem Sim

plification

Hydra technique (A

C + A

P)

Containm

ent Cache

Page 19: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

SAT Encoding

Encode as a propositional satisfiability problem

Page 20: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Encode as Satisfiability Problem

Repacking is w

ell suited as a feasibility problem w

ith combinatorial constraints.

Leverage open-source, high performance solvers.

S = {all stations}

C = {all channels}

D = {dom

ain allowable station/channel m

appings}

I = {invalid station/channel mappings due to co-channel or co-adjacency}

Basic form

look like

Page 21: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

SAT Encoding C

lauses

1. Each station is assigned at least one channel

2. Each station is assigned at most one channel

3. Interference constraints are respected

Page 22: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

https://simons.berkeley.edu/talks/kevin-leyton-brow

n-2015-11-19

Page 23: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

SAT Solvers

Outperform

ed initial mixed

integer program solvers

(CPLEX

, Gurobi).

18 SAT solvers initially

evaluated, none were able to

solve all problems in target

time of 6

0 seconds.

Most problem

s are actually solvable (~9

9%

) but not before tim

eout.

Page 24: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Algorithm

C

onfigurationU

se machine learning to find

optimal algorithm

parameters

Page 25: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Algorithm

Configuration

Some solvers like C

LASP have lots of param

eters allowing for fine-tuning.

We can view

this as an optimization problem

and use an automated approach to

find the best parameters for our problem

.

Leyton-Brow

n’s research group previously developed software for algorithm

configuration: Sequential M

odel-based Algorithm

Configuration (SM

AC

)

Page 26: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

SMA

C

Step 1: Configure SM

AC

with the solver and

parameters.

Step 2: Configure run period (ex: one day) for

SMA

C to find best param

eter values.

SMA

C w

ill build a response surface starting w

ith random(ish) initial param

eters and hone in on the best values for a given problem

.

(uses random forest regression trees)

Page 27: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Sample A

lgorithm C

onfiguration Results

Page 28: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Algorithm

Portfolio

#team

work

Page 29: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Algorithm

Portfolio

Rarely can w

e find a single solver to resolve all problems for an N

P-Hard problem

.

Instead, select a set of complem

entary solvers.

Attack the problem

in parallel with the solvers.

This is also an active area of study for Leyton-Brow

n’s research group.

Page 30: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Incremental

Repacking

leveraging current assignments

Local Augm

enting

Starting Assignm

ent for Local Search Solvers

Page 31: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Local Augm

enting

When checking feasibility of repacking a station, only consider the station and its

imm

ediate neighbors.

Hold all stations outside of this neighborhood fixed.

If we can quickly determ

ine the local repack is feasible than we are done.

A m

odified DC

CA

-preSA

T improved over D

CC

A by solving 78.5

% of test instances

in .1 seconds before stagnating.

Page 32: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Starting Assignm

ent for Local Search Solvers

“Local search solvers such as DC

CA

work by searching a space of com

plete assignm

ents and seeking a feasible point, typically following gradients to m

inimize

an objective function that counts violated constraints, and periodically random

izing.”

Similar to Local A

ugmenting, w

e can start with current assignm

ents for a repack and then give s

+ a random channel to start w

ith.

This approach does not constrain the problem to the neighborhood of s

+.

A m

odified DC

CA

+ improved over D

CC

A by solving 85

.4% of the sam

ple problems

before the timeout.

Page 33: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Problem

Simplification

Making sm

aller problems out of

bigger problems

Graph decom

position

Station Rem

oval

Page 34: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Graph D

ecomposition

A set of related stations w

ill usually results in a disconnected subgraph of interference constraints.

We can often break a problem

down into m

ultiple subgraphs / components.

Each subgraph is a computationally easier problem

s to solve.

If we can prove one of the sm

aller problems is infeasible then the w

hole problem is

infeasible.

The largest component is often significantly sm

aller than the original problem.

Page 35: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Underconstrained Station R

emoval

There are some stations that can alw

ays be repacked due to less local competition

for channels.

Rem

oving these stations from the original feasibility problem

makes it easier to

compute.

This also improves graph decom

position.

Page 36: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Hydra

Iteratively build our portfolio:A

lgorithm C

onfiguration + A

lgorithm Portfolio

"Which solver w

ill offer the greatest m

arginal contribution to the existing portfolio?"

Page 37: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Hydra

Problem sim

plification lowers correlation betw

een solvers making them

“more

different”.

SATzilla is an algorithm

portfolio builder that iteratively adds a solver/algorithm that

adds the most value.

This is, of course, an active area of study by Leyton-Brow

n’s research group and their SA

Tzilla software has w

on numerous SA

T competitions.

http://ww

w.cs.ubc.ca/labs/beta/Projects/SA

Tzilla/

Page 38: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Containm

ent C

achingFeasible cache

Infeasible cache

Fast cache queries

Page 39: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Subsets and Supersets

We know

all of the constraints ahead of time.

We have lots of tim

e to prepare.

But pre-cached problem

solutions were found to R

AR

ELY be directly applicable for

new problem

s.

How

ever… if a set S is packable, then every subset S

’ ⊆ S is also packable (and w

e have the packing)

Similarly, if set S is N

OT packable, then every superset S

’ ⊇ S is also N

OT packable

We can build caches w

hich tell us wither one set contains another.

Page 40: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Let’s Build C

aches

We w

ill build feasible and infeasible caches for each problem w

e solve.

When faced w

ith a new problem

to repack station set S...

Check w

hether the feasible cache contains a superset of S. It’s feasible!

Check w

hether the infeasible cache contains a subset of S. It’s infeasible!

Else, simplify and decom

pose the problem. C

heck to see if each component can

be found in the feasibility cache.

This becomes a cache querying problem

.

Page 41: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Contains a full solution m

apping (if exists) for a given problem along w

ith the problem

instance and simplified com

ponents.

Indexed by a hash function.

Not useful to answ

er feasibility question directly - see secondary caches.

Primary (traditional) C

aches

Page 42: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Secondary Caches

Contain lists of station sets that correspond to entries in the prim

ary cache.

We use these for querying and then “hash” into the prim

ary cache when needed.

Each station set is represented by a bit string {1101..0

00

10110

1} which can be

interpreted as a large integer.

Very com

pact/efficient: “a cache of 200

,00

0 entries, each consisting of 2,0

00

stations/bits, occupies only 5

0 M

B”

We can have ᭧ m

ultiple secondary caches (descending order by integer value) with

different random bit orders to search over.

Page 43: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Superset Cache Q

uerying

Given a query S, w

e perform binary search on each of the ᭧ secondary caches to

find the primary cache index corresponding to S (if it is in the cache) or of the

smallest entry larger than S (if not in cache)

If we find S, that is a direct hit on a solution.

If we don’t find S, but w

e find a superset (larger entry), then we know

the repack is feasible as part of a larger feasible repack.

Testing showed query execution w

ithin an average time of 30

ms on a cache of

nearly 200

,00

0 entries.

Page 44: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if
Page 45: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Containm

ent Cache Evaluation

Used a 4 solver portfolio on all FC

C supplied instances for 24 hours.

Solvers used the cache for lookups as they also built it up.

Afterw

ards, had a cache of 185,75

0 entries.

Largest problem in feasible cache had 1170

stations while sm

allest problem in

infeasible cache had 2 stations. (remem

ber superset vs subset lookups).

They built 5 secondary caches each w

ith different bit orderings (᭧ = 5).

When view

ed as a “solver” it outperformed all other algorithm

s, solving 98.2%

of problem

s.

Page 46: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if
Page 47: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Experimental R

esults

Page 48: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Results

This research produced a 4 solver portfolio plus the containment cache for

addressing the repacking problem nam

ed SATFC

2.0.

Solvers: DC

CA

-preSAT, D

CC

A+, clasp-h1, and clasp-h2

In evaluation, this solution was able to solve 9

9.0

% of test instances in under 0

.2 seconds, and 9

9.6

% in under a m

inute.

Page 49: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Final results on test data

Page 50: Repacking Problem Solving the Station€¦ · new problems. However… if a set S is packable, then every subset S’ ⊆ S is also packable (and we have the packing) Similarly, if

Questions?