solving the travelling salesman problem using quantum...

60
Solving the Travelling Salesman Problem Using Quantum Computing Sebastian Feld , Christoph Roch, Thomas Gabor Ludwig-Maximilians-Universität München OpenMunich 01.12.2017, Munich

Upload: lydung

Post on 22-Aug-2018

248 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Solving the Travelling Salesman Problem Using Quantum Computing

Sebastian Feld, Christoph Roch, Thomas GaborLudwig-Maximilians-Universität München

OpenMunich01.12.2017, Munich

Page 2: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Agenda

I. Quantum Computing and Quantum Annealing

II. TSP and Ising Model

III. qbsolv

IV. Conclusion

2

Page 3: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

I. QUANTUM COMPUTING AND QUANTUM ANNEALING

Source: D-Wave

Page 4: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

WHAT CAN I USE QUANTUMCOMPUTING FOR?

4

Page 5: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Traffic Flow Optimization

5Find (near) optimal solution from 3418 possibilities in several 20𝜇𝑠

Source: Neukart et al., 2017

Page 6: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

HOW DOES QUANTUM COMPUTINGWORK?

6

Page 7: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Quantum Physics

7

Non-determinism Influence byobservation

Wave-particleduality

A

B

C

0.4

0.6

Source: Wikipedia; Elena Natasha Liston

Page 8: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Quantum Computing

8

Quantum Gate Model Quantum Annealing

Page 9: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Quantum Bits

9

0 1

Page 10: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Superposition

10

01

Page 11: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Entanglement

11

10 10

Page 12: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Quantum Annealing

12All possible solutions

Best solution

Qu

alit

y o

f so

luti

on

Page 13: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

? ? ? ? ? … ?

Portfolio Optimization

13

Spend budget, minimize risk, maximize outcome

Page 14: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Buy Buy Buy …

Portfolio Optimization

14

Spend budget, minimize risk, maximize outcome

Page 15: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Qubits represent stocks

15

… ………

Page 16: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Initialize qubits in superposition

16

? ???

?

?

?

?

? ???

?

?

?

?

Page 17: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Formulate constraints

17

? ???

?

?

?

?

? ???

?

?

?

?

Page 18: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Anneal to optimal solution

18

N YNY

Y

Y

N

Y

N YYY

Y

Y

Y

N

Page 19: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Quantum Annealing

19All possible solutions

Best solution

Qu

alit

y o

f so

luti

on

Page 20: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

ARE THERE REAL-WORLD APPLICATIONSFOR QUANTUM COMPUTING?

20

Page 21: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Traffic Flow Optimization

Intelligent Mobility

Self-driving cars

21

Source: Neukart et al., 2017

Page 22: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Vehicle Routing Problem

Logistic Problems

E-Mobility

22

Source: Christine Mumford

Page 23: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Multi-Criteria Optimization

Financial Risk Opt

Portfolio Mgmt

23

Source: Robert R. McCormick School of Engineering and Applied Science

Page 24: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Probabilistic Sampling

Artificial Intelligence

Machine Learning

24

Source: Chao-Yang Lu, Xin-Dong Cai

Page 25: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Search unsorted database in 𝒪 𝑛

Search Engines

Social Media

25

Lov Grover

Source: Eric.Ray; University of Warwick, Department of Computer Science

Page 26: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Prime Factorization in polynomial time

RSA Cryptography

26

Peter Shor

Source: Universität Innsbruck, Instiut für Experimentalphysik; MIT, Department of Mathematics

Page 27: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

II. TSP AND ISING MODEL

Source: D-Wave

Page 28: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Travelling Salesman Problem

28

Given a list of cities and the distances between each pair of cities,what is the shortest possible route that visits each city exactly once and returns to the origin city?

Source: Wikipedia

Page 29: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

The Good, the Bad and the Ugly

29

D E

F

G

HA

B

C

Page 30: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

The Good, the Bad and the Ugly

30

D E

F

G

HA

B

C

Page 31: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

The Good, the Bad and the Ugly

31

D E

F

G

HA

B

C

Page 32: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Combinatorial Optimization

32

𝑛 cities 𝒏 − 𝟏 ! combinations

2 1

