XM_40017/notebooks/tsp.ipynb
Francesc Verdugo 9372448ef5 More changes
2023-08-18 10:07:25 +02:00

345 lines
88 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "533363df",
"metadata": {},
"source": [
"<img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/VU_logo.png/800px-VU_logo.png?20161029201021\" width=\"350\">\n",
"\n",
"### Programming large-scale parallel systems\n",
"\n",
"# Traveling sales person"
]
},
{
"cell_type": "markdown",
"id": "98ebaf0c",
"metadata": {},
"source": [
"## Contents\n",
"\n",
"In this notebook, we will learn\n",
"\n",
"- How to parallelize the solution of the traveling sales person problem\n",
"- The concept of search overhead\n"
]
},
{
"cell_type": "markdown",
"id": "14864a1b",
"metadata": {},
"source": [
"## The traveling sales person (TSP) problem\n",
"\n",
"Let us start by presenting the [traveling sales person (ASP) problem](https://en.wikipedia.org/wiki/Travelling_salesman_problem) and its solution using a [branch and bound algorithm](https://en.wikipedia.org/wiki/Branch_and_bound).\n",
"\n",
"### Problem statement\n",
"\n",
"- Given a graph $G$ with a distance table $C$ and an initial node (i.e. a city) in the graph\n",
"- Compute the shortest route that visits all cities exactly once, without returning to the initial city.\n",
"\n",
"\n",
"Note that there we consider a version of the problem in which do not return to the initial city. However, the classic version of the problem includes returning to the initial city.\n",
"\n",
"\n",
"As for the ASP problem we represent the distance table as a matrix, where $C_{ij}$ is the distance from node $i$ to node $j$. Next figure shows the input and solution (output) of the TSP problem for a simple 4-node graph. "
]
},
{
"attachments": {
"g18228.png": {
"image/png": "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"
}
},
"cell_type": "markdown",
"id": "14ae7875",
"metadata": {},
"source": [
"<div>\n",
"<img src=\"attachment:g18228.png\" align=\"left\" width=\"450\"/>\n",
"</div>"
]
},
{
"cell_type": "markdown",
"id": "aca8b2c4",
"metadata": {},
"source": [
"### Branch and bound algorithm\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "8850d90e",
"metadata": {},
"outputs": [],
"source": [
"using Distributed"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "5d4935ee",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4-element Vector{Int64}:\n",
" 2\n",
" 3\n",
" 4\n",
" 5"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"if procs() == workers()\n",
" addprocs(4)\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "4a2756ae",
"metadata": {},
"outputs": [],
"source": [
"@everywhere function visited(city,hops,path)\n",
" for i = 1:hops\n",
" if path[i] == city\n",
" return true\n",
" end\n",
" end\n",
" return false\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "39e9e667",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"tsp_serial_impl (generic function with 1 method)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function tsp_serial_impl(connections,hops,path,current_distance,min_distance)\n",
" num_cities = length(connections)\n",
" if hops == num_cities\n",
" if current_distance < min_distance\n",
" return current_distance\n",
" end\n",
" else\n",
" current_city = path[hops]\n",
" next_hops = hops + 1\n",
" for (next_city,distance_increment) in connections[current_city]\n",
" if !visited(next_city,hops,path)\n",
" path[next_hops] = next_city\n",
" next_distance = current_distance + distance_increment\n",
" if next_distance < min_distance\n",
" return tsp_serial_impl(connections,next_hops,path,next_distance,min_distance)\n",
" end\n",
" end\n",
" end \n",
" end\n",
" min_distance\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "83b58881",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"tsp_serial (generic function with 1 method)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function tsp_serial(connections,city)\n",
" num_cities = length(connections)\n",
" path=zeros(Int,num_cities)\n",
" hops = 1\n",
" path[hops] = city\n",
" current_distance = 0\n",
" min_distance = typemax(Int)\n",
" min_distance = tsp_serial_impl(connections,hops,path,current_distance,min_distance)\n",
" (;path=path,distance=min_distance)\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "78095098",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(path = [1, 4, 5, 2, 3, 6], distance = 222)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"connections = [\n",
" [(1,0),(4,39),(5,76), (6,78),(3,94),(2,97)],\n",
" [(2,0),(5,25),(4,58),(3,62),(1,97),(6,109)],\n",
" [(3,0),(6,58),(2,62),(4,68),(5,70),(1,94)],\n",
" [(4,0),(5,38),(1,39),(2,58),(3,68),(6,78)],\n",
" [(5,0),(2,25),(4,38),(3,70),(1,76),(6,104)],\n",
" [(6,0),(3,58),(1,78),(4,78),(5,104),(2,109)]\n",
"]\n",
"city = 1\n",
"tsp_serial(connections,city)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "03f0dd8e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(path = [1, 4, 5, 2, 3, 6], distance = 222)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@everywhere function tsp_dist_impl(connections,hops,path,current_distance,min_distance,max_hops,jobs_chnl,ftr_result)\n",
" num_cities = length(connections)\n",
" if hops == num_cities\n",
" if current_distance < min_distance\n",
" if ftr_result !== nothing\n",
" @spawnat 1 begin\n",
" result = fetch(ftr_result)\n",
" result.path .= path\n",
" result.min_distance_ref[] = current_distance\n",
" end |> wait\n",
" end\n",
" return current_distance\n",
" end\n",
" elseif hops <= max_hops\n",
" current_city = path[hops]\n",
" next_hops = hops + 1\n",
" for (next_city,distance_increment) in connections[current_city]\n",
" if !visited(next_city,hops,path)\n",
" path[next_hops] = next_city\n",
" next_distance = current_distance + distance_increment\n",
" if next_distance < min_distance\n",
" return tsp_dist_impl(connections,next_hops,path,next_distance,min_distance,max_hops,jobs_chnl,ftr_result)\n",
" end\n",
" end\n",
" end \n",
" else\n",
" if jobs_chnl !== nothing\n",
" put!(jobs_chnl,(;hops,path,current_distance))\n",
" end\n",
" end\n",
" min_distance\n",
"end\n",
"\n",
"function tsp_dist(connections,city)\n",
" max_hops = 2\n",
" num_cities = length(connections)\n",
" path=zeros(Int,num_cities)\n",
" hops = 1\n",
" path[hops] = city\n",
" current_distance = 0\n",
" min_distance = typemax(Int)\n",
" jobs_chnl = RemoteChannel(()->Channel{Any}(10))\n",
" ftr_result = @spawnat 1 (;path,min_distance_ref=Ref(min_distance))\n",
" task = @async begin\n",
" tsp_dist_impl(connections,hops,path,current_distance,min_distance,max_hops,jobs_chnl,nothing)\n",
" for w in workers()\n",
" put!(jobs_chnl,nothing)\n",
" end\n",
" end\n",
" @sync for w in workers()\n",
" @spawnat w begin\n",
" max_hops = typemax(Int)\n",
" jobs_channel = nothing\n",
" while true\n",
" job = take!(jobs_chnl)\n",
" if job == nothing\n",
" break\n",
" end\n",
" hops = job.hops\n",
" path = job.path\n",
" current_distance = job.current_distance\n",
" tsp_dist_impl(connections,hops,path,current_distance,min_distance,max_hops,jobs_channel,ftr_result)\n",
" end\n",
" end\n",
" end \n",
" result = fetch(ftr_result)\n",
" (;path = result.path, distance = result.min_distance_ref[])\n",
"end\n",
"city = 1\n",
"tsp_dist(connections,city)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "370a1205",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.9.0",
"language": "julia",
"name": "julia-1.9"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.9.0"
}
},
"nbformat": 4,
"nbformat_minor": 5
}