Examples
Examples
Try the starting example
- Blocks [identifier,usable length mm]; enter JSON
- [["A",1000],["B",800]]
- Occupancies [block,start minute,end minute,train length mm]; enter JSON
- [["A",0,10,800],["A",9,15,700],["B",0,8,900]]
- Required temporal separation (minutes)
- 1
- Length-conflict row numbers (JSON)
- [3]
- Separation-conflict row pairs (JSON)
- [[1,2]]
Try another scenario
- Blocks [identifier,usable length mm]; enter JSON
- [["A",900],["B",1000]]
- Occupancies [block,start minute,end minute,train length mm]; enter JSON
- [["A",0,5,800],["A",7,12,700],["B",0,8,900]]
- Required temporal separation (minutes)
- 1
- Length-conflict row numbers (JSON)
- []
- Separation-conflict row pairs (JSON)
- []
Calculation method
Calculation method
Length-conflict row numbers (JSON)
Flag train length>matching block usable length.
Separation-conflict row pairs (JSON)
Same-block pair conflicts unless end_i+separation<=start_j or vice versa.
Symbols and units
- a
- Blocks [identifier,usable length mm]; enter JSON
- b
- Occupancies [block,start minute,end minute,train length mm]; enter JSON
- c
- Required temporal separation (minutes)
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
- Fixed train occupancy intervals on individually named blocks; checks supplied length and separation only. 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. Unique block ids; occupancy ids exist; start<end; lengths>0; separation>=0.
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.