metadata title: Smart Factory Scheduling Environment
emoji: π
colorFrom: blue
colorTo: green
sdk: docker
tags:
- openenv
- reinforcement-learning
- scheduling
pinned: false
Smart Factory Scheduling Environment
An OpenEnv -compliant RL environment simulating real-world industrial scheduling: assign jobs to machines, handle breakdowns, and maximise throughput within deadlines.
Observation Space
Field
Type
Description
machines
List[Machine]
id, status (idle/busy/broken), current_job, failure_rate
pending_jobs
List[Job]
id, remaining_time, deadline, priority (1-3), assigned_machine
completed_jobs
List[Job]
Jobs finished this episode
time
int
Current time step
max_steps
int
Episode length
done
bool
Episode terminated
reward
float
Reward from last action
Action Space
Action
Effect
assign_job <job_id> <machine_id>
Assign pending job to idle machine
repair <machine_id>
Restore broken machine to idle
wait
Advance time with no change
Reward Function
Event
Reward
Job completed on time
+1.00 + 0.20 Γ priority
Job completed late
+0.30
Valid assignment
+0.10
Invalid action
β0.10
Idle machine (pending jobs exist)
β0.05 per machine
Job past deadline
β0.10 per step
Repair broken machine
+0.05
Tasks
Task
Machines
Jobs
Failure Rate
Max Steps
Baseline Score
easy
2
3
0%
20
1.000
medium
4
7
8%
30
~0.557
hard
6
12
15%
40
~0.457
Score formula: 0.5 Γ completion_rate + 0.3 Γ on_time_rate + 0.2 Γ utilization_bonus
Setup
pip install -r requirements.txt
Run HTTP Server (HF Space)
python server.py
Run Inference (LLM agent)
export OPENAI_API_KEY=<your-key>
export FACTORY_TASK=easy
python inference.py
Run RL Training
python train.py --task easy --episodes 10 --provider openai
python train.py --task medium --episodes 10 --provider claude
Interactive Demo
python app.py
Docker
docker build -t factory-env .
docker run -e OPENAI_API_KEY=<key> -e FACTORY_TASK=easy -p 7860:7860 factory-env
Baseline Scores
Task
Score
Steps
easy
1.000
4
medium
~0.529
12
hard
~0.533
34
Project Structure
βββ factory_env/
β βββ env.py # FactoryEnv (openenv.core.Environment)
β βββ models.py # FactoryAction, FactoryObservation, FactoryState
β βββ tasks.py # Task configurations
β βββ grader.py # Score computation
βββ inference.py # LLM baseline agent
βββ train.py # Multi-episode RL training loop
βββ server.py # FastAPI HTTP server for HF Space
βββ app.py # Gradio interactive demo
βββ openenv.yaml # OpenEnv metadata
βββ Dockerfile