3 2

4 6

5 24

10 362,880

20 1.2 × 1017

100 9.3 × 10155

Page 33: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Quantum Annealing (QA)

33All possible solutions

Qu

alit

y o

f so

luti

on

Page 34: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

QA using Ising Model

Mathematical model for studying properties of physical systems that evolve in time

34

𝐻 𝑠 =

𝑖

ℎ𝑖𝑠𝑖 +

𝑖<𝑗

𝐽𝑖𝑗𝑠𝑖𝑠𝑗

Page 35: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

QA using Ising Model

35

Source: McGeoch

𝐻 𝑠 =

𝑖

ℎ𝑖𝑠𝑖 +

𝑖<𝑗

𝐽𝑖𝑗𝑠𝑖𝑠𝑗

Particles can be in state +1 or −1

Page 36: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

QA using Ising Model

36

Source: McGeoch

𝐻 𝑠 =

𝑖

ℎ𝑖𝑠𝑖 +

𝑖<𝑗

𝐽𝑖𝑗𝑠𝑖𝑠𝑗

External forces on individual particles

Page 37: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

QA using Ising Model

37

Source: McGeoch

𝐻 𝑠 =

𝑖

ℎ𝑖𝑠𝑖 +

𝑖<𝑗

𝐽𝑖𝑗𝑠𝑖𝑠𝑗

Interaction forces between neighbors

Page 38: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

QA using Ising Model

38

Source: McGeoch

𝐻 𝑠 =

𝑖

ℎ𝑖𝑠𝑖 +

𝑖<𝑗

𝐽𝑖𝑗𝑠𝑖𝑠𝑗

Energy of spin configuration

Page 39: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

TSP as Ising Formulation

Given graph 𝐺 = 𝑉, 𝐸 with edge weights 𝑊𝑢𝑣,

find hamiltonian cycle with minimum sum of edge weights39

Source: http://arxiv.org/pdf/1302.5843.pdf

D E

F

G

HA

B

C

𝐻 = 𝛼

𝑣=1

𝑛

1 −

𝑗=1

𝑁

𝑥𝑣,𝑗

2

+𝛼

𝑗=1

𝑛

1 −

𝑣=1

𝑁

𝑥𝑣,𝑗

2

+ 𝛽

𝑢𝑣 ∈𝐸

𝑊𝑢𝑣

𝑗=1

𝑁

𝑥𝑢,𝑗𝑥𝑣,𝑗+1

Page 40: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

TSP as Ising Formulation

40

𝐻 = 𝛼

𝑣=1

𝑛

1 −

𝑗=1

𝑁

𝑥𝑣,𝑗

2

+𝛼

𝑗=1

𝑛

1 −

𝑣=1

𝑁

𝑥𝑣,𝑗

2

+ 𝛽

𝑢𝑣 ∈𝐸

𝑊𝑢𝑣

𝑗=1

𝑁

𝑥𝑢,𝑗𝑥𝑣,𝑗+1

A1 A2 A3 A4 B1 B2 B3 B4 C1 C2 C3 C4

A1

A2

A3

A4

B1

B2

B3

B4

D E

F

G

HA

B

C

Page 41: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

TSP as Ising Formulation

41

𝐻 = 𝛼

𝑣=1

𝑛

1 −

𝑗=1

𝑁

𝑥𝑣,𝑗

2

+𝛼

𝑗=1

𝑛

1 −

𝑣=1

𝑁

𝑥𝑣,𝑗

2

+ 𝛽

𝑢𝑣 ∈𝐸

𝑊𝑢𝑣

𝑗=1

𝑁

𝑥𝑢,𝑗𝑥𝑣,𝑗+1

A1 A2 A3 A4 B1 B2 B3 B4 C1 C2 C3 C4

A1 𝛼 𝛼 𝛼

A2 𝛼 𝛼

A3 𝛼

A4

B1 𝛼 𝛼 𝛼

B2 𝛼 𝛼

B3 𝛼

B4

Every vertex can only appear once in a circle

Page 42: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

TSP as Ising Formulation

42

𝐻 = 𝛼

𝑣=1

𝑛

1 −

𝑗=1

𝑁

𝑥𝑣,𝑗

