Rental delivery collection batching calculator

Calculate feasible batched runs and unserved stops and run count with your own figures.

Your numbers

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

Use feasible batched runs and unserved stops and run count to compare changes to your inputs. The method and limits below explain the scope.

Examples

Examples

Try the starting example

Stops [open minute,close minute,service minutes,delivery load units,collection load units]; enter JSON
[[0,80,5,2,1],[0,100,5,2,2],[0,130,5,1,3]]
Travel matrix (minutes); depot then stops; enter JSON
[[0,5,7,9],[5,0,4,6],[7,4,0,4],[9,6,4,0]]
Vehicle load capacity (units)
4
Feasible batched runs and unserved stops (JSON)
{"runs":[{"depot_departure":0,"stops":[[1,5,10,3],[2,14,19,3]],"depot_return":26},{"depot_departure":26,"stops":[[3,35,40,3]],"depot_return":49}],"unserved":[]}
Run count
2

Try another scenario

Stops [open minute,close minute,service minutes,delivery load units,collection load units]; enter JSON
[[0,60,8,3,1],[0,90,8,2,3],[0,120,8,2,2]]
Travel matrix (minutes); depot then stops; enter JSON
[[0,6,8,10],[6,0,5,7],[8,5,0,5],[10,7,5,0]]
Vehicle load capacity (units)
5
Feasible batched runs and unserved stops (JSON)
{"runs":[{"depot_departure":0,"stops":[[1,6,14,3],[2,19,27,4]],"depot_return":35},{"depot_departure":35,"stops":[[3,45,53,2]],"depot_return":63}],"unserved":[]}
Run count
2
Calculation method

Calculation method

Feasible batched runs and unserved stops (JSON)

At current depot time, test every contiguous prefix from next stop. Initialize load=sum deliveries; at each stop load+=collection−delivery; require capacity and service finish<=close. Choose longest feasible prefix and return depot; if none, report next stop unserved.

Run count

Number of feasible depot-to-depot runs.

Symbols and units
a
Stops [open minute,close minute,service minutes,delivery load units,collection load units]; enter JSON
b
Travel matrix (minutes); depot then stops; enter JSON
c
Vehicle load capacity (units)

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 vehicle, fixed stop order, contiguous multi-run delivery/collection batching; depot loads all deliveries for each run and unloads collected items on return. 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. <=20 stops; full nonnegative square matrix with zero diagonal; windows ordered start<=end, service/load>=0; positive capacity. Greedy longest-prefix plan; no loading time, traffic, geographic optimization or rearranged stop order.
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.