File size: 1,396 Bytes
4754135
d755709
4754135
 
 
 
a2db6ba
4754135
a2db6ba
d755709
 
a2db6ba
 
4754135
a2db6ba
 
4754135
a2db6ba
 
4754135
d755709
a2db6ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
spec_version: 1
name: factory_env
type: space
runtime: fastapi
app: server.app:app
port: 7860

description: Smart factory scheduling environment  assign jobs to machines, handle breakdowns, maximise throughput within deadlines.
entry_point: factory_env.env:FactoryEnv

tasks:
  - name: easy
    description: 2 machines, 3 jobs, no failures, 20 steps
    grader: grader:score_easy
  - name: medium
    description: 4 machines, 7 jobs, 8% failure rate, 30 steps
    grader: grader:score_medium
  - name: hard
    description: 6 machines, 12 jobs, 15% failure rate, 40 steps
    grader: grader:score_hard

action_space:
  type: text
  description: "assign_job <job_id> <machine_id> | repair <machine_id> | wait"

observation_space:
  type: object
  fields:
    - name: machines
      type: list
      description: List of machines with id, status (idle/busy/broken), current_job
    - name: pending_jobs
      type: list
      description: List of jobs with id, remaining_time, deadline, priority
    - name: completed_jobs
      type: list
      description: Jobs completed this episode
    - name: time
      type: int
      description: Current timestep
    - name: max_steps
      type: int
      description: Episode length
    - name: done
      type: bool
      description: Whether the episode has ended
    - name: reward
      type: float
      description: Reward from the last action