Model railway module floor packing and setup order calculator

Calculate module floor placement and dependency-respecting setup order with your own figures.

Your numbers

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

Use module floor placement and dependency-respecting setup order to compare changes to your inputs. The method and limits below explain the scope.

Examples

Examples

Try the starting example

Module footprints [width cm,depth cm]; enter JSON
[[80,40],[80,40],[60,30]]
Transport floor width (cm)
160
Transport floor depth (cm)
80
Setup tasks [minutes,zero-based predecessors]; enter JSON
[[10,[]],[15,[0]],[5,[0]]]
Module floor placement (JSON)
{"placements":[{"item":1,"x":0,"y":0,"width":80,"height":40},{"item":2,"x":80,"y":0,"width":80,"height":40},{"item":3,"x":0,"y":40,"width":60,"height":30}],"unplaced":[]}
Dependency-respecting setup order (JSON)
[{"task":1,"worker":1,"start":0,"end":10},{"task":2,"worker":1,"start":10,"end":25},{"task":3,"worker":1,"start":25,"end":30}]
Setup completion (minutes)
30

Try another scenario

Module footprints [width cm,depth cm]; enter JSON
[[70,50],[60,40],[50,30]]
Transport floor width (cm)
130
Transport floor depth (cm)
90
Setup tasks [minutes,zero-based predecessors]; enter JSON
[[12,[]],[10,[0]],[8,[1]]]
Module floor placement (JSON)
{"placements":[{"item":1,"x":0,"y":0,"width":70,"height":50},{"item":2,"x":70,"y":0,"width":60,"height":40},{"item":3,"x":0,"y":50,"width":50,"height":30}],"unplaced":[]}
Dependency-respecting setup order (JSON)
[{"task":1,"worker":1,"start":0,"end":12},{"task":2,"worker":1,"start":12,"end":22},{"task":3,"worker":1,"start":22,"end":30}]
Setup completion (minutes)
30
Calculation method

Calculation method

Module floor placement (JSON)

Input-order shelf packing, no rotation; wrap to next shelf on width overflow; reject depth overflow.

Dependency-respecting setup order (JSON)

Single worker: earliest feasible ready task by input index; elapsed minutes start at zero.

Setup completion (minutes)

Maximum task completion in single-worker dependency schedule.

Symbols and units
a
Module footprints [width cm,depth cm]; enter JSON
b
Transport floor width (cm)
c
Transport floor depth (cm)
d
Setup tasks [minutes,zero-based predecessors]; enter JSON

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

  • No-rotation floor shelf packing plus independent dependency installation order; excludes transport restraint design. 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. All numeric values must be finite. Lists contain at most 100 records; required lists must be nonempty. Rates, probabilities and fractions are entered as fractions, not percentages; fractions must be between 0 and 1. Use a single consistent user-selected currency for all amounts; no exchange-rate conversion.
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.