OBSERVATION CHAMBER / MVP

Optimal Transport Workbench

Move supply and destination points, change their masses, and solve the globally optimal way to carry all mass at minimum total cost.

optimization Prototype


01 / BUILD THE MASS

Supply points and destination points

Balanced discrete transport / at most 24 total points
Selected pointSupply S1

03 / COMPARE THE PLANS

Links and transport matrix

not solved
Constraint quality
--
Plan shown
Optimal

Transport matrix

Solve to populate P(i,j)

Every link and heatmap cell uses the same accepted transport amount P. Greedy is a source-order baseline, not an optimizer.

Solver diagnostics and accepted plan
Solver status
not solved
Source / destination total
1 / 1
Row max residual
--
Column max residual
--
Nonnegative minimum
--
Runtime
--
Finite
--
Job / revision
--

Coordinates and masses

Supply S1 selected.

Numerical matrix

No accepted matrix.

Mass is normalized to one inside the LP, then the accepted plan is rescaled to its original unit. javascript-lp-solver 0.4.24 / Unlicense runs in a local Worker.

Supported total mass is 1e-250 through 1e250. Unbalanced, negative, nonfinite, unsupported, over-limit, cancelled, or stale jobs stop without accepting a result.

SYSTEM NOTE

The balanced plan minimizes sum_ij c_ij P_ij subject to sum_j P_ij = a_i, sum_i P_ij = b_j, and P_ij >= 0, with c_ij = ||x_i-y_j||_2^p.

OBSERVATION GUIDE

Touchpoints for Observation

Observe weighted supply and destination points become a feasible global allocation, carrying links, and one transport matrix.

  • Move points, edit masses, Normalize, Solve, switch between Optimal and the Greedy baseline, then move one destination and solve again.
  • The linear program normalizes balanced total mass to one and rescales the accepted plan to the original mass unit.
  • Positive micro-mass transport amounts are retained and displayed in scientific notation when needed.
  • Greedy follows source order and has no optimality guarantee.

This is balanced discrete optimal transport with at most 24 total points. It does not solve continuous or unbalanced transport and is not a logistics, dispatch, engineering-design, or operational planning system. Unsupported tiny, huge, nonfinite, negative, or unbalanced inputs stop without a plan. The local solver is javascript-lp-solver 0.4.24 under the Unlicense.

Runs inside the browser with no upload and no registration.

OBSERVATION POLICY

This lab runs in your browser. No image, pointer trace, or input is uploaded by this prototype.