Quantum Opt’z: Travelling Salesman Problem
How to find the optimized path for the TSP using Quantum computing?
In this article, we discuss about travelling salesman problem and we solve the problem to find the optimized route using variational method.
Setup:
To solve this problem we convert the problem similar to graph coloring problem.
The traveling salesman problem (TSP) is to find a routing of a salesman who starts from a home location, visits a prescribed set of cities and returns to the original location in such a way that the total distance travelled is minimum and each city is visited exactly once.
It is an NP-hard problem in combinatorial optimization.
Use cases:
we can using this TSP solution technique to solve the
- Machine Scheduling Problems
- Cellular Manufacturing
- Arc Routing Problems
- Frequency Assignment Problem
- data analysis in psychology
- X-Ray crystallography
- overhauling gas turbine engines
- warehouse order-picking problems
- minimizing wall paper cutting waste
- school bus routing
- postal deliveries
- Genome Sequencing
- Drilling Problems
- guiding lasers for crystal art
- Design of global navigation satellite system surveying networks
- and so on…
Types:
There are two types of TSP problems are there-
- Symmetric
In the symmetric TSP, the distance between two cities is the same in each opposite direction.
2. Asymmetric
In the asymmetric TSP, paths may not exist in both directions, or the distances might be different.
Quantum Solution:
we solve this problem using QAOA algorithm with IBM Qiskit library.
import the dependencies
generate a list which represents the latitudes and longitudes, in our problem we take 4 nodes.
prepare node assignment for the each position.
generate a geometric graph with the generated positions.
by using euclidean distance we calculate the edge length(distance) or weight and update the same to graph
prepare and Adjacency matrix
draw graph using below function
below graph generated using the above function
create binary variables using below code block
prepare cost function
minimize the cost function
applying constraints
converting the doc plex model to Quadratic model
convert binary string to paths
running the algorithm
output
References:
qiskit textbook, IITM course by (@Prabha M, Anil Prabhakar), IBM Quantum Challenge (2021, 2022), Wikipedia, stack exchange and open source materials.