Upload
franklin-glenn
View
217
Download
1
Embed Size (px)
Citation preview
Hardware Accelerator for Combinatorial Optimization
Fujian Li
Advisor: Dr. Areibi
Case Study for ImplementingCase Study for ImplementingTraveling Salesman ProblemTraveling Salesman Problem
Key words: Combinatorial problem Heuristic method Local Search Simulated Annealing algorithm Traveling Salesman Problem (TSP) List representation
Combinatorial ProblemsCombinatorial Problems
Combinatorial problems Traveling Salesman Problem, Partitioning, ...
Heuristic methodLocal Search, Simulated Annealing, Tabu Search, ...
Not guarantee to find global optimum Move through search space using local
information to guide the move. Time consuming
Solution Space
Minimization Cost Function
Global OptimumLocal Optima
Local SearchLocal Search
Local Search is the basis for heuristic methods
Local SearchLocal Search
Generate Initial Feasible Solution S0
Repeat Select a Move from Neighborhood: S = N(S0) Compute Change in Cost: f(S) - f(S0) If accept then S0=S
Until
Stopping Condition
Simulated Annealing AlgorithmSimulated Annealing Algorithm
Traveling Salesman ProblemTraveling Salesman Problem
Given n cities and distances between each
of the cities,
Find a cycle that hits each city once that
minimize the total distance traveled.Combinatorial problem Complexity : O(N!)
XjX(j-1)X(j+1)
D[Xj, X(j-1)]
D[Xi, X(i+1)]
D[Xj, X(j+1)]
D[Xi, X(i-1)]
X(i-1)
Xi
X(i+1)
Traveling Salesman ProblemTraveling Salesman Problem
Swap two cities to move through the solution space
NMinimize: D(x , x ) D(x ,x )N 1i i-1i=2
Subject to: x x (1 i, j N) i ji j
Traveling Salesman ProblemTraveling Salesman Problem
ΔC = ( D(x ,x ) + D(x ,x ) + D(x ,x ) + D(x ,x ) )i i-1 i i+1 j j-1 j j+1
- ( D(x ,x ) + D(x ,x ) + D(x ,x ) + D(x ,x ) )j i-1 j i+1 i j-1 i j+1
+ +
+ +
++
-
Adder Tree
ImplementationImplementation
List data structure is good for heuristic algorithms Grow and shrink easily Implement common operations easily
• Move
An item is moved from one list to the end of another list.
• Swap
Two items are swapped from the same or different lists.
• Reposition
The position of an item in a list is changed.
ImplementationImplementation
Memory for storing solutionsA unit for generating a moveA unit for computing the change in costA unit for using Boltzmann equation
)/( TCe
C
ImplementationImplementation
ImplementationImplementation
An Aptix Ap4 reconfigurable logic board Xilinx XC4010 FPGAs, memory devices, ...
FPGA for A move generator The adder tree Update unit Finite state machine
...
ImplementationImplementation
A lookup table for Boltzmann equation
Exponential computation by FPGA is difficult Contain the values of Boltzmann equation for
different values of The table is reloaded each time the temperature
is changed
)/( TCe
C
ImplementationImplementation
FPGAs are not suitable for implementing
large memoriesMemory devices for
The multiple copies of the solution list Distances
ComparisonComparison
Implementation Average Time per iteration
Software-IBM RS6000 13
Hardware 0.35
Speedup over RS6000 37 times
seconds
seconds
Future Improvement Future Improvement
Pipeline schemeVery high speed memory
Block RAM on FPGA
Interconnection delay between devices
on Aptix
ReferencesReferences
1. David Abramson Application Specific Computers for Combinatorial Optimization
2. David Abramson FPGA Based Custom
Computing Machines for Irregular Problems
3. David Abramson A Very High Speed Architecture to Support Simulated Annealing
Thank You & Question?Thank You & Question?
Application of FPGAApplication of FPGA
Satisfied density and speed of FPGAEfficient synthesis tools