Transit demand-responsive seat allocation calculator

Calculate feasible pooled pickup timetable and served requests with your own figures.

Your numbers

Use the units shown. Results update as you change valid inputs.

Use feasible pooled pickup timetable and served requests to compare changes to your inputs. The method and limits below explain the scope.

Examples

Examples

Try the starting example

Requests [earliest pickup minute,latest pickup minute,party seats]; enter JSON
[[0,10,2],[0,15,1],[5,20,2]]
Travel matrix (minutes); depot index 0 then requests; enter JSON
[[0,3,4,5],[3,0,2,4],[4,2,0,2],[5,4,2,0]]
Vehicle passenger seats (count)
4
Feasible pooled pickup timetable (JSON)
{"pickups":[[1,3],[2,5]],"return_minute":9,"unserved":[3]}
Served requests (count)
2

Try another scenario

Requests [earliest pickup minute,latest pickup minute,party seats]; enter JSON
[[0,8,2],[0,12,2],[0,20,1]]
Travel matrix (minutes); depot index 0 then requests; enter JSON
[[0,3,4,6],[3,0,2,5],[4,2,0,3],[6,5,3,0]]
Vehicle passenger seats (count)
5
Feasible pooled pickup timetable (JSON)
{"pickups":[[1,3],[2,5],[3,8]],"return_minute":14,"unserved":[]}
Served requests (count)
3
Calculation method

Calculation method

Feasible pooled pickup timetable (JSON)

Enumerate ordered subsets fitting seats and every pickup window. Maximize request count; tie by return time then request order.

Served requests (count)

Request count minus unserved count from selected route.

Symbols and units
a
Requests [earliest pickup minute,latest pickup minute,party seats]; enter JSON
b
Travel matrix (minutes); depot index 0 then requests; enter JSON
c
Vehicle passenger seats (count)

Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.

Assumptions & limits

Assumptions & limits

  • One pooled depot-to-pickups-to-depot trip, no drop-offs before return. Exact enumeration maximizes request count, then earliest depot return; bounded to seven requests. Supported limits: All numeric inputs and computed intermediates must remain finite. Supported numeric input magnitude is zero or 1e-12 through 1e12 in absolute value; reject values outside this bounded range. All lists/JSON record tables are limited to 100 records unless a stricter bound is stated; reject malformed record arity and wrong member types. 1..7 requests; full (n+1)×(n+1) travel matrix; diagonal zero; earliest<=latest; positive integer party seats. All passengers board at their pickup and leave at depot; no ride-time limit is inferred.
Are these inputs private?

These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.

Share this page
Share this calculator

Leave unchecked to share the page without your entered values.