Polymorphic Case study
← All case studies

02 / TRANSPORT / ILLUSTRATIVE

A network that re-plans itself around its passengers.

An optimisation system for a public transport network that re-planned routing and logistics across the whole network at once—and listened to the people riding it, reading their feedback with semantic analysis so satisfaction moved alongside on-time running.

The plateNetwork: a transit network solved to user equilibrium by Frank–Wolfe assignment; each link is a bundle of hairlines in proportion to its flow, and congested links are drawn in sand. Feedback: passenger messages placed on a semantic map of topics. When complaints about a line build up, the optimiser adds service there and solves again. Illustrative network, demand and text.

ClientPUBLIC TRANSPORT AGENCY
CapabilityNETWORK OPTIMISATION
Duration22 WEEKS
StatusILLUSTRATIVE CASE

01 / the network
Every change moves everything else

A network is one system.

Moving one route moves the load onto every route around it. Corridors were planned one at a time, so a fix in one place often became a bottleneck in another, and the effect only showed up weeks later in the counts.

Passenger feedback told the other half of the story, but it arrived as thousands of free-text messages a week and was read in samples, months after the fact. Planners needed to see the whole network move, and hear the people on it, before a change went live.

Fig. 01

Journey time by corridor, before

The western corridor carried the longest journeys and the most complaints, and every fix to it moved load onto its neighbours.

Minutes, AM peak

02 / the build
Assign → optimise → listen → adjust

Optimise the flows, then listen to the riders.

We modelled the network as a flow problem: travel demand between every pair of stops, assigned to routes under congestion and solved to equilibrium, so that no traveller could do better by switching. Logistics—vehicle allocation, layovers, depot runs—sat in the same model, so a timetable change carried its real operating cost.

Alongside it, a language model read every piece of feedback—complaints, compliments, social posts—placed each in a semantic map of topics, scored its sentiment, and tied it to the stops and services it described.

  1. Stage 0101

    Assign

    Travel demand between every pair of stops, assigned to routes under congestion and solved to equilibrium.

  2. Stage 0202

    Optimise

    Services, frequencies, vehicles and layovers re-planned network-wide, with their operating cost attached.

  3. Stage 0303

    Listen

    Every piece of feedback read, mapped by topic and sentiment, and tied to the stops and services it describes.

  4. Stage 0404

    Adjust

    Changes that cut journey times and lift satisfaction go first; changes that hurt riders are caught before rollout.

03 / the result
Faster journeys, happier passengers

Two signals, one decision.

Planners could see where a change would cut journey times, and whether passengers on those services were telling a different story. Changes that looked efficient on paper but hurt satisfaction were caught before rollout, and the ones that helped were made where riders had been asking for them.

−11%

average journey time on re-planned corridors

+9 pts

satisfaction on changed services

180K

feedback messages read each month