{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/an-iterative-conditional-dispatch-algorithm","title":"An iterative sample scenario approach for the dynamic dispatch waves problem","arxiv_id":"2308.14476","date":"2023-08-28","proceeding":null,"authors":["Leon Lan","Jasper van Doorn","Niels A. Wouda","Arpan Rijal","Sandjai Bhulai"],"abstract":"A challenge in same-day delivery operations is that delivery requests are typically not known beforehand, but are instead revealed dynamically during the day. This uncertainty introduces a trade-off between dispatching vehicles to serve requests as soon as they are revealed to ensure timely delivery, and delaying the dispatching decision to consolidate routing decisions with future, currently unknown requests. In this paper, we study the dynamic dispatch waves problem, a same-day delivery problem in which vehicles are dispatched at fixed decision moments. At each decision moment, the system operator must decide which of the known requests to dispatch, and how to route these dispatched requests. The operator's goal is to minimize the total routing cost while ensuring that all requests are served on time. We propose iterative conditional dispatch (ICD), an iterative solution construction procedure based on a sample scenario approach. ICD iteratively solves sample scenarios to classify requests to be dispatched, postponed, or undecided. The set of undecided requests shrinks in each iteration until a final dispatching decision is made in the last iteration. We develop two variants of ICD: one variant based on thresholds, and another variant based on similarity. A significant strength of ICD is that it is conceptually simple and easy to implement. This simplicity does not harm performance: through rigorous numerical experiments, we show that both variants efficiently navigate the large state and action spaces of the dynamic dispatch waves problem and quickly converge to a high-quality solution. Finally, we demonstrate that the threshold-based ICD variant achieves excellent results on instances from the EURO meets NeurIPS 2022 vehicle routing competition, nearly matching the performance of the winning machine learning-based strategy.","url_abs":"https://arxiv.org/abs/2308.14476v3","url_pdf":"https://arxiv.org/pdf/2308.14476v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"an-iterative-conditional-dispatch-algorithm","repo_url":"https://github.com/leonlan/dynamic-dispatch-waves","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2308.14476","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.14476"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/leonlan/dynamic-dispatch-waves","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":3,"unverified":1},"by_repo_kind":{"official":{"samples":4,"ran":3,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"5c4b3edc0f32f8aa","entry":"compute_route_driving_time","repo":"leonlan/dynamic-dispatch-waves","repo_kind":"official","path":"ddwp/validation.py","file_url":"https://github.com/leonlan/dynamic-dispatch-waves/blob/HEAD/ddwp/validation.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5c4b3edc0f32f8aa"}},{"code_sha256_prefix":"09e1a30cc9e598da","entry":"compute_solution_driving_time","repo":"leonlan/dynamic-dispatch-waves","repo_kind":"official","path":"ddwp/validation.py","file_url":"https://github.com/leonlan/dynamic-dispatch-waves/blob/HEAD/ddwp/validation.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"09e1a30cc9e598da"}},{"code_sha256_prefix":"86a8209d21860481","entry":"tabulate","repo":"leonlan/dynamic-dispatch-waves","repo_kind":"official","path":"tune/benchmark_static.py","file_url":"https://github.com/leonlan/dynamic-dispatch-waves/blob/HEAD/tune/benchmark_static.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"86a8209d21860481"}},{"code_sha256_prefix":"d8b0f7a7736640bd","entry":"validate_static_solution","repo":"leonlan/dynamic-dispatch-waves","repo_kind":"official","path":"ddwp/validation.py","file_url":"https://github.com/leonlan/dynamic-dispatch-waves/blob/HEAD/ddwp/validation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d8b0f7a7736640bd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}