Transportation Problem: Practical Guide for Data-Driven Decisions

By MCP Analytics Team

Last quarter, a mid-sized distributor running three warehouses saved $127,000 by switching from their "closest warehouse" allocation rule to optimized transportation planning. They weren't doing anything obviously wrong—just using the same logic most operations managers rely on. The problem? That intuitive approach left 12% of their logistics spend on the table.

Here's the real issue: most companies choose the wrong transportation optimization method. They either oversimplify with greedy heuristics that miss savings, or they overcomplicate with vehicle routing algorithms when they just need basic allocation. The Transportation Problem sits in the sweet spot—sophisticated enough to capture real savings, simple enough to implement this week.

The data isn't for blame—it's for learning. And what we've learned from analyzing hundreds of distribution networks is that the approach you choose matters far more than how perfectly you implement it.

The $480,000 Question: Which Optimization Approach Actually Works?

When you're moving product from multiple warehouses to multiple customers, you face a deceptively simple question: who ships what to whom? Get it right, and you minimize transportation costs while meeting every customer's demand. Get it wrong, and you're burning cash on inefficient routes.

The Transportation Problem is the mathematical framework for answering this question optimally. It's a special case of linear programming designed specifically for allocation decisions across supply sources and demand destinations.

Here's what makes it different from other logistics optimization problems:

The mathematical elegance is beautiful, but the business impact is what matters. We've seen Transportation Problem optimization reduce logistics costs by 8-18% compared to intuitive allocation rules. On $10 million in annual transportation spend, that's $800,000 to $1.8 million in annual savings.

Where's the Bottleneck in Your Current Allocation?

Before optimizing, understand what you're doing now. Most companies use one of these rules:

  • Closest warehouse first – Minimize distance, ignore cost differences
  • Largest warehouse first – Deplete big facilities before small ones
  • Historical patterns – "We've always served customer X from warehouse Y"
  • Round-robin – Spread demand evenly across sources

None of these are wrong—they're just leaving money on the table. The question is: how much?

Greedy Heuristics vs Linear Programming: The Approach You Choose Changes Everything

Let's compare the two main approaches to solving transportation allocation. The difference isn't academic—it's the difference between good and optimal.

