Instances for the Generalized Parallel Machine Scheduling (GPMS) Framework
- 1. TU Wien
Description
Context and methodology
The dataset accompanies the paper "GPMS: A Generalized Parallel Machine Scheduling Framework with Rich Temporal and Resource Constraints".
Link to the paper: 10.1609/icaps.v36i1.42866
Reference: Frühwirth, L., Einspieler, C., Musliu, N., & Winter, F. (2026). GPMS: A Generalized Parallel Machine Scheduling Framework with Rich Temporal and Resource Constraints. In Proceedings of the International Conference on Automated Planning and Scheduling (Vol. 36, No. 1, pp. 490-499).
Purpose: A benchmark set for evaluating exact and heuristic solution methods for the generalized parallel machine scheduling problem, which combines, among others, time-varying machine availability, precedence constraints with time lags, secondary resources with time-varying capacity, and sequence-dependent setups.
How created: Generated instances were produced by a parameterized instance generator under controlled settings (number of jobs and machines, precedence and secondary-resource complexity, sequence-dependent setups, etc.) with fixed random seeds for reproducibility. Real-type instances are derived from real-world production scheduling settings.
Technical details
Instances are JSON files in four folders: generated/ (216), real_type1/ (77), real_type2/ (11), real_type3/ (3).
Generated files are named
i<idx>_j<jobs>_m<machines>_prec<None|Simple|Complex>_sec<None|Simple|Complex>_seq<n>_inf<n>_fix<n>_seed<n>_<short|long>MP.json, where:
- j — number of jobs; m — number of machines
- prec — precedence complexity (three levels: None / Simple / Complex)
- sec — secondary-resource complexity (three levels: None / Simple / Complex)
- seq — number of jobs with sequence-dependent setup times
- inf — number of non-capacitated machines (which allow overlapping jobs)
- fix — number of jobs with fixed setup or processing timings
- seed — random seed
- short/long MP — shorter vs. longer average machine-period length (same horizon, i.e., more vs. fewer periods)
Real-type files are named real_type<k>_<idx>[_m<machines>]_j<jobs>.json.
JSON structure:
Each file is one JSON object describing a single instance:
- Name, Horizon (integer time horizon; all times lie in [0, Horizon]), and the counts JobCount, MachineCount, SecResourceCount.
- Machines — each has Id, IsFinite (true = capacitated, one job at a time; false = non-capacitated, jobs may overlap), and Periods (availability intervals {StartTime, EndTime}).
- SecondaryResources — each has Id, InitialSecResourceUsage, and SecResourcePeriods ({StartTime, EndTime, Capacity, Cost}, i.e. time-varying capacity and per-unit cost).
- Objectives — global objective terms as {Type, Weight} (e.g. TotalWeightedTardiness, SetupTime, SetupProcessCost, TotalMakespan, …). Weights in the file are defaults; the weightings used per experiment are set in the solver configurations.
- Jobs — each job has:
- Id, ReleaseDate, DueDate, HasDeadline, Deadline;
- timing-fix flags SetupFixed / ProcessFixed and the fixed times SetupStartFixed / SetupEndFixed / ProcessStartFixed / ProcessEndFixed (null unless fixed);
- SeqDependent (indicates whether the job has sequence-dependent setups);
- JobObjWeights — per-job objective weights {Type, Weight};
- SetupAndProcessTimes — per eligible machine {MachineId, ProcessTime, InitialSetupTime, SetupTime, InitialSetupCost, SetupCost, ProcessCost, MaxOperationSpanIncrease} (a job is eligible on the machines listed here);
- SeqDepSetupTimes — sequence-dependent setup increments {MachineId, FromJobId, AddToSetupTime, AddToSetupCost}, applied when the job directly follows FromJobId;
- SecResourceDemands — {MachineId, ResourceId, InitialSetupDemand, InitialSetupType, SetupDemand, SetupType, ProcessDemand, ProcessType}, where the *Type fields give the demand profile (Pulse, NegPulse, StepAtStart, NegStepAtStart, StepAtEnd, NegStepAtEnd);
- Precedences — relations to other jobs as {JobId (of predecessor), TransferFactor, MinLag, MaxLag, NoJobInBetween, ConditionalMachineEligibilities};
All times, demands, capacities, and costs are integers.
Required software: The files are plain JSON and can be opened and parsed with any standard tool — no specific software is required to read them. To load, solve, and validate instances, an open-source .NET 8 solver is provided (see below); the MiniZinc constraint models additionally require a MiniZinc installation.
Additional resources: The solver source code, constraint models, experiment configurations, and build/run instructions are archived at 10.48436/m7ams-x6a79
Files
GeneralizedParallelMachineScheduling_Instances.zip
Additional details
Related works
- Is supplement to
- Conference Paper: 10.1609/icaps.v36i1.42866 (DOI)
- Is supplemented by
- Software: 10.48436/m7ams-x6a79 (DOI)
Dates
- Submitted
- 2026-06-03