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

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

Embed Size (px)

Citation preview

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

Hardware Accelerator for Combinatorial Optimization

Fujian Li

Advisor: Dr. Areibi

Page 2: 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

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

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

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

Solution Space

Minimization Cost Function

Global OptimumLocal Optima

Local SearchLocal Search

Local Search is the basis for heuristic methods

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

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

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

Simulated Annealing AlgorithmSimulated Annealing Algorithm

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

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!)

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

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

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

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

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

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.

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

ImplementationImplementation

Memory for storing solutionsA unit for generating a moveA unit for computing the change in costA unit for using Boltzmann equation

)/( TCe

C

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

ImplementationImplementation

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

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

...

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

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

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

ImplementationImplementation

FPGAs are not suitable for implementing

large memoriesMemory devices for

The multiple copies of the solution list Distances

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

ComparisonComparison

Implementation Average Time per iteration

Software-IBM RS6000 13

Hardware 0.35

Speedup over RS6000 37 times

seconds

seconds

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

Future Improvement Future Improvement

Pipeline schemeVery high speed memory

Block RAM on FPGA

Interconnection delay between devices

on Aptix

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

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

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

Thank You & Question?Thank You & Question?

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

Application of FPGAApplication of FPGA

Satisfied density and speed of FPGAEfficient synthesis tools