Instances for the Generalized Parallel Machine Scheduling (GPMS) Framework

DOI

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_j_m_prec_sec_seq_inf_fix_seed_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_[_m]_j.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

Identifier
DOI https://doi.org/10.48436/g0cyt-4h155
Related Identifier IsSupplementedBy https://doi.org/10.48436/m7ams-x6a79
Related Identifier IsSupplementTo https://doi.org/10.1609/icaps.v36i1.42866
Related Identifier IsVersionOf https://doi.org/10.48436/p1ev7-yfx37
Metadata Access https://researchdata.tuwien.ac.at/oai2d?verb=GetRecord&metadataPrefix=oai_datacite&identifier=oai:researchdata.tuwien.ac.at:g0cyt-4h155
Provenance
Creator Frühwirth, Lukas ORCID logo
Publisher TU Wien
Contributor Musliu, Nysret; Winter, Felix; Einspieler, Christoph
Publication Year 2026
Rights Creative Commons Attribution 4.0 International; https://creativecommons.org/licenses/by/4.0/legalcode
OpenAccess true
Contact tudata(at)tuwien.ac.at
Representation
Language English
Resource Type Dataset
Discipline Other