DOI: 10.5281/zenodo.8340001
title: A set of positive examples consisting of short-term schedules for testing the acquisition of MiniZinc scheduling models

description: To test the robustness of schedule model acquisition in a variety of situations, we generated 48,000 instances of schedules with variations in the following five dimensions: 1. task description, 2. temporal constraints, 3. resource constraints, 4. the introduction or absence of noisy columns, and 5. the number of tasks and resources in a schedule. The file 'schedule_robustness_dimensions.pl' contains the list of constraints used to generate each table which, thus, need to be acquired. The dimensions are: 1. Different ways to describe a task:<br> a. only the start time and duration columns are part of the table, the task duration is a pre-assigned input parameter,<br> b. only the start time and end time columns are part of the table, the task duration is a pre-assigned input parameter,<br> c. only the duration and end time columns are part of the table, the task duration is a pre-assigned input parameter,<br> d. all three columns are present in the table, the task duration is a pre-assigned input parameter,<br> e. the start time, duration and end time columns are all part of the table, and the task duration is calculated using a formula,<br> f. only the start time and end time columns are part of the table, and the task duration is calculated using a formula,<br> g. only the duration and end time columns are part of the table, and the task duration is calculated using a formula,<br> h. all three columns are present in the table, and the task duration is calculated using a formula. 2. Different ways of expressing temporal constraints between task $i$ and its successor $j$<br> a. no temporal constraints at all,<br> b. $\textit{start}_i + \textit{cst} \leq \textit{start}_j$,<br> c. $\textit{start}_i + \textit{cst} \geq \textit{start}_j$,<br> d. $\textit{start}_i + \textit{cst}_1 \leq \textit{start}_j$, $\textit{start}_i + \textit{cst}_2 \geq \textit{start}_j$ ($\textit{cst}_2 \neq \textit{cst}_1$),<br> e. $\textit{start}_i + \textit{cst} = \textit{start}_j$,<br> f. $\textit{start}_i + \textit{cst} \leq \textit{end\_time}_j$,<br> g. $\textit{start}_i + \textit{cst} \geq \textit{end\_time}_j$,<br> h. $\textit{start}_i + \textit{cst}_1 \leq \textit{end\_time}_j$, $\textit{start}_i + \textit{cst}_2 \geq \textit{end\_time}_j$ ($\textit{cst}_2 \neq \textit{cst}_1$),<br> i. $\textit{start}_i + \textit{cst} = \textit{end\_time}_j$,<br> j. $\textit{end\_time}_i + \textit{cst} \leq \textit{start}_j$,<br> k. $\textit{end\_time}_i + \textit{cst} \geq \textit{start}_j$,<br> l. $\textit{end\_time}_i + \textit{cst}_1 \leq \textit{start}_j$, $\textit{end\_time}_i + \textit{cst}_2 \geq \textit{start}_j$ ($\textit{cst}_2 \neq \textit{cst}_1$),<br> m. $\textit{end\_time}_i + \textit{cst} = \textit{start}_j$,<br> n. $\textit{end\_time}_i + \textit{cst} \leq \textit{end\_time}_j$,<br> o. $\textit{end\_time}_i + \textit{cst} \geq \textit{end\_time}_j$,<br> p. $\textit{end\_time}_i + \textit{cst}_1 \leq \textit{end\_time}_j$, $\textit{end\_time}_i+\textit{cst}_2\geq\textit{end\_time}_j$ ($\textit{cst}_2\neq\textit{cst}_1$),<br> q. $\textit{end\_time}_i + \textit{cst} = \textit{end\_time}_j$.<br> Note that we only generate temporal constraints that mention the start time, i.e. 2b–2m, if the start time attribute is part of the table, i.e. not in the cases 1c or 1g. 3. Different ways of expressing resource scheduling constraints:<br> a. no scheduling constraints at all,<br> b. a DISJUNCTIVE constraint for each subset of tasks using the same resource,<br> c. a DIFFN constraint on all tasks, so that there is no overlap between tasks that will be assigned to the same resource,<br> d. a SHIFT constraint that forces the start and end times of each task to be within the same availability period, with no gap between two consecutive availability periods,<br> e. a CALENDAR constraint that forces the start and end time of each task assigned to a given resource $r$ to fall within the same period of availability of the resource $r$,<br> f. a set of DISJUNCTIVE constraints and a SHIFT constraint,<br> g. a DIFFN and a SHIFT constraint,<br> h. a set of DISJUNCTIVE constraints and a CALENDAR constraint,<br> i. a DIFFN and a CALENDAR constraint.<br> The combination of certain temporal and resource constraints may lead to infeasibility. For instance, in a temporal constraint of type 2c, the two corresponding tasks may overlap, which is incompatible with a DISJUNCTIVE constraint between these tasks, i.e. a constraint of type 3b. Therefore, we do not generate scheduling instances that mix the dimensions 2c, 2d, 2e, 2g, 2h, 2i, 2o, 2p, and 2q, with the dimensions 3b, 3c, 3f, 3g, 3h, and 3i. Note that the number of resources generated varies according to the number of tasks, as explained in Item 5. 4. Creating noisy columns or not:<br> a. no additional noisy columns,<br> b. three extra columns with random values standing for noise. 5. Number of tasks and resources referenced by the schedule:<br> a. 10 tasks and 2 resources,<br> b. 100 tasks and 10 resources,<br> c. 1,000 tasks and 20 resources,<br> d. 10,000 tasks and 100 resources. <br> For each valid combination of dimensions, we generated 10 instances of schedules.