Aptitudes

Aptitudes are the primary means to defining compatibility between Workloads and Resources, and thus which Resources are able to handle a particular Workload.

Aptitudes are textual strings with no attached meaning besides their equality.

Two approaches are possible depending on the available scheduling data:

  • When Workloads are qualified by capability, for instance "drilling", or "milling" or "large packaging unit", then the capabilities can directly be used as Aptitudes.
  • When Workload and Resource are cross-referenced in a compatibility Matrix, then a practical approach can be to use a hash of the list of Resources for every Workloads. While this will not provide an optimal model, it can be efficiently processed in a single pass and will naturally regroup compatible workloads.

Note: the hash does not need to be cryptographically secure, it just needs to ensure improbable collisions. Taking the first 64 bits of an MD5 hash would be sufficient for practical purposes.