repacking problem solving the station€¦ · new problems. however… if a set s is packable, then...
TRANSCRIPT
Solving the Station R
epacking Problem
Alexandre Fréchette, N
eil New
man, K
evin Leyton-Brow
n
Agenda
●B
ackground●
Problem●
Novel A
pproach●
Experimental R
esults
Background
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.
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.
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.
Forward A
uction
Step 1: Sell spectrum to m
obile companies
Step 2: Profit
Problem D
efinition
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
.
ConsiderationsW
hat is involved in this repacking problem
?
Dom
ain assignments
Interference constraints
Performance
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.
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.
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
.
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.
Novel A
pproach
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
SAT Encoding
Encode as a propositional satisfiability problem
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
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
https://simons.berkeley.edu/talks/kevin-leyton-brow
n-2015-11-19
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.
Algorithm
C
onfigurationU
se machine learning to find
optimal algorithm
parameters
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
)
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)
Sample A
lgorithm C
onfiguration Results
Algorithm
Portfolio
#team
work
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.
Incremental
Repacking
leveraging current assignments
Local Augm
enting
Starting Assignm
ent for Local Search Solvers
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.
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.
Problem
Simplification
Making sm
aller problems out of
bigger problems
Graph decom
position
Station Rem
oval
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.
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.
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?"
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/
Containm
ent C
achingFeasible cache
Infeasible cache
Fast cache queries
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.
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
.
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
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.
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.
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.
Experimental R
esults
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.
Final results on test data
Questions?