{"id":21076051,"url":"https://github.com/loggi/loggibud","last_synced_at":"2025-05-12T17:23:57.680Z","repository":{"id":38837150,"uuid":"308148956","full_name":"loggi/loggibud","owner":"loggi","description":"Real-world benchmarks for urban delivery problems, including vehicle routing and facility location problems.","archived":false,"fork":false,"pushed_at":"2023-09-05T15:37:03.000Z","size":35365,"stargazers_count":185,"open_issues_count":5,"forks_count":31,"subscribers_count":160,"default_branch":"master","last_synced_at":"2025-05-12T17:23:54.068Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loggi.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}},"created_at":"2020-10-28T21:48:40.000Z","updated_at":"2025-04-16T12:23:26.000Z","dependencies_parsed_at":"2022-09-11T19:01:00.410Z","dependency_job_id":null,"html_url":"https://github.com/loggi/loggibud","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loggi%2Floggibud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loggi%2Floggibud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loggi%2Floggibud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loggi%2Floggibud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loggi","download_url":"https://codeload.github.com/loggi/loggibud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253785280,"owners_count":21963942,"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":[],"created_at":"2024-11-19T19:26:16.867Z","updated_at":"2025-05-12T17:23:57.653Z","avatar_url":"https://github.com/loggi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Loggi Benchmark for Urban Deliveries (BUD) \n==================\n\nThe Loggi Benchmark for Urban Deliveries contains datasets and benchmark\nscripts for large-scale problems using as a testbed some of Brazil's largest\ncities. The data is synthesized completely from public sources and\nrepresentative of the challenges we face on real world deliveries for the\nproblems outlined in the repository.\n\nTo get started with the development using LoggiBUD, check out our \n[quickstart tutorial](./docs/quickstart.md). If you want to learn how to solve\nlarge-scale delivery problems, check our [Introductory course \n(in Portuguese)](./docs/loggibud_univesp.md) developed in partnership with\nThe Virtual University of the State of São Paulo (Univesp).\n\n# Dataset\n\nThe dataset simulates the challenge of a large delivery company in the\nlast-mile step of the supply chain. Worldwide, metropolitan areas like Rio de\nJaneiro witness the delivery of tens or even hundreds of thousands of parcels\nand mail.  Deliveries on those areas are unexpectedly very unevenly\ndistributed. Rich and densily populated areas drive most of the deliveries.\nBesides economic factors, our data also do consider the geography of the\nrepresented locations and real street travel distances, as the reality of\ncomplex cities is not well modelled by euclidian distances.\n\nOn our first version, We provide 90 train instances and 30 evaluation instances\nfor the end-to-end problem on Rio de Janeiro (RJ), Brasília (DF) and Belém (PA).\nThe instance sizes range from 7k to 32k deliveries. The challenge is to position\nconsolidation hubs across the city and split demands into delivery vehicles. \n\n\u003cp float=\"center\"\u003e \u003cimg src=\"./figures/e2e_example.png\" width=\"820\" /\u003e \u003c/p\u003e\n\nWhile our goal is to solve the problem on an end-to-end manner, we also provide\na baseline distribution of demands into 11 hubs obtained using a p-hub\nassignment. This leads to 990 train instances and 330 evaluation instances on\nthe CVRP challenge.\n\n\u003cp float=\"center\"\u003e \u003cimg src=\"./figures/cvrp_example_1.png\" width=\"400\" /\u003e \u003cimg\nsrc=\"./figures/cvrp_example_2.png\" width=\"400\" /\u003e \u003cimg\nsrc=\"./figures/cvrp_example_3.png\" width=\"400\" /\u003e \u003cimg\nsrc=\"./figures/cvrp_example_4.png\" width=\"400\" /\u003e \u003c/p\u003e\n\n# Tasks\n\n### Task 1 - Last-Mile Capacitated Vehicle Routing Problem\n\nThis first task is a classic Capacitated Vehicle Routing Problem (CVRP) with\nminimizing travel distance as objetive. Although solving such large CVRPs with\ncomplete information is often impractical, these solutions are good targets for\nTask 2.\n\n### Task 2 - Last-Mile Incremental Capacitated Vehicle Routing Problem\n\nThis is considered a particular case of Stochastic and Dynamic Capacitated\nVehicle Routing Problems (SD-CVRP). The objetive is to sort deliveries into\nroutes one by one as they arrive. You may use only historical information and\nthe previously routed deliveries from the same instance. No recombination is\nallowed after assignment.\n\nFrom an operations point of view, this solution class is a lot more powerful as\nit doesn't require full information before start routing. Instead, hub\noperators can route deliveries as they arrive.\n\n### Task 3 - End-to-end last-mile problem\n\nThis is an extension of the task 1.2, but without fixed dispatch locations.\nTherefore, locations and allocation of requests to dispatch locations is\nconsidered part of the solution, but should be the same accross multiple\ninstances. This can be considered an end-to-end optimization of last-mile\ndelivery operations.\n\n# Motivation\n\nThis benchmark is an effort to make new operations research solutions closer to\nreal-world applications faced by delivery companies. We believe this work can\nhelp both practitioners and academics to reduce the gap between\nstate-of-the-art and practice.\n\nWe identify that several promising solutions in academic literature have\nevaluation issues. Several papers only include experiments for small or\nunrealistic problems. We also expected real-world instances to help researchers\nto come up with new ideas for solving large routing and location problems.\n\n### Why a new dataset\n\nThere are several famous datasets for the Vehicle Routing Problem (VRP).\nHowever, there are limitations to these instances that make them hard to apply\nto real-world last-mile problems. Some of them include:\n\n* Small instances\n* Ignore streets, use only euclidean distances\n* No discussion on aggregation levels\n\nMost instances also fail to model real challenges of dynamic and stochastic\ninstances, where the stochastic information is usually presented as\nprobabilities on deterministic points. We instead present stochastic\ninformation as historical deliveries performed under the same distribution.\n\n### Why a GitHub benchmark\n\nWe want to make publishing results as easy as opening a pull-request. We also\nwant to provide you with code to evaluate your solution and make sure it's\nready for publication. If you're not familiar with making open-source\ncontributions, don't worry. Open an issue, and we'll be happy to guide you with\nyour submission.\n\n\n# How to submit\n\nTo include your method to the benchmark leaderboards, you must submit the\nsolution data into a pull request.\n\nWhile submitting the code is not required, we strongly suggest making your\nresearch code available to make reproducing the results more accessible. You\ncan publish the code on your repository and include a link on your submission.\nWe also have some baselines on this repository. If you want to include your\ncode as a baseline, we'll be happy to revise it.\n\nDon't forget to acknowledge the literature and code you have used on your\nsolution.\n\n# Instance generation pipeline\n\nIf you want more details on how we generate our instances and how they relate\nto actual deliveries, please check our [generation pipeline\ndocumentation](./loggibud/v1/instance_generation/). It also includes the steps for reproducing the\nprovided instances.\n\n\n# Citing this work\n\nIf you use this data in academic work, please cite our repository. A full paper\ndescribing it should be available soon.\n\n```@misc{Charles2013,\n  author = {Loggi},\n  title = {loggiBUD: Loggi Benchmark for Urban Deliveries},\n  year = {2021},\n  publisher = {GitHub},\n  journal = {GitHub repository},\n  howpublished = {\\url{https://github.com/loggi/loggibud}}\n}\n```\n\n# Disclaimer\n\nThis repository is not an official Loggi product. Use it at your own risk under\nthe terms of the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floggi%2Floggibud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floggi%2Floggibud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floggi%2Floggibud/lists"}