SchedAI Input Specs
SchedAI Production Input Specs
Use this guide to prepare the CSV files accepted by the SchedAI Production upload flow. The primary file changes with the selected environment, and optional helper files add job metadata, maintenance windows, or setup rules.
Overview
Use this guide to prepare valid input files for this workspace. Review the required files, exact column names, example rows, and common formatting rules before uploading.
Required files
2
Optional files
6
Spec sections
2
Applies to single machine, parallel machines, flow shop, open shop
Matrix Environments
Use the matrix upload when each job is represented by one row and each machine or stage is represented by one processing-time column.
Required file
production-matrix.csv
Primary upload for single-machine, parallel-machine, flow-shop, and open-shop environments.
Requirements
Required columns
job_id
Conditionally required columns
Single Machine / Parallel Machines: exactly one processing-time column after job_idFlow Shop / Open Shop: at least two ordered processing-time columns after job_id
Optional columns
Row identity
- Required row identity: job_id.
- Use sequential positive integers starting at 1.
Shape requirements
- Matrix environments reject route-shaped operations files.
- Single Machine and Parallel Machines reject more than one processing-time column.
- Flow Shop and Open Shop reject fewer than two processing-time columns.
Rejected wrong-file signatures
- Reject uploads that match this wrong-file signature: job_id + op_index + machine_id + duration.
Format limitations
- Processing-time cells are numeric abstract time units, not natural duration strings.
Value rules and examples
- Keep one header column per machine or stage after job_id, following the selected environment shape.
- Use positive numeric processing times.
- Every job row should have a value for each machine column you intend to solve.
Example CSV table
| job_id | machine_1 | machine_2 | machine_3 |
|---|---|---|---|
| 1 | 12 | 8 | 10 |
| 2 | 9 | 14 | 7 |
Optional file
jobs.csv
Optional metadata file for release times, due dates, deadlines, and weights.
Requirements
Required columns
job_id
Optional columns
release_timedue_datedeadlineweight
Reference requirements
- job_id must already exist in the primary matrix or operations upload.
Value rules and examples
- job_id must match the primary matrix or operations upload.
- Use numeric values when you provide release_time, due_date, deadline, or weight.
- Use this file when tardiness or weighted objectives depend on richer job metadata.
Example CSV table
| job_id | release_time | due_date | deadline | weight |
|---|---|---|---|---|
| 1 | 0 | 24 | 36 | 3 |
| 2 | 2 | 28 | 40 | 2 |
Optional file
maintenance.csv
Optional machine downtime file.
Requirements
Required columns
task_idmachine_iddurationwindow_startwindow_end
Optional columns
Reference requirements
- machine_id must match a numeric machine/resource id from the current scenario.
Value rules and examples
- machine_id must reference a machine already present in the scenario.
- duration must be positive.
- window_end must be greater than window_start.
Example CSV table
| task_id | machine_id | duration | window_start | window_end |
|---|---|---|---|---|
| 1 | 1 | 3 | 10 | 40 |
Optional file
setups.csv
Optional sequence-dependent setup rule file using numeric job transition ids. Legacy from_family/to_family headers are accepted as aliases.
Requirements
Required columns
machine_idfrom_job_idto_job_idsetup_duration
Optional columns
Approved aliases
- from_job_id: from_family
- to_job_id: to_family
Reference requirements
- machine_id must match a numeric machine/resource id from the current scenario.
- from_job_id and to_job_id must match numeric job_id values from the current scenario; from_job_id may be 0 for idle.
Value rules and examples
- machine_id must reference a machine already present in the scenario.
- Use setup_duration as a numeric time value.
- from_job_id and to_job_id must both be present on each row you want imported.
- from_job_id and to_job_id are numeric job transition ids; use 0 for an idle/start transition in from_job_id.
- String setup family labels such as STD or URG are not supported in the current Production IR.
Example CSV table
| machine_id | from_job_id | to_job_id | setup_duration |
|---|---|---|---|
| 1 | 1 | 2 | 2 |
| 1 | 2 | 1 | 2 |
Common mistakes
- Uploading machine labels without matching numeric processing values.
- Using maintenance or setup machine ids that are not present in the current scenario.
- Expecting machine availability windows to import from CSV when those settings are still configured in the workspace.
Quick rules
- Matrix uploads need a header row and at least one job row.
- Single Machine expects exactly one processing-time column after job_id.
- Parallel Machines expects exactly one processing-time column plus shared capacity configured in the workspace.
- Flow Shop and Open Shop expect at least two processing-time columns after job_id.
- job_id values should be sequential positive integers starting at 1.
- Due-date and weight objectives only make sense when jobs.csv supplies the required metadata.
Navigate
Keep the right guide close by
Pair this upload guide with the product page for workflow context or the resources hub for related public material.
Applies to job shop, flexible job shop, flexible flow shop, flexible open shop
Route Environments
Use the operations upload when each row describes one operation mode. Flexible environments add alt_index so multiple machine alternatives stay grouped under the same operation.
Required file
operations.csv
Primary upload for job-shop and other route-based production environments.
Requirements
Required columns
job_idop_indexmachine_idduration
Conditionally required columns
alt_index is required for flexible_flow_shop, flexible_job_shop, and flexible_open_shop.
Optional columns
Row identity
- Required row identity: job_id + op_index.
- job_id, op_index, machine_id, duration, and alt_index when present must be positive numeric values.
Shape requirements
- Job Shop accepts job_id, op_index, machine_id, and duration; alt_index may be omitted.
- Flexible route environments require alt_index.
- Route environments reject matrix-shaped processing-time files.
Rejected wrong-file signatures
- Reject uploads that match this wrong-file signature: job_id plus processing-time machine/stage columns without op_index, machine_id, and duration.
Format limitations
- job_id, op_index, machine_id, duration, and alt_index are numeric solver IDs/values.
Value rules and examples
- Use one row per operation mode.
- Flexible environments require alt_index so each alternative mode stays ordered.
- job_id, op_index, machine_id, alt_index, and duration must be positive numeric values when provided.
Example CSV table
| job_id | op_index | alt_index | machine_id | duration |
|---|---|---|---|---|
| 1 | 1 | 1 | 1 | 10 |
| 1 | 1 | 2 | 2 | 12 |
Optional file
jobs.csv
Optional metadata file for release times, due dates, deadlines, and weights.
Requirements
Required columns
job_id
Optional columns
release_timedue_datedeadlineweight
Reference requirements
- job_id must already exist in the primary matrix or operations upload.
Value rules and examples
- job_id must match the primary matrix or operations upload.
- Use numeric values when you provide release_time, due_date, deadline, or weight.
- Use this file when tardiness or weighted objectives depend on richer job metadata.
Example CSV table
| job_id | release_time | due_date | deadline | weight |
|---|---|---|---|---|
| 1 | 0 | 24 | 36 | 3 |
| 2 | 2 | 28 | 40 | 2 |
Optional file
maintenance.csv
Optional machine downtime file.
Requirements
Required columns
task_idmachine_iddurationwindow_startwindow_end
Optional columns
Reference requirements
- machine_id must match a numeric machine/resource id from the current scenario.
Value rules and examples
- machine_id must reference a machine already present in the scenario.
- duration must be positive.
- window_end must be greater than window_start.
Example CSV table
| task_id | machine_id | duration | window_start | window_end |
|---|---|---|---|---|
| 1 | 1 | 3 | 10 | 40 |
Optional file
setups.csv
Optional sequence-dependent setup rule file using numeric job transition ids. Legacy from_family/to_family headers are accepted as aliases.
Requirements
Required columns
machine_idfrom_job_idto_job_idsetup_duration
Optional columns
Approved aliases
- from_job_id: from_family
- to_job_id: to_family
Reference requirements
- machine_id must match a numeric machine/resource id from the current scenario.
- from_job_id and to_job_id must match numeric job_id values from the current scenario; from_job_id may be 0 for idle.
Value rules and examples
- machine_id must reference a machine already present in the scenario.
- Use setup_duration as a numeric time value.
- from_job_id and to_job_id must both be present on each row you want imported.
- from_job_id and to_job_id are numeric job transition ids; use 0 for an idle/start transition in from_job_id.
- String setup family labels such as STD or URG are not supported in the current Production IR.
Example CSV table
| machine_id | from_job_id | to_job_id | setup_duration |
|---|---|---|---|
| 1 | 1 | 2 | 2 |
| 1 | 2 | 1 | 2 |
Common mistakes
- Omitting alt_index in flexible environments.
- Uploading jobs.csv before a primary operations file is loaded.
- Using non-numeric machine ids or durations in the primary route upload.
Quick rules
- The primary operations file must include job_id, op_index, machine_id, and duration.
- Flexible environments require alt_index on the primary operations file.
- Route numeric fields must be positive; matrix-style processing-time files are rejected in route environments.
- jobs.csv patches existing jobs, so its job_id values must already exist in the primary upload.
- Advanced route upload supports four files: operations.csv, jobs.csv, maintenance.csv, and setups.csv.
- setups.csv from_job_id/to_job_id values are numeric job transition ids in the current Production IR contract; legacy from_family/to_family headers are accepted as aliases, and string family labels are rejected.
Navigate
Keep the right guide close by
Pair this upload guide with the product page for workflow context or the resources hub for related public material.
Navigate
Keep the right input guide close
Return to the input-spec library for another upload contract, or go back to the resource hub for quickstarts, how-to guides, and use cases.
