Skip to content

Build1 publisher2 min readPublished

Google's MilleMiglia generates the middle-mile logistics instances carriers keep proprietary

Google Research has published a C++ instance generator for the middle-mile leg, where one shipment changes vehicles several times and can take a week to arrive. Single-day vehicle routing benchmarks do not describe that.

The Engineer · Build desk

Illustration accompanying Google's MilleMiglia generates the middle-mile logistics instances carriers keep proprietary

What happened

  • Google engineers released MilleMiglia, a C++ instance generator that produces realistic benchmark instances for middle-mile delivery problems, in a research blog post dated September 18, 2026.
  • The source code and documentation are on GitHub, and the design is written up in a paper called "A Novel Instance Generator for Simulating Middle-Mile Logistics Networks".
  • The middle mile moves goods in bulk between distribution centers at regional and continental scale and takes a sizable share of total logistics spend while drawing far less operational research than the first and last mile.
  • The applications Google lists include e-commerce, retailers in city centers, parts moving from plants to car manufacturers, and temperature-controlled pharmaceuticals travelling between storage facilities and hospitals.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • capability A third party can now rerun a middle-mile solver experiment end to end without access to any carrier's private topology or volumes.
  • decision An optimization group that has been tuning against one customer's network has to decide whether its next published comparison runs on instances a reviewer can regenerate.
  • precedent If middle-mile papers standardize on these instances, the generator's default topologies and demand distributions become the field's working picture of a typical network.

In first- and last-mile problems the shipment stays in one vehicle from origin to destination, and the solver is picking which vehicle takes which shipments and in what order, across a fleet, usually over a single day [6]. The middle mile runs as a relay. A shipment can ride several vehicles across a continental network and arrive a week after it left [7]. At each intermediate distribution center it may be unloaded, sorted by destination, consolidated with other freight, and loaded onto the next vehicle [8]. The outbound departure therefore depends on the inbound arrival, and rescheduling one leg can break a leg two hubs later [13].

Google's worked route moves goods from a manufacturer in Groningen to the regional distribution center in Utrecht, on to another center in Paris, and then to a consumer in Versailles [10]. The post opens by asking how a Dutch poffert covers 700 km and arrives the next day [11]. Give that trip 24 hours and the network has to average about 29 km/h end to end [12]. Every sort and every wait for an outbound departure comes out of the same budget [8].

Lotfi and Cuvelier wrote that this part of the journey "covers the longest distance, represents a huge portion of the overall costs, and most importantly dictates whether your poffert arrives fresh or stale" [9]. Google says the generator captures the middle mile's constraints and produces realistic, privacy-preserving data [14]. Synthetic output is the only form this data can take publicly, given that most logistics companies treat their network topologies and demand volumes as highly sensitive proprietary information [5].

Any instance generator encodes an opinion about what a typical network looks like: the number of hubs, the demand between pairs of them, the slack at transfers. A result measured on generated instances is conditional on those parameter choices [17]. A heuristic tuned on one hub count and one demand skew can lose to a plainer method on a real network with a different skew. So before crediting a published gain on MilleMiglia instances, read the parameters used to produce them and compare them with your own hub count and volumes. Google calls the release a foundational building block to enable future research results [16].

What to watch

  • Whether the repository ships fixed benchmark instance sets with published parameter values, or only the generator that produces them.
  • Whether any carrier publishes a comparison between MilleMiglia's generated topologies and its own real network.
  • Whether middle-mile papers start reporting results on these instances, and whether bindings appear for teams not working in C++.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories