Introduction
The EURO Meets NeurIPS 2022 Vehicle Routing Competition brings together researchers from operations research (OR) and machine learning (ML) to address the vehicle routing problem with time windows (VRPTW) as well as a dynamic VRPTW.
NeurIPS 2022 Competition
The EURO Meets NeurIPS 2022 Vehicle Routing Competition brings together researchers from operations research (OR) and machine learning (ML) to address the vehicle routing problem with time windows (VRPTW) as well as a dynamic VRPTW.
Solving vehicle routing problems (VRPs) is an essential task for many industrial applications. While VRPs have been traditionally studied in the OR domain, they have lately been the subject of extensive work in the ML community. This competition is a joint effort of several previous competitions, that brings together the OR and ML communities to solve a challenging VRP variant on real-world data. The challenge focuses on both a 'classic' deterministic VRP with time windows (VRPTW) and a dynamic version in which new orders arrive over the course of a day. As a baseline, we provide a state-of-the-art VRPTW solver and a strategy to use it to solve the dynamic variant, thus ensuring that all competition participants have the tools necessary to solve both versions of the problem.
The table below lists the final results on the hidden test instances, as announced during the NeurIPS 2022 Virtual Workshop (the recording is available here). All papers and slides can be found on GitHub, including the competition overview, the keynote by Thibaut Vidal and the results announcement.
Rank | Team | Members | Static (rank) | Dynamic (rank) | Avg. (avg. rank) |
---|---|---|---|---|---|
1 | Kleopatra paper | slides | code |
Patrick Sean Klein (Technical University of Munich) Kai Jungel (Technical University of Munich) Léo Baty (CERMICS, École des Ponts) |
157200.61 (2) | 348831.56 (1) | 253016.1 (1.5) |
2 | OptiML paper | slides | code |
Niels Wouda (University of Groningen) Leon Lan (VU Amsterdam) Jasper van Doorn (VU Amsterdam) Luuk Pentinga (University of Groningen) |
157188.67 (1) | 359270.09 (3) | 258229.4 (2) |
3 | Team_SB paper | slides | code |
Yeong-Dae Kwon (Samsung SDS) Jinho Choo (Samsung SDS) Daseul Bae (Samsung SDS) Jihoon Kim (Samsung SDS) André Hottung (Bielefeld University) |
157214.33 (3) | 358161.36 (2) | 257687.8 (2.5) |
4 | HustSmart paper | slides | code |
Yunhao Li (Huazhong University of Science and Technology) Junjie Zhang (Huazhong University of Science and Technology) Yuxuan Wang (Huazhong University of Science and Technology) Wenhan Shao (Huazhong University of Science and Technology) Zhouxing Su (Huazhong University of Science and Technology) Zhipeng Lü (Huazhong University of Science and Technology) |
157227.24 (5) | 361803.57 (4) | 259515.4 (4.5) |
5 | Miles To Go Before We Sleep paper | slides | code |
Brandon Reese (SAS) Steven Harenberg (SAS) Laci Ladanyi (SAS) Rob Pratt (SAS) Yan Xu (SAS) |
157224.13 (4) | 369098.13 (7) | 263161.1 (5.5) |
6 | ORberto Hood and the Barrymen paper | slides |
Florentin D. Hildebrandt (Otto-von-Guericke University Magdeburg) Roberto Roberti (University of Padova) Barrett W. Thomas (University of Iowa) Marlin W. Ulmer (Otto-von-Guericke University Magdeburg) |
157301.21 (9) | 362481.13 (5) | 259891.2 (7) |
7 | HowToRoute paper | slides |
Juan Pablo Mesa López (Universidad EAFIT) Alejandro Uribe (Universidad EAFIT) Camilo Álvarez (Universidad EAFIT) Alejandro Montoya (Universidad EAFIT, Coordinadora Mercantil) |
157251.06 (7) | 369797.03 (8) | 263524 (7.5) |
8 | Kirchhoffslaw paper | code |
Wenxuan Ao (Tsinghua University) Zefang Zong (Tsinghua University) |
157249.31 (6) | 370670.53 (9) | 263959.9 (7.5) |
9 | UPB paper | slides | code |
Peter Dieter (Paderborn University) | 157322.36 (10) | 367007.49 (6) | 262164.9 (8) |
10 | dynamo paper | slides |
Mohammed Ghannam (HTW Berlin) Ambros Gleixner (HTW Berling, Zuse Institute Berlin) |
157287.45 (8) | 90341072.98 (10) | 45249180 (9) |
Date | Description |
---|---|
July 1st | Quickstart with data and problem description available. |
August 1st | Code submission opens, public leaderboard based on small set of hidden instances will be available. |
October 14th |
Deadline for teams to register. Registration is no longer possible. |
October 31st | Final deadline for teams to submit their solver code. |
November 1st - November 28th | Top 10 public leaderboard teams automatically compete in the finals and will be tested on new hidden instances. |
December 7th | Virtual workshop at NeurIPS 2022 (13:00 UTC) with announcement of final results and winner presentations. The recording will be available here about one month after NeurIPS 2022 ends (i.e. January 2023). |
This competition considers the vehicle routing problem with time windows (VRPTW) as well as a dynamic variant in which new orders arrive during a day. All submitted solvers compete on both problem variants, which is facilitated using baseline strategies provided.
The VRPTW problem considered in this competition is the same as in the DIMACS VRPTW challenge except that we use real-world instances provided by ORTEC, with an explicit duration matrix providing (non-euclidean) real world road driving times between customers. The number of customers is between 200 and 1000. Each customer has a coordinate, a demand, a time window and a service duration, where service must start within the time window. A vehicle can wait when it arrives too early at a customer, but cannot be late. The total demand of customers served by a vehicle should not exceed the given vehicle capacity. Following the DIMACS convention, the objective is to minimize total distance, as measured by pure driving duration (thus excluding waiting time). There is no practical constraint or objective regarding the number of vehicles.
For the dynamic variant of the problem, requests arrive at different 1-hour epochs during the day. The solver, or agent, can choose which requests to dispatch in the current epoch, for which it must create feasible routes, and which ones to postpone to consolidate with new requests that may arrive later. Some requests are must-go requests that must be dispatched during the current epoch as delaying them will render their time window infeasible. In the last epoch, all request are must-go. An environment will be provided that samples the locations, demands, service times and time windows of requests uniformly from the data of a static VRPTW instance. For the dynamic variant, the static instance thus provides a 'customer base' from which requests may arrive, and this information can be used by the solver. The solver should be able to interact with the environment through a controller script, which will be used for final evaluation of the solver.
Solvers should provide solutions (per epoch) within strict time limits and are allowed to use a single CPU core, as well as a single GPU. Details will be provided at the start of the competition on July 1st, when a quickstart repository will be released. This repository contains a set of instances, an implementation of the environment and a baseline, which can be used by participants to develop their solver.
The total prize money is more than €5000:
Prize | Amount | Description | Winner |
---|---|---|---|
1st prize | € 2022 | For the overall winner of the competition. | Kléopatra |
2nd prize | € 750 | For the overall runner up. | OptiML |
3rd prize | € 500 | For the number three. | Team_SB |
Jury prize | € 250 | To be awarded at the discretion of the organization to the most interesting, innovative and/or promising solver. | Team_SB |
Young talent prize | € 250 | For the best performing team consisting of only students and/or PhD candidates. | Kléopatra |
Leaderboard prizes | Up to € 1300 | €50/30/20 awarded to the number 1/2/3 on the leaderboard every Monday (end of day UTC), from August 8th until October 31st (13 weeks).* | UPB (380), Kléopatra (180), Team_SB (160), OptiML (150), 4pd_vrp (150) |
Note: to be eligible for prize money, participants should open source their solver. Leaderboard prizes will be paid at the end of the competition, only to teams with a minimum of €100 total prize.
The detailed rules of the competition, including a detailed description of the problem, provided environment and baselines can be found here (version August 2nd).
The top 10 on this leaderboard at October 31st will be evaluated on the final dataset. Each submission gets two ranks: one based on static performance and one based on dynamic performance. The submissions are ranked by the average of these two ranks, with the average cost as tie-breaker.
Rank | Date | Team | Static cost | Dynamic cost | Avg. cost | Static Rank | Dynamic Rank | Avg. rank |
---|---|---|---|---|---|---|---|---|
1 | 10/30/22 | Kléopatra | 1.806396e+05 | 3.334908e+05 | 2.570652e+05 | 5.0 | 1.0 | 3.0 |
2 | 10/30/22 | OptiML | 1.806391e+05 | 3.393314e+05 | 2.599852e+05 | 4.0 | 2.0 | 3.0 |
3 | 10/30/22 | HowToRoute | 1.805654e+05 | 3.491154e+05 | 2.648404e+05 | 2.0 | 6.0 | 4.0 |
4 | 10/31/22 | Team_SB | 1.806866e+05 | 3.411691e+05 | 2.609278e+05 | 9.0 | 3.0 | 6.0 |
5 | 10/29/22 | ORberto Hood and the Barrymen | 1.806770e+05 | 3.460949e+05 | 2.633860e+05 | 8.0 | 4.0 | 6.0 |
6 | 10/30/22 | UPB | 1.806708e+05 | 3.493422e+05 | 2.650065e+05 | 7.0 | 7.0 | 7.0 |
7 | 10/31/22 | Miles To Go Before We Sleep | 1.805629e+05 | 3.527768e+05 | 2.666698e+05 | 1.0 | 13.0 | 7.0 |
8 | 10/31/22 | Kirchhoffslaw | 1.805751e+05 | 3.534435e+05 | 2.670093e+05 | 3.0 | 15.0 | 9.0 |
9 | 10/20/22 | dynamo | 1.807283e+05 | 3.509603e+05 | 2.658443e+05 | 12.0 | 8.0 | 10.0 |
10 | 10/26/22 | HustSmart | 1.807993e+05 | 3.469827e+05 | 2.638910e+05 | 16.0 | 5.0 | 10.5 |
11 | 09/19/22 | UBD | 1.807414e+05 | 3.513825e+05 | 2.660620e+05 | 15.0 | 10.0 | 12.5 |
12 | 10/29/22 | Quickest Route | 1.806866e+05 | 3.539247e+05 | 2.673057e+05 | 9.0 | 16.0 | 12.5 |
13 | 10/27/22 | DMR_AJ | 1.808245e+05 | 3.531868e+05 | 2.670057e+05 | 18.0 | 14.0 | 16.0 |
14 | 10/28/22 | pumpkins | 1.808009e+05 | 3.540074e+05 | 2.674042e+05 | 17.0 | 19.0 | 18.0 |
15 | 09/29/22 | The Symbolic Routers | 1.807003e+05 | 3.572023e+05 | 2.689513e+05 | 11.0 | 26.0 | 18.5 |
16 | 10/31/22 | {adith387} | 1.806424e+05 | 3.771076e+05 | 2.788750e+05 | 6.0 | 31.0 | 18.5 |
17 | 09/02/22 | play_vrp | 1.808245e+05 | 3.540261e+05 | 2.674253e+05 | 18.0 | 20.0 | 19.0 |
18 | 10/22/22 | {lemlemlem} | 1.807367e+05 | 3.580321e+05 | 2.693844e+05 | 14.0 | 27.0 | 20.5 |
19 | 10/10/22 | {kee} | 1.808426e+05 | 3.539322e+05 | 2.673874e+05 | 28.0 | 17.0 | 22.5 |
20 | 08/16/22 | LFZZ | 1.808382e+05 | 3.540845e+05 | 2.674613e+05 | 24.0 | 21.0 | 22.5 |
21 | 10/21/22 | DryRiceKing | 1.807352e+05 | 3.911080e+05 | 2.859216e+05 | 13.0 | 34.0 | 23.5 |
22 | 09/25/22 | ora | 1.808245e+05 | 3.704470e+05 | 2.756358e+05 | 18.0 | 30.0 | 24.0 |
23 | 09/03/22 | SCIS-SMU | 1.808245e+05 | 3.825185e+05 | 2.816715e+05 | 18.0 | 32.0 | 25.0 |
24 | 10/31/22 | CH_JointTeam | 1.808843e+05 | 3.514110e+05 | 2.661477e+05 | 44.0 | 11.0 | 27.5 |
25 | 09/13/22 | HUST | 1.808245e+05 | 3.911973e+05 | 2.860109e+05 | 18.0 | 38.0 | 28.0 |
26 | 10/27/22 | LAZY SOTA | 1.808426e+05 | 3.684006e+05 | 2.746216e+05 | 28.0 | 29.0 | 28.5 |
27 | 10/21/22 | CH | 1.811199e+05 | 3.512863e+05 | 2.662031e+05 | 50.0 | 9.0 | 29.5 |
28 | 10/31/22 | Team_Opt4CO | 1.809815e+05 | 3.524713e+05 | 2.667264e+05 | 48.0 | 12.0 | 30.0 |
29 | 10/05/22 | hq | 1.808529e+05 | 3.544119e+05 | 2.676324e+05 | 40.0 | 22.0 | 31.0 |
30 | 10/25/22 | team4sake | 1.808430e+05 | 3.609454e+05 | 2.708942e+05 | 35.0 | 28.0 | 31.5 |
31 | 09/28/22 | ML_VRP | 1.808388e+05 | 3.911973e+05 | 2.860180e+05 | 25.0 | 38.0 | 31.5 |
32 | 08/31/22 | 4pd_vrp | 1.809462e+05 | 3.539408e+05 | 2.674435e+05 | 46.0 | 18.0 | 32.0 |
33 | 08/28/22 | bio | 1.808245e+05 | 4.131287e+05 | 2.969766e+05 | 18.0 | 49.0 | 33.5 |
34 | 10/31/22 | HUST1012 | 1.809520e+05 | 3.549239e+05 | 2.679380e+05 | 47.0 | 23.0 | 35.0 |
35 | 10/12/22 | VeRSA | 1.808426e+05 | 3.912263e+05 | 2.860345e+05 | 28.0 | 42.0 | 35.0 |
36 | 09/19/22 | DQN Baseline | 1.808426e+05 | 3.912263e+05 | 2.860345e+05 | 28.0 | 42.0 | 35.0 |
37 | 09/16/22 | Learning4Route | 1.808426e+05 | 3.912263e+05 | 2.860345e+05 | 28.0 | 42.0 | 35.0 |
38 | 10/31/22 | E | 1.808426e+05 | 3.923442e+05 | 2.865934e+05 | 28.0 | 46.0 | 37.0 |
39 | 09/07/22 | Supervised Learning Baseline | 1.808388e+05 | 4.196973e+05 | 3.002680e+05 | 25.0 | 50.0 | 37.5 |
40 | 10/31/22 | WYW | 1.813389e+05 | 3.553499e+05 | 2.683444e+05 | 52.0 | 24.0 | 38.0 |
41 | 08/01/22 | Random Baseline | 1.808388e+05 | 4.345285e+05 | 3.076837e+05 | 25.0 | 51.0 | 38.0 |
42 | 08/30/22 | {team_best_1} | 1.808502e+05 | 3.911973e+05 | 2.860238e+05 | 39.0 | 38.0 | 38.5 |
43 | 08/22/22 | WFI | 1.809139e+05 | 3.877045e+05 | 2.843092e+05 | 45.0 | 33.0 | 39.0 |
44 | 08/23/22 | A32 | 1.808694e+05 | 3.911112e+05 | 2.859903e+05 | 43.0 | 35.0 | 39.0 |
45 | 10/31/22 | ISMLL | 1.001464e+08 | 3.559084e+05 | 5.025115e+07 | 53.0 | 25.0 | 39.0 |
46 | 08/01/22 | Greedy Baseline | 1.808668e+05 | 3.911973e+05 | 2.860320e+05 | 42.0 | 38.0 | 40.0 |
47 | 10/31/22 | Moti | 1.808426e+05 | 4.997669e+05 | 3.403048e+05 | 28.0 | 52.0 | 40.0 |
48 | 10/06/22 | M_SM_2022 | 1.808431e+05 | 3.912351e+05 | 2.860391e+05 | 36.0 | 45.0 | 40.5 |
49 | 08/17/22 | newbie | 1.808476e+05 | 3.934870e+05 | 2.871673e+05 | 37.0 | 48.0 | 42.5 |
50 | 10/31/22 | PMF | 1.810249e+05 | 3.911246e+05 | 2.860748e+05 | 49.0 | 37.0 | 43.0 |
51 | 10/15/22 | 401 | 1.811327e+05 | 3.911227e+05 | 2.861277e+05 | 51.0 | 36.0 | 43.5 |
52 | 10/14/22 | wzq | 1.808529e+05 | 3.934718e+05 | 2.871623e+05 | 40.0 | 47.0 | 43.5 |
53 | 08/01/22 | Lazy Baseline | 1.808496e+05 | 5.553314e+05 | 3.680905e+05 | 38.0 | 53.0 | 45.5 |
54 | 10/05/22 | Raritan | 1.000000e+09 | 1.000000e+09 | 1.000000e+09 | 54.0 | 54.0 | 54.0 |
This competition is a joint effort by the organizers of previous vehicle routing competitions: the VeRoLog 2017 and VeRoLog 2019 solver challenges, the 2021 AI for TSP Competition and the 2021/2022 DIMACS Vehicle Routing Implementation Challenge.