Skip to content

Algorithm Optimisations

Vanessa Ciputra edited this page Aug 25, 2019 · 2 revisions

1. Pruning Conditions

  • Equivalent Schedule checks
  • Normalisation Schedule checks
  • Identical task ordering checks (to be implemented)

2. Data Structures

  • Converted all lists to corresponding HashSets/HashMaps
    • This improves time complexity as Sets and Maps have O(1) access
  • Converted Object lists (i.e. Nodes/Edges object classes) to primitive array data structure types
    • Improves memory allocation
    • Improves execution time as object creation takes time

3. Algorithm Heuristic

  • The heuristic is finding the max between Data Ready Time (DRT), Idle Time (IT) and Bottom Level (BL)
    • Estimates the cost of the partial schedule so that we only expand the partial schedule that has the least likely overall cost

Clone this wiki locally