Job Shop Scheduling Problem: Makespan Prediction Dataset
收藏Zenodo2025-12-09 更新2026-05-26 收录
下载链接:
https://zenodo.org/doi/10.5281/zenodo.17787666
下载链接
链接失效反馈官方服务:
资源简介:
This repository contains a dataset of 184,320 samples of the Job Shop Scheduling Problem (JSSP), primarily generated to train and evaluate machine learning models for predicting the optimal makespan (Cmax).
1. Data Dictionary (Columns)
The dataset is provided in a single tabular file (tab-separated format) with the following columns:
Column Name
Data Type
Description
id
Integer
A unique identifier for the specific JSSP instance.
replication
Integer
Identifies the generation run of the instance.
sampling_type
String
Method used to generate the instance ("Min-coverage", "Max-coverage").
makespan
Integer
The Optimal Makespan (Copt).
cputime
Float
CPU time (in seconds) required by the solver to find the optimal makespan.
p_matrix
String
Processing Time Matrix (P). Stored as a stringified list-of-lists.
m_matrix
String
Machine Allocation Matrix (M). Stored as a stringified list-of-lists.
NumberMachines
Integer
The number of machines (m).
NumberJobs
Integer
The number of jobs (n).
2. JSSP Instance Definition and Format
Problem Definition
Following the format introduced by Taillard (1993), each JSSP instance consists of two matrices: the processing time matrix P and the machine allocation matrix M, both of dimension n × m.
Pij specifies the duration of operation j of job i.
Mij specifies on which machine that operation must be executed.
Each operation of the same job must be assigned to a different machine.
Operations within each job follow a fixed sequence and cannot overlap.
The objective is to compute a schedule with minimal makespan (Copt), respecting precedence and machine constraints.
Data Format
P (p_matrix) and M (m_matrix) are stored as stringified nested lists. Users must parse these strings back into matrix form before use.
3. Generation and Solution Methodology
Instances were generated for the following (Jobs × Machines) configurations:
Configuration (N × M)
Sample Count
10 × 10
10,240
10 × 11
10,240
10 × 12
10,240
11 × 10
10,240
11 × 11
10,240
11 × 12
10,240
12 × 10
10,240
12 × 11
10,240
12 × 12
102,400
Total Samples
184,320
Optimal Solutions
Optimal makespans were computed using the Constraint Programming (CP) solver in Google’s open-source OR-Tools.
Implementation: OR-Tools Python CP-SAT solver (version as of 30-01-2025).
Hardware: 2.90 GHz Intel Core i9-8950HK, 6 cores (12 threads), 32GB RAM.
Full methodological details are provided in the accompanying research paper.
4. Citation
If you use this dataset in your work, please cite the accompanying paper:
[Final Paper Citation]
References
Taillard, E. (1993). Benchmarks for basic scheduling problems. European Journal of Operational Research, 64(2), 278–285.
Example Usage
A common approach to reading the matrices in Python:
import pandas as pd
import ast
df = pd.read_csv('jssp_dataset.txt', sep='\t')
df['p_matrix_parsed'] = df['p_matrix'].apply(ast.literal_eval)
df['m_matrix_parsed'] = df['m_matrix'].apply(ast.literal_eval)
first_p_matrix = df['p_matrix_parsed'].iloc[0]
print("Processing Matrix (Instance 1):", first_p_matrix)
提供机构:
Zenodo创建时间:
2025-12-02



