Ivan Rodin

Leaders of Digital Transformation 2024 · hackathon

Icebreaker convoys on the Northern Sea Route

3rd place · team Branch and Win

Convoys along an abstract Arctic route and icebreakers on standby · synthetic data

Task

Plan hourly routes for cargo ships and nuclear icebreakers on the Northern Sea Route through two months of spring navigation: 42 voyage requests with release dates, 4 icebreakers, and a route graph of 47 points and 73 legs.

Ice changes every week. Depending on its ice class, a ship may sail a leg alone, only behind an icebreaker, or not at all, and each case has its own speed. An icebreaker escorts at most three ships at a time.

Approach

  1. 01Ice into travel times

    Weekly ice grids of 269 × 217 cells become a graph of passable cells; a shortest path between every pair of route points gives each leg its length and average ice. A rule table turns ice class, ice level and escort into a speed, and the speed into whole hours.

  2. 02Candidate routes per ship

    Each ship may only use legs from its ten shortest routes between origin and destination, about 20 of the 146 directed legs. Icebreakers keep the whole graph.

  3. 03One time-expanded network

    Every ship and icebreaker is a unit of flow over (point, hour) nodes, with sailing arcs (alone or escorted) and one-hour waiting arcs, and each unit ends exactly once. An escorted departure needs an icebreaker leaving on the same leg in the same hour, with at most three ships behind it; there are no ship-to-icebreaker assignment variables at all.

  4. 04A soft destination

    The objective is the time from release to the end of each ship’s route, plus five times the remaining shortest time to its destination if it ends elsewhere. Every planning window stays feasible, even when a voyage cannot finish inside it.

  5. 05Rolling horizon and repair

    Plan a week plus two days of look-ahead, aligned to the weekly ice snapshots; commit the week, hand positions over and repeat, eleven windows in all. At least two icebreakers finish each window in the Kara Sea sector, so the fleet does not drift away from where it will be needed. A repair pass then moves each convoy at its slowest member’s speed and pushes the delays forward.

  6. 06A service, not a notebook

    Scenarios and runs behind a FastAPI service, a Dash dashboard with Gantt charts and route, convoy and ice maps, HiGHS through Pyomo, all in Docker.

Result

3rd place at Leaders of Digital Transformation 2024.

In the base scenario all 42 requests reach their destination; 40 ships are escorted at some point, in 146 convoys.

Icebreaker planning later went into production.

Stack

Python · Pyomo · HiGHS · NetworkX · FastAPI · Dash · Docker