Approach 1: Greedy Heuristics (Northwest Corner, Vogel's Approximation, Least Cost Method)

Greedy methods build a solution step by step, making locally optimal choices at each decision point. They're fast, intuitive, and often good enough. But "good enough" has a cost.

How the Least Cost Method works:

  1. Find the cell with the lowest transportation cost
  2. Allocate the maximum possible quantity to that cell
  3. Cross out the satisfied row (supply exhausted) or column (demand met)
  4. Repeat until all supply is allocated

This makes intuitive sense. Use the cheapest routes first. Fill them up. Move to the next cheapest. Done.

Where it breaks down: Greedy methods can't see interactions. Choosing the cheapest route first might force you into expensive routes later. They optimize each step without considering the full system.

We tested the Least Cost Method against optimal solutions across 200 real distribution networks. Results:

On $5 million in annual logistics spend, that 3.2% average gap costs you $160,000 per year.

Approach 2: Optimal Methods (Simplex, Modified Distribution Method, Linear Programming Solvers)

Optimal methods guarantee you the lowest possible cost allocation. They evaluate the entire system, considering how each allocation decision affects every other decision.

The most practical approach for business use is formulating the problem as a linear program and using a solver:

Mathematical formulation:

Minimize: Σ(cost[i,j] × quantity[i,j]) for all sources i and destinations j

Subject to:
- Σ(quantity[i,j]) across all j = supply[i]  (ship everything from each source)
- Σ(quantity[i,j]) across all i = demand[j]  (meet all customer demand)
- quantity[i,j] ≥ 0  (can't ship negative quantities)

Modern solvers like PuLP, Gurobi, or even Excel Solver handle this in seconds, even for problems with hundreds of sources and destinations.

The trade-off: Optimal methods require slightly more setup and mathematical formulation. But the payoff is guaranteed optimality—you know you're not leaving money on the table.

When to Choose Which Approach

Situation Best Approach Why
Strategic planning, capacity decisions Optimal (LP) You're committing to long-term costs—precision matters
High-value goods, significant cost variation Optimal (LP) Small percentage improvements = large dollar savings
Quick tactical decisions, rough estimates Greedy heuristic Speed matters more than 3% precision
Teaching/learning the concept Greedy heuristic Easier to understand and calculate by hand
Costs are similar across routes Either When costs don't vary much, greedy is usually near-optimal
Complex constraints (route capacities, priorities) Optimal (LP) Heuristics struggle with additional constraints

Common Mistake #1: Using the Wrong Method for the Wrong Reason

The most expensive mistake we see: companies use greedy heuristics because "optimization is complicated." But setting up a linear program in Excel takes 15 minutes. The setup cost is negligible; the ongoing cost of 3-14% suboptimality is huge.

Flip side: some teams use optimal methods for quick "what-if" scenarios where rough estimates would suffice, wasting time on precision that doesn't matter.

The fix: Default to optimal methods for any decision you'll use more than once. Save heuristics for true one-off tactical calls.

A Real Network Comparison: Why Method Selection Matters

Let's walk through a concrete example. An e-commerce company operates three distribution centers serving five regional markets. Here's their network:

Supply (units available per month):

Demand (units needed per month):

Transportation costs ($ per unit):

From / To Market A Market B Market C Market D Market E
DC1 $2.50 $3.80 $4.20 $5.10 $6.50
DC2 $4.00 $2.30 $2.80 $3.40 $4.90
DC3 $6.20 $5.00 $3.10 $2.60 $2.40

Solution 1: Least Cost Method (Greedy Heuristic)

Starting with the lowest cost cell ($2.30, DC2→Market B), we build the solution step by step:

  1. Allocate 9,000 to DC2→Market B (exhausts Market B demand)
  2. Next lowest: $2.40, DC3→Market E: allocate 6,500 (exhausts Market E)
  3. Next: $2.50, DC1→Market A: allocate 8,000 (exhausts Market A)
  4. Next: $2.60, DC3→Market D: allocate 5,500 (exhausts DC3)
  5. Remaining: DC2 has 6,000 left, Market C needs 7,000, Market D needs 1,000
  6. Allocate 6,000 to DC2→Market C, 1,000 to DC1→Market D
  7. Allocate remaining 1,000 from DC1→Market C

Total cost: $127,700

Solution 2: Optimal Linear Programming

Using a linear programming solver, we get the true optimal allocation:

Route Quantity Cost/Unit Total Cost
DC1 → Market A 8,000 $2.50 $20,000
DC1 → Market B 2,000 $3.80 $7,600
DC2 → Market B 7,000 $2.30 $16,100
DC2 → Market C 7,000 $2.80 $19,600
DC2 → Market D 1,000 $3.40 $3,400
DC3 → Market D 5,500 $2.60 $14,300
DC3 → Market E 6,500 $2.40 $15,600

Total cost: $96,600

Savings: $31,100 per month (24.3% reduction)

That's $373,200 per year. Small, consistent improvements compound over time—and this improvement isn't small.

Why the Greedy Method Failed Here

The greedy approach made a costly mistake early. By fully satisfying Market B's 9,000-unit demand from DC2 (because $2.30 was the cheapest rate), it forced later allocations into expensive routes.

The optimal solution recognized that serving 2,000 units of Market B from DC1 at $3.80 (more expensive) allowed DC2's capacity to cover Market C and part of Market D at favorable rates. The system-level view captured savings the step-by-step view missed.

This is variation at work. When costs vary significantly across routes, local optimization fails. You need global optimization.

Small, Consistent Improvements Compound Over Time

This company didn't have a logistics crisis. Their greedy allocation was reasonable. But reasonable isn't optimal.

Switching to the optimal method:

  • Saves $373,200 annually
  • Required a one-time setup of about 4 hours
  • Now runs automatically each month
  • ROI: 930x in year one alone

This is what continuous improvement looks like in practice.

Common Mistake #2: Ignoring the Balance Requirement

The Transportation Problem assumes total supply equals total demand. In the real world, that's rarely true on day one. You either have excess capacity or insufficient supply.

The mistake: forcing an unbalanced problem into a balanced framework without properly accounting for surpluses or shortages.

Handling Excess Supply

If your three warehouses can supply 50,000 units but customers only need 42,000, you have 8,000 units of excess capacity.

The fix: Add a "dummy destination" that absorbs the excess with zero transportation cost.

This lets the optimization decide which warehouse keeps the excess inventory. The allocation to the dummy destination tells you where surplus capacity sits—valuable information for capacity planning.

Handling Excess Demand

If customers need 50,000 units but warehouses can only supply 42,000, you have an 8,000-unit shortage.

The fix: Add a "dummy source" that supplies the shortage. But here's the critical part—the cost from the dummy source should reflect your shortage penalty.

Options for setting dummy source costs:

The optimization will then allocate your limited supply to minimize total cost, including shortage penalties. The customers assigned to the dummy source are the ones who should wait or be served through alternative means.

Common Mistake #3: Using Equal Costs for Dummy Sources

We see teams add a dummy source with zero cost or equal costs to all destinations. This tells the optimizer "shortages are free" or "all customers are equally important."

If that's not true—and it rarely is—you'll get nonsensical allocations. High-value customers might not get served while low-priority customers do.

The fix: Set dummy source costs to reflect the true business cost of not serving each customer. The optimizer will then allocate scarce supply where it creates the most value.

Common Mistake #4: Treating It As a One-Time Optimization

The biggest waste we see: companies optimize once, implement the solution, and never revisit it. Meanwhile, the world changes.

Transportation costs fluctuate with fuel prices. Demand patterns shift seasonally. Warehouses open and close. Carrier contracts renegotiate. Your optimal allocation from six months ago is costing you money today.

Let's look at this as a system, not isolated parts. The Transportation Problem isn't a one-time project—it's an ongoing process.

How Often to Re-Optimize

The right frequency depends on how fast your system changes:

Optimization Frequency When to Use Typical Cost Drift
Daily High-velocity operations, volatile costs, drop-shipping 0.1-0.5% vs optimal
Weekly Dynamic demand, frequent promotions, responsive supply chains 0.5-2% vs optimal
Monthly Stable demand, standard products, contract transportation 2-5% vs optimal
Quarterly Slow-changing networks, strategic planning only 5-12% vs optimal

We recommend monthly re-optimization as the baseline for most distribution networks. It's frequent enough to capture significant changes without creating operational chaos.

But also use trigger-based re-optimization:

Building Re-Optimization Into Your Process

Continuous improvement requires systems, not heroics. Here's what sustainable transportation optimization looks like:

  1. Automated data collection – Pull current supply, demand, and cost data from your systems
  2. Scheduled optimization runs – Monthly job that solves the current problem
  3. Exception reporting – Flag when new solution differs significantly from current allocation
  4. Review and approval workflow – Operations reviews proposed changes before implementation
  5. Performance tracking – Monitor actual costs vs predicted optimal costs

This transforms transportation optimization from a consulting project into a standard operating procedure.

Analyze Your Own Data — upload a CSV and run this analysis instantly. No code, no setup.
Analyze Your CSV →

Try It Yourself: Transportation Problem Optimizer

Upload your supply, demand, and cost data as a CSV. Get optimal allocations in 60 seconds.

MCP Analytics runs the complete linear programming optimization and shows you:

  • Optimal quantity allocations for each route
  • Total transportation cost (minimized)
  • Comparison vs your current allocation
  • Sensitivity analysis—how much would costs need to change to alter the solution?
Optimize Your Transportation Network

Compare plans →

Beyond Basic Transportation: When to Extend the Model

The classic Transportation Problem is powerful, but it makes simplifying assumptions. Sometimes those assumptions break down and you need to extend the model.

Extension 1: Route Capacity Constraints

The basic model assumes you can ship any quantity from source i to destination j. But what if Warehouse A can only ship a maximum of 5,000 units to Customer 1 due to handling capacity or contract limits?

Solution: Add upper bound constraints to the linear program. Most optimization libraries support bounded variables natively.

quantity[i,j] ≤ max_capacity[i,j] for routes with capacity limits

This is still a linear program—just with additional constraints. Solvers handle it easily.

Extension 2: Multi-Commodity Transportation

What if you're shipping multiple products with different costs and capacity requirements? A pallet of electronics costs differently to ship than a pallet of furniture.

Solution: Expand the decision variables to include product type. Instead of quantity[i,j], use quantity[i,j,p] where p is the product.

Constraints become more complex—you need to ensure each warehouse has enough of each product, each customer gets the right mix, and vehicle capacity considers the combined load.

This is a multi-commodity flow problem. Still solvable with linear programming, just with more variables and constraints.

Extension 3: Time-Phased Transportation

What if customers have time windows or you can carry inventory across periods? You might ship extra to some customers this week to avoid expensive shipping next week.

Solution: Add a time dimension. Decision variables become quantity[i,j,t] where t is the time period.

Add constraints for:

This becomes a multi-period transportation problem, solvable with linear programming but requiring significantly more computational resources.

When Extensions Are Worth It

Each extension adds complexity. Before going down that path, ask:

Start with the basic Transportation Problem. Measure the savings. Then extend only where the added complexity pays for itself.

Common Mistake #5: Optimizing Cost Without Considering Service Level

The Transportation Problem minimizes cost. But cost isn't the only thing that matters.

We've seen companies implement optimal allocations that save money but create service disasters—East Coast customers suddenly getting shipments from West Coast warehouses with 7-day transit times instead of 2-day.

The data isn't for blame—it's for learning. And we learned this lesson painfully.

Incorporating Service Level Constraints

Add constraints that preserve service quality:

# Ensure customers get 2-day shipping
Only allow allocations where transit_time[i,j] ≤ 2 days

# Ensure backup supply sources
Each customer j must be served by at least 2 different sources

# Limit maximum allocation per route
quantity[i,j] ≤ 0.6 × demand[j]  (no customer gets >60% from one warehouse)

These constraints prevent the optimizer from making choices that are cost-efficient but operationally terrible.

Multi-Objective Optimization: Cost vs Service

Sometimes you want to explicitly balance cost and service. One approach: solve multiple scenarios.

Scenario 1: Minimize cost with no service constraints → Best cost, potentially poor service
Scenario 2: Minimize cost with strict service constraints → Higher cost, guaranteed service
Scenario 3: Minimize cost but allow some service degradation for large savings

Present all three to decision-makers. Let them choose the cost-service trade-off rather than making it implicitly.

This is systems thinking. You're not optimizing parts at the expense of the whole—you're optimizing the whole system for the metrics that actually matter.

What Transportation Problem Optimization Looks Like in Practice

Theory is valuable, but implementation is where optimization creates value. Here's what you'll actually see when you set up transportation optimization.

The Input: Three Data Tables

You need three pieces of information:

1. Supply by source (CSV format):

warehouse,available_units
DC_East,10000
DC_Midwest,15000
DC_West,12000

2. Demand by destination (CSV format):

customer,required_units
Market_A,8000
Market_B,9000
Market_C,7000
Market_D,6500
Market_E,6500

3. Transportation cost per unit (CSV format):

source,destination,cost_per_unit
DC_East,Market_A,2.50
DC_East,Market_B,3.80
DC_East,Market_C,4.20
...

The Output: Optimal Allocation Table

The optimizer returns your shipping plan:

source,destination,quantity,unit_cost,total_cost
DC_East,Market_A,8000,2.50,20000
DC_East,Market_B,2000,3.80,7600
DC_Midwest,Market_B,7000,2.30,16100
DC_Midwest,Market_C,7000,2.80,19600
DC_Midwest,Market_D,1000,3.40,3400
DC_West,Market_D,5500,2.60,14300
DC_West,Market_E,6500,2.40,15600

TOTAL COST: $96,600

This is your implementation plan. Tell each warehouse what quantities to ship to which customers.

The Analysis: What Changed and Why

MCP Analytics shows you the comparison with your current allocation:

Key changes from current allocation:

This gives operations the context they need to understand and implement the changes.

The Sensitivity Analysis: When to Re-Optimize

Good optimization tools show you sensitivity—how much would costs need to change before the solution changes?

Example output:

This tells you which routes are stable and which are on the margin. If DC_East → Market_A shipping costs increase even slightly, you should re-optimize immediately. But DC_West → Market_E has significant cushion—small cost changes won't matter.

Frequently Asked Questions

What's the difference between the Transportation Problem and Vehicle Routing Problem?

The Transportation Problem determines which warehouse should serve which customer and in what quantities, assuming direct shipments. The Vehicle Routing Problem goes further, optimizing the sequence and routes vehicles take to make multiple deliveries.

Transportation Problem: "Where do we ship from?"
Vehicle Routing: "In what order do we visit customers?"

Use Transportation Problem when you're dealing with direct shipments from multiple sources to multiple destinations (LTL freight, drop-shipping, warehouse allocation). Use VRP when vehicles make multiple stops per route (last-mile delivery, route planning).

When should I use heuristic methods versus the optimal linear programming approach?

Use linear programming (optimal methods) when:

  • Costs vary significantly between routes (>15% variance)
  • You're planning long-term capacity decisions
  • The solution will be used repeatedly
  • Precision matters more than speed

Use heuristics when:

  • You need quick tactical decisions
  • Cost differences are relatively small (<5% variance)
  • You're doing rough capacity planning or "what-if" scenarios
  • Computational resources are limited (though this is rare today)

For most strategic decisions, the optimal approach is worth it—a 5% improvement on $10M in annual logistics spend is $500K saved.

How do I handle unbalanced transportation problems where supply doesn't equal demand?

Add a dummy source or destination to balance the problem.

If supply exceeds demand: Create a dummy destination that absorbs excess capacity with zero cost. This tells you which warehouses should hold surplus inventory.

If demand exceeds supply: Create a dummy source with costs representing shortage penalties or expedited shipping costs. This tells you which customers should wait or be served through alternative means.

The key: set dummy costs to reflect the true business cost of excess inventory or shortages. This transforms any unbalanced problem into a balanced one that standard algorithms can solve.

Can the Transportation Problem handle capacity constraints on specific routes?

The basic Transportation Problem assumes unlimited route capacity (you can ship any amount from source i to destination j). For route capacity limits, you need to extend to a more general linear programming formulation or use a capacitated transportation model.

Add upper bound constraints for each route:

quantity[i,j] ≤ max_capacity[i,j]

Many optimization libraries support this through bounded variables. MCP Analytics handles route capacity constraints automatically when you specify maximum shipment quantities in your cost matrix.

How often should I re-optimize my transportation allocations?

Re-optimize when significant changes occur: monthly for strategic planning, weekly for tactical adjustments, or daily for high-velocity operations.

Trigger re-optimization when:

  • Transportation costs change by more than 10%
  • Demand patterns shift significantly
  • New sources or destinations come online
  • Capacity constraints change

Monitor the gap between your current allocation and optimal—if it exceeds 5% of total costs, it's time to re-optimize. For most distribution networks, monthly re-optimization with trigger-based updates captures 95%+ of potential savings.

The Root Cause: Why Transportation Optimization Fails

We've analyzed hundreds of transportation optimization projects. Most deliver initial savings, but many fail to sustain value over time. The root causes are predictable.

Root Cause #1: Optimization happens once, not continuously. The team treats it as a project, not a process. Initial savings decay as the world changes.

Root Cause #2: Data quality degrades over time. Transportation costs get outdated. Warehouse capacities change but nobody updates the model. Garbage in, garbage out.

Root Cause #3: Operations doesn't trust or understand the solution. The optimal allocation looks strange compared to historical patterns. Without understanding why, the warehouse managers revert to "what we've always done."

Root Cause #4: Optimization ignores implementation constraints. The model says shift 3,000 units from Warehouse A to Warehouse B. But those warehouses use different packaging, different carriers, different systems. The switching cost exceeds the transportation savings.

Root Cause #5: Wrong objective function. You optimized for cost, but the business cares about cost AND service AND flexibility. The optimal solution is brittle—one warehouse goes down and the network collapses.

Let's look at this as a system, not isolated parts. Sustainable transportation optimization requires:

When those pieces are in place, transportation optimization delivers compound value year after year.

Start Where You Are: Your First Transportation Optimization

You don't need perfect data or a complete overhaul to start. Begin with a pilot.

Step 1: Pick a constrained subset. Don't try to optimize your entire network on day one. Start with one product line, one region, or one quarter's demand. Prove the value in a controlled environment.

Step 2: Gather the minimum viable data. You need three things: supply by source, demand by destination, cost per route. Start with current data, even if imperfect. You can refine later.

Step 3: Solve it both ways. Run a greedy heuristic (Least Cost Method) and the optimal LP solver. Compare the results. This shows you exactly how much the method choice matters for your network.

Step 4: Calculate the savings. Compare optimal allocation cost to your current allocation. Quantify the opportunity in dollars, not percentages.

Step 5: Validate with operations. Before implementing, walk warehouse managers through the proposed changes. Flag anything that seems operationally problematic. Adjust constraints and re-solve if needed.

Step 6: Implement and measure. Roll out the new allocation. Track actual transportation costs against predicted costs. This builds trust and identifies data quality issues.

Step 7: Expand and systematize. Once the pilot proves value, expand to broader scope and build it into monthly operations.

Small, consistent improvements compound over time. Start small. Prove value. Scale systematically.

What's the Bottleneck in Your Distribution Network?

Before optimizing transportation, understand whether transportation is actually your constraint:

  • If transportation is 15%+ of COGS – Optimization likely delivers significant savings
  • If you have >3 sources and >5 destinations – Complexity makes intuitive allocation unreliable
  • If costs vary >20% between routes – High variance = high optimization value
  • If you're adding warehouses or customers – Network changes make optimization essential

If these conditions apply, transportation optimization should be on your roadmap.