RailSimEnv / openenv.yaml
bpHigh's picture
RailSimEnv v1: OpenEnv server, eval explorer, 3D replay and train graph
31252db verified
Raw History Blame Contribute Delete
1.55 kB
spec_version: 1
name: rail_ops
type: space
runtime: fastapi
app: rail_openenv.server:app
port: 7860
description: Rail dispatch on Arriva's single-track Groningen - Leeuwarden line (Netherlands) on real January-June 2025 days - hold, short-turn and cancel trains so opposing trains cross safely after real breakdowns, collisions, signal and points failures (and seeded ones drawn from the 2024-2025 disruption record); graded once on submit against the CP-SAT optimum. 45 eval tasks on held-out weeks, chosen for hardness, and a train pack on the other days.
version: "0.1.0"
variables:
RAIL_TASKS_DIR: "" # colon-separated pack directories; defaults to tasks/rail-v1-eval:tasks/rail-v1-train
RAIL_MAX_CHECKS: "10"
RAIL_MAX_TOOL_CALLS: "24"
MAX_CONCURRENT_ENVS: "64"
validation:
reward:
range: [0.0, 1.0]
# oracle/solve.py submits the CP-SAT optimum and scores exactly 1.0; no plan scores 0, any rule broken < 0.2
oracle_tolerance: 0.001
floor_margin: 0.5
resources:
# pure Python: the grader re-simulates a plan in milliseconds, CP-SAT never runs on the server
cpu: 2.0
memory_mb: 2048
disk_mb: 1024
episode_timeout_s: 3600.0
network:
mode: no-network
capabilities:
verifier:
kind: reward_channel
oracle:
form: script
location: oracle/solve.py
rubric_tree: true
task_api: true
declared_tools: [get_situation, check_plan, submit_plan]
types:
tags: [simulation, railway, dispatching, scheduling, operations-research, mcp, real-world-data]