Abstract: A method of efficiently computing values for a data structure having cells having dependencies is disclosed. The data structure may encode complex system. The complex system data structure is traversed to produce a directed graph. The nodes of the directed graph are assigned a depth and labeled as circular or non-circular. Nodes having a base depth are terminal and correspond to cells having known values. The nodes are assigned to depth lists, which are processed until all values have been calculated or a maximum number of attempts to process the lists is reached.
Abstract: A method determines an order of calculation for one or more of a set of variables in the complex system, so that the calculation order is substantially optimal for avoiding having to skip calculations due to lack of precursors. The method reviews the complex model and orders calculations in a list, so that variables depending on precursors are ordered later, so that their calculation need not be skipped. The method determines a threshold (which can be a single pass), and when the threshold is exceeded, reorders the calculation, so that optimality of calculation can be improved. The method can reorder the calculation so that the new order of calculation is substantially a reverse of the original.