Find the shortest delivery route
$200 reward. Ended . Results in. What to build: Write a program that plans the shortest closed route through eight sets of 1,000 to 10,000 cities, drawn after the deadline from a public random beacon.
Winning solution
Quadrant candidates, long-edge 3-opt, double-bridge ILS with restarts
1st place, @icantcodefyi, $50
Paid rewards
10 rewards paid in USDC on Solana, each listed with its transaction signature.
$50.00 USDC @icantcodefyi
Find the shortest delivery route, 1st place, Paid
3ZzGBR5a51HJSRLzLT74HSxg6iH7vxJ8XhzTPGfxAZjkRoMsiHo792vuFJKk1VAgUZSL4D7MWaBrb8VoBEntVsJt
$30.00 USDC @cheneyc9
Find the shortest delivery route, 2nd place, Paid
42Wgv7wHscVV9yVVagxKPFAipASahdkDP88ZtrMnhRr9xq5joMHFrKTFpumejrAtoMFUATRiYKCwrnbjwTWJVKZi
$24.00 USDC @eric
Find the shortest delivery route, 3rd place, Paid
5tCUQdNKmTU2oHyhKjnPZVHwBdEted8zetpuhaZn4pyd77hezwohVwuq1gcfe4KjZXvqktnfbsYwFFb2fTggiBNY
$20.00 USDC @crave
Find the shortest delivery route, 4th place, Paid
44y5Nkgr8LX9P1hQSxJPGMjqJPzxatcN3h3eLuk9AfrFmeUPeT8ukLV3oHCdDJES4TD2P5QjdkiXZSrMtm2gqjmK
$16.00 USDC @joe
Find the shortest delivery route, 5th place, Paid
365sqiGKWy37ymjvPEq9rwqCtnnJQwazsAYdc47JEyVmmHofjMirDu2RNED48QAFDke3JGYtktRc3Xi6W9p4bZAY
$12.00 USDC @witty-kestrel-66
Find the shortest delivery route, 6th place, Paid
5S2MCDPUYYDdQgyFgjeKZVTGdxVGNrtsEaniUJ9JDyc5PAMupR4G6BwnfNw97dx1keRKYNwkmBFZ2iWGk5hjUcyH
$12.00 USDC @zesty-coyote-84
Find the shortest delivery route, 7th place, Paid
zvMCZ3b4b3ZW5JQt9NZ7VTMwv1BUkbZEmn3qNjw3kGqWMw4o4NZsK46aVzs2GtcAyHvTEjJGhy2XYdTMCaPUg7s
$12.00 USDC @whoistyfur
Find the shortest delivery route, 8th place, Paid
4qw4Bi51gZ2vPa7L4ksHLsL3xkbJo5cQbqK26zz7hHmcA8YGTktFdo7VuzEdnNG71i4tdZbJXJCoPd5XUDdEjjN6
$12.00 USDC @luxdevelops
Find the shortest delivery route, 9th place, Paid
5fFUcuVciHtssukbyRkgdjvzuSF5pDj3391oWRxT4CGed1UPQxcY2M92EG3Huwvow8HPa5WrreiBhYG6HRX6g6vj
$12.00 USDC @mellow-lark-11
Find the shortest delivery route, 10th place, Paid
3ortRQTC3FAbHXzCunx1B93jTmNps4qow3iGCoUTVGaB3xKkW8MUt99NjMa995jFP1MfCX2XnddYxPMGcLNCTJx8
This bounty's rewards are paid in USDC on Solana from make.fun's reward wallet, with no escrow.
Full brief
A delivery van leaves the depot, visits every stop once and comes back. Find the shortest such route, the Euclidean travelling salesman problem, on eight city sets of 1,000 to 10,000 cities, uniform and clustered. The final city sets are drawn after the deadline from a public drand round, so nobody can know them in advance.
Context
Your program reads each city set at /input/<id>.txt and writes a closed tour of it to /output/<id>.tour: every city exactly once, the route closing back to its first city. Each tour is measured in TSPLIB EUC_2D distances (the straight-line distance rounded to the nearest integer) against the tour the greedy nearest-neighbour rule builds from city 0. Your score is the mean, over the eight sets, of your tour's length over that nearest-neighbour length, in millionths: 1,000,000 matches nearest neighbour, and lower is better.
Before the deadline your entries run on the practice city sets, drawn from a round emitted before the competition opened and published in the kit. The final ranking runs every entry on eight new city sets drawn from the first drand round emitted 5 minutes after the deadline.
Deliverables
- A public GitHub repository owned by your own GitHub account, created after the competition opens, under an OSI-approved license, with your program at main.ts (Node 22) or main.py (Python 3.13) in the repository root
- The AI coding-agent transcripts of the sessions that built it (Claude Code, Codex, Cursor and others), uploaded with each submission
Requirements
- Node 22 or Python 3.13, standard library plus source you commit: nothing is installed before the program runs, and no native code of your own
- A valid tour of every city set: a tour missing a city, repeating one or naming one that does not exist makes the entry ineligible for a prize
- No network, no wall clock and no files outside /bot, /input, /output and /tmp; two executions on the same city sets must write the same bytes, so bound your search by iteration counts, never by time
- At most 120 seconds, 1 CPU and 512 MB per execution
- At most 10 submissions a day and 10 in all; your last submission before the deadline is your final entry