File size: 2,387 Bytes
85d3923 | 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | name: scheduling-opt-env
description: >
A real-world AI agent training environment for combinatorial scheduling
optimisation. Agents must determine schedule feasibility, classify constraint
violations, and repair infeasible schedules to minimise makespan — mirroring
the daily workflow of operations researchers and production planners.
version: "1.0.0"
author: "Team SchedulingOpt"
license: MIT
tasks:
- id: feasibility_check
name: Feasibility Check
difficulty: easy
description: Determine whether a proposed schedule satisfies all constraints.
max_steps: 3
action_schema:
response:
type: string
enum: ["feasible", "infeasible"]
task_id:
type: string
- id: conflict_classification
name: Conflict Classification
difficulty: medium
description: Identify the type of constraint violation present in an infeasible schedule.
max_steps: 5
action_schema:
response:
type: string
enum:
- resource_overload
- deadline_violation
- precedence_violation
- availability_conflict
- capacity_exceeded
task_id:
type: string
- id: schedule_repair
name: Schedule Repair
difficulty: hard
description: >
Return a corrected schedule (as JSON) that resolves all constraint
violations and minimises total makespan.
max_steps: 8
action_schema:
response:
type: string
description: >
JSON object with key "assignments": list of {job_id, machine_id,
start_time} dicts.
task_id:
type: string
action_space:
type: object
properties:
response:
type: string
description: >
The agent's response: "feasible"/"infeasible", a violation category,
or a JSON repair schedule.
task_id:
type: string
description: Identifier for the current task.
observation_space:
type: object
properties:
schedule_instance:
type: string
description: JSON-encoded scheduling problem instance (jobs, machines, proposed assignments).
task_id:
type: string
description: Current task identifier.
context:
type: string
description: Instructions or context for the current step.
step_number:
type: integer
description: Current step number within the episode.
|