← Agora

Supply Allocation

Warehouses hold a limited supply; stores want it; every lane has a shipping cost. Deciding what flows where is the transportation problem, and the same instance can be solved three ways. A central optimum (one linear program), a decentralised market where units of demand bid for capacity and a greedy baseline that just grabs the cheapest lane. Watch how close the market and greedy get to the planner's optimum: the efficiency gap.

The shipping network

Warehouses (squares, filled by how much capacity is used) ship to stores (circles, filled by how much demand is met). Lane thickness is the units shipped; a red ring is unmet demand. For the market and greedy, the timeline replays the allocation forming right here on the map.

warehouse store flow unserved

Scorecard

Each method's result, and its efficiency against the optimum. Click a row to show it on the map.

Prices & rents

The optimum's shadow prices per store and capacity rents per warehouse, and the price the market discovers by bidding.

Price discovery

The market is an auction: units of demand bid for capacity and prices climb until they hit the warehouses' rents, the same numbers the LP found.

Things to notice

The market is optimal

Nobody plans the whole network, yet bidding lands on the exact same cost and allocation as the central LP and rediscovers its prices along the way.

How bidding allocates

Prices are the duals

The price the auction settles on for a warehouse is precisely its capacity rent from the LP's dual: scarcity, discovered by the market instead of computed.

Capacity rent

Greedy's blind spot

Grabbing the cheapest lane first can strand a store that had no backup, or burn scarce supply on low-value demand, sometimes paying double.

The efficiency gap

When demand can go unmet

With elastic demand, serving a unit only pays if its value beats the delivered cost, so the optimum may leave the cheap-but-worthless demand unserved.

Welfare, not just cost