{"id":19311788,"url":"https://github.com/ifimust/vrp_challenge_retrospective","last_synced_at":"2025-10-13T19:06:16.558Z","repository":{"id":254744291,"uuid":"847390765","full_name":"ifIMust/vrp_challenge_retrospective","owner":"ifIMust","description":"Further improvements to vrp_challenge, outside the time limit","archived":false,"fork":false,"pushed_at":"2024-08-25T19:54:18.000Z","size":202,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-04T03:04:56.116Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ifIMust.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T17:32:18.000Z","updated_at":"2024-08-25T19:54:21.000Z","dependencies_parsed_at":"2024-08-25T20:34:27.313Z","dependency_job_id":null,"html_url":"https://github.com/ifIMust/vrp_challenge_retrospective","commit_stats":null,"previous_names":["ifimust/vrp_challenge_retrospective"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ifIMust/vrp_challenge_retrospective","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifIMust%2Fvrp_challenge_retrospective","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifIMust%2Fvrp_challenge_retrospective/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifIMust%2Fvrp_challenge_retrospective/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifIMust%2Fvrp_challenge_retrospective/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ifIMust","download_url":"https://codeload.github.com/ifIMust/vrp_challenge_retrospective/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifIMust%2Fvrp_challenge_retrospective/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016860,"owners_count":26085884,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-10T00:30:17.361Z","updated_at":"2025-10-13T19:06:16.474Z","avatar_url":"https://github.com/ifIMust.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Description\nThe [vrp_challenge](https://github.com/ifIMust/vrp_challenge) project was limited to 48 hours of time, so it cannot receive further updates.\nThis repository is based on that project, and serves to test additional improvements or variations without impacting the \"hackathon\" version.\nSee [vrp_challenge](https://github.com/ifIMust/vrp_challenge) for build instructions and more information.\n\nThe original solution produced these results (using given test data):\n```\nmean cost: 45744.88601842658\nmean run time: 9035.528087615967ms\n```\n\nThis version, using the same data:\n```\nmean cost: 45302.30033360918\nmean run time: 18394.224894046783ms\n```\n\nThe following improvements were made:\n- **Enforce time limit.** 30s to complete a problem with 200 loads was a *requirement*. A timer is used to stop the Tabu search when time is running low.\n- **Explore a larger neighbor space**\n  - Move loads within the same route.\n  - Remove limit on size of source routes for load reassignment.\n- **Improve parallelism:** Use an additional goroutine to read and process results alongside queue workers.\n\nBy relying on the time limit to control iterations, the number of Tabu Search iterations was increased.\nUsing longer run times to optimize cost produces a very high quality solution.\nThe neighbor space is explored much more deeply, especially by removing the size limit of routes that might have loads moved from them.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifimust%2Fvrp_challenge_retrospective","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fifimust%2Fvrp_challenge_retrospective","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifimust%2Fvrp_challenge_retrospective/lists"}