Hierarchical index sets in algebraic modelling languages

Multi-dimensional algebraic modelling languages make extensive use of simple and compound index sets. In this paper the multi-dimensional modelling paradigm is extended with the concept of a hierarchical index set to support the use of hierarchical data structures. The appropriate reference and indexing mechanisms are introduced, together with mechanisms to support various set operations. Special attention is paid to the Cartesian product of two hierarchical index sets. The modelling of multi-stage programming models is supported through the introduction of a hierarchical indexing mechanism. The extensions proposed in this paper are compared to existing facilities designed to support the modelling of hierarchical structures.