2

+𝛼

𝑗=1

𝑛

1 −

𝑣=1

𝑁

𝑥𝑣,𝑗

2

+ 𝛽

𝑢𝑣 ∈𝐸

𝑊𝑢𝑣

𝑗=1

𝑁

𝑥𝑢,𝑗𝑥𝑣,𝑗+1

A1 A2 A3 A4 B1 B2 B3 B4 C1 C2 C3 C4

A1 𝛼 𝛼 𝛼 𝛼 𝛼

A2 𝛼 𝛼 𝛼 𝛼

A3 𝛼 𝛼 𝛼

A4 𝛼 𝛼

B1 𝛼 𝛼 𝛼 𝛼

B2 𝛼 𝛼 𝛼

B3 𝛼 𝛼

B4 𝛼

There must be a 𝑗𝑡ℎ node in the cycle for each 𝑗

Page 43: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

TSP as Ising Formulation

43

𝐻 = 𝛼

𝑣=1

𝑛

1 −

𝑗=1

𝑁

𝑥𝑣,𝑗

2

+𝛼

𝑗=1

𝑛

1 −

𝑣=1

𝑁

𝑥𝑣,𝑗

2

+ 𝛽

𝑢𝑣 ∈𝐸

𝑊𝑢𝑣

𝑗=1

𝑁

𝑥𝑢,𝑗𝑥𝑣,𝑗+1

If the edge is part of the cycle, apply the edge weight

A1 A2 A3 A4 B1 B2 B3 B4 C1 C2 C3 C4

A1 𝛼 𝛼 𝛼 𝛼 (ab) (ab) 𝛼 (ac) (ac)

A2 𝛼 𝛼 (ab) 𝛼 (ab) (ac) 𝛼 (ac)

A3 𝛼 (ab) 𝛼 (ab) (ac) 𝛼 (ac)

A4 (ab) (ab) 𝛼 (ac) (ac) 𝛼

B1 𝛼 𝛼 𝛼 𝛼 (bc) (bc)

B2 𝛼 𝛼 (bc) 𝛼 (bc)

B3 𝛼 (bc) 𝛼 (bc)

B4 (bc) (bc) 𝛼

Page 44: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

TSP as Ising Formulation

44

𝐻 = 𝛼

𝑣=1

𝑛

1 −

𝑗=1

𝑁

𝑥𝑣,𝑗

2

+𝛼

𝑗=1

𝑛

1 −

𝑣=1

𝑁

𝑥𝑣,𝑗

2

+ 𝛽

𝑢𝑣 ∈𝐸

𝑊𝑢𝑣

𝑗=1

𝑁

𝑥𝑢,𝑗𝑥𝑣,𝑗+1

Every vertex can only appear once in a circle

There must be a 𝑗𝑡ℎ node in the cycle for each 𝑗

If the edge is part of the cycle, apply the edge weight

Page 45: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

III. QBSOLV

Source: D-Wave

Page 46: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

qbsolv on github

46

Source: https://github.com/dwavesystems/qbsolv

Page 47: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Preprocessing# Import nodes with x/y-coordinates

file_parser = FileParser("./datasets/TSP_Testdata.xml")

# Get list of nodes (index, x, y)

nodelist = file_parser.parse_file_tsp()

# Get list of undirected edges (index1, index2, length)

edges = file_parser.generate_edge_list(nodelist)

47

Page 48: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Preprocessing# Import nodes with x/y-coordinates

file_parser = FileParser("./datasets/TSP_Testdata.xml")

# Get list of nodes (index, x, y)

nodelist = file_parser.parse_file_tsp()

# Get list of undirected edges (index1, index2, length)

edges = file_parser.generate_edge_list(nodelist)

48

Page 49: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Preprocessing# Import nodes with x/y-coordinates

file_parser = FileParser("./datasets/TSP_Testdata.xml")

# Get list of nodes (index, x, y)

nodelist = file_parser.parse_file_tsp()

# Get list of undirected edges (index1, index2, length)

edges = file_parser.generate_edge_list(nodelist)

49

Page 50: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Preprocessing# Import nodes with x/y-coordinates

file_parser = FileParser("./datasets/TSP_Testdata.xml")

