Non-parallel array formulas
num_used : { dimensions: [5], formula: "MMULT(parts, x)", upper: 'inventory' }
This type of array formula is interpreted (evaluated) only once. The array result is not evaluated in parallel, rather it's implicated by the inner algorithms of participating functions. In the above example, MMULT is a function, which internally executes a matrix/vector multiplication resulting in an array of size 5.
The multi-dimensional result of this formula evaluation is assigned to the array variable num_used dimensioned as a 1-D vertical array of size 5. Again, if the formula definition is in the constraints: section, one constraint will be generated for each component of the result.
The result of the evaluation is a 1-D horizontal/vertical array, or 2-D array, even in the presence of table slices. The biggest disadvantage of this array formula type is the prevention of the reverse mode of evaluation which (as mentioned above) is much faster than the native forward evaluation.
|