{"id":18762160,"url":"https://github.com/lln273/simulated-annealing","last_synced_at":"2025-12-04T18:30:13.943Z","repository":{"id":188511067,"uuid":"122378261","full_name":"LLN273/simulated-annealing","owner":"LLN273","description":null,"archived":false,"fork":false,"pushed_at":"2021-03-24T16:20:08.000Z","size":142,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-29T05:08:34.858Z","etag":null,"topics":["cython","mpi4py","python3"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LLN273.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-02-21T18:48:47.000Z","updated_at":"2021-07-20T10:08:25.000Z","dependencies_parsed_at":"2023-08-15T17:29:20.954Z","dependency_job_id":null,"html_url":"https://github.com/LLN273/simulated-annealing","commit_stats":null,"previous_names":["lln273/simulated-annealing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLN273%2Fsimulated-annealing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLN273%2Fsimulated-annealing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLN273%2Fsimulated-annealing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLN273%2Fsimulated-annealing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LLN273","download_url":"https://codeload.github.com/LLN273/simulated-annealing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239656518,"owners_count":19675619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cython","mpi4py","python3"],"created_at":"2024-11-07T18:19:51.639Z","updated_at":"2025-12-04T18:30:13.850Z","avatar_url":"https://github.com/LLN273.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/LLN273/simulated-annealing.svg?branch=master)](https://travis-ci.org/LLN273/simulated-annealing)\n\n\n# Travelfast \n\nTravelfast solves the traveling salesperson problem using the simulated annealing optimization algorithm. Travelfast is written in python/cython.\nAs simulated annealing is a greedy algorithm, the package is run using the MPI framework in order to increase the likelihood of\nfinding the best overall itinerary.\n\n\n## Usage\n```\nmpiexec -n 16 travelfast.py inputfile.txt\n```\nRecommended number of parallel processes depends on the number of cities listed in the input file.\n- For 4 cities, use 1 process (estimated runtime \u003c 10 sec)\n- For 10 cities, use 4 processes (estimated runtime \u003c 20 sec)\n- For 20 cities, use 16 processes (estimated runtime \u003c 2 min)\n- For 30 cities, use 64 processes (estimated runtime \u003c 7 min)\n\n\n## Input\nFile containing list of cities and respective latitude/longitude coordinates. The first city in the list is taken as the starting\npoint of the trip. There are four examples of input files included with the package, listing 4, 10, 20, and 30 cities, respectively.\n(These four files are named 'city_list_X.txt', where 'X' is the number of cities).\n\nExample of an input file (city_list_4.txt):\n```\nCity,latitude,longitude\nStockholm,59°19′46″N,18°4′7″E\nGothenburg,57°42′N,11°58′E\nKiruna,67°51′N,20°13′E\nMalmo,55°36′21″N,13°02′09″E\n```\n\n## Output\nBest itinerary and associated distance are sent to standard output.\n\nExample:\n```\n BEST ITINERARY:\n Distance (Km): 2915.2\n ITINERARY: Stockholm --\u003e Kiruna --\u003e Gothenburg --\u003e Malmo --\u003e Stockholm\n\n Elapsed time: 5.6 sec\n```\n\n## Dependencies\ngofaster.py: processes input data, calls optimization algorithm, and manages communications between MPI processes\nsimann_optimize_cy3: cythonized library that implements the simulated annealing optimization algorithm.\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flln273%2Fsimulated-annealing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flln273%2Fsimulated-annealing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flln273%2Fsimulated-annealing/lists"}