# Get list of nodes (index, x, y)

nodelist = file_parser.parse_file_tsp()

# Get list of undirected edges (index1, index2, length)

edges = file_parser.generate_edge_list(nodelist)

50

Page 51: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Main Logic# Create QUBO

Q = tsp_solver.generate_tsp_qubo(len(nodelist), edges)

# Solve QUBO with qbsolv

answer = QBSolv().sample_qubo(Q, 50)

# Returns the result

distance, used_edges = tsp_solver.get_distance_and_edges_of_tour_qbsolv(adj_matrix, response, edges, len(nodelist))

# Plot dataset and result

plot_drawer = PlotDrawer()

plot_drawer.plot_tsp(used_edges, nodelist, node_annotation)

51

Page 52: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Main Logic

52

# Create QUBO

Q = tsp_solver.generate_tsp_qubo(len(nodelist), edges)

# Solve QUBO with qbsolv

answer = QBSolv().sample_qubo(Q, 50)

# Returns the result

distance, used_edges = tsp_solver.get_distance_and_edges_of_tour_qbsolv(adj_matrix, response, edges, len(nodelist))

# Plot dataset and result

plot_drawer = PlotDrawer()

plot_drawer.plot_tsp(used_edges, nodelist, node_annotation)

Page 53: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Main Logic

53

# Create QUBO

Q = tsp_solver.generate_tsp_qubo(len(nodelist), edges)

# Solve QUBO with qbsolv

answer = QBSolv().sample_qubo(Q, 50)

# Returns the result

distance, used_edges = tsp_solver.get_distance_and_edges_of_tour_qbsolv(adj_matrix, response, edges, len(nodelist))

# Plot dataset and result

plot_drawer = PlotDrawer()

plot_drawer.plot_tsp(used_edges, nodelist, node_annotation)

Page 54: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Main Logic

54

# Create QUBO

Q = tsp_solver.generate_tsp_qubo(len(nodelist), edges)

# Solve QUBO with qbsolv

answer = QBSolv().sample_qubo(Q, 50)

# Returns the result

distance, used_edges = tsp_solver.get_distance_and_edges_of_tour_qbsolv(adj_matrix, response, edges, len(nodelist))

# Plot dataset and result

plot_drawer = PlotDrawer()

plot_drawer.plot_tsp(used_edges, nodelist, node_annotation)

D E

F

G

HA

B

C

Page 55: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Main Logic

55

# Create QUBO

Q = tsp_solver.generate_tsp_qubo(len(nodelist), edges)

# Solve QUBO with qbsolv

answer = QBSolv().sample_qubo(Q, 50)

# Returns the result

distance, used_edges = tsp_solver.get_distance_and_edges_of_tour_qbsolv(adj_matrix, response, edges, len(nodelist))

# Plot dataset and result

plot_drawer = PlotDrawer()

plot_drawer.plot_tsp(used_edges, nodelist, node_annotation)

D E

F

G

HA

B

C

Page 56: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Main Logic

56

# Create QUBO

Q = tsp_solver.generate_tsp_qubo(len(nodelist), edges)

# Solve QUBO with qbsolv

answer = QBSolv().sample_qubo(Q, 50)

# Returns the result

distance, used_edges = tsp_solver.get_distance_and_edges_of_tour_qbsolv(adj_matrix, response, edges, len(nodelist))

# Plot dataset and result

plot_drawer = PlotDrawer()

plot_drawer.plot_tsp(used_edges, nodelist, node_annotation)

Page 57: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

IV. CONCLUSION

Source: D-Wave

Page 58: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

58

Complex production and usage, but completely new possibilities

Source: MCMBUZZ

Page 59: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

59Bring talents together and try it now!

Source: Gartner

Page 60: Solving the Travelling Salesman Problem Using Quantum ...openmunich.eu/...Problem_Using_Quantum_Computing.pdf · Traffic Flow Optimization 5 Find (near) optimal solution from 3418possibilities

Solving the Travelling Salesman Problem Using Quantum Computing

Sebastian Feld, Christoph Roch, Thomas GaborLudwig-Maximilians-Universität München

OpenMunich01.12.2017, Munich