Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
GPU-Accelerated Route Planning of Multi-UAV Systems Using Simulated Annealing (SA) Algorithm
1. Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
GPU-Accelerated Route Planning of
Multi-UAV Systems Using Simulated
Annealing (SA) Algorithm
Seval CAPRAZ1, 2
, Halil AZYIKMIS2
, Adnan OZSOY2
* ANTE GRUP Bilisim Ticaret A.S.
** Department of Computer Engineering, Hacettepe University
2. 2Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
The problem
Problem statement
Traversing all predefined
waypoints with minimum
cost.
(Finding shortest path for
each UAV)
Traveling Salesman
Problem (TSP)
3. 3Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
The problem
Problem statement
Traversing all predefined
waypoints with minimum
cost.
(Finding shortest path for
each UAV)
Traveling Salesman
Problem (TSP)
4. 4Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
The problem
Problem statement
Traversing all predefined
waypoints with minimum
cost.
(Finding shortest path for
each UAV)
Traveling Salesman
Problem (TSP)
5. 5Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
The problem
Problem Complexity
In TSP-type problems, finding the best solution generally requires testing all the search
space and this seems to be impractical. In our case, with N waypoints, search space
consists of N! solutions. Adding one more waypoint to the system has a considerable
effect on the overall system performance because of the increasing number of elements
in the search space from N! to (N+1)!.
When dealing with this kind of NP-hard problems, we can use different optimization
algorithms to search and find an acceptable (near-optimal) solution rather than to find
the best solution.
6. 6Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
Solution
Simulated Annealing (SA)
Algorithm
Analogy with annealing in solids provides a
framework for optimization of the properties
of very large and complex systems.
In SA, the objective function is used instead
of the energy of a material.
7. 7Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
Simulated Annealing Algorithm
In Detail
8. 8Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
Simulated Annealing Algorithm
At high temperatures, the probability of accepting a worsening move is high, in contrast,
at low temperatures, this probability is very low.
deltaE: Energy/Cost difference between current state and next state (current - next)
Basic Criteria & Code Sample
IF THE NEW SOLUTION IS BETTER THEN
ACCEPT NEW SOLUTION UNCONDITIONALLY
ELSE //(NEW SOLUTION COST > CURRENT SOLUTION COST
CALCULATE ACCEPTANCE_PROBABILITY
IF ACCEPTANCE_PROBABILITY > MATH.RANDOM(1..0) THEN
ACCEPT NEW SOLUTION
9. 9Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
Solutions
Solution 1
CPU Implementation
(serial)
Solution 2
CPU Implementation
(parallel)
Solution 3
GPU Implementation
6
10. 10Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
CUDA & NVIDIA Device Information
11. 11Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
The DataSets
Traveling Salesman Problem Library (TSPLIB)
Created and presented by University of Heidelberg,
Germany.
http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/tsp/
Datasets tested/used in this work:
berlin52.tsp : 2D, 52 waypoints, integer
berli52_3D.tsp : 3D, 52 waypoints, integer
pr1002.tsp : 2D, 1002 waypoints, integer
tsp225.tsp : 2D, 225 waypoints, decimal
Contents of the pr1002.tsp file
1 1150 4000
2 1050 2750
3 1150 2250
4 1250 2050
5 1350 2350
...
...
...
1001 14550 8450
1002 14550 11650
18. 18Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
GPUImplementation
Equilibrium State Loop (ESL), as a CUDA kernel, is
executed by an array of threads in parallel on the GPU.
The ESL has two main responsibilities:
➢ neighbour generation
➢ acceptance evaluation
Each thread gets its own solution conf from global memory
to its local memory by using its unique id threadId as the
index of configurations.
Then, ESL starts for new neighbour generation and
acceptance evaluation. At each equilibrium state iteration, a
neighbour newConf is generated by swapping randomly
selected two elements in the current solution conf.
After candidate solutions generated at the end of the ESL by
all threads transferred from GPU tp CPU, the host continues
its own operations in the cooling iteration by decreasing the
temperature and selecting the best solution, and so on.
20. 20Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
Graphical Representation of a Solution
21. 21Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
Results of GPU Implementation
22. 22Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
Comparison of CPU Implementations
Note: The parameters used in all tests are listed below:
1.dataset = pr1002.tsp (1002 waypoints)
2.NUMBER_OF_UAV = 3
3.MAX_OUTER_ITER = 10000
4.MAX_INNER_ITER = 100
23. 23Seval CAPRAZ | ICCTA 2019 | Istanbul, Turkey | April 16, 2019
Conclusion
In conclusion, route planning for multiple UAVs needs a lot of execution time and resources. We can
decrease the time and travel cost by using parallel solutions.
GPU accelerated route planning for multi-UAVs provides better solutions as compared to serial and
parallel implementation in CPU.
The optimization of increasing thread number and transferring data asynchronously can make the
algorithm faster. The statistical results provide that our optimized GPU based parallelized approach of
route planning problem for multiple UAVs is nearly 1.6 times faster than CPU solutions.
In addition to this, our GPU based parallel solution for SA algorithm using NVIDIA CUDA platform is
the fastest solution so far thanks to the massive parallelization capabilities of GPUs and optimization
techniques on GPU programming.
It is the expected result that GPU solution makes algorithm faster than both the recent serial and
parallel CPU-based ones. Not only the execution time is diminishes but also the travel cost
decreases.