Published June 19, 2026 | Version v1
Dataset Open

Instances for the Generalized Parallel Machine Scheduling (GPMS) Framework

  • 1. ROR icon TU Wien

Contributors

Project member:

  • 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

Files (74.1 MiB)

NameSize
md5:8f3e10cc87ca380dc2fc014814cc7944
74.1 MiBPreview Download

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