Hardware Accelerator for Combinatorial Optimization Fujian Li Advisor: Dr. Areibi

Preview:

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

